From: xypron.glpk@gmx.de Date: Thu, 17 Aug 2017 16:57:36 +0000 (+0200) Subject: efi_loader: do not cast return value in EFI_EXIT X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=c81883dfce7360148c72922b93bfa16b399ee3ee;p=u-boot.git efi_loader: do not cast return value in EFI_EXIT UEFI API functions have different return types. Some return a value of type EFI_STATUS other don't. We therefore should not cast the return value of EFI_EXIT to another type than the expression passed to EFI_EXIT. Signed-off-by: Heinrich Schuchardt Signed-off-by: Alexander Graf --- diff --git a/include/efi_loader.h b/include/efi_loader.h index 037cc7c543..1179234f68 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -33,9 +33,9 @@ const char *__efi_nesting_dec(void); * Exit the u-boot world back to UEFI: */ #define EFI_EXIT(ret) ({ \ - efi_status_t _r = ret; \ + typeof(ret) _r = ret; \ debug("%sEFI: Exit: %s: %u\n", __efi_nesting_dec(), \ - __func__, (u32)(_r & ~EFI_ERROR_MASK)); \ + __func__, (u32)((uintptr_t) _r & ~EFI_ERROR_MASK)); \ assert(__efi_exit_check()); \ _r; \ })