[PATCH] Linux: Support __IPC_64 in sysvctl *ctl command arguments
Florian Weimer
fweimer@redhat.com
Thu Nov 10 13:28:48 GMT 2022
* Adhemerval Zanella Netto:
> On 08/11/22 12:00, Florian Weimer via Libc-alpha wrote:
>> Old applications pass __IPC_64 as part of the command argument because
>> old glibc did not check for unknown commands, and passed through the
>> arguments directly to the kernel, without adding __IPC_64.
>> Applications need to continue doing that for old glibc compatibility,
>> so this commit enables this approach in current glibc.
>>
>> For msgctl and shmctl, if no translation is required, make
>> direct system calls, as we did before the time64 changes. If
>> translation is required, mask __IPC_64 from the command argument.
>>
>> For semctl, the union-in-vararg argument handling means that
>> translation is needed on all architectures.
>>
>> Tested on i686-linux-gnu, powerpc64le-linux-gnu, x86_64-linux-gnu.
>> Built with build-many-glibcs.py.
>
> Sigh, another internal interface that bleed to userpace. The fix sounds
> reasonable to compatibility, just a typo below.
>
> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Thanks, pushed with the typo fix.
Florian
More information about the Libc-alpha
mailing list