| # loc_launcher service |
| type location, domain; |
| type location_exec, exec_type, vendor_file_type, file_type; |
| |
| # STOPSHIP b/28340421 |
| # Temporarily grant this permission and log its use. |
| allow location self:capability { net_admin net_raw }; |
| auditallow location self:capability { net_admin net_raw }; |
| |
| init_daemon_domain(location) |
| |
| allow location self:capability { setgid setuid }; |
| |
| hwbinder_use(location) |
| get_prop(location, hwservicemanager_prop) |
| allow location fwk_sensor_hwservice:hwservice_manager find; |
| binder_call(location, system_server) |
| allow location hal_wifi:unix_stream_socket { read write }; |
| |
| # Grant access to Qualcomm MSM Interface (QMI) radio sockets |
| qmux_socket(location) |
| |
| allow location self:netlink_route_socket create_socket_perms_no_ioctl; |
| allow location self:netlink_socket create_socket_perms_no_ioctl; |
| allow location self:udp_socket create_socket_perms; |
| allowxperm location self:udp_socket ioctl { SIOCGIFINDEX SIOCGIFHWADDR SIOCIWFIRSTPRIV_05 }; |
| allow location self:socket create_socket_perms; |
| # whitelist socket ioctl commands |
| allowxperm location self:socket ioctl msm_sock_ipc_ioctls; |
| |
| # files in /sys |
| r_dir_file(location, sysfs_type) |
| |
| allow location proc_net:file r_file_perms; |
| |
| # execute /vendor/bin/slim_daemon |
| allow location vendor_file:file rx_file_perms; |
| allow location vendor_file:file execute_no_trans; |
| |
| # execute /vendor/bin/lowi-server |
| allow location location_exec:file rx_file_perms; |
| |
| # /data/misc/location |
| allow location location_data_file:dir create_dir_perms; |
| allow location location_data_file:{ file sock_file } create_file_perms; |
| |
| # allow location permission_service:service_manager find; |
| # allow location sensorservice_service:service_manager find; |
| |
| userdebug_or_eng(` |
| allow location diag_device:chr_file rw_file_perms; |
| ') |
| |
| # netd is a vendor daemon that is on /system; its functionality is related to |
| # cellular data; since we allow telephony and telephony-data violations on |
| # Marlin and Sailfish, we need to tag the dependency on netd with |
| # socket_between_core_and_vendor_violators |
| typeattribute location socket_between_core_and_vendor_violators; |
| |
| # Added to enable XTRA download (from internet) per |
| # audit2allow after a test that downloaded XTRA on boot |
| allow location dnsproxyd_socket:sock_file write; |
| allow location fwmarkd_socket:sock_file write; |
| allow location netd:unix_stream_socket connectto; |
| allow location port:tcp_socket name_connect; |
| allow location self:tcp_socket { connect create read setopt write }; |
| allow location self:udp_socket { create ioctl read write }; |