On Thu, Oct 06, 2022 at 07:42:08PM -0300, Guilherme G. Piccoli wrote: > The pstore dump function doesn't alert at all on errors - despite > pstore is usually a last resource and if it fails users won't be > able to read the kernel log, this is not the case for server users > with serial access, for example. > > So, let's at least attempt to inform such advanced users on the first > backend writing error detected during the kmsg dump - this is also > very useful for pstore debugging purposes. > > Signed-off-by: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxx> > --- > fs/pstore/platform.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c > index 06c2c66af332..ee50812fdd2e 100644 > --- a/fs/pstore/platform.c > +++ b/fs/pstore/platform.c > @@ -463,6 +463,9 @@ static void pstore_dump(struct kmsg_dumper *dumper, > if (ret == 0 && reason == KMSG_DUMP_OOPS) { > pstore_new_entry = 1; > pstore_timer_kick(); > + } else { > + pr_err_once("backend (%s) writing error (%d)\n", > + psinfo->name, ret); We're holding a spinlock here, so doing a pr_*() call isn't a great idea. It's kind of not a great idea to try to write to the log in the middle of a dump either, but we do attempt it at the start. Perhaps keep a saved_ret or something and send it after the spin lock is released? -- Kees Cook