Re: [PATCH 1/2] x86/arch_prctl: add ARCH_SET_{COMPAT,NATIVE} to change compatible mode

From: Dmitry Safonov
Date: Sat Apr 09 2016 - 04:06:45 EST


2016-04-08 23:44 GMT+03:00 Andy Lutomirski <luto@xxxxxxxxxxxxxx>:
> On Apr 8, 2016 9:20 AM, "Dmitry Safonov" <dsafonov@xxxxxxxxxxxxx> wrote:
>>
>>
>> And if it's not there - return error?
>
> No, just leave IP unchanged.

Ok, will resend with this fixup.

>
> Feel free to ask for help on some of these details. user_64bit_mode
> will be helpful too.

Thanks.

>> I doubt, is it sane to remove
>> TS_COMPAT instead, leaving TIF_IA32, as for some cases
>> we need to know if task is compatible outside of syscall's path?
>
> No. TS_COMPAT is important, and it's also better behaved than
> TIF_IA32 -- it has a very specific meaning: "am I currently executing
> a 32-bit syscall".
>
>
> The comment is wrong :). TS_COMPAT is true on int80 or 32-bit vdso
> syscall entries and is false otherwise. 64-bit tasks can use int80
> and, with your patches, will be able to use the 32-bit vdso entry as
> well.
>

Oh, yes, I see what you pointing, thanks, will work on it.