| From 92792e48e2ae6051af30468a87994b5432da2f06 Mon Sep 17 00:00:00 2001 |
| From: Arnd Bergmann <arnd@arndb.de> |
| Date: Fri, 20 Nov 2015 18:26:07 +0100 |
| Subject: remoteproc: avoid stack overflow in debugfs file |
| |
| From: Arnd Bergmann <arnd@arndb.de> |
| |
| commit 92792e48e2ae6051af30468a87994b5432da2f06 upstream. |
| |
| Recent gcc versions warn about reading from a negative offset of |
| an on-stack array: |
| |
| drivers/remoteproc/remoteproc_debugfs.c: In function 'rproc_recovery_write': |
| drivers/remoteproc/remoteproc_debugfs.c:167:9: warning: 'buf[4294967295u]' may be used uninitialized in this function [-Wmaybe-uninitialized] |
| |
| I don't see anything in sys_write() that prevents us from |
| being called with a zero 'count' argument, so we should |
| add an extra check in rproc_recovery_write() to prevent the |
| access and avoid the warning. |
| |
| Signed-off-by: Arnd Bergmann <arnd@arndb.de> |
| Fixes: 2e37abb89a2e ("remoteproc: create a 'recovery' debugfs entry") |
| Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/remoteproc/remoteproc_debugfs.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/remoteproc/remoteproc_debugfs.c |
| +++ b/drivers/remoteproc/remoteproc_debugfs.c |
| @@ -156,7 +156,7 @@ rproc_recovery_write(struct file *filp, |
| char buf[10]; |
| int ret; |
| |
| - if (count > sizeof(buf)) |
| + if (count < 1 || count > sizeof(buf)) |
| return count; |
| |
| ret = copy_from_user(buf, user_buf, count); |