type system_server_startup, domain, coredomain;
type system_server_startup_tmpfs, file_type;

tmpfs_domain(system_server_startup)

# Create JIT memory
allow system_server_startup self:process execmem;
allow system_server_startup system_server_startup_tmpfs:file { execute read write open map };

# Allow to pick up integrity-checked artifacts from the ART APEX dalvik cache.
allow system_server_startup apex_art_data_file:dir r_dir_perms;
allow system_server_startup apex_art_data_file:file { r_file_perms execute };

# Allow system_server_startup to run setcon() and enter the
# system_server domain
allow system_server_startup self:process setcurrent;
allow system_server_startup system_server:process dyntransition;

# Child of the zygote.
allow system_server_startup zygote:process sigchld;

# Allow query ART device config properties
get_prop(system_server_startup, device_config_runtime_native_boot_prop)
get_prop(system_server_startup, device_config_runtime_native_prop)
