Avijit Kanti Das | 0196c6a | 2014-07-23 23:44:35 -0700 | [diff] [blame] | 1 | #permissive cnd; |
Biswajit Paul | 6786a92 | 2017-03-16 11:53:53 -0700 | [diff] [blame] | 2 | type cnd, domain, mlstrustedsubject; |
Ravi Kumar Siddojigari | c7def12 | 2017-06-13 00:49:19 +0530 | [diff] [blame] | 3 | type cnd_exec, exec_type, vendor_file_type, file_type; |
Avijit Kanti Das | 0196c6a | 2014-07-23 23:44:35 -0700 | [diff] [blame] | 4 | file_type_auto_trans(cnd, socket_device, cnd_socket); |
| 5 | |
| 6 | # cnd is started by init, type transit from init domain to cnd domain |
| 7 | init_daemon_domain(cnd) |
Avijit Kanti Das | 441bad4 | 2015-05-12 14:07:41 -0700 | [diff] [blame] | 8 | |
Avijit Kanti Das | 0196c6a | 2014-07-23 23:44:35 -0700 | [diff] [blame] | 9 | # associate netdomain as an attribute of cnd domain |
| 10 | net_domain(cnd) |
| 11 | |
Biswajit Paul | 64f83f6 | 2014-10-13 14:36:16 -0700 | [diff] [blame] | 12 | allow cnd smem_log_device:chr_file rw_file_perms; |
| 13 | |
Avijit Kanti Das | 0196c6a | 2014-07-23 23:44:35 -0700 | [diff] [blame] | 14 | # allow cnd the following capability |
Avijit Kanti Das | 441bad4 | 2015-05-12 14:07:41 -0700 | [diff] [blame] | 15 | allow cnd self:capability { |
Avijit Kanti Das | 441bad4 | 2015-05-12 14:07:41 -0700 | [diff] [blame] | 16 | net_admin |
| 17 | sys_module |
Sunmeet Gill | e7e5f01 | 2016-06-30 16:01:07 -0700 | [diff] [blame] | 18 | net_bind_service |
Avijit Kanti Das | 441bad4 | 2015-05-12 14:07:41 -0700 | [diff] [blame] | 19 | }; |
| 20 | |
Avijit Kanti Das | 0196c6a | 2014-07-23 23:44:35 -0700 | [diff] [blame] | 21 | allow cnd self:capability2 block_suspend; |
| 22 | |
| 23 | # socket used to communicate with kernel via the netlink syscall |
Avijit Kanti Das | 441bad4 | 2015-05-12 14:07:41 -0700 | [diff] [blame] | 24 | allow cnd self:{ |
| 25 | netlink_tcpdiag_socket |
| 26 | netlink_route_socket |
| 27 | netlink_socket |
Biswajit Paul | c6024d2 | 2016-07-06 17:35:41 -0700 | [diff] [blame] | 28 | netlink_generic_socket |
Avijit Kanti Das | 441bad4 | 2015-05-12 14:07:41 -0700 | [diff] [blame] | 29 | # allow cnd to perform socket operation on itself |
| 30 | socket |
Biswajit Paul | 2d35d98 | 2017-02-01 17:40:10 -0800 | [diff] [blame] | 31 | } create_socket_perms_no_ioctl; |
Avijit Kanti Das | 0196c6a | 2014-07-23 23:44:35 -0700 | [diff] [blame] | 32 | |
Sanket Khidkikar | 8399962 | 2015-08-19 11:03:48 -0700 | [diff] [blame] | 33 | # allow cnd to read tcp diagnostics through netlink |
| 34 | allow cnd self:netlink_tcpdiag_socket nlmsg_read; |
| 35 | |
Avijit Kanti Das | 0196c6a | 2014-07-23 23:44:35 -0700 | [diff] [blame] | 36 | # allow cnd to set system property |
sahil madeka | a3608c9 | 2017-05-12 15:41:40 -0700 | [diff] [blame] | 37 | set_prop(cnd, system_prop) |
Avijit Kanti Das | 0196c6a | 2014-07-23 23:44:35 -0700 | [diff] [blame] | 38 | |
| 39 | # allow cnd to access cnd_data_file |
| 40 | allow cnd cnd_data_file:file create_file_perms; |
| 41 | allow cnd cnd_data_file:sock_file { unlink create setattr }; |
Avijit Kanti Das | 441bad4 | 2015-05-12 14:07:41 -0700 | [diff] [blame] | 42 | allow cnd cnd_data_file:dir rw_dir_perms; |
Avijit Kanti Das | 0196c6a | 2014-07-23 23:44:35 -0700 | [diff] [blame] | 43 | |
| 44 | # allow cnd to access qmux_radio_socket |
Biswajit Paul | 64f83f6 | 2014-10-13 14:36:16 -0700 | [diff] [blame] | 45 | qmux_socket(cnd) |
Avijit Kanti Das | 0196c6a | 2014-07-23 23:44:35 -0700 | [diff] [blame] | 46 | |
Avijit Kanti Das | 0196c6a | 2014-07-23 23:44:35 -0700 | [diff] [blame] | 47 | # allow cnd to access wpa_socket |
Devi Sandeep Endluri V V | 98379eb | 2017-06-20 22:19:40 -0700 | [diff] [blame] | 48 | unix_socket_send(cnd, wpa, hal_wifi_supplicant) |
Avijit Kanti Das | 441bad4 | 2015-05-12 14:07:41 -0700 | [diff] [blame] | 49 | allow cnd wpa_socket:dir rw_dir_perms; |
| 50 | allow cnd wpa_socket:sock_file { create unlink setattr }; |
Devi Sandeep Endluri V V | 3e2b452 | 2017-08-09 20:48:01 +0530 | [diff] [blame] | 51 | allow cnd wifi_data_file:dir r_dir_perms; |
Devi Sandeep Endluri V V | 98379eb | 2017-06-20 22:19:40 -0700 | [diff] [blame] | 52 | allow cnd wifi_vendor_data_file:dir r_dir_perms; |
Ayishwarya Narasimhan | 03b22d2 | 2017-08-02 15:29:55 -0700 | [diff] [blame] | 53 | allow cnd wifi_vendor_wpa_socket:sock_file write; |
Devi Sandeep Endluri V V | 98379eb | 2017-06-20 22:19:40 -0700 | [diff] [blame] | 54 | |
Avijit Kanti Das | 0196c6a | 2014-07-23 23:44:35 -0700 | [diff] [blame] | 55 | # allow cnd to obtain wakelock |
Avijit Kanti Das | 441bad4 | 2015-05-12 14:07:41 -0700 | [diff] [blame] | 56 | wakelock_use(cnd) |
Avijit Kanti Das | 0196c6a | 2014-07-23 23:44:35 -0700 | [diff] [blame] | 57 | |
Boxiang Pan | 278d3e9 | 2015-04-07 17:52:17 -0700 | [diff] [blame] | 58 | # allow cnd to get appname and use inet socket |
Ravi Kumar Siddojigari | c7def12 | 2017-06-13 00:49:19 +0530 | [diff] [blame] | 59 | #cnd_nims_socket_perm(appdomain) |
| 60 | #cnd_nims_socket_perm(system_server) |
| 61 | #cnd_nims_socket_perm(mediaserver) |
| 62 | #cnd_nims_socket_perm(mtp) |
| 63 | #cnd_nims_socket_perm(wfdservice) |
| 64 | #cnd_nims_socket_perm(drmserver) |
Sanket Khidkikar | adfecd9 | 2015-02-13 18:06:23 -0800 | [diff] [blame] | 65 | |
Sanket Khidkikar | adfecd9 | 2015-02-13 18:06:23 -0800 | [diff] [blame] | 66 | # allow access to nims |
| 67 | allow cnd socket_device:dir remove_name; |
Ravinder Konka | 573a037 | 2015-05-27 17:24:39 +0530 | [diff] [blame] | 68 | |
Bryse Flowers | 8054fe6 | 2015-06-16 10:57:02 -0700 | [diff] [blame] | 69 | # explicitly allow udp socket permissions for appdomain |
Ravi Kumar Siddojigari | c7def12 | 2017-06-13 00:49:19 +0530 | [diff] [blame] | 70 | #allow cnd appdomain:udp_socket rw_socket_perms; |
Boxiang Pan | a5ec4ab | 2015-08-06 12:39:02 -0700 | [diff] [blame] | 71 | |
Michael Bestas | 0feb07d | 2018-10-05 00:37:23 +0300 | [diff] [blame] | 72 | #allow cnd daemon to invoke hostapd_cli |
| 73 | allow cnd vendor_shell_exec:file rx_file_perms; |
| 74 | domain_auto_trans(cnd, hostapd_exec, hostapd) |
| 75 | allow cnd hostapd_socket:dir r_dir_perms; |
| 76 | unix_socket_send(cnd, hostapd, hostapd) |
| 77 | |
Sanket Khidkikar | 2e10de3 | 2015-10-05 20:26:00 -0700 | [diff] [blame] | 78 | # only allow getopt for appdomain |
| 79 | allow appdomain zygote:unix_dgram_socket getopt; |
| 80 | dontaudit { domain -appdomain } zygote:unix_dgram_socket getopt; |
Biswajit Paul | 277acbb | 2016-07-20 12:02:14 -0700 | [diff] [blame] | 81 | |
| 82 | #diag |
| 83 | userdebug_or_eng(` |
| 84 | diag_use(cnd) |
| 85 | ') |
Biswajit Paul | f63bd14 | 2017-03-16 16:41:02 -0700 | [diff] [blame] | 86 | |
| 87 | allow cnd proc_meminfo:file r_file_perms; |
| 88 | allow cnd self:socket ioctl; |
| 89 | allowxperm cnd self:socket ioctl msm_sock_ipc_ioctls; |
Devi Sandeep Endluri V V | bc24d25 | 2017-08-08 20:51:03 +0530 | [diff] [blame] | 90 | |
| 91 | allow cnd self:udp_socket ioctl; |
| 92 | allowxperm cnd self:udp_socket ioctl wlan_sock_ioctls; |
| 93 | |
Biswajit Paul | f63bd14 | 2017-03-16 16:41:02 -0700 | [diff] [blame] | 94 | allow cnd sysfs:file r_file_perms; |
Sunmeet Gill | 575d249 | 2017-05-22 19:03:52 -0700 | [diff] [blame] | 95 | allow cnd sysfs_data:file r_file_perms; |
Devi Sandeep Endluri V V | 98379eb | 2017-06-20 22:19:40 -0700 | [diff] [blame] | 96 | |
| 97 | add_hwservice(cnd, hal_cne_hwservice) |
Tyler Wear | aa7b6c8 | 2017-09-06 13:14:16 -0700 | [diff] [blame] | 98 | add_hwservice(cnd, hal_latency_hwservice) |
Devi Sandeep Endluri V V | 98379eb | 2017-06-20 22:19:40 -0700 | [diff] [blame] | 99 | hwbinder_use(cnd) |
| 100 | get_prop(cnd, hwservicemanager_prop) |
Nolen Johnson | 22b912c | 2020-06-26 15:46:09 -0400 | [diff] [blame] | 101 | get_prop(cnd, wifi_prop) |
Devi Sandeep Endluri V V | 98379eb | 2017-06-20 22:19:40 -0700 | [diff] [blame] | 102 | binder_call(cnd, dataservice_app) |
| 103 | binder_call(cnd, ims) |