From: John Ogness Date: Sun, 24 Jan 2021 20:27:28 +0000 (+0106) Subject: printk: fix string termination for record_print_text() X-Git-Tag: rel_imx_5.10.35_2.0.0-somdevices.0~363^2~2060 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=d5ac8304e18025a522b5d1d87629e926064ce134;p=linux.git printk: fix string termination for record_print_text() commit 08d60e5999540110576e7c1346d486220751b7f9 upstream. Commit f0e386ee0c0b ("printk: fix buffer overflow potential for print_text()") added string termination in record_print_text(). However it used the wrong base pointer for adding the terminator. This led to a 0-byte being written somewhere beyond the buffer. Use the correct base pointer when adding the terminator. Fixes: f0e386ee0c0b ("printk: fix buffer overflow potential for print_text()") Reported-by: Sven Schnelle Signed-off-by: John Ogness Signed-off-by: Petr Mladek Link: https://lore.kernel.org/r/20210124202728.4718-1-john.ogness@linutronix.de Signed-off-by: Greg Kroah-Hartman --- diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 807810216492..aafec8cb8637 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1445,7 +1445,7 @@ static size_t record_print_text(struct printk_record *r, bool syslog, * not counted in the return value. */ if (buf_size > 0) - text[len] = 0; + r->text_buf[len] = 0; return len; }