Subject: [PATCH v2 1/5] net: dsa: add missing kfree on remove

From: Neil Armstrong <[email-masked]>
Date: Sat, 3 Oct 2015 16:25:57 +0200

To prevent memory leakage on unbinding, add missing kfree calls.

Signed-off-by: Neil Armstrong <[email-masked]>
---
 net/dsa/dsa.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c
index c59fa5d..12cec40 100644
--- a/net/dsa/dsa.c
+++ b/net/dsa/dsa.c
@@ -914,8 +914,10 @@ static void dsa_remove_dst(struct dsa_switch_tree *dst)
 	for (i = 0; i < dst->pd->nr_chips; i++) {
 		struct dsa_switch *ds = dst->ds[i];

-		if (ds != NULL)
+		if (ds != NULL) {
 			dsa_switch_destroy(ds);
+			kfree(ds);
+		}
 	}
 }

@@ -924,6 +926,7 @@ static int dsa_remove(struct platform_device *pdev)
 	struct dsa_switch_tree *dst = platform_get_drvdata(pdev);

 	dsa_remove_dst(dst);
+	kfree(dst);
 	dsa_of_remove(&pdev->dev);

 	return 0;
-- 
1.9.1