blob: 6e11b8605a0612a4b4fa6a3a4a72d8dbf14729f6 [file] [log] [blame]
Stephen Smalley2dd4e512012-01-04 12:33:27 -05001######################################
2# Attribute declarations
3#
4
5# All types used for devices.
William Robertsad3cb392015-09-24 18:10:54 -07006# On change, update CHECK_FC_ASSERT_ATTRS
7# in tools/checkfc.c
Stephen Smalley2dd4e512012-01-04 12:33:27 -05008attribute dev_type;
9
Maciej Żenczykowskib13921c2022-05-21 05:03:29 -070010# Attribute for all bpf filesystem subtypes.
11attribute bpffs_type;
12
Stephen Smalley2dd4e512012-01-04 12:33:27 -050013# All types used for processes.
14attribute domain;
15
16# All types used for filesystems.
William Robertsad3cb392015-09-24 18:10:54 -070017# On change, update CHECK_FC_ASSERT_ATTRS
18# definition in tools/checkfc.c.
Stephen Smalley2dd4e512012-01-04 12:33:27 -050019attribute fs_type;
20
Stephen Smalleyd2503ba2014-05-30 08:49:51 -040021# All types used for context= mounts.
22attribute contextmount_type;
23
Thiébaud Weksteen9ec53272021-06-23 10:21:49 +020024# All types referencing a FUSE filesystem.
25# When mounting a new FUSE filesystem, the fscontext= option should be used to
26# set a domain-specific type with this attribute. See app_fusefs for an
27# example.
28attribute fusefs_type;
29
Stephen Smalley2dd4e512012-01-04 12:33:27 -050030# All types used for files that can exist on a labeled fs.
31# Do not use for pseudo file types.
William Robertsad3cb392015-09-24 18:10:54 -070032# On change, update CHECK_FC_ASSERT_ATTRS
33# definition in tools/checkfc.c.
Stephen Smalley2dd4e512012-01-04 12:33:27 -050034attribute file_type;
35
36# All types used for domain entry points.
37attribute exec_type;
38
39# All types used for /data files.
40attribute data_file_type;
Dan Cashman91d398d2017-09-26 12:58:29 -070041expandattribute data_file_type false;
Jeff Vander Stoep4a478c42017-03-27 22:44:40 -070042# All types in /data, not in /data/vendor
43attribute core_data_file_type;
Jeff Vander Stoepccf965e2018-01-24 07:01:13 -080044expandattribute core_data_file_type false;
Nick Kralevich5e372712018-09-27 10:21:37 -070045
Alan Stokes668e74f2020-11-12 18:08:18 +000046# All types used for app private data files in seapp_contexts.
47# Such types should not be applied to any other files.
Alan Stokesf8ad3392020-10-27 17:35:33 +000048attribute app_data_file_type;
49expandattribute app_data_file_type false;
50
Nick Kralevich5e372712018-09-27 10:21:37 -070051# All types in /system
52attribute system_file_type;
53
Ramji Jiyani4a556892022-02-10 00:35:54 +000054# All types in /system_dlkm
55attribute system_dlkm_file_type;
56
Sandeep Patil277a20e2017-04-01 17:17:12 -070057# All types in /vendor
58attribute vendor_file_type;
59
Tri Vo41bf08e2018-02-15 18:07:18 -080060# All types used for procfs files.
61attribute proc_type;
Jeff Vander Stoepa6295412018-05-01 09:40:33 -070062expandattribute proc_type false;
Tri Vo41bf08e2018-02-15 18:07:18 -080063
Bart Searsdbca6252024-08-04 23:06:24 +000064# Types in /proc/net, excluding qtaguid types.
Jeff Vander Stoep7a4af302018-04-10 12:47:48 -070065# TODO(b/9496886) Lock down access to /proc/net.
66# This attribute is used to audit access to proc_net. it is temporary and will
67# be removed.
68attribute proc_net_type;
69expandattribute proc_net_type true;
70
Tri Vo41bf08e2018-02-15 18:07:18 -080071# All types used for sysfs files.
Stephen Smalley2dd4e512012-01-04 12:33:27 -050072attribute sysfs_type;
73
Nick Kralevich44826cb2015-12-07 17:02:31 -080074# All types use for debugfs files.
75attribute debugfs_type;
76
Hridya Valsaraju23f9f512021-05-04 22:01:51 -070077# All types used for tracefs files.
78attribute tracefs_type;
79
William Robertsc195ec32013-03-06 16:26:36 -080080# Attribute used for all sdcards
81attribute sdcard_type;
82
Stephen Smalley2dd4e512012-01-04 12:33:27 -050083# All types used for nodes/hosts.
84attribute node_type;
85
86# All types used for network interfaces.
87attribute netif_type;
88
89# All types used for network ports.
90attribute port_type;
91
Stephen Smalley124720a2012-04-04 10:11:16 -040092# All types used for property service
William Robertsad3cb392015-09-24 18:10:54 -070093# On change, update CHECK_PC_ASSERT_ATTRS
94# definition in tools/checkfc.c.
Stephen Smalley124720a2012-04-04 10:11:16 -040095attribute property_type;
96
Nick Kralevich5a570a42015-12-08 14:45:50 -080097# All properties defined in core SELinux policy. Should not be
98# used by device specific properties
99attribute core_property_type;
100
mukesh agrawal84cfde22016-04-15 11:10:06 -0700101# All properties used to configure log filtering.
102attribute log_property_type;
103
Jiyong Parkd8ae0072018-05-30 17:38:09 +0900104# All properties that are not specific to device but are added from
105# outside of AOSP. (e.g. OEM-specific properties)
106# These properties are not accessible from device-specific domains
107attribute extended_core_property_type;
108
Inseob Kim19b99f12019-09-09 19:46:15 +0900109# Properties used for representing ownership. All properties should have one
110# of: system_property_type, product_property_type, or vendor_property_type.
111
112# All properties defined by /system.
113attribute system_property_type;
Inseob Kim2eb03962020-09-15 12:22:44 +0900114expandattribute system_property_type false;
Inseob Kim19b99f12019-09-09 19:46:15 +0900115
116# All /system-defined properties used only in /system.
117attribute system_internal_property_type;
Inseob Kim2eb03962020-09-15 12:22:44 +0900118expandattribute system_internal_property_type false;
Inseob Kim19b99f12019-09-09 19:46:15 +0900119
120# All /system-defined properties which can't be written outside /system.
121attribute system_restricted_property_type;
Inseob Kim2eb03962020-09-15 12:22:44 +0900122expandattribute system_restricted_property_type false;
Inseob Kim19b99f12019-09-09 19:46:15 +0900123
124# All /system-defined properties with no restrictions.
125attribute system_public_property_type;
Inseob Kim2eb03962020-09-15 12:22:44 +0900126expandattribute system_public_property_type false;
Inseob Kim19b99f12019-09-09 19:46:15 +0900127
Janis Danisevskisc40681f2020-07-25 13:02:29 -0700128# All keystore2_key labels.
129attribute keystore2_key_type;
130
Inseob Kim19b99f12019-09-09 19:46:15 +0900131# All properties defined by /product.
132# Currently there are no enforcements between /system and /product, so for now
133# /product attributes are just replaced to /system attributes.
134define(`product_property_type', `system_property_type')
Inseob Kimc9610de2020-08-25 16:38:13 +0900135define(`product_internal_property_type', `system_internal_property_type')
136define(`product_restricted_property_type', `system_restricted_property_type')
137define(`product_public_property_type', `system_public_property_type')
Inseob Kim19b99f12019-09-09 19:46:15 +0900138
139# All properties defined by /vendor.
140attribute vendor_property_type;
Inseob Kim2eb03962020-09-15 12:22:44 +0900141expandattribute vendor_property_type false;
Inseob Kim19b99f12019-09-09 19:46:15 +0900142
143# All /vendor-defined properties used only in /vendor.
144attribute vendor_internal_property_type;
Inseob Kim2eb03962020-09-15 12:22:44 +0900145expandattribute vendor_internal_property_type false;
Inseob Kim19b99f12019-09-09 19:46:15 +0900146
147# All /vendor-defined properties which can't be written outside /vendor.
148attribute vendor_restricted_property_type;
Inseob Kim2eb03962020-09-15 12:22:44 +0900149expandattribute vendor_restricted_property_type false;
Inseob Kim19b99f12019-09-09 19:46:15 +0900150
151# All /vendor-defined properties with no restrictions.
152attribute vendor_public_property_type;
Inseob Kim2eb03962020-09-15 12:22:44 +0900153expandattribute vendor_public_property_type false;
Inseob Kim19b99f12019-09-09 19:46:15 +0900154
dcashmanbd7f5802015-04-08 15:12:24 -0700155# All service_manager types created by system_server
dcashmand12993f2015-04-02 16:50:08 -0700156attribute system_server_service;
157
158# services which should be available to all but isolated apps
159attribute app_api_service;
160
Alex Klyubin6237d8b2017-02-28 13:59:06 -0800161# services which should be available to all ephemeral apps
162attribute ephemeral_app_api_service;
163
dcashmand12993f2015-04-02 16:50:08 -0700164# services which export only system_api
165attribute system_api_service;
dcashman4a89cdf2014-12-16 15:45:26 -0800166
Steven Morelanda43e26e2020-10-21 21:47:00 +0000167# services which are explicitly disallowed for untrusted apps to access
168attribute protected_service;
169
Martijn Coenenbc6d88d2017-04-06 09:24:41 -0700170# All types used for services managed by servicemanager.
William Robertsad3cb392015-09-24 18:10:54 -0700171# On change, update CHECK_SC_ASSERT_ATTRS
172# definition in tools/checkfc.c.
Riley Spahnf90c41f2014-06-05 15:52:02 -0700173attribute service_manager_type;
174
Martijn Coenenbc6d88d2017-04-06 09:24:41 -0700175# All types used for services managed by hwservicemanager
176attribute hwservice_manager_type;
177
Alex Klyubin2a7f4fb2017-04-21 17:06:43 -0700178# All HwBinder services guaranteed to be passthrough. These services always run
179# in the process of their clients, and thus operate with the same access as
180# their clients.
181attribute same_process_hwservice;
182
183# All HwBinder services guaranteed to be offered only by core domain components
184attribute coredomain_hwservice;
185
Jiyong Parke95c7042019-08-22 00:04:50 +0900186# All HwBinder services that untrusted apps can't directly access
187attribute protected_hwservice;
188
Martijn Coenenbc6d88d2017-04-06 09:24:41 -0700189# All types used for services managed by vndservicemanager
190attribute vndservice_manager_type;
191
Thiébaud Weksteen373cf3b2022-02-16 10:17:50 +1100192# All services declared as part of an HAL
193attribute hal_service_type;
Martijn Coenenbc6d88d2017-04-06 09:24:41 -0700194
Stephen Smalley2dd4e512012-01-04 12:33:27 -0500195# All domains that can override MLS restrictions.
196# i.e. processes that can read up and write down.
197attribute mlstrustedsubject;
198
199# All types that can override MLS restrictions.
200# i.e. files that can be read by lower and written by higher
201attribute mlstrustedobject;
202
Stephen Smalley2dd4e512012-01-04 12:33:27 -0500203# All domains used for apps.
204attribute appdomain;
205
Steven Moreland826b92f2020-09-17 17:15:26 +0000206# All third party apps (except isolated_app and ephemeral_app)
Jeff Vander Stoepbacb6d72017-02-13 13:33:27 -0800207attribute untrusted_app_all;
208
Charles Chenccf80142023-01-20 03:34:19 +0000209# All apps with UID between AID_ISOLATED_START (99000) and AID_ISOLATED_END (99999).
210attribute isolated_app_all;
211
Charles Chenc8ab3592023-04-17 22:33:40 +0000212# All service types that would be allowed for isolated_compute_app.
Charles Chen27a8f432023-04-20 16:38:30 +0000213attribute isolated_compute_allowed_service;
Charles Chenc8ab3592023-04-17 22:33:40 +0000214
215# All device types that would be allowed for isolated_compute_app.
Charles Chen27a8f432023-04-20 16:38:30 +0000216attribute isolated_compute_allowed_device;
Charles Chenc8ab3592023-04-17 22:33:40 +0000217
Stephen Smalley2dd4e512012-01-04 12:33:27 -0500218# All domains used for apps with network access.
219attribute netdomain;
220
221# All domains used for apps with bluetooth access.
222attribute bluetoothdomain;
223
Thiébaud Weksteen5e9b88f2023-08-28 12:22:17 +1000224# Specific domains that expose a binder service.
225# Deprecated, consider granting the exact permissions required by your service.
Stephen Smalley2dd4e512012-01-04 12:33:27 -0500226attribute binderservicedomain;
Alex Deymo0f8d9262016-04-22 13:23:36 -0700227
Steven Moreland65981752022-02-10 00:32:44 +0000228# All domains which have BPF access.
229attribute bpfdomain;
230expandattribute bpfdomain false;
231
Alex Deymod63084d2016-08-03 20:31:37 -0700232# update_engine related domains that need to apply an update and run
233# postinstall. This includes the background daemon and the sideload tool from
234# recovery for A/B devices.
235attribute update_engine_common;
dcashman3319d5e2016-11-15 10:05:55 -0800236
Alex Klyubinf5446eb2017-03-23 14:27:32 -0700237# All core domains (as opposed to vendor/device-specific domains)
238attribute coredomain;
239
Mariia Sandrikova44c7a702020-09-25 21:33:02 +0100240# All vendor hwservice.
241attribute vendor_hwservice_type;
242
Alex Klyubin2f6151e2017-03-30 17:39:00 -0700243# All socket devices owned by core domain components
244attribute coredomain_socket;
Jeff Vander Stoepccf965e2018-01-24 07:01:13 -0800245expandattribute coredomain_socket false;
Alex Klyubin2f6151e2017-03-30 17:39:00 -0700246
Alex Klyubin2746ae62017-03-24 16:07:35 -0700247# All vendor domains which violate the requirement of not using sockets for
248# communicating with core components
249# TODO(b/36577153): Remove this once there are no violations
250attribute socket_between_core_and_vendor_violators;
Dan Cashman91d398d2017-09-26 12:58:29 -0700251expandattribute socket_between_core_and_vendor_violators false;
Alex Klyubin2746ae62017-03-24 16:07:35 -0700252
Sandeep Patilb99676e2017-04-14 21:26:57 -0700253# All vendor domains which violate the requirement of not executing
254# system processes
255# TODO(b/36463595)
256attribute vendor_executes_system_violators;
Dan Cashman91d398d2017-09-26 12:58:29 -0700257expandattribute vendor_executes_system_violators false;
Sandeep Patilb99676e2017-04-14 21:26:57 -0700258
Jeff Vander Stoep2ae575b2017-10-17 13:07:54 -0700259# All domains which violate the requirement of not sharing files by path
260# between between vendor and core domains.
261# TODO(b/34980020)
262attribute data_between_core_and_vendor_violators;
263expandattribute data_between_core_and_vendor_violators false;
264
Tri Vo282dbf72017-12-20 15:38:35 -0800265# All system domains which violate the requirement of not executing vendor
266# binaries/libraries.
267# TODO(b/62041836)
268attribute system_executes_vendor_violators;
269expandattribute system_executes_vendor_violators false;
270
Tom Cherry5897e232018-05-01 15:15:16 -0700271# All system domains which violate the requirement of not writing vendor
272# properties.
273# TODO(b/78598545): Remove this once there are no violations
274attribute system_writes_vendor_properties_violators;
275expandattribute system_writes_vendor_properties_violators false;
276
Tri Voca4217e2018-09-17 19:17:41 -0700277# All system domains which violate the requirement of not writing to
278# /mnt/vendor/*. Must not be used on devices launched with P or later.
279attribute system_writes_mnt_vendor_violators;
280expandattribute system_writes_mnt_vendor_violators false;
281
Dan Cashman3e307a42017-06-21 10:00:32 -0700282# hwservices that are accessible from untrusted applications
283# WARNING: Use of this attribute should be avoided unless
284# absolutely necessary. It is a temporary allowance to aid the
285# transition to treble and will be removed in a future platform
286# version, requiring all hwservices that are labeled with this
287# attribute to be submitted to AOSP in order to maintain their
288# app-visibility.
Tri Vo7f8b6cc2018-07-28 16:48:06 -0700289attribute untrusted_app_visible_hwservice_violators;
290expandattribute untrusted_app_visible_hwservice_violators false;
Dan Cashman91d398d2017-09-26 12:58:29 -0700291
292# halserver domains that are accessible to untrusted applications. These
293# domains are typically those hosting hwservices attributed by the
Tri Vo7f8b6cc2018-07-28 16:48:06 -0700294# untrusted_app_visible_hwservice_violators.
Dan Cashman91d398d2017-09-26 12:58:29 -0700295# WARNING: Use of this attribute should be avoided unless absolutely necessary.
296# It is a temporary allowance to aid the transition to treble and will be
297# removed in the future platform version, requiring all halserver domains that
298# are labeled with this attribute to be submitted to AOSP in order to maintain
299# their app-visibility.
Tri Vo7f8b6cc2018-07-28 16:48:06 -0700300attribute untrusted_app_visible_halserver_violators;
301expandattribute untrusted_app_visible_halserver_violators false;
Dan Cashman3e307a42017-06-21 10:00:32 -0700302
Alex Vakulenko41daa7f2017-05-01 13:01:44 -0700303# PDX services
304attribute pdx_endpoint_dir_type;
305attribute pdx_endpoint_socket_type;
Dan Cashman91d398d2017-09-26 12:58:29 -0700306expandattribute pdx_endpoint_socket_type false;
Alex Vakulenko41daa7f2017-05-01 13:01:44 -0700307attribute pdx_channel_socket_type;
Dan Cashman91d398d2017-09-26 12:58:29 -0700308expandattribute pdx_channel_socket_type false;
Alex Vakulenko41daa7f2017-05-01 13:01:44 -0700309
310pdx_service_attributes(display_client)
311pdx_service_attributes(display_manager)
312pdx_service_attributes(display_screenshot)
313pdx_service_attributes(display_vsync)
314pdx_service_attributes(performance_client)
Alex Vakulenko41daa7f2017-05-01 13:01:44 -0700315pdx_service_attributes(bufferhub_client)
316
Alex Klyubinac2b4cd2017-02-13 14:40:49 -0800317# All HAL servers
318attribute halserverdomain;
319# All HAL clients
320attribute halclientdomain;
Dan Cashman91d398d2017-09-26 12:58:29 -0700321expandattribute halclientdomain true;
Alex Klyubinf41d89e2017-01-10 15:54:25 -0800322
Pavel Maltsev8d7f5032018-05-15 14:16:57 -0700323# Exempt for halserverdomain to access sockets. Only builds for automotive
324# device types are allowed to use this attribute (enforced by CTS).
325# Unlike phone, in a car many modules are external from Android perspective and
326# HALs should be able to communicate with those devices through sockets.
327attribute hal_automotive_socket_exemption;
328
dcashman3319d5e2016-11-15 10:05:55 -0800329# HALs
Dan Cashman91d398d2017-09-26 12:58:29 -0700330hal_attribute(allocator);
Wei Wangbc71a612018-09-19 16:06:28 -0700331hal_attribute(atrace);
Tri Vo1156d592018-03-10 14:13:01 -0800332hal_attribute(audio);
Pavel Maltsev43e172a2018-04-10 14:07:14 -0700333hal_attribute(audiocontrol);
David Drysdalec4ab01b2023-10-09 15:05:07 +0100334hal_attribute(authgraph);
Andrew Scull64f35fa2018-01-10 16:11:46 +0000335hal_attribute(authsecret);
Dan Cashman91d398d2017-09-26 12:58:29 -0700336hal_attribute(bluetooth);
Tri Vo1156d592018-03-10 14:13:01 -0800337hal_attribute(bootctl);
Dan Cashman91d398d2017-09-26 12:58:29 -0700338hal_attribute(broadcastradio);
Tri Vo1156d592018-03-10 14:13:01 -0800339hal_attribute(camera);
Tomasz Wasilczyk602b3032019-07-23 17:38:51 -0700340hal_attribute(can_bus);
341hal_attribute(can_controller);
Tri Vo1156d592018-03-10 14:13:01 -0800342hal_attribute(cas);
Pawin Vongmasa609c2432019-04-30 05:09:28 -0700343hal_attribute(codec2);
Dan Cashman91d398d2017-09-26 12:58:29 -0700344hal_attribute(configstore);
Janis Danisevskis97c56bd2018-01-09 17:42:53 -0500345hal_attribute(confirmationui);
Dan Cashman91d398d2017-09-26 12:58:29 -0700346hal_attribute(contexthub);
Tri Vo1156d592018-03-10 14:13:01 -0800347hal_attribute(drm);
Dan Cashman91d398d2017-09-26 12:58:29 -0700348hal_attribute(dumpstate);
Pavel Maltsev43e172a2018-04-10 14:07:14 -0700349hal_attribute(evs);
Zachary Iqbal893272d2018-05-24 00:59:40 -0700350hal_attribute(face);
Sandeep Dhavalef0ea9532022-11-08 23:57:09 +0000351hal_attribute(fastboot);
Dan Cashman91d398d2017-09-26 12:58:29 -0700352hal_attribute(fingerprint);
353hal_attribute(gatekeeper);
354hal_attribute(gnss);
355hal_attribute(graphics_allocator);
356hal_attribute(graphics_composer);
357hal_attribute(health);
Yifan Hong1cef6a92018-09-19 10:24:45 -0700358hal_attribute(health_storage);
David Zeuthenb8b5da42020-01-14 19:44:40 -0500359hal_attribute(identity);
Siarhei Vishniakou41a871b2018-01-17 12:27:06 -0800360hal_attribute(input_classifier);
Siarhei Vishniakouc655bec2022-01-11 23:06:14 +0000361hal_attribute(input_processor);
Dan Cashman91d398d2017-09-26 12:58:29 -0700362hal_attribute(ir);
Yu Shan9eb72462023-04-10 17:33:12 -0700363hal_attribute(ivn);
Dan Cashman91d398d2017-09-26 12:58:29 -0700364hal_attribute(keymaster);
Shawn Willdenb41f4982020-12-11 13:05:27 +0000365hal_attribute(keymint);
Dan Cashman91d398d2017-09-26 12:58:29 -0700366hal_attribute(light);
367hal_attribute(lowpan);
Keith Mokdf794b42023-11-03 20:27:43 +0000368hal_attribute(macsec);
Haofan Wangf5ff3eb2024-10-23 05:30:53 +0000369starting_at_board_api(202504, `
370 hal_attribute(mediaquality);
371')
Dan Cashman91d398d2017-09-26 12:58:29 -0700372hal_attribute(memtrack);
373hal_attribute(neuralnetworks);
374hal_attribute(nfc);
Chris Weir4ac3d742021-10-05 16:53:52 -0700375hal_attribute(nlinterceptor);
Dan Cashman91d398d2017-09-26 12:58:29 -0700376hal_attribute(oemlock);
Steven Moreland7baf7252018-05-25 16:23:37 -0700377hal_attribute(omx);
Dan Cashman91d398d2017-09-26 12:58:29 -0700378hal_attribute(power);
Benjamin Schwartze7040ea2018-12-10 14:59:57 -0800379hal_attribute(power_stats);
Kenny Root76ea3252019-12-03 16:55:43 -0800380hal_attribute(rebootescrow);
Yu Shan05a73892022-09-13 17:06:55 -0700381hal_attribute(remoteaccess);
Shikha Panwar59c97072023-08-22 00:15:39 +0000382hal_attribute(secretkeeper);
Alice Wange79bbf92023-11-14 07:38:18 +0000383hal_attribute(remotelyprovisionedcomponent_avf);
Ruchi Kandoi8a2b4a72018-01-04 10:33:20 -0800384hal_attribute(secure_element);
Dan Cashman91d398d2017-09-26 12:58:29 -0700385hal_attribute(sensors);
386hal_attribute(telephony);
387hal_attribute(tetheroffload);
388hal_attribute(thermal);
Zhanglong Xiab2d1fbb2023-06-14 05:26:15 +0000389hal_attribute(threadnetwork);
Dan Cashman91d398d2017-09-26 12:58:29 -0700390hal_attribute(tv_cec);
Venkatarama Avadhani38ff3b42022-09-19 21:16:07 +0530391hal_attribute(tv_hdmi_cec);
Venkatarama Avadhani5a86d5f2022-12-14 13:10:07 +0530392hal_attribute(tv_hdmi_connection);
393hal_attribute(tv_hdmi_earc);
Dan Cashman91d398d2017-09-26 12:58:29 -0700394hal_attribute(tv_input);
Amy89b4bbd2019-08-09 14:27:17 -0700395hal_attribute(tv_tuner);
Dan Cashman91d398d2017-09-26 12:58:29 -0700396hal_attribute(usb);
Badhri Jagan Sridharan7bee33e2018-01-08 09:29:40 -0800397hal_attribute(usb_gadget);
Michael Ayoubi0be7c672021-06-10 02:01:52 +0000398hal_attribute(uwb);
Roshan Pius65e938e2021-08-24 13:59:07 -0700399# TODO(b/196225233): Remove this attribute and its usages elsewhere
400# once all chip vendors integrate to the new UWB stack.
401hal_attribute(uwb_vendor);
Pavel Maltsev43e172a2018-04-10 14:07:14 -0700402hal_attribute(vehicle);
Dan Cashman91d398d2017-09-26 12:58:29 -0700403hal_attribute(vibrator);
404hal_attribute(vr);
405hal_attribute(weaver);
406hal_attribute(wifi);
Roshan Piusd7b34a42017-12-22 15:03:15 -0800407hal_attribute(wifi_hostapd);
Dan Cashman91d398d2017-09-26 12:58:29 -0700408hal_attribute(wifi_supplicant);
Alex Klyubin9a147042017-04-04 14:56:31 -0700409
410# HwBinder services offered across the core-vendor boundary
411#
412# We annotate server domains with x_server to loosen the coupling between
413# system and vendor images. For example, it should be possible to move a service
414# from one core domain to another, without having to update the vendor image
415# which contains clients of this service.
416
Haoxiang Li741b9cd2019-11-13 11:25:55 -0800417attribute automotive_display_service_server;
Jayant Chowdharyfe0af512019-02-27 10:41:07 -0800418attribute camera_service_server;
Tri Vo1bbbf812019-04-22 10:09:38 -0700419attribute display_service_server;
Changyeon Jo8c126092022-02-10 14:09:02 +0000420attribute evsmanager_service_server;
Seth Moore3accea42022-10-20 14:09:11 -0700421attribute remote_provisioning_service_server;
Tri Vo1bbbf812019-04-22 10:09:38 -0700422attribute scheduler_service_server;
423attribute sensor_service_server;
424attribute stats_service_server;
Darren Hsu70ae5f42021-02-25 18:02:53 +0800425attribute system_suspend_internal_server;
Tri Vo1bbbf812019-04-22 10:09:38 -0700426attribute system_suspend_server;
427attribute wifi_keystore_service_server;
Yifan Honge3ee3902019-03-22 14:14:32 -0700428
429# All types used for super partition block devices.
430attribute super_block_device_type;
Hridya Valsaraju8c9cf622020-12-14 22:57:49 -0800431
432# All types used for DMA-BUF heaps
433attribute dmabuf_heap_device_type;
Hridya Valsarajueab28582020-12-22 18:44:07 -0800434expandattribute dmabuf_heap_device_type false;
Yi-Yo Chiang806898d2021-03-22 13:46:12 +0800435
Elliot Bermanae5869a2023-03-22 17:31:35 -0700436# Types for VM managers
437attribute vm_manager_device_type;
438
Yi-Yo Chiang806898d2021-03-22 13:46:12 +0800439# All types used for DSU metadata files.
440attribute gsi_metadata_file_type;
Alan Stokesfa10a142021-07-12 14:21:48 +0100441
442# Types used for module-specific APEX data directories under
443# /data/{misc,misc_ce,misc_de}/apexdata.
444attribute apex_data_file_type;
Yifan Hong4238b0e2021-10-25 17:58:04 -0700445
446# Domains used for charger.
447# This is the common type for domains that executes charger's
448# functionalities, including setting and getting necessary properties,
449# permissions to maintain the health loop, writing to kernel log, handling
450# inputs and drawing screens, etc.
451attribute charger_type;
Jiakai Zhang22fb5c72023-03-30 15:50:05 +0100452
453# All types of ART properties.
454attribute dalvik_config_prop_type;
Nikita Ioffe48966b62024-10-22 14:01:17 +0000455
456# All tee services that can be accessed by VMs
457starting_at_board_api(202504, `
458 attribute tee_service_type;
459')