On Thu, Jun 13, 2019 at 04:28:49PM +0300, Amir Goldstein wrote: > On Thu, Jun 13, 2019 at 4:22 PM Jeff Layton <jlayton@xxxxxxxxxx> wrote: > > Looks good to me. Aside from the minor nit above: > > > > Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx> > > > > I have one file locking patch queued up for v5.3 so far, but nothing for > > v5.2. Miklos or Bruce, if either of you have anything to send to Linus > > for v5.2 would you mind taking this one too? > > > > Well. I did send a fix patch to Miklos for a bug introduced in v5.2-rc4, > so... I could take it. I've modified it as below. I'm very happy with the patch, but not so much with the idea of 5.2 and stable. It seems like a subtle change with some possibility of unintended side effects. (E.g. I don't think this is true any more, but my memory is that for a long time the only thing stopping nfsd from giving out (probably broken) write delegations was an extra reference that it held during processing.) And if the overlayfs bug's been there since 4.19, then waiting a little longer seems OK? --b. diff --git a/fs/locks.c b/fs/locks.c index c7912b0fdeea..2056595751e8 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -1779,7 +1779,7 @@ check_conflicting_open(struct file *filp, const long arg, int flags) /* Make sure that only read/write count is from lease requestor */ if (filp->f_mode & FMODE_WRITE) self_wcount = 1; - else if ((filp->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) + else if (filp->f_mode & FMODE_READ) self_rcount = 1; if (arg == F_WRLCK && (wcount != self_wcount ||