]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
xen/x86: Zero out .bss for PV guests
authorBoris Ostrovsky <boris.ostrovsky@oracle.com>
Fri, 26 Feb 2016 19:02:36 +0000 (14:02 -0500)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Wed, 11 May 2016 18:31:00 +0000 (14:31 -0400)
ELF spec is unclear about whether .bss must me cleared by the loader.
Currently the domain builder does it when loading the guest but because
it is not (or rather may not be) guaranteed we should zero it out
explicitly.

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
(cherry picked from commit 04b6b4a56884327c1648c517f1f46a2638f04c9d)
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
OraBug: 23268939

arch/x86/xen/xen-head.S

index b65f59a358a220fac788fef178fa3bc2e6dbc8d6..5c63d2d955bbaf715488da57433b0d8266ba3f32 100644 (file)
        __INIT
 ENTRY(startup_xen)
        cld
+
+       /* Clear .bss */
+       xor %eax,%eax
+       mov $__bss_start, %_ASM_DI
+       mov $__bss_stop, %_ASM_CX
+       sub %_ASM_DI, %_ASM_CX
+       shr $__ASM_SEL(2, 3), %_ASM_CX
+       rep __ASM_SIZE(stos)
+
 #ifdef CONFIG_X86_32
        mov %esi,xen_start_info
        mov $init_thread_union+THREAD_SIZE,%esp