Structure jmp_buf_data provides the underlying format of jmp_buf, which
we actually don't care about. Clean up existing code to use the standard
jmp_buf type. This introduces no functional change.

Signed-off-by: Yao Zi <zi...@disroot.org>
---
 include/efi_loader.h          | 4 ++--
 lib/efi_loader/efi_boottime.c | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/include/efi_loader.h b/include/efi_loader.h
index dcae6a731a0..4afe8b9c859 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -15,13 +15,13 @@
 #include <efi_api.h>
 #include <image.h>
 #include <pe.h>
+#include <asm/setjmp.h>
 #include <linux/list.h>
 #include <linux/sizes.h>
 #include <linux/oid_registry.h>
 
 struct blk_desc;
 struct bootflow;
-struct jmp_buf_data;
 
 #if CONFIG_IS_ENABLED(EFI_LOADER)
 
@@ -485,7 +485,7 @@ struct efi_loaded_image_obj {
        efi_status_t *exit_status;
        efi_uintn_t *exit_data_size;
        u16 **exit_data;
-       struct jmp_buf_data *exit_jmp;
+       jmp_buf *exit_jmp;
        EFIAPI efi_status_t (*entry)(efi_handle_t image_handle,
                                     struct efi_system_table *st);
        u16 image_type;
diff --git a/lib/efi_loader/efi_boottime.c b/lib/efi_loader/efi_boottime.c
index 5164cb15986..80c56b1ee46 100644
--- a/lib/efi_loader/efi_boottime.c
+++ b/lib/efi_loader/efi_boottime.c
@@ -3199,7 +3199,7 @@ efi_status_t EFIAPI efi_start_image(efi_handle_t 
image_handle,
        void *info;
        efi_handle_t parent_image = current_image;
        efi_status_t exit_status;
-       struct jmp_buf_data exit_jmp;
+       jmp_buf exit_jmp;
 
        EFI_ENTRY("%p, %p, %p", image_handle, exit_data_size, exit_data);
 
@@ -3238,7 +3238,7 @@ efi_status_t EFIAPI efi_start_image(efi_handle_t 
image_handle,
        }
 
        /* call the image! */
-       if (setjmp(&exit_jmp)) {
+       if (setjmp(exit_jmp)) {
                /*
                 * We called the entry point of the child image with EFI_CALL
                 * in the lines below. The child image called the Exit() boot
@@ -3444,7 +3444,7 @@ static efi_status_t EFIAPI efi_exit(efi_handle_t 
image_handle,
        struct efi_loaded_image *loaded_image_protocol;
        struct efi_loaded_image_obj *image_obj =
                (struct efi_loaded_image_obj *)image_handle;
-       struct jmp_buf_data *exit_jmp;
+       jmp_buf *exit_jmp;
 
        EFI_ENTRY("%p, %ld, %zu, %p", image_handle, exit_status,
                  exit_data_size, exit_data);
@@ -3511,7 +3511,7 @@ static efi_status_t EFIAPI efi_exit(efi_handle_t 
image_handle,
         */
        efi_restore_gd();
 
-       longjmp(exit_jmp, 1);
+       longjmp(*exit_jmp, 1);
 
        panic("EFI application exited");
 out:
-- 
2.48.1

Reply via email to