From: Eli Cohen Date: Tue, 10 Jan 2006 15:42:14 +0000 (-0800) Subject: IPoIB: Fix error path in ipoib_mcast_dev_flush() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=70b4c8cdc168bb5d18e23fd205c4ede1b756a8b2;p=openwrt%2Fstaging%2Fblogic.git IPoIB: Fix error path in ipoib_mcast_dev_flush() Don't leak memory on allocation failure for broadcast mcast group. Also, print a warning to match handling for other mcast groups. Signed-off-by: Eli Cohen Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier --- diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c index ed0c2ead8bc1..6c6db759e79e 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c @@ -780,9 +780,11 @@ void ipoib_mcast_dev_flush(struct net_device *dev) &priv->multicast_tree); list_add_tail(&priv->broadcast->list, &remove_list); - } - - priv->broadcast = nmcast; + priv->broadcast = nmcast; + } else + ipoib_warn(priv, "could not reallocate broadcast group " + IPOIB_GID_FMT "\n", + IPOIB_GID_ARG(priv->broadcast->mcmember.mgid)); } spin_unlock_irqrestore(&priv->lock, flags);