platform_system_sepolicy/otapreopt_slot.te
Andreas Gampe f9c741b860 sepolicy: give otapreopt getattr
(cherry picked from commit 88c5146585)

Allow the otapreopt rename script to read file attributes. This is
being used to print the aggregate artifact size for diagnostic
purposes.

Bug: 30832951
Change-Id: Iee410adf59dcbb74fa4b49edb27d028025cd8bf9
2016-09-13 20:45:47 +00:00

28 lines
1.3 KiB
Text

# otapreopt_slot
#
# This command set moves the artifact corresponding to the current slot
# from /data/ota to /data/dalvik-cache.
type otapreopt_slot, domain, mlstrustedsubject;
type otapreopt_slot_exec, exec_type, file_type;
# Technically not a daemon but we do want the transition from init domain to
# cppreopts to occur.
init_daemon_domain(otapreopt_slot)
# The otapreopt_slot renames the OTA dalvik-cache to the regular dalvik-cache, and cleans up
# the directory afterwards. For logging of aggregate size, we need getattr.
allow otapreopt_slot ota_data_file:dir { rw_dir_perms rename reparent rmdir };
allow otapreopt_slot ota_data_file:file { getattr };
# Delete old content of the dalvik-cache.
allow otapreopt_slot dalvikcache_data_file:dir { add_name getattr open read remove_name rmdir search write };
allow otapreopt_slot dalvikcache_data_file:file { getattr unlink };
allow otapreopt_slot dalvikcache_data_file:lnk_file { getattr read unlink };
# Allow cppreopts to execute itself using #!/system/bin/sh
allow otapreopt_slot shell_exec:file rx_file_perms;
# Allow running the mv and rm/rmdir commands using otapreopt_slot permissions.
# Needed so we can move artifacts into /data/dalvik-cache/dalvik-cache.
allow otapreopt_slot toolbox_exec:file rx_file_perms;