[PATCH] clone.2: note EINVAL when exit_signal + bad flags
Alejandro Colomar
alx.manpages@gmail.com
Wed Dec 14 21:02:26 GMT 2022
Hi Jack,
Please keep glibc and Carlos in the loop.
Thanks,
Alex
On 12/14/22 22:00, Jack Pearson wrote:
> On 12/12/22 18:53, Carlos O'Donell wrote:
>> On 12/9/22 14:49, Alejandro Colomar wrote:
>>> Hi Jack,
>>>
>>> On 12/2/22 23:44, Jack Pearson wrote:
>>>> Document that Linux will report EINVAL when exit_signal is specified and
>>>> either CLONE_THREAD or CLONE_PARENT is specified.
>>>>
>>>> From clone3_args_valid in Linux:
>>>> ```
>>>> if ((kargs->flags & (CLONE_THREAD | CLONE_PARENT)) &&
>>>> kargs->exit_signal)
>>>> return false;
>>>> ```
>>>>
>>>> I have verified that this happens on my kernel with a small program, and
>>>> that this doesn't happen with normal `clone` through the glibc helper.
>>>
>>> Could you please also send a test program with the glibc wrapper?
>>>
>>> BTW, glibc has a clone3(2) wrapper since last year. It would be interesting
>>> to document it instead of the raw syscall.
>>
>> glibc does not have a clone3 wrapper.
>>
>> glibc has an internal non-exported __clone3 interface that we use for pthreads,
>> and likely soon for posix_spawn.
>>
>> We have not yet chosen to export clone3 as a public global symbol that developers
>> can use.
>>
>
> Ahhh, that's why I couldn't find it in the headers.
>
> Incoming patch with the glibc clone wrapper test program.
>
>
> Jack
--
<http://www.alejandro-colomar.es/>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20221214/9ae669bd/attachment.sig>
More information about the Libc-alpha
mailing list