futex: Correct the kernedoc return value for futex_wait_setup().
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Sat, 17 May 2025 15:14:55 +0000 (17:14 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 21 May 2025 11:57:41 +0000 (13:57 +0200)
The kerneldoc for futex_wait_setup() states it can return "0" or "<1".
This isn't true because the error case is "<0" not less than 1.

Document that <0 is returned on error. Drop the possible return values
and state possible reasons.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: André Almeida <andrealmeid@igalia.com>
Link: https://lore.kernel.org/r/20250517151455.1065363-6-bigeasy@linutronix.de
kernel/futex/waitwake.c

index b3738fbe83c62c727a62f3695ada3e0267c7122a..e2bbe5509ec27a18785227358d4ff8d8f913ddc1 100644 (file)
@@ -585,7 +585,8 @@ int futex_wait_multiple(struct futex_vector *vs, unsigned int count,
  *
  * Return:
  *  -  0 - uaddr contains val and hb has been locked;
- *  - <1 - -EFAULT or -EWOULDBLOCK (uaddr does not contain val) and hb is unlocked
+ *  - <0 - On error and the hb is unlocked. A possible reason: the uaddr can not
+ *        be read, does not contain the expected value or is not properly aligned.
  */
 int futex_wait_setup(u32 __user *uaddr, u32 val, unsigned int flags,
                     struct futex_q *q, union futex_key *key2,