]> git.baikalelectronics.ru Git - uboot.git/commit
efi_loader: infinite recursion notifying events
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Sat, 11 May 2019 19:44:59 +0000 (21:44 +0200)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Sun, 12 May 2019 18:54:22 +0000 (20:54 +0200)
commitcf9d09dc5b8e35e41f7dbf14977be69fb0ceda86
tree5962f273c5676c18024b7534bd6b13c7bd94f564
parent33cad9b634ed94b59426b503c9b3a8d12b7fced8
efi_loader: infinite recursion notifying events

UEFI SCT uses this call sequence to determine the current TPL level inside
notification functions:

    OldTpl = BS->RaiseTPL(TPL_HIGH_LEVEL);
    BS->RestoreTPL(OldTpl);

In RestoreTPL() we trigger the notification function of queued events. If
we do not mark the event as non-queued before calling the notification
function, this results in an infinite recursive call sequence.

Mark the event as non-queued before entering the notification function.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_loader/efi_boottime.c