efi_loader: SignalEvent for event in signaled state
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Wed, 5 Jun 2019 23:51:50 +0000 (01:51 +0200)
committerHeinrich Schuchardt <xypron.glpk@gmx.de>
Mon, 10 Jun 2019 21:06:19 +0000 (23:06 +0200)
If an event is already in the signaled state, SignalEvent should not queue
the notification function but simply return EFI_SUCCESS.

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

index c7e2ecbf00f60722c9ead08c3a4aacefb3fccce7..74aa5f9b7ca24b334a86bfc0892adb4df533675b 100644 (file)
@@ -221,6 +221,8 @@ efi_status_t is_valid_tpl(efi_uintn_t tpl)
  */
 void efi_signal_event(struct efi_event *event, bool check_tpl)
 {
+       if (event->is_signaled)
+               return;
        if (event->group) {
                struct efi_event *evt;