Re: [PATCH v3 10/15] futex: Add sys_futex_requeue()

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

 



On Fri, Sep 22, 2023 at 11:35:03AM +0200, Ingo Molnar wrote:
> 
> * peterz@xxxxxxxxxxxxx <peterz@xxxxxxxxxxxxx> wrote:
> 
> > --- linux-2.6.orig/kernel/futex/syscalls.c
> > +++ linux-2.6/kernel/futex/syscalls.c
> > @@ -396,6 +396,44 @@ SYSCALL_DEFINE6(futex_wait,
> >  	return ret;
> >  }
> >  
> > +/*
> > + * sys_futex_requeue - Requeue a waiter from one futex to another
> > + * @waiters:	array describing the source and destination futex
> > + * @flags:	unused
> > + * @nr_wake:	number of futexes to wake
> > + * @nr_requeue:	number of futexes to requeue
> > + *
> > + * Identical to the traditional FUTEX_CMP_REQUEUE op, except it is part of the
> > + * futex2 family of calls.
> > + */
> > +
> > +SYSCALL_DEFINE4(futex_requeue,
> > +		struct futex_waitv __user *, waiters,
> > +		unsigned int, flags,
> > +		int, nr_wake,
> > +		int, nr_requeue)
> > +{
> > +	struct futex_vector futexes[2];
> > +	u32 cmpval;
> > +	int ret;
> > +
> > +	if (flags)
> > +		return -EINVAL;
> 
> Small detail, but isn't -ENOSYS the canonical error code for functionality 
> not yet implemented - which the unused 'flags' ABI is arguably?
> 
> -EINVAL is for recognized but incorrect parameters, such as:

IIUC 'unknown flag' falls into the -EINVAL return category. Here we
happen to have no known flags, but that should not matter.



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux