kexec does not work for kernel version with patch level >= 256
Patrick Sung
patricksung at gmail.com
Wed Mar 24 04:28:08 GMT 2021
Hello all,
I am using the 4.9 long term kernel which is currently at 4.9.262.
When using this kernel with kexec-tools it prints out this error
Unsupported utsname.release: 4.9.262
Cannot load <kdump images path>
A quick search in the code shows that kexec/kernel_version.c doing this check:
if (major >= 256 || minor >= 256 || patch >= 256) {
and also in kexec/kexec.h
#define KERNEL_VERSION(major, minor, patch) \
(((major) << 16) | ((minor) << 8) | patch)
which explains the reason for the range check in kernel_version.c
Increasing the number of bits allowed in "patch" seems to fix the issue.
Thanks,
Patrick
More information about the kexec
mailing list