xref: /aosp_15_r20/system/sepolicy/prebuilts/api/202404/public/attributes (revision e4a36f4174b17bbab9dc043f4a65dc8d87377290)
1*e4a36f41SAndroid Build Coastguard Worker######################################
2*e4a36f41SAndroid Build Coastguard Worker# Attribute declarations
3*e4a36f41SAndroid Build Coastguard Worker#
4*e4a36f41SAndroid Build Coastguard Worker
5*e4a36f41SAndroid Build Coastguard Worker# All types used for devices.
6*e4a36f41SAndroid Build Coastguard Worker# On change, update CHECK_FC_ASSERT_ATTRS
7*e4a36f41SAndroid Build Coastguard Worker# in tools/checkfc.c
8*e4a36f41SAndroid Build Coastguard Workerattribute dev_type;
9*e4a36f41SAndroid Build Coastguard Worker
10*e4a36f41SAndroid Build Coastguard Worker# Attribute for all bpf filesystem subtypes.
11*e4a36f41SAndroid Build Coastguard Workerattribute bpffs_type;
12*e4a36f41SAndroid Build Coastguard Worker
13*e4a36f41SAndroid Build Coastguard Worker# All types used for processes.
14*e4a36f41SAndroid Build Coastguard Workerattribute domain;
15*e4a36f41SAndroid Build Coastguard Worker
16*e4a36f41SAndroid Build Coastguard Worker# All types used for filesystems.
17*e4a36f41SAndroid Build Coastguard Worker# On change, update CHECK_FC_ASSERT_ATTRS
18*e4a36f41SAndroid Build Coastguard Worker# definition in tools/checkfc.c.
19*e4a36f41SAndroid Build Coastguard Workerattribute fs_type;
20*e4a36f41SAndroid Build Coastguard Worker
21*e4a36f41SAndroid Build Coastguard Worker# All types used for context= mounts.
22*e4a36f41SAndroid Build Coastguard Workerattribute contextmount_type;
23*e4a36f41SAndroid Build Coastguard Worker
24*e4a36f41SAndroid Build Coastguard Worker# All types referencing a FUSE filesystem.
25*e4a36f41SAndroid Build Coastguard Worker# When mounting a new FUSE filesystem, the fscontext= option should be used to
26*e4a36f41SAndroid Build Coastguard Worker# set a domain-specific type with this attribute. See app_fusefs for an
27*e4a36f41SAndroid Build Coastguard Worker# example.
28*e4a36f41SAndroid Build Coastguard Workerattribute fusefs_type;
29*e4a36f41SAndroid Build Coastguard Worker
30*e4a36f41SAndroid Build Coastguard Worker# All types used for files that can exist on a labeled fs.
31*e4a36f41SAndroid Build Coastguard Worker# Do not use for pseudo file types.
32*e4a36f41SAndroid Build Coastguard Worker# On change, update CHECK_FC_ASSERT_ATTRS
33*e4a36f41SAndroid Build Coastguard Worker# definition in tools/checkfc.c.
34*e4a36f41SAndroid Build Coastguard Workerattribute file_type;
35*e4a36f41SAndroid Build Coastguard Worker
36*e4a36f41SAndroid Build Coastguard Worker# All types used for domain entry points.
37*e4a36f41SAndroid Build Coastguard Workerattribute exec_type;
38*e4a36f41SAndroid Build Coastguard Worker
39*e4a36f41SAndroid Build Coastguard Worker# All types used for /data files.
40*e4a36f41SAndroid Build Coastguard Workerattribute data_file_type;
41*e4a36f41SAndroid Build Coastguard Workerexpandattribute data_file_type false;
42*e4a36f41SAndroid Build Coastguard Worker# All types in /data, not in /data/vendor
43*e4a36f41SAndroid Build Coastguard Workerattribute core_data_file_type;
44*e4a36f41SAndroid Build Coastguard Workerexpandattribute core_data_file_type false;
45*e4a36f41SAndroid Build Coastguard Worker
46*e4a36f41SAndroid Build Coastguard Worker# All types used for app private data files in seapp_contexts.
47*e4a36f41SAndroid Build Coastguard Worker# Such types should not be applied to any other files.
48*e4a36f41SAndroid Build Coastguard Workerattribute app_data_file_type;
49*e4a36f41SAndroid Build Coastguard Workerexpandattribute app_data_file_type false;
50*e4a36f41SAndroid Build Coastguard Worker
51*e4a36f41SAndroid Build Coastguard Worker# All types in /system
52*e4a36f41SAndroid Build Coastguard Workerattribute system_file_type;
53*e4a36f41SAndroid Build Coastguard Worker
54*e4a36f41SAndroid Build Coastguard Worker# All types in /system_dlkm
55*e4a36f41SAndroid Build Coastguard Workerattribute system_dlkm_file_type;
56*e4a36f41SAndroid Build Coastguard Worker
57*e4a36f41SAndroid Build Coastguard Worker# All types in /vendor
58*e4a36f41SAndroid Build Coastguard Workerattribute vendor_file_type;
59*e4a36f41SAndroid Build Coastguard Worker
60*e4a36f41SAndroid Build Coastguard Worker# All types used for procfs files.
61*e4a36f41SAndroid Build Coastguard Workerattribute proc_type;
62*e4a36f41SAndroid Build Coastguard Workerexpandattribute proc_type false;
63*e4a36f41SAndroid Build Coastguard Worker
64*e4a36f41SAndroid Build Coastguard Worker# Types in /proc/net, excluding qtaguid types.
65*e4a36f41SAndroid Build Coastguard Worker# TODO(b/9496886) Lock down access to /proc/net.
66*e4a36f41SAndroid Build Coastguard Worker# This attribute is used to audit access to proc_net. it is temporary and will
67*e4a36f41SAndroid Build Coastguard Worker# be removed.
68*e4a36f41SAndroid Build Coastguard Workerattribute proc_net_type;
69*e4a36f41SAndroid Build Coastguard Workerexpandattribute proc_net_type true;
70*e4a36f41SAndroid Build Coastguard Worker
71*e4a36f41SAndroid Build Coastguard Worker# All types used for sysfs files.
72*e4a36f41SAndroid Build Coastguard Workerattribute sysfs_type;
73*e4a36f41SAndroid Build Coastguard Worker
74*e4a36f41SAndroid Build Coastguard Worker# All types use for debugfs files.
75*e4a36f41SAndroid Build Coastguard Workerattribute debugfs_type;
76*e4a36f41SAndroid Build Coastguard Worker
77*e4a36f41SAndroid Build Coastguard Worker# All types used for tracefs files.
78*e4a36f41SAndroid Build Coastguard Workerattribute tracefs_type;
79*e4a36f41SAndroid Build Coastguard Worker
80*e4a36f41SAndroid Build Coastguard Worker# Attribute used for all sdcards
81*e4a36f41SAndroid Build Coastguard Workerattribute sdcard_type;
82*e4a36f41SAndroid Build Coastguard Worker
83*e4a36f41SAndroid Build Coastguard Worker# All types used for nodes/hosts.
84*e4a36f41SAndroid Build Coastguard Workerattribute node_type;
85*e4a36f41SAndroid Build Coastguard Worker
86*e4a36f41SAndroid Build Coastguard Worker# All types used for network interfaces.
87*e4a36f41SAndroid Build Coastguard Workerattribute netif_type;
88*e4a36f41SAndroid Build Coastguard Worker
89*e4a36f41SAndroid Build Coastguard Worker# All types used for network ports.
90*e4a36f41SAndroid Build Coastguard Workerattribute port_type;
91*e4a36f41SAndroid Build Coastguard Worker
92*e4a36f41SAndroid Build Coastguard Worker# All types used for property service
93*e4a36f41SAndroid Build Coastguard Worker# On change, update CHECK_PC_ASSERT_ATTRS
94*e4a36f41SAndroid Build Coastguard Worker# definition in tools/checkfc.c.
95*e4a36f41SAndroid Build Coastguard Workerattribute property_type;
96*e4a36f41SAndroid Build Coastguard Worker
97*e4a36f41SAndroid Build Coastguard Worker# All properties defined in core SELinux policy. Should not be
98*e4a36f41SAndroid Build Coastguard Worker# used by device specific properties
99*e4a36f41SAndroid Build Coastguard Workerattribute core_property_type;
100*e4a36f41SAndroid Build Coastguard Worker
101*e4a36f41SAndroid Build Coastguard Worker# All properties used to configure log filtering.
102*e4a36f41SAndroid Build Coastguard Workerattribute log_property_type;
103*e4a36f41SAndroid Build Coastguard Worker
104*e4a36f41SAndroid Build Coastguard Worker# All properties that are not specific to device but are added from
105*e4a36f41SAndroid Build Coastguard Worker# outside of AOSP. (e.g. OEM-specific properties)
106*e4a36f41SAndroid Build Coastguard Worker# These properties are not accessible from device-specific domains
107*e4a36f41SAndroid Build Coastguard Workerattribute extended_core_property_type;
108*e4a36f41SAndroid Build Coastguard Worker
109*e4a36f41SAndroid Build Coastguard Worker# Properties used for representing ownership. All properties should have one
110*e4a36f41SAndroid Build Coastguard Worker# of: system_property_type, product_property_type, or vendor_property_type.
111*e4a36f41SAndroid Build Coastguard Worker
112*e4a36f41SAndroid Build Coastguard Worker# All properties defined by /system.
113*e4a36f41SAndroid Build Coastguard Workerattribute system_property_type;
114*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_property_type false;
115*e4a36f41SAndroid Build Coastguard Worker
116*e4a36f41SAndroid Build Coastguard Worker# All /system-defined properties used only in /system.
117*e4a36f41SAndroid Build Coastguard Workerattribute system_internal_property_type;
118*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_internal_property_type false;
119*e4a36f41SAndroid Build Coastguard Worker
120*e4a36f41SAndroid Build Coastguard Worker# All /system-defined properties which can't be written outside /system.
121*e4a36f41SAndroid Build Coastguard Workerattribute system_restricted_property_type;
122*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_restricted_property_type false;
123*e4a36f41SAndroid Build Coastguard Worker
124*e4a36f41SAndroid Build Coastguard Worker# All /system-defined properties with no restrictions.
125*e4a36f41SAndroid Build Coastguard Workerattribute system_public_property_type;
126*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_public_property_type false;
127*e4a36f41SAndroid Build Coastguard Worker
128*e4a36f41SAndroid Build Coastguard Worker# All keystore2_key labels.
129*e4a36f41SAndroid Build Coastguard Workerattribute keystore2_key_type;
130*e4a36f41SAndroid Build Coastguard Worker
131*e4a36f41SAndroid Build Coastguard Worker# All properties defined by /product.
132*e4a36f41SAndroid Build Coastguard Worker# Currently there are no enforcements between /system and /product, so for now
133*e4a36f41SAndroid Build Coastguard Worker# /product attributes are just replaced to /system attributes.
134*e4a36f41SAndroid Build Coastguard Workerdefine(`product_property_type',   `system_property_type')
135*e4a36f41SAndroid Build Coastguard Workerdefine(`product_internal_property_type',   `system_internal_property_type')
136*e4a36f41SAndroid Build Coastguard Workerdefine(`product_restricted_property_type', `system_restricted_property_type')
137*e4a36f41SAndroid Build Coastguard Workerdefine(`product_public_property_type',     `system_public_property_type')
138*e4a36f41SAndroid Build Coastguard Worker
139*e4a36f41SAndroid Build Coastguard Worker# All properties defined by /vendor.
140*e4a36f41SAndroid Build Coastguard Workerattribute vendor_property_type;
141*e4a36f41SAndroid Build Coastguard Workerexpandattribute vendor_property_type false;
142*e4a36f41SAndroid Build Coastguard Worker
143*e4a36f41SAndroid Build Coastguard Worker# All /vendor-defined properties used only in /vendor.
144*e4a36f41SAndroid Build Coastguard Workerattribute vendor_internal_property_type;
145*e4a36f41SAndroid Build Coastguard Workerexpandattribute vendor_internal_property_type false;
146*e4a36f41SAndroid Build Coastguard Worker
147*e4a36f41SAndroid Build Coastguard Worker# All /vendor-defined properties which can't be written outside /vendor.
148*e4a36f41SAndroid Build Coastguard Workerattribute vendor_restricted_property_type;
149*e4a36f41SAndroid Build Coastguard Workerexpandattribute vendor_restricted_property_type false;
150*e4a36f41SAndroid Build Coastguard Worker
151*e4a36f41SAndroid Build Coastguard Worker# All /vendor-defined properties with no restrictions.
152*e4a36f41SAndroid Build Coastguard Workerattribute vendor_public_property_type;
153*e4a36f41SAndroid Build Coastguard Workerexpandattribute vendor_public_property_type false;
154*e4a36f41SAndroid Build Coastguard Worker
155*e4a36f41SAndroid Build Coastguard Worker# All service_manager types created by system_server
156*e4a36f41SAndroid Build Coastguard Workerattribute system_server_service;
157*e4a36f41SAndroid Build Coastguard Worker
158*e4a36f41SAndroid Build Coastguard Worker# services which should be available to all but isolated apps
159*e4a36f41SAndroid Build Coastguard Workerattribute app_api_service;
160*e4a36f41SAndroid Build Coastguard Worker
161*e4a36f41SAndroid Build Coastguard Worker# services which should be available to all ephemeral apps
162*e4a36f41SAndroid Build Coastguard Workerattribute ephemeral_app_api_service;
163*e4a36f41SAndroid Build Coastguard Worker
164*e4a36f41SAndroid Build Coastguard Worker# services which export only system_api
165*e4a36f41SAndroid Build Coastguard Workerattribute system_api_service;
166*e4a36f41SAndroid Build Coastguard Worker
167*e4a36f41SAndroid Build Coastguard Worker# services which are explicitly disallowed for untrusted apps to access
168*e4a36f41SAndroid Build Coastguard Workerattribute protected_service;
169*e4a36f41SAndroid Build Coastguard Worker
170*e4a36f41SAndroid Build Coastguard Worker# All types used for services managed by servicemanager.
171*e4a36f41SAndroid Build Coastguard Worker# On change, update CHECK_SC_ASSERT_ATTRS
172*e4a36f41SAndroid Build Coastguard Worker# definition in tools/checkfc.c.
173*e4a36f41SAndroid Build Coastguard Workerattribute service_manager_type;
174*e4a36f41SAndroid Build Coastguard Worker
175*e4a36f41SAndroid Build Coastguard Worker# All types used for services managed by hwservicemanager
176*e4a36f41SAndroid Build Coastguard Workerattribute hwservice_manager_type;
177*e4a36f41SAndroid Build Coastguard Worker
178*e4a36f41SAndroid Build Coastguard Worker# All HwBinder services guaranteed to be passthrough. These services always run
179*e4a36f41SAndroid Build Coastguard Worker# in the process of their clients, and thus operate with the same access as
180*e4a36f41SAndroid Build Coastguard Worker# their clients.
181*e4a36f41SAndroid Build Coastguard Workerattribute same_process_hwservice;
182*e4a36f41SAndroid Build Coastguard Worker
183*e4a36f41SAndroid Build Coastguard Worker# All HwBinder services guaranteed to be offered only by core domain components
184*e4a36f41SAndroid Build Coastguard Workerattribute coredomain_hwservice;
185*e4a36f41SAndroid Build Coastguard Worker
186*e4a36f41SAndroid Build Coastguard Worker# All HwBinder services that untrusted apps can't directly access
187*e4a36f41SAndroid Build Coastguard Workerattribute protected_hwservice;
188*e4a36f41SAndroid Build Coastguard Worker
189*e4a36f41SAndroid Build Coastguard Worker# All types used for services managed by vndservicemanager
190*e4a36f41SAndroid Build Coastguard Workerattribute vndservice_manager_type;
191*e4a36f41SAndroid Build Coastguard Worker
192*e4a36f41SAndroid Build Coastguard Worker# All services declared as part of an HAL
193*e4a36f41SAndroid Build Coastguard Workerattribute hal_service_type;
194*e4a36f41SAndroid Build Coastguard Worker
195*e4a36f41SAndroid Build Coastguard Worker# All domains that can override MLS restrictions.
196*e4a36f41SAndroid Build Coastguard Worker# i.e. processes that can read up and write down.
197*e4a36f41SAndroid Build Coastguard Workerattribute mlstrustedsubject;
198*e4a36f41SAndroid Build Coastguard Worker
199*e4a36f41SAndroid Build Coastguard Worker# All types that can override MLS restrictions.
200*e4a36f41SAndroid Build Coastguard Worker# i.e. files that can be read by lower and written by higher
201*e4a36f41SAndroid Build Coastguard Workerattribute mlstrustedobject;
202*e4a36f41SAndroid Build Coastguard Worker
203*e4a36f41SAndroid Build Coastguard Worker# All domains used for apps.
204*e4a36f41SAndroid Build Coastguard Workerattribute appdomain;
205*e4a36f41SAndroid Build Coastguard Worker
206*e4a36f41SAndroid Build Coastguard Worker# All third party apps (except isolated_app and ephemeral_app)
207*e4a36f41SAndroid Build Coastguard Workerattribute untrusted_app_all;
208*e4a36f41SAndroid Build Coastguard Worker
209*e4a36f41SAndroid Build Coastguard Worker# All apps with UID between AID_ISOLATED_START (99000) and AID_ISOLATED_END (99999).
210*e4a36f41SAndroid Build Coastguard Workerattribute isolated_app_all;
211*e4a36f41SAndroid Build Coastguard Worker
212*e4a36f41SAndroid Build Coastguard Worker# All service types that would be allowed for isolated_compute_app.
213*e4a36f41SAndroid Build Coastguard Workerattribute isolated_compute_allowed_service;
214*e4a36f41SAndroid Build Coastguard Worker
215*e4a36f41SAndroid Build Coastguard Worker# All device types that would be allowed for isolated_compute_app.
216*e4a36f41SAndroid Build Coastguard Workerattribute isolated_compute_allowed_device;
217*e4a36f41SAndroid Build Coastguard Worker
218*e4a36f41SAndroid Build Coastguard Worker# All domains used for apps with network access.
219*e4a36f41SAndroid Build Coastguard Workerattribute netdomain;
220*e4a36f41SAndroid Build Coastguard Worker
221*e4a36f41SAndroid Build Coastguard Worker# All domains used for apps with bluetooth access.
222*e4a36f41SAndroid Build Coastguard Workerattribute bluetoothdomain;
223*e4a36f41SAndroid Build Coastguard Worker
224*e4a36f41SAndroid Build Coastguard Worker# Specific domains that expose a binder service.
225*e4a36f41SAndroid Build Coastguard Worker# Deprecated, consider granting the exact permissions required by your service.
226*e4a36f41SAndroid Build Coastguard Workerattribute binderservicedomain;
227*e4a36f41SAndroid Build Coastguard Worker
228*e4a36f41SAndroid Build Coastguard Worker# All domains which have BPF access.
229*e4a36f41SAndroid Build Coastguard Workerattribute bpfdomain;
230*e4a36f41SAndroid Build Coastguard Workerexpandattribute bpfdomain false;
231*e4a36f41SAndroid Build Coastguard Worker
232*e4a36f41SAndroid Build Coastguard Worker# update_engine related domains that need to apply an update and run
233*e4a36f41SAndroid Build Coastguard Worker# postinstall. This includes the background daemon and the sideload tool from
234*e4a36f41SAndroid Build Coastguard Worker# recovery for A/B devices.
235*e4a36f41SAndroid Build Coastguard Workerattribute update_engine_common;
236*e4a36f41SAndroid Build Coastguard Worker
237*e4a36f41SAndroid Build Coastguard Worker# All core domains (as opposed to vendor/device-specific domains)
238*e4a36f41SAndroid Build Coastguard Workerattribute coredomain;
239*e4a36f41SAndroid Build Coastguard Worker
240*e4a36f41SAndroid Build Coastguard Worker# All vendor hwservice.
241*e4a36f41SAndroid Build Coastguard Workerattribute vendor_hwservice_type;
242*e4a36f41SAndroid Build Coastguard Worker
243*e4a36f41SAndroid Build Coastguard Worker# All socket devices owned by core domain components
244*e4a36f41SAndroid Build Coastguard Workerattribute coredomain_socket;
245*e4a36f41SAndroid Build Coastguard Workerexpandattribute coredomain_socket false;
246*e4a36f41SAndroid Build Coastguard Worker
247*e4a36f41SAndroid Build Coastguard Worker# All vendor domains which violate the requirement of not using sockets for
248*e4a36f41SAndroid Build Coastguard Worker# communicating with core components
249*e4a36f41SAndroid Build Coastguard Worker# TODO(b/36577153): Remove this once there are no violations
250*e4a36f41SAndroid Build Coastguard Workerattribute socket_between_core_and_vendor_violators;
251*e4a36f41SAndroid Build Coastguard Workerexpandattribute socket_between_core_and_vendor_violators false;
252*e4a36f41SAndroid Build Coastguard Worker
253*e4a36f41SAndroid Build Coastguard Worker# All vendor domains which violate the requirement of not executing
254*e4a36f41SAndroid Build Coastguard Worker# system processes
255*e4a36f41SAndroid Build Coastguard Worker# TODO(b/36463595)
256*e4a36f41SAndroid Build Coastguard Workerattribute vendor_executes_system_violators;
257*e4a36f41SAndroid Build Coastguard Workerexpandattribute vendor_executes_system_violators false;
258*e4a36f41SAndroid Build Coastguard Worker
259*e4a36f41SAndroid Build Coastguard Worker# All domains which violate the requirement of not sharing files by path
260*e4a36f41SAndroid Build Coastguard Worker# between between vendor and core domains.
261*e4a36f41SAndroid Build Coastguard Worker# TODO(b/34980020)
262*e4a36f41SAndroid Build Coastguard Workerattribute data_between_core_and_vendor_violators;
263*e4a36f41SAndroid Build Coastguard Workerexpandattribute data_between_core_and_vendor_violators false;
264*e4a36f41SAndroid Build Coastguard Worker
265*e4a36f41SAndroid Build Coastguard Worker# All system domains which violate the requirement of not executing vendor
266*e4a36f41SAndroid Build Coastguard Worker# binaries/libraries.
267*e4a36f41SAndroid Build Coastguard Worker# TODO(b/62041836)
268*e4a36f41SAndroid Build Coastguard Workerattribute system_executes_vendor_violators;
269*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_executes_vendor_violators false;
270*e4a36f41SAndroid Build Coastguard Worker
271*e4a36f41SAndroid Build Coastguard Worker# All system domains which violate the requirement of not writing vendor
272*e4a36f41SAndroid Build Coastguard Worker# properties.
273*e4a36f41SAndroid Build Coastguard Worker# TODO(b/78598545): Remove this once there are no violations
274*e4a36f41SAndroid Build Coastguard Workerattribute system_writes_vendor_properties_violators;
275*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_writes_vendor_properties_violators false;
276*e4a36f41SAndroid Build Coastguard Worker
277*e4a36f41SAndroid Build Coastguard Worker# All system domains which violate the requirement of not writing to
278*e4a36f41SAndroid Build Coastguard Worker# /mnt/vendor/*. Must not be used on devices launched with P or later.
279*e4a36f41SAndroid Build Coastguard Workerattribute system_writes_mnt_vendor_violators;
280*e4a36f41SAndroid Build Coastguard Workerexpandattribute system_writes_mnt_vendor_violators false;
281*e4a36f41SAndroid Build Coastguard Worker
282*e4a36f41SAndroid Build Coastguard Worker# hwservices that are accessible from untrusted applications
283*e4a36f41SAndroid Build Coastguard Worker# WARNING: Use of this attribute should be avoided unless
284*e4a36f41SAndroid Build Coastguard Worker# absolutely necessary.  It is a temporary allowance to aid the
285*e4a36f41SAndroid Build Coastguard Worker# transition to treble and will be removed in a future platform
286*e4a36f41SAndroid Build Coastguard Worker# version, requiring all hwservices that are labeled with this
287*e4a36f41SAndroid Build Coastguard Worker# attribute to be submitted to AOSP in order to maintain their
288*e4a36f41SAndroid Build Coastguard Worker# app-visibility.
289*e4a36f41SAndroid Build Coastguard Workerattribute untrusted_app_visible_hwservice_violators;
290*e4a36f41SAndroid Build Coastguard Workerexpandattribute untrusted_app_visible_hwservice_violators false;
291*e4a36f41SAndroid Build Coastguard Worker
292*e4a36f41SAndroid Build Coastguard Worker# halserver domains that are accessible to untrusted applications.  These
293*e4a36f41SAndroid Build Coastguard Worker# domains are typically those hosting  hwservices attributed by the
294*e4a36f41SAndroid Build Coastguard Worker# untrusted_app_visible_hwservice_violators.
295*e4a36f41SAndroid Build Coastguard Worker# WARNING: Use of this attribute should be avoided unless absolutely necessary.
296*e4a36f41SAndroid Build Coastguard Worker# It is a temporary allowance to aid the transition to treble and will be
297*e4a36f41SAndroid Build Coastguard Worker# removed in the future platform version, requiring all halserver domains that
298*e4a36f41SAndroid Build Coastguard Worker# are labeled with this attribute to be submitted to AOSP in order to maintain
299*e4a36f41SAndroid Build Coastguard Worker# their app-visibility.
300*e4a36f41SAndroid Build Coastguard Workerattribute untrusted_app_visible_halserver_violators;
301*e4a36f41SAndroid Build Coastguard Workerexpandattribute untrusted_app_visible_halserver_violators false;
302*e4a36f41SAndroid Build Coastguard Worker
303*e4a36f41SAndroid Build Coastguard Worker# PDX services
304*e4a36f41SAndroid Build Coastguard Workerattribute pdx_endpoint_dir_type;
305*e4a36f41SAndroid Build Coastguard Workerattribute pdx_endpoint_socket_type;
306*e4a36f41SAndroid Build Coastguard Workerexpandattribute pdx_endpoint_socket_type false;
307*e4a36f41SAndroid Build Coastguard Workerattribute pdx_channel_socket_type;
308*e4a36f41SAndroid Build Coastguard Workerexpandattribute pdx_channel_socket_type false;
309*e4a36f41SAndroid Build Coastguard Worker
310*e4a36f41SAndroid Build Coastguard Workerpdx_service_attributes(display_client)
311*e4a36f41SAndroid Build Coastguard Workerpdx_service_attributes(display_manager)
312*e4a36f41SAndroid Build Coastguard Workerpdx_service_attributes(display_screenshot)
313*e4a36f41SAndroid Build Coastguard Workerpdx_service_attributes(display_vsync)
314*e4a36f41SAndroid Build Coastguard Workerpdx_service_attributes(performance_client)
315*e4a36f41SAndroid Build Coastguard Workerpdx_service_attributes(bufferhub_client)
316*e4a36f41SAndroid Build Coastguard Worker
317*e4a36f41SAndroid Build Coastguard Worker# All HAL servers
318*e4a36f41SAndroid Build Coastguard Workerattribute halserverdomain;
319*e4a36f41SAndroid Build Coastguard Worker# All HAL clients
320*e4a36f41SAndroid Build Coastguard Workerattribute halclientdomain;
321*e4a36f41SAndroid Build Coastguard Workerexpandattribute halclientdomain true;
322*e4a36f41SAndroid Build Coastguard Worker
323*e4a36f41SAndroid Build Coastguard Worker# Exempt for halserverdomain to access sockets. Only builds for automotive
324*e4a36f41SAndroid Build Coastguard Worker# device types are allowed to use this attribute (enforced by CTS).
325*e4a36f41SAndroid Build Coastguard Worker# Unlike phone, in a car many modules are external from Android perspective and
326*e4a36f41SAndroid Build Coastguard Worker# HALs should be able to communicate with those devices through sockets.
327*e4a36f41SAndroid Build Coastguard Workerattribute hal_automotive_socket_exemption;
328*e4a36f41SAndroid Build Coastguard Worker
329*e4a36f41SAndroid Build Coastguard Worker# HALs
330*e4a36f41SAndroid Build Coastguard Workerhal_attribute(allocator);
331*e4a36f41SAndroid Build Coastguard Workerhal_attribute(atrace);
332*e4a36f41SAndroid Build Coastguard Workerhal_attribute(audio);
333*e4a36f41SAndroid Build Coastguard Workerhal_attribute(audiocontrol);
334*e4a36f41SAndroid Build Coastguard Workerhal_attribute(authgraph);
335*e4a36f41SAndroid Build Coastguard Workerhal_attribute(authsecret);
336*e4a36f41SAndroid Build Coastguard Workerhal_attribute(bluetooth);
337*e4a36f41SAndroid Build Coastguard Workerhal_attribute(bootctl);
338*e4a36f41SAndroid Build Coastguard Workerhal_attribute(broadcastradio);
339*e4a36f41SAndroid Build Coastguard Workerhal_attribute(camera);
340*e4a36f41SAndroid Build Coastguard Workerhal_attribute(can_bus);
341*e4a36f41SAndroid Build Coastguard Workerhal_attribute(can_controller);
342*e4a36f41SAndroid Build Coastguard Workerhal_attribute(cas);
343*e4a36f41SAndroid Build Coastguard Workerhal_attribute(codec2);
344*e4a36f41SAndroid Build Coastguard Workerhal_attribute(configstore);
345*e4a36f41SAndroid Build Coastguard Workerhal_attribute(confirmationui);
346*e4a36f41SAndroid Build Coastguard Workerhal_attribute(contexthub);
347*e4a36f41SAndroid Build Coastguard Workerhal_attribute(drm);
348*e4a36f41SAndroid Build Coastguard Workerhal_attribute(dumpstate);
349*e4a36f41SAndroid Build Coastguard Workerhal_attribute(evs);
350*e4a36f41SAndroid Build Coastguard Workerhal_attribute(face);
351*e4a36f41SAndroid Build Coastguard Workerhal_attribute(fastboot);
352*e4a36f41SAndroid Build Coastguard Workerhal_attribute(fingerprint);
353*e4a36f41SAndroid Build Coastguard Workerhal_attribute(gatekeeper);
354*e4a36f41SAndroid Build Coastguard Workerhal_attribute(gnss);
355*e4a36f41SAndroid Build Coastguard Workerhal_attribute(graphics_allocator);
356*e4a36f41SAndroid Build Coastguard Workerhal_attribute(graphics_composer);
357*e4a36f41SAndroid Build Coastguard Workerhal_attribute(health);
358*e4a36f41SAndroid Build Coastguard Workerhal_attribute(health_storage);
359*e4a36f41SAndroid Build Coastguard Workerhal_attribute(identity);
360*e4a36f41SAndroid Build Coastguard Workerhal_attribute(input_classifier);
361*e4a36f41SAndroid Build Coastguard Workerhal_attribute(input_processor);
362*e4a36f41SAndroid Build Coastguard Workerhal_attribute(ir);
363*e4a36f41SAndroid Build Coastguard Workerhal_attribute(ivn);
364*e4a36f41SAndroid Build Coastguard Workerhal_attribute(keymaster);
365*e4a36f41SAndroid Build Coastguard Workerhal_attribute(keymint);
366*e4a36f41SAndroid Build Coastguard Workerhal_attribute(light);
367*e4a36f41SAndroid Build Coastguard Workerhal_attribute(lowpan);
368*e4a36f41SAndroid Build Coastguard Workerhal_attribute(macsec);
369*e4a36f41SAndroid Build Coastguard Workerhal_attribute(memtrack);
370*e4a36f41SAndroid Build Coastguard Workerhal_attribute(neuralnetworks);
371*e4a36f41SAndroid Build Coastguard Workerhal_attribute(nfc);
372*e4a36f41SAndroid Build Coastguard Workerhal_attribute(nlinterceptor);
373*e4a36f41SAndroid Build Coastguard Workerhal_attribute(oemlock);
374*e4a36f41SAndroid Build Coastguard Workerhal_attribute(omx);
375*e4a36f41SAndroid Build Coastguard Workerhal_attribute(power);
376*e4a36f41SAndroid Build Coastguard Workerhal_attribute(power_stats);
377*e4a36f41SAndroid Build Coastguard Workerhal_attribute(rebootescrow);
378*e4a36f41SAndroid Build Coastguard Workerhal_attribute(remoteaccess);
379*e4a36f41SAndroid Build Coastguard Workerhal_attribute(secretkeeper);
380*e4a36f41SAndroid Build Coastguard Workerhal_attribute(remotelyprovisionedcomponent_avf);
381*e4a36f41SAndroid Build Coastguard Workerhal_attribute(secure_element);
382*e4a36f41SAndroid Build Coastguard Workerhal_attribute(sensors);
383*e4a36f41SAndroid Build Coastguard Workerhal_attribute(telephony);
384*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tetheroffload);
385*e4a36f41SAndroid Build Coastguard Workerhal_attribute(thermal);
386*e4a36f41SAndroid Build Coastguard Workerhal_attribute(threadnetwork);
387*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tv_cec);
388*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tv_hdmi_cec);
389*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tv_hdmi_connection);
390*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tv_hdmi_earc);
391*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tv_input);
392*e4a36f41SAndroid Build Coastguard Workerhal_attribute(tv_tuner);
393*e4a36f41SAndroid Build Coastguard Workerhal_attribute(usb);
394*e4a36f41SAndroid Build Coastguard Workerhal_attribute(usb_gadget);
395*e4a36f41SAndroid Build Coastguard Workerhal_attribute(uwb);
396*e4a36f41SAndroid Build Coastguard Worker# TODO(b/196225233): Remove this attribute and its usages elsewhere
397*e4a36f41SAndroid Build Coastguard Worker# once all chip vendors integrate to the new UWB stack.
398*e4a36f41SAndroid Build Coastguard Workerhal_attribute(uwb_vendor);
399*e4a36f41SAndroid Build Coastguard Workerhal_attribute(vehicle);
400*e4a36f41SAndroid Build Coastguard Workerhal_attribute(vibrator);
401*e4a36f41SAndroid Build Coastguard Workerhal_attribute(vr);
402*e4a36f41SAndroid Build Coastguard Workerhal_attribute(weaver);
403*e4a36f41SAndroid Build Coastguard Workerhal_attribute(wifi);
404*e4a36f41SAndroid Build Coastguard Workerhal_attribute(wifi_hostapd);
405*e4a36f41SAndroid Build Coastguard Workerhal_attribute(wifi_supplicant);
406*e4a36f41SAndroid Build Coastguard Worker
407*e4a36f41SAndroid Build Coastguard Worker# HwBinder services offered across the core-vendor boundary
408*e4a36f41SAndroid Build Coastguard Worker#
409*e4a36f41SAndroid Build Coastguard Worker# We annotate server domains with x_server  to loosen the coupling between
410*e4a36f41SAndroid Build Coastguard Worker# system and vendor images. For example, it should be possible to move a service
411*e4a36f41SAndroid Build Coastguard Worker# from one core domain to another, without having to update the vendor image
412*e4a36f41SAndroid Build Coastguard Worker# which contains clients of this service.
413*e4a36f41SAndroid Build Coastguard Worker
414*e4a36f41SAndroid Build Coastguard Workerattribute automotive_display_service_server;
415*e4a36f41SAndroid Build Coastguard Workerattribute camera_service_server;
416*e4a36f41SAndroid Build Coastguard Workerattribute display_service_server;
417*e4a36f41SAndroid Build Coastguard Workerattribute evsmanager_service_server;
418*e4a36f41SAndroid Build Coastguard Workerattribute remote_provisioning_service_server;
419*e4a36f41SAndroid Build Coastguard Workerattribute scheduler_service_server;
420*e4a36f41SAndroid Build Coastguard Workerattribute sensor_service_server;
421*e4a36f41SAndroid Build Coastguard Workerattribute stats_service_server;
422*e4a36f41SAndroid Build Coastguard Workerattribute system_suspend_internal_server;
423*e4a36f41SAndroid Build Coastguard Workerattribute system_suspend_server;
424*e4a36f41SAndroid Build Coastguard Workerattribute wifi_keystore_service_server;
425*e4a36f41SAndroid Build Coastguard Worker
426*e4a36f41SAndroid Build Coastguard Worker# All types used for super partition block devices.
427*e4a36f41SAndroid Build Coastguard Workerattribute super_block_device_type;
428*e4a36f41SAndroid Build Coastguard Worker
429*e4a36f41SAndroid Build Coastguard Worker# All types used for DMA-BUF heaps
430*e4a36f41SAndroid Build Coastguard Workerattribute dmabuf_heap_device_type;
431*e4a36f41SAndroid Build Coastguard Workerexpandattribute dmabuf_heap_device_type false;
432*e4a36f41SAndroid Build Coastguard Worker
433*e4a36f41SAndroid Build Coastguard Worker# Types for VM managers
434*e4a36f41SAndroid Build Coastguard Workerattribute vm_manager_device_type;
435*e4a36f41SAndroid Build Coastguard Worker
436*e4a36f41SAndroid Build Coastguard Worker# All types used for DSU metadata files.
437*e4a36f41SAndroid Build Coastguard Workerattribute gsi_metadata_file_type;
438*e4a36f41SAndroid Build Coastguard Worker
439*e4a36f41SAndroid Build Coastguard Worker# Types used for module-specific APEX data directories under
440*e4a36f41SAndroid Build Coastguard Worker# /data/{misc,misc_ce,misc_de}/apexdata.
441*e4a36f41SAndroid Build Coastguard Workerattribute apex_data_file_type;
442*e4a36f41SAndroid Build Coastguard Worker
443*e4a36f41SAndroid Build Coastguard Worker# Domains used for charger.
444*e4a36f41SAndroid Build Coastguard Worker# This is the common type for domains that executes charger's
445*e4a36f41SAndroid Build Coastguard Worker# functionalities, including setting and getting necessary properties,
446*e4a36f41SAndroid Build Coastguard Worker# permissions to maintain the health loop, writing to kernel log, handling
447*e4a36f41SAndroid Build Coastguard Worker# inputs and drawing screens, etc.
448*e4a36f41SAndroid Build Coastguard Workerattribute charger_type;
449*e4a36f41SAndroid Build Coastguard Worker
450*e4a36f41SAndroid Build Coastguard Worker# All types of ART properties.
451*e4a36f41SAndroid Build Coastguard Workerattribute dalvik_config_prop_type;
452