|
@@ -702,6 +702,9 @@ static bool printk_time = 0;
|
|
|
#endif
|
|
|
module_param_named(time, printk_time, bool, S_IRUGO | S_IWUSR);
|
|
|
|
|
|
+static bool always_kmsg_dump;
|
|
|
+module_param_named(always_kmsg_dump, always_kmsg_dump, bool, S_IRUGO | S_IWUSR);
|
|
|
+
|
|
|
/* Check if we have any console registered that can be called early in boot. */
|
|
|
static int have_callable_console(void)
|
|
|
{
|
|
@@ -1732,6 +1735,9 @@ void kmsg_dump(enum kmsg_dump_reason reason)
|
|
|
unsigned long l1, l2;
|
|
|
unsigned long flags;
|
|
|
|
|
|
+ if ((reason > KMSG_DUMP_OOPS) && !always_kmsg_dump)
|
|
|
+ return;
|
|
|
+
|
|
|
/* Theoretically, the log could move on after we do this, but
|
|
|
there's not a lot we can do about that. The new messages
|
|
|
will overwrite the start of what we dump. */
|