mirror of
https://git.proxmox.com/git/efi-boot-shim
synced 2025-08-14 15:45:30 +00:00
Use gcc's offsetof() instead of hacking out our own.
Signed-off-by: Peter Jones <pjones@redhat.com>
This commit is contained in:
parent
ca1d0534fa
commit
7ee19bdc41
@ -119,8 +119,6 @@ typedef struct {
|
||||
//UINT8 Signature[];
|
||||
} WIN_CERTIFICATE_EFI_PKCS1_15;
|
||||
|
||||
#define OFFSET_OF(TYPE, Field) ((UINTN) &(((TYPE *)0)->Field))
|
||||
|
||||
/*
|
||||
* Attributes of Authenticated Variable
|
||||
*/
|
||||
@ -182,14 +180,14 @@ typedef struct {
|
||||
/*
|
||||
* Size of AuthInfo prior to the data payload.
|
||||
*/
|
||||
#define AUTHINFO_SIZE ((OFFSET_OF (EFI_VARIABLE_AUTHENTICATION, AuthInfo)) + \
|
||||
(OFFSET_OF (WIN_CERTIFICATE_UEFI_GUID, CertData)) + \
|
||||
#define AUTHINFO_SIZE ((offsetof(EFI_VARIABLE_AUTHENTICATION, AuthInfo)) + \
|
||||
(offsetof(WIN_CERTIFICATE_UEFI_GUID, CertData)) + \
|
||||
sizeof (EFI_CERT_BLOCK_RSA_2048_SHA256))
|
||||
|
||||
#define AUTHINFO2_SIZE(VarAuth2) ((OFFSET_OF (EFI_VARIABLE_AUTHENTICATION_2, AuthInfo)) + \
|
||||
#define AUTHINFO2_SIZE(VarAuth2) ((offsetof(EFI_VARIABLE_AUTHENTICATION_2, AuthInfo)) + \
|
||||
(UINTN) ((EFI_VARIABLE_AUTHENTICATION_2 *) (VarAuth2))->AuthInfo.Hdr.dwLength)
|
||||
|
||||
#define OFFSET_OF_AUTHINFO2_CERT_DATA ((OFFSET_OF (EFI_VARIABLE_AUTHENTICATION_2, AuthInfo)) + \
|
||||
(OFFSET_OF (WIN_CERTIFICATE_UEFI_GUID, CertData)))
|
||||
#define OFFSET_OF_AUTHINFO2_CERT_DATA ((offsetof(EFI_VARIABLE_AUTHENTICATION_2, AuthInfo)) + \
|
||||
(offsetof(WIN_CERTIFICATE_UEFI_GUID, CertData)))
|
||||
|
||||
#endif /* SHIM_EFIAUTHENTICATED_H */
|
||||
|
@ -314,7 +314,7 @@ simple_dir_filter(EFI_HANDLE image, CHAR16 *name, CHAR16 *filter,
|
||||
break;
|
||||
}
|
||||
}
|
||||
ptr += OFFSET_OF(EFI_FILE_INFO, FileName) + (len + 1)*sizeof(CHAR16);
|
||||
ptr += offsetof(EFI_FILE_INFO, FileName) + (len + 1)*sizeof(CHAR16);
|
||||
next = ptr;
|
||||
}
|
||||
if (*count)
|
||||
@ -367,7 +367,7 @@ simple_dir_filter(EFI_HANDLE image, CHAR16 *name, CHAR16 *filter,
|
||||
(*result)[0] = tmp;
|
||||
}
|
||||
|
||||
ptr += OFFSET_OF(EFI_FILE_INFO, FileName) + (len + 1)*sizeof(CHAR16);
|
||||
ptr += offsetof(EFI_FILE_INFO, FileName) + (len + 1)*sizeof(CHAR16);
|
||||
next = ptr;
|
||||
}
|
||||
if (*count == 0) {
|
||||
|
@ -74,10 +74,8 @@ CreateTimeBasedPayload(IN OUT UINTN * DataSize, IN OUT UINT8 ** Data)
|
||||
Payload = *Data;
|
||||
PayloadSize = *DataSize;
|
||||
|
||||
DescriptorSize =
|
||||
OFFSET_OF(EFI_VARIABLE_AUTHENTICATION_2,
|
||||
AuthInfo) + OFFSET_OF(WIN_CERTIFICATE_UEFI_GUID,
|
||||
CertData);
|
||||
DescriptorSize = offsetof(EFI_VARIABLE_AUTHENTICATION_2, AuthInfo)
|
||||
+ offsetof(WIN_CERTIFICATE_UEFI_GUID, CertData);
|
||||
NewData = (UINT8 *) AllocateZeroPool(DescriptorSize + PayloadSize);
|
||||
if (NewData == NULL) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
@ -103,7 +101,7 @@ CreateTimeBasedPayload(IN OUT UINTN * DataSize, IN OUT UINT8 ** Data)
|
||||
CopyMem(&DescriptorData->TimeStamp, &Time, sizeof(EFI_TIME));
|
||||
|
||||
DescriptorData->AuthInfo.Hdr.dwLength =
|
||||
OFFSET_OF(WIN_CERTIFICATE_UEFI_GUID, CertData);
|
||||
offsetof(WIN_CERTIFICATE_UEFI_GUID, CertData);
|
||||
DescriptorData->AuthInfo.Hdr.wRevision = 0x0200;
|
||||
DescriptorData->AuthInfo.Hdr.wCertificateType = WIN_CERT_TYPE_EFI_GUID;
|
||||
DescriptorData->AuthInfo.CertType = EFI_CERT_TYPE_PKCS7_GUID;
|
||||
|
Loading…
Reference in New Issue
Block a user