mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 13:44:15 +08:00
net: pass new SIOCSHWTSTAMP through to device drivers
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
51f31cabe3
commit
d24fff22d8
@ -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)
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user