diff --git a/drivers/accesstokenid/access_tokenid.c b/drivers/accesstokenid/access_tokenid.c index e7bae802c53152c604842286e82b537585f44664..0937eff6ace381a3b36f2f5b10eb5662d830cb42 100644 --- a/drivers/accesstokenid/access_tokenid.c +++ b/drivers/accesstokenid/access_tokenid.c @@ -32,7 +32,8 @@ static bool check_permission_for_set_tokenid(struct file *file) } if (uid_eq(uid, GLOBAL_ROOT_UID) || - uid_eq(uid, inode->i_uid)) { + uid_eq(uid, inode->i_uid) || + uid_eq(uid, SWEBSPAWN_UID)) { return true; } diff --git a/include/linux/uidgid.h b/include/linux/uidgid.h index 120ef9f71914ccf2c21773a2ec4b4bad3a6ef94a..07edfee6258b62656c1e3d289ce8a0028de09677 100644 --- a/include/linux/uidgid.h +++ b/include/linux/uidgid.h @@ -55,6 +55,8 @@ static inline gid_t __kgid_val(kgid_t gid) #define GLOBAL_ROOT_UID KUIDT_INIT(0) #define GLOBAL_ROOT_GID KGIDT_INIT(0) +#define SWEBSPAWN_UID KUIDT_INIT(3081) + #ifdef CONFIG_HYPERHOLD #define GLOBAL_MEMMGR_UID KUIDT_INIT(1111) #endif