diff --git a/system_server.te b/system_server.te
index 7eb3dd3857dca9d36e60906d483197ab71e52e19..b83c14a1eced4e2346e7f52bdc381bfb679a2a77 100644
--- a/system_server.te
+++ b/system_server.te
@@ -309,6 +309,7 @@ allow system_server system_ndebug_socket:sock_file create_file_perms;
 # Manage cache files.
 allow system_server cache_file:dir { relabelfrom create_dir_perms };
 allow system_server cache_file:file { relabelfrom create_file_perms };
+allow system_server cache_file:fifo_file create_file_perms;
 
 # Run system programs, e.g. dexopt.
 allow system_server system_file:file x_file_perms;
diff --git a/uncrypt.te b/uncrypt.te
index f701084e2330e7c7a53b0eae8f391a42dd2c380d..752124ddb4ce30f6961bdb5d066bcf1b115ff4ed 100644
--- a/uncrypt.te
+++ b/uncrypt.te
@@ -14,11 +14,12 @@ userdebug_or_eng(`
   r_dir_file(uncrypt, shell_data_file)
 ')
 
-# Create tmp file /cache/recovery/command.tmp
 # Read /cache/recovery/command
-# Rename /cache/recovery/command.tmp to /cache/recovery/command
+# Read /cache/recovery/uncrypt_file
+# Write to pipe file /cache/recovery/uncrypt_status
 allow uncrypt cache_file:dir rw_dir_perms;
 allow uncrypt cache_file:file create_file_perms;
+allow uncrypt cache_file:fifo_file w_file_perms;
 
 # Set a property to reboot the device.
 set_prop(uncrypt, powerctl_prop)