diff --git a/debuggerd.te b/debuggerd.te index cdf00de28504c340a26181c397f22fb4c59c1540..5a2e5ff1d9328a08fe109d4e024c31acca5590b1 100644 --- a/debuggerd.te +++ b/debuggerd.te @@ -1,11 +1,26 @@ # debugger interface type debuggerd, domain; +permissive debuggerd; type debuggerd_exec, exec_type, file_type; init_daemon_domain(debuggerd) -unconfined_domain(debuggerd) +typeattribute debuggerd mlstrustedsubject; +allow debuggerd self:capability { dac_override sys_ptrace chown kill fowner }; +allow debuggerd self:capability2 { syslog }; +allow debuggerd domain:dir r_dir_perms; +allow debuggerd domain:file r_file_perms; +allow debuggerd domain:process ptrace; +security_access_policy(debuggerd) +allow debuggerd system_data_file:dir create_dir_perms; +allow debuggerd system_data_file:dir relabelfrom; relabelto_domain(debuggerd) allow debuggerd tombstone_data_file:dir relabelto; +allow debuggerd tombstone_data_file:dir create_dir_perms; +allow debuggerd tombstone_data_file:file create_file_perms; +allow debuggerd domain:process { sigstop signal }; +allow debuggerd exec_type:file r_file_perms; +# Access app library +allow debuggerd system_data_file:file open; # Connect to system_server via /data/system/ndebugsocket. unix_socket_connect(debuggerd, system_ndebug, system_server)