Skip to content

Commit 5dcd840

Browse files
Dan Carpenterdavem330
authored andcommitted
macsec: missing dev_put() on error in macsec_newlink()
We moved the dev_hold(real_dev); call earlier in the function but forgot to update the error paths. Fixes: 0759e55 ("macsec: fix negative refcnt on parent link") Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent e0645d9 commit 5dcd840

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

drivers/net/macsec.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3277,7 +3277,7 @@ static int macsec_newlink(struct net *net, struct net_device *dev,
32773277

32783278
err = netdev_upper_dev_link(real_dev, dev, extack);
32793279
if (err < 0)
3280-
goto unregister;
3280+
goto put_dev;
32813281

32823282
/* need to be already registered so that ->init has run and
32833283
* the MAC addr is set
@@ -3316,7 +3316,8 @@ static int macsec_newlink(struct net *net, struct net_device *dev,
33163316
macsec_del_dev(macsec);
33173317
unlink:
33183318
netdev_upper_dev_unlink(real_dev, dev);
3319-
unregister:
3319+
put_dev:
3320+
dev_put(real_dev);
33203321
unregister_netdevice(dev);
33213322
return err;
33223323
}

0 commit comments

Comments
 (0)