Messages in this thread | | | From | Linus Torvalds <> | Date | Thu, 19 Jan 2012 16:05:47 -0800 | Subject | Re: Compat 32-bit syscall entry from 64-bit task!? |
| |
On Thu, Jan 19, 2012 at 3:54 PM, Jamie Lokier <jamie@shareable.org> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |