mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 06:34:12 +08:00
x86: also use debug_pagealloc_enabled() for free_init_pages
we want to couple all debugging features with debug_pagealloc_enabled() and not with the config option CONFIG_DEBUG_PAGEALLOC. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Suggested-by: David Rientjes <rientjes@google.com> Acked-by: David Rientjes <rientjes@google.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Cc: Laura Abbott <labbott@fedoraproject.org> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
10917b8393
commit
a75e1f637c
@ -667,21 +667,22 @@ void free_init_pages(char *what, unsigned long begin, unsigned long end)
|
||||
* mark them not present - any buggy init-section access will
|
||||
* create a kernel page fault:
|
||||
*/
|
||||
#ifdef CONFIG_DEBUG_PAGEALLOC
|
||||
printk(KERN_INFO "debug: unmapping init [mem %#010lx-%#010lx]\n",
|
||||
begin, end - 1);
|
||||
set_memory_np(begin, (end - begin) >> PAGE_SHIFT);
|
||||
#else
|
||||
/*
|
||||
* We just marked the kernel text read only above, now that
|
||||
* we are going to free part of that, we need to make that
|
||||
* writeable and non-executable first.
|
||||
*/
|
||||
set_memory_nx(begin, (end - begin) >> PAGE_SHIFT);
|
||||
set_memory_rw(begin, (end - begin) >> PAGE_SHIFT);
|
||||
if (debug_pagealloc_enabled()) {
|
||||
pr_info("debug: unmapping init [mem %#010lx-%#010lx]\n",
|
||||
begin, end - 1);
|
||||
set_memory_np(begin, (end - begin) >> PAGE_SHIFT);
|
||||
} else {
|
||||
/*
|
||||
* We just marked the kernel text read only above, now that
|
||||
* we are going to free part of that, we need to make that
|
||||
* writeable and non-executable first.
|
||||
*/
|
||||
set_memory_nx(begin, (end - begin) >> PAGE_SHIFT);
|
||||
set_memory_rw(begin, (end - begin) >> PAGE_SHIFT);
|
||||
|
||||
free_reserved_area((void *)begin, (void *)end, POISON_FREE_INITMEM, what);
|
||||
#endif
|
||||
free_reserved_area((void *)begin, (void *)end,
|
||||
POISON_FREE_INITMEM, what);
|
||||
}
|
||||
}
|
||||
|
||||
void free_initmem(void)
|
||||
|
Loading…
Reference in New Issue
Block a user