Re: Compat 32-bit syscall entry from 64-bit task!?

From: Linus Torvalds
Date: Thu Jan 19 2012 - 19:06:13 EST


On Thu, Jan 19, 2012 at 3:54 PM, Jamie Lokier <jamie@xxxxxxxxxxxxx> wrote:
>
> Mine was: strace currently checks the CS value and may have a bug on
> existing/older kernels if Xen is involved when using the *normal*
> syscall entry point (not int $0x80).  Can we patch strace to solve
> that on those kernels in a generic way, or does the fix need to
> hard-code knowledge of Xen's CS values (and any similar PV hypervisors
> if there are any).
>
> No amount of patching newer kernels will fix that, but it would be
> nice if newer kernels made it unambiguous.

Ok. So yeah, I think the heuristics for strace could possibly be
improved when running under Xen, I agree. See my suggestion for taking
other register contents into account (%rsp in particular - the code
segment tends to be mapped low in 64-bit mode, but the stack is almost
always high unless you are doing something really odd).

So heuristics improvements could be a good idea. Very few real
programs will use "int 0x80" in long mode, since it's slow and limited
to 32 bit.

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