Commit 38fa5479 authored by Juergen Gross's avatar Juergen Gross Committed by Borislav Petkov
Browse files

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: default avatarJuergen Gross <jgross@suse.com>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20220630071441.28576-3-jgross@suse.com
parent 96e8fc58
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -430,6 +430,8 @@ void __init clear_bss(void)
{
{
	memset(__bss_start, 0,
	memset(__bss_start, 0,
	       (unsigned long) __bss_stop - (unsigned long) __bss_start);
	       (unsigned long) __bss_stop - (unsigned long) __bss_start);
	memset(__brk_base, 0,
	       (unsigned long) __brk_limit - (unsigned long) __brk_base);
}
}


static unsigned long get_cmd_line_ptr(void)
static unsigned long get_cmd_line_ptr(void)