diff options
author | Andreas Pape <apape@phoenixcontact.com> | 2017-05-19 10:01:42 +0200 |
---|---|---|
committer | Simon Wunderlich <sw@simonwunderlich.de> | 2017-05-19 12:20:28 +0200 |
commit | a1a745ef980a1b48299ead4ea7990e62c0516f6e (patch) | |
tree | 2be4b87236d4a54c721e96ec1a226d4852f88b15 /net | |
parent | 36d4d68cd658d914ef73ac845705c4a89e7d9e2f (diff) | |
download | linux-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')
-rw-r--r-- | net/batman-adv/routing.c | 2 |
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; } } |