a8e073cde0
The install_recovery script creates a new recovery image based off of the boot image plus a patch on /system. We need to allow read access to the boot image to allow the patching to succeed, otherwise OTAs are broken. Addresses the following denial: type=1400 audit(9109404.519:6): avc: denied { read } for pid=341 comm="applypatch" name="mmcblk0p37" dev="tmpfs" ino=9186 scontext=u:r:install_recovery:s0 tcontext=u:object_r:block_device:s0 tclass=blk_file permissive=0 TODO: Add device specific labels for the boot image. Bug: 19534538 Change-Id: Ic811ec03e235df3b1bfca9b0a65e23307cd968aa
28 lines
1 KiB
Text
28 lines
1 KiB
Text
# service flash_recovery in init.rc
|
|
type install_recovery, domain;
|
|
type install_recovery_exec, exec_type, file_type;
|
|
|
|
init_daemon_domain(install_recovery)
|
|
|
|
allow install_recovery self:capability dac_override;
|
|
|
|
# /system/bin/install-recovery.sh is a shell script.
|
|
# Needs to execute /system/bin/sh
|
|
allow install_recovery shell_exec:file rx_file_perms;
|
|
|
|
# Execute /system/bin/applypatch
|
|
allow install_recovery system_file:file rx_file_perms;
|
|
|
|
# Update the recovery block device based off a diff of the boot block device
|
|
allow install_recovery block_device:dir search;
|
|
allow install_recovery boot_block_device:blk_file r_file_perms;
|
|
allow install_recovery recovery_block_device:blk_file rw_file_perms;
|
|
|
|
# Create and delete /cache/saved.file
|
|
allow install_recovery cache_file:dir rw_dir_perms;
|
|
allow install_recovery cache_file:file create_file_perms;
|
|
|
|
# Write to /proc/sys/vm/drop_caches
|
|
# TODO: create a specific label for this file instead of allowing
|
|
# write for all /proc files.
|
|
allow install_recovery proc:file w_file_perms;
|