|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper
To: |
Jeremy Fitzhardinge <jeremy@xxxxxxxx> |
Subject: |
[Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper |
From: |
Bastian Blank <bastian@xxxxxxxxxxxx> |
Date: |
Mon, 5 Oct 2009 03:35:17 +0200 |
Cc: |
Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, the arch/x86 maintainers <x86@xxxxxxxxxx>, Stable Kernel <stable@xxxxxxxxxx> |
Delivery-date: |
Sun, 04 Oct 2009 18:35:12 -0700 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<4AC92A65.40806@xxxxxxxx> |
List-help: |
<mailto:xen-devel-request@lists.xensource.com?subject=help> |
List-id: |
Xen developer discussion <xen-devel.lists.xensource.com> |
List-post: |
<mailto:xen-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |
Mail-followup-to: |
Bastian Blank <bastian@xxxxxxxxxxxx>, Jeremy Fitzhardinge <jeremy@xxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, the arch/x86 maintainers <x86@xxxxxxxxxx>, Stable Kernel <stable@xxxxxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx> |
References: |
<20091004183013.GA26101@xxxxxxxxxxxxxxxxxxxxxxx> <4AC92A65.40806@xxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Sun, Oct 04, 2009 at 04:06:13PM -0700, Jeremy Fitzhardinge wrote:
> On 10/04/09 11:30, Bastian Blank wrote:
> > The stack protector needs additional registers on x86_32, which are not
> > saved in calls to the small paravirt interrupt handlers. This leads to
> > early crashes as registers are overwritten and not saved by the caller
> > as instructed.
> Thanks for the patch, but I don't think its quite right.
> PV_CALLEE_SAVE_REGS_THUNK() is responsible for generating a wrapper for
> the functions to save/restore all the appropriate registers. If it is
> failing to do so, then the correct fix is to update
> PV_SAVE/RESTORE_ALL_CALLER_REGS.
Well, I did not understand this part of the code, but you seem right. So
lets try the following. I have not yet run tested it.
Save all caller-saved registers on x86_32 for the paravirt callee saved
registers.
Signed-off-by: Bastian Blank <waldi@xxxxxxxxxx>
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index e19ffe3..e4272f3 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -793,8 +793,8 @@ static __always_inline void __raw_spin_unlock(struct
raw_spinlock *lock)
#define PV_RESTORE_REGS "popl %edx; popl %ecx;"
/* save and restore all caller-save registers, except return value */
-#define PV_SAVE_ALL_CALLER_REGS "pushl %ecx;"
-#define PV_RESTORE_ALL_CALLER_REGS "popl %ecx;"
+#define PV_SAVE_ALL_CALLER_REGS PV_SAVE_REGS
+#define PV_RESTORE_ALL_CALLER_REGS PV_RESTORE_REGS
#define PV_FLAGS_ARG "0"
#define PV_EXTRA_CLOBBERS
--
In the strict scientific sense we all feed on death -- even vegetarians.
-- Spock, "Wolf in the Fold", stardate 3615.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH] xen: Disable stack protector for irq helper, Bastian Blank
- [Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper, Jeremy Fitzhardinge
- [Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper,
Bastian Blank <=
- [Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper, Jeremy Fitzhardinge
- Re: [Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper, Bastian Blank
- Re: [Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper, Jeremy Fitzhardinge
- Re: [Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper, Bastian Blank
- Re: [Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper, Jeremy Fitzhardinge
- Re: [Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper, Bastian Blank
- Re: [Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper, Jeremy Fitzhardinge
- Re: [Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper, Ingo Molnar
- Re: [Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper, Bastian Blank
- Re: [Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper, Jeremy Fitzhardinge
|
|
|
|
|