Re: [discuss] Re: [PATCH] x86-64: adjust ia32entry.S

From: Andi Kleen
Date: Fri Nov 11 2005 - 10:53:58 EST


On Friday 11 November 2005 16:50, Jan Beulich wrote:
> >>> Andi Kleen <ak@xxxxxxx> 11.11.05 16:34:44 >>>
> >
> >On Wednesday 09 November 2005 17:10, Jan Beulich wrote:
> >> IA32 compatibility entry points needlessly played with extended
> >> registers. Additionally, frame unwind information was still
>
> incorrect
>
> >> for ia32_ptregs_common (sorry, my fault).
> >
> >What do you mean with needlessly played? That it didn't initialize
> >all on the stack frame? That was more a feature than a bug.
> >Did it cause you problems?
>
> It saved and restored R12-R15, even though these registers have no
> meaning (and are architecturally undefined) when coming from/going to
> 32-bit mode. Problems? No, except that without the extra loads (stores
> don't matter that much I believe) performance is better...

int 0x80 can be called from long mode too. We especially kept
this option to allow JITs like valgrind to run a 32bit process in a 64bit
image. In this case we shouldn't leak kernel registers.

You're right they normally shouldn't be leaked anyways because the
C ABI will save/restore it. I will think about it.

>
> >In general I'm weary of making the asm macros more complex
> >(adding more arguments etc.) Please keep it simple.
>
> Then ignore this, perhaps with the exception of the unwind info
> adjustment.

Can you please resubmit that as a separate patch?

-Andi
-
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/