1 # HwBinder IPC from client to server, and callbacks 2 binder_call(hal_wifi_client, hal_wifi_server) 3 binder_call(hal_wifi_server, hal_wifi_client) 4 5 add_hwservice(hal_wifi_server, hal_wifi_hwservice) 6 allow hal_wifi_client hal_wifi_hwservice:hwservice_manager find; 7 8 r_dir_file(hal_wifi, proc_net) 9 r_dir_file(hal_wifi, sysfs_type) 10 11 set_prop(hal_wifi, wifi_prop) 12 13 # allow hal wifi set interfaces up and down 14 allow hal_wifi self:udp_socket create_socket_perms; 15 allowxperm hal_wifi self:udp_socket ioctl { SIOCSIFFLAGS }; 16 17 allow hal_wifi self:capability { net_admin net_raw }; 18 # allow hal_wifi to speak to nl80211 in the kernel 19 allow hal_wifi self:netlink_socket create_socket_perms_no_ioctl; 20 # newer kernels (e.g. 4.4 but not 4.1) have a new class for sockets 21 allow hal_wifi self:netlink_generic_socket create_socket_perms_no_ioctl; 22 # hal_wifi writes firmware paths to this file. 23 allow hal_wifi sysfs_wlan_fwpath:file { w_file_perms }; 24