30 lines
1.3 KiB
Diff
30 lines
1.3 KiB
Diff
From: Andreas Pape <apape@phoenixcontact.com>
|
|
Date: Fri, 19 May 2017 10:01:42 +0200
|
|
Subject: batman-adv: fix memory leak when dropping packet from other gateway
|
|
|
|
The skb must be released in the receive handler since b91a2543b4c1
|
|
("batman-adv: Consume skb in receive handlers"). Just returning NET_RX_DROP
|
|
will no longer automatically free the memory. This results in memory leaks
|
|
when unicast packets from other backbones must be dropped because they
|
|
share a common backbone.
|
|
|
|
Fixes: bfe2a1971f43 ("batman-adv: drop unicast packets from other backbone gw")
|
|
Signed-off-by: Andreas Pape <apape@phoenixcontact.com>
|
|
[sven@narfation.org: adjust commit message]
|
|
Signed-off-by: Sven Eckelmann <sven@narfation.org>
|
|
|
|
Origin: upstream, https://git.open-mesh.org/batman-adv.git/commit/a58feb79ed1447e3e83f3b0b1a23779886869f39
|
|
|
|
diff --git a/net/batman-adv/routing.c b/net/batman-adv/routing.c
|
|
index 5190683424b89d1fa7c86895000bc6656e6a65dd..213cc01ad00392f7cbd4efd9d4796f76691d2d9e 100644
|
|
--- a/net/batman-adv/routing.c
|
|
+++ b/net/batman-adv/routing.c
|
|
@@ -988,7 +988,7 @@ int batadv_recv_unicast_packet(struct sk_buff *skb,
|
|
batadv_dbg(BATADV_DBG_BLA, bat_priv,
|
|
"Dropped unicast pkt received from another backbone gw %pM.\n",
|
|
orig_addr_gw);
|
|
- return NET_RX_DROP;
|
|
+ goto free_skb;
|
|
}
|
|
}
|
|
|