Skip to content

Commit 7ab0f27

Browse files
Ben Hutchingsdavem330
authored andcommitted
netdev: Remove redundant checks for CAP_NET_ADMIN in MDIO implementations
dev_ioctl() already checks capable(CAP_NET_ADMIN) before calling the driver's implementation of MDIO ioctls. Signed-off-by: Ben Hutchings <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent aae5e7c commit 7ab0f27

30 files changed

+1
-92
lines changed

drivers/net/amd8111e.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1524,9 +1524,6 @@ static int amd8111e_ioctl(struct net_device * dev , struct ifreq *ifr, int cmd)
15241524
int err;
15251525
u32 mii_regval;
15261526

1527-
if (!capable(CAP_NET_ADMIN))
1528-
return -EPERM;
1529-
15301527
switch(cmd) {
15311528
case SIOCGMIIPHY:
15321529
data->phy_id = lp->ext_phy_addr;

drivers/net/atl1c/atl1c_main.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -534,10 +534,6 @@ static int atl1c_mii_ioctl(struct net_device *netdev,
534534
break;
535535

536536
case SIOCGMIIREG:
537-
if (!capable(CAP_NET_ADMIN)) {
538-
retval = -EPERM;
539-
goto out;
540-
}
541537
if (atl1c_read_phy_reg(&adapter->hw, data->reg_num & 0x1F,
542538
&data->val_out)) {
543539
retval = -EIO;
@@ -546,10 +542,6 @@ static int atl1c_mii_ioctl(struct net_device *netdev,
546542
break;
547543

548544
case SIOCSMIIREG:
549-
if (!capable(CAP_NET_ADMIN)) {
550-
retval = -EPERM;
551-
goto out;
552-
}
553545
if (data->reg_num & ~(0x1F)) {
554546
retval = -EFAULT;
555547
goto out;

drivers/net/atl1e/atl1e_main.c

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -453,10 +453,6 @@ static int atl1e_mii_ioctl(struct net_device *netdev,
453453
break;
454454

455455
case SIOCGMIIREG:
456-
if (!capable(CAP_NET_ADMIN)) {
457-
retval = -EPERM;
458-
goto out;
459-
}
460456
if (atl1e_read_phy_reg(&adapter->hw, data->reg_num & 0x1F,
461457
&data->val_out)) {
462458
retval = -EIO;
@@ -465,10 +461,6 @@ static int atl1e_mii_ioctl(struct net_device *netdev,
465461
break;
466462

467463
case SIOCSMIIREG:
468-
if (!capable(CAP_NET_ADMIN)) {
469-
retval = -EPERM;
470-
goto out;
471-
}
472464
if (data->reg_num & ~(0x1F)) {
473465
retval = -EFAULT;
474466
goto out;

drivers/net/atlx/atl2.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -966,8 +966,6 @@ static int atl2_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
966966
data->phy_id = 0;
967967
break;
968968
case SIOCGMIIREG:
969-
if (!capable(CAP_NET_ADMIN))
970-
return -EPERM;
971969
spin_lock_irqsave(&adapter->stats_lock, flags);
972970
if (atl2_read_phy_reg(&adapter->hw,
973971
data->reg_num & 0x1F, &data->val_out)) {
@@ -977,8 +975,6 @@ static int atl2_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
977975
spin_unlock_irqrestore(&adapter->stats_lock, flags);
978976
break;
979977
case SIOCSMIIREG:
980-
if (!capable(CAP_NET_ADMIN))
981-
return -EPERM;
982978
if (data->reg_num & ~(0x1F))
983979
return -EFAULT;
984980
spin_lock_irqsave(&adapter->stats_lock, flags);

drivers/net/bnx2.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7480,9 +7480,6 @@ bnx2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
74807480
}
74817481

74827482
case SIOCSMIIREG:
7483-
if (!capable(CAP_NET_ADMIN))
7484-
return -EPERM;
7485-
74867483
if (bp->phy_flags & BNX2_PHY_FLAG_REMOTE_PHY_CAP)
74877484
return -EOPNOTSUPP;
74887485

drivers/net/cassini.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4875,10 +4875,6 @@ static int cas_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
48754875
break;
48764876

48774877
case SIOCSMIIREG: /* Write MII PHY register. */
4878-
if (!capable(CAP_NET_ADMIN)) {
4879-
rc = -EPERM;
4880-
break;
4881-
}
48824878
spin_lock_irqsave(&cp->lock, flags);
48834879
cas_mif_poll(cp, 0);
48844880
rc = cas_phy_write(cp, data->reg_num & 0x1f, data->val_in);

drivers/net/e1000/e1000_main.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4714,8 +4714,6 @@ static int e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr,
47144714
data->phy_id = hw->phy_addr;
47154715
break;
47164716
case SIOCGMIIREG:
4717-
if (!capable(CAP_NET_ADMIN))
4718-
return -EPERM;
47194717
spin_lock_irqsave(&adapter->stats_lock, flags);
47204718
if (e1000_read_phy_reg(hw, data->reg_num & 0x1F,
47214719
&data->val_out)) {
@@ -4725,8 +4723,6 @@ static int e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr,
47254723
spin_unlock_irqrestore(&adapter->stats_lock, flags);
47264724
break;
47274725
case SIOCSMIIREG:
4728-
if (!capable(CAP_NET_ADMIN))
4729-
return -EPERM;
47304726
if (data->reg_num & ~(0x1F))
47314727
return -EFAULT;
47324728
mii_reg = data->val_in;

drivers/net/e1000e/netdev.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4346,8 +4346,6 @@ static int e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr,
43464346
data->phy_id = adapter->hw.phy.addr;
43474347
break;
43484348
case SIOCGMIIREG:
4349-
if (!capable(CAP_NET_ADMIN))
4350-
return -EPERM;
43514349
switch (data->reg_num & 0x1F) {
43524350
case MII_BMCR:
43534351
data->val_out = adapter->phy_regs.bmcr;

drivers/net/ibm_newemac/core.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2225,8 +2225,6 @@ static int emac_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd)
22252225
return 0;
22262226

22272227
case SIOCSMIIREG:
2228-
if (!capable(CAP_NET_ADMIN))
2229-
return -EPERM;
22302228
emac_mdio_write(ndev, dev->phy.address, data[1], data[2]);
22312229
return 0;
22322230
default:

drivers/net/igb/igb_main.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4914,8 +4914,6 @@ static int igb_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
49144914
data->phy_id = adapter->hw.phy.addr;
49154915
break;
49164916
case SIOCGMIIREG:
4917-
if (!capable(CAP_NET_ADMIN))
4918-
return -EPERM;
49194917
if (igb_read_phy_reg(&adapter->hw, data->reg_num & 0x1F,
49204918
&data->val_out))
49214919
return -EIO;

drivers/net/mdio.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -380,10 +380,7 @@ int mdio_mii_ioctl(const struct mdio_if_info *mdio,
380380
cmd = SIOCGMIIREG;
381381
break;
382382
case SIOCGMIIREG:
383-
break;
384383
case SIOCSMIIREG:
385-
if (!capable(CAP_NET_ADMIN))
386-
return -EPERM;
387384
break;
388385
default:
389386
return -EOPNOTSUPP;

drivers/net/mii.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -433,9 +433,6 @@ int generic_mii_ioctl(struct mii_if_info *mii_if,
433433
case SIOCSMIIREG: {
434434
u16 val = mii_data->val_in;
435435

436-
if (!capable(CAP_NET_ADMIN))
437-
return -EPERM;
438-
439436
if (mii_data->phy_id == mii_if->phy_id) {
440437
switch(mii_data->reg_num) {
441438
case MII_BMCR: {

drivers/net/natsemi.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3075,8 +3075,6 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
30753075
return 0;
30763076

30773077
case SIOCSMIIREG: /* Write MII PHY register. */
3078-
if (!capable(CAP_NET_ADMIN))
3079-
return -EPERM;
30803078
if (dev->if_port == PORT_TP) {
30813079
if ((data->phy_id & 0x1f) == np->phy_addr_external) {
30823080
if ((data->reg_num & 0x1f) == MII_ADVERTISE)

drivers/net/pci-skeleton.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1784,11 +1784,6 @@ static int netdrv_ioctl (struct net_device *dev, struct ifreq *rq, int cmd)
17841784
break;
17851785

17861786
case SIOCSMIIREG: /* Write MII PHY register. */
1787-
if (!capable (CAP_NET_ADMIN)) {
1788-
rc = -EPERM;
1789-
break;
1790-
}
1791-
17921787
spin_lock_irqsave (&tp->lock, flags);
17931788
mdio_write (dev, data->phy_id & 0x1f, data->reg_num & 0x1f, data->val_in);
17941789
spin_unlock_irqrestore (&tp->lock, flags);

drivers/net/pcmcia/3c574_cs.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,8 +1124,6 @@ static int el3_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
11241124
int saved_window;
11251125
unsigned long flags;
11261126

1127-
if (!capable(CAP_NET_ADMIN))
1128-
return -EPERM;
11291127
spin_lock_irqsave(&lp->window_lock, flags);
11301128
saved_window = inw(ioaddr + EL3_CMD) >> 13;
11311129
EL3WINDOW(4);

drivers/net/pcmcia/axnet_cs.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -706,8 +706,6 @@ static int axnet_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
706706
data[3] = mdio_read(mii_addr, data[0], data[1] & 0x1f);
707707
return 0;
708708
case SIOCSMIIREG: /* Write MII PHY register. */
709-
if (!capable(CAP_NET_ADMIN))
710-
return -EPERM;
711709
mdio_write(mii_addr, data[0], data[1] & 0x1f, data[2]);
712710
return 0;
713711
}

drivers/net/pcmcia/pcnet_cs.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1204,8 +1204,6 @@ static int ei_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
12041204
data[3] = mdio_read(mii_addr, data[0], data[1] & 0x1f);
12051205
return 0;
12061206
case SIOCSMIIREG: /* Write MII PHY register. */
1207-
if (!capable(CAP_NET_ADMIN))
1208-
return -EPERM;
12091207
mdio_write(mii_addr, data[0], data[1] & 0x1f, data[2]);
12101208
return 0;
12111209
}

drivers/net/pcmcia/xirc2ps_cs.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1575,8 +1575,6 @@ do_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
15751575
data[3] = mii_rd(ioaddr, data[0] & 0x1f, data[1] & 0x1f);
15761576
break;
15771577
case SIOCSMIIREG: /* Write the specified MII register */
1578-
if (!capable(CAP_NET_ADMIN))
1579-
return -EPERM;
15801578
mii_wr(ioaddr, data[0] & 0x1f, data[1] & 0x1f, data[2], 16);
15811579
break;
15821580
default:

drivers/net/phy/phy.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -324,9 +324,6 @@ int phy_mii_ioctl(struct phy_device *phydev,
324324
break;
325325

326326
case SIOCSMIIREG:
327-
if (!capable(CAP_NET_ADMIN))
328-
return -EPERM;
329-
330327
if (mii_data->phy_id == phydev->addr) {
331328
switch(mii_data->reg_num) {
332329
case MII_BMCR:

drivers/net/r8169.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1991,8 +1991,6 @@ static int rtl_xmii_ioctl(struct rtl8169_private *tp, struct mii_ioctl_data *dat
19911991
return 0;
19921992

19931993
case SIOCSMIIREG:
1994-
if (!capable(CAP_NET_ADMIN))
1995-
return -EPERM;
19961994
mdio_write(tp->mmio_addr, data->reg_num & 0x1f, data->val_in);
19971995
return 0;
19981996
}

drivers/net/sis900.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2128,8 +2128,6 @@ static int mii_ioctl(struct net_device *net_dev, struct ifreq *rq, int cmd)
21282128
return 0;
21292129

21302130
case SIOCSMIIREG: /* Write MII PHY register. */
2131-
if (!capable(CAP_NET_ADMIN))
2132-
return -EPERM;
21332131
mdio_write(net_dev, data->phy_id & 0x1f, data->reg_num & 0x1f, data->val_in);
21342132
return 0;
21352133
default:

drivers/net/skge.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2496,9 +2496,6 @@ static int skge_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
24962496
}
24972497

24982498
case SIOCSMIIREG:
2499-
if (!capable(CAP_NET_ADMIN))
2500-
return -EPERM;
2501-
25022499
spin_lock_bh(&hw->phy_lock);
25032500
if (hw->chip_id == CHIP_ID_GENESIS)
25042501
err = xm_phy_write(hw, skge->port, data->reg_num & 0x1f,

drivers/net/sky2.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1214,9 +1214,6 @@ static int sky2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
12141214
}
12151215

12161216
case SIOCSMIIREG:
1217-
if (!capable(CAP_NET_ADMIN))
1218-
return -EPERM;
1219-
12201217
spin_lock_bh(&sky2->phy_lock);
12211218
err = gm_phy_write(hw, sky2->port, data->reg_num & 0x1f,
12221219
data->val_in);

drivers/net/sungem.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2852,9 +2852,7 @@ static int gem_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
28522852
break;
28532853

28542854
case SIOCSMIIREG: /* Write MII PHY register. */
2855-
if (!capable(CAP_NET_ADMIN))
2856-
rc = -EPERM;
2857-
else if (!gp->running)
2855+
if (!gp->running)
28582856
rc = -EAGAIN;
28592857
else {
28602858
__phy_write(gp, data->phy_id & 0x1f, data->reg_num & 0x1f,

drivers/net/tg3.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10610,9 +10610,6 @@ static int tg3_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
1061010610
if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES)
1061110611
break; /* We have no PHY */
1061210612

10613-
if (!capable(CAP_NET_ADMIN))
10614-
return -EPERM;
10615-
1061610613
if (tp->link_config.phy_is_low_power)
1061710614
return -EAGAIN;
1061810615

drivers/net/tlan.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1004,8 +1004,6 @@ static int TLan_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
10041004

10051005

10061006
case SIOCSMIIREG: /* Write MII PHY register. */
1007-
if (!capable(CAP_NET_ADMIN))
1008-
return -EPERM;
10091007
TLan_MiiWriteReg(dev, data->phy_id & 0x1f,
10101008
data->reg_num & 0x1f, data->val_in);
10111009
return 0;

drivers/net/tulip/tulip_core.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -923,8 +923,6 @@ static int private_ioctl (struct net_device *dev, struct ifreq *rq, int cmd)
923923
return 0;
924924

925925
case SIOCSMIIREG: /* Write MII PHY register. */
926-
if (!capable (CAP_NET_ADMIN))
927-
return -EPERM;
928926
if (regnum & ~0x1f)
929927
return -EINVAL;
930928
if (data->phy_id == phy) {

drivers/net/tulip/winbond-840.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1470,8 +1470,6 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
14701470
return 0;
14711471

14721472
case SIOCSMIIREG: /* Write MII PHY register. */
1473-
if (!capable(CAP_NET_ADMIN))
1474-
return -EPERM;
14751473
spin_lock_irq(&np->lock);
14761474
mdio_write(dev, data->phy_id & 0x1f, data->reg_num & 0x1f, data->val_in);
14771475
spin_unlock_irq(&np->lock);

drivers/net/via-velocity.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2328,14 +2328,10 @@ static int velocity_mii_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd
23282328
miidata->phy_id = readb(&regs->MIIADR) & 0x1f;
23292329
break;
23302330
case SIOCGMIIREG:
2331-
if (!capable(CAP_NET_ADMIN))
2332-
return -EPERM;
23332331
if (velocity_mii_read(vptr->mac_regs, miidata->reg_num & 0x1f, &(miidata->val_out)) < 0)
23342332
return -ETIMEDOUT;
23352333
break;
23362334
case SIOCSMIIREG:
2337-
if (!capable(CAP_NET_ADMIN))
2338-
return -EPERM;
23392335
spin_lock_irqsave(&vptr->lock, flags);
23402336
err = velocity_mii_write(vptr->mac_regs, miidata->reg_num & 0x1f, miidata->val_in);
23412337
spin_unlock_irqrestore(&vptr->lock, flags);

drivers/net/yellowfin.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1365,8 +1365,6 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
13651365
return 0;
13661366

13671367
case SIOCSMIIREG: /* Write MII PHY register. */
1368-
if (!capable(CAP_NET_ADMIN))
1369-
return -EPERM;
13701368
if (data->phy_id == np->phys[0]) {
13711369
u16 value = data->val_in;
13721370
switch (data->reg_num) {

0 commit comments

Comments
 (0)