From e62805d7cc9dbd960554b3b0f937299b827c245f Mon Sep 17 00:00:00 2001 From: Roshan Pius <rpius@google.com> Date: Fri, 3 Mar 2017 05:58:03 -0800 Subject: [PATCH] sepolicy: Allow hal_wifi to set wlan driver status prop The new wifi HAL manages the wlan driver and hence needs to be able to load/unload the driver. The "wlan.driver.status" is used to indicate the state of the driver to the rest of the system. There are .rc scripts for example which wait for the state of this property. Denials: 03-01 13:31:43.394 476 476 W android.hardwar: type=1400 audit(0.0:7243): avc: denied { read } for name="u:object_r:wifi_prop:s0" dev="tmpfs" ino=10578 scontext=u:r:hal_wifi_default:s0 tcontext=u:object_r:wifi_prop:s0 tclass=file permissive=0 03-01 13:31:43.399 476 476 E libc : Access denied finding property "wlan.driver.status" Bug: 35765841 Test: Denials no longer seen Change-Id: I502494af7140864934038ef51cb0326ba3902c63 --- private/system_server.te | 1 - public/hal_wifi.te | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/private/system_server.te b/private/system_server.te index 0ad5d9939..892d52237 100644 --- a/private/system_server.te +++ b/private/system_server.te @@ -399,7 +399,6 @@ set_prop(system_server, debug_prop) set_prop(system_server, powerctl_prop) set_prop(system_server, fingerprint_prop) set_prop(system_server, device_logging_prop) -set_prop(system_server, wifi_prop) set_prop(system_server, dumpstate_options_prop) set_prop(system_server, overlay_prop) userdebug_or_eng(`set_prop(system_server, wifi_log_prop)') diff --git a/public/hal_wifi.te b/public/hal_wifi.te index edd30fb38..e06d8f9b0 100644 --- a/public/hal_wifi.te +++ b/public/hal_wifi.te @@ -5,6 +5,8 @@ binder_call(hal_wifi_server, hal_wifi_client) r_dir_file(hal_wifi, proc_net) r_dir_file(hal_wifi, sysfs_type) +set_prop(hal_wifi, wifi_prop) + # allow hal wifi set interfaces up and down allow hal_wifi self:udp_socket create_socket_perms; allowxperm hal_wifi self:udp_socket ioctl { SIOCSIFFLAGS }; -- GitLab