Comment 0 for bug 1869672

Revision history for this message
yamato (openkaz) wrote : kdump kernel can't be loaded using kernel 4.15.0-76

Thank you for reading this report.
This may caused by bugs in kernel, not in kdump. If so, I will report this to kernel team.
I need your comment to solve this.

[Impact]
* Kdump kernel can't be loaded using linux kernel 4.15.0-76.

[Environment]
Description: Ubuntu 18.04.4 LTS
Release: 18.04

uname:
Linux ubuntu 4.15.0-76-generic #86-Ubuntu SMP Fri Jan 17 17:24:28 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Secure boot is enabled.

[Test case]
1)After OS booted, run systemctl status kdump-tools shows these messages below:

....
● kdump-tools.service - Kernel crash dump capture service
   Loaded: loaded (/lib/systemd/system/kdump-tools.service; enabled; vendor preset: enabled)
   Active: active (exited) since Fri 2020-03-27 16:40:31 JST; 5min ago
  Process: 895 ExecStart=/etc/init.d/kdump-tools start (code=exited, status=0/SUCCESS)
 Main PID: 895 (code=exited, status=0/SUCCESS)

Mar 27 16:40:31 ubuntu systemd[1]: Starting Kernel crash dump capture service...
Mar 27 16:40:31 ubuntu kdump-tools[895]: Starting kdump-tools: * Creating symlink /var/lib/kdump/vmlinuz
Mar 27 16:40:31 ubuntu kdump-tools[895]: * Creating symlink /var/lib/kdump/initrd.img
Mar 27 16:40:31 ubuntu kdump-tools[895]: kexec_file_load failed: Exec format error
Mar 27 16:40:31 ubuntu kdump-tools[895]: * failed to load kdump kernel
Mar 27 16:40:31 ubuntu systemd[1]: Started Kernel crash dump capture service.
....

2)Run kexec directly:
$ sudo /sbin/kexec -p --command-line="/boot/vmlinuz-4.15.0-76-generic root=UUID=29a89ad8-8923-435e-a88c-aaf5cb379568 ro mce=ignore_ce reset_devices systemd.unit=kdump-tools-dump.service nr_cpus=1 irqpoll nousb ata_piix.prefer_ms_hyperv=0" --initrd=/boot/initrd.img-4.15.0-76-generic /boot/vmlinuz-4.15.0-64-generic

Then,these messages are shown:
Cannot open /proc/kcore: Operation not permitted
Cannot read /proc/kcore: Operation not permitted
Cannot load /boot/vmlinuz-4.15.0-76-generic

On dmesg, these messages are shown:
....
[ 538.524718] Lockdown: /proc/kcore is restricted; see man kernel_lockdown.7
....

3) Changing OS kernel to older one(I used 4.15.0-64), kdump kernel can be loaded.

$ sudo systemctl status kdump-tools
● kdump-tools.service - Kernel crash dump capture service
   Loaded: loaded (/lib/systemd/system/kdump-tools.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2020-03-25 13:39:03 JST; 5 days ago
 Main PID: 832 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/kdump-tools.service

Mar 25 13:39:02 ctrl-edgen systemd[1]: Starting Kernel crash dump capture service...
Mar 25 13:39:02 ctrl-edgen kdump-tools[832]: Starting kdump-tools: * Creating symlink /var/lib/kdump/vmlinuz
Mar 25 13:39:02 ctrl-edgen kdump-tools[832]: * Creating symlink /var/lib/kdump/initrd.img
Mar 25 13:39:03 ctrl-edgen kdump-tools[832]: * loaded kdump kernel
Mar 25 13:39:03 ctrl-edgen kdump-tools[938]: loaded kdump kernel
Mar 25 13:39:03 ctrl-edgen systemd[1]: Started Kernel crash dump capture service.