diff --git a/dumpstate.te b/dumpstate.te index 5095ecdbe25c4b5d9e7d951e5764b0c711d2f3d7..ebc0d676c33cf058f25c3b3ea3a6bff80af8ca7f 100644 --- a/dumpstate.te +++ b/dumpstate.te @@ -70,7 +70,8 @@ allow dumpstate { dm_device cache_block_device }:blk_file getattr; # Allow dumpstate to make binder calls to any binder service binder_call(dumpstate, binderservicedomain) -binder_call(dumpstate, { appdomain autoplay_app }) +binder_call(dumpstate, { appdomain autoplay_app netd }) + # Reading /proc/PID/maps of other processes allow dumpstate self:capability sys_ptrace; @@ -123,7 +124,7 @@ userdebug_or_eng(` allow dumpstate misc_logd_file:file r_file_perms; ') -allow dumpstate { service_manager_type -gatekeeper_service -netd_service }:service_manager find; +allow dumpstate { service_manager_type -gatekeeper_service }:service_manager find; allow dumpstate servicemanager:service_manager list; allow dumpstate devpts:chr_file rw_file_perms; diff --git a/netd.te b/netd.te index 6864ad6e781c7714130074973735b7e40452c9a1..0d9c047a4c17c168df36b564803012c76fd1e765 100644 --- a/netd.te +++ b/netd.te @@ -60,6 +60,7 @@ set_prop(netd, ctl_mdnsd_prop) # Allow netd to publish a binder service and make binder calls. binder_use(netd) allow netd netd_service:service_manager add; +allow netd dumpstate:fifo_file { getattr write }; # Allow netd to call into the system server so it can check permissions. allow netd system_server:binder call; @@ -90,7 +91,7 @@ neverallow netd system_file:dir_file_class_set write; # Write to files in /data/data or system files on /data neverallow netd { app_data_file system_data_file }:dir_file_class_set write; -# only system_server may interact with netd over binder -neverallow { domain -system_server } netd_service:service_manager find; -neverallow { domain -system_server } netd:binder call; +# only system_server and dumpstate may interact with netd over binder +neverallow { domain -system_server -dumpstate } netd_service:service_manager find; +neverallow { domain -system_server -dumpstate } netd:binder call; neverallow netd { domain -system_server -servicemanager userdebug_or_eng(`-su') }:binder call;