Add maintainers into CC On Wed, Feb 25, 2026 at 2:07 PM <[email protected]> wrote:
> From: Mikhail Lappo <[email protected]> > > libfdt requires the FDT blob to be 8-byte aligned. The alignment is > validated in fdt_check_header(), and misaligned blobs may be rejected > or cause failures on architectures that enforce strict alignment. > > Currently the blob is allocated with grub_malloc(), which does not > guarantee 8-byte alignment. Replace it with grub_memalign(8, size) > to ensure the required alignment. > > Signed-off-by: Mikhail Lappo <[email protected]> > --- > grub-core/loader/efi/fdt.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/grub-core/loader/efi/fdt.c b/grub-core/loader/efi/fdt.c > index e510b3491..f25d362d3 100644 > --- a/grub-core/loader/efi/fdt.c > +++ b/grub-core/loader/efi/fdt.c > @@ -38,6 +38,7 @@ static void *fdt; > #define FDT_ADDR_SIZE_EXTRA ((2 * grub_fdt_prop_entry_size > (sizeof(grub_uint32_t))) + \ > sizeof (FDT_ADDR_CELLS_STRING) + \ > sizeof (FDT_SIZE_CELLS_STRING)) > +#define FDT_BLOB_ALIGNMENT 8 > > static const struct grub_arg_option options_fdtdump[] = { > {"prop", 'p', 0, N_("Get property."), N_("prop"), ARG_TYPE_STRING}, > @@ -145,7 +146,7 @@ grub_cmd_devicetree (grub_command_t cmd __attribute__ > ((unused)), > goto out; > > size = grub_file_size (dtb); > - blob = grub_malloc (size); > + blob = grub_memalign (FDT_BLOB_ALIGNMENT, size); > if (!blob) > goto out; > > -- > 2.44.0 > >
_______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
