diff options
author | Peter Qiu <zqiu@google.com> | 2015-10-26 17:16:19 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-10-26 17:16:19 +0000 |
commit | 23ed021aa477d8b391b0a4681a443eb1f6aec024 (patch) | |
tree | 6997411e36cef5dfea32b430e931898e002cbe58 | |
parent | f99492f8737ae991759928760b2391653f34825d (diff) | |
parent | a6221e555b9413c7a1f2234e66941b88e169cb48 (diff) | |
download | brillo-23ed021aa477d8b391b0a4681a443eb1f6aec024.tar.gz |
Merge "brillo: initialize WiFi driver during startup" into mnc-brillo-dev
-rw-r--r-- | brillo_base.mk | 1 | ||||
-rw-r--r-- | sepolicy/file_contexts | 2 | ||||
-rw-r--r-- | sepolicy/shill.te | 8 | ||||
-rw-r--r-- | sepolicy/wifi_init.te | 17 | ||||
-rw-r--r-- | wifi_driver_hal/Android.mk | 1 | ||||
-rw-r--r-- | wifi_driver_hal/wifi_init.rc | 5 |
6 files changed, 29 insertions, 5 deletions
diff --git a/brillo_base.mk b/brillo_base.mk index 7b6d27c..683600e 100644 --- a/brillo_base.mk +++ b/brillo_base.mk @@ -144,6 +144,7 @@ PRODUCT_PACKAGES += \ dnsmasq \ hostapd \ shill \ + wifi_init \ wpa_supplicant \ # Check for targets that do not support WiFi. diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts index cdffde6..ee76017 100644 --- a/sepolicy/file_contexts +++ b/sepolicy/file_contexts @@ -44,3 +44,5 @@ /system/bin/bluetoothtbd u:object_r:bluetoothtbd_exec:s0 /system/etc/init.firewall-setup.sh u:object_r:brillo_setup_exec:s0 + +/system/bin/wifi_init u:object_r:wifi_init_exec:s0 diff --git a/sepolicy/shill.te b/sepolicy/shill.te index 802da28..4109a4f 100644 --- a/sepolicy/shill.te +++ b/sepolicy/shill.te @@ -2,8 +2,6 @@ type shill, domain; type shill_exec, exec_type, file_type; type shill_data_file, file_type, data_file_type; -type shill_device, dev_type; -type shill_sysfs_entry, fs_type, sysfs_type; init_brillo_domain(shill) net_domain(shill) @@ -22,7 +20,7 @@ allow shill proc_net:file w_file_perms; allow shill metrics_data_file:dir rw_dir_perms; allow shill metrics_data_file:file create_file_perms; allow shill sysfs:file w_file_perms; -allow shill shill_sysfs_entry:file rw_file_perms; +allow shill wifi_sysfs_entry:file rw_file_perms; allow shill self:capability { setuid fsetid kill net_admin net_bind_service net_raw setgid sys_module dac_override fowner }; allow shill self:capability2 block_suspend; @@ -34,8 +32,8 @@ allow shill dhcp_data_file:dir create_dir_perms; allow shill dhcp_data_file:file create_file_perms; # Permissions for WiFi driver initialization. -allow shill shill_device:chr_file rw_file_perms; -dontaudit shill shill_device:chr_file { getattr ioctl }; +allow shill wifi_device:chr_file rw_file_perms; +dontaudit shill wifi_device:chr_file { getattr ioctl }; # Permissions for dnsmasq. allow shill dnsmasq_exec:file rx_file_perms; diff --git a/sepolicy/wifi_init.te b/sepolicy/wifi_init.te new file mode 100644 index 0000000..80c1a25 --- /dev/null +++ b/sepolicy/wifi_init.te @@ -0,0 +1,17 @@ +# wifi_init. +type wifi_init, domain; +type wifi_init_exec, exec_type, file_type; +type wifi_device, dev_type; +type wifi_sysfs_entry, fs_type, sysfs_type; + +init_brillo_domain(wifi_init) + +allow wifi_init self:capability { net_admin net_raw }; +allow wifi_init self:udp_socket create_socket_perms; + +# Permissions for WiFi driver initialization. +allow wifi_init sysfs:file w_file_perms; +allow wifi_init wifi_device:chr_file rw_file_perms; +allow wifi_init wifi_sysfs_entry:file rw_file_perms; +dontaudit wifi_init wifi_device:chr_file { getattr ioctl }; + diff --git a/wifi_driver_hal/Android.mk b/wifi_driver_hal/Android.mk index 550fa3a..eb0015f 100644 --- a/wifi_driver_hal/Android.mk +++ b/wifi_driver_hal/Android.mk @@ -17,6 +17,7 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := wifi_init +LOCAL_INIT_RC := wifi_init.rc LOCAL_CPPFLAGS := -std=c++11 -Wall -Werror LOCAL_C_INCLUDES += $(LOCAL_PATH)/include LOCAL_SHARED_LIBRARIES := libcutils libhardware diff --git a/wifi_driver_hal/wifi_init.rc b/wifi_driver_hal/wifi_init.rc new file mode 100644 index 0000000..4ea3ff1 --- /dev/null +++ b/wifi_driver_hal/wifi_init.rc @@ -0,0 +1,5 @@ +service wifi_init /system/bin/wifi_init client + class core + user root + group root + oneshot |