diff --git a/init.te b/init.te
index a6fadbd573e33ebdbe09f935ab76d34a7e76195c..d12cc230cc6ecb28072a6dd89c2e3de08b140ddb 100644
--- a/init.te
+++ b/init.te
@@ -102,6 +102,10 @@ allow init self:udp_socket { create ioctl };
 # set scheduling parameters for a kernel domain task.
 allow init kernel:process setsched;
 
+# swapon() needs write access to swap device
+# system/core/fs_mgr/fs_mgr.c - fs_mgr_swapon_all
+allow init swap_block_device:blk_file rw_file_perms;
+
 ###
 ### neverallow rules
 ###