Le mer. 13 sept. 2023, 12:33, Ard Biesheuvel <a...@kernel.org> a écrit :

> On Wed, 13 Sept 2023 at 12:18, John Paul Adrian Glaubitz
> <glaub...@physik.fu-berlin.de> wrote:
> >
> > Hi Oliver!
> >
> > On Wed, 2023-09-13 at 12:14 +0200, Oliver Steffen wrote:
> > > On Wed, Sep 13, 2023 at 6:10 AM Pedro Miguel Justo <pm...@texair.net>
> wrote:
> > > >
> > > >
> > > > I can confirm that, taking [1][2] and making [3] on top of it, my
> Montvale-based rx2660 machine still boots fine.
> > >
> > > Wonderful! Thanks for testing!
> >
> > Are you going to submit a patch to fix the issue with the new
> information?
> >
> > Would be great if the bug could be fixed before the 2.12 release.
> >
>
> Yes, this needs to be fixed. The EFI GUID type should not have the
> packed attribute in the general case, only in places where it could
> really appear misaligned (e.g., in device path nodes), although I
> suspect that adding the packed attribute to the outer struct would be
> sufficient there (given that the guid struct has no internal padding
> so the attribute only affects its minimum alignment)
>
> E.g,
>
> struct grub_efi_vendor_device_path
> {
>   grub_efi_device_path_t header;
>   grub_guid_t vendor_guid;
>   grub_efi_uint8_t vendor_defined_data[0];
> } GRUB_PACKED;
>
Tried this. Compiler doesn't allow it

>
> Here the GUID is already 32-bit aligned due to the size of the preceding
> field
>
> I think simply dropping the PACKED attribute from grub_guid_t should
> be sufficient here - this will affect the placement of all the
> grub_guid_t global and automatic variables that are passed to the
> firmware APIs by reference. If needed we could bring back the
> efi_packed_guid_t as well, but I'm not sure it is necessary.
>
>
> Note that this affects 32-bit ARM as well: GRUB may pass misaligned
> GUIDs to APIs such as Get/SetVariable and this could crash the
> firmware if it assumes GUIDs are 32-bit aligned.
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to