# update_verifier
type update_verifier, domain;
type update_verifier_exec, exec_type, file_type;

# Allow update_verifier to reach block devices in /dev/block.
allow update_verifier block_device:dir search;

# Read care map in /data/ota_package/.
allow update_verifier ota_package_file:dir r_dir_perms;
allow update_verifier ota_package_file:file r_file_perms;

# Read all blocks in dm wrapped system partition.
allow update_verifier dm_device:blk_file r_file_perms;

# Allow update_verifier to reboot the device.
set_prop(update_verifier, powerctl_prop)

# Use Boot Control HAL
hal_client_domain(update_verifier, hal_bootctl)
