svn commit: r320234 - head/sys/boot/efi/include

Dimitry Andric dim at FreeBSD.org
Thu Jun 22 18:24:08 UTC 2017


On 22 Jun 2017, at 16:30, Ed Maste <emaste at freebsd.org> wrote:
> 
> Author: emaste
> Date: Thu Jun 22 14:30:09 2017
> New Revision: 320234
> URL: https://svnweb.freebsd.org/changeset/base/320234
> 
> Log:
>  Make structure padding explicit in EFI_MEMORY_DESCRIPTOR
> 
>  The EFI memory descriptor 64-bit aligns PhysicalStart on both 32- and
>  64-bit platforms.  Make the padding explicit for i386 EFI.
> 
>  Submitted by:	Siva Mahadevan <smahadevan at freebsdfoundation.org>
>  MFC after:	3 weeks
>  Sponsored by:	The FreeBSD Foundation
>  Differential Revision:	https://reviews.freebsd.org/D11301
> 
> Modified:
>  head/sys/boot/efi/include/efidef.h
> 
> Modified: head/sys/boot/efi/include/efidef.h
> ==============================================================================
> --- head/sys/boot/efi/include/efidef.h	Thu Jun 22 13:31:44 2017	(r320233)
> +++ head/sys/boot/efi/include/efidef.h	Thu Jun 22 14:30:09 2017	(r320234)
> @@ -178,6 +178,7 @@ typedef enum {
> #define EFI_MEMORY_DESCRIPTOR_VERSION  1
> typedef struct {
>     UINT32                          Type;           // Field size is 32 bits followed by 32 bit pad
> +    UINT32                          Pad;
>     EFI_PHYSICAL_ADDRESS            PhysicalStart;  // Field size is 64 bits
>     EFI_VIRTUAL_ADDRESS             VirtualStart;   // Field size is 64 bits
>     UINT64                          NumberOfPages;  // Field size is 64 bits

If you explicitly insert padding, it is better to mark the struct as
__packed, I think.  Or at least also specify the alignment explicitly.

-Dimitry

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20170622/ad3578a4/attachment.sig>


More information about the svn-src-head mailing list