[PATCH v2] sepolicy: Add sepolicy rules for hcidump, hciconfig, hcitool and l2test failures
Amisha Jain <[email protected]> Mon, 12 Jan 2026 15:23:33 +0530
| Newsgroups | org.kernel.vger.selinux-refpolicy |
|---|---|
| Message-ID | <[email protected]> |
Fix to resolve below avc denials -
AVC avc: denied { ioctl } for pid=1884 comm="hciconfig" path="socket:[23486]" dev="sockfs"
ino=23486 ioctlcmd=0x48d2 scontext=root:sysadm_r:bluetooth_helper_t:s0-s0:c0.c1023
tcontext=root:sysadm_r:bluetooth_helper_t:s0-s0:c0.c1023 tclass=bluetooth_socket
permissive=0
AVC avc: denied { net_raw } for pid=1917 comm="hcidump" capability=13
scontext=root:sysadm_r:bluetooth_helper_t:s0-s0:c0.c1023
tcontext=root:sysadm_r:bluetooth_helper_t:s0-s0:c0.c1023 tclass=capability
permissive=0
AVC avc: denied { write } for pid=1905 comm="hcitool" path="socket:[28744]" dev="sockfs"
ino=28744 scontext=root:sysadm_r:bluetooth_helper_t:s0-s0:c0.c1023
tcontext=root:sysadm_r:bluetooth_helper_t:s0-s0:c0.c1023 tclass=bluetooth_socket
permissive=0
AVC avc: denied { listen } for pid=8149 comm="l2test"
scontext=root:sysadm_r:bluetooth_helper_t:s0-s0:c0.c1023
tcontext=root:sysadm_r:bluetooth_helper_t:s0-s0:c0.c1023 tclass=bluetooth_socket
permissive=0
AVC avc: denied { accept } for pid=1959 comm="l2test"
scontext=root:sysadm_r:bluetooth_helper_t:s0-s0:c0.c1023
tcontext=root:sysadm_r:bluetooth_helper_t:s0-s0:c0.c1023 tclass=bluetooth_socket
permissive=0
AVC avc: denied { net_admin } for pid=1791 comm="bluetoothctl" capability=12
scontext=root:sysadm_r:bluetooth_helper_t:s0-s0:c0.c1023
tcontext=root:sysadm_r:bluetooth_helper_t:s0-s0:c0.c1023
tclass=capability permissive=0
---
policy/modules/services/bluetooth.fc | 4 ++++
policy/modules/services/bluetooth.te | 5 +++++
2 files changed, 9 insertions(+)
diff --git a/policy/modules/services/bluetooth.fc b/policy/modules/services/bluetooth.fc
index 6067df4b8..e40b19288 100644
--- a/policy/modules/services/bluetooth.fc
+++ b/policy/modules/services/bluetooth.fc
@@ -10,9 +10,13 @@
/usr/bin/bluetoothctl -- gen_context(system_u:object_r:bluetooth_helper_exec_t,s0)
/usr/bin/dund -- gen_context(system_u:object_r:bluetooth_exec_t,s0)
/usr/bin/hciattach -- gen_context(system_u:object_r:bluetooth_exec_t,s0)
+/usr/bin/hciconfig -- gen_context(system_u:object_r:bluetooth_helper_exec_t,s0)
/usr/bin/hcid -- gen_context(system_u:object_r:bluetooth_exec_t,s0)
+/usr/bin/hcidump -- gen_context(system_u:object_r:bluetooth_helper_exec_t,s0)
+/usr/bin/hcitool -- gen_context(system_u:object_r:bluetooth_helper_exec_t,s0)
/usr/bin/hid2hci -- gen_context(system_u:object_r:bluetooth_exec_t,s0)
/usr/bin/hidd -- gen_context(system_u:object_r:bluetooth_exec_t,s0)
+/usr/bin/l2test -- gen_context(system_u:object_r:bluetooth_helper_exec_t,s0)
/usr/bin/rfcomm -- gen_context(system_u:object_r:bluetooth_exec_t,s0)
/usr/bin/sdpd -- gen_context(system_u:object_r:bluetooth_exec_t,s0)
diff --git a/policy/modules/services/bluetooth.te b/policy/modules/services/bluetooth.te
index 196922240..396e357da 100644
--- a/policy/modules/services/bluetooth.te
+++ b/policy/modules/services/bluetooth.te
@@ -182,6 +182,11 @@ allow bluetooth_helper_t bluetooth_t:socket { read write };
allow bluetooth_helper_t bluetooth_t:fd use;
allow bluetooth_helper_t bluetooth_t:unix_stream_socket rw_socket_perms;
+allow bluetooth_helper_t self:capability { net_admin net_raw };
+allow bluetooth_helper_t self:bluetooth_socket create_stream_socket_perms;
+domain_use_interactive_fds(bluetooth_helper_t)
+userdom_use_user_terminals(bluetooth_helper_t)
+
manage_dirs_pattern(bluetooth_helper_t, bluetooth_helper_tmp_t, bluetooth_helper_tmp_t)
manage_files_pattern(bluetooth_helper_t, bluetooth_helper_tmp_t, bluetooth_helper_tmp_t)
manage_sock_files_pattern(bluetooth_helper_t, bluetooth_helper_tmp_t, bluetooth_helper_tmp_t)
--
2.34.1