diff --git a/private/bluetooth.te b/private/bluetooth.te index 67e514a58e916f3a332d40fa61f340ce722a5d29..ac2f39b852be8b73b0e137d815cd52c318b2506c 100644 --- a/private/bluetooth.te +++ b/private/bluetooth.te @@ -59,6 +59,9 @@ unix_socket_connect(bluetooth, sap_uim, rild) # /data/data/com.android.shell/files/bugreports/bugreport-*. allow bluetooth shell_data_file:file read; +# Bluetooth audio needs RT scheduling to meet deadlines, allow sys_nice +allow bluetooth self:capability sys_nice; + hal_client_domain(bluetooth, hal_bluetooth) binder_call(bluetooth, hal_telephony) hal_client_domain(bluetooth, hal_telephony) @@ -72,6 +75,6 @@ read_runtime_log_tags(bluetooth) ### # Superuser capabilities. -# bluetooth requires net_{admin,raw,bind_service} and wake_alarm and block_suspend. -neverallow bluetooth self:capability ~{ net_admin net_raw net_bind_service }; +# Bluetooth requires net_{admin,raw,bind_service} and wake_alarm and block_suspend and sys_nice. +neverallow bluetooth self:capability ~{ net_admin net_raw net_bind_service sys_nice}; neverallow bluetooth self:capability2 ~{ wake_alarm block_suspend }; diff --git a/private/system_server.te b/private/system_server.te index 549ace6ec807d1a1eb93dcc7d16db4956ad73c6b..6a11448bbaf090445e88e6d468c37359cd66a842 100644 --- a/private/system_server.te +++ b/private/system_server.te @@ -101,6 +101,7 @@ allow system_server appdomain:process { sigkill signal }; allow system_server appdomain:process { getsched setsched }; allow system_server audioserver:process { getsched setsched }; allow system_server hal_audio:process { getsched setsched }; +allow system_server hal_bluetooth:process { getsched setsched }; allow system_server cameraserver:process { getsched setsched }; allow system_server hal_camera:process { getsched setsched }; allow system_server mediaserver:process { getsched setsched };