From: Trond Myklebust Date: Sun, 27 Oct 2019 17:38:45 +0000 (-0400) Subject: NFSv4: nfs4_return_incompatible_delegation() should check delegation validity X-Git-Tag: v5.5-rc1~11^2~25 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=40e6aa10aaf233b58db319e77a6a05ed633e107c;p=thirdparty%2Fkernel%2Flinux.git NFSv4: nfs4_return_incompatible_delegation() should check delegation validity Ensure that we check that the delegation is valid in nfs4_return_incompatible_delegation() before we try to return it. Signed-off-by: Trond Myklebust --- diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index a222122e71512..c7e4a9ba84200 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -1796,7 +1796,7 @@ static void nfs4_return_incompatible_delegation(struct inode *inode, fmode_t fmo fmode &= FMODE_READ|FMODE_WRITE; rcu_read_lock(); - delegation = rcu_dereference(NFS_I(inode)->delegation); + delegation = nfs4_get_valid_delegation(inode); if (delegation == NULL || (delegation->type & fmode) == fmode) { rcu_read_unlock(); return;