blob: e54520deb605577b0e4c3202348ac3d7f8284534 [file] [log] [blame]
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -04001# Bluetooth executables and scripts
2type bluetooth_loader, domain;
3type bluetooth_loader_exec, exec_type, file_type;
4
5# Start bdAddrLoader from init
6init_daemon_domain(bluetooth_loader)
7
8# Run init.qcom.bt.sh
9allow bluetooth_loader shell_exec:file { entrypoint read };
10allow bluetooth_loader bluetooth_loader_exec:file { getattr open execute_no_trans };
11
12# init.qcom.bt.sh needs /system/bin/log access
13allow bluetooth_loader devpts:chr_file rw_file_perms;
14
15# Run hci_qcomm_init from init.qcom.bt.sh
16domain_auto_trans(bluetooth_loader, hci_attach_exec, hci_attach)
17allow hci_attach bluetooth_loader:fd use;
18
19# Read mac address from persist partition
20allow bluetooth_loader persist_file:dir search;
Zvikomborero VIncent Zvikarambaa7501282016-08-19 02:18:23 -040021allow bluetooth_loader efs_file:dir search;
22allow bluetooth_loader bluetooth_efs_file:dir search;
23allow bluetooth_loader bluetooth_efs_file:file { open read };
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040024r_dir_file(bluetooth_loader, bluetooth_data_file)
25allow bluetooth_loader self:capability { dac_override dac_read_search chown };
26
27# It may write a random mac here
Zvikomborero VIncent Zvikarambaa7501282016-08-19 02:18:23 -040028#allow bluetooth_loader persist_file:dir { add_name write };
29#allow bluetooth_loader persist_file:file { create_file_perms };
Zvikomborero VIncent Zvikarambaa25011a2016-07-21 16:32:35 -040030
31# Talk to init over the property socket
32unix_socket_connect(bluetooth_loader, property, init)
33# Set persist.service.bdroid.* and bluetooth.* property values
34allow bluetooth_loader bluetooth_prop:property_service set;
35
36# Allow getprop/setprop for init.qcom.bt.sh
37allow bluetooth_loader system_file:file execute_no_trans;
38
39# Access the smd device
40allow bluetooth_loader hci_attach_dev:chr_file rw_file_perms;
41
42# And qmuxd
43allow bluetooth_loader qmuxd_socket:dir { write add_name remove_name search };
44allow bluetooth_loader qmuxd_socket:sock_file { create setattr getattr write unlink };
45allow bluetooth_loader qmuxd:unix_stream_socket { connectto };
46#