Message ID | 20200305150152.831697-1-nivedita@alum.mit.edu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] x86/mm/init_32: Stop printing the virtual memory layout | expand |
On Thu, Mar 05, 2020 at 10:01:52AM -0500, Arvind Sankar wrote: > For security, don't display the kernel's virtual memory layout. > > Kees Cook points out: > "These have been entirely removed on other architectures, so let's > just do the same for ia32 and remove it unconditionally." > > 071929dbdd86 ("arm64: Stop printing the virtual memory layout") > 1c31d4e96b8c ("ARM: 8820/1: mm: Stop printing the virtual memory layout") > 31833332f798 ("m68k/mm: Stop printing the virtual memory layout") > fd8d0ca25631 ("parisc: Hide virtual kernel memory layout") > adb1fe9ae2ee ("mm/page_alloc: Remove kernel address exposure in free_reserved_area()") > > Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu> Thanks! (*randomly choosing an x86 maintainer to aim this patch at; hi Thomas!*) Acked-by: Kees Cook <keescook@chromium.org> -Kees > --- > arch/x86/mm/init_32.c | 38 -------------------------------------- > 1 file changed, 38 deletions(-) > > diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c > index 23df4885bbed..8ae0272c1c51 100644 > --- a/arch/x86/mm/init_32.c > +++ b/arch/x86/mm/init_32.c > @@ -788,44 +788,6 @@ void __init mem_init(void) > x86_init.hyper.init_after_bootmem(); > > mem_init_print_info(NULL); > - printk(KERN_INFO "virtual kernel memory layout:\n" > - " fixmap : 0x%08lx - 0x%08lx (%4ld kB)\n" > - " cpu_entry : 0x%08lx - 0x%08lx (%4ld kB)\n" > -#ifdef CONFIG_HIGHMEM > - " pkmap : 0x%08lx - 0x%08lx (%4ld kB)\n" > -#endif > - " vmalloc : 0x%08lx - 0x%08lx (%4ld MB)\n" > - " lowmem : 0x%08lx - 0x%08lx (%4ld MB)\n" > - " .init : 0x%08lx - 0x%08lx (%4ld kB)\n" > - " .data : 0x%08lx - 0x%08lx (%4ld kB)\n" > - " .text : 0x%08lx - 0x%08lx (%4ld kB)\n", > - FIXADDR_START, FIXADDR_TOP, > - (FIXADDR_TOP - FIXADDR_START) >> 10, > - > - CPU_ENTRY_AREA_BASE, > - CPU_ENTRY_AREA_BASE + CPU_ENTRY_AREA_MAP_SIZE, > - CPU_ENTRY_AREA_MAP_SIZE >> 10, > - > -#ifdef CONFIG_HIGHMEM > - PKMAP_BASE, PKMAP_BASE+LAST_PKMAP*PAGE_SIZE, > - (LAST_PKMAP*PAGE_SIZE) >> 10, > -#endif > - > - VMALLOC_START, VMALLOC_END, > - (VMALLOC_END - VMALLOC_START) >> 20, > - > - (unsigned long)__va(0), (unsigned long)high_memory, > - ((unsigned long)high_memory - (unsigned long)__va(0)) >> 20, > - > - (unsigned long)&__init_begin, (unsigned long)&__init_end, > - ((unsigned long)&__init_end - > - (unsigned long)&__init_begin) >> 10, > - > - (unsigned long)&_etext, (unsigned long)&_edata, > - ((unsigned long)&_edata - (unsigned long)&_etext) >> 10, > - > - (unsigned long)&_text, (unsigned long)&_etext, > - ((unsigned long)&_etext - (unsigned long)&_text) >> 10); > > /* > * Check boundaries twice: Some fundamental inconsistencies can > -- > 2.24.1 >
On Thu, Mar 05, 2020 at 10:01:52AM -0500, Arvind Sankar wrote: > For security, don't display the kernel's virtual memory layout. > > Kees Cook points out: > "These have been entirely removed on other architectures, so let's > just do the same for ia32 and remove it unconditionally." > > 071929dbdd86 ("arm64: Stop printing the virtual memory layout") > 1c31d4e96b8c ("ARM: 8820/1: mm: Stop printing the virtual memory layout") > 31833332f798 ("m68k/mm: Stop printing the virtual memory layout") > fd8d0ca25631 ("parisc: Hide virtual kernel memory layout") > adb1fe9ae2ee ("mm/page_alloc: Remove kernel address exposure in free_reserved_area()") > > Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu> Acked-by: Tycho Andersen <tycho@tycho.ws>
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c index 23df4885bbed..8ae0272c1c51 100644 --- a/arch/x86/mm/init_32.c +++ b/arch/x86/mm/init_32.c @@ -788,44 +788,6 @@ void __init mem_init(void) x86_init.hyper.init_after_bootmem(); mem_init_print_info(NULL); - printk(KERN_INFO "virtual kernel memory layout:\n" - " fixmap : 0x%08lx - 0x%08lx (%4ld kB)\n" - " cpu_entry : 0x%08lx - 0x%08lx (%4ld kB)\n" -#ifdef CONFIG_HIGHMEM - " pkmap : 0x%08lx - 0x%08lx (%4ld kB)\n" -#endif - " vmalloc : 0x%08lx - 0x%08lx (%4ld MB)\n" - " lowmem : 0x%08lx - 0x%08lx (%4ld MB)\n" - " .init : 0x%08lx - 0x%08lx (%4ld kB)\n" - " .data : 0x%08lx - 0x%08lx (%4ld kB)\n" - " .text : 0x%08lx - 0x%08lx (%4ld kB)\n", - FIXADDR_START, FIXADDR_TOP, - (FIXADDR_TOP - FIXADDR_START) >> 10, - - CPU_ENTRY_AREA_BASE, - CPU_ENTRY_AREA_BASE + CPU_ENTRY_AREA_MAP_SIZE, - CPU_ENTRY_AREA_MAP_SIZE >> 10, - -#ifdef CONFIG_HIGHMEM - PKMAP_BASE, PKMAP_BASE+LAST_PKMAP*PAGE_SIZE, - (LAST_PKMAP*PAGE_SIZE) >> 10, -#endif - - VMALLOC_START, VMALLOC_END, - (VMALLOC_END - VMALLOC_START) >> 20, - - (unsigned long)__va(0), (unsigned long)high_memory, - ((unsigned long)high_memory - (unsigned long)__va(0)) >> 20, - - (unsigned long)&__init_begin, (unsigned long)&__init_end, - ((unsigned long)&__init_end - - (unsigned long)&__init_begin) >> 10, - - (unsigned long)&_etext, (unsigned long)&_edata, - ((unsigned long)&_edata - (unsigned long)&_etext) >> 10, - - (unsigned long)&_text, (unsigned long)&_etext, - ((unsigned long)&_etext - (unsigned long)&_text) >> 10); /* * Check boundaries twice: Some fundamental inconsistencies can
For security, don't display the kernel's virtual memory layout. Kees Cook points out: "These have been entirely removed on other architectures, so let's just do the same for ia32 and remove it unconditionally." 071929dbdd86 ("arm64: Stop printing the virtual memory layout") 1c31d4e96b8c ("ARM: 8820/1: mm: Stop printing the virtual memory layout") 31833332f798 ("m68k/mm: Stop printing the virtual memory layout") fd8d0ca25631 ("parisc: Hide virtual kernel memory layout") adb1fe9ae2ee ("mm/page_alloc: Remove kernel address exposure in free_reserved_area()") Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu> --- arch/x86/mm/init_32.c | 38 -------------------------------------- 1 file changed, 38 deletions(-)