| # location - Location daemon |
| type location, domain; |
| type location_exec, exec_type, vendor_file_type, file_type; |
| |
| init_daemon_domain(location) |
| hwbinder_use(location) |
| |
| allow location self:capability setgid; |
| |
| # files in /sys |
| r_dir_file(location, sysfs_soc) |
| r_dir_file(location, sysfs_esoc) |
| r_dir_file(location, sysfs_msm_subsys) |
| r_dir_file(location, sysfs_ssr) |
| dontaudit location sysfs_faceauth:dir r_dir_perms; |
| dontaudit location sysfs_faceauth:file r_file_perms; |
| |
| # Execute /vendor/bin/lowi-server |
| allow location location_exec:file rx_file_perms; |
| |
| # Enable standard network access (for XTRA download) |
| net_domain(location) |
| |
| # And some additional network access |
| allow location self:netlink_route_socket read; |
| allow location self:{ |
| netlink_generic_socket |
| qipcrtr_socket |
| tcp_socket |
| } create_socket_perms_no_ioctl; |
| allow location self:udp_socket create_socket_perms; |
| allowxperm location self:udp_socket ioctl { SIOCGIFINDEX SIOCGIFHWADDR SIOCIWFIRSTPRIV_05 }; |
| |
| # /data/vendor/location |
| allow location location_data_file:dir create_dir_perms; |
| allow location location_data_file:file create_file_perms; |
| |
| # /data/vendor/wifi |
| allow location wifi_vendor_data_file:dir search; |
| |
| # /data/vendor/wifi/wpa |
| allow location wpa_data_file:dir rw_dir_perms; |
| allow location wpa_data_file:sock_file create_file_perms; |
| allow location hal_wifi_supplicant_default:unix_dgram_socket sendto; |
| |
| # /dev/socket/wifihal |
| allow location wifihal_socket:dir search; |
| unix_socket_send(location, wifihal, hal_wifi_default); |
| unix_socket_send(location, wifihal, hal_wifi_ext); |
| |
| # /dev/socket/location |
| allow location location_socket:sock_file create_file_perms; |
| allow location location_socket:dir w_dir_perms; |
| |
| allow location hal_gnss_qti:unix_dgram_socket sendto; |
| |
| allow location hal_datafactory_hwservice:hwservice_manager find; |
| get_prop(location, hwservicemanager_prop) |
| get_prop(location, cnd_vendor_prop) |
| binder_call(location, cnd) |
| |
| userdebug_or_eng(` |
| allow location diag_device:chr_file rw_file_perms; |
| ') |
| |