···962962 # The rare drivers that won't build963963 depends on ANDROID_BINDER_IPC = n964964965965- # Security modules966966- depends on SECURITY_TOMOYO = n967967-968965config UIDGID_STRICT_TYPE_CHECKS969966 bool "Require conversions between uid/gids and their internal representation"970967 depends on UIDGID_CONVERTED
···925925926926 if (!tomoyo_policy_loaded)927927 return true;928928- if (!tomoyo_manage_by_non_root && (task->cred->uid || task->cred->euid))928928+ if (!tomoyo_manage_by_non_root &&929929+ (!uid_eq(task->cred->uid, GLOBAL_ROOT_UID) ||930930+ !uid_eq(task->cred->euid, GLOBAL_ROOT_UID)))929931 return false;930932 exe = tomoyo_get_exe();931933 if (!exe)
+2-2
security/tomoyo/common.h
···561561562562/* Subset of "struct stat". Used by conditional ACL and audit logs. */563563struct tomoyo_mini_stat {564564- uid_t uid;565565- gid_t gid;564564+ kuid_t uid;565565+ kgid_t gid;566566 ino_t ino;567567 umode_t mode;568568 dev_t dev;
+10-10
security/tomoyo/condition.c
···813813 unsigned long value = 0;814814 switch (index) {815815 case TOMOYO_TASK_UID:816816- value = current_uid();816816+ value = from_kuid(&init_user_ns, current_uid());817817 break;818818 case TOMOYO_TASK_EUID:819819- value = current_euid();819819+ value = from_kuid(&init_user_ns, current_euid());820820 break;821821 case TOMOYO_TASK_SUID:822822- value = current_suid();822822+ value = from_kuid(&init_user_ns, current_suid());823823 break;824824 case TOMOYO_TASK_FSUID:825825- value = current_fsuid();825825+ value = from_kuid(&init_user_ns, current_fsuid());826826 break;827827 case TOMOYO_TASK_GID:828828- value = current_gid();828828+ value = from_kgid(&init_user_ns, current_gid());829829 break;830830 case TOMOYO_TASK_EGID:831831- value = current_egid();831831+ value = from_kgid(&init_user_ns, current_egid());832832 break;833833 case TOMOYO_TASK_SGID:834834- value = current_sgid();834834+ value = from_kgid(&init_user_ns, current_sgid());835835 break;836836 case TOMOYO_TASK_FSGID:837837- value = current_fsgid();837837+ value = from_kgid(&init_user_ns, current_fsgid());838838 break;839839 case TOMOYO_TASK_PID:840840 value = tomoyo_sys_getpid();···970970 case TOMOYO_PATH2_UID:971971 case TOMOYO_PATH1_PARENT_UID:972972 case TOMOYO_PATH2_PARENT_UID:973973- value = stat->uid;973973+ value = from_kuid(&init_user_ns, stat->uid);974974 break;975975 case TOMOYO_PATH1_GID:976976 case TOMOYO_PATH2_GID:977977 case TOMOYO_PATH1_PARENT_GID:978978 case TOMOYO_PATH2_PARENT_GID:979979- value = stat->gid;979979+ value = from_kgid(&init_user_ns, stat->gid);980980 break;981981 case TOMOYO_PATH1_INO:982982 case TOMOYO_PATH2_INO: