path: root/fs/locks.c
diff options
authorLinus Torvalds <torvalds@linux-foundation.org>2021-05-05 13:44:19 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2021-05-05 13:44:19 -0700
commita79cdfba68a13b731004f0aafe1155a83830d472 (patch)
treed2159aa7e27e977ce1807ccb3de67fd7dd713131 /fs/locks.c
parentMerge tag '5.13-rc-smb3-part2' of git://git.samba.org/sfrench/cifs-2.6 (diff)
parentSUNRPC: Fix null pointer dereference in svc_rqst_free() (diff)
Merge tag 'nfsd-5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
Pull more nfsd updates from Chuck Lever: "Additional fixes and clean-ups for NFSD since tags/nfsd-5.13, including a fix to grant read delegations for files open for writing" * tag 'nfsd-5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: SUNRPC: Fix null pointer dereference in svc_rqst_free() SUNRPC: fix ternary sign expansion bug in tracing nfsd: Fix fall-through warnings for Clang nfsd: grant read delegations to clients holding writes nfsd: reshuffle some code nfsd: track filehandle aliasing in nfs4_files nfsd: hash nfs4_files by inode number nfsd: ensure new clients break delegations nfsd: removed unused argument in nfsd_startup_generic() nfsd: remove unused function svcrdma: Pass a useful error code to the send_err tracepoint svcrdma: Rename goto labels in svc_rdma_sendto() svcrdma: Don't leak send_ctxt on Send errors
Diffstat (limited to 'fs/locks.c')
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/locks.c b/fs/locks.c
index 5c42363aa811..74b2a1dfe8d8 100644
--- a/fs/locks.c
+++ b/fs/locks.c
@@ -1808,6 +1808,9 @@ check_conflicting_open(struct file *filp, const long arg, int flags)
if (flags & FL_LAYOUT)
return 0;
+ if (flags & FL_DELEG)
+ /* We leave these checks to the caller */
+ return 0;
if (arg == F_RDLCK)
return inode_is_open_for_write(inode) ? -EAGAIN : 0;