git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git]
/
net
/
appletalk
/
ddp.c
diff --git
a/net/appletalk/ddp.c
b/net/appletalk/ddp.c
index
4170de1
..
4185d7b
100644
(file)
--- a/
net/appletalk/ddp.c
+++ b/
net/appletalk/ddp.c
@@
-908,12
+908,12
@@
static int atrtr_ioctl(unsigned int cmd, void __user *arg)
case SIOCADDRT: {
struct net_device *dev = NULL;
case SIOCADDRT: {
struct net_device *dev = NULL;
- /*
- * FIXME: the name of the device is still in user
- * space, isn't it?
- */
if (rt.rt_dev) {
if (rt.rt_dev) {
- dev = __dev_get_by_name(rt.rt_dev);
+ char name[IFNAMSIZ];
+ if (copy_from_user(name, rt.rt_dev, IFNAMSIZ-1))
+ return -EFAULT;
+ name[IFNAMSIZ-1] = '\0';
+ dev = __dev_get_by_name(name);
if (!dev)
return -ENODEV;
}
if (!dev)
return -ENODEV;
}