lkml.org 
[lkml]   [2021]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] futex: Fix a faulty comment.
From
Hi Jangwoong,

Thanks for your patch! However...

Às 15:14 de 04/12/21, 6812skiii@gmail.com escreveu:
> From: Jangwoong Kim <6812skiii@gmail.com>
>
> We return 1, not the index of futex woken up.
>
> Signed-off-by: Jangwoong Kim <6812skiii@gmail.com>
> ---
> 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é

\
 
 \ /
  Last update: 2021-12-06 13:12    [W:0.073 / U:1.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site