From: Trond Myklebust Date: Tue, 20 Mar 2018 20:43:13 +0000 (-0400) Subject: NFSv4: Fix nfs4_return_incompatible_delegation X-Git-Tag: v4.17-rc1~34^2~27 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=f50862423f547f8506d69b6e4fc53be53288244c;p=linux-block.git NFSv4: Fix nfs4_return_incompatible_delegation The 'fmode' argument can take an FMODE_EXEC value, which we want to filter out before comparing to the delegation type. Signed-off-by: Trond Myklebust Signed-off-by: Anna Schumaker --- diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index ec68edce6cc3..71f2916f93ff 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -1669,6 +1669,7 @@ static void nfs4_return_incompatible_delegation(struct inode *inode, fmode_t fmo { struct nfs_delegation *delegation; + fmode &= FMODE_READ|FMODE_WRITE; rcu_read_lock(); delegation = rcu_dereference(NFS_I(inode)->delegation); if (delegation == NULL || (delegation->type & fmode) == fmode) {