Re: [PATCH 1/2] fork: extend clone3() to support CLONE_SET_TID

Dmitry Safonov
2019-07-29T19:18:12Z

On Mon, 29 Jul 2019 at 20:12, Dmitry Safonov <0x7f454c46@gmail.com> wrote:
>
> On Mon, 29 Jul 2019 at 17:52, Adrian Reber <areber@redhat.com> wrote:
> [..]
> > --- a/include/uapi/linux/sched.h
> > +++ b/include/uapi/linux/sched.h
> > @@ -32,6 +32,7 @@
> > #define CLONE_NEWPID 0x20000000 /* New pid namespace */
> > #define CLONE_NEWNET 0x40000000 /* New network namespace */
> > #define CLONE_IO 0x80000000 /* Clone io context */
> > +#define CLONE_SET_TID 0x100000000ULL /* set if the desired TID is set in set_tid */
> >
> > /*
> > * Arguments for the clone3 syscall
> > @@ -45,6 +46,7 @@ struct clone_args {
> > __aligned_u64 stack;
> > __aligned_u64 stack_size;
> > __aligned_u64 tls;
> > + __aligned_u64 set_tid;
> > };
> >
>
> I don't see a change to
> : if (unlikely(size < sizeof(struct clone_args)))
> : return -EINVAL;
>
> That seems backwards-incompatible, but I may miss some part..

On the other hand, clone3() was merged in v5.3 window, so probably,
it doesn't matter.

--
Dmitry