From 84a0ab78fb2c39a4c2757d53240c288901f89f6b Mon Sep 17 00:00:00 2001 From: rsuntk Date: Sat, 24 May 2025 10:35:26 +0700 Subject: [PATCH] kernel: make path_umount backporting as optional Since https://github.com/backslashxx/KernelSU/commit/4f8943a, path_umount is no longer needed. Signed-off-by: rsuntk --- kernel/Makefile | 6 +----- kernel/core_hook.c | 15 --------------- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/kernel/Makefile b/kernel/Makefile index 4705f073..78f117ff 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -170,13 +170,9 @@ endif # Do checks before compile ifeq ($(shell grep -q "int\s\+\path_umount" $(srctree)/fs/namespace.c; echo $$?),0) -$(info -- SukiSU: checks ok. Found path_umount) -else -$(info -- SukiSU: checks failed, abort.) -$(error -- Backporting path_umount is mandatory !! Read: https://kernelsu.org/guide/how-to-integrate-for-non-gki.html#how-to-backport-path-umount) +ccflags-y += -DKSU_HAS_PATH_UMOUNT endif - ## For susfs stuff ## ifeq ($(shell test -e $(srctree)/fs/susfs.c; echo $$?),0) $(eval SUSFS_VERSION=$(shell cat $(srctree)/include/linux/susfs.h | grep -E '^#define SUSFS_VERSION' | cut -d' ' -f3 | sed 's/"//g')) diff --git a/kernel/core_hook.c b/kernel/core_hook.c index 7fcf3760..9a657028 100644 --- a/kernel/core_hook.c +++ b/kernel/core_hook.c @@ -217,7 +217,6 @@ void ksu_escape_to_root(void) { struct cred *cred; -#ifdef KSU_GET_CRED_RCU rcu_read_lock(); do { @@ -230,14 +229,6 @@ void ksu_escape_to_root(void) rcu_read_unlock(); return; } -#else - cred = (struct cred *)__task_cred(current); - - if (cred->euid.val == 0) { - pr_warn("Already root, don't escape!\n"); - return; - } -#endif struct root_profile *profile = ksu_get_root_profile(cred->uid.val); @@ -266,16 +257,10 @@ void ksu_escape_to_root(void) sizeof(cred->cap_permitted)); memcpy(&cred->cap_bset, &profile->capabilities.effective, sizeof(cred->cap_bset)); - // set ambient caps to all-zero - // fixes "operation not permitted" on dbus cap dropping - memset(&cred->cap_ambient, 0, - sizeof(cred->cap_ambient)); setup_groups(profile, cred); -#ifdef KSU_GET_CRED_RCU rcu_read_unlock(); -#endif // Refer to kernel/seccomp.c: seccomp_set_mode_strict // When disabling Seccomp, ensure that current->sighand->siglock is held during the operation.