linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/2] Clear .bss for PV guests
@ 2016-02-26 19:02 Boris Ostrovsky
  2016-02-26 19:02 ` [PATCH v4 1/2] xen/x86: Zero out " Boris Ostrovsky
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Boris Ostrovsky @ 2016-02-26 19:02 UTC (permalink / raw)
  To: konrad.wilk, david.vrabel
  Cc: xen-devel, linux-kernel, mcgrof, brgerst, andrew.cooper3,
	roger.pau, Boris Ostrovsky

PV guests need to have their .bss zeroed out since it is not guaranteed
to be cleared by Xen's domain builder (even if it is done so currently)

v4:
* Better use of mode-selecting macros.
* Drop stable tag.
* Update commit message for patch 1.

Boris Ostrovsky (2):
  xen/x86: Zero out .bss for PV guests
  xen/x86: Drop mode-selecting ifdefs in startup_xen()

 arch/x86/xen/xen-head.S | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

-- 
2.1.0

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v4 1/2] xen/x86: Zero out .bss for PV guests
  2016-02-26 19:02 [PATCH v4 0/2] Clear .bss for PV guests Boris Ostrovsky
@ 2016-02-26 19:02 ` Boris Ostrovsky
  2016-02-26 19:02 ` [PATCH v4 2/2] xen/x86: Drop mode-selecting ifdefs in startup_xen() Boris Ostrovsky
  2016-03-03 16:21 ` [Xen-devel] [PATCH v4 0/2] Clear .bss for PV guests David Vrabel
  2 siblings, 0 replies; 4+ messages in thread
From: Boris Ostrovsky @ 2016-02-26 19:02 UTC (permalink / raw)
  To: konrad.wilk, david.vrabel
  Cc: xen-devel, linux-kernel, mcgrof, brgerst, andrew.cooper3,
	roger.pau, Boris Ostrovsky

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>
---
 arch/x86/xen/xen-head.S | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S
index b65f59a..5c63d2d 100644
--- a/arch/x86/xen/xen-head.S
+++ b/arch/x86/xen/xen-head.S
@@ -38,6 +38,15 @@
 	__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
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH v4 2/2] xen/x86: Drop mode-selecting ifdefs in startup_xen()
  2016-02-26 19:02 [PATCH v4 0/2] Clear .bss for PV guests Boris Ostrovsky
  2016-02-26 19:02 ` [PATCH v4 1/2] xen/x86: Zero out " Boris Ostrovsky
@ 2016-02-26 19:02 ` Boris Ostrovsky
  2016-03-03 16:21 ` [Xen-devel] [PATCH v4 0/2] Clear .bss for PV guests David Vrabel
  2 siblings, 0 replies; 4+ messages in thread
From: Boris Ostrovsky @ 2016-02-26 19:02 UTC (permalink / raw)
  To: konrad.wilk, david.vrabel
  Cc: xen-devel, linux-kernel, mcgrof, brgerst, andrew.cooper3,
	roger.pau, Boris Ostrovsky

Use asm/asm.h macros instead.

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
---
 arch/x86/xen/xen-head.S | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S
index 5c63d2d..de93b20 100644
--- a/arch/x86/xen/xen-head.S
+++ b/arch/x86/xen/xen-head.S
@@ -47,13 +47,9 @@ ENTRY(startup_xen)
 	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
-#else
-	mov %rsi,xen_start_info
-	mov $init_thread_union+THREAD_SIZE,%rsp
-#endif
+	mov %_ASM_SI, xen_start_info
+	mov $init_thread_union+THREAD_SIZE, %_ASM_SP
+
 	jmp xen_start_kernel
 
 	__FINIT
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Xen-devel] [PATCH v4 0/2] Clear .bss for PV guests
  2016-02-26 19:02 [PATCH v4 0/2] Clear .bss for PV guests Boris Ostrovsky
  2016-02-26 19:02 ` [PATCH v4 1/2] xen/x86: Zero out " Boris Ostrovsky
  2016-02-26 19:02 ` [PATCH v4 2/2] xen/x86: Drop mode-selecting ifdefs in startup_xen() Boris Ostrovsky
@ 2016-03-03 16:21 ` David Vrabel
  2 siblings, 0 replies; 4+ messages in thread
From: David Vrabel @ 2016-03-03 16:21 UTC (permalink / raw)
  To: Boris Ostrovsky, konrad.wilk, david.vrabel
  Cc: andrew.cooper3, linux-kernel, mcgrof, brgerst, xen-devel, roger.pau

On 26/02/16 19:02, Boris Ostrovsky wrote:
> PV guests need to have their .bss zeroed out since it is not guaranteed
> to be cleared by Xen's domain builder (even if it is done so currently)

Applied to for-linus-4.6, thanks.

David

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-03-03 16:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-26 19:02 [PATCH v4 0/2] Clear .bss for PV guests Boris Ostrovsky
2016-02-26 19:02 ` [PATCH v4 1/2] xen/x86: Zero out " Boris Ostrovsky
2016-02-26 19:02 ` [PATCH v4 2/2] xen/x86: Drop mode-selecting ifdefs in startup_xen() Boris Ostrovsky
2016-03-03 16:21 ` [Xen-devel] [PATCH v4 0/2] Clear .bss for PV guests David Vrabel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).