Re: [PATCH] x86: entry_32.S: change ESPFIX test to not touch PT_OLDSS(%esp)
From: Ingo Molnar
Date: Tue Mar 10 2015 - 02:26:03 EST
* Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
> On Mon, Mar 9, 2015 at 11:16 AM, Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> > On Mon, Mar 9, 2015 at 11:04 AM, Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
> >>
> >> One option would be to change the NMI entry code to move itself down 8
> >> bytes if this happens (came from kernel mode or sp == sp0 - 12,
> >> perhaps).
> >
> > Hmm. That whole code currently depends on the stack setup being just a
> > single instruction (the move to esp). And that simplifies things, I'd
> > like to keep it that way.
> >
> > I'd *much* rather just keep the 8-byte padding. What was so
> > problematic with that? It worked. It's been around forever. Removing
> > it is the bug.
>
> Let's at least fix it, then. processor.h has:
>
> #define INIT_TSS { \
> .x86_tss = { \
> .sp0 = sizeof(init_stack) + (long)&init_stack, \
>
> (moved in -tip)
>
> That's bogus, and this bogosity is why I broke 32-bit -next in the
> first place: I assumed it was correct.
>
> I'll get it if no one beats me to it.
Please do and please post patches ASAP so that I can move tip:x86/asm
back into a correct state again.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/