From: Namjae Jeon Date: Sun, 31 Mar 2024 12:58:26 +0000 (+0900) Subject: ksmbd: don't send oplock break if rename fails X-Git-Tag: v5.15.157~71 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=044b3d6c94c66c92c538cf53a1cc5c555bbe2fec;p=thirdparty%2Fkernel%2Fstable.git ksmbd: don't send oplock break if rename fails [ Upstream commit c1832f67035dc04fb89e6b591b64e4d515843cda ] Don't send oplock break if rename fails. This patch fix smb2.oplock.batch20 test. Cc: stable@vger.kernel.org Signed-off-by: Namjae Jeon Signed-off-by: Steve French Signed-off-by: Sasha Levin --- diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c index 14cd86a14012f..86b1fb43104e9 100644 --- a/fs/ksmbd/smb2pdu.c +++ b/fs/ksmbd/smb2pdu.c @@ -5581,8 +5581,9 @@ static int smb2_rename(struct ksmbd_work *work, if (!file_info->ReplaceIfExists) flags = RENAME_NOREPLACE; - smb_break_all_levII_oplock(work, fp, 0); rc = ksmbd_vfs_rename(work, &fp->filp->f_path, new_name, flags); + if (!rc) + smb_break_all_levII_oplock(work, fp, 0); out: kfree(new_name); return rc;