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: microblaze-v5.6-rc1~18^2~25 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=40e6aa10aaf233b58db319e77a6a05ed633e107c;p=linux-2.6-microblaze.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 a222122e7151..c7e4a9ba8420 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;