]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
batman-adv: free skb on TVLV parsing success
authorAntonio Quartulli <antonio@open-mesh.com>
Tue, 11 Feb 2014 16:05:07 +0000 (17:05 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Mar 2014 06:06:16 +0000 (22:06 -0800)
[ 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

index cd9ffdb831d99b320de6575afb5728cdce7fbb17..d1e8a147f381150236fddeec24036ab5bd7d2619 100644 (file)
@@ -1063,6 +1063,8 @@ int batadv_recv_unicast_tvlv(struct sk_buff *skb,
 
        if (ret != NET_RX_SUCCESS)
                ret = batadv_route_unicast_packet(skb, recv_if);
+       else
+               consume_skb(skb);
 
        return ret;
 }