[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220328123413.18169-1-xiaobing.shi@mediatek.com>
Date: Mon, 28 Mar 2022 20:34:13 +0800
From: Xiaobing shi <xiaobing.shi@...iatek.com>
To: Bjorn Andersson <bjorn.andersson@...aro.org>,
Mathieu Poirier <mathieu.poirier@...aro.org>
CC: Matthias Brugger <matthias.bgg@...il.com>,
<linux-remoteproc@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-mediatek@...ts.infradead.org>,
Xiaobing shi <xiaobing.shi@...iatek.com>
Subject: [PATCH] remoteproc: avoid array index out of bounds in debugfs file
There is a negative offset of an on-stack array that causes an out of
bounds issue when someone called with a zero 'count' argument to
syswrite().
buf[count - 1]
We should add an extra check in rproc_coredump_write() to prevent the
access.
Signed-off-by: Xiaobing shi <xiaobing.shi@...iatek.com>
---
drivers/remoteproc/remoteproc_debugfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/remoteproc/remoteproc_debugfs.c b/drivers/remoteproc/remoteproc_debugfs.c
index b5a1e3b697d9..581930483ef8 100644
--- a/drivers/remoteproc/remoteproc_debugfs.c
+++ b/drivers/remoteproc/remoteproc_debugfs.c
@@ -76,7 +76,7 @@ static ssize_t rproc_coredump_write(struct file *filp,
int ret, err = 0;
char buf[20];
- if (count > sizeof(buf))
+ if (count < 1 || count > sizeof(buf))
return -EINVAL;
ret = copy_from_user(buf, user_buf, count);
--
2.18.0
Powered by blists - more mailing lists