blob: 9229ed949d530712b18494a227632c4b4264f848 [file] [log] [blame]
Nick Kralevich0eb0a162018-12-12 09:06:05 -08001type rs, domain, coredomain;
2type rs_exec, system_file_type, exec_type, file_type;
3
4# Any files which would have been created as app_data_file
5# will be created as rs_data_file instead.
6allow rs app_data_file:dir ra_dir_perms;
7allow rs rs_data_file:file create_file_perms;
8type_transition rs app_data_file:file rs_data_file;
9
Nick Kralevich5cbe41b2018-12-19 12:09:42 -080010# Follow /data/user/0 symlink
11allow rs system_data_file:lnk_file read;
12
Nick Kralevich0eb0a162018-12-12 09:06:05 -080013# Read files from the app home directory.
14allow rs app_data_file:file r_file_perms;
15allow rs app_data_file:dir r_dir_perms;
16
17# Cleanup rs_data_file files in the app home directory.
18allow rs app_data_file:dir remove_name;
19
20# Use vendor resources
21allow rs vendor_file:dir r_dir_perms;
22r_dir_file(rs, vendor_overlay_file)
23r_dir_file(rs, vendor_app_file)
24
25# Read contents of app apks
26r_dir_file(rs, apk_data_file)
27
28allow rs gpu_device:chr_file rw_file_perms;
29allow rs ion_device:chr_file r_file_perms;
30allow rs same_process_hal_file:file { r_file_perms execute };
31
32# File descriptors passed from app to renderscript
33allow rs untrusted_app_all:fd use;
34
35# TODO: Explain why these dontaudits are needed. Most likely
36# these are file descriptors leaking across an exec() boundary
37# due to a missing O_CLOEXEC / SOCK_CLOEXEC
38dontaudit rs untrusted_app_all:unix_stream_socket { read write };
39dontaudit rs untrusted_app_all:fifo_file { read write };
40
41# TODO: Explain why this is necessary. I think this is a zygote
42# created logging socket and system server parceled file descriptor
43# which is not using the O_CLOEXEC flag.
44dontaudit rs zygote:fd use;
45dontaudit rs system_server:fd use;