]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - 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
1 From c1832f67035dc04fb89e6b591b64e4d515843cda Mon Sep 17 00:00:00 2001
2 From: Namjae Jeon <linkinjeon@kernel.org>
3 Date: Sun, 31 Mar 2024 21:58:26 +0900
4 Subject: ksmbd: don't send oplock break if rename fails
5
6 From: Namjae Jeon <linkinjeon@kernel.org>
7
8 commit c1832f67035dc04fb89e6b591b64e4d515843cda upstream.
9
10 Don't send oplock break if rename fails. This patch fix
11 smb2.oplock.batch20 test.
12
13 Cc: stable@vger.kernel.org
14 Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
15 Signed-off-by: Steve French <stfrench@microsoft.com>
16 Signed-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;