Skip to content
Snippets Groups Projects
Commit a9671c6b authored by Alex Deymo's avatar Alex Deymo
Browse files

Allow postinstall_file to be an entrypoint.

postinstall_file was an exec_type so it could be an entrypoint for the
domain_auto_trans from update_engine domain to postinstall domain. This
patch removes the exec_type from postinstall_file and exempts it from
the neverallow rule to become an entrypoint.

Bug: 28008031
TEST=postinstall_example still runs as the "postinstall" domain on edison-eng.

Change-Id: Icbf5b262c6f971ce054f1b4896c611b32a6d66b5
parent d7bd03c5
No related branches found
No related tags found
No related merge requests found
...@@ -201,8 +201,8 @@ neverallow { domain -init } kernel:security setsecparam; ...@@ -201,8 +201,8 @@ neverallow { domain -init } kernel:security setsecparam;
# Only init, ueventd and system_server should be able to access HW RNG # Only init, ueventd and system_server should be able to access HW RNG
neverallow { domain -init -system_server -ueventd } hw_random_device:chr_file *; neverallow { domain -init -system_server -ueventd } hw_random_device:chr_file *;
# Ensure that all entrypoint executables are in exec_type. # Ensure that all entrypoint executables are in exec_type or postinstall_file.
neverallow * { file_type -exec_type }:file entrypoint; neverallow * { file_type -exec_type -postinstall_file }:file entrypoint;
# Ensure that nothing in userspace can access /dev/mem or /dev/kmem # Ensure that nothing in userspace can access /dev/mem or /dev/kmem
neverallow { domain -kernel -ueventd -init } kmem_device:chr_file *; neverallow { domain -kernel -ueventd -init } kmem_device:chr_file *;
......
...@@ -117,7 +117,7 @@ type storage_stub_file, file_type; ...@@ -117,7 +117,7 @@ type storage_stub_file, file_type;
# /postinstall: Mount point used by update_engine to run postinstall. # /postinstall: Mount point used by update_engine to run postinstall.
type postinstall_mnt_dir, file_type; type postinstall_mnt_dir, file_type;
# Files inside the /postinstall mountpoint are all labeled as postinstall_file. # 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 # /data/misc subdirectories
type adb_keys_file, file_type, data_file_type; type adb_keys_file, file_type, data_file_type;
......
...@@ -18,3 +18,7 @@ allow postinstall postinstall_file:dir r_dir_perms; ...@@ -18,3 +18,7 @@ allow postinstall postinstall_file:dir r_dir_perms;
allow postinstall shell_exec:file rx_file_perms; allow postinstall shell_exec:file rx_file_perms;
allow postinstall system_file:file rx_file_perms; allow postinstall system_file:file rx_file_perms;
allow postinstall toolbox_exec:file rx_file_perms; allow postinstall toolbox_exec:file rx_file_perms;
# No domain other than update_engine should transition to postinstall, as it is
# only meant to run during the update.
neverallow { domain -update_engine } postinstall:process { transition dyntransition };
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment