diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-13 16:34:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-13 16:34:46 -0400 |
commit | ec1bc8e4cf47914349cbecf327ea86636bb3265e (patch) | |
tree | 026bbc1c7e10ca49c005257cbcabe01dc804e125 | |
parent | 07f2d8c63fa439613405760841e41fce3041023f (diff) | |
parent | 22ef882e6b5bd2bf668d10b1e2be3dc2fc365b99 (diff) |
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fix from Ingo Molnar:
"Leftover from 4.0
Fix a local stack variable corruption with certain kdump usage
patterns (Dave Young)"
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/mm/numa: Fix kernel stack corruption in numa_init()->numa_clear_kernel_node_hotplug()
-rw-r--r-- | arch/x86/mm/numa.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c index cd4785bbacb9..4053bb58bf92 100644 --- a/arch/x86/mm/numa.c +++ b/arch/x86/mm/numa.c | |||
@@ -482,9 +482,16 @@ static void __init numa_clear_kernel_node_hotplug(void) | |||
482 | &memblock.reserved, mb->nid); | 482 | &memblock.reserved, mb->nid); |
483 | } | 483 | } |
484 | 484 | ||
485 | /* Mark all kernel nodes. */ | 485 | /* |
486 | * Mark all kernel nodes. | ||
487 | * | ||
488 | * When booting with mem=nn[kMG] or in a kdump kernel, numa_meminfo | ||
489 | * may not include all the memblock.reserved memory ranges because | ||
490 | * trim_snb_memory() reserves specific pages for Sandy Bridge graphics. | ||
491 | */ | ||
486 | for_each_memblock(reserved, r) | 492 | for_each_memblock(reserved, r) |
487 | node_set(r->nid, numa_kernel_nodes); | 493 | if (r->nid != MAX_NUMNODES) |
494 | node_set(r->nid, numa_kernel_nodes); | ||
488 | 495 | ||
489 | /* Clear MEMBLOCK_HOTPLUG flag for memory in kernel nodes. */ | 496 | /* Clear MEMBLOCK_HOTPLUG flag for memory in kernel nodes. */ |
490 | for (i = 0; i < numa_meminfo.nr_blks; i++) { | 497 | for (i = 0; i < numa_meminfo.nr_blks; i++) { |