diff --git a/public/vold.te b/public/vold.te index 197eead7f059aa12f954bbc38ce30a4295bdef77..2c2f14705ac6e7a7c403c167094aba9463c632c9 100644 --- a/public/vold.te +++ b/public/vold.te @@ -199,10 +199,10 @@ allow vold user_profile_data_file:dir create_dir_perms; # Raw writes to misc block device allow vold misc_block_device:blk_file w_file_perms; -neverallow { domain -vold } vold_data_file:dir ~{ open create read getattr setattr search relabelto ioctl }; -neverallow { domain -vold -kernel } vold_data_file:notdevfile_class_set ~{ relabelto getattr }; +neverallow { domain -vold -vold_prepare_subdirs } vold_data_file:dir ~{ open create read getattr setattr search relabelto ioctl }; +neverallow { domain -vold -vold_prepare_subdirs -kernel } vold_data_file:notdevfile_class_set ~{ relabelto getattr }; neverallow { domain -vold -init -vold_prepare_subdirs } vold_data_file:dir *; -neverallow { domain -vold -init -kernel } vold_data_file:notdevfile_class_set *; +neverallow { domain -vold -init -vold_prepare_subdirs -kernel } vold_data_file:notdevfile_class_set *; neverallow { domain -vold -init } restorecon_prop:property_service set; # Only system_server and vdc can interact with vold over binder diff --git a/public/vold_prepare_subdirs.te b/public/vold_prepare_subdirs.te index ddb5882383c14d165c7eb6ccbf11cbf607623823..cc4cdae8faee63c5dbaa3c18ddd6945ca138fb81 100644 --- a/public/vold_prepare_subdirs.te +++ b/public/vold_prepare_subdirs.te @@ -14,5 +14,6 @@ allow vold_prepare_subdirs vold:fifo_file { read write }; allow vold_prepare_subdirs file_contexts_file:file r_file_perms; allow vold_prepare_subdirs self:capability dac_override; allow vold_prepare_subdirs self:process setfscreate; -allow vold_prepare_subdirs system_data_file:dir { add_name write }; -allow vold_prepare_subdirs vold_data_file:dir { create getattr setattr }; +allow vold_prepare_subdirs system_data_file:dir { open read write add_name remove_name }; +allow vold_prepare_subdirs vold_data_file:dir { create open read write search getattr setattr remove_name rmdir }; +allow vold_prepare_subdirs vold_data_file:file { getattr unlink };