aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jay Vosburgh <jay.vosburgh@canonical.com> 2022-08-10 22:06:53 -0700
committerGravatar Jakub Kicinski <kuba@kernel.org> 2022-08-11 08:51:05 -0700
commit4f5d33f4f798b1c6d92b613f0087f639d9836971 (patch)
tree2ddaf199ed0da9b8e670ba44f50c69134f74994d
parentnet: usb: qmi_wwan: Add support for Cinterion MV32 (diff)
downloadlinux-4f5d33f4f798.tar.gz
linux-4f5d33f4f798.tar.bz2
linux-4f5d33f4f798.zip
bonding: fix reference count leak in balance-alb mode
Commit d5410ac7b0ba ("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: d5410ac7b0ba ("net:bonding:support balance-alb interface with vlan to bridge") Signed-off-by: Jay Vosburgh <jay.vosburgh@canonical.com> Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org> Link: https://lore.kernel.org/r/26758.1660194413@famine Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--drivers/net/bonding/bond_alb.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index 60cb9a0225aa..b9dbad3a8af8 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -668,8 +668,11 @@ 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)) {