diff --git a/private/genfs_contexts b/private/genfs_contexts
index 26a64bd40d119ccc22e21de0763e8b6f24c6fad3..f4c84c00a42a0de9d626805642ed9e9fc13ba278 100644
--- a/private/genfs_contexts
+++ b/private/genfs_contexts
@@ -40,6 +40,7 @@ genfscon proc /uid_cputime/show_uid_stat u:object_r:proc_uid_cputime_showstat:s0
 genfscon proc /uid_cputime/remove_uid_range u:object_r:proc_uid_cputime_removeuid:s0
 genfscon proc /uid_io/stats u:object_r:proc_uid_io_stats:s0
 genfscon proc /uid_procstat/set u:object_r:proc_uid_procstat_set:s0
+genfscon proc /uid_time_in_state u:object_r:proc_uid_time_in_state:s0
 genfscon proc /zoneinfo u:object_r:proc_zoneinfo:s0
 
 # selinuxfs booleans can be individually labeled.
diff --git a/private/system_server.te b/private/system_server.te
index 99dc66314f2310ef033cbc31fc4948f122e972d3..9a2eb02c1c9899f20717b93b7ad211432d2eaec5 100644
--- a/private/system_server.te
+++ b/private/system_server.te
@@ -130,6 +130,9 @@ allow system_server proc_uid_cputime_removeuid:file { w_file_perms getattr };
 # Write /proc/uid_procstat/set.
 allow system_server proc_uid_procstat_set:file { w_file_perms getattr };
 
+# Read /proc/uid_time_in_state.
+allow system_server proc_uid_time_in_state:file r_file_perms;
+
 # Write to /proc/sysrq-trigger.
 allow system_server proc_sysrq:file rw_file_perms;
 
diff --git a/public/file.te b/public/file.te
index 1f3dfe93f74fa61038c07e0625f34c007fabf135..611500cac58ca90619749c605de73cf5d6d8f3fc 100644
--- a/public/file.te
+++ b/public/file.te
@@ -28,6 +28,7 @@ type proc_uid_cputime_showstat, fs_type;
 type proc_uid_cputime_removeuid, fs_type;
 type proc_uid_io_stats, fs_type;
 type proc_uid_procstat_set, fs_type;
+type proc_uid_time_in_state, fs_type;
 type proc_zoneinfo, fs_type;
 type selinuxfs, fs_type, mlstrustedobject;
 type cgroup, fs_type, mlstrustedobject;