Re: [PATCH] clone.2: note EINVAL when exit_signal + bad flags

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Carlos,

On 12/13/22 03: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.

Ahh, thanks, I saw the following and thought that you had added it as a public wrapper.

commit 5adb0e14a5cc9e011e58a7aaf193b598ecbd7b07
Author: H.J. Lu <hjl.tools@xxxxxxxxx>
Date:   Wed May 12 11:02:47 2021 -0700

    i386: Add the clone3 wrapper

    extern int clone3 (struct clone_args *__cl_args, size_t __size,
                       int (*__func) (void *__arg), void *__arg);

    Reviewed-by: Carlos O'Donell <carlos@xxxxxxxxxx>

Thanks!

Alex




--
<http://www.alejandro-colomar.es/>

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux