iPXE - Open Source Boot Firmware

[efi] Drop to TPL_APPLICATION when gathering entropy
authorMichael Brown <mcb30@ipxe.org>
Mon, 12 Mar 2018 10:55:28 +0000 (10:55 +0000)
committerMichael Brown <mcb30@ipxe.org>
Mon, 12 Mar 2018 11:02:19 +0000 (11:02 +0000)
commitd8c500b7945e57023dde5bd0be2b0e40963315d9
treee1303ba73b7dcf7600e3d96b57d4c143d4ea1cc5
parentc84f9d67272beaed98f98bf308471df16340a3be
[efi] Drop to TPL_APPLICATION when gathering entropy

Commit c89a446 ("[efi] Run at TPL_CALLBACK to protect against UEFI
timers") introduced a regression in the EFI entropy gathering code.
When the EFI_RNG_PROTOCOL is not present, we fall back to using timer
interrupts (as for the BIOS build).  Since timer interrupts are
disabled at TPL_CALLBACK, WaitForEvent() fails and no entropy can be
gathered.

Fix by dropping to TPL_APPLICATION while entropy gathering is enabled.

Reported-by: Andreas Hammarskj√∂ld <junior@2PintSoftware.com>
Tested-by: Andreas Hammarskj√∂ld <junior@2PintSoftware.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/interface/efi/efi_entropy.c