[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [PATCH] xen: Disable stack protector for irq helper



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.

Or have I misunderstood you analysis?

Thanks,
    J

> Signed-off-by: Bastian Blank <waldi@xxxxxxxxxx>
>
> diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile
> index 3bb4fc2..ac19398 100644
> --- a/arch/x86/xen/Makefile
> +++ b/arch/x86/xen/Makefile
> @@ -5,9 +5,9 @@
>  CFLAGS_REMOVE_irq.o = -pg
>  endif
>  
> -# Make sure early boot has no stackprotector
>  nostackp := $(call cc-option, -fno-stack-protector)
>  CFLAGS_enlighten.o           := $(nostackp)
> +CFLAGS_irq.o                 := $(nostackp)
>  CFLAGS_mmu.o                 := $(nostackp)
>  
>  obj-y                := enlighten.o setup.o multicalls.o mmu.o irq.o \
>   


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.