From 527d362b85d1d7b885226f3e56902885bd7ce277 Mon Sep 17 00:00:00 2001 From: ShirkNeko <109797057+ShirkNeko@users.noreply.github.com> Date: Wed, 23 Apr 2025 15:08:05 +0800 Subject: [PATCH] Add support for Kprobe, extend su_kps array to 6 elements to accommodate more hook functions --- kernel/sucompat.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/kernel/sucompat.c b/kernel/sucompat.c index 91f3a3e0..35834863 100644 --- a/kernel/sucompat.c +++ b/kernel/sucompat.c @@ -386,7 +386,7 @@ static void destroy_kprobe(struct kprobe **kp_ptr) *kp_ptr = NULL; } -static struct kprobe *su_kps[4]; +static struct kprobe *su_kps[6]; #endif // sucompat: permited process can execute 'su' to gain root access. @@ -394,9 +394,11 @@ void ksu_sucompat_init() { #ifdef CONFIG_KSU_HOOK_KPROBES su_kps[0] = init_kprobe(SYS_EXECVE_SYMBOL, execve_handler_pre); - su_kps[1] = init_kprobe(SYS_FACCESSAT_SYMBOL, faccessat_handler_pre); - su_kps[2] = init_kprobe(SYS_NEWFSTATAT_SYMBOL, newfstatat_handler_pre); - su_kps[3] = init_kprobe("pts_unix98_lookup", pts_unix98_lookup_pre); + su_kps[1] = init_kprobe(SYS_EXECVE_COMPAT_SYMBOL, execve_handler_pre); + su_kps[2] = init_kprobe(SYS_FACCESSAT_SYMBOL, faccessat_handler_pre); + su_kps[3] = init_kprobe(SYS_NEWFSTATAT_SYMBOL, newfstatat_handler_pre); + su_kps[4] = init_kprobe(SYS_FSTATAT64_SYMBOL, newfstatat_handler_pre); + su_kps[5] = init_kprobe("pts_unix98_lookup", pts_unix98_lookup_pre); #else ksu_faccessat_hook = true; ksu_stat_hook = true;