From 9034086ad4fd9392bb0d61d012774814ee795ba2 Mon Sep 17 00:00:00 2001 From: Rifat Azad <33044977+rifsxd@users.noreply.github.com> Date: Fri, 11 Jul 2025 19:32:58 +0600 Subject: [PATCH] kernel: added new prctl CMD_GET_MANAGER_UID to get the uid of the crowned manager (#2673) --- kernel/core_hook.c | 11 +++++++++++ kernel/ksu.h | 1 + 2 files changed, 12 insertions(+) diff --git a/kernel/core_hook.c b/kernel/core_hook.c index cf44fa3f..c8690f04 100644 --- a/kernel/core_hook.c +++ b/kernel/core_hook.c @@ -413,6 +413,17 @@ int ksu_handle_prctl(int option, unsigned long arg2, unsigned long arg3, return 0; } + if (arg2 == CMD_GET_MANAGER_UID) { + uid_t manager_uid = ksu_get_manager_uid(); + if (copy_to_user(arg3, &manager_uid, sizeof(manager_uid))) { + pr_err("get manager uid failed\n"); + } + if (copy_to_user(result, &reply_ok, sizeof(reply_ok))) { + pr_err("prctl reply error, cmd: %lu\n", arg2); + } + return 0; + } + // all other cmds are for 'root manager' if (!from_manager) { return 0; diff --git a/kernel/ksu.h b/kernel/ksu.h index e5050024..75a0d9aa 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_GET_MANAGER_UID 16 #define EVENT_POST_FS_DATA 1 #define EVENT_BOOT_COMPLETED 2