kernel: Remove redundant checks

This commit is contained in:
ShirkNeko
2025-11-09 16:41:54 +08:00
parent 184467c691
commit 1f04f13e44
2 changed files with 4 additions and 28 deletions

View File

@@ -18,6 +18,7 @@
#include "ksud.h" #include "ksud.h"
#include "umount_manager.h" #include "umount_manager.h"
#include "sulog.h"
static bool ksu_kernel_umount_enabled = true; static bool ksu_kernel_umount_enabled = true;
@@ -119,23 +120,6 @@ static void umount_tw_func(struct callback_head *cb)
kfree(tw); kfree(tw);
} }
static inline bool is_appuid(uid_t uid)
{
#define PER_USER_RANGE 100000
#define FIRST_APPLICATION_UID 10000
#define LAST_APPLICATION_UID 19999
uid_t appid = uid % PER_USER_RANGE;
return appid >= FIRST_APPLICATION_UID && appid <= LAST_APPLICATION_UID;
}
static inline bool is_unsupported_uid(uid_t uid)
{
#define LAST_APPLICATION_UID 19999
uid_t appid = uid % 100000;
return appid > LAST_APPLICATION_UID;
}
int ksu_handle_umount(uid_t old_uid, uid_t new_uid) int ksu_handle_umount(uid_t old_uid, uid_t new_uid)
{ {
struct umount_tw *tw; struct umount_tw *tw;
@@ -149,11 +133,6 @@ int ksu_handle_umount(uid_t old_uid, uid_t new_uid)
return 0; return 0;
} }
if (!is_appuid(new_uid) || is_unsupported_uid(new_uid)) {
pr_info("handle setuid ignore non application or isolated uid: %d\n", new_uid);
return 0;
}
if (!ksu_uid_should_umount(new_uid)) { if (!ksu_uid_should_umount(new_uid)) {
return 0; return 0;
} else { } else {
@@ -168,6 +147,9 @@ int ksu_handle_umount(uid_t old_uid, uid_t new_uid)
pr_info("handle umount ignore non zygote child: %d\n", current->pid); pr_info("handle umount ignore non zygote child: %d\n", current->pid);
return 0; return 0;
} }
#if __SULOG_GATE
ksu_sulog_report_syscall(new_uid, NULL, "setuid", NULL);
#endif
// umount the target mnt // umount the target mnt
pr_info("handle umount for uid: %d, pid: %d\n", new_uid, current->pid); pr_info("handle umount for uid: %d, pid: %d\n", new_uid, current->pid);

View File

@@ -43,8 +43,6 @@
#include "kernel_umount.h" #include "kernel_umount.h"
#include "app_profile.h" #include "app_profile.h"
#include "sulog.h"
static bool ksu_enhanced_security_enabled = false; static bool ksu_enhanced_security_enabled = false;
static int enhanced_security_feature_get(u64 *value) static int enhanced_security_feature_get(u64 *value)
@@ -179,10 +177,6 @@ int ksu_handle_setresuid(uid_t ruid, uid_t euid, uid_t suid)
// Handle kernel umount // Handle kernel umount
ksu_handle_umount(old_uid, new_uid); ksu_handle_umount(old_uid, new_uid);
#if __SULOG_GATE
ksu_sulog_report_syscall(new_uid, NULL, "setuid", NULL);
#endif
return 0; return 0;
} }