Re: [PATCH] futex: Fix a faulty comment.
From: André Almeida
Date: Mon Dec 06 2021 - 07:12:21 EST
Hi Jangwoong,
Thanks for your patch! However...
Às 15:14 de 04/12/21, 6812skiii@xxxxxxxxx escreveu:
> From: Jangwoong Kim <6812skiii@xxxxxxxxx>
>
> We return 1, not the index of futex woken up.
>
> Signed-off-by: Jangwoong Kim <6812skiii@xxxxxxxxx>
> ---
> kernel/futex/waitwake.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/futex/waitwake.c b/kernel/futex/waitwake.c
> index 4ce0923f1ce3..d148e5d4956b 100644
> --- a/kernel/futex/waitwake.c
> +++ b/kernel/futex/waitwake.c
> @@ -455,8 +455,8 @@ static int futex_wait_multiple_setup(struct futex_vector *vs, int count, int *wo
>
> /*
> * Even if something went wrong, if we find out that a futex
> - * was woken, we don't return error and return this index to
> - * userspace
> + * was woken, we don't return error and make userspace aware
> + * of this by returning 1.
We return to userspace the value at *woken, so your fix is wrong. Have a
look at futex_wait_multiple():
ret = futex_wait_multiple_setup(vs, count, &hint);
if (ret) {
if (ret > 0) {
/* A futex was woken during setup */
ret = hint;
}
return ret;
}
When we return 1 at futex_wait_multiple_setup(), we end up returning the
hint/woken value to userspace.
Let me know if you have questions.
André