From eacbcc980f0b6b9bab7f9b45223e32ca0e78d887 Mon Sep 17 00:00:00 2001 From: Nick Kralevich <nnk@google.com> Date: Mon, 22 Oct 2018 12:15:28 -0700 Subject: [PATCH] update_engine_common: allow BLKROGET and BLKROSET Allow BLKROGET and BLKROSET on the block devices underlying the /system and rootfs partitions. As part of the Android boot process, the system sets the block devices read-only to prevent accidental modification to these partitions. Update engine needs the ability to adjust the block device read-only flag in order to apply updates. Addresses the following denials: update_engine: type=1400 audit(0.0:96): avc: denied { ioctl } for path="/dev/block/sda33" dev="tmpfs" ino=15369 ioctlcmd=125e scontext=u:r:update_engine:s0 tcontext=u:object_r:system_block_device:s0 tclass=blk_file permissive=0 update_engine: type=1400 audit(0.0:97): avc: denied { ioctl } for path="/dev/block/sda33" dev="tmpfs" ino=15369 ioctlcmd=125d scontext=u:r:update_engine:s0 tcontext=u:object_r:system_block_device:s0 tclass=blk_file permissive=0 Test: policy compiles Bug: 118150702 Change-Id: I65a3d041b6d6b7955bcd901637a543524fc34a06 --- public/update_engine_common.te | 1 + 1 file changed, 1 insertion(+) diff --git a/public/update_engine_common.te b/public/update_engine_common.te index 819b7a31b..a7d3bf398 100644 --- a/public/update_engine_common.te +++ b/public/update_engine_common.te @@ -7,6 +7,7 @@ allow update_engine_common block_device:dir search; # Allow read/write on system and boot partitions. allow update_engine_common boot_block_device:blk_file rw_file_perms; allow update_engine_common system_block_device:blk_file rw_file_perms; +allowxperm update_engine_common { boot_block_device system_block_device }:blk_file ioctl { BLKROGET BLKROSET }; # Allow to set recovery options in the BCB. Used to trigger factory reset when # the update to an older version (channel change) or incompatible version -- GitLab