Skip to content
Snippets Groups Projects
hal_bluetooth.te 1.17 KiB
Newer Older
  • Learn to ignore specific revisions
  • # HwBinder IPC from clients into server, and callbacks
    binder_call(hal_bluetooth_client, hal_bluetooth_server)
    binder_call(hal_bluetooth_server, hal_bluetooth_client)
    
    add_hwservice(hal_bluetooth_server, hal_bluetooth_hwservice)
    allow hal_bluetooth_client hal_bluetooth_hwservice:hwservice_manager find;
    
    
    wakelock_use(hal_bluetooth);
    
    
    # The HAL toggles rfkill to power the chip off/on.
    
    allow hal_bluetooth self:global_capability_class_set net_admin;
    
    # bluetooth factory file accesses.
    r_dir_file(hal_bluetooth, bluetooth_efs_file)
    
    allow hal_bluetooth { uhid_device hci_attach_dev }:chr_file rw_file_perms;
    
    # sysfs access.
    r_dir_file(hal_bluetooth, sysfs_type)
    allow hal_bluetooth sysfs_bluetooth_writable:file rw_file_perms;
    
    allow hal_bluetooth self:global_capability2_class_set wake_alarm;
    
    
    # Allow write access to bluetooth-specific properties
    
    set_prop(hal_bluetooth, bluetooth_a2dp_offload_prop)
    
    set_prop(hal_bluetooth, bluetooth_prop)
    
    set_prop(hal_bluetooth, exported_bluetooth_prop)
    
    
    # /proc access (bluesleep etc.).
    allow hal_bluetooth proc_bluetooth_writable:file rw_file_perms;
    
    
    # allow to run with real-time scheduling policy
    
    allow hal_bluetooth self:global_capability_class_set sys_nice;