From d9f54a8e427522cc4d6160c41a5124938c11b664 Mon Sep 17 00:00:00 2001 From: ShirkNeko <109797057+ShirkNeko@users.noreply.github.com> Date: Sat, 24 May 2025 03:23:00 +0800 Subject: [PATCH] Refactoring KPM support to check KPM status using CMD_ENABLE_KPM --- kernel/core_hook.c | 6 ++++++ kernel/ksu.h | 1 + 2 files changed, 7 insertions(+) diff --git a/kernel/core_hook.c b/kernel/core_hook.c index 3356bbde..4d105eed 100644 --- a/kernel/core_hook.c +++ b/kernel/core_hook.c @@ -435,6 +435,12 @@ int ksu_handle_prctl(int option, unsigned long arg2, unsigned long arg3, return 0; } #endif + if (arg2 == CMD_ENABLE_KPM) { + bool KPM_Enabled = IS_ENABLED(CONFIG_KPM); + if (copy_to_user((void __user *)arg3, &KPM_Enabled, sizeof(KPM_Enabled))) + pr_info("KPM: copy_to_user() failed\n"); + return 0; + } // all other cmds are for 'root manager' if (!from_manager) { diff --git a/kernel/ksu.h b/kernel/ksu.h index e5050024..8643c921 100644 --- a/kernel/ksu.h +++ b/kernel/ksu.h @@ -23,6 +23,7 @@ #define CMD_UID_SHOULD_UMOUNT 13 #define CMD_IS_SU_ENABLED 14 #define CMD_ENABLE_SU 15 +#define CMD_ENABLE_KPM 100 #define EVENT_POST_FS_DATA 1 #define EVENT_BOOT_COMPLETED 2