diff --git a/private/system_server.te b/private/system_server.te index e9ffa82b86360bfc7821812bea743e0a659a73a1..aa4c18a36b6e746b0d8802e8fb2a98599562a3f3 100644 --- a/private/system_server.te +++ b/private/system_server.te @@ -191,6 +191,7 @@ hal_client_domain(system_server, hal_vibrator) binder_call(system_server, hal_vr) hal_client_domain(system_server, hal_vr) hal_client_domain(system_server, hal_wifi) +hal_client_domain(system_server, hal_wifi_offload) # TODO(b/34274385): Remove this once Wi-Fi Supplicant HAL is guaranteed to be binderized on full # Treble devices. Passthrough Wi-Fi Supplicant HAL makes system_server touch wpa_socket which is a diff --git a/private/wificond.te b/private/wificond.te index 5476e33858dc85e21afeeec385417fb51d03bde1..cc76447458de1cf79f864720b00617631f78aedd 100644 --- a/private/wificond.te +++ b/private/wificond.te @@ -1,3 +1,4 @@ typeattribute wificond coredomain; init_daemon_domain(wificond) +hal_client_domain(wificond, hal_wifi_offload) diff --git a/public/attributes b/public/attributes index b7f0701ce7e8e3ce9ffa749590f99aeb0545ff4e..0c533ced5374ad1127576de8f3494e47d3ac382e 100644 --- a/public/attributes +++ b/public/attributes @@ -236,6 +236,9 @@ attribute hal_wifi_server; attribute hal_wifi_keystore; attribute hal_wifi_keystore_client; attribute hal_wifi_keystore_server; +attribute hal_wifi_offload; +attribute hal_wifi_offload_client; +attribute hal_wifi_offload_server; attribute hal_wifi_supplicant; attribute hal_wifi_supplicant_client; attribute hal_wifi_supplicant_server; diff --git a/public/hal_wifi_offload.te b/public/hal_wifi_offload.te new file mode 100644 index 0000000000000000000000000000000000000000..dac5171b1e6c4d30923c0fcf77c7e4314e7fc75c --- /dev/null +++ b/public/hal_wifi_offload.te @@ -0,0 +1,6 @@ +## HwBinder IPC from client to server, and callbacks +binder_call(hal_wifi_offload_client, hal_wifi_offload_server) +binder_call(hal_wifi_offload_server, hal_wifi_offload_client) + +r_dir_file(hal_wifi_offload, proc_net) +r_dir_file(hal_wifi_offload, sysfs_type) diff --git a/vendor/file_contexts b/vendor/file_contexts index ea0ef29f6f01d9a2d5ba9cc2dde62442b062d228..c160e0af0aea4f7fae4ac153404bd26c7f8ba024 100644 --- a/vendor/file_contexts +++ b/vendor/file_contexts @@ -29,6 +29,7 @@ /(vendor|system/vendor)/bin/hw/android\.hardware\.usb@1\.0-service u:object_r:hal_usb_default_exec:s0 /(vendor|system/vendor)/bin/hw/android\.hardware\.vibrator@1\.0-service u:object_r:hal_vibrator_default_exec:s0 /(vendor|system/vendor)/bin/hw/android\.hardware\.vr@1\.0-service u:object_r:hal_vr_default_exec:s0 +/(vendor|system/vendor)/bin/hw/android\.hardware\.wifi\.offload@1\.0-service u:object_r:hal_wifi_offload_default_exec:s0 /(vendor|system/vendor)/bin/hw/android\.hardware\.wifi@1\.0-service u:object_r:hal_wifi_default_exec:s0 /(vendor|system/vendor)/bin/hw/wpa_supplicant u:object_r:hal_wifi_supplicant_default_exec:s0 /(vendor|system/vendor)/bin/hostapd u:object_r:hostapd_exec:s0 diff --git a/vendor/hal_wifi_offload_default.te b/vendor/hal_wifi_offload_default.te new file mode 100644 index 0000000000000000000000000000000000000000..95478626a37a39f16afd1e2685988e6bd0783a50 --- /dev/null +++ b/vendor/hal_wifi_offload_default.te @@ -0,0 +1,5 @@ +type hal_wifi_offload_default, domain; +hal_server_domain(hal_wifi_offload_default, hal_wifi_offload) + +type hal_wifi_offload_default_exec, exec_type, file_type; +init_daemon_domain(hal_wifi_offload_default)