summaryrefslogtreecommitdiffstats
path: root/net/batman-adv
diff options
context:
space:
mode:
authorAndreas Pape <apape@phoenixcontact.com>2017-05-19 10:01:42 +0200
committerSimon Wunderlich <sw@simonwunderlich.de>2017-05-19 12:20:28 +0200
commita1a745ef980a1b48299ead4ea7990e62c0516f6e (patch)
tree2be4b87236d4a54c721e96ec1a226d4852f88b15 /net/batman-adv
parent36d4d68cd658d914ef73ac845705c4a89e7d9e2f (diff)
downloadlinux-a1a745ef980a1b48299ead4ea7990e62c0516f6e.tar.gz
linux-a1a745ef980a1b48299ead4ea7990e62c0516f6e.tar.bz2
linux-a1a745ef980a1b48299ead4ea7990e62c0516f6e.zip
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: 9e794b6bf4a2 ("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> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Diffstat (limited to 'net/batman-adv')
-rw-r--r--net/batman-adv/routing.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/batman-adv/routing.c b/net/batman-adv/routing.c
index e1ebe14ee2a6..ae9f4d37d34f 100644
--- a/net/batman-adv/routing.c
+++ b/net/batman-adv/routing.c
@@ -987,7 +987,7 @@ int batadv_recv_unicast_packet(struct sk_buff *skb,
batadv_dbg(BATADV_DBG_BLA, bat_priv,
"recv_unicast_packet(): Dropped unicast pkt received from another backbone gw %pM.\n",
orig_addr_gw);
- return NET_RX_DROP;
+ goto free_skb;
}
}