Re: [PATCHv2] x86/mm: set x32 syscall bit in SET_PERSONALITY()

From: hpa
Date: Tue Mar 21 2017 - 14:52:06 EST


On March 21, 2017 11:40:58 AM PDT, Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote:
>On Tue, Mar 21, 2017 at 09:09:40PM +0300, Dmitry Safonov wrote:
>>
>> I guess the question comes from that we're releasing CRIU 3.0 with
>> 32-bit C/R and some other cool stuff, but we don't support x32 yet.
>> As we don't want release a thing that we aren't properly testing.
>> So for a while we should error on dumping x32 applications.
>
>yes
>
>> I think, the best way for now is to check physicall address of vdso
>> from /proc/.../pagemap. If it's CONFIG_VDSO=n kernel, I guess we
>could
>> also add check for %ds from ptrace's register set. For x32 it's set
>to
>> __USER_DS, while for native it's 0 (looking at start_thread() and
>> compat_start_thread()). The application can simply change it without
>> any consequence - so it's not very reliable, we could only warn at
>> catching it, not rely on this.
>
>indeed, thanks!

I proposed to the ptrace people a virtual register for this and a few other things, but it got bikeshed to death.
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.