zygote.te 1.87 KB
Newer Older
Stephen Smalley's avatar
Stephen Smalley committed
1 2 3 4 5
# zygote
type zygote, domain;
type zygote_exec, exec_type, file_type;

init_daemon_domain(zygote)
6 7
typeattribute zygote mlstrustedsubject;
# Override DAC on files and switch uid/gid.
8
allow zygote self:capability { dac_override setgid setuid fowner };
9 10 11
# Drop capabilities from bounding set.
allow zygote self:capability setpcap;
# Switch SELinux context to app domains.
12
allow zygote system_server:process dyntransition;
13
allow zygote appdomain:process dyntransition;
Nick Kralevich's avatar
Nick Kralevich committed
14
# Allow zygote to read app /proc/pid dirs (b/10455872)
15
allow zygote appdomain:dir { getattr search };
16
allow zygote appdomain:file { r_file_perms };
17
# Move children into the peer process group.
18
allow zygote system_server:process { getpgid setpgid };
19 20 21 22 23
allow zygote appdomain:process { getpgid setpgid };
# Write to system data.
allow zygote system_data_file:dir rw_dir_perms;
allow zygote system_data_file:file create_file_perms;
allow zygote dalvikcache_data_file:dir rw_dir_perms;
24 25 26
allow zygote dalvikcache_data_file:file create_file_perms;
# For art.
allow zygote dalvikcache_data_file:file execute;
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
# Execute dexopt.
allow zygote system_file:file x_file_perms;
# Control cgroups.
allow zygote cgroup:dir create_dir_perms;
allow zygote self:capability sys_admin;
# Check validity of SELinux context before use.
selinux_check_context(zygote)
# Check SELinux permissions.
selinux_check_access(zygote)
# Read /seapp_contexts and /data/security/seapp_contexts
security_access_policy(zygote)

# Setting up /storage/emulated.
allow zygote rootfs:dir mounton;
allow zygote sdcard_type:dir { write search setattr create add_name mounton };
dontaudit zygote self:capability fsetid;
allow zygote tmpfs:dir { write create add_name setattr mounton search };
allow zygote tmpfs:filesystem mount;
allow zygote labeledfs:filesystem remount;

# Handle --invoke-with command when launching Zygote with a wrapper command.
48
allow zygote zygote_exec:file rx_file_perms;