Skip to content
Snippets Groups Projects
Commit c285cad1 authored by Tao Bao's avatar Tao Bao
Browse files

Add /dev/socket/uncrypt.

system_server used to communicate with uncrypt via files (e.g.
/cache/recovery/command and /cache/recovery/uncrypt_status). Since A/B
devices may not have /cache partitions anymore, we switch to communicate
via /dev/socket/uncrypt to allow things like factory reset to keep
working.

Bug: 27176738
Change-Id: I73b6d6f1ecdf16fd4f3600b5e524da06f35b5bca
parent 47f8e1f0
No related branches found
No related tags found
No related merge requests found
...@@ -206,6 +206,7 @@ type rild_socket, file_type; ...@@ -206,6 +206,7 @@ type rild_socket, file_type;
type rild_debug_socket, file_type; type rild_debug_socket, file_type;
type system_wpa_socket, file_type; type system_wpa_socket, file_type;
type system_ndebug_socket, file_type; type system_ndebug_socket, file_type;
type uncrypt_socket, file_type;
type vold_socket, file_type; type vold_socket, file_type;
type wpa_socket, file_type; type wpa_socket, file_type;
type zygote_socket, file_type; type zygote_socket, file_type;
......
...@@ -116,6 +116,7 @@ ...@@ -116,6 +116,7 @@
/dev/socket/racoon u:object_r:racoon_socket:s0 /dev/socket/racoon u:object_r:racoon_socket:s0
/dev/socket/rild u:object_r:rild_socket:s0 /dev/socket/rild u:object_r:rild_socket:s0
/dev/socket/rild-debug u:object_r:rild_debug_socket:s0 /dev/socket/rild-debug u:object_r:rild_debug_socket:s0
/dev/socket/uncrypt u:object_r:uncrypt_socket:s0
/dev/socket/vold u:object_r:vold_socket:s0 /dev/socket/vold u:object_r:vold_socket:s0
/dev/socket/wpa_eth[0-9] u:object_r:wpa_socket:s0 /dev/socket/wpa_eth[0-9] u:object_r:wpa_socket:s0
/dev/socket/wpa_wlan[0-9] u:object_r:wpa_socket:s0 /dev/socket/wpa_wlan[0-9] u:object_r:wpa_socket:s0
......
...@@ -125,6 +125,7 @@ unix_socket_connect(system_server, zygote, zygote) ...@@ -125,6 +125,7 @@ unix_socket_connect(system_server, zygote, zygote)
unix_socket_connect(system_server, gps, gpsd) unix_socket_connect(system_server, gps, gpsd)
unix_socket_connect(system_server, racoon, racoon) unix_socket_connect(system_server, racoon, racoon)
unix_socket_send(system_server, wpa, wpa) unix_socket_send(system_server, wpa, wpa)
unix_socket_connect(system_server, uncrypt, uncrypt)
# Communicate over a socket created by surfaceflinger. # Communicate over a socket created by surfaceflinger.
allow system_server surfaceflinger:unix_stream_socket { read write setopt }; allow system_server surfaceflinger:unix_stream_socket { read write setopt };
......
...@@ -16,10 +16,11 @@ userdebug_or_eng(` ...@@ -16,10 +16,11 @@ userdebug_or_eng(`
# Read /cache/recovery/command # Read /cache/recovery/command
# Read /cache/recovery/uncrypt_file # Read /cache/recovery/uncrypt_file
# Write to pipe file /cache/recovery/uncrypt_status
allow uncrypt cache_recovery_file:dir rw_dir_perms; allow uncrypt cache_recovery_file:dir rw_dir_perms;
allow uncrypt cache_recovery_file:file create_file_perms; allow uncrypt cache_recovery_file:file create_file_perms;
allow uncrypt cache_recovery_file:fifo_file w_file_perms;
# Write to /dev/socket/uncrypt
unix_socket_connect(uncrypt, uncrypt, uncrypt)
# Set a property to reboot the device. # Set a property to reboot the device.
set_prop(uncrypt, powerctl_prop) set_prop(uncrypt, powerctl_prop)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment