| # Policy for /system/bin/cnss-daemon |
| type cnss-daemon, domain; |
| type cnss-daemon_exec, exec_type, vendor_file_type, file_type; |
| |
| allow cnss-daemon self:capability { |
| net_bind_service |
| }; |
| |
| init_daemon_domain(cnss-daemon) |
| |
| allow cnss-daemon self:capability { setgid setuid }; |
| |
| # whitelist socket ioctl commands |
| allow cnss-daemon self:netlink_socket create_socket_perms_no_ioctl; |
| allow cnss-daemon self:socket create_socket_perms; |
| allowxperm cnss-daemon self:socket ioctl msm_sock_ipc_ioctls; |
| |
| allow cnss-daemon proc_net:file rw_file_perms; |
| allow cnss-daemon sysfs:dir r_dir_perms; |
| allow cnss-daemon sysfs_net:dir search; |
| allow cnss-daemon sysfs_net:file rw_file_perms; |
| allow cnss-daemon sysfs_pcie:dir search; |
| allow cnss-daemon sysfs_pcie:file w_file_perms; |
| allow cnss-daemon sysfs_soc:dir search; |
| allow cnss-daemon sysfs_soc:file r_file_perms; |
| r_dir_file(cnss-daemon, sysfs_msm_subsys) |
| |
| # access to /dev/diag on debug builds |
| userdebug_or_eng(` |
| allow cnss-daemon diag_device:chr_file rw_file_perms; |
| ') |