Patch "x86, fakenuma: Fix invalid starting node ID" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    x86, fakenuma: Fix invalid starting node ID

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     x86-fakenuma-fix-invalid-starting-node-id.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 336630c9b67172474c1dfb0235f0470309a5fd5e
Author: Huang Ying <ying.huang@xxxxxxxxx>
Date:   Fri Sep 4 14:10:47 2020 +0800

    x86, fakenuma: Fix invalid starting node ID
    
    [ Upstream commit ccae0f36d500aef727f98acd8d0601e6b262a513 ]
    
    Commit:
    
      cc9aec03e58f ("x86/numa_emulation: Introduce uniform split capability")
    
    uses "-1" as the starting node ID, which causes the strange kernel log as
    follows, when "numa=fake=32G" is added to the kernel command line:
    
        Faking node -1 at [mem 0x0000000000000000-0x0000000893ffffff] (35136MB)
        Faking node 0 at [mem 0x0000001840000000-0x000000203fffffff] (32768MB)
        Faking node 1 at [mem 0x0000000894000000-0x000000183fffffff] (64192MB)
        Faking node 2 at [mem 0x0000002040000000-0x000000283fffffff] (32768MB)
        Faking node 3 at [mem 0x0000002840000000-0x000000303fffffff] (32768MB)
    
    And finally the kernel crashes:
    
        BUG: Bad page state in process swapper  pfn:00011
        page:(____ptrval____) refcount:0 mapcount:1 mapping:(____ptrval____) index:0x55cd7e44b270 pfn:0x11
        failed to read mapping contents, not a valid kernel address?
        flags: 0x5(locked|uptodate)
        raw: 0000000000000005 000055cd7e44af30 000055cd7e44af50 0000000100000006
        raw: 000055cd7e44b270 000055cd7e44b290 0000000000000000 000055cd7e44b510
        page dumped because: page still charged to cgroup
        page->mem_cgroup:000055cd7e44b510
        Modules linked in:
        CPU: 0 PID: 0 Comm: swapper Not tainted 5.9.0-rc2 #1
        Hardware name: Intel Corporation S2600WFT/S2600WFT, BIOS SE5C620.86B.02.01.0008.031920191559 03/19/2019
        Call Trace:
         dump_stack+0x57/0x80
         bad_page.cold+0x63/0x94
         __free_pages_ok+0x33f/0x360
         memblock_free_all+0x127/0x195
         mem_init+0x23/0x1f5
         start_kernel+0x219/0x4f5
         secondary_startup_64+0xb6/0xc0
    
    Fix this bug via using 0 as the starting node ID.  This restores the
    original behavior before cc9aec03e58f.
    
    [ mingo: Massaged the changelog. ]
    
    Fixes: cc9aec03e58f ("x86/numa_emulation: Introduce uniform split capability")
    Signed-off-by: "Huang, Ying" <ying.huang@xxxxxxxxx>
    Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
    Link: https://lore.kernel.org/r/20200904061047.612950-1-ying.huang@xxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/x86/mm/numa_emulation.c b/arch/x86/mm/numa_emulation.c
index abffa0be80da1..87282258d5bea 100644
--- a/arch/x86/mm/numa_emulation.c
+++ b/arch/x86/mm/numa_emulation.c
@@ -321,7 +321,7 @@ static int __init split_nodes_size_interleave(struct numa_meminfo *ei,
 					      u64 addr, u64 max_addr, u64 size)
 {
 	return split_nodes_size_interleave_uniform(ei, pi, addr, max_addr, size,
-			0, NULL, NUMA_NO_NODE);
+			0, NULL, 0);
 }
 
 int __init setup_emu2phys_nid(int *dfl_phys_nid)



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux