diff options
author | 2015-10-11 18:49:42 -0500 | |
---|---|---|
committer | 2015-10-13 16:43:59 -0400 | |
commit | 0b5c9279e568d90903acedc2b9b832d8d78e8288 (patch) | |
tree | 6dca079bc1801a09f1ac2d5246a62051ad77228a /drivers/infiniband/ulp/ipoib/ipoib.h | |
parent | IB/cma: Accept connection without a valid netdev on RoCE (diff) | |
download | linux-0b5c9279e568d90903acedc2b9b832d8d78e8288.tar.gz linux-0b5c9279e568d90903acedc2b9b832d8d78e8288.tar.bz2 linux-0b5c9279e568d90903acedc2b9b832d8d78e8288.zip |
IB/ipoib: For sendonly join free the multicast group on leave
When we leave the multicast group on expiration of a neighbor we
do not free the mcast structure. This results in a memory leak
that causes ib_dealloc_pd to fail and print a WARN_ON message
and backtrace.
Fixes: bd99b2e05c4d (IB/ipoib: Expire sendonly multicast joins)
Signed-off-by: Christoph Lameter <cl@linux.com>
Tested-by: Sagi Grimberg <sagig@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/ulp/ipoib/ipoib.h')
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib.h b/drivers/infiniband/ulp/ipoib/ipoib.h index 4cd5428a2399..edc5b8565d6d 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib.h +++ b/drivers/infiniband/ulp/ipoib/ipoib.h @@ -495,6 +495,7 @@ void ipoib_dev_cleanup(struct net_device *dev); void ipoib_mcast_join_task(struct work_struct *work); void ipoib_mcast_carrier_on_task(struct work_struct *work); void ipoib_mcast_send(struct net_device *dev, u8 *daddr, struct sk_buff *skb); +void ipoib_mcast_free(struct ipoib_mcast *mc); void ipoib_mcast_restart_task(struct work_struct *work); int ipoib_mcast_start_thread(struct net_device *dev); |