| #must be defined for file_contexts |
| type qmi_test_service_exec, exec_type, file_type; |
| |
| userdebug_or_eng(` |
| type qmi_test_service, domain; |
| domain_auto_trans(shell, qmi_test_service_exec, qmi_test_service) |
| domain_auto_trans(adbd, qmi_test_service_exec, qmi_test_service) |
| #enable access to loader in 64 bit system |
| allow qmi_test_service shell:fd use; |
| #test is launched from pseudo terminal so output goes there |
| allow qmi_test_service devpts:chr_file {read write getattr ioctl}; |
| #to access smem log |
| allow qmi_test_service smem_log_device:chr_file {read write open ioctl}; |
| #enable accessing the path where qmuxds named sockets are present |
| #to interface with qmuxd through unix sockets |
| #to access ipc router socket |
| allow qmi_test_service qmi_test_service:socket {create bind ioctl read write setopt}; |
| #enable running test as root user => privileged process |
| #enable privileged processes to bypass permission checks |
| allow qmi_test_service qmi_test_service:capability {dac_override dac_read_search setgid setuid fsetid}; |
| #QCCI calls qmuxd API. The API will internally require this |
| qmux_socket(qmi_test_service); |
| #enable accessing the system health monitor to check the system health, |
| #if a request times out |
| allow qmi_test_service system_health_monitor_device:chr_file rw_file_perms; |
| ') |