Commit 474ff260 authored by Maciej Żenczykowski's avatar Maciej Żenczykowski Committed by David S. Miller

net-ethtool: ETHTOOL_GUFO did not and should not require CAP_NET_ADMIN

So it should not fail with EPERM even though it is no longer implemented...

This is a fix for:
  (userns)$ egrep ^Cap /proc/self/status
  CapInh: 0000003fffffffff
  CapPrm: 0000003fffffffff
  CapEff: 0000003fffffffff
  CapBnd: 0000003fffffffff
  CapAmb: 0000003fffffffff

  (userns)$ tcpdump -i usb_rndis0
  tcpdump: WARNING: usb_rndis0: SIOCETHTOOL(ETHTOOL_GUFO) ioctl failed: Operation not permitted
  Warning: Kernel filter failed: Bad file descriptor
  tcpdump: can't remove kernel filter: Bad file descriptor

With this change it returns EOPNOTSUPP instead of EPERM.

See also https://github.com/the-tcpdump-group/libpcap/issues/689

Fixes: 08a00fea "net: Remove references to NETIF_F_UFO from ethtool."
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: default avatarMaciej Żenczykowski <maze@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8360ed67
...@@ -2624,6 +2624,7 @@ int dev_ethtool(struct net *net, struct ifreq *ifr) ...@@ -2624,6 +2624,7 @@ int dev_ethtool(struct net *net, struct ifreq *ifr)
case ETHTOOL_GPHYSTATS: case ETHTOOL_GPHYSTATS:
case ETHTOOL_GTSO: case ETHTOOL_GTSO:
case ETHTOOL_GPERMADDR: case ETHTOOL_GPERMADDR:
case ETHTOOL_GUFO:
case ETHTOOL_GGSO: case ETHTOOL_GGSO:
case ETHTOOL_GGRO: case ETHTOOL_GGRO:
case ETHTOOL_GFLAGS: case ETHTOOL_GFLAGS:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment