| # Qualcomm Management Interface Multiplexer |
| type qmux, domain, domain_deprecated; |
| type qmux_exec, exec_type, file_type; |
| |
| # Started by init |
| init_daemon_domain(qmux) |
| |
| # Create sockets under each /dev/socket/qmux_* directory. |
| allow qmux qmuxd_socket:dir w_dir_perms; |
| allow qmux qmuxd_socket:sock_file { create setattr getattr unlink }; |
| |
| # /dev/hsicctl* node access |
| allow qmux radio_device:chr_file rw_file_perms; |
| |
| wakelock_use(qmux) |
| |
| # Access to /sys/devices/virtual/smdpkt/smdcntl*/open_timeout |
| allow qmux sysfs_smdcntl_open_timeout:file rw_file_perms; |
| # TODO constrain further, by labeling /sys/devices/virtual/hsicctl/hsicctl0/modem_file |
| # e.g. allow qmux sysfs_hsicctl_modem_wait:file rw_file_perms; |
| allow qmux sysfs:file rw_file_perms; |
| allow qmux sysfs_usb:file w_file_perms; |
| |
| # qmux currently runs as root: b/16988307 |
| allow qmux self:capability { dac_override }; |