]> Gentwo Git Trees - linux/.git/commitdiff
bpf: Adjust return value for queue destruction in rqspinlock
authorKumar Kartikeya Dwivedi <memxor@gmail.com>
Tue, 11 Nov 2025 01:38:27 +0000 (01:38 +0000)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 12 Nov 2025 19:17:39 +0000 (11:17 -0800)
Return -ETIMEDOUT whenever non-head waiters are signalled by head, and fix
oversight in commit 7bd6e5ce5be6 ("rqspinlock: Disable queue destruction for
deadlocks"). We no longer signal on deadlocks.

Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Reviewed-by: Amery Hung <ameryhung@gmail.com>
Link: https://lore.kernel.org/r/20251111013827.1853484-1-memxor@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/rqspinlock.c

index b94e258bf2b91248c0e46c3401c0d315db5f7c2a..3cc23d79a9fc09ce1d1e1752998231e37ec6c4e2 100644 (file)
@@ -537,7 +537,7 @@ int __lockfunc resilient_queued_spin_lock_slowpath(rqspinlock_t *lock, u32 val)
 
                val = arch_mcs_spin_lock_contended(&node->locked);
                if (val == RES_TIMEOUT_VAL) {
-                       ret = -EDEADLK;
+                       ret = -ETIMEDOUT;
                        goto waitq_timeout;
                }