diff --git a/kernel/Kconfig b/kernel/Kconfig index bdc8c4b1..355ac7c3 100644 --- a/kernel/Kconfig +++ b/kernel/Kconfig @@ -31,13 +31,6 @@ config KSU_THRONE_TRACKER_LEGACY This is kept for Ultra-Legacy Linux 4.4-3.X kernels which are prone to deadlocks. Enable this if default scanning deadlocks/crashes on you. -config KSU_MANUAL_SU - bool "Use manual su" - depends on KSU - default y - help - Use manual su and authorize the corresponding command line and application via prctl - config KSU_ALLOWLIST_WORKAROUND bool "KernelSU Session Keyring Init workaround" depends on KSU @@ -69,8 +62,6 @@ choice prompt "KernelSU hook type" depends on KSU default KSU_KPROBES_HOOK - help - Hook type for KernelSU config KSU_KPROBES_HOOK bool "Hook KernelSU with Kprobes" diff --git a/kernel/Makefile b/kernel/Makefile index c2db7e1e..8c0f3354 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -12,9 +12,7 @@ kernelsu-objs += embed_ksud.o kernelsu-objs += kernel_compat.o kernelsu-objs += throne_comm.o kernelsu-objs += sulog.o -ifeq ($(CONFIG_KSU_MANUAL_SU), y) kernelsu-objs += manual_su.o -endif ifeq ($(CONFIG_KSU_TRACEPOINT_HOOK), y) kernelsu-objs += ksu_trace.o diff --git a/kernel/allowlist.c b/kernel/allowlist.c index 659f41a1..d7d158c5 100644 --- a/kernel/allowlist.c +++ b/kernel/allowlist.c @@ -527,7 +527,6 @@ void ksu_allowlist_exit(void) mutex_unlock(&allowlist_mutex); } -#ifdef CONFIG_KSU_MANUAL_SU bool ksu_temp_grant_root_once(uid_t uid) { struct app_profile profile = { @@ -603,4 +602,3 @@ void ksu_temp_revoke_root_once(uid_t uid) persistent_allow_list(); pr_info("pending_root: UID=%d removed and persist updated\n", uid); } -#endif diff --git a/kernel/allowlist.h b/kernel/allowlist.h index 69297f84..1b14b0b0 100644 --- a/kernel/allowlist.h +++ b/kernel/allowlist.h @@ -25,8 +25,6 @@ bool ksu_set_app_profile(struct app_profile *, bool persist); bool ksu_uid_should_umount(uid_t uid); struct root_profile *ksu_get_root_profile(uid_t uid); -#ifdef CONFIG_KSU_MANUAL_SU bool ksu_temp_grant_root_once(uid_t uid); void ksu_temp_revoke_root_once(uid_t uid); #endif -#endif diff --git a/kernel/core_hook.c b/kernel/core_hook.c index a9f609f3..72f70d6d 100644 --- a/kernel/core_hook.c +++ b/kernel/core_hook.c @@ -59,14 +59,7 @@ #include "kernel_compat.h" #include "supercalls.h" #include "sulog.h" - -#ifdef CONFIG_KSU_MANUAL_SU #include "manual_su.h" -#endif - -#ifdef CONFIG_KPM -#include "kpm/kpm.h" -#endif #ifdef CONFIG_KSU_SUSFS bool susfs_is_boot_completed_triggered = false; @@ -161,7 +154,6 @@ bool ksu_is_compat __read_mostly = false; extern int __ksu_handle_devpts(struct inode *inode); // sucompat.c -#ifdef CONFIG_KSU_MANUAL_SU static void ksu_try_escalate_for_uid(uid_t uid) { if (!is_pending_root(uid)) @@ -170,7 +162,6 @@ static void ksu_try_escalate_for_uid(uid_t uid) pr_info("pending_root: UID=%d temporarily allowed\n", uid); remove_pending_root(uid); } -#endif static struct workqueue_struct *ksu_workqueue; @@ -358,8 +349,6 @@ void escape_to_root(void) #endif } -#ifdef CONFIG_KSU_MANUAL_SU - static void disable_seccomp_for_task(struct task_struct *tsk) { if (!tsk->seccomp.filter && tsk->seccomp.mode == SECCOMP_MODE_DISABLED) @@ -379,7 +368,6 @@ static void disable_seccomp_for_task(struct task_struct *tsk) tsk->seccomp.filter = NULL; #endif } -#endif } void escape_to_root_for_cmd_su(uid_t target_uid, pid_t target_pid) @@ -522,9 +510,7 @@ static void sulog_prctl_cmd(uid_t uid, unsigned long cmd) const char *name = NULL; switch (cmd) { -#ifdef CONFIG_KSU_MANUAL_SU case CMD_MANUAL_SU_REQUEST: name = "prctl_manual_su_request"; break; -#endif #ifdef CONFIG_KSU_SUSFS case CMD_SUSFS_ADD_SUS_PATH: name = "prctl_susfs_add_sus_path"; break; @@ -610,19 +596,6 @@ int ksu_handle_prctl(int option, unsigned long arg2, unsigned long arg3, pr_info("option: 0x%x, cmd: %ld\n", option, arg2); #endif - #ifdef CONFIG_KPM - if(sukisu_is_kpm_control_code(arg2)) { - int res; - - pr_info("KPM: calling before arg2=%d\n", (int) arg2); - - res = sukisu_handle_kpm(arg2, arg3, arg4, arg5); - - return 0; - } -#endif - -#ifdef CONFIG_KSU_MANUAL_SU if (arg2 == CMD_MANUAL_SU_REQUEST) { struct manual_su_request request; int su_option = (int)arg3; @@ -649,7 +622,6 @@ int ksu_handle_prctl(int option, unsigned long arg2, unsigned long arg3, } return 0; } -#endif #ifdef CONFIG_KSU_SUSFS int susfs_cmd_err = 0; @@ -1392,9 +1364,7 @@ int ksu_bprm_check(struct linux_binprm *bprm) ksu_handle_pre_ksud(filename); -#ifdef CONFIG_KSU_MANUAL_SU ksu_try_escalate_for_uid(current_uid().val); -#endif return 0; diff --git a/kernel/ksu.h b/kernel/ksu.h index ca9357d4..31d6d5f4 100644 --- a/kernel/ksu.h +++ b/kernel/ksu.h @@ -9,9 +9,7 @@ extern bool ksu_uid_scanner_enabled; -#ifdef CONFIG_KSU_MANUAL_SU #define CMD_MANUAL_SU_REQUEST 50 -#endif #define EVENT_POST_FS_DATA 1 #define EVENT_BOOT_COMPLETED 2 diff --git a/kernel/supercalls.c b/kernel/supercalls.c index 35c1629b..0051e85c 100644 --- a/kernel/supercalls.c +++ b/kernel/supercalls.c @@ -20,10 +20,7 @@ #include "kernel_compat.h" #include "throne_comm.h" #include "dynamic_manager.h" - -#ifdef CONFIG_KSU_MANUAL_SU #include "manual_su.h" -#endif // Forward declarations from core_hook.c extern void escape_to_root(void);