Skip to content

Commit 38fa547

Browse files
jgross1suryasaimadhu
authored andcommitted
x86: Clear .brk area at early boot
The .brk section has the same properties as .bss: it is an alloc-only section and should be cleared before being used. Not doing so is especially a problem for Xen PV guests, as the hypervisor will validate page tables (check for writable page tables and hypervisor private bits) before accepting them to be used. Make sure .brk is initially zero by letting clear_bss() clear the brk area, too. Signed-off-by: Juergen Gross <jgross@suse.com> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lore.kernel.org/r/20220630071441.28576-3-jgross@suse.com
1 parent 96e8fc5 commit 38fa547

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

arch/x86/kernel/head64.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,8 @@ void __init clear_bss(void)
430430
{
431431
memset(__bss_start, 0,
432432
(unsigned long) __bss_stop - (unsigned long) __bss_start);
433+
memset(__brk_base, 0,
434+
(unsigned long) __brk_limit - (unsigned long) __brk_base);
433435
}
434436

435437
static unsigned long get_cmd_line_ptr(void)

0 commit comments

Comments
 (0)