| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- From 98bc509f92cccedd7d51d5ebadc424e2d7f5cbb4 Mon Sep 17 00:00:00 2001
- From: Chukun Pan <[email protected]>
- Date: Tue, 5 Jul 2022 15:20:10 +0800
- Subject: [PATCH] ksmbd: fixes build on kernel 5.15.52 or higher
- The 5.15.52 kernel downported two commits "fs: remove unused low-level
- mapping helpers" and "fs: use low-level mapping helpers", which broken
- the compilation[1]. This commit fixed it.
- 1. https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.52
- Signed-off-by: Chukun Pan <[email protected]>
- Signed-off-by: Namjae Jeon <[email protected]>
- ---
- smbacl.c | 6 ++++--
- smbacl.h | 6 ++++--
- 2 files changed, 8 insertions(+), 4 deletions(-)
- diff --git a/smbacl.c b/smbacl.c
- index 275e357..19c682a 100644
- --- a/smbacl.c
- +++ b/smbacl.c
- @@ -281,7 +281,8 @@ static int sid_to_id(struct user_namespace *user_ns,
- uid_t id;
-
- id = le32_to_cpu(psid->sub_auth[psid->num_subauth - 1]);
- -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)
- +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0) || \
- + (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 52) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0))
- uid = mapped_kuid_user(user_ns, &init_user_ns, KUIDT_INIT(id));
- #else
- /*
- @@ -304,7 +305,8 @@ static int sid_to_id(struct user_namespace *user_ns,
- gid_t id;
-
- id = le32_to_cpu(psid->sub_auth[psid->num_subauth - 1]);
- -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)
- +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0) || \
- + (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 52) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0))
- gid = mapped_kgid_user(user_ns, &init_user_ns, KGIDT_INIT(id));
- #else
- /*
- diff --git a/smbacl.h b/smbacl.h
- index f2bcdb4..7368bf4 100644
- --- a/smbacl.h
- +++ b/smbacl.h
- @@ -221,7 +221,8 @@ static inline uid_t posix_acl_uid_translate(struct user_namespace *mnt_userns,
- kuid_t kuid;
-
- /* If this is an idmapped mount, apply the idmapping. */
- -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)
- +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0) || \
- + (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 52) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0))
- kuid = mapped_kuid_fs(mnt_userns, &init_user_ns, pace->e_uid);
- #else
- kuid = kuid_into_mnt(mnt_userns, pace->e_uid);
- @@ -241,7 +242,8 @@ static inline gid_t posix_acl_gid_translate(struct user_namespace *mnt_userns,
- kgid_t kgid;
-
- /* If this is an idmapped mount, apply the idmapping. */
- -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)
- +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0) || \
- + (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 52) && LINUX_VERSION_CODE < KERNEL_VERSION(5, 16, 0))
- kgid = mapped_kgid_fs(mnt_userns, &init_user_ns, pace->e_gid);
- #else
- kgid = kgid_into_mnt(mnt_userns, pace->e_gid);
- --
- 2.36.1
|