zygote.te 2.39 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 chown };
9 10 11
# Drop capabilities from bounding set.
allow zygote self:capability setpcap;
# Switch SELinux context to app domains.
12
allow zygote self:process setcurrent;
13
allow zygote system_server:process dyntransition;
14
allow zygote appdomain:process dyntransition;
Nick Kralevich's avatar
Nick Kralevich committed
15
# Allow zygote to read app /proc/pid dirs (b/10455872)
16
allow zygote appdomain:dir { getattr search };
17
allow zygote appdomain:file { r_file_perms };
18
# Move children into the peer process group.
19
allow zygote system_server:process { getpgid setpgid };
20
allow zygote appdomain:process { getpgid setpgid };
21 22 23 24
# Read system data.
allow zygote system_data_file:dir r_dir_perms;
allow zygote system_data_file:file r_file_perms;
# Write to /data/dalvik-cache.
25
allow zygote dalvikcache_data_file:dir create_dir_perms;
26
allow zygote dalvikcache_data_file:file create_file_perms;
27 28
# Create symlinks in /data/dalvik-cache
allow zygote dalvikcache_data_file:lnk_file create_file_perms;
29 30 31
# Write to /data/resource-cache
allow zygote resourcecache_data_file:dir rw_dir_perms;
allow zygote resourcecache_data_file:file create_file_perms;
32 33
# For art.
allow zygote dalvikcache_data_file:file execute;
34 35
# Execute dexopt.
allow zygote system_file:file x_file_perms;
36
allow zygote dex2oat_exec:file rx_file_perms;
37 38 39 40 41 42 43 44 45 46
# 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)

47 48 49 50
# Native bridge functionality requires that zygote replaces
# /proc/cpuinfo with /system/lib/<ISA>/cpuinfo using a bind mount
allow zygote proc_cpuinfo:file mounton;

51 52 53 54 55 56 57 58 59
# 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.
60
allow zygote zygote_exec:file rx_file_perms;