]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/6.6.26/ksmbd-don-t-send-oplock-break-if-rename-fails.patch
Linux 6.6.26
[thirdparty/kernel/stable-queue.git] / releases / 6.6.26 / ksmbd-don-t-send-oplock-break-if-rename-fails.patch
CommitLineData
2ef6de7d
GKH
1From c1832f67035dc04fb89e6b591b64e4d515843cda Mon Sep 17 00:00:00 2001
2From: Namjae Jeon <linkinjeon@kernel.org>
3Date: Sun, 31 Mar 2024 21:58:26 +0900
4Subject: ksmbd: don't send oplock break if rename fails
5
6From: Namjae Jeon <linkinjeon@kernel.org>
7
8commit c1832f67035dc04fb89e6b591b64e4d515843cda upstream.
9
10Don't send oplock break if rename fails. This patch fix
11smb2.oplock.batch20 test.
12
13Cc: stable@vger.kernel.org
14Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
15Signed-off-by: Steve French <stfrench@microsoft.com>
16Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
17---
18 fs/smb/server/smb2pdu.c | 3 ++-
19 1 file changed, 2 insertions(+), 1 deletion(-)
20
21--- a/fs/smb/server/smb2pdu.c
22+++ b/fs/smb/server/smb2pdu.c
23@@ -5631,8 +5631,9 @@ static int smb2_rename(struct ksmbd_work
24 if (!file_info->ReplaceIfExists)
25 flags = RENAME_NOREPLACE;
26
27- smb_break_all_levII_oplock(work, fp, 0);
28 rc = ksmbd_vfs_rename(work, &fp->filp->f_path, new_name, flags);
29+ if (!rc)
30+ smb_break_all_levII_oplock(work, fp, 0);
31 out:
32 kfree(new_name);
33 return rc;