From 210a805b46782a2a49bf5338732cf8c6abaf95de Mon Sep 17 00:00:00 2001 From: Tri Vo <trong@google.com> Date: Tue, 10 Apr 2018 20:49:45 -0700 Subject: [PATCH] Sepolicy for rw mount point for vendors. Bug: 64905218 Test: device boots with /mnt/vendor present and selinux label mnt_vendor_file applied correctly. Change-Id: Ib34e2859948019d237cf2fe8f71845ef2533ae27 --- private/compat/26.0/26.0.ignore.cil | 1 + private/compat/27.0/27.0.ignore.cil | 1 + private/file_contexts | 4 ++++ public/domain.te | 6 ++++++ public/file.te | 3 +++ 5 files changed, 15 insertions(+) diff --git a/private/compat/26.0/26.0.ignore.cil b/private/compat/26.0/26.0.ignore.cil index 83c82180e..0faca6802 100644 --- a/private/compat/26.0/26.0.ignore.cil +++ b/private/compat/26.0/26.0.ignore.cil @@ -61,6 +61,7 @@ lowpan_service mediaextractor_update_service mediaprovider_tmpfs + mnt_vendor_file netd_stable_secret_prop network_watchlist_data_file network_watchlist_service diff --git a/private/compat/27.0/27.0.ignore.cil b/private/compat/27.0/27.0.ignore.cil index 33777e283..a7e953bff 100644 --- a/private/compat/27.0/27.0.ignore.cil +++ b/private/compat/27.0/27.0.ignore.cil @@ -50,6 +50,7 @@ lowpan_prop lowpan_service mediaextractor_update_service + mnt_vendor_file network_watchlist_data_file network_watchlist_service perfetto diff --git a/private/file_contexts b/private/file_contexts index c5169ff60..c2a8c74e1 100644 --- a/private/file_contexts +++ b/private/file_contexts @@ -526,3 +526,7 @@ /mnt/user(/.*)? u:object_r:mnt_user_file:s0 /mnt/runtime(/.*)? u:object_r:storage_file:s0 /storage(/.*)? u:object_r:storage_file:s0 + +############################# +# mount point for read-write vendor partitions +/mnt/vendor(/.*)? u:object_r:mnt_vendor_file:s0 diff --git a/public/domain.te b/public/domain.te index 1b7bbd4ab..d1fcbbce5 100644 --- a/public/domain.te +++ b/public/domain.te @@ -1355,3 +1355,9 @@ userdebug_or_eng(` dontaudit domain proc_type:file create; dontaudit domain sysfs_type:file create; ') + +# Platform must not have access to /mnt/vendor. +neverallow { + coredomain + -init +} mnt_vendor_file:dir *; diff --git a/public/file.te b/public/file.te index 156fce141..631e49ced 100644 --- a/public/file.te +++ b/public/file.te @@ -224,6 +224,9 @@ type storage_file, file_type; type mnt_media_rw_stub_file, file_type; type storage_stub_file, file_type; +# Mount location for read-write vendor partitions. +type mnt_vendor_file, file_type; + # /postinstall: Mount point used by update_engine to run postinstall. type postinstall_mnt_dir, file_type; # Files inside the /postinstall mountpoint are all labeled as postinstall_file. -- GitLab