Hi Andreas,
On Friday 12 February 2016 14:54:15 Andreas Pape wrote:
From 1cf69fc5b7ffac3193ad8fa4439586c865c5acab Mon Sep 17 00:00:00 2001 From: Andreas Pape apape@phoenixcontact.com Date: Fri, 12 Feb 2016 14:00:53 +0100 Subject: [PATCH 4/4] batman-adv: free skb when dropping broadcast packet received from another backbone gw
skb should be freed in batadv_recv_bcast_packet if packet shall be dropped due to reception from another backbone gateway of the same backbone.
Signed-off-by: Andreas Pape apape@phoenixcontact.com
net/batman-adv/routing.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/net/batman-adv/routing.c b/net/batman-adv/routing.c index 4dd646a..128ed28 100644 --- a/net/batman-adv/routing.c +++ b/net/batman-adv/routing.c @@ -1104,8 +1104,10 @@ int batadv_recv_bcast_packet(struct sk_buff *skb, /* don't hand the broadcast up if it is from an originator * from the same backbone. */
if (batadv_bla_is_backbone_gw(skb, orig_node, hdr_size))
goto out;
if (batadv_bla_is_backbone_gw(skb, orig_node, hdr_size)) {
kfree_skb(skb);
goto rx_success;
}
I disagree. In the original code, we return NET_RX_DROP, which makes the calling code already free the skb. Check batadv_batman_skb_recv() in main.c.
Cheers, Simon