Re: [PATCH net] Revert "macsec: missing dev_put() on error in macsec_newlink()"

2018-04-16 Thread David Miller
From: Dan Carpenter 
Date: Mon, 16 Apr 2018 13:17:50 +0300

> This patch is just wrong, sorry.  I was trying to fix a static checker
> warning and misread the code.  The reference taken in macsec_newlink()
> is released in macsec_free_netdev() when the netdevice is destroyed.
> 
> This reverts commit 5dcd8400884cc4a043a6d4617e042489e5d566a9.
> 
> Reported-by: Laura Abbott 
> Fixes: 5dcd8400884c ("macsec: missing dev_put() on error in macsec_newlink()")
> Signed-off-by: Dan Carpenter 
> Acked-by: Sabrina Dubroca 
> ---
> I sent this earlier but I messed up the CC list.  I've updated the
> commit message as well.

Applied, thanks Dan.


[PATCH net] Revert "macsec: missing dev_put() on error in macsec_newlink()"

2018-04-16 Thread Dan Carpenter
This patch is just wrong, sorry.  I was trying to fix a static checker
warning and misread the code.  The reference taken in macsec_newlink()
is released in macsec_free_netdev() when the netdevice is destroyed.

This reverts commit 5dcd8400884cc4a043a6d4617e042489e5d566a9.

Reported-by: Laura Abbott 
Fixes: 5dcd8400884c ("macsec: missing dev_put() on error in macsec_newlink()")
Signed-off-by: Dan Carpenter 
Acked-by: Sabrina Dubroca 
---
I sent this earlier but I messed up the CC list.  I've updated the
commit message as well.

 drivers/net/macsec.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c
index 9cbb0c8a896a..7de88b33d5b9 100644
--- a/drivers/net/macsec.c
+++ b/drivers/net/macsec.c
@@ -3277,7 +3277,7 @@ static int macsec_newlink(struct net *net, struct 
net_device *dev,
 
err = netdev_upper_dev_link(real_dev, dev, extack);
if (err < 0)
-   goto put_dev;
+   goto unregister;
 
/* need to be already registered so that ->init has run and
 * the MAC addr is set
@@ -3316,8 +3316,7 @@ static int macsec_newlink(struct net *net, struct 
net_device *dev,
macsec_del_dev(macsec);
 unlink:
netdev_upper_dev_unlink(real_dev, dev);
-put_dev:
-   dev_put(real_dev);
+unregister:
unregister_netdevice(dev);
return err;
 }
-- 
2.16.2