summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt/0083-printk-fix-illegal-pbufs-access-for-CONFIG_PRINTK.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches-rt/0083-printk-fix-illegal-pbufs-access-for-CONFIG_PRINTK.patch')
-rw-r--r--debian/patches-rt/0083-printk-fix-illegal-pbufs-access-for-CONFIG_PRINTK.patch134
1 files changed, 0 insertions, 134 deletions
diff --git a/debian/patches-rt/0083-printk-fix-illegal-pbufs-access-for-CONFIG_PRINTK.patch b/debian/patches-rt/0083-printk-fix-illegal-pbufs-access-for-CONFIG_PRINTK.patch
deleted file mode 100644
index 80de1c716..000000000
--- a/debian/patches-rt/0083-printk-fix-illegal-pbufs-access-for-CONFIG_PRINTK.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From: John Ogness <john.ogness@linutronix.de>
-Date: Wed, 20 Sep 2023 17:58:38 +0206
-Subject: [PATCH 083/134] printk: fix illegal pbufs access for !CONFIG_PRINTK
-Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/6.6/older/patches-6.6.7-rt18.tar.xz
-
-When CONFIG_PRINTK is not set, PRINTK_MESSAGE_MAX is 0. This
-leads to a zero-sized array @outbuf in @printk_shared_pbufs. In
-console_flush_all() a pointer to the first element of the array
-is assigned with:
-
- char *outbuf = &printk_shared_pbufs.outbuf[0];
-
-For !CONFIG_PRINTK this leads to a compiler warning:
-
- warning: array subscript 0 is outside array bounds of
- 'char[0]' [-Warray-bounds]
-
-This is not really dangerous because printk_get_next_message()
-always returns false for !CONFIG_PRINTK, which leads to @outbuf
-never being used. However, it makes no sense to even compile
-these functions for !CONFIG_PRINTK.
-
-Extend the existing '#ifdef CONFIG_PRINTK' block to contain
-the formatting and emitting functions since these have no
-purpose in !CONFIG_PRINTK. This also allows removing several
-more !CONFIG_PRINTK dummies as well as moving
-@suppress_panic_printk into a CONFIG_PRINTK block.
-
-Reported-by: kernel test robot <lkp@intel.com>
-Closes: https://lore.kernel.org/oe-kbuild-all/202309201724.M9BMAQIh-lkp@intel.com/
-Signed-off-by: John Ogness <john.ogness@linutronix.de>
-Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
-Signed-off-by: Petr Mladek <pmladek@suse.com>
-Link: https://lore.kernel.org/r/20230920155238.670439-1-john.ogness@linutronix.de
-Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
----
- kernel/printk/printk.c | 44 ++++++++++++++++++--------------------------
- 1 file changed, 18 insertions(+), 26 deletions(-)
-
---- a/kernel/printk/printk.c
-+++ b/kernel/printk/printk.c
-@@ -102,12 +102,6 @@ DEFINE_STATIC_SRCU(console_srcu);
- */
- int __read_mostly suppress_printk;
-
--/*
-- * During panic, heavy printk by other CPUs can delay the
-- * panic and risk deadlock on console resources.
-- */
--static int __read_mostly suppress_panic_printk;
--
- #ifdef CONFIG_LOCKDEP
- static struct lockdep_map console_lock_dep_map = {
- .name = "console_lock"
-@@ -445,6 +439,12 @@ static int console_msg_format = MSG_FORM
- static DEFINE_MUTEX(syslog_lock);
-
- #ifdef CONFIG_PRINTK
-+/*
-+ * During panic, heavy printk by other CPUs can delay the
-+ * panic and risk deadlock on console resources.
-+ */
-+static int __read_mostly suppress_panic_printk;
-+
- DECLARE_WAIT_QUEUE_HEAD(log_wait);
- /* All 3 protected by @syslog_lock. */
- /* the next printk record to read by syslog(READ) or /proc/kmsg */
-@@ -2346,22 +2346,6 @@ static bool __pr_flush(struct console *c
-
- static u64 syslog_seq;
-
--static size_t record_print_text(const struct printk_record *r,
-- bool syslog, bool time)
--{
-- return 0;
--}
--static ssize_t info_print_ext_header(char *buf, size_t size,
-- struct printk_info *info)
--{
-- return 0;
--}
--static ssize_t msg_print_ext_body(char *buf, size_t size,
-- char *text, size_t text_len,
-- struct dev_printk_info *dev_info) { return 0; }
--static void console_lock_spinning_enable(void) { }
--static int console_lock_spinning_disable_and_check(int cookie) { return 0; }
--static bool suppress_message_printing(int level) { return false; }
- static bool pr_flush(int timeout_ms, bool reset_on_progress) { return true; }
- static bool __pr_flush(struct console *con, int timeout_ms, bool reset_on_progress) { return true; }
-
-@@ -2715,6 +2699,8 @@ static void __console_unlock(void)
- up_console_sem();
- }
-
-+#ifdef CONFIG_PRINTK
-+
- /*
- * Prepend the message in @pmsg->pbufs->outbuf with a "dropped message". This
- * is achieved by shifting the existing message over and inserting the dropped
-@@ -2729,7 +2715,6 @@ static void __console_unlock(void)
- *
- * If @pmsg->pbufs->outbuf is modified, @pmsg->outbuf_len is updated.
- */
--#ifdef CONFIG_PRINTK
- void console_prepend_dropped(struct printk_message *pmsg, unsigned long dropped)
- {
- struct printk_buffers *pbufs = pmsg->pbufs;
-@@ -2761,9 +2746,6 @@ void console_prepend_dropped(struct prin
- memcpy(outbuf, scratchbuf, len);
- pmsg->outbuf_len += len;
- }
--#else
--#define console_prepend_dropped(pmsg, dropped)
--#endif /* CONFIG_PRINTK */
-
- /*
- * Read and format the specified record (or a later record if the specified
-@@ -2921,6 +2903,16 @@ static bool console_emit_next_record(str
- return true;
- }
-
-+#else
-+
-+static bool console_emit_next_record(struct console *con, bool *handover, int cookie)
-+{
-+ *handover = false;
-+ return false;
-+}
-+
-+#endif /* CONFIG_PRINTK */
-+
- /*
- * Print out all remaining records to all consoles.
- *