diff --git a/adbd.te b/adbd.te
index 074f35b001aa3e363f0fea22dcb019d8e1667bf0..8b809e2c81f191bf5da099b351faa96b1d608e2c 100644
--- a/adbd.te
+++ b/adbd.te
@@ -4,7 +4,7 @@ type adbd, domain, mlstrustedsubject;
 allow adbd adb_device:chr_file rw_file_perms;
 allow adbd qemu_device:chr_file rw_file_perms;
 allow adbd self:capability { net_raw setgid setuid dac_override sys_boot sys_admin };
-allow adbd rootfs:file { read entrypoint };
+allow adbd rootfs:file { r_file_perms entrypoint };
 allow adbd init:process sigchld;
 allow adbd self:tcp_socket *;
 allow adbd self:unix_stream_socket *;
diff --git a/system.te b/system.te
index 503bd3c719e648cc650800676af9877e5f20668d..451eb63a2375ab6296425fe9d59ebbada7e8f37f 100644
--- a/system.te
+++ b/system.te
@@ -112,6 +112,7 @@ unix_socket_connect(system, gps, gpsd)
 unix_socket_connect(system, bluetooth, bluetoothd)
 unix_socket_connect(system, racoon, racoon)
 unix_socket_send(system, wpa, wpa)
+unix_socket_send(system, wpa, init)
 
 # Communicate over a socket created by surfaceflinger.
 allow system surfaceflinger:unix_stream_socket { read write setopt };