summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/0104-printk-introduce-kernel-sync-mode.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-rt/0104-printk-introduce-kernel-sync-mode.patch')
-rw-r--r--debian/patches-rt/0104-printk-introduce-kernel-sync-mode.patch32
1 files changed, 16 insertions, 16 deletions
diff --git a/debian/patches-rt/0104-printk-introduce-kernel-sync-mode.patch b/debian/patches-rt/0104-printk-introduce-kernel-sync-mode.patch
index 3dfd1b707..bdb593e89 100644
--- a/debian/patches-rt/0104-printk-introduce-kernel-sync-mode.patch
+++ b/debian/patches-rt/0104-printk-introduce-kernel-sync-mode.patch
@@ -1,8 +1,8 @@
-From fcf68eb3d589c57f73e4a79b7df2f6ec8080b1ce Mon Sep 17 00:00:00 2001
+From 5c6fb48313777b15ea366464ccc3dbda1ff9003c Mon Sep 17 00:00:00 2001
From: John Ogness <john.ogness@linutronix.de>
Date: Mon, 30 Nov 2020 01:42:06 +0106
Subject: [PATCH 104/323] printk: introduce kernel sync mode
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.215-rt107.tar.xz
When the kernel performs an OOPS, enter into "sync mode":
@@ -22,7 +22,7 @@ Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>
3 files changed, 137 insertions(+), 6 deletions(-)
diff --git a/include/linux/console.h b/include/linux/console.h
-index 613df76903f5..fcc98354f733 100644
+index 613df76903f54..fcc98354f7332 100644
--- a/include/linux/console.h
+++ b/include/linux/console.h
@@ -16,6 +16,7 @@
@@ -44,7 +44,7 @@ index 613df76903f5..fcc98354f733 100644
uint ospeed;
void *data;
diff --git a/include/linux/printk.h b/include/linux/printk.h
-index c6bb48f0134c..3738374e2b3b 100644
+index c6bb48f0134c0..3738374e2b3bc 100644
--- a/include/linux/printk.h
+++ b/include/linux/printk.h
@@ -46,6 +46,12 @@ static inline const char *printk_skip_headers(const char *buffer)
@@ -61,7 +61,7 @@ index c6bb48f0134c..3738374e2b3b 100644
#define MESSAGE_LOGLEVEL_DEFAULT CONFIG_MESSAGE_LOGLEVEL_DEFAULT
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
-index 2bc9904fd8ab..8a0af76b6f69 100644
+index 818c17b26bdee..1ce593876dca9 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -44,6 +44,7 @@
@@ -184,7 +184,7 @@ index 2bc9904fd8ab..8a0af76b6f69 100644
/*
* Special console_lock variants that help to reduce the risk of soft-lockups.
* They allow to pass console_lock to another printk() call using a busy wait.
-@@ -1919,6 +2005,8 @@ static void call_console_drivers(const char *ext_text, size_t ext_len,
+@@ -1925,6 +2011,8 @@ static void call_console_drivers(const char *ext_text, size_t ext_len,
if (!cpu_online(smp_processor_id()) &&
!(con->flags & CON_ANYTIME))
continue;
@@ -193,7 +193,7 @@ index 2bc9904fd8ab..8a0af76b6f69 100644
if (con->flags & CON_EXTENDED)
con->write(con, ext_text, ext_len);
else {
-@@ -2073,6 +2161,7 @@ int vprintk_store(int facility, int level,
+@@ -2079,6 +2167,7 @@ int vprintk_store(int facility, int level,
const u32 caller_id = printk_caller_id();
struct prb_reserved_entry e;
enum log_flags lflags = 0;
@@ -201,7 +201,7 @@ index 2bc9904fd8ab..8a0af76b6f69 100644
struct printk_record r;
unsigned long irqflags;
u16 trunc_msg_len = 0;
-@@ -2082,6 +2171,7 @@ int vprintk_store(int facility, int level,
+@@ -2088,6 +2177,7 @@ int vprintk_store(int facility, int level,
u16 text_len;
int ret = 0;
u64 ts_nsec;
@@ -209,7 +209,7 @@ index 2bc9904fd8ab..8a0af76b6f69 100644
/*
* Since the duration of printk() can vary depending on the message
-@@ -2120,6 +2210,7 @@ int vprintk_store(int facility, int level,
+@@ -2126,6 +2216,7 @@ int vprintk_store(int facility, int level,
if (lflags & LOG_CONT) {
prb_rec_init_wr(&r, reserve_size);
if (prb_reserve_in_last(&e, prb, &r, caller_id, LOG_LINE_MAX)) {
@@ -217,7 +217,7 @@ index 2bc9904fd8ab..8a0af76b6f69 100644
text_len = printk_sprint(&r.text_buf[r.info->text_len], reserve_size,
facility, &lflags, fmt, args);
r.info->text_len += text_len;
-@@ -2127,6 +2218,7 @@ int vprintk_store(int facility, int level,
+@@ -2133,6 +2224,7 @@ int vprintk_store(int facility, int level,
if (lflags & LOG_NEWLINE) {
r.info->flags |= LOG_NEWLINE;
prb_final_commit(&e);
@@ -225,7 +225,7 @@ index 2bc9904fd8ab..8a0af76b6f69 100644
} else {
prb_commit(&e);
}
-@@ -2151,6 +2243,8 @@ int vprintk_store(int facility, int level,
+@@ -2157,6 +2249,8 @@ int vprintk_store(int facility, int level,
goto out;
}
@@ -234,7 +234,7 @@ index 2bc9904fd8ab..8a0af76b6f69 100644
/* fill message */
text_len = printk_sprint(&r.text_buf[0], reserve_size, facility, &lflags, fmt, args);
if (trunc_msg_len)
-@@ -2165,13 +2259,25 @@ int vprintk_store(int facility, int level,
+@@ -2171,13 +2265,25 @@ int vprintk_store(int facility, int level,
memcpy(&r.info->dev_info, dev_info, sizeof(r.info->dev_info));
/* A message without a trailing newline can be continued. */
@@ -262,7 +262,7 @@ index 2bc9904fd8ab..8a0af76b6f69 100644
printk_exit_irqrestore(irqflags);
return ret;
}
-@@ -2267,12 +2373,13 @@ EXPORT_SYMBOL(printk);
+@@ -2273,12 +2379,13 @@ EXPORT_SYMBOL(printk);
#else /* CONFIG_PRINTK */
@@ -277,7 +277,7 @@ index 2bc9904fd8ab..8a0af76b6f69 100644
static u64 syslog_seq;
static atomic64_t console_seq = ATOMIC64_INIT(0);
static u64 exclusive_console_stop_seq;
-@@ -2565,6 +2672,8 @@ static int have_callable_console(void)
+@@ -2571,6 +2678,8 @@ static int have_callable_console(void)
*/
static inline int can_use_console(void)
{
@@ -286,7 +286,7 @@ index 2bc9904fd8ab..8a0af76b6f69 100644
return cpu_online(raw_smp_processor_id()) || have_callable_console();
}
-@@ -3379,6 +3488,18 @@ void kmsg_dump(enum kmsg_dump_reason reason)
+@@ -3408,6 +3517,18 @@ void kmsg_dump(enum kmsg_dump_reason reason)
struct kmsg_dumper_iter iter;
struct kmsg_dumper *dumper;
@@ -306,5 +306,5 @@ index 2bc9904fd8ab..8a0af76b6f69 100644
list_for_each_entry_rcu(dumper, &dump_list, list) {
enum kmsg_dump_reason max_reason = dumper->max_reason;
--
-2.43.0
+2.44.0