android_mt6572_jiabo/device/qcom/sepolicy/common/bluetooth_loader.te
2025-09-05 16:56:03 +08:00

40 lines
1.4 KiB
Text

# Bluetooth executables and scripts
type bluetooth_loader, domain, domain_deprecated;
type bluetooth_loader_exec, exec_type, file_type;
# Start bdAddrLoader from init
init_daemon_domain(bluetooth_loader)
# Run init.qcom.bt.sh
allow bluetooth_loader shell_exec:file { entrypoint getattr read };
allow bluetooth_loader bluetooth_loader_exec:file { getattr open execute_no_trans };
# init.qcom.bt.sh needs /system/bin/log access
allow bluetooth_loader devpts:chr_file rw_file_perms;
# Run hci_qcomm_init from init.qcom.bt.sh
domain_auto_trans(bluetooth_loader, hci_attach_exec, hci_attach)
allow hci_attach bluetooth_loader:fd use;
# Set persist.service.bdroid.* and bluetooth.* property values
set_prop(bluetooth_loader, bluetooth_prop)
# Allow getprop/setprop for init.qcom.bt.sh
allow bluetooth_loader system_file:file execute_no_trans;
allow bluetooth_loader toolbox_exec:file rx_file_perms;
# Allow hci_qcomm_init /persist/.bt_nv.bin access
r_dir_file(bluetooth_loader, persist_file);
allow bluetooth_loader bluetooth_data_file:file r_file_perms;
# Access the smd device
allow bluetooth_loader hci_attach_dev:chr_file rw_file_perms;
# And qmuxd
allow bluetooth_loader qmuxd_socket:dir { write add_name remove_name search };
allow bluetooth_loader qmuxd_socket:sock_file { create setattr getattr write unlink };
allow bluetooth_loader qmuxd:unix_stream_socket { connectto };
userdebug_or_eng(`
diag_use(bluetooth_loader)
')