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