2021-12-19 18:34 GMT+09:00, Vasily Averin <vvs@xxxxxxxxxxxxx>: > To avoid possible deadlock ksmbd should process locks asynchronously. > Callers expecting vfs_file_locks() to return asynchronously should only > use F_SETLK, not F_SETLKW. Should I check this patch instead of [PATCH] ksmbd: force "fail immediately" flag on fs with its own ->lock ? > > Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx> > --- > fs/ksmbd/smb2pdu.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c > index 0c020deb76bb..34f333549767 100644 > --- a/fs/ksmbd/smb2pdu.c > +++ b/fs/ksmbd/smb2pdu.c > @@ -6646,13 +6646,13 @@ static int smb2_set_flock_flags(struct file_lock > *flock, int flags) > switch (flags) { > case SMB2_LOCKFLAG_SHARED: > ksmbd_debug(SMB, "received shared request\n"); > - cmd = F_SETLKW; > + cmd = F_SETLK; > flock->fl_type = F_RDLCK; > flock->fl_flags |= FL_SLEEP; > break; > case SMB2_LOCKFLAG_EXCLUSIVE: > ksmbd_debug(SMB, "received exclusive request\n"); > - cmd = F_SETLKW; > + cmd = F_SETLK; > flock->fl_type = F_WRLCK; > flock->fl_flags |= FL_SLEEP; > break; > -- > 2.25.1 > >