Re: regression: 9a56493f6942 "uts: Use generic ns_common::count" broke makedumpfile 1.6.7
From: Kirill Tkhai
Date: Wed Dec 16 2020 - 09:24:40 EST
On 16.12.2020 16:32, Mike Galbraith wrote:
> On Wed, 2020-12-16 at 15:35 +0300, Kirill Tkhai wrote:
>> Hi, Alexander,
>>
>> On 16.12.2020 14:02, Mike Galbraith wrote:
>>> Greetings,
>>>
>>> With this commit, bisected and confirmed, kdump stops working here,
>>> makedumpfile saying "check_release: Can't get the kernel version".
>>
>> hasn't your commit 55d9e11398a4 "kdump: append uts_namespace.name offset to VMCOREINFO"
>> fixed this issue?
>
> FWIW, I applied the below, but it didn't help.
>
> ---
> kernel/crash_core.c | 1 +
> 1 file changed, 1 insertion(+)
>
> --- a/kernel/crash_core.c
> +++ b/kernel/crash_core.c
> @@ -447,6 +447,7 @@ static int __init crash_save_vmcoreinfo_
> VMCOREINFO_PAGESIZE(PAGE_SIZE);
>
> VMCOREINFO_SYMBOL(init_uts_ns);
> + VMCOREINFO_OFFSET(uts_namespace, name);
> VMCOREINFO_SYMBOL(node_online_map);
> #ifdef CONFIG_MMU
> VMCOREINFO_SYMBOL_ARRAY(swapper_pg_dir);
As I see, makedumpfile hardcodes recent supported kernel version.
(I downloaded makedumpfile from here: https://github.com/makedumpfile/makedumpfile)
#define LATEST_VERSION KERNEL_VERSION(5, 9, 4) /* linux-5.9.4 */
int32_t
get_kernel_version(char *release)
{
...
if ((version < OLDEST_VERSION) || (LATEST_VERSION < version)) {
MSG("The kernel version is not supported.\n");
MSG("The makedumpfile operation may be incomplete.\n");
}
...
}
So, in case of you revert the patch, makedumpfile also should fail:
root@qemu:~# ./makedumpfile/makedumpfile -g VMCOREINFO -x ./vmlinux
The kernel version is not supported.
The makedumpfile operation may be incomplete.
The vmcoreinfo is saved to VMCOREINFO.
makedumpfile Completed.
Does this regression only cause that one error message "check_release: Can't get the kernel version"
is printed instead of another: "The kernel version is not supported."?
Kirill