[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170718042318.5309-1-alexander.levin@verizon.com>
Date: Tue, 18 Jul 2017 04:23:16 +0000
From: "Levin, Alexander (Sasha Levin)" <alexander.levin@...izon.com>
To: "johannes.berg@...el.com" <johannes.berg@...el.com>,
"davem@...emloft.net" <davem@...emloft.net>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Levin, Alexander (Sasha Levin)" <alexander.levin@...izon.com>
Subject: [PATCH] wireless: wext: terminate ifr name coming from userspace
ifr name is assumed to be a valid string by the kernel, but nothing
was forcing username to pass a valid string.
In turn, this would cause panics as we tried to access the string
past it's valid memory.
Signed-off-by: Sasha Levin <alexander.levin@...izon.com>
---
net/core/dev_ioctl.c | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
index 82fd4c9c4a1b..7657ad6bc13d 100644
--- a/net/core/dev_ioctl.c
+++ b/net/core/dev_ioctl.c
@@ -424,6 +424,8 @@ int dev_ioctl(struct net *net, unsigned int cmd, void __user *arg)
if (copy_from_user(&iwr, arg, sizeof(iwr)))
return -EFAULT;
+ iwr.ifr_name[sizeof(iwr.ifr_name) - 1] = 0;
+
return wext_handle_ioctl(net, &iwr, cmd, arg);
}
--
2.11.0
Powered by blists - more mailing lists