Re: [patch 03/18] Dont leak NT bit into next task
On Thursday 22 February 2007 16:29, Adrian Bunk wrote: > On Wed, Feb 21, 2007 at 11:00:15AM +0100, Giuseppe Bilotta wrote: > > On Wednesday 21 February 2007 02:49, Greg KH wrote: > > > > > /* frame pointer must be last for get_wchan */ > > > -#define SAVE_CONTEXT"pushq %%rbp ; movq %%rsi,%%rbp\n\t" > > > -#define RESTORE_CONTEXT "movq %%rbp,%%rsi ; popq %%rbp\n\t" > > > +#define SAVE_CONTEXT"pushf ; pushq %%rbp ; movq %%rsi,%%rbp\n\t" > > > +#define RESTORE_CONTEXT "movq %%rbp,%%rsi ; popq %%rbp ; popf\t" > > > > No idea if this is a problem or not, but you forgot a \n after popf. > > A discussion of this issue is in the thread starting with [1] > (and I'd re-add the \n in -stable kernels with the patch below > (stolen from 2.6.16) no matter what happened in Linus' tree). The newline only helps some broken out of tree patches (which I won't name here) that shouldn't touch this anyways. -Andi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [patch 03/18] Dont leak NT bit into next task
On Wed, Feb 21, 2007 at 11:00:15AM +0100, Giuseppe Bilotta wrote: > On Wednesday 21 February 2007 02:49, Greg KH wrote: > > > /* frame pointer must be last for get_wchan */ > > -#define SAVE_CONTEXT"pushq %%rbp ; movq %%rsi,%%rbp\n\t" > > -#define RESTORE_CONTEXT "movq %%rbp,%%rsi ; popq %%rbp\n\t" > > +#define SAVE_CONTEXT"pushf ; pushq %%rbp ; movq %%rsi,%%rbp\n\t" > > +#define RESTORE_CONTEXT "movq %%rbp,%%rsi ; popq %%rbp ; popf\t" > > No idea if this is a problem or not, but you forgot a \n after popf. A discussion of this issue is in the thread starting with [1] (and I'd re-add the \n in -stable kernels with the patch below (stolen from 2.6.16) no matter what happened in Linus' tree). > Giuseppe "Oblomov" Bilotta cu Adrian [1] http://lkml.org/lkml/2007/1/8/374 commit e02612a14b2b714e9d231d14c91e729f0f168299 Author: Adrian Bunk <[EMAIL PROTECTED]> Date: Tue Jan 9 03:36:59 2007 +0100 x86_64: re-add a newline to RESTORE_CONTEXT RESTORE_CONTEXT lost a newline: http://www.mail-archive.com/kgdb-bugreport@lists.sourceforge.net/msg00559.html Reported by Steven M. Christey. Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]> diff --git a/include/asm-x86_64/system.h b/include/asm-x86_64/system.h index 7b2c7aa..dacec59 100644 --- a/include/asm-x86_64/system.h +++ b/include/asm-x86_64/system.h @@ -21,7 +21,7 @@ /* frame pointer must be last for get_wchan */ #define SAVE_CONTEXT"pushf ; pushq %%rbp ; movq %%rsi,%%rbp\n\t" -#define RESTORE_CONTEXT "movq %%rbp,%%rsi ; popq %%rbp ; popf\t" +#define RESTORE_CONTEXT "movq %%rbp,%%rsi ; popq %%rbp ; popf\n\t" #define __EXTRA_CLOBBER \ ,"rcx","rbx","rdx","r8","r9","r10","r11","r12","r13","r14","r15" - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [patch 03/18] Dont leak NT bit into next task
Giuseppe Bilotta wrote: > On Wednesday 21 February 2007 02:49, Greg KH wrote: > >> /* frame pointer must be last for get_wchan */ >> -#define SAVE_CONTEXT"pushq %%rbp ; movq %%rsi,%%rbp\n\t" >> -#define RESTORE_CONTEXT "movq %%rbp,%%rsi ; popq %%rbp\n\t" >> +#define SAVE_CONTEXT"pushf ; pushq %%rbp ; movq %%rsi,%%rbp\n\t" >> +#define RESTORE_CONTEXT "movq %%rbp,%%rsi ; popq %%rbp ; popf\t" > > No idea if this is a problem or not, but you forgot a \n after popf. > It's that way in 2.6.21-rc1. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [patch 03/18] Dont leak NT bit into next task
On Feb 21 2007 11:00, Giuseppe Bilotta wrote: >On Wednesday 21 February 2007 02:49, Greg KH wrote: > >> /* frame pointer must be last for get_wchan */ >> -#define SAVE_CONTEXT"pushq %%rbp ; movq %%rsi,%%rbp\n\t" >> -#define RESTORE_CONTEXT "movq %%rbp,%%rsi ; popq %%rbp\n\t" >> +#define SAVE_CONTEXT"pushf ; pushq %%rbp ; movq %%rsi,%%rbp\n\t" >> +#define RESTORE_CONTEXT "movq %%rbp,%%rsi ; popq %%rbp ; popf\t" > >No idea if this is a problem or not, but you forgot a \n after popf. It is on the edge. RESTORE_CONTEXT will not be passed any arguments, so it is the only thing in a single line, and hence the implicit \n of the source file applies after \t. But yes, it may be dangerous. Better is an explicit \n or semicolon after popf. Jan -- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [patch 03/18] Dont leak NT bit into next task
On Wednesday 21 February 2007 02:49, Greg KH wrote: > /* frame pointer must be last for get_wchan */ > -#define SAVE_CONTEXT"pushq %%rbp ; movq %%rsi,%%rbp\n\t" > -#define RESTORE_CONTEXT "movq %%rbp,%%rsi ; popq %%rbp\n\t" > +#define SAVE_CONTEXT"pushf ; pushq %%rbp ; movq %%rsi,%%rbp\n\t" > +#define RESTORE_CONTEXT "movq %%rbp,%%rsi ; popq %%rbp ; popf\t" No idea if this is a problem or not, but you forgot a \n after popf. -- Giuseppe "Oblomov" Bilotta - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/