Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8301b33d authored by Pete Bentley's avatar Pete Bentley Committed by Alain Vongsouvanh
Browse files

Move boringssl self tests from early-init to init.

In previous releases, these self tests had a secondary purpose
of writing a flag file to save future processes from running
some slow self checks.  This is no longer true in T.

However running the tests from early-init has caused issues
on some devices as the kernel's entropy pool is not yet
initialised, causing the process to block for a second or more.

Bug: 231946889
Bug: 249037600
Test: m && flashall
Change-Id: I2116f2029ca6a21e4359407dfff4dc79edd39084
Merged-In: I2116f2029ca6a21e4359407dfff4dc79edd39084
parent 4fb1bf6e
Loading
Loading
Loading
Loading
+27 −26
Original line number Diff line number Diff line
@@ -86,32 +86,6 @@ on early-init
    mkdir /dev/sys/fs 0755 system system
    mkdir /dev/sys/block 0755 system system

# Run boringssl self test for each ABI so that later processes can skip it. http://b/139348610
on early-init && property:ro.product.cpu.abilist32=*
    exec_start boringssl_self_test32
on early-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

service boringssl_self_test32 /system/bin/boringssl_self_test32
    reboot_on_failure reboot,boringssl-self-check-failed
    stdio_to_kmsg

service boringssl_self_test64 /system/bin/boringssl_self_test64
    reboot_on_failure reboot,boringssl-self-check-failed
    stdio_to_kmsg

service boringssl_self_test_apex32 /apex/com.android.conscrypt/bin/boringssl_self_test32
    reboot_on_failure reboot,boringssl-self-check-failed
    stdio_to_kmsg

service boringssl_self_test_apex64 /apex/com.android.conscrypt/bin/boringssl_self_test64
    reboot_on_failure reboot,boringssl-self-check-failed
    stdio_to_kmsg

on init
    sysclktz 0

@@ -502,6 +476,33 @@ on init
    start hwservicemanager
    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

service boringssl_self_test32 /system/bin/boringssl_self_test32
    reboot_on_failure reboot,boringssl-self-check-failed
    stdio_to_kmsg

service boringssl_self_test64 /system/bin/boringssl_self_test64
    reboot_on_failure reboot,boringssl-self-check-failed
    stdio_to_kmsg

service boringssl_self_test_apex32 /apex/com.android.conscrypt/bin/boringssl_self_test32
    reboot_on_failure reboot,boringssl-self-check-failed
    stdio_to_kmsg

service boringssl_self_test_apex64 /apex/com.android.conscrypt/bin/boringssl_self_test64
    reboot_on_failure reboot,boringssl-self-check-failed
    stdio_to_kmsg


# Healthd can trigger a full boot from charger mode by signaling this
# property when the power button is held.
on property:sys.boot_from_charger_mode=1