• Geert Uytterhoeven's avatar
    MIPS: TXx9: Fix boot crash in free_initmem() · c5eac1f5
    Geert Uytterhoeven authored
    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 b93ddc4f ("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 b6263ff2 ("MIPS: TXx9: Implement
    prom_free_prom_memory").
    Suggested-by: default avatarSerge Semin <fancer.lancer@gmail.com>
    Fixes: b93ddc4f ("mips: Reserve memory for the kernel image resources")
    Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
    Reviewed-by: default avatarAtsushi Nemoto <anemo@mba.ocn.ne.jp>
    Signed-off-by: default avatarPaul 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
    c5eac1f5
setup.c 22.3 KB