diff --git a/src/boot/efi/log.c b/src/boot/efi/log.c index 93631aca94..dd651bf18e 100644 --- a/src/boot/efi/log.c +++ b/src/boot/efi/log.c @@ -79,6 +79,9 @@ void __stack_chk_guard_init(void) { EFI_RNG_PROTOCOL *rng; if (BS->LocateProtocol(MAKE_GUID_PTR(EFI_RNG_PROTOCOL), NULL, (void **) &rng) == EFI_SUCCESS) (void) rng->GetRNG(rng, NULL, sizeof(__stack_chk_guard), (void *) &__stack_chk_guard); + else + /* Better than no extra entropy. */ + __stack_chk_guard ^= (intptr_t) &__ImageBase; } #endif