net/smc: fix ethernet interface refcounting
authorUrsula Braun <ubraun@linux.ibm.com>
Wed, 6 Nov 2019 09:49:57 +0000 (10:49 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 7 Nov 2019 01:44:32 +0000 (17:44 -0800)
If a pnet table entry is to be added mentioning a valid ethernet
interface, but an invalid infiniband or ISM device, the dev_put()
operation for the ethernet interface is called twice, resulting
in a negative refcount for the ethernet interface, which disables
removal of such a network interface.

This patch removes one of the dev_put() calls.

Fixes: 890a2cb4a966 ("net/smc: rework pnet table")
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/smc/smc_pnet.c

index 2920b00..571e6d8 100644 (file)
@@ -376,8 +376,6 @@ static int smc_pnet_fill_entry(struct net *net,
        return 0;
 
 error:
-       if (pnetelem->ndev)
-               dev_put(pnetelem->ndev);
        return rc;
 }