lists.openwall.net   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  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+X5Wn4pb5dTZMM0rg3KM=R9dtJGDM+K0dJC0aVnhtsoruRZBg@mail.gmail.com>
Date:	Mon, 8 Aug 2016 20:33:46 -0400
From:	james harvey <jamespharvey20@...il.com>
To:	linux-kernel@...r.kernel.org
Subject: Kernel panic - Fails to load BIOS-E820 memory map booted through
 iPXE, uses BIOS-88

<<< How does booting through iPXE disrupt the BIOS E820 map? >>>

Booting 4.6.4 from the Arch 2016.08.01 ISO on a DVD properly sees
64GB.  (See quote 1.)

Booting the same ISO through iPXE only sees about 50*M*B usable, and
the detected memory map sections are reported as "BIOS-88" rather than
"BIOS-e820".  (See quote 2.)  I have seen discussions that say the
0x88 BIOS memory function may limit reporting to 15MB, or sometimes up
to 64MB.

This gives a kernel panic for "initrd too large to handle, disabling
initrd (27,426,236 needed, 26,398,720 available)" (commas added.)

How would booting through iPXE disrupt kernel's ability to obtain the
BIOS-supplied E820 map?  This is happening in
linux/arch/x86/kernel/e820.c::default_machine_specific_memory_setup().

What are my avenues forward?


=== Quote 1 ==============================
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009e7ff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009e800-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000392f6fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000392f7000-0x0000000039e69fff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000039e6a000-0x000000003a109fff] usable
[    0.000000] BIOS-e820: [mem 0x000000003a10a000-0x000000003acb8fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x000000003acb9000-0x000000003b613fff] reserved
[    0.000000] BIOS-e820: [mem 0x000000003b614000-0x000000003b614fff] usable
[    0.000000] BIOS-e820: [mem 0x000000003b615000-0x000000003b69afff] reserved
[    0.000000] BIOS-e820: [mem 0x000000003b69b000-0x000000003b8b7fff] usable
[    0.000000] BIOS-e820: [mem 0x000000003b8b8000-0x000000003bff8fff] reserved
[    0.000000] BIOS-e820: [mem 0x000000003bff9000-0x000000003bffffff] usable
[    0.000000] BIOS-e820: [mem 0x000000003c000000-0x000000003dffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000040000000-0x000000004fffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed24fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed30000-0x00000000fed34fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed40000-0x00000000fed44fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x00000010bfffffff] usable
[    0.000000] debug: ignoring loglevel setting.
==========================================


=== Quote 2 ==============================
... (manually typed, some scrolled, serial console doesn't seem to get
anything this early?)
[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes,
using 'standard' format.
[    0.000000] x86/fpu: Using 'eager' FPU context switches.
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-88: [mem 0x0000000000000000-0x000000000009efff] usable
[    0.000000] BIOS-88: [mem 0x0000000000100000-0x00000000032bbfff] usable
[    0.000000] debug: ignoring loglevel setting.
[    0.000000] console [earlyvga0] enabled
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI not present or invalid.
[    0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] e820: last_pfn = 0x32bc max_arch_pfn = 0x400000000
[    0.000000] MTRR default type: write-back
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-FFFFF write-protect
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 000080000000 mask 3FFF80000000 uncachable
[    0.000000]   1 base 000040000000 mask 3FFFC0000000 uncachable
[    0.000000]   2 base 380000000000 mask 3FC000000000 uncachable
[    0.000000]   3 base 00003F000000 mask 3FFFFF000000 uncachable
[    0.000000]   4 base 0000E0000000 mask 3FFFF0000000 write-through
[    0.000000]   5 base 0000F0000000 mask 3FFFFF000000 write-through
[    0.000000]   6 base 0000F1000000 mask 3FFFFF800000 write-through
[    0.000000]   7 disabled
[    0.000000]   8 disabled
[    0.000000]   9 disabled
[    0.000000] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WC  UC- WT
[    0.000000] Scanning 1 areas for low memory corruption
[    0.000000] Base memory trampoline at [ffff880000096000] 96000 size 24576
[    0.000000] Using GB pages for direct mapping
[    0.000000] BRK [0x01b4e000, 0x01b4efff] PGTABLE
[    0.000000] BRK [0x01b4f000, 0x01b4ffff] PGTABLE
[    0.000000] BRK [0x01b50000, 0x01b50fff] PGTABLE
[    0.000000] Kernel panic - not syncing: initrd too large to handle, disabling
 initrd (27426236 needed, 26398720 available)
[    0.000000]
[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.6.4-1-ARCH #1
[    0.000000]  0000000000000086 5c08bc9d6d100ae8 ffffffff81803e48 ffffffff812e5
4c2
[    0.000000]  ffffffff816f5de0 ffffffff81803ee0 ffffffff81803ed0 ffffffff8116d
721
[    0.000000]  0000000000000018 ffffffff81803ee0 ffffffff81803e78 5c08bc9d6d100
ae8
[    0.000000] Call Trace:
[    0.000000]  [<ffffffff812e54c2>] dump_stack+0x63/0x81
[    0.000000]  [<ffffffff8116d721>] panic+0xde/0x220
[    0.000000]  [<ffffffff819198e4>] setup_arch+0x79d/0xcdd
[    0.000000]  [<ffffffff8116da49>] ? printk+0x57/0x73
[    0.000000]  [<ffffffff8190c120>] ? early_idt_handler_array+0x120/0x120
[    0.000000]  [<ffffffff8190cc64>] start_kernel+0xb2/0x45f
[    0.000000]  [<ffffffff8190c120>] ? early_idt_handler_array+0x120/0x120
[    0.000000]  [<ffffffff8190c346>] x86_64_start_reservations+0x2a/0x2c
[    0.000000]  [<ffffffff8190c494>] x86_64_start_kernel+0x14c/0x16f
[    0.000000] ---[ end Kernel panic - not syncing: initrd too large to handle,
disabling initrd (27426236 needed, 26398720 available)
[    0.000000]
==========================================

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ