From 1369dfcaad340facc991abe064a06c0341a76c64 Mon Sep 17 00:00:00 2001 From: Mark Salyzyn Date: Mon, 2 Jul 2018 08:13:40 -0700 Subject: [PATCH] fs_mgr: add /mnt/scratch to possible overlayfs support directories A default set of options are available, but can override in a fstab overlay entry with upperdir=, lowerdir= to the same mount point, workdir=. The default is a valid /mnt/scratch/overlay/ or /cache/overlay/ directory, with ...//upper and ...//work, associated with each system partition . Test: manual Bug: 109821005 Change-Id: I5662c01fad17d105665be065f6dcd7c3fdc40d95 --- private/file_contexts | 1 + private/file_contexts_overlayfs | 3 +++ public/file.te | 2 +- public/init.te | 4 ++-- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/private/file_contexts b/private/file_contexts index 2e78b80ae..264735d6d 100644 --- a/private/file_contexts +++ b/private/file_contexts @@ -535,6 +535,7 @@ # Overlayfs support directories # /cache/overlay(/.*)? u:object_r:overlayfs_file:s0 +/mnt/scratch(/.*)? u:object_r:overlayfs_file:s0 /data/cache(/.*)? u:object_r:cache_file:s0 /data/cache/recovery(/.*)? u:object_r:cache_recovery_file:s0 diff --git a/private/file_contexts_overlayfs b/private/file_contexts_overlayfs index 00902c2da..e472fade5 100644 --- a/private/file_contexts_overlayfs +++ b/private/file_contexts_overlayfs @@ -4,3 +4,6 @@ /cache/overlay/(system|product)/upper u:object_r:system_file:s0 /cache/overlay/(vendor|odm)/upper u:object_r:vendor_file:s0 /cache/overlay/oem/upper u:object_r:vendor_file:s0 +/mnt/scratch/overlay/(system|product)/upper u:object_r:system_file:s0 +/mnt/scratch/overlay/(vendor|odm)/upper u:object_r:vendor_file:s0 +/mnt/scratch/overlay/oem/upper u:object_r:vendor_file:s0 diff --git a/public/file.te b/public/file.te index 016807ee7..b0e36a628 100644 --- a/public/file.te +++ b/public/file.te @@ -310,7 +310,7 @@ type system_app_data_file, file_type, data_file_type, core_data_file_type, mlstr # Compatibility with type name used in Android 4.3 and 4.4. # Default type for anything under /cache type cache_file, file_type, data_file_type, core_data_file_type, mlstrustedobject; -# Type for /cache/overlay +# Type for /cache/overlay /mnt/scratch/overlay type overlayfs_file, file_type, data_file_type, core_data_file_type; # Type for /cache/backup_stage/* (fd interchange with apps) type cache_backup_file, file_type, data_file_type, core_data_file_type, mlstrustedobject; diff --git a/public/init.te b/public/init.te index c337c82ae..42d364f02 100644 --- a/public/init.te +++ b/public/init.te @@ -297,9 +297,9 @@ allow init self:global_capability2_class_set syslog; # init access to /proc. r_dir_file(init, proc_net_type) -# Overlayfs workdir write access check during mount to permit remount,rw userdebug_or_eng(` - allow init overlayfs_file:dir { relabelfrom write }; + # Overlayfs workdir write access check during mount to permit remount,rw + allow init overlayfs_file:dir { relabelfrom mounton write }; ') allow init {