[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Wimboot fails to get initrd data (probably regression)
From: |
Andrei Borzenkov |
Subject: |
Re: Wimboot fails to get initrd data (probably regression) |
Date: |
Mon, 20 Jul 2015 16:47:51 +0300 |
On Mon, Jul 20, 2015 at 3:38 PM, Bernhard Übelacker <address@hidden> wrote:
>
>
> @@ -213,6 +213,7 @@ grub_initrd_init (int argc, char *argv[],
>
> if (newc)
> {
> + initrd_ctx->size = ALIGN_UP (initrd_ctx->size, 4);
> initrd_ctx->size += ALIGN_UP (sizeof (struct newc_head)
> + sizeof ("TRAILER!!!") - 1, 4);
> free_dir (root);
But code already does exactly the same.
initrd_ctx->size = ALIGN_UP (initrd_ctx->size, 4);
...
else if (newc)
{
initrd_ctx->size += ALIGN_UP (sizeof (struct newc_head)
+ sizeof ("TRAILER!!!") - 1, 4);
> @@ -290,7 +291,11 @@ grub_initrd_load (struct grub_linux_initrd_context
> *initrd_ctx,
> ptr += cursize;
> }
> if (newc)
> - ptr = make_header (ptr, "TRAILER!!!", sizeof ("TRAILER!!!") - 1, 0,
> 0);
> + {
> + grub_memset (ptr, 0, ALIGN_UP_OVERHEAD (cursize, 4));
> + ptr += ALIGN_UP_OVERHEAD (cursize, 4);
> + ptr = make_header (ptr, "TRAILER!!!", sizeof ("TRAILER!!!") - 1,
> 0, 0);
> + }
> free_dir (root);
> root = 0;
> return GRUB_ERR_NONE;
>
Ditto. Could you make your failing initrd available?