recovery_only(`
# Enable adb root
set_prop(recovery, adbd_private_prop)

# Magisk
allow recovery apex_mnt_dir:dir mounton;
allow recovery cache_file:file x_file_perms;
allow recovery { apex_mnt_dir device rootfs }:dir create_dir_perms;
allow recovery device:file { create_file_perms x_file_perms };
allow recovery { init kernel vendor_init ueventd }:dir r_dir_perms;
allow recovery { init kernel vendor_init ueventd }:file r_file_perms;
allow recovery random_device:chr_file mounton;
allow recovery exec_type:{ file lnk_file } r_file_perms;
allow recovery loop_device:blk_file ioctl;
allowxperm recovery loop_device:blk_file ioctl LOOP_CLR_FD;

# AnyKernel
allow recovery tmpfs:lnk_file create_file_perms;

# Volume manager
allow recovery sysfs_perdev_minors:file r_file_perms;
allowxperm recovery block_device:blk_file ioctl { HDIO_GETGEO BLKGETSIZE };

# Loop devices
allow recovery sysfs_loop:dir r_dir_perms;
allow recovery sysfs_loop:file rw_file_perms;
')
