On Sat, Dec 6, 2025, at 2:38 AM, Haoxiang Li wrote:
In error path, call drop_client() to drop the reference obtained by get_nfsdfs_clp().
Fixes: a204f25e372d ("nfsd: create get_nfsdfs_clp helper")
An argument could be made that 78599c42ae3c ("nfsd4: add file to display list of client's opens") is where the reference counting was first broken. Would you mind if I updated the Fixes: tag when I apply this?
Cc: stable@vger.kernel.org Signed-off-by: Haoxiang Li lihaoxiang@isrc.iscas.ac.cn
fs/nfsd/nfs4state.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 8a6960500217..caa0756b6914 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -3097,8 +3097,10 @@ static int client_states_open(struct inode *inode, struct file *file) return -ENXIO;
ret = seq_open(file, &states_seq_ops);
- if (ret)
- if (ret) {
return ret;drop_client(clp);- } s = file->private_data; s->private = clp; return 0;
-- 2.25.1