blob: 9cb6b0c008e601fd7680884e65c9b44f98e1e6e9 [file] [log] [blame]
Dan Willemsen2acbec52017-09-14 17:28:36 -07001// Copyright (C) 2015 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Common variables.
16// =========================================================
Bob Badour5f579b82021-02-12 21:18:40 -080017package {
18 default_applicable_licenses: ["external_minijail_license"],
19}
20
21// Added automatically by a large-scale-change that took the approach of
22// 'apply every license found to every target'. While this makes sure we respect
23// every license restriction, it may not be entirely correct.
24//
25// e.g. GPL in an MIT project might only apply to the contrib/ directory.
26//
27// Please consider splitting the single license below into multiple licenses,
28// taking care not to lose any license_kind information, and overriding the
29// default license using the 'licenses: [...]' property on targets as needed.
30//
31// For unused files, consider creating a 'fileGroup' with "//visibility:private"
32// to attach the license to, and including a comment whether the files may be
33// used in the current project.
34//
35// large-scale-change included anything that looked like it might be a license
36// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
37//
38// Please consider removing redundant or irrelevant files from 'license_text:'.
39// See: http://go/android-license-faq
40license {
41 name: "external_minijail_license",
42 visibility: [":__subpackages__"],
43 license_kinds: [
44 "SPDX-license-identifier-Apache-2.0",
45 "SPDX-license-identifier-BSD",
46 ],
47 license_text: [
48 "LICENSE",
49 "NOTICE",
50 ],
51}
52
Dan Willemsen2acbec52017-09-14 17:28:36 -070053libminijailSrcFiles = [
54 "bpf.c",
55 "libminijail.c",
56 "signal_handler.c",
57 "syscall_filter.c",
58 "syscall_wrapper.c",
59 "system.c",
60 "util.c",
61]
62
63unittestSrcFiles = [
64 "testrunner.cc",
65]
66
67minijailCommonLibraries = ["libcap"]
68
69cc_defaults {
70 name: "libminijail_flags",
71 cflags: [
Luis Hector Chavezc3e17722018-10-16 20:43:12 -070072 "-D_FILE_OFFSET_BITS=64",
Mike Frysinger916c6c32018-09-27 14:17:53 -040073 "-DALLOW_DEBUG_LOGGING",
Nicole Anderson-Aubcc8cfd2020-11-10 20:33:27 +000074 "-DALLOW_DUPLICATE_SYSCALLS",
Allen Webbee876072019-02-21 10:56:21 -080075 "-DDEFAULT_PIVOT_ROOT=\"/var/empty\"",
Dan Willemsen2acbec52017-09-14 17:28:36 -070076 "-Wall",
77 "-Werror",
78 ],
Mike Frysinger32a3b692021-04-17 10:23:54 -040079 c_std: "gnu11",
Dan Willemsen2acbec52017-09-14 17:28:36 -070080 target: {
81 darwin: {
82 enabled: false,
83 },
84 },
85}
86
87// Static library for generated code.
88// =========================================================
89cc_object {
90 name: "libminijail_gen_syscall_obj",
91 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +090092 product_available: true,
Jiyong Park85e7a262018-05-24 14:09:04 +090093 recovery_available: true,
Dan Willemsen2acbec52017-09-14 17:28:36 -070094 srcs: ["gen_syscalls.c"],
95 cflags: [
96 "-dD",
97 "-E",
Chih-Hung Hsiehed6a82e2017-10-04 10:54:11 -070098 "-Wall",
99 "-Werror",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700100 ],
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900101 apex_available: [
102 "//apex_available:platform",
103 "com.android.adbd",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700104 "com.android.compos",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900105 "com.android.media.swcodec",
Jiyong Park1081a942020-12-07 15:09:28 +0900106 "com.android.virt",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900107 ],
Jooyung Han42b623b2020-04-16 18:48:30 +0900108 min_sdk_version: "29",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700109}
110
111cc_genrule {
112 name: "libminijail_gen_syscall",
113 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900114 product_available: true,
Jiyong Park85e7a262018-05-24 14:09:04 +0900115 recovery_available: true,
Dan Willemsen2acbec52017-09-14 17:28:36 -0700116 tool_files: ["gen_syscalls.sh"],
117 cmd: "$(location gen_syscalls.sh) $(in) $(out)",
118 srcs: [":libminijail_gen_syscall_obj"],
119 out: ["libsyscalls.c"],
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900120 apex_available: [
121 "//apex_available:platform",
122 "com.android.adbd",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700123 "com.android.compos",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900124 "com.android.media.swcodec",
Jiyong Park1081a942020-12-07 15:09:28 +0900125 "com.android.virt",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900126 ],
Dan Willemsen2acbec52017-09-14 17:28:36 -0700127}
128
129cc_object {
130 name: "libminijail_gen_constants_obj",
131 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900132 product_available: true,
Jiyong Park85e7a262018-05-24 14:09:04 +0900133 recovery_available: true,
Dan Willemsen2acbec52017-09-14 17:28:36 -0700134 srcs: ["gen_constants.c"],
135 cflags: [
136 "-dD",
137 "-E",
Chih-Hung Hsiehed6a82e2017-10-04 10:54:11 -0700138 "-Wall",
139 "-Werror",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700140 ],
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900141 apex_available: [
142 "//apex_available:platform",
143 "com.android.adbd",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700144 "com.android.compos",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900145 "com.android.media.swcodec",
Jiyong Park1081a942020-12-07 15:09:28 +0900146 "com.android.virt",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900147 ],
Jooyung Han42b623b2020-04-16 18:48:30 +0900148 min_sdk_version: "29",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700149}
150
151cc_genrule {
152 name: "libminijail_gen_constants",
153 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900154 product_available: true,
Jiyong Park85e7a262018-05-24 14:09:04 +0900155 recovery_available: true,
Dan Willemsen2acbec52017-09-14 17:28:36 -0700156 tool_files: ["gen_constants.sh"],
157 cmd: "$(location gen_constants.sh) $(in) $(out)",
158 srcs: [":libminijail_gen_constants_obj"],
159 out: ["libconstants.c"],
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900160 apex_available: [
161 "//apex_available:platform",
162 "com.android.adbd",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700163 "com.android.compos",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900164 "com.android.media.swcodec",
Jiyong Park1081a942020-12-07 15:09:28 +0900165 "com.android.virt",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900166 ],
Dan Willemsen2acbec52017-09-14 17:28:36 -0700167}
168
169cc_library_static {
170 name: "libminijail_generated",
171 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900172 product_available: true,
Jiyong Park85e7a262018-05-24 14:09:04 +0900173 recovery_available: true,
Dan Willemsen2acbec52017-09-14 17:28:36 -0700174 defaults: ["libminijail_flags"],
175 host_supported: true,
176
177 target: {
178 android: {
179 generated_sources: [
180 "libminijail_gen_syscall",
181 "libminijail_gen_constants",
182 ],
183 },
184 host: {
185 srcs: [
186 "linux-x86/libconstants.gen.c",
187 "linux-x86/libsyscalls.gen.c",
188 ],
189 },
190 },
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900191 apex_available: [
192 "//apex_available:platform",
193 "com.android.adbd",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700194 "com.android.compos",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900195 "com.android.media.swcodec",
Jiyong Park1081a942020-12-07 15:09:28 +0900196 "com.android.virt",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900197 ],
Jooyung Han42b623b2020-04-16 18:48:30 +0900198 min_sdk_version: "29",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700199}
200
Luis Hector Chavezc90ec152019-12-13 09:12:33 -0800201cc_object {
202 name: "libminijail_gen_constants_llvmir",
203 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900204 product_available: true,
Luis Hector Chavezc90ec152019-12-13 09:12:33 -0800205 recovery_available: true,
206 host_supported: true,
207 cflags: [
208 "-S",
209 "-O0",
210 "-emit-llvm",
211 ],
212
213 target: {
214 android: {
215 generated_sources: ["libminijail_gen_constants"],
216 },
217 host: {
218 srcs: ["linux-x86/libconstants.gen.c"],
219 },
220 },
221}
222
223cc_object {
224 name: "libminijail_gen_syscall_llvmir",
225 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900226 product_available: true,
Luis Hector Chavezc90ec152019-12-13 09:12:33 -0800227 recovery_available: true,
228 host_supported: true,
229 cflags: [
230 "-S",
231 "-O0",
232 "-emit-llvm",
233 ],
234
235 target: {
236 android: {
237 generated_sources: ["libminijail_gen_syscall"],
238 },
239 host: {
240 srcs: ["linux-x86/libsyscalls.gen.c"],
241 },
242 },
243}
244
Dan Willemsen2acbec52017-09-14 17:28:36 -0700245// libminijail shared and static library for target.
246// =========================================================
247cc_library {
248 name: "libminijail",
Luis Hector Chavez413af652018-04-19 20:15:13 -0700249 host_supported: true,
Logan Chien9460f602017-11-21 20:32:45 +0800250
Dan Willemsen2acbec52017-09-14 17:28:36 -0700251 vendor_available: true,
Justin Yuned25bf32020-11-11 18:21:21 +0900252 product_available: true,
Jiyong Park85e7a262018-05-24 14:09:04 +0900253 recovery_available: true,
Logan Chien9460f602017-11-21 20:32:45 +0800254 vndk: {
255 enabled: true,
256 },
257
Dan Willemsen2acbec52017-09-14 17:28:36 -0700258 defaults: ["libminijail_flags"],
259
260 srcs: libminijailSrcFiles,
261
262 static: {
263 whole_static_libs: ["libminijail_generated"] + minijailCommonLibraries,
264 },
265 shared: {
266 static_libs: ["libminijail_generated"],
267 shared_libs: minijailCommonLibraries,
268 },
269 export_include_dirs: ["."],
Luis Hector Chavez413af652018-04-19 20:15:13 -0700270
271 target: {
272 host: {
273 cflags: [
274 "-DPRELOADPATH=\"/invalidminijailpreload.so\"",
275 ],
276 },
277 },
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900278 apex_available: [
279 "//apex_available:platform",
280 "com.android.adbd",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700281 "com.android.compos",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900282 "com.android.media.swcodec",
Jiyong Park1081a942020-12-07 15:09:28 +0900283 "com.android.virt",
Jiyong Parke3a5cae2020-04-08 22:37:24 +0900284 ],
Jooyung Han42b623b2020-04-16 18:48:30 +0900285 min_sdk_version: "29",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700286}
287
288// Example ASan-ified libminijail shared library for target.
289// Commented out since it's only needed for local debugging.
290// =========================================================
291//cc_library_shared {
292// name: "libminijail_asan",
293// defaults: ["libminijail_flags"],
294//
295// sanitize: {
296// address: true,
297// },
298// relative_install_path: "asan",
299// srcs: libminijailSrcFiles,
300//
301// static_libs: ["libminijail_generated"],
302// shared_libs: minijailCommonLibraries,
303// export_include_dirs: ["."],
304//}
305
306// libminijail native unit tests using gtest.
307//
308// For a device, run with:
309// adb shell /data/nativetest/libminijail_unittest_gtest/libminijail_unittest_gtest
310//
311// For host, run with:
312// out/host/linux-x86/nativetest(64)/libminijail_unittest_gtest/libminijail_unittest_gtest
313// =========================================================
314cc_test {
315 name: "libminijail_unittest_gtest",
316 defaults: ["libminijail_flags"],
317 // TODO(b/31395668): Re-enable once the seccomp(2) syscall becomes available.
318 //host_supported: true
319
320 srcs: libminijailSrcFiles + ["libminijail_unittest.cc"] + unittestSrcFiles,
321
322 static_libs: ["libminijail_generated"],
323 shared_libs: minijailCommonLibraries,
324
325 target: {
326 android: {
327 cflags: ["-Wno-writable-strings"],
328 test_suites: ["device-tests"],
329 },
330 host: {
331 cflags: ["-DPRELOADPATH=\"/invalid\""],
332 },
333 },
334}
335
336// Syscall filtering native unit tests using gtest.
337//
338// For a device, run with:
339// adb shell /data/nativetest/syscall_filter_unittest_gtest/syscall_filter_unittest_gtest
340//
341// For host, run with:
342// out/host/linux-x86/nativetest(64)/syscall_filter_unittest_gtest/syscall_filter_unittest_gtest
343// =========================================================
344cc_test {
345 name: "syscall_filter_unittest_gtest",
346 defaults: ["libminijail_flags"],
347 host_supported: true,
348
349 srcs: [
350 "bpf.c",
351 "syscall_filter.c",
Luis Héctor Chávez01b628c2021-01-03 05:46:57 -0800352 "syscall_wrapper.c",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700353 "util.c",
354 "syscall_filter_unittest.cc",
355 ] + unittestSrcFiles,
356
357 static_libs: ["libminijail_generated"],
358 shared_libs: minijailCommonLibraries,
359
360 target: {
361 android: {
362 test_suites: ["device-tests"],
363 },
364 },
Julien Desprez28fd8402021-02-10 11:01:17 -0800365 test_options: {
366 unit_test: true,
367 },
368 data: ["test/*"],
Dan Willemsen2acbec52017-09-14 17:28:36 -0700369}
370
371// System functionality unit tests using gtest.
372//
373// For a device, run with:
Jorge Lucangeli Obes1ed75bc2018-01-25 14:06:42 -0500374// adb shell /data/nativetest/mj_system_unittest_gtest/mj_system_unittest_gtest
Dan Willemsen2acbec52017-09-14 17:28:36 -0700375//
376// For host, run with:
Jorge Lucangeli Obes1ed75bc2018-01-25 14:06:42 -0500377// out/host/linux-x86/nativetest(64)/mj_system_unittest_gtest/mj_system_unittest_gtest
Dan Willemsen2acbec52017-09-14 17:28:36 -0700378// =========================================================
379cc_test {
Jorge Lucangeli Obes1ed75bc2018-01-25 14:06:42 -0500380 name: "mj_system_unittest_gtest",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700381 defaults: ["libminijail_flags"],
382 host_supported: true,
383
384 srcs: [
Luis Héctor Chávez01b628c2021-01-03 05:46:57 -0800385 "syscall_wrapper.c",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700386 "system.c",
387 "util.c",
388 "system_unittest.cc",
389 ] + unittestSrcFiles,
390
391 static_libs: ["libminijail_generated"],
392 shared_libs: minijailCommonLibraries,
393
394 target: {
395 android: {
396 test_suites: ["device-tests"],
397 },
398 },
399}
400
Mike Frysinger32c39922018-01-17 17:09:54 -0500401// Utility functionality unit tests using gtest.
402//
403// For a device, run with:
Jorge Lucangeli Obes1ed75bc2018-01-25 14:06:42 -0500404// adb shell /data/nativetest/mj_util_unittest_gtest/mj_util_unittest_gtest
Mike Frysinger32c39922018-01-17 17:09:54 -0500405//
406// For host, run with:
Jorge Lucangeli Obes1ed75bc2018-01-25 14:06:42 -0500407// out/host/linux-x86/nativetest(64)/mj_util_unittest_gtest/mj_util_unittest_gtest
Mike Frysinger32c39922018-01-17 17:09:54 -0500408// =========================================================
409cc_test {
Jorge Lucangeli Obes1ed75bc2018-01-25 14:06:42 -0500410 name: "mj_util_unittest_gtest",
Mike Frysinger32c39922018-01-17 17:09:54 -0500411 defaults: ["libminijail_flags"],
412 host_supported: true,
413
414 srcs: [
415 "util.c",
416 "util_unittest.cc",
417 ] + unittestSrcFiles,
418
419 static_libs: ["libminijail_generated"],
420 shared_libs: minijailCommonLibraries,
421
422 target: {
423 android: {
424 test_suites: ["device-tests"],
425 },
426 },
427}
428
Mike Frysinger4d2a81e2018-01-22 16:43:33 -0500429// Utility functionality unit tests using gtest.
430//
431// For a device, run with:
432// adb shell /data/nativetest/minijail0_cli_unittest_gtest/minijail0_cli_unittest_gtest
433//
434// For host, run with:
435// out/host/linux-x86/nativetest(64)/minijail0_cli_unittest_gtest/minijail0_cli_unittest_gtest
436// =========================================================
437cc_test {
438 name: "minijail0_cli_unittest_gtest",
439 defaults: ["libminijail_flags"],
440 host_supported: true,
441
442 cflags: [
443 "-DPRELOADPATH=\"/invalid\"",
444 ],
445 srcs: libminijailSrcFiles + [
446 "elfparse.c",
447 "minijail0_cli.c",
448 "minijail0_cli_unittest.cc",
449 ] + unittestSrcFiles,
450
451 static_libs: ["libminijail_generated"],
452 shared_libs: minijailCommonLibraries,
453
454 target: {
455 android: {
456 test_suites: ["device-tests"],
457 },
458 },
459}
460
Dan Willemsen2acbec52017-09-14 17:28:36 -0700461// libminijail_test executable for brillo_Minijail test.
462// =========================================================
463cc_test {
464 name: "libminijail_test",
465 defaults: ["libminijail_flags"],
466 test_suites: ["device-tests"],
467
468 gtest: false,
469
470 srcs: ["test/libminijail_test.cpp"],
471
472 shared_libs: [
473 "libbase",
474 "libminijail",
475 ],
476}
477
478// libminijail usage example.
479// =========================================================
480cc_binary {
481 name: "drop_privs",
482 defaults: ["libminijail_flags"],
483
484 // Don't build with ASan, but leave commented out for easy local debugging.
485 // sanitize: { address: true, },
486 srcs: ["examples/drop_privs.cpp"],
487
488 shared_libs: [
489 "libbase",
490 "libminijail",
491 ],
492}
493
494// minijail0 executable.
495// This is not currently used on Brillo/Android,
496// but it's convenient to be able to build it.
497// =========================================================
498cc_binary {
499 name: "minijail0",
500 defaults: ["libminijail_flags"],
Luis Hector Chavez413af652018-04-19 20:15:13 -0700501 host_supported: true,
Dan Willemsen2acbec52017-09-14 17:28:36 -0700502
503 cflags: [
Dan Willemsen2acbec52017-09-14 17:28:36 -0700504 "-DPRELOADPATH=\"/invalidminijailpreload.so\"",
505 ],
506 srcs: [
507 "elfparse.c",
508 "minijail0.c",
Mike Frysinger5ef22ca2018-01-20 13:42:10 -0500509 "minijail0_cli.c",
Dan Willemsen2acbec52017-09-14 17:28:36 -0700510 ],
511
512 static_libs: ["libminijail_generated"],
513 shared_libs: minijailCommonLibraries + ["libminijail"],
514}
Lingfeng Yanga111f542020-02-20 08:50:39 -0800515
Yo Chiang81df0662020-07-25 19:40:44 +0800516rust_defaults {
517 name: "libminijail_rust_defaults",
518 target: {
519 darwin: {
520 enabled: false,
521 },
522 },
523}
524
Andrew Walbran9bd40192020-06-05 14:44:30 +0100525// This target was generated by cargo2android.py --run --device, with some
526// manual fixes.
Andrew Walbran7f5b63b2020-07-21 14:30:42 +0100527rust_library {
Lingfeng Yanga111f542020-02-20 08:50:39 -0800528 name: "libminijail_sys",
Yo Chiang81df0662020-07-25 19:40:44 +0800529 defaults: ["libminijail_rust_defaults"],
Andrew Walbran9bd40192020-06-05 14:44:30 +0100530 host_supported: true,
Lingfeng Yanga111f542020-02-20 08:50:39 -0800531 crate_name: "minijail_sys",
Allen Webb96dd14e2020-06-17 08:33:50 -0700532 srcs: ["rust/minijail-sys/lib.rs"],
Lingfeng Yanga111f542020-02-20 08:50:39 -0800533 edition: "2018",
Andrew Walbran7f5b63b2020-07-21 14:30:42 +0100534 rustlibs: [
Lingfeng Yanga111f542020-02-20 08:50:39 -0800535 "liblibc",
536 ],
Lingfeng Yanga111f542020-02-20 08:50:39 -0800537 shared_libs: [
538 "libcap",
Alistair Delva54fa7322020-08-24 13:01:05 -0700539 "libminijail",
Lingfeng Yanga111f542020-02-20 08:50:39 -0800540 ],
Jiyong Park1081a942020-12-07 15:09:28 +0900541 apex_available: [
542 "//apex_available:platform",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700543 "com.android.compos",
Jiyong Park1081a942020-12-07 15:09:28 +0900544 "com.android.virt",
545 ],
Lingfeng Yanga111f542020-02-20 08:50:39 -0800546}
Alistair Delva9072fad2020-07-20 22:57:57 -0700547
548// This target was generated by cargo2android.py --run --device, with some
549// manual fixes.
Andrew Walbran7f5b63b2020-07-21 14:30:42 +0100550rust_library {
Alistair Delva9072fad2020-07-20 22:57:57 -0700551 name: "libminijail_rust",
Yo Chiang81df0662020-07-25 19:40:44 +0800552 defaults: ["libminijail_rust_defaults"],
Alistair Delva9072fad2020-07-20 22:57:57 -0700553 host_supported: true,
554 crate_name: "minijail",
555 srcs: ["rust/minijail/src/lib.rs"],
556 edition: "2018",
Andrew Walbran7f5b63b2020-07-21 14:30:42 +0100557 rustlibs: [
Alistair Delva9072fad2020-07-20 22:57:57 -0700558 "liblibc",
559 "libminijail_sys",
560 ],
Jiyong Park1081a942020-12-07 15:09:28 +0900561 apex_available: [
562 "//apex_available:platform",
Victor Hsieh14ad2ce2021-05-11 12:36:06 -0700563 "com.android.compos",
Jiyong Park1081a942020-12-07 15:09:28 +0900564 "com.android.virt",
565 ],
Alistair Delva9072fad2020-07-20 22:57:57 -0700566}