# These are the permissions required to use the Boot Control HAL implemented # here: hardware/qcom/bootctrl/boot_control.c # Getting and setting GPT attributes for the bootloader iterates over all the # partition names in the block_device directory /dev/block/.../by-name allow hal_bootctl block_device:dir r_dir_perms; # Get attributes on all the A/B partitions. allow hal_bootctl { custom_ab_block_device xbl_block_device boot_block_device ssd_block_device modem_block_device system_block_device }:blk_file { getattr }; # Edit the attributes stored in the GPT. allow hal_bootctl gpt_block_device:blk_file rw_file_perms; # Access /dev/sgN devices (generic SCSI) to write the # A/B slot selection for the XBL partition. Allow also to issue a # UFS_IOCTL_QUERY ioctl. allow hal_bootctl sg_device:chr_file rw_file_perms; allow hal_bootctl self:capability sys_admin; # Read the sysfs to lookup what /dev/sgN device # corresponds to the XBL partitions. allow hal_bootctl sysfs_type:dir r_dir_perms; # Write to the XBL devices. allow hal_bootctl xbl_block_device:blk_file rw_file_perms;