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  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 16 Dec 2020 17:23:30 +0300
From:   Kirill Tkhai <ktkhai@...tuozzo.com>
To:     Mike Galbraith <efault@....de>,
        LKML <linux-kernel@...r.kernel.org>, egorenar@...ux.ibm.com,
        Christian Brauner <christian.brauner@...ntu.com>
Subject: Re: regression: 9a56493f6942 "uts: Use generic ns_common::count"
 broke makedumpfile 1.6.7

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@...u:~# ./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

Powered by blists - more mailing lists