batman-adv: skbs have to be freed using kfree_skb()

Message ID 1308067299-2282-1-git-send-email-ordex@autistici.org (mailing list archive)
State Superseded, archived
Headers

Commit Message

Antonio Quartulli June 14, 2011, 4:01 p.m. UTC
  The skb structures have always to be freed using kfree_skb() and not the
simple kfree()

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
---
 routing.c           |    2 +-
 translation-table.c |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
  

Comments

Marek Lindner June 15, 2011, 6:56 p.m. UTC | #1
On Tuesday, June 14, 2011 06:01:39 PM Antonio Quartulli wrote:
> @@ -1299,7 +1299,7 @@ int recv_roam_adv(struct sk_buff *skb, struct
> hard_iface *recv_if) orig_node_free_ref(orig_node);
>         ret = NET_RX_SUCCESS;
>  out:
> -       kfree(skb);
> +       kfree_skb(skb);
>         return ret;
>  }
>  

I'd say recv_roam_adv() suffers from the same problem you fixed in 
recv_tt_query() with your previous patch. Wouldn't you say so ?

Cheers,
Marek
  

Patch

diff --git a/routing.c b/routing.c
index 30d0f73..41d065e 100644
--- a/routing.c
+++ b/routing.c
@@ -1299,7 +1299,7 @@  int recv_roam_adv(struct sk_buff *skb, struct hard_iface *recv_if)
 	orig_node_free_ref(orig_node);
 	ret = NET_RX_SUCCESS;
 out:
-	kfree(skb);
+	kfree_skb(skb);
 	return ret;
 }
 
diff --git a/translation-table.c b/translation-table.c
index adecf1b..373ee81 100644
--- a/translation-table.c
+++ b/translation-table.c
@@ -1199,7 +1199,7 @@  out:
 	if (primary_if)
 		hardif_free_ref(primary_if);
 	if (!ret)
-		kfree(skb);
+		kfree_skb(skb);
 	return ret;
 
 }
@@ -1312,7 +1312,7 @@  out:
 	if (primary_if)
 		hardif_free_ref(primary_if);
 	if (!ret)
-		kfree(skb);
+		kfree_skb(skb);
 	/* This packet was for me, so it doesn't need to be re-routed */
 	return true;
 }