FAILED: patch "[PATCH] smb/server: do not require delete access for non-replacing" failed to apply to 6.1-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 6.1-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.1.y
git checkout FETCH_HEAD
git cherry-pick -x 851ed9e09639e0daf79a506ce26097b296ed5518
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026071409-clamp-reminder-aacc@gregkh' --subject-prefix 'PATCH 6.1.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 851ed9e09639e0daf79a506ce26097b296ed5518 Mon Sep 17 00:00:00 2001
From: ChenXiaoSong <[email protected]>
Date: Sun, 28 Jun 2026 07:42:43 +0000
Subject: [PATCH] smb/server: do not require delete access for non-replacing
links
Reproducer:
1. server: systemctl start ksmbd
2. client: mount -t cifs //${server_ip}/export /mnt
3. client: touch /mnt/file; ln /mnt/file /mnt/hardlink
4. client err log: ln: failed to create hard link 'hardlink' => 'file': Permission denied
5. server err log: ksmbd: no right to delete : 0x80
fs/smb/server/smb2pdu.c +8 -6
@@ -6921,16 +6921,18 @@ static int smb2_set_info_file(struct ksmbd_work *work, struct ksmbd_file *fp, }case FILE_LINK_INFORMATION : { -if (!(fp->daccess &FILE_DELETE_LE )) { -pr_err ("no right to delete : 0x%x\n" , fp->daccess); -return -EACCES ; - } +struct smb2_file_link_info *file_info;if (buf_len <sizeof (struct smb2_file_link_info ))return -EMSGSIZE ; -return smb2_create_link (work, work->tcon->share_conf, - (struct smb2_file_link_info *)buffer, + file_info = (struct smb2_file_link_info *)buffer; +if (file_info->ReplaceIfExists && !(fp->daccess &FILE_DELETE_LE )) { +pr_err ("no right to delete : 0x%x\n" , fp->daccess); +return -EACCES ; + } + +return smb2_create_link (work, work->tcon->share_conf, file_info, buf_len, fp->filp, work->conn->local_nls); }
ChenXiaoSong
reviewerlinux-6.1.y linux-6.6.y linux-6.12.y linux-6.18.y does not include the bug-introducing patch: 13f3942f2bf4 ("ksmbd: add per-handle permission check to FILE_LINK_INFORMATION").
Quoted 4 lines · On 7/14/26 22:47, [email protected] wrote:
The patch below does not apply to the 6.1-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to<[email protected]>.
Signature · 3 lines
ChenXiaoSong <[email protected]> Chinese Homepage: https://chenxiaosong.com English Homepage: https://chenxiaosong.com/en
Greg KH
maintainerQuoted 3 lines · ChenXiaoSong
linux-6.1.y linux-6.6.y linux-6.12.y linux-6.18.y does not include the bug-introducing patch:
13f3942f2bf4("ksmbd: add per-handle permission check toFILE_LINK_INFORMATION").
Ok, so what does that mean? Can you provide backported patches for these branches?
thanks,
greg k-h
ChenXiaoSong
reviewerOkay, my team will do it.
Quoted 2 lines · Greg KH
Ok, so what does that mean? Can you provide backported patches for these branches?
Signature · 3 lines
ChenXiaoSong <[email protected]> Chinese Homepage: https://chenxiaosong.com English Homepage: https://chenxiaosong.com/en
Sasha Levin
maintainerQuoted 1 line · ChenXiaoSong
Okay, my team will do it.
No need - the cherry-pick only failed because the released trees don't have 13f3942f2bf4 ("ksmbd: add per-handle permission check to FILE_LINK_INFORMATION") yet; that one is already queued for the next 6.18/6.12/6.6/6.1 releases. I've now queued 851ed9e09639 on top of it in all four queues.
Signature · 2 lines
Thanks, Sasha