blob: 68bd8da0810f6b661d33de1f08979049bcb5d86d [file] [log] [blame]
Tushar Janefalkar87c1f922014-10-21 15:16:12 -07001# location - Location daemon
Biswajit Paul6786a922017-03-16 11:53:53 -07002type location, domain;
Ravi Kumar Siddojigaric7def122017-06-13 00:49:19 +05303type location_exec, exec_type, vendor_file_type, file_type;
Tushar Janefalkar87c1f922014-10-21 15:16:12 -07004
5init_daemon_domain(location)
6net_domain(location)
7
8# Socket is created by the daemon, not by init, and under /data/gps,
9# not under /dev/socket.
10type_transition location location_data_file:sock_file location_socket;
11
12qmux_socket(location)
Ravi Kumar Siddojigaric7def122017-06-13 00:49:19 +053013#binder_use(location)
Kevin Tangba4eed92014-12-08 22:31:43 -080014binder_call(location, system_server)
Kevin Tang07d51be2016-06-15 11:53:09 -070015wakelock_use(location)
Tushar Janefalkar87c1f922014-10-21 15:16:12 -070016
Jiafei Wen72535522015-11-09 13:57:00 -080017allow location location_data_file:dir create_dir_perms;
Avijit Kanti Das441bad42015-05-12 14:07:41 -070018allow location location_data_file:{ file fifo_file } create_file_perms;
Harikrishnan Hariharanc3370062017-08-21 21:24:12 +053019allow location location_data_file:sock_file { write unlink };
Avijit Kanti Das441bad42015-05-12 14:07:41 -070020allow location location_exec:file x_file_perms;
Tushar Janefalkar87c1f922014-10-21 15:16:12 -070021allow location location_socket:sock_file create_file_perms;
Saurabh Srivastavababba442018-01-19 21:27:23 +053022allow location location_socket:dir rw_dir_perms;
Kevin Tang847be702017-07-06 14:32:12 -070023allow location self:capability { setuid setgid net_admin net_bind_service };
Avijit Kanti Das441bad42015-05-12 14:07:41 -070024allow location self:{
25 socket
26 netlink_socket
Biswajit Paulc6024d22016-07-06 17:35:41 -070027 netlink_generic_socket
Biswajit Paul2d35d982017-02-01 17:40:10 -080028} create_socket_perms_no_ioctl;
Avijit Kanti Das441bad42015-05-12 14:07:41 -070029
30unix_socket_connect(location, sensors, sensors)
Tushar Janefalkar87c1f922014-10-21 15:16:12 -070031allow location sensors_device:chr_file r_file_perms;
Valeri Atamaniouka568b6a2014-12-11 16:45:55 +020032allow location sensors_socket:sock_file rw_file_perms;
Ravi Kumar Siddojigaric7def122017-06-13 00:49:19 +053033allow location vendor_shell_exec:file rx_file_perms;
Avijit Kanti Das441bad42015-05-12 14:07:41 -070034
Ruifeng Xu77a320a2017-09-08 11:42:04 -070035unix_socket_connect(location,location,hal_gnss)
36allow location hal_gnss:unix_dgram_socket sendto;
37
Ravi Kumar Siddojigaric7def122017-06-13 00:49:19 +053038#allow location system_server:unix_stream_socket { read write connectto};
Hema Iyer Sankaranarayanan736f68c2015-06-25 10:39:26 -070039
40# For interfacing with the device sensorservice
Biswajit Paul76db2352016-04-20 15:53:02 -070041# permission check for slim daemon
Ravi Kumar Siddojigaric7def122017-06-13 00:49:19 +053042#allow location { sensorservice_service permission_service }:service_manager find;
Hema Iyer Sankaranarayanan736f68c2015-06-25 10:39:26 -070043
Mike Caileanb38dc5c2017-05-31 15:00:26 -070044hwbinder_use(location)
45get_prop(location, hwservicemanager_prop)
46
47allow location fwk_sensor_hwservice:hwservice_manager find;
48
Ananda Kishore464bd032016-05-18 18:58:52 +053049allow location sensors_persist_file:dir r_dir_perms;
50allow location sensors_persist_file:file r_file_perms;
51
Hema Iyer Sankaranarayanan9e1e07d2015-09-29 10:41:46 -070052#wifi
Dante Russo894035f2016-09-16 15:03:10 -070053userdebug_or_eng(`
54allow location wifi_data_file:dir create_dir_perms;
Ravi Kumar Siddojigaric7def122017-06-13 00:49:19 +053055#allow location wifi_data_file:sock_file create_file_perms;
Dante Russo894035f2016-09-16 15:03:10 -070056allow location su:unix_dgram_socket sendto;
57')
Divya Sharma7caea0a2017-03-06 15:36:22 -080058# comment to remove compilation issue
59#unix_socket_send(wpa, location, location)
60#allow location wpa:unix_dgram_socket sendto;
Hema Iyer Sankaranarayanan9e1e07d2015-09-29 10:41:46 -070061allow location wpa_socket:dir rw_dir_perms;
62allow location wpa_socket:sock_file create_file_perms;
63
Dante Russo70a5c132016-02-11 11:36:32 -080064allow location rfs_shared_hlos_file:dir r_dir_perms;
65allow location rfs_shared_hlos_file:file rw_file_perms;
Subash Abhinov Kasiviswanathanb59ff092014-11-12 12:31:11 -070066
67dontaudit location domain:dir r_dir_perms;
68r_dir_file(location, netmgrd)
Ruifeng Xuedb9d3c2015-09-22 11:01:35 -070069allow location persist_file:dir r_dir_perms;
Biswajit Paul28439f92015-07-15 13:28:27 -070070
71#Allow access to netmgrd socket
72netmgr_socket(location);
Neethu Josepha2c7d892015-11-11 11:02:22 -080073
74#Allow access to properties
Michael Bestasfc211fc2017-08-08 21:18:48 +030075set_prop(location, location_prop)
Biswajit Paul277acbb2016-07-20 12:02:14 -070076
77#diag
78userdebug_or_eng(`
79 diag_use(location)
80')
Biswajit Paulf63bd142017-03-16 16:41:02 -070081allow location sysfs:file r_file_perms;
Sunmeet Gill575d2492017-05-22 19:03:52 -070082allow location sysfs_data:file r_file_perms;
Biswajit Paulf63bd142017-03-16 16:41:02 -070083allow location self:socket ioctl;
84# ioctlcmd=c304
85allowxperm location self:socket ioctl msm_sock_ipc_ioctls;
Biswajit Pauld8520332017-03-10 16:58:08 -080086allow location self:udp_socket ioctl;
87allow location wifi_prop:file r_file_perms;
88# Replace this with macro
89allowxperm location self:udp_socket ioctl priv_sock_ioctls;
Baili Fengeaebb472017-08-22 15:07:34 +080090
91#Allow access to wake alarm
92allow location self:capability2 wake_alarm;
Shawn Shini3d4536a2017-08-14 16:25:22 -070093
94#access to qdma socket
95qdma_file_socket(location);
Dante Russo0dd3d022017-12-11 12:16:45 -080096
97#allow qdma prop
98get_prop(location, qdma_prop);