]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
nfsd: Drop the client reference in client_states_open()
authorHaoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
Sat, 6 Dec 2025 07:38:42 +0000 (15:38 +0800)
committerChuck Lever <chuck.lever@oracle.com>
Thu, 25 Dec 2025 02:33:12 +0000 (21:33 -0500)
In error path, call drop_client() to drop the reference
obtained by get_nfsdfs_clp().

Fixes: 78599c42ae3c ("nfsd4: add file to display list of client's opens")
Cc: stable@vger.kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/nfs4state.c

index 8145014d70d579ca82cb78acafd2825bf4d4d734..5b83cb33bf83d0aac539558efa43160d726710d2 100644 (file)
@@ -3099,8 +3099,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) {
+               drop_client(clp);
                return ret;
+       }
        s = file->private_data;
        s->private = clp;
        return 0;