From fc870ce954ca3945b90c4034ab446f775aac2139 Mon Sep 17 00:00:00 2001 From: Joel Galenson <jgalenson@google.com> Date: Wed, 11 Apr 2018 12:13:25 -0700 Subject: [PATCH] Allow some vold_prepare_subdirs denials. This addresses the following denials: avc: denied { fowner } for comm="rm" scontext=u:r:vold_prepare_subdirs:s0 tcontext=u:r:vold_prepare_subdirs:s0 tclass=capability avc: denied { getattr } for comm="rm" scontext=u:r:vold_prepare_subdirs:s0 tcontext=u:object_r:storaged_data_file:s0 tclass=file avc: denied { relabelfrom } for comm="vold_prepare_su" name="storaged" scontext=u:r:vold_prepare_subdirs:s0 tcontext=u:object_r:system_data_file:s0 tclass=dir avc: denied { getattr } for comm="rm" scontext=u:r:vold_prepare_subdirs:s0 tcontext=u:object_r:system_data_file:s0 tclass=file Bug: 77875245 Test: Boot device. Test: Mislabel directories used by vold_prepare_subdirs, reboot, and ensure it can relabel them without denials. Test: Add user, reboot, delete user, reboot, observe no denials. (cherry picked from commit 855dd5a8562494f78f99e5bd5096f617ac70438f) Merged-In: Id67bc99f151a6ccb9619bbfb7080452956405121 Change-Id: I2f6b5abfaf81570d03a30f2edf7296b5afd10c9b --- private/vold_prepare_subdirs.te | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/private/vold_prepare_subdirs.te b/private/vold_prepare_subdirs.te index af1f44232..badbb71f3 100644 --- a/private/vold_prepare_subdirs.te +++ b/private/vold_prepare_subdirs.te @@ -7,12 +7,14 @@ allow vold_prepare_subdirs devpts:chr_file rw_file_perms; allow vold_prepare_subdirs vold:fd use; 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:global_capability_class_set { chown dac_override }; +allow vold_prepare_subdirs self:global_capability_class_set { chown dac_override fowner }; allow vold_prepare_subdirs self:process setfscreate; allow vold_prepare_subdirs { system_data_file vendor_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 }; +}:dir { open read write add_name remove_name relabelfrom }; +allow vold_prepare_subdirs system_data_file:file getattr; +allow vold_prepare_subdirs vold_data_file:dir { create open read write search getattr setattr remove_name rmdir relabelto }; allow vold_prepare_subdirs vold_data_file:file { getattr unlink }; -allow vold_prepare_subdirs storaged_data_file:dir create_dir_perms; +allow vold_prepare_subdirs storaged_data_file:dir { create_dir_perms relabelto }; +allow vold_prepare_subdirs storaged_data_file:file getattr; -- GitLab