mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-11-25 19:14:39 +08:00
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: 0759e552bc
("macsec: fix negative refcnt on parent link")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e0645d9b96
commit
5dcd840088
@ -3277,7 +3277,7 @@ static int macsec_newlink(struct net *net, struct net_device *dev,
|
|||||||
|
|
||||||
err = netdev_upper_dev_link(real_dev, dev, extack);
|
err = netdev_upper_dev_link(real_dev, dev, extack);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
goto unregister;
|
goto put_dev;
|
||||||
|
|
||||||
/* need to be already registered so that ->init has run and
|
/* need to be already registered so that ->init has run and
|
||||||
* the MAC addr is set
|
* the MAC addr is set
|
||||||
@ -3316,7 +3316,8 @@ del_dev:
|
|||||||
macsec_del_dev(macsec);
|
macsec_del_dev(macsec);
|
||||||
unlink:
|
unlink:
|
||||||
netdev_upper_dev_unlink(real_dev, dev);
|
netdev_upper_dev_unlink(real_dev, dev);
|
||||||
unregister:
|
put_dev:
|
||||||
|
dev_put(real_dev);
|
||||||
unregister_netdevice(dev);
|
unregister_netdevice(dev);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user