From b7753fc7f6f5626e51ee78156fd801fb52163af0 Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Wed, 6 May 2020 16:34:42 -0700 Subject: pstore: Make sure console capturing will restart The CON_ENABLED flag gets cleared during unregister_console(), so make sure we already reset the console flags before calling register_console(), otherwise unloading and reloading a pstore backend will not restart console logging. Signed-off-by: Kees Cook --- fs/pstore/platform.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'fs') diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c index 398785ab059f..8beaeff72386 100644 --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c @@ -516,12 +516,16 @@ static void pstore_console_write(struct console *con, const char *s, unsigned c) static struct console pstore_console = { .name = "pstore", .write = pstore_console_write, - .flags = CON_PRINTBUFFER | CON_ENABLED | CON_ANYTIME, .index = -1, }; static void pstore_register_console(void) { + /* + * Always initialize flags here since prior unregister_console() + * calls may have changed settings (specifically CON_ENABLED). + */ + pstore_console.flags = CON_PRINTBUFFER | CON_ENABLED | CON_ANYTIME; register_console(&pstore_console); } -- cgit v1.2.3