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

From: Linus Torvalds
Date: Thu Jan 19 2012 - 14:38:16 EST


On Thu, Jan 19, 2012 at 11:30 AM, Andrew Lutomirski <luto@xxxxxxx> wrote:
>
> Unless you're writing a debugger and you want to disassemble the code
> that's being executed (i.e. normal code, not a system call).  I wonder
> how gdb guesses whether the cpu is in long mode.

Yes, if you need to disassemble user space you would need to figure
out the mode.

I would suggest looking at 'rip/rsp' first, though, and just say that
if it's >32-bit, it's flat mode. Only if both rsp and rip fit in 32
bits should you even bother start guessing.

Because technically I suspect you really do need to look it up in the
segment descriptors, and I don't think we have that kind of interface
(nor do I think we really want to expose one).

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/