Re: [PATCH v2 1/3] syscalls,x86 Expose arch_prctl on x86-32.

From: Kyle Huey
Date: Wed Sep 14 2016 - 17:58:08 EST


On Wed, Sep 14, 2016 at 2:46 PM, Dave Hansen
<dave.hansen@xxxxxxxxxxxxxxx> wrote:
> On 09/14/2016 02:35 PM, Kyle Huey wrote:
>> It's not quite a plain move. To leave the existing arch_prctls only
>> accessible to 64 bit callers, I added the is_32 bit and the four early
>> returns for each existing ARCH_BLAH. These cases are now
>> conditionally compiled out in a 32 bit kernel, so we only have to
>> handle the 32 bit process on a 64 bit kernel case at runtime.
>
> I think it would make a lot of sense to do the move and the modification
> in two patches.

Ok.

> Oh, and arch_prctl() really *is* 64-bit only. I didn't realize that.
> That would have been nice to call out in the changelog, too. It's
> totally non-obvious.

Ok.

> You're going to owe some manpage updates after this too, I guess. It
> says: "arch_prctl() is supported only on Linux/x86-64 for 64-bit
> programs currently."

Indeed. There's a patch at the end of the series (sent to LKML, but
you're not directly CCd on it) with a suggested manpage patch.

> FWIW, I don't think it would be horrible to leave the existing
> do_arch_prctl() code in process_64.h and call it
> do_64_bit_only_something_arch_prctl(), and only call in to it from the
> generic do_arch_prctl(). You really have one reason for all the "if
> (is_32)"'s and it would be nice to document why in one single place.

Yeah, that seems like a good idea.

- Kyle