Ubuntu 18.04: kexec-tool shows "kexec: elfcorehdr doesn't fit cells-size" if crashkernel reserved beyond 4GB
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub2 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
dann frazier | ||
Disco |
Fix Released
|
Undecided
|
Unassigned | ||
Eoan |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned | ||
grub2-signed (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Disco |
Fix Released
|
Undecided
|
Unassigned | ||
Eoan |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
On arm64, kexec throws following errors if crashkernel is reserved beyond 4GB of system memory.
[Test Case]
Create an arm64 guest w/ say 6GiB of memory.
Add crashkernel=1G@4G to kernel boot args
$ kexec -p /boot/vmlinuz-
-r` --reuse-cmdline
$ kexec: elfcorehdr doesn't fit cells-size.
$ kexec: setup_2nd_dtb failed.
$ kexec: load failed.
$ Cannot load /boot/vmlinuz-
[Fix]
Backport the following upstream commits:
347210a5d efi/fdt: Set address/size cells to 2 for empty tree
e93fd6b77 fdt: Move prop_entry_size to fdt.h
[Regression Risk]
Changes are restricted to efi/fdt code in GRUB, so regressions would be most likely on ARM platforms, specifically those that boot using ACPI (mostly servers).
Changed in grub2 (Ubuntu Bionic): | |
assignee: | nobody → dann frazier (dannf) |
status: | New → In Progress |
Changed in grub2 (Ubuntu Focal): | |
status: | New → Fix Released |
Changed in grub2 (Ubuntu Eoan): | |
status: | New → Fix Released |
Changed in grub2 (Ubuntu Disco): | |
status: | New → Fix Released |
description: | updated |
Fix for bionic is pending approval from the stable release update team.