On Wed, Jul 03, 2024 at 10:22:11AM +0200, Petr Mladek wrote: > On Wed 2024-07-03 09:57:26, Jocelyn Falempe wrote: > > > > > > On 02/07/2024 22:29, Kees Cook wrote: > > > On Tue, Jul 02, 2024 at 02:26:04PM +0200, Jocelyn Falempe wrote: > > > > 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. :) > > > > > > > > > > > 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. > > > > > > > [...] > > > > 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 detail > > > > > > Is 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_dumper > > > > > 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... If DRM doesn't want to carry it, I can put it in through the pstore tree. Let me know! :) -- Kees Cook