diff --git a/private/statsd.te b/private/statsd.te index dfec7a4825758a6149aa6c8bedb65af1b950c58c..fec10a4b69aa8d35f7085fb59657da9341d56add 100644 --- a/private/statsd.te +++ b/private/statsd.te @@ -101,7 +101,7 @@ neverallow { # Only statsd and the other root services in limited circumstances. # can get to the files in /data/misc/stats-data, /data/misc/stats-service. # Other services are prohibitted from accessing the file. -neverallow { domain -statsd -init -vold } stats_data_file:file *; +neverallow { domain -statsd -system_server -init -vold } stats_data_file:file *; # Limited access to the directory itself. -neverallow { domain -statsd -init -vold } stats_data_file:dir *; +neverallow { domain -statsd -system_server -init -vold } stats_data_file:dir *; diff --git a/private/system_server.te b/private/system_server.te index 152ea6bc7be7094c5165bba3154291fba84e5378..365c00ab952ec39f6d54f8a70cdf6860e07618a8 100644 --- a/private/system_server.te +++ b/private/system_server.te @@ -139,6 +139,10 @@ allow system_server proc_sysrq:file rw_file_perms; allow system_server debugfs:file r_file_perms; allow system_server debugfs_wakeup_sources:file r_file_perms; +# Delete /data/misc/stats-data/ and /data/misc/stats-service/ directories. +allow system_server stats_data_file:dir { open read remove_name search write }; +allow system_server stats_data_file:file unlink; + # The DhcpClient and WifiWatchdog use packet_sockets allow system_server self:packet_socket create_socket_perms_no_ioctl;