Merge tag 'nfsd-6.1-4' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 11 Nov 2022 19:28:26 +0000 (11:28 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 11 Nov 2022 19:28:26 +0000 (11:28 -0800)
Pull nfsd fixes from Chuck Lever:

 - Fix an export leak

 - Fix a potential tracepoint crash

* tag 'nfsd-6.1-4' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
  nfsd: put the export reference in nfsd4_verify_deleg_dentry
  nfsd: fix use-after-free in nfsd_file_do_acquire tracepoint

1  2 
fs/nfsd/nfs4state.c

diff --combined fs/nfsd/nfs4state.c
@@@ -4375,8 -4375,8 +4375,8 @@@ nfsd4_init_leases_net(struct nfsd_net *
        nn->nfsd4_grace = 90;
        nn->somebody_reclaimed = false;
        nn->track_reclaim_completes = false;
 -      nn->clverifier_counter = prandom_u32();
 -      nn->clientid_base = prandom_u32();
 +      nn->clverifier_counter = get_random_u32();
 +      nn->clientid_base = get_random_u32();
        nn->clientid_counter = nn->clientid_base + 1;
        nn->s2s_cp_cl_id = nn->clientid_counter++;
  
@@@ -5382,6 -5382,7 +5382,7 @@@ nfsd4_verify_deleg_dentry(struct nfsd4_
        if (err)
                return -EAGAIN;
  
+       exp_put(exp);
        dput(child);
        if (child != file_dentry(fp->fi_deleg_file->nf_file))
                return -EAGAIN;