ethtool: Make more commands available to unprivileged processes
authorBen Hutchings <bhutchings@solarflare.com>
Tue, 12 Jun 2012 13:05:41 +0000 (13:05 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 13 Jun 2012 01:51:09 +0000 (18:51 -0700)
'Get' commands should generally not require CAP_NET_ADMIN, with
the exception of those that expose internal state.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/ethtool.c

index c73d0a5..cbf033d 100644 (file)
@@ -1443,6 +1443,7 @@ int dev_ethtool(struct net *net, struct ifreq *ifr)
        case ETHTOOL_GSET:
        case ETHTOOL_GDRVINFO:
        case ETHTOOL_GMSGLVL:
+       case ETHTOOL_GLINK:
        case ETHTOOL_GCOALESCE:
        case ETHTOOL_GRINGPARAM:
        case ETHTOOL_GPAUSEPARAM:
@@ -1451,6 +1452,7 @@ int dev_ethtool(struct net *net, struct ifreq *ifr)
        case ETHTOOL_GSG:
        case ETHTOOL_GSSET_INFO:
        case ETHTOOL_GSTRINGS:
+       case ETHTOOL_GSTATS:
        case ETHTOOL_GTSO:
        case ETHTOOL_GPERMADDR:
        case ETHTOOL_GUFO:
@@ -1463,8 +1465,11 @@ int dev_ethtool(struct net *net, struct ifreq *ifr)
        case ETHTOOL_GRXCLSRLCNT:
        case ETHTOOL_GRXCLSRULE:
        case ETHTOOL_GRXCLSRLALL:
+       case ETHTOOL_GRXFHINDIR:
        case ETHTOOL_GFEATURES:
+       case ETHTOOL_GCHANNELS:
        case ETHTOOL_GET_TS_INFO:
+       case ETHTOOL_GEEE:
                break;
        default:
                if (!capable(CAP_NET_ADMIN))