From 6fe9367f7bb636d63a856d29944b4f229c3d01e2 Mon Sep 17 00:00:00 2001 From: Po-yao Chang Date: Thu, 10 Aug 2023 17:03:34 +0800 Subject: [PATCH] Run boringssl tests according to ro.zygote If ro.zygote is zygote64, don't bother running 32-bit test. Otherwise abilist{32,64} decides what tests to run. Bug: 291874369 Test: make gsi_arm64-user; Check /system/etc/init/hw Change-Id: Id10b2242606d6400acc29c3174f713581d6cce2e --- rootdir/Android.bp | 18 ++++++++++++++++++ rootdir/init.boringssl.zygote64.rc | 4 ++++ rootdir/init.boringssl.zygote64_32.rc | 8 ++++++++ rootdir/init.rc | 9 +-------- 4 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 rootdir/init.boringssl.zygote64.rc create mode 100644 rootdir/init.boringssl.zygote64_32.rc diff --git a/rootdir/Android.bp b/rootdir/Android.bp index e98733ada..c8a3cd61c 100644 --- a/rootdir/Android.bp +++ b/rootdir/Android.bp @@ -16,6 +16,22 @@ package { default_applicable_licenses: ["Android-Apache-2.0"], } +prebuilt_etc { + name: "init.boringssl.zygote64_32.rc", + src: "init.boringssl.zygote64_32.rc", + sub_dir: "init/hw", + symlinks: [ + "init.boringssl.zygote32.rc", + "init.boringssl.no_zygote.rc", + ], +} + +prebuilt_etc { + name: "init.boringssl.zygote64.rc", + src: "init.boringssl.zygote64.rc", + sub_dir: "init/hw", +} + prebuilt_etc { name: "init.rc", src: "init.rc", @@ -23,6 +39,8 @@ prebuilt_etc { required: [ "fsverity_init", "platform-bootclasspath", + "init.boringssl.zygote64.rc", + "init.boringssl.zygote64_32.rc", ], } diff --git a/rootdir/init.boringssl.zygote64.rc b/rootdir/init.boringssl.zygote64.rc new file mode 100644 index 000000000..3f49fea8b --- /dev/null +++ b/rootdir/init.boringssl.zygote64.rc @@ -0,0 +1,4 @@ +on init && property:ro.product.cpu.abilist64=* + exec_start boringssl_self_test64 +on property:apexd.status=ready && property:ro.product.cpu.abilist64=* + exec_start boringssl_self_test_apex64 diff --git a/rootdir/init.boringssl.zygote64_32.rc b/rootdir/init.boringssl.zygote64_32.rc new file mode 100644 index 000000000..c0be42dbb --- /dev/null +++ b/rootdir/init.boringssl.zygote64_32.rc @@ -0,0 +1,8 @@ +on init && property:ro.product.cpu.abilist32=* + exec_start boringssl_self_test32 +on init && property:ro.product.cpu.abilist64=* + exec_start boringssl_self_test64 +on property:apexd.status=ready && property:ro.product.cpu.abilist32=* + exec_start boringssl_self_test_apex32 +on property:apexd.status=ready && property:ro.product.cpu.abilist64=* + exec_start boringssl_self_test_apex64 diff --git a/rootdir/init.rc b/rootdir/init.rc index 8f01d932b..56bcedfbe 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -461,14 +461,7 @@ on init start vndservicemanager # Run boringssl self test for each ABI. Any failures trigger reboot to firmware. -on init && property:ro.product.cpu.abilist32=* - exec_start boringssl_self_test32 -on init && property:ro.product.cpu.abilist64=* - exec_start boringssl_self_test64 -on property:apexd.status=ready && property:ro.product.cpu.abilist32=* - exec_start boringssl_self_test_apex32 -on property:apexd.status=ready && property:ro.product.cpu.abilist64=* - exec_start boringssl_self_test_apex64 +import /system/etc/init/hw/init.boringssl.${ro.zygote}.rc service boringssl_self_test32 /system/bin/boringssl_self_test32 reboot_on_failure reboot,boringssl-self-check-failed