am d86b0a81: am 9f6af083: New domain "install_recovery"

* commit 'd86b0a81ab10cc48c4a2c52f27e8cdbfc927a52f':
  New domain "install_recovery"
This commit is contained in:
Nick Kralevich 2014-07-11 16:19:04 +00:00 committed by Android Git Automerger
commit ddfaf822e9
3 changed files with 34 additions and 1 deletions

View file

@ -243,7 +243,7 @@ neverallow domain init:binder call;
# Don't allow raw read/write/open access to block_device
# Rather force a relabel to a more specific type
neverallow { domain -kernel -init -recovery -vold -uncrypt } block_device:blk_file { open read write };
neverallow { domain -kernel -init -recovery -vold -uncrypt -install_recovery } block_device:blk_file { open read write };
# Don't allow raw read/write/open access to generic devices.
# Rather force a relabel to a more specific type.

View file

@ -159,6 +159,8 @@
/system/bin/uncrypt u:object_r:uncrypt_exec:s0
/system/bin/logwrapper u:object_r:system_file:s0
/system/bin/vdc u:object_r:vdc_exec:s0
/system/bin/install-recovery.sh u:object_r:install_recovery_exec:s0
#############################
# Vendor files
#

31
install_recovery.te Normal file
View file

@ -0,0 +1,31 @@
# service flash_recovery in init.rc
type install_recovery, domain;
type install_recovery_exec, exec_type, file_type;
permissive_or_unconfined(install_recovery)
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
# TODO: Limit this to only recovery block device when we
# create an appropriate label for it.
allow install_recovery block_device:dir search;
allow install_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;