blob: 546b0190e47a5f30b88e3e3ed2e751645ce25bd4 [file] [log] [blame]
William Hester5f486c72019-01-15 13:39:30 -08001# Allow apps to read the Test Harness Mode property. This property is used in
2# the implementation of ActivityManager.isDeviceInTestHarnessMode()
3get_prop(appdomain, test_harness_prop)
4
Inseob Kimdbcc4592020-05-21 20:12:55 +09005get_prop(appdomain, boot_status_prop)
6get_prop(appdomain, dalvik_config_prop)
Inseob Kimdddf6f52020-07-06 22:24:11 +09007get_prop(appdomain, media_config_prop)
Inseob Kim5eacf722020-07-01 01:27:49 +09008get_prop(appdomain, packagemanager_config_prop)
Inseob Kimdbcc4592020-05-21 20:12:55 +09009get_prop(appdomain, surfaceflinger_color_prop)
10get_prop(appdomain, systemsound_config_prop)
Inseob Kim641cffe2020-06-05 10:40:16 +090011get_prop(appdomain, telephony_config_prop)
Inseob Kimdbcc4592020-05-21 20:12:55 +090012get_prop(appdomain, userspace_reboot_config_prop)
13get_prop(appdomain, vold_config_prop)
14
Florian Mayer5e522812019-10-08 16:15:14 +010015userdebug_or_eng(`perfetto_producer({ appdomain })')
16
Jeff Vander Stoep607bc672019-12-16 10:59:03 +010017# Prevent apps from causing presubmit failures.
18# Apps can cause selinux denials by accessing CE storage
19# and/or external storage. In either case, the selinux denial is
20# not the cause of the failure, but just a symptom that
21# storage isn't ready. Many apps handle the failure appropriately.
22#
23# Apps cannot access external storage before it becomes available.
24dontaudit appdomain storage_stub_file:dir getattr;
25# Attempts to write to system_data_file is generally a sign
26# that apps are attempting to access encrypted storage before
27# the ACTION_USER_UNLOCKED intent is delivered. Apps are not
28# allowed to write to CE storage before it's available.
29# Attempting to do so will be blocked by both selinux and unix
30# permissions.
31dontaudit appdomain system_data_file:dir write;
Jeff Vander Stoep67896ee2020-04-02 13:36:17 +020032# Apps should not be reading vendor-defined properties.
33dontaudit appdomain vendor_default_prop:file read;
Jeff Vander Stoep607bc672019-12-16 10:59:03 +010034
Nathan Haroldee268642017-12-14 18:20:30 -080035neverallow appdomain system_server:udp_socket {
Nathan Harold252b0152018-03-27 06:34:54 -070036 accept append bind create ioctl listen lock name_bind
37 relabelfrom relabelto setattr shutdown };
Nick Kralevich1e5021c2018-11-28 17:50:24 -080038
39# Transition to a non-app domain.
40# Exception for the shell and su domains, can transition to runas, etc.
Nick Kralevich0eb0a162018-12-12 09:06:05 -080041# Exception for crash_dump to allow for app crash reporting.
42# Exception for renderscript binaries (/system/bin/bcc, /system/bin/ld.mc)
43# to allow renderscript to create privileged executable files.
44neverallow { appdomain -shell userdebug_or_eng(`-su') }
45 { domain -appdomain -crash_dump -rs }:process { transition };
46neverallow { appdomain -shell userdebug_or_eng(`-su') }
47 { domain -appdomain }:process { dyntransition };
Daniel Rosenbergafede842020-05-11 22:50:40 -070048
49# Don't allow regular apps access to storage configuration properties.
50neverallow { appdomain -mediaprovider_app } storage_config_prop:file no_rw_file_perms;
Peiyong Lin37dea072020-06-03 12:20:41 -070051
Inseob Kimc80b0242020-07-16 22:25:47 +090052# Allow to read sendbug.preferred.domain
53get_prop(appdomain, sendbug_config_prop)
54
Peiyong Lin37dea072020-06-03 12:20:41 -070055# Allow to read graphics related properties.
56get_prop(appdomain, graphics_config_prop)