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

From: H. Peter Anvin
Date: Wed Feb 08 2012 - 23:32:22 EST


On 02/08/2012 08:20 PM, Indan Zupancic wrote:
>
> CS is already available to user space, but any other value than 0x23 or 0x33
> will confuse user space, as that is all they know about. Apparently Xen uses
> different values, but if those are static then user space can check for them
> separately. But if the values change dynamically then some other way may be
> needed.
>
> But does it make much sense to pass the CPU mode of user space if that mode
> can be changed at any moment? I don't think it really does. Can you give an
> example of how that info can be used by a ptracer?
>

Uh... you could make THAT argument about ANY register state!

I believe H.J. can fill you in about the usage.

>
> Only confusion I can think of is someone following the register values
> across a systemcall instruction. Then the swizzling may be unexpected.
> But if they do that they could check how the sycall was entered and
> compensate for that. (I can't think of any requirement why this would
> need to be race-free.)
>

You'd have to know how you'd entered, which right now you don't have any
way to know.

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