public inbox for linux-serial@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] tty: vt: Fix slab-out-of-bounds write in do_con_write
@ 2026-03-21  6:23 yuhaocheng035
  2026-03-21  6:32 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 4+ messages in thread
From: yuhaocheng035 @ 2026-03-21  6:23 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Jiri Slaby
  Cc: Nicolas Pitre, linux-kernel, linux-serial, Calixte Pernot

From: Haocheng Yu <yuhaocheng035@gmail.com>

A KASAN: slab-out-of-bounds Write in do_con_write issue is reported by 
a modified Syzkaller-based kernel fuzzing tool that we developed. The 
report indicates the problem lies in vc_con_write_normal 
drivers/tty/vt/vt.c:3141(scr_writew(tc, (u16*)vc->vc_pos)), which writes 
2 bytes to the right of the allocated region at 2634 bytes.

Since it did not provide any repro program or enough information, 
the cause remains unclear. However, adding a validity check of vc->vc_pos 
before scr_writew should avoid this issue.

Signed-off-by: Haocheng Yu <yuhaocheng035@gmail.com>
---
 drivers/tty/vt/vt.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index 6e0089b85c27..95d860f09837 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -3138,6 +3138,13 @@ static int vc_con_write_normal(struct vc_data *vc, int tc, int c,
 			      (tc &  0xff);
 		tc |= (vc_attr << 8) & ~himask;
 
+		unsigned long end = vc->vc_origin + vc->vc_screenbuf_size;
+
+		if (WARN_ON_ONCE(vc->vc_screenbuf_size < 2 ||
+				 end < vc->vc_origin ||
+				 vc->vc_pos < vc->vc_origin ||
+				 vc->vc_pos > end - 2))
+			return -1;
+
 		scr_writew(tc, (u16 *)vc->vc_pos);
 
 		if (con_should_update(vc) && draw->x < 0) {

base-commit: 7d0a66e4bb9081d75c82ec4957c50034cb0ea449
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-03-22  7:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-21  6:23 [PATCH] tty: vt: Fix slab-out-of-bounds write in do_con_write yuhaocheng035
2026-03-21  6:32 ` Greg Kroah-Hartman
2026-03-21  6:37   ` Greg Kroah-Hartman
2026-03-22  7:32   ` Haocheng Yu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox