2016-04-08 10:13 GMT+03:00 Ingo Molnar <[email protected]>:
>
> * Andy Lutomirski <[email protected]> wrote:
>
>> ARCH_GET_FS and ARCH_GET_GS attempted to figure out the fsbase and
>> gsbase respectively from saved thread state. This was wrong: fsbase
>> and gsbase live in registers while a thread is running, not in
>> memory.
>
> So I'm wondering, the current code looks totally broken,what user-space code
> can
> possibly use this? I checked glibc and Wine, and neither of them does. Wine
> uses
> ARCH_SET_GS and glibc uses ARCH_SET_FS, but that's all - neither actually
> tries to
> use the ARCH_GET_* reading APIs.
Just FYI, CRIU also does not use ARCH_GET_{FS,GS}, only ARCH_SET_{FS,GS}.
It gets them with the help of PTRACE_GETREGSET.
> So for backporting purposes I'd be much happier about simply returning
> -EINVAL or
> -ENOSYS, and we could re-introduce this code in v4.7.