1 # Qualcomm Management Interface Multiplexer 2 type qmux, domain, domain_deprecated; 3 type qmux_exec, exec_type, file_type; 4 5 # Started by init 6 init_daemon_domain(qmux) 7 8 # Create sockets under each /dev/socket/qmux_* directory. 9 allow qmux qmuxd_socket:dir w_dir_perms; 10 allow qmux qmuxd_socket:sock_file { create setattr getattr unlink }; 11 12 # /dev/hsicctl* node access 13 allow qmux radio_device:chr_file rw_file_perms; 14 15 wakelock_use(qmux) 16 17 # Access to /sys/devices/virtual/smdpkt/smdcntl*/open_timeout 18 allow qmux sysfs_smdcntl_open_timeout:file rw_file_perms; 19 # TODO constrain further, by labeling /sys/devices/virtual/hsicctl/hsicctl0/modem_file 20 # e.g. allow qmux sysfs_hsicctl_modem_wait:file rw_file_perms; 21 allow qmux sysfs:file rw_file_perms; 22 allow qmux sysfs_usb:file w_file_perms; 23 24 # qmux currently runs as root: b/16988307 25 allow qmux self:capability { dac_override };