lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 13 Aug 2014 15:02:19 +0100
From:	Matt Fleming <>
To:	Mantas Mikulėnas <>
Cc:	Yinghai Lu <>,
	Matt Fleming <>,
	Linux Kernel Mailing List <>,
Subject: Re: Loading initrd above 4G causes freeze on boot

On Sun, 10 Aug, at 09:43:32PM, Mantas Mikulėnas wrote:
> On Sun, Aug 10, 2014 at 8:55 AM, Yinghai Lu <> wrote:
> > On Sat, Aug 9, 2014 at 3:45 PM, Mantas Mikulėnas <> wrote:
> >> On Sat, Aug 9, 2014 at 10:23 PM, Matt Fleming <> wrote:
> >> [However... Whether it's five chunks, four (after making the initrd
> >> smaller), or just one (with your efi=nochunk), I noticed that it
> >> *always* hangs during the *last* read, and the allocated memory always
> >> ends at roughly the same address (0x137fffXXX). I wonder if it's
> >> selecting a memory location already in use, or something like that...]
> >>
> >> (The laptop is Asus K52JT, AMI firmware v206, no updates available.)
> >
> > wonder if  efi_file_read return with wrong chunksize.
> >
> > Can you try attached patch ?
> Thanks, but it didn't change anything.
> (I tried adding some efi_printk's, and as far as I can see,
> efi_file_read *doesn't* return at all.)

Could you send you revert Yinghai's commit locally and send the dmesg
from a successful boot? I'm wondering what other regions are around the
0x137fffxxx area.

One other thing to attempt would be to progressively try higher and
higher max memory addresses to read into to see if we can correlate your
hang with a particular region, i.e. this code,

	if (hdr->xloadflags & XLF_CAN_BE_LOADED_ABOVE_4G)
		initrd_addr_max = -1UL;
		initrd_addr_max = hdr->initrd_addr_max;

	status = efi_parse_options(cmdline_ptr);
	if (status != EFI_SUCCESS)
		goto fail2;

	status = handle_cmdline_files(sys_table, image,
				      (char *)(unsigned long)hdr->cmd_line_ptr,
				      "initrd=", initrd_addr_max,
				      &ramdisk_addr, &ramdisk_size);

Matt Fleming, Intel Open Source Technology Center
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

Powered by blists - more mailing lists