Skip to content
Snippets Groups Projects
Commit 55b3a9d2 authored by Paul Crowley's avatar Paul Crowley Committed by android-build-merger
Browse files

Merge "Allow vendor_init and e2fs to enable metadata encryption"

am: 5d422a30

Change-Id: I916b8925fca67ce6cada9e43c83e7936e6e75542
parents 4f40e101 5d422a30
Branches
Tags
No related merge requests found
...@@ -109,6 +109,7 @@ ...@@ -109,6 +109,7 @@
usbd_tmpfs usbd_tmpfs
vendor_init vendor_init
vendor_shell vendor_shell
vold_metadata_file
vold_prepare_subdirs vold_prepare_subdirs
vold_prepare_subdirs_exec vold_prepare_subdirs_exec
vold_service vold_service
......
allow e2fs devpts:chr_file { read write };
allow e2fs metadata_block_device:blk_file rw_file_perms;
type e2fs, domain, coredomain; type e2fs, domain, coredomain;
type e2fs_exec, exec_type, file_type; type e2fs_exec, exec_type, file_type;
allow e2fs block_device:blk_file getattr; allow e2fs devpts:chr_file { read write getattr ioctl };
allow e2fs dev_type:blk_file getattr;
allow e2fs block_device:dir search; allow e2fs block_device:dir search;
allow e2fs userdata_block_device:blk_file rw_file_perms; allow e2fs userdata_block_device:blk_file rw_file_perms;
allow e2fs metadata_block_device:blk_file rw_file_perms;
allow e2fs { allow e2fs {
proc_filesystems proc_filesystems
...@@ -12,6 +15,7 @@ allow e2fs { ...@@ -12,6 +15,7 @@ allow e2fs {
}:file r_file_perms; }:file r_file_perms;
# access /sys/fs/ext4/features # access /sys/fs/ext4/features
allow e2fs sysfs_fs_ext4_features:dir search;
allow e2fs sysfs_fs_ext4_features:file r_file_perms; allow e2fs sysfs_fs_ext4_features:file r_file_perms;
# access sselinux context files # access sselinux context files
......
...@@ -149,6 +149,9 @@ type vendor_framework_file, vendor_file_type, file_type; ...@@ -149,6 +149,9 @@ type vendor_framework_file, vendor_file_type, file_type;
# Default type for everything in /vendor/overlay # Default type for everything in /vendor/overlay
type vendor_overlay_file, vendor_file_type, file_type; type vendor_overlay_file, vendor_file_type, file_type;
# /metadata subdirectories
type vold_metadata_file, file_type;
# Speedup access for trusted applications to the runtime event tags # Speedup access for trusted applications to the runtime event tags
type runtime_event_log_tags_file, file_type; type runtime_event_log_tags_file, file_type;
# Type for /system/bin/logcat. # Type for /system/bin/logcat.
......
...@@ -38,6 +38,7 @@ allow vendor_init { ...@@ -38,6 +38,7 @@ allow vendor_init {
-system_file -system_file
-unlabeled -unlabeled
-vendor_file_type -vendor_file_type
-vold_metadata_file
}:dir { create search getattr open read setattr ioctl write add_name remove_name rmdir relabelfrom }; }:dir { create search getattr open read setattr ioctl write add_name remove_name rmdir relabelfrom };
allow vendor_init { allow vendor_init {
...@@ -48,6 +49,7 @@ allow vendor_init { ...@@ -48,6 +49,7 @@ allow vendor_init {
-system_file -system_file
-unlabeled -unlabeled
-vendor_file_type -vendor_file_type
-vold_metadata_file
}:file { create getattr open read write setattr relabelfrom unlink }; }:file { create getattr open read write setattr relabelfrom unlink };
allow vendor_init { allow vendor_init {
...@@ -57,6 +59,7 @@ allow vendor_init { ...@@ -57,6 +59,7 @@ allow vendor_init {
-system_file -system_file
-unlabeled -unlabeled
-vendor_file_type -vendor_file_type
-vold_metadata_file
}:{ sock_file fifo_file } { create getattr open read setattr relabelfrom unlink }; }:{ sock_file fifo_file } { create getattr open read setattr relabelfrom unlink };
allow vendor_init { allow vendor_init {
...@@ -66,6 +69,7 @@ allow vendor_init { ...@@ -66,6 +69,7 @@ allow vendor_init {
-system_file -system_file
-unlabeled -unlabeled
-vendor_file_type -vendor_file_type
-vold_metadata_file
}:lnk_file { create getattr setattr relabelfrom unlink }; }:lnk_file { create getattr setattr relabelfrom unlink };
allow vendor_init { allow vendor_init {
...@@ -74,6 +78,7 @@ allow vendor_init { ...@@ -74,6 +78,7 @@ allow vendor_init {
-exec_type -exec_type
-system_file -system_file
-vendor_file_type -vendor_file_type
-vold_metadata_file
}:dir_file_class_set relabelto; }:dir_file_class_set relabelto;
allow vendor_init dev_type:dir create_dir_perms; allow vendor_init dev_type:dir create_dir_perms;
......
...@@ -172,6 +172,10 @@ allow vold proc_drop_caches:file w_file_perms; ...@@ -172,6 +172,10 @@ allow vold proc_drop_caches:file w_file_perms;
allow vold vold_data_file:dir create_dir_perms; allow vold vold_data_file:dir create_dir_perms;
allow vold vold_data_file:file create_file_perms; allow vold vold_data_file:file create_file_perms;
# And a similar place in the metadata partition
allow vold vold_metadata_file:dir create_dir_perms;
allow vold vold_metadata_file:file create_file_perms;
# linux keyring configuration # linux keyring configuration
allow vold init:key { write search setattr }; allow vold init:key { write search setattr };
allow vold vold:key { write search setattr }; allow vold vold:key { write search setattr };
...@@ -198,10 +202,48 @@ allow vold user_profile_data_file:dir create_dir_perms; ...@@ -198,10 +202,48 @@ allow vold user_profile_data_file:dir create_dir_perms;
# Raw writes to misc block device # Raw writes to misc block device
allow vold misc_block_device:blk_file w_file_perms; allow vold misc_block_device:blk_file w_file_perms;
neverallow { domain -vold -vold_prepare_subdirs } vold_data_file:dir ~{ open create read getattr setattr search relabelto ioctl }; neverallow {
neverallow { domain -vold -vold_prepare_subdirs -kernel } vold_data_file:notdevfile_class_set ~{ relabelto getattr }; domain
neverallow { domain -vold -init -vold_prepare_subdirs } vold_data_file:dir *; -vold
neverallow { domain -vold -init -vold_prepare_subdirs -kernel } vold_data_file:notdevfile_class_set *; -vold_prepare_subdirs
} vold_data_file:dir ~{ open create read getattr setattr search relabelto ioctl };
neverallow {
domain
-init
-vold
-vold_prepare_subdirs
} vold_data_file:dir *;
neverallow {
domain
-init
-vendor_init
-vold
} vold_metadata_file:dir *;
neverallow {
domain
-kernel
-vold
-vold_prepare_subdirs
} vold_data_file:notdevfile_class_set ~{ relabelto getattr };
neverallow {
domain
-init
-vold
-vold_prepare_subdirs
} vold_metadata_file:notdevfile_class_set ~{ relabelto getattr };
neverallow {
domain
-init
-kernel
-vold
-vold_prepare_subdirs
} { vold_data_file vold_metadata_file }:notdevfile_class_set *;
neverallow { domain -vold -init } restorecon_prop:property_service set; neverallow { domain -vold -init } restorecon_prop:property_service set;
# Only system_server and vdc can interact with vold over binder # Only system_server and vdc can interact with vold over binder
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment