Re: [PATCH v2] printk: Add a short description string to kmsg_dump()
From: Petr Mladek <pmladek@suse.com>
Date: 2024-07-03 08:22:30
Also in:
dri-devel, linux-hardening, linux-hyperv, lkml
On Wed 2024-07-03 09:57:26, Jocelyn Falempe wrote:
On 02/07/2024 22:29, Kees Cook wrote:quoted
On Tue, Jul 02, 2024 at 02:26:04PM +0200, Jocelyn Falempe wrote:quoted
kmsg_dump doesn't forward the panic reason string to the kmsg_dumper callback. This patch adds a new struct kmsg_dump_detail, that will hold the reason and description, and pass it to the dump() callback.Thanks! I like this much better. :)quoted
To avoid updating all kmsg_dump() call, it adds a kmsg_dump_desc() function and a macro for backward compatibility. I've written this for drm_panic, but it can be useful for other kmsg_dumper. It allows to see the panic reason, like "sysrq triggered crash" or "VFS: Unable to mount root fs on xxxx" on the drm panic screen. v2: * Use a struct kmsg_dump_detail to hold the reason and description pointer, for more flexibility if we want to add other parameters. (Kees Cook) * Fix powerpc/nvram_64 build, as I didn't update the forward declaration of oops_to_nvram()The versioning history commonly goes after the "---".ok, I was not aware of this.quoted
quoted
[...]diff --git a/include/linux/kmsg_dump.h b/include/linux/kmsg_dump.h index 906521c2329c..65f5a47727bc 100644 --- a/include/linux/kmsg_dump.h +++ b/include/linux/kmsg_dump.h@@ -39,6 +39,17 @@ struct kmsg_dump_iter { u64 next_seq; }; +/** + *struct kmsg_dump_detail - kernel crash detailIs kern-doc happy with this? I think there is supposed to be a space between the "*" and the first word: /** * struct kmsg...Good catch, yes there is a space missing. I just checked with "make htmldocs", and in fact include/linux/kmsg_dump.h is not indexed for kernel documentation. And you can't find the definition of struct kmsg_dumper in the online doc. https://www.kernel.org/doc/html/latest/search.html?q=kmsg_dumperquoted
Otherwise looks good to me!Thanks. As this patch touches different subsystems, do you know on which tree it should land ?
Andrew usually takes patches against kernel/panic.c. Or you could take it via the DRM tree, especially if you already have the code using the string. Also I could take it via the printk tree. The only complication is that I am going to be away the following two weeks and would come back in the middle of the merge window. I do not expect much problems with this change but... Best Regards, Petr