linux_dsm_epyc7002/arch/mips
Geert Uytterhoeven c5eac1f532
MIPS: TXx9: Fix boot crash in free_initmem()
On rbtx4927:

    BUG: Bad page state in process swapper  pfn:00001
    page:804b7820 refcount:0 mapcount:-128 mapping:00000000 index:0x1
    flags: 0x0()
    raw: 00000000 00000100 00000200 00000000 00000001 00000000 ffffff7f 00000000
    page dumped because: nonzero mapcount
    Modules linked in:
    CPU: 0 PID: 1 Comm: swapper Not tainted 5.2.0-rc1-rbtx4927-00468-g3c05ea3d4077b756 #141
    Stack : 00000000 10008400 8040dc4c 87c1b974 8044af63 8040dc4c 00000001 804a3490
            00000001 81000000 0030f231 80148558 00000003 10008400 87c1dd80 3d0f9a2c
            00000000 00000000 804b0000 00000000 00000007 00000000 00000081 00000000
            62722d31 00000080 804b0000 39347874 00000000 804b7820 8040ce18 81000010
            00000001 00000007 00000001 81000000 00000018 8021de24 00000000 804a0000
            ...
    Call Trace:
    [<8010adec>] show_stack+0x74/0x104
    [<801a5e44>] bad_page+0x130/0x138
    [<801a654c>] free_pcppages_bulk+0x17c/0x3b0
    [<801a789c>] free_unref_page+0x40/0x68
    [<801120f4>] free_init_pages+0xec/0x104
    [<803bdde8>] free_initmem+0x10/0x58
    [<803bdb8c>] kernel_init+0x20/0x100
    [<801057c8>] ret_from_kernel_thread+0x14/0x1c

As of commit b93ddc4f91 ("mips: Reserve memory for the kernel
image resources"), bootmem_init() no longer reserves the memory below
the kernel, while prom_free_prom_memory() still frees it.

Fix this by reverting commit b6263ff2d6 ("MIPS: TXx9: Implement
prom_free_prom_memory").

Suggested-by: Serge Semin <fancer.lancer@gmail.com>
Fixes: b93ddc4f91 ("mips: Reserve memory for the kernel image resources")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Maciej W . Rozycki <macro@linux-mips.org>
Cc: linux-mips@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
2019-05-22 18:46:32 -07:00
..
alchemy A few more MIPS changes for 5.2: 2019-05-19 10:05:28 -07:00
ar7 net: phy: fixed-phy: Drop GPIO from fixed_phy_add() 2019-02-04 18:33:36 -08:00
ath25
ath79 clk: Remove io.h from clk-provider.h 2019-05-15 13:21:37 -07:00
bcm47xx A small batch of MIPS fixes for 5.1: 2019-04-09 16:21:13 -07:00
bcm63xx arch: mips: Kconfig: pedantic formatting 2019-03-19 15:34:04 -07:00
bmips
boot Kbuild updates for v5.1 2019-03-10 17:48:21 -07:00
cavium-octeon treewide: add checks for the return value of memblock_alloc*() 2019-03-12 10:04:02 -07:00
cobalt
configs Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux 2019-05-16 16:16:18 -07:00
crypto
dec
emma
fw
generic generic: fix appended dtb support 2019-05-13 12:02:47 -07:00
include MIPS: mark ginvt() as __always_inline 2019-05-22 18:45:52 -07:00
jazz MIPS: jazz: fix 64bit build 2019-01-09 13:14:34 -08:00
jz4740 MIPS: ingenic: Add support for appended devicetree 2019-02-21 15:55:41 -08:00
kernel A few more MIPS changes for 5.2: 2019-05-19 10:05:28 -07:00
kvm Main MIPS changes for v5.2: 2019-05-08 16:41:47 -07:00
lantiq Here's the main MIPS pull request for v5.1: 2019-03-05 11:28:25 -08:00
lasat
lib MIPS: MemoryMapID (MMID) Support 2019-02-04 10:56:41 -08:00
loongson32 MIPS: Loongson32: Remove DMA & NAND devices from ls1b/board.c 2019-02-04 14:44:33 -08:00
loongson64 A small batch of MIPS fixes for 5.1: 2019-04-09 16:21:13 -07:00
math-emu mips: math-emu: no need to check return value of debugfs_create functions 2019-01-22 11:17:20 -08:00
mm initramfs: poison freed initrd memory 2019-05-14 09:47:47 -07:00
mti-malta
net Main MIPS changes for v5.2: 2019-05-08 16:41:47 -07:00
netlogic
oprofile Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
paravirt
pci MIPS: SGI-IP27: abstract chipset irq from bridge 2019-05-09 16:48:20 -07:00
pic32 arch: mips: Kconfig: pedantic formatting 2019-03-19 15:34:04 -07:00
pistachio
pmcs-msp71xx
pnx833x MIPS: remove a space after -I to cope with header search paths for VDSO 2019-05-22 18:46:15 -07:00
power
ralink Revert "MIPS: ralink: fix cpu clock of mt7621 and add dt clk devices" 2019-04-12 11:09:31 -07:00
rb532
sgi-ip22 MIPS: SGI-IP22: provide missing dma_mask/coherent_dma_mask 2019-05-13 12:02:55 -07:00
sgi-ip27 MIPS: SGI-IP27: abstract chipset irq from bridge 2019-05-09 16:48:20 -07:00
sgi-ip32
sibyte Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
sni
tools
txx9 MIPS: TXx9: Fix boot crash in free_initmem() 2019-05-22 18:46:32 -07:00
vdso mips: vdso: drop unnecessary cc-ldoption 2019-04-23 14:53:54 -07:00
vr41xx
Kbuild
Kbuild.platforms
Kconfig A few more MIPS changes for 5.2: 2019-05-19 10:05:28 -07:00
Kconfig.debug
Makefile MIPS: Add GINVT instruction helpers 2019-02-04 10:56:35 -08:00
Makefile.postlink