1type cnd, domain;
2type cnd_exec, exec_type, vendor_file_type, file_type;
3file_type_auto_trans(cnd, socket_device, cnd_socket);
4
5# cnd is started by init, type transit from init domain to cnd domain
6init_daemon_domain(cnd)
7
8#communicating with QTI wlan driver for WFC/ VTiWLAN quality
9allow cnd self:capability net_bind_service;
10
11unix_socket_send(cnd, wpa, hal_wifi_supplicant)
12allow cnd wpa_data_file:dir rw_dir_perms;
13allow cnd wpa_data_file:sock_file create_file_perms;
14allow cnd wpa_socket:sock_file write;
15
16userdebug_or_eng(`
17  allow cnd diag_device:chr_file rw_file_perms;
18')
19
20allow cnd self:udp_socket create_socket_perms;
21allowxperm cnd self:udp_socket ioctl SIOCGIFMTU;
22allow cnd self:{
23    # Allow receiving NETLINK responses from WLAN driver.
24    netlink_socket
25    netlink_generic_socket
26} create_socket_perms_no_ioctl;
27
28allow cnd sysfs_timestamp_switch:file r_file_perms;
29r_dir_file(cnd, sysfs_msm_subsys)
30r_dir_file(cnd, sysfs_diag)
31r_dir_file(cnd, sysfs_soc)
32
33allow cnd proc_meminfo:file r_file_perms;
34
35set_prop(cnd, cnd_prop)
36
37allow cnd self:socket create_socket_perms;
38allowxperm cnd self:socket ioctl msm_sock_ipc_ioctls;
39
40# allow cnd to access cnd_data_file
41allow cnd cnd_data_file:file create_file_perms;
42allow cnd cnd_data_file:sock_file { unlink create setattr };
43allow cnd cnd_data_file:dir rw_dir_perms;
44
45# allow cnd to obtain wakelock
46wakelock_use(cnd)
47
48allow cnd ipa_vendor_data_file:dir r_dir_perms;
49allow cnd ipa_vendor_data_file:file r_file_perms;
50
51# To register cnd to hwbinder
52add_hwservice(cnd, hal_cne_hwservice)
53hwbinder_use(cnd)
54get_prop(cnd, hwservicemanager_prop)
55binder_call(cnd, dataservice_app)
56binder_call(cnd, ims)
57binder_call(cnd, location)
58
59dontaudit cnd kernel:system module_request;
60
61get_prop(cnd, wifi_hal_prop)
62