| From foo@baz Thu Feb 27 20:11:26 PST 2014 |
| From: Antonio Quartulli <antonio@open-mesh.com> |
| Date: Tue, 11 Feb 2014 17:05:07 +0100 |
| Subject: batman-adv: free skb on TVLV parsing success |
| |
| From: Antonio Quartulli <antonio@open-mesh.com> |
| |
| [ Upstream commit 05c3c8a636aa9ee35ce13f65afc5b665615cc786 ] |
| |
| When the TVLV parsing routine succeed the skb is left |
| untouched thus leading to a memory leak. |
| |
| Fix this by consuming the skb in case of success. |
| |
| Introduced by ef26157747d42254453f6b3ac2bd8bd3c53339c3 |
| ("batman-adv: tvlv - basic infrastructure") |
| |
| Reported-by: Russel Senior <russell@personaltelco.net> |
| Signed-off-by: Antonio Quartulli <antonio@open-mesh.com> |
| Tested-by: Russell Senior <russell@personaltelco.net> |
| Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/batman-adv/routing.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/net/batman-adv/routing.c |
| +++ b/net/batman-adv/routing.c |
| @@ -1063,6 +1063,8 @@ int batadv_recv_unicast_tvlv(struct sk_b |
| |
| if (ret != NET_RX_SUCCESS) |
| ret = batadv_route_unicast_packet(skb, recv_if); |
| + else |
| + consume_skb(skb); |
| |
| return ret; |
| } |