Tingting Lei a8806ea9b3 [ALPS03943817] Add sepolicy for mtk_hal_bluetooth to access nvram
[Detail]
BT vendor lib cannot read the valid BD address from nvram
since selinux violation.
Android P version changes nvdata path to /mnt/vendor/nvdata.
If want to open fstab when using nvram function, it needs
search policy.

[Solution]
allow mtk_hal_bluetooth mnt_vendor_file:dir search

MTK-Commit-Id: 24997cbec894555c537930fe9f10122c450a5e4f

Change-Id: I9279614b100a2675ca88264899125ed549d3301f
CR-Id: ALPS03943817
Feature: BT AOSP
2020-01-18 09:56:07 +08:00

49 lines
1.7 KiB
Plaintext

type mtk_hal_bluetooth, domain;
type mtk_hal_bluetooth_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(mtk_hal_bluetooth)
r_dir_file(mtk_hal_bluetooth, system_file)
# call into the Bluetooth process (callbacks)
binder_call(mtk_hal_bluetooth, bluetooth)
hwbinder_use(mtk_hal_bluetooth);
wakelock_use(mtk_hal_bluetooth);
# bluetooth factory file accesses.
r_dir_file(mtk_hal_bluetooth, bluetooth_efs_file)
allow mtk_hal_bluetooth { uhid_device hci_attach_dev }:chr_file rw_file_perms;
# sysfs access.
r_dir_file(mtk_hal_bluetooth, sysfs_type)
allow mtk_hal_bluetooth sysfs_bluetooth_writable:file rw_file_perms;
allow mtk_hal_bluetooth self:capability2 wake_alarm;
# Allow write access to bluetooth-specific properties
set_prop(mtk_hal_bluetooth, bluetooth_prop)
# /proc access (bluesleep etc.).
allow mtk_hal_bluetooth proc_bluetooth_writable:file rw_file_perms;
# VTS tests need to be able to toggle rfkill
allow mtk_hal_bluetooth self:capability net_admin;
# Purpose : Set to access stpbt driver & NVRAM
allow mtk_hal_bluetooth stpbt_device:chr_file rw_file_perms;
allow mtk_hal_bluetooth nvdata_file:dir search;
allow mtk_hal_bluetooth nvdata_file:file rw_file_perms;
allow mtk_hal_bluetooth nvram_data_file:lnk_file read;
allow mtk_hal_bluetooth nvdata_file:lnk_file read;
# Purpose: Allow to search /mnt/vendor/* for fstab when using NVM_Init()
allow mtk_hal_bluetooth mnt_vendor_file:dir search;
allow mtk_hal_bluetooth hwservicemanager_prop:file r_file_perms;
add_hwservice(hal_bluetooth, mtk_hal_bluetooth_hwservice)
allow hal_bluetooth_client mtk_hal_bluetooth_hwservice:hwservice_manager find;
allow mtk_hal_bluetooth system_data_file:lnk_file read;
hal_server_domain(mtk_hal_bluetooth,hal_bluetooth);