From cf5ac22ebffdeff623a5b5b085f8dd216a24a11e Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Thu, 12 Feb 2009 05:03:40 +0000 Subject: [PATCH] --- yaml --- r: 134519 b: refs/heads/master c: d24fff22d8dba13cc21034144f68f213415cb7c8 h: refs/heads/master i: 134517: 4169701c1b099145ade0d5794186940cc1b595c9 134515: a9943694289a778ba840528c73e2eb4d3864312b 134511: 0236faa4b27bd3f88bc698b5a5a218db417d3028 v: v3 --- [refs] | 2 +- trunk/fs/compat_ioctl.c | 6 ++++++ trunk/net/core/dev.c | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 457d8880437a..1c2e38b2530d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 51f31cabe3ce5345b51e4a4f82138b38c4d5dc91 +refs/heads/master: d24fff22d8dba13cc21034144f68f213415cb7c8 diff --git a/trunk/fs/compat_ioctl.c b/trunk/fs/compat_ioctl.c index 64f406593c0e..763fe69ef351 100644 --- a/trunk/fs/compat_ioctl.c +++ b/trunk/fs/compat_ioctl.c @@ -522,6 +522,11 @@ static int dev_ifsioc(unsigned int fd, unsigned int cmd, unsigned long arg) if (err) return -EFAULT; break; + case SIOCSHWTSTAMP: + if (copy_from_user(&ifr, uifr32, sizeof(*uifr32))) + return -EFAULT; + ifr.ifr_data = compat_ptr(uifr32->ifr_ifru.ifru_data); + break; default: if (copy_from_user(&ifr, uifr32, sizeof(*uifr32))) return -EFAULT; @@ -2563,6 +2568,7 @@ HANDLE_IOCTL(SIOCSIFMAP, dev_ifsioc) HANDLE_IOCTL(SIOCGIFADDR, dev_ifsioc) HANDLE_IOCTL(SIOCSIFADDR, dev_ifsioc) HANDLE_IOCTL(SIOCSIFHWBROADCAST, dev_ifsioc) +HANDLE_IOCTL(SIOCSHWTSTAMP, dev_ifsioc) /* ioctls used by appletalk ddp.c */ HANDLE_IOCTL(SIOCATALKDIFADDR, dev_ifsioc) diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index d20c28e839d3..d393fc997cd9 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -4019,6 +4019,7 @@ static int dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd) cmd == SIOCSMIIREG || cmd == SIOCBRADDIF || cmd == SIOCBRDELIF || + cmd == SIOCSHWTSTAMP || cmd == SIOCWANDEV) { err = -EOPNOTSUPP; if (ops->ndo_do_ioctl) { @@ -4173,6 +4174,7 @@ int dev_ioctl(struct net *net, unsigned int cmd, void __user *arg) case SIOCBONDCHANGEACTIVE: case SIOCBRADDIF: case SIOCBRDELIF: + case SIOCSHWTSTAMP: if (!capable(CAP_NET_ADMIN)) return -EPERM; /* fall through */