diff options
author | Michael S. Tsirkin <mst@mellanox.co.il> | 2006-11-16 12:16:47 (GMT) |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-11-29 23:33:09 (GMT) |
commit | 2745b5b713bf3457d8977c62dc2b3aa61f4a14b0 (patch) | |
tree | 69ccbda1932d6c95b9beb9a40f5ca3a012b023bf /drivers/infiniband/ulp/ipoib/ipoib_multicast.c | |
parent | d2fcea7d68473b8bb3e0addb4926c87e2217ca83 (diff) | |
download | linux-2745b5b713bf3457d8977c62dc2b3aa61f4a14b0.tar.xz |
IPoIB: Fix skb leak when freeing neighbour
ipoib_neigh_free() is sometimes called while neighbour is still alive,
so it might still have queued skbs. Fix skb leak in this case.
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/ulp/ipoib/ipoib_multicast.c')
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c index 3faa182..d282d65 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c @@ -114,7 +114,7 @@ static void ipoib_mcast_free(struct ipoib_mcast *mcast) */ if (neigh->ah) ipoib_put_ah(neigh->ah); - ipoib_neigh_free(neigh); + ipoib_neigh_free(dev, neigh); } spin_unlock_irqrestore(&priv->lock, flags); |