Skip to content
Snippets Groups Projects
  • Mark Salyzyn's avatar
    05806470
    Add recovery_persist & recovery_refresh · 05806470
    Mark Salyzyn authored
    (cherry pick from commit 16fe52c9)
    
    One time executables. recovery_refresh can be used at any time to
    ensure recovery logs in pmsg are re-placed at the end of the FIFO.
    recovery_persist takes the recovery logs in pmsg and drops them
    into /data/misc/recovery/ directory.
    
    Bug: 27176738
    Change-Id: Ife3cf323930fb7a6a5d1704667961f9d42bfc5ac
    05806470
    History
    Add recovery_persist & recovery_refresh
    Mark Salyzyn authored
    (cherry pick from commit 16fe52c9)
    
    One time executables. recovery_refresh can be used at any time to
    ensure recovery logs in pmsg are re-placed at the end of the FIFO.
    recovery_persist takes the recovery logs in pmsg and drops them
    into /data/misc/recovery/ directory.
    
    Bug: 27176738
    Change-Id: Ife3cf323930fb7a6a5d1704667961f9d42bfc5ac
recovery_refresh.te 962 B
# android recovery refresh log manager
type recovery_refresh, domain;
type recovery_refresh_exec, exec_type, file_type;

init_daemon_domain(recovery_refresh)

allow recovery_refresh pstorefs:dir search;
allow recovery_refresh pstorefs:file r_file_perms;
# NB: domain inherits write_logd which hands us write to pmsg_device

###
### Neverallow rules
###
### recovery_refresh should NEVER do any of this

# Block device access.
neverallow recovery_refresh dev_type:blk_file { read write };

# ptrace any other app
neverallow recovery_refresh domain:process ptrace;

# Write to /system.
neverallow recovery_refresh system_file:dir_file_class_set write;

# Write to files in /data/data or system files on /data
neverallow recovery_refresh { app_data_file system_data_file }:dir_file_class_set write;

# recovery_refresh is not allowed to write anywhere
neverallow recovery_refresh { file_type -recovery_refresh_tmpfs userdebug_or_eng(`-coredump_file') }:file write;