diff --git a/private/incident.te b/private/incident.te index 98101e031..db9ae8638 100644 --- a/private/incident.te +++ b/private/incident.te @@ -4,10 +4,17 @@ type incident_exec, system_file_type, exec_type, file_type; # switch to incident domain for incident command domain_auto_trans(shell, incident_exec, incident) +domain_auto_trans(dumpstate, incident_exec, incident) # allow incident access to stdout from its parent shell. allow incident shell:fd use; +# allow incident to communicate with dumpstate, and write incident report to +# /data/data/com.android.shell/files/bugreports/tmp_incident_report +allow incident dumpstate:fd use; +allow incident dumpstate:unix_stream_socket { read write }; +allow incident shell_data_file:file write; + # allow incident be able to output data for CTS to fetch. allow incident devpts:chr_file { read write }; @@ -26,5 +33,5 @@ allow incident incident_service:service_manager find; binder_call(incident, incidentd) allow incident incidentd:fifo_file write; -# only allow incident being called by shell -neverallow { domain -su -shell -incident } incident_exec:file { execute execute_no_trans }; +# only allow incident being called by shell or dumpstate +neverallow { domain -su -shell -incident -dumpstate} incident_exec:file { execute execute_no_trans };