summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/0030-panic-Mark-emergency-section-in-oops.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-rt/0030-panic-Mark-emergency-section-in-oops.patch')
-rw-r--r--debian/patches-rt/0030-panic-Mark-emergency-section-in-oops.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/debian/patches-rt/0030-panic-Mark-emergency-section-in-oops.patch b/debian/patches-rt/0030-panic-Mark-emergency-section-in-oops.patch
new file mode 100644
index 000000000..cd3d80fe6
--- /dev/null
+++ b/debian/patches-rt/0030-panic-Mark-emergency-section-in-oops.patch
@@ -0,0 +1,39 @@
+From: John Ogness <john.ogness@linutronix.de>
+Date: Tue, 19 Sep 2023 17:07:34 +0000
+Subject: [PATCH 30/48] panic: Mark emergency section in oops
+Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.8/older/patches-6.8.2-rt11.tar.xz
+
+Mark an emergency section beginning with oops_enter() until the
+end of oops_exit(). In this section, the CPU will not perform
+console output for the printk() calls. Instead, a flushing of the
+console output is triggered when exiting the emergency section.
+
+The very end of oops_exit() performs a kmsg_dump(). This is not
+included in the emergency section because it is another
+flushing mechanism that should occur after the consoles have
+been triggered to flush.
+
+Signed-off-by: John Ogness <john.ogness@linutronix.de>
+Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+---
+ kernel/panic.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/kernel/panic.c
++++ b/kernel/panic.c
+@@ -634,6 +634,7 @@ bool oops_may_print(void)
+ */
+ void oops_enter(void)
+ {
++ nbcon_cpu_emergency_enter();
+ tracing_off();
+ /* can't trust the integrity of the kernel anymore: */
+ debug_locks_off();
+@@ -656,6 +657,7 @@ void oops_exit(void)
+ {
+ do_oops_enter_exit();
+ print_oops_end_marker();
++ nbcon_cpu_emergency_exit();
+ kmsg_dump(KMSG_DUMP_OOPS);
+ }
+