summaryrefslogtreecommitdiff
path: root/sepolicy/gpsd.te
blob: ea5da16cd0657a75e3045fa5550cf3e2299b819a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
type gpsd, domain;
type gpsd_exec, exec_type, file_type;

# Generic files
allow gpsd gps_data_file:dir rw_dir_perms;
allow gpsd gps_data_file:notdevfile_class_set create_file_perms;

allow gpsd gps_socket:sock_file create_file_perms;

type_transition gpsd gps_data_file:sock_file gps_socket;

# Automatically label files created in /data/system/gps as gps_data_file
file_type_auto_trans(gpsd, system_data_file, gps_data_file)

# Allow rild to connect to gpsd
unix_socket_connect(gpsd, property, rild)

allow gpsd system_server:unix_stream_socket { read write setopt };

binder_call(gpsd, system_server)
binder_use(gpsd)

allow gpsd gps_device:chr_file { getattr setattr rw_file_perms };
allow gpsd gps_data_file:dir { search write add_name remove_name };
allow gpsd gps_data_file:file { create rw_file_perms };
allow gpsd gps_data_file:fifo_file { unlink create setattr getattr rw_file_perms };

allow gpsd sysfs_wake_lock:file rw_file_perms;