diff --git a/samsung/SM-A155F/fix_base.c.patch b/samsung/SM-A155F/fix_base.c.patch new file mode 100644 index 00000000..dd79a4dd --- /dev/null +++ b/samsung/SM-A155F/fix_base.c.patch @@ -0,0 +1,18 @@ +--- a/fs/proc/base.c ++++ b/fs/proc/base.c +@@ -95,10 +95,15 @@ + #include + #include + #include + #include + #include ++ ++#ifdef CONFIG_KSU_SUSFS_SUS_MAP ++#include ++#endif ++ + #include + #include + #include + #include "internal.h" + #include "fd.h" diff --git a/samsung/SM-A155F/fix_exec.c.patch b/samsung/SM-A155F/fix_exec.c.patch new file mode 100644 index 00000000..16eec113 --- /dev/null +++ b/samsung/SM-A155F/fix_exec.c.patch @@ -0,0 +1,18 @@ +--- a/fs/exec.c ++++ b/fs/exec.c +@@ -62,10 +62,15 @@ + #include + #include + #include + #include + #include ++ ++#ifdef CONFIG_KSU_SUSFS ++#include ++#endif ++ + #include + + #include + #include + #include diff --git a/samsung/SM-A155F/fix_namespace.c.patch b/samsung/SM-A155F/fix_namespace.c.patch new file mode 100644 index 00000000..e6823466 --- /dev/null +++ b/samsung/SM-A155F/fix_namespace.c.patch @@ -0,0 +1,44 @@ +--- a/fs/namespace.c ++++ b/fs/namespace.c +@@ -33,13 +33,27 @@ + #include + #ifdef CONFIG_KDP_NS + #include + #endif + ++#ifdef CONFIG_KSU_SUSFS_SUS_MOUNT ++#include ++#endif // #ifdef CONFIG_KSU_SUSFS_SUS_MOUNT ++ + #include "pnode.h" + #include "internal.h" + ++#ifdef CONFIG_KSU_SUSFS_SUS_MOUNT ++extern bool susfs_is_current_ksu_domain(void); ++extern bool susfs_is_boot_completed_triggered __read_mostly; ++ ++static DEFINE_IDA(susfs_ksu_mnt_group_ida); ++static atomic64_t susfs_ksu_mounts = ATOMIC64_INIT(0); ++ ++#define CL_COPY_MNT_NS BIT(25) /* used by copy_mnt_ns() */ ++#endif // #ifdef CONFIG_KSU_SUSFS_SUS_MOUNT ++ + /* Maximum number of mounts in a mount namespace */ + unsigned int sysctl_mount_max __read_mostly = 100000; + + /* @fs.sec -- c4d165e8cb5ea1cc14cdedb9eab23efd642d4d5f -- */ + static unsigned int sys_umount_trace_status; +@@ -3917,10 +3931,13 @@ + namespace_lock(); + /* First pass: copy the tree topology */ + copy_flags = CL_COPY_UNBINDABLE | CL_EXPIRE; + if (user_ns != ns->user_ns) + copy_flags |= CL_SHARED_TO_SLAVE; ++#ifdef CONFIG_KSU_SUSFS_SUS_MOUNT ++ copy_flags |= CL_COPY_MNT_NS; ++#endif + #ifdef CONFIG_KDP_NS + new = copy_tree(old, ((struct kdp_mount *)old)->mnt->mnt_root, copy_flags); + #else + new = copy_tree(old, old->mnt.mnt_root, copy_flags); + #endif