diff --git a/app.te b/app.te index 73febbcde0e8913f4033eed370757da970895613..df8ff81b44beaa6fbf63cd74078ed7cd34aa1479 100644 --- a/app.te +++ b/app.te @@ -141,6 +141,10 @@ allow appdomain shared_relro_file:file r_file_perms; # Allow apps to read/execute installed binaries allow appdomain apk_data_file:file { rx_file_perms execmod }; +# /data/resource-cache +allow appdomain resourcecache_data_file:file r_file_perms; +allow appdomain resourcecache_data_file:dir r_dir_perms; + ### ### CTS-specific rules ### diff --git a/file.te b/file.te index 1ea4a721f0e7ed1f1abe93a7879d74d48116a1d3..18bafa41cb0c1fff483c81c2a19567c2552c3f2c 100644 --- a/file.te +++ b/file.te @@ -61,6 +61,8 @@ type apk_private_tmp_file, file_type, data_file_type, mlstrustedobject; type dalvikcache_data_file, file_type, data_file_type; # /data/dalvik-cache/profiles type dalvikcache_profiles_data_file, file_type, data_file_type; +# /data/resource-cache +type resourcecache_data_file, file_type, data_file_type; # /data/local - writable by shell type shell_data_file, file_type, data_file_type; # /data/gps diff --git a/file_contexts b/file_contexts index 8ea7f6db13b3971008d671182cab395d2eca88c4..82b8c1c1b54be58359d62b3af5bd38fbd23ea733 100644 --- a/file_contexts +++ b/file_contexts @@ -173,6 +173,7 @@ /data/system/ndebugsocket u:object_r:system_ndebug_socket:s0 /data/drm(/.*)? u:object_r:drm_data_file:s0 /data/gps(/.*)? u:object_r:gps_data_file:s0 +/data/resource-cache(/.*)? u:object_r:resourcecache_data_file:s0 /data/dalvik-cache(/.*)? u:object_r:dalvikcache_data_file:s0 /data/dalvik-cache/profiles(/.*)? u:object_r:dalvikcache_profiles_data_file:s0 /data/anr(/.*)? u:object_r:anr_data_file:s0 diff --git a/installd.te b/installd.te index eed034375ce7127870959f3d6d87af36b0d27d0e..5faa1ec82595bafc6415325055f700d2b44c2d44 100644 --- a/installd.te +++ b/installd.te @@ -49,6 +49,10 @@ allow installd dalvikcache_data_file:file create_file_perms; allow installd dalvikcache_profiles_data_file:dir rw_dir_perms; allow installd dalvikcache_profiles_data_file:file create_file_perms; +# Create files under /data/resource-cache. +allow installd resourcecache_data_file:dir rw_dir_perms; +allow installd resourcecache_data_file:file create_file_perms; + # Upgrade from unlabeled userdata. # Just need enough to remove and/or relabel it. allow installd unlabeled:dir { getattr search relabelfrom rw_dir_perms rmdir }; diff --git a/system_server.te b/system_server.te index ffed556e27c880165ce92fa7aac8a180a9f98c2b..5f2d691830191a5c6b8c87ebd0a8538f531c7d00 100644 --- a/system_server.te +++ b/system_server.te @@ -15,6 +15,10 @@ allow system_server system_server_tmpfs:file execute; # For art. allow system_server dalvikcache_data_file:file execute; +# /data/resource-cache +allow system_server resourcecache_data_file:file r_file_perms; +allow system_server resourcecache_data_file:dir r_dir_perms; + # ptrace to processes in the same domain for debugging crashes. allow system_server self:process ptrace; diff --git a/zygote.te b/zygote.te index da3a03723d9ac05a49a6d0c0448ae26042f5cee5..c2a325eecb1a7bad7da0fd61d536260f8061644f 100644 --- a/zygote.te +++ b/zygote.te @@ -24,6 +24,9 @@ allow zygote system_data_file:file r_file_perms; # Write to /data/dalvik-cache. allow zygote dalvikcache_data_file:dir create_dir_perms; allow zygote dalvikcache_data_file:file create_file_perms; +# Write to /data/resource-cache +allow zygote resourcecache_data_file:dir rw_dir_perms; +allow zygote resourcecache_data_file:file create_file_perms; # For art. allow zygote dalvikcache_data_file:file execute; # Execute dexopt.