[U-Boot] [PATCH] efi_loader: initialise partition_signature memory
Jonathan Gray
jsg at jsg.id.au
Thu Nov 30 15:06:45 UTC 2017
On Thu, Nov 30, 2017 at 09:24:36AM -0500, Rob Clark wrote:
> On Tue, Nov 21, 2017 at 7:24 AM, Jonathan Gray <jsg at jsg.id.au> wrote:
> > Zero partition_signature in the efi_device_path_hard_drive_path
> > structure when signature_type is zero.
> >
> > This is required so that efi_dp_match() will work as expected
> > when doing memcmp() comparisons.
> >
> > Corrects a problem where the loaded image protocol would not return a
> > device path with MEDIA_DEVICE causing the OpenBSD bootloader to fail
> > on rpi_3 and other targets.
> >
> > Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
>
> Reviewed-by: Rob Clark <robdclark at gmail.com>
Expanded v2 version of this is here:
https://patchwork.ozlabs.org/patch/840248/
>
> > ---
> > lib/efi_loader/efi_device_path.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c
> > index f6e368e029..8045532a29 100644
> > --- a/lib/efi_loader/efi_device_path.c
> > +++ b/lib/efi_loader/efi_device_path.c
> > @@ -431,6 +431,9 @@ static void *dp_part_fill(void *buf, struct blk_desc *desc, int part)
> > if (hddp->signature_type != 0)
> > memcpy(hddp->partition_signature, &desc->guid_sig,
> > sizeof(hddp->partition_signature));
> > + else
> > + memset(hddp->partition_signature, 0,
> > + sizeof(hddp->partition_signature));
> >
> > buf = &hddp[1];
> > }
> > --
> > 2.15.0
> >
More information about the U-Boot
mailing list