Re: [PATCH 08/15] efi/x86: Move command-line initrd loading to efi_main

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxx>
> > 
> > Consolidate the initrd loading in efi_main.
> > 
> > The command line options now need to be parsed only once.
> > 
> > Signed-off-by: Arvind Sankar <nivedita@xxxxxxxxxxxx>
> > Link: 
> > https://lore.kernel.org/r/20200430182843.2510180-9-nivedita@xxxxxxxxxxxx
> > Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
> 
> 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);
+		}
 	}
 
 	/*



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux