summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Layton <jlayton@kernel.org>2025-02-09 07:31:24 -0500
committerChuck Lever <chuck.lever@oracle.com>2025-03-10 09:11:02 -0400
commit43fa8905db08a39d4d0a709f6f3294037c4db425 (patch)
tree9722e2570545930db50e3151cff9e6a2877c1b1f
parent6c1cefb84b3dee08e94b6908617f23f3fcc045e9 (diff)
nfsd: always release slot when requeueing callback
If the callback is going to be requeued to the workqueue, then release the slot. The callback client and session could change and the slot may no longer be valid after that point. Signed-off-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
-rw-r--r--fs/nfsd/nfs4callback.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
index 5eabba4cc6c5..640d788052fd 100644
--- a/fs/nfsd/nfs4callback.c
+++ b/fs/nfsd/nfs4callback.c
@@ -1405,6 +1405,7 @@ retry_nowait:
rpc_restart_call_prepare(task);
goto out;
requeue:
+ nfsd41_cb_release_slot(cb);
nfsd4_requeue_cb(task, cb);
return false;
}