On 3/2/25 15:21, Heinrich Schuchardt wrote:
> From: Yao Zi <[email protected]>
> 
> 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 <[email protected]>
> ---
>  include/efi_loader.h          | 4 ++--
>  lib/efi_loader/efi_boottime.c | 9 ++++-----
>  2 files changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/include/efi_loader.h b/include/efi_loader.h
> index 1d75d97ebbc..22b724f311a 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 <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 bdf9e7e8066..853a1c8c097 100644
> --- a/lib/efi_loader/efi_boottime.c
> +++ b/lib/efi_loader/efi_boottime.c
> @@ -21,7 +21,6 @@
>  #include <usb.h>
>  #include <watchdog.h>
>  #include <asm/global_data.h>
> -#include <setjmp.h>
>  #include <linux/libfdt_env.h>
>  
>  DECLARE_GLOBAL_DATA_PTR;
> @@ -3199,7 +3198,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 +3237,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 +3443,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 +3510,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:

Reviewed-by: Jerome Forissier <[email protected]>

Regards,
-- 
Jerome

Reply via email to