Commit 4f5d33f4 authored by Jay Vosburgh's avatar Jay Vosburgh Committed by Jakub Kicinski
Browse files

bonding: fix reference count leak in balance-alb mode



Commit d5410ac7 ("net:bonding:support balance-alb interface
with vlan to bridge") introduced a reference count leak by not releasing
the reference acquired by ip_dev_find().  Remedy this by insuring the
reference is released.

Fixes: d5410ac7 ("net:bonding:support balance-alb interface with vlan to bridge")
Signed-off-by: default avatarJay Vosburgh <jay.vosburgh@canonical.com>
Reviewed-by: default avatarNikolay Aleksandrov <razor@blackwall.org>
Link: https://lore.kernel.org/r/26758.1660194413@famine


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent ae7107ba
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -668,9 +668,12 @@ static struct slave *rlb_arp_xmit(struct sk_buff *skb, struct bonding *bond)

	dev = ip_dev_find(dev_net(bond->dev), arp->ip_src);
	if (dev) {
		if (netif_is_bridge_master(dev))
		if (netif_is_bridge_master(dev)) {
			dev_put(dev);
			return NULL;
		}
		dev_put(dev);
	}

	if (arp->op_code == htons(ARPOP_REPLY)) {
		/* the arp must be sent on the selected rx channel */