diff options
Diffstat (limited to 'features/rt/printk-console-remove-unnecessary-safe-buffer-usage.patch')
-rw-r--r-- | features/rt/printk-console-remove-unnecessary-safe-buffer-usage.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/features/rt/printk-console-remove-unnecessary-safe-buffer-usage.patch b/features/rt/printk-console-remove-unnecessary-safe-buffer-usage.patch new file mode 100644 index 00000000..e6861260 --- /dev/null +++ b/features/rt/printk-console-remove-unnecessary-safe-buffer-usage.patch @@ -0,0 +1,47 @@ +From 158a782478bdf789c7a1797b742fdfb446e27dde Mon Sep 17 00:00:00 2001 +From: John Ogness <john.ogness@linutronix.de> +Date: Wed, 17 Feb 2021 18:28:05 +0100 +Subject: [PATCH 020/191] printk: console: remove unnecessary safe buffer usage + +Upon registering a console, safe buffers are activated when setting +up the sequence number to replay the log. However, these are already +protected by @console_sem and @syslog_lock. Remove the unnecessary +safe buffer usage. + +Signed-off-by: John Ogness <john.ogness@linutronix.de> +--- + kernel/printk/printk.c | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c +index 15aed1a7bd05..523621889a72 100644 +--- a/kernel/printk/printk.c ++++ b/kernel/printk/printk.c +@@ -2967,9 +2967,7 @@ void register_console(struct console *newcon) + /* + * console_unlock(); will print out the buffered messages + * for us. +- */ +- printk_safe_enter_irqsave(flags); +- /* ++ * + * We're about to replay the log buffer. Only do this to the + * just-registered console to avoid excessive message spam to + * the already-registered consoles. +@@ -2982,11 +2980,9 @@ void register_console(struct console *newcon) + exclusive_console_stop_seq = console_seq; + + /* Get a consistent copy of @syslog_seq. */ +- raw_spin_lock(&syslog_lock); ++ raw_spin_lock_irqsave(&syslog_lock, flags); + console_seq = syslog_seq; +- raw_spin_unlock(&syslog_lock); +- +- printk_safe_exit_irqrestore(flags); ++ raw_spin_unlock_irqrestore(&syslog_lock, flags); + } + console_unlock(); + console_sysfs_notify(); +-- +2.19.1 + |