From: Dan Carpenter <dan.carpenter@oracle.com>
Date: Fri, 25 Jul 2014 12:21:21 +0000 (+0300)
Subject: bonding: fix a memory leak in bond_arp_send_all()
X-Git-Tag: firefly_0821_release~176^2~3474^2~74
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a67eed571aa505f51a4d02cab765a9d4f6ef80c4;p=firefly-linux-kernel-4.4.55.git

bonding: fix a memory leak in bond_arp_send_all()

This test is reversed so the memory is always leaked.  It's better style
to remove the test anyway.

Fixes: 3e403a77779f ('bonding: make it possible to have unlimited nested upper vlans')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Veaceslav Falico <vfalico@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 023ec365209c..f0f5eab0fab1 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -2287,8 +2287,7 @@ found:
 		ip_rt_put(rt);
 		bond_arp_send(slave->dev, ARPOP_REQUEST, targets[i],
 			      addr, tags);
-		if (!tags)
-			kfree(tags);
+		kfree(tags);
 	}
 }