[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200527224657.GA3568142@rani.riverdale.lan>
Date: Wed, 27 May 2020 18:46:57 -0400
From: Arvind Sankar <nivedita@...m.mit.edu>
To: "Williams, Dan J" <dan.j.williams@...el.com>
Cc: "linux-efi@...r.kernel.org" <linux-efi@...r.kernel.org>,
"mingo@...nel.org" <mingo@...nel.org>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"ardb@...nel.org" <ardb@...nel.org>,
"linux@...ck-us.net" <linux@...ck-us.net>,
"joe@...ches.com" <joe@...ches.com>,
"nivedita@...m.mit.edu" <nivedita@...m.mit.edu>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"arnd@...db.de" <arnd@...db.de>
Subject: Re: [PATCH 08/15] efi/x86: Move command-line initrd loading to
efi_main
On Wed, May 27, 2020 at 10:30:18PM +0000, Williams, Dan J wrote:
> On Fri, 2020-05-08 at 20:01 +0200, Ard Biesheuvel wrote:
> > From: Arvind Sankar <nivedita@...m.mit.edu>
> >
> > Consolidate the initrd loading in efi_main.
> >
> > The command line options now need to be parsed only once.
> >
> > Signed-off-by: Arvind Sankar <nivedita@...m.mit.edu>
> > Link:
> > https://lore.kernel.org/r/20200430182843.2510180-9-nivedita@alum.mit.edu
> > Signed-off-by: Ard Biesheuvel <ardb@...nel.org>
>
> Hi,
>
> This patch patch in tip/master as:
>
> 987053a30016 efi/x86: Move command-line initrd loading to efi_main
>
> ...regresses my nfs root configuration. It hangs trying to mount the
> nfs root filesystem "root=/dev/nfs ip=dhcp".
>
> It does not revert cleanly.
>
>
Does this fix it?
diff --git a/drivers/firmware/efi/libstub/x86-stub.c b/drivers/firmware/efi/libstub/x86-stub.c
index defeb6035109..f53362efef84 100644
--- a/drivers/firmware/efi/libstub/x86-stub.c
+++ b/drivers/firmware/efi/libstub/x86-stub.c
@@ -771,10 +771,12 @@ unsigned long efi_main(efi_handle_t handle,
efi_err("Failed to load initrd!\n");
goto fail;
}
- efi_set_u64_split(addr, &hdr->ramdisk_image,
- &boot_params->ext_ramdisk_image);
- efi_set_u64_split(size, &hdr->ramdisk_size,
- &boot_params->ext_ramdisk_size);
+ if (size > 0) {
+ efi_set_u64_split(addr, &hdr->ramdisk_image,
+ &boot_params->ext_ramdisk_image);
+ efi_set_u64_split(size, &hdr->ramdisk_size,
+ &boot_params->ext_ramdisk_size);
+ }
}
/*
Powered by blists - more mailing lists