diff options
| author | Hauke Mehrtens | 2024-07-04 20:47:31 +0000 |
|---|---|---|
| committer | Hauke Mehrtens | 2024-07-07 20:22:32 +0000 |
| commit | b9aeaf778c2df0471b094aef4e9fab90f4a8fdb5 (patch) | |
| tree | bc83a0b14868c7b17155e065f9ab01ec6356ea0e | |
| parent | 1f69203081994d540bdc8806d29d88fd55ed4aae (diff) | |
| download | openwrt-b9aeaf778c2df0471b094aef4e9fab90f4a8fdb5.tar.gz | |
ksmbd: Support kernel 5.10.220
In kernel 5.10.220 many file system related patches were backported. One
of them changed the signature of vfs_rename(). Extend the version check
for 5.10.220.
Link: https://github.com/openwrt/openwrt/pull/15843
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
| -rw-r--r-- | package/kernel/ksmbd/patches/02-kernel-5.10.220-build.patch | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/package/kernel/ksmbd/patches/02-kernel-5.10.220-build.patch b/package/kernel/ksmbd/patches/02-kernel-5.10.220-build.patch new file mode 100644 index 0000000000..d416fa8e77 --- /dev/null +++ b/package/kernel/ksmbd/patches/02-kernel-5.10.220-build.patch @@ -0,0 +1,25 @@ +vfs_rename() was changed in 5.10.220, see: +https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.10.y&id=e864d4d834f820c8be01c9d048cdab6051fe3932 + +--- a/vfs.c ++++ b/vfs.c +@@ -1074,12 +1074,18 @@ static int __ksmbd_vfs_rename(struct ksm + + err = -ENOTEMPTY; + if (dst_dent != trap_dent && !d_really_is_positive(dst_dent)) { +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 0) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 0) || \ ++ (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 10, 220) && \ ++ LINUX_VERSION_CODE < KERNEL_VERSION(5, 11, 0)) + struct renamedata rd = { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 0) + .old_mnt_userns = src_user_ns, ++#endif + .old_dir = d_inode(src_dent_parent), + .old_dentry = src_dent, ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 0) + .new_mnt_userns = dst_user_ns, ++#endif + .new_dir = d_inode(dst_dent_parent), + .new_dentry = dst_dent, + }; |