diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-19 21:00:54 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-19 21:01:03 +0000 |
commit | 62db400e83102695233497884d16a19c7e34fcd4 (patch) | |
tree | 62d1c1a2105118357e772c53c56478baf87bf946 /debian/patches-rt/0021-printk-Track-registered-boot-consoles.patch | |
parent | Merging upstream version 6.9.2. (diff) | |
download | linux-62db400e83102695233497884d16a19c7e34fcd4.tar.xz linux-62db400e83102695233497884d16a19c7e34fcd4.zip |
Merging debian version 6.9.2-1~exp1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches-rt/0021-printk-Track-registered-boot-consoles.patch')
-rw-r--r-- | debian/patches-rt/0021-printk-Track-registered-boot-consoles.patch | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/debian/patches-rt/0021-printk-Track-registered-boot-consoles.patch b/debian/patches-rt/0021-printk-Track-registered-boot-consoles.patch deleted file mode 100644 index 64ee0c4dbb..0000000000 --- a/debian/patches-rt/0021-printk-Track-registered-boot-consoles.patch +++ /dev/null @@ -1,79 +0,0 @@ -From: John Ogness <john.ogness@linutronix.de> -Date: Tue, 24 Oct 2023 14:13:14 +0000 -Subject: [PATCH 21/48] printk: Track registered boot consoles -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.8/older/patches-6.8.2-rt11.tar.xz - -Unfortunately it is not known if a boot console and a regular -(legacy or nbcon) console use the same hardware. For this reason -they must not be allowed to print simultaneously. - -For legacy consoles this is not an issue because they are -already synchronized with the boot consoles using the console -lock. However nbcon consoles can be triggered separately. - -Add a global flag @have_boot_console to identify if any boot -consoles are registered. This will be used in follow-up commits -to ensure that boot consoles and nbcon consoles cannot print -simultaneously. - -Signed-off-by: John Ogness <john.ogness@linutronix.de> -Reviewed-by: Petr Mladek <pmladek@suse.com> -Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> ---- - kernel/printk/printk.c | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - ---- a/kernel/printk/printk.c -+++ b/kernel/printk/printk.c -@@ -463,6 +463,14 @@ static int console_msg_format = MSG_FORM - /* syslog_lock protects syslog_* variables and write access to clear_seq. */ - static DEFINE_MUTEX(syslog_lock); - -+/* -+ * Specifies if a boot console is registered. If boot consoles are present, -+ * nbcon consoles cannot print simultaneously and must be synchronized by -+ * the console lock. This is because boot consoles and nbcon consoles may -+ * have mapped the same hardware. -+ */ -+static bool have_boot_console; -+ - #ifdef CONFIG_PRINTK - DECLARE_WAIT_QUEUE_HEAD(log_wait); - /* All 3 protected by @syslog_lock. */ -@@ -3518,6 +3526,9 @@ void register_console(struct console *ne - newcon->seq = 0; - } - -+ if (newcon->flags & CON_BOOT) -+ have_boot_console = true; -+ - /* - * If another context is actively using the hardware of this new - * console, it will not be aware of the nbcon synchronization. This -@@ -3587,6 +3598,8 @@ EXPORT_SYMBOL(register_console); - /* Must be called under console_list_lock(). */ - static int unregister_console_locked(struct console *console) - { -+ bool found_boot_con = false; -+ struct console *c; - int res; - - lockdep_assert_console_list_lock_held(); -@@ -3634,6 +3647,17 @@ static int unregister_console_locked(str - if (console->exit) - res = console->exit(console); - -+ /* -+ * With this console gone, the global flags tracking registered -+ * console types may have changed. Update them. -+ */ -+ for_each_console(c) { -+ if (c->flags & CON_BOOT) -+ found_boot_con = true; -+ } -+ if (!found_boot_con) -+ have_boot_console = found_boot_con; -+ - return res; - } - |