Remove "exec_type" from postinstall_file.
update_engine had an automatic transition to the "postinstall" domain when executing a "postinstall_file" which required it to be an entrypoint. This patch removes this automatic transition and the associated rules in update_engine.te, removing as well the need to add exec_type to postinstall_file. Instead, update_engine now makes this transition explicit by calling setexeccon(3). Bug: 28008031 TEST=make dist; Deployed an update to edison-eng: postinstall runs as "postinstall" domain. Change-Id: I2b799ac4808c90b010a9e776aaa7015020a94b49
This commit is contained in:
parent
d25611d97a
commit
5507fa6672
2 changed files with 4 additions and 10 deletions
2
file.te
2
file.te
|
@ -117,7 +117,7 @@ type storage_stub_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.
|
||||
type postinstall_file, file_type, exec_type;
|
||||
type postinstall_file, file_type;
|
||||
|
||||
# /data/misc subdirectories
|
||||
type adb_keys_file, file_type, data_file_type;
|
||||
|
|
|
@ -36,19 +36,13 @@ allow update_engine postinstall_mnt_dir:dir mounton;
|
|||
allow update_engine postinstall_file:filesystem { mount unmount relabelfrom relabelto };
|
||||
allow update_engine labeledfs:filesystem relabelfrom;
|
||||
|
||||
# Allow update_engine to read and execute postinstall_file.
|
||||
# Allow update_engine to read and execute postinstall_file, which is what the
|
||||
# postinstall program is relabeled to regardless of its attributes in the new
|
||||
# system. The postinstall program will run in the "postinstall" domain.
|
||||
allow update_engine postinstall_file:file rx_file_perms;
|
||||
allow update_engine postinstall_file:lnk_file r_file_perms;
|
||||
allow update_engine postinstall_file:dir r_dir_perms;
|
||||
|
||||
# The postinstall program is run by update_engine and will always be tagged as a
|
||||
# postinstall_file regardless of its attributes in the new system.
|
||||
domain_auto_trans(update_engine, postinstall_file, postinstall)
|
||||
|
||||
# A postinstall program is typically a shell script (with a #!), so we allow
|
||||
# to execute those.
|
||||
allow update_engine shell_exec:file rx_file_perms;
|
||||
|
||||
# Register the service to perform Binder IPC.
|
||||
binder_use(update_engine)
|
||||
allow update_engine update_engine_service:service_manager { add };
|
||||
|
|
Loading…
Reference in a new issue