Linux-Aspeed Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] soc: aspeed: lpc-snoop: Fix usercopy overflow in snoop_file_read
@ 2026-04-23 19:00 karthikeyan K S
  2026-05-18 11:14 ` Andrew Jeffery
  0 siblings, 1 reply; 19+ messages in thread
From: karthikeyan K S @ 2026-04-23 19:00 UTC (permalink / raw)
  To: joel, andrew; +Cc: jdelvare, linux-aspeed, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1426 bytes --]

From c50ff07baf2032ca12133775c61c50a38e8a2029 Mon Sep 17 00:00:00 2001
From: Karthikeyan KS <karthiproffesional@gmail.com>
Date: Thu, 23 Apr 2026 21:26:08 +0300
Subject: [PATCH] soc: aspeed: lpc-snoop: Fix usercopy overflow in
 snoop_file_read

snoop_file_read() passes the userspace count directly to
kfifo_to_user() without clamping. The kfifo backing buffer is
2048 bytes (SNOOP_FIFO_SIZE), allocated from kmalloc-2k slab.
A read larger than 2048 bytes triggers a BUG under
CONFIG_HARDENED_USERCOPY:

  kernel BUG at mm/usercopy.c:99!

Reproducer:
  hexdump /dev/aspeed-lpc-snoop0

Fix by clamping count to SNOOP_FIFO_SIZE before the copy.

Fixes: 3772e5da4454 ("drivers/misc: Aspeed LPC snoop output using misc
chardev")
Cc: stable@vger.kernel.org
Signed-off-by: Karthikeyan KS <karthiproffesional@gmail.com>
---
 drivers/soc/aspeed/aspeed-lpc-snoop.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/soc/aspeed/aspeed-lpc-snoop.c
b/drivers/soc/aspeed/aspeed-lpc-snoop.c
index b03310c0830d..5b59e826cc68 100644
--- a/drivers/soc/aspeed/aspeed-lpc-snoop.c
+++ b/drivers/soc/aspeed/aspeed-lpc-snoop.c
@@ -125,6 +125,7 @@ static ssize_t snoop_file_read(struct file *file, char
__user *buffer,
        if (ret == -ERESTARTSYS)
            return -EINTR;
    }
+   count = min(count, (size_t)SNOOP_FIFO_SIZE);
    ret = kfifo_to_user(&chan->fifo, buffer, count, &copied);
    if (ret)
        return ret;
-- 
2.34.1

[-- Attachment #2: Type: text/html, Size: 3406 bytes --]

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

end of thread, other threads:[~2026-06-18  0:45 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-23 19:00 [PATCH] soc: aspeed: lpc-snoop: Fix usercopy overflow in snoop_file_read karthikeyan K S
2026-05-18 11:14 ` Andrew Jeffery
2026-05-23 17:35   ` [PATCH v2] " Karthikeyan KS
2026-05-27  3:53     ` Andrew Jeffery
2026-05-27 17:59       ` [PATCH v3] " Karthikeyan KS
2026-05-28  2:39         ` Andrew Jeffery
2026-06-01 12:52           ` [PATCH v4] " Karthikeyan KS
2026-06-10  2:26             ` Andrew Jeffery
2026-06-10 17:23               ` [PATCH v5] " Karthikeyan KS
2026-06-11  2:50                 ` Andrew Jeffery
2026-06-11 17:31                   ` karthikeyan K S
2026-06-12  0:39                     ` Andrew Jeffery
2026-06-11 18:08               ` Karthikeyan KS
2026-06-12 19:07               ` [PATCH v6] " Karthikeyan KS
2026-06-16  0:20                 ` Andrew Jeffery
2026-06-16  7:30               ` Karthikeyan KS
2026-06-17  0:44                 ` Andrew Jeffery
2026-06-17 13:10               ` Karthikeyan KS
2026-06-18  0:44                 ` Andrew Jeffery

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