cc39f63773
Divide policy into public and private components. This is the first step in splitting the policy creation for platform and non-platform policies. The policy in the public directory will be exported for use in non-platform policy creation. Backwards compatibility with it will be achieved by converting the exported policy into attribute-based policy when included as part of the non-platform policy and a mapping file will be maintained to be included with the platform policy that maps exported attributes of previous versions to the current platform version. Eventually we would like to create a clear interface between the platform and non-platform device components so that the exported policy, and the need for attributes is minimal. For now, almost all types and avrules are left in public. Test: Tested by building policy and running on device. Change-Id: Idef796c9ec169259787c3f9d8f423edf4ce27f8c
27 lines
924 B
Text
27 lines
924 B
Text
# android recovery refresh log manager
|
|
type recovery_refresh, domain;
|
|
type recovery_refresh_exec, exec_type, file_type;
|
|
|
|
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;
|