[U-Boot] [PATCH] efi_loader: Fix partition offsets

Mark Kettenis mark.kettenis at xs4all.nl
Sun Dec 10 11:46:05 UTC 2017


> From: Alexander Graf <agraf at suse.de>
> Date: Thu, 7 Dec 2017 11:27:15 +0100
> 
> On 07.12.17 08:00, Jonathan Gray wrote:
> > On Fri, Dec 01, 2017 at 04:10:33PM +0100, Alexander Graf wrote:
> >> Commit 884bcf6f65 (efi_loader: use proper device-paths for partitions) tried
> >> to introduce the el torito scheme to all partition table types: Spawn
> >> individual disk objects for each partition on a disk.
> >>
> >> Unfortunately, that code ended up creating partitions with offset=0 which meant
> >> that anyone accessing these objects gets data from the raw block device instead
> >> of the partition.
> >>
> >> Furthermore, all the el torito logic to spawn devices for partitions was
> >> duplicated. So let's merge the two code paths and give partition disk objects
> >> good offsets to work from, so that payloads can actually make use of them.
> >>
> >> Fixes: 884bcf6f65 (efi_loader: use proper device-paths for partitions)
> >> Reported-by: Yousaf Kaukab <yousaf.kaukab at suse.com>
> >> Signed-off-by: Alexander Graf <agraf at suse.de>
> > 
> > This once again broke being able to find a DEVICE_PATH_TYPE_MEDIA_DEVICE
> > node with the loaded image protocol on rpi_3 with mmc/usb.
> 
> Hooray :). Do you think you could somehow assemble a test that runs
> inside Travis-CI to make sure we catch your loader? I still need to do a
> better one for grub to ensure that that one's happy too.

Yes, I'd very much like to do that.  I suppose this should be a
qemu-based test in test/py/tests?  It is not clear to me how I run
those outside of Travis-CI.  Can you point me in the right direction?


More information about the U-Boot mailing list