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 0c9067d67576a0f129562df1e131850ed216e642..1bf7a907880977b130248f34b7e255df7f8ca443 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;