diff options
Diffstat (limited to 'trunk/2.6.18/30067_sit-missing-kfree_skb-on-pskb_may_pull.patch')
-rw-r--r-- | trunk/2.6.18/30067_sit-missing-kfree_skb-on-pskb_may_pull.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/trunk/2.6.18/30067_sit-missing-kfree_skb-on-pskb_may_pull.patch b/trunk/2.6.18/30067_sit-missing-kfree_skb-on-pskb_may_pull.patch new file mode 100644 index 0000000..cffb4b1 --- /dev/null +++ b/trunk/2.6.18/30067_sit-missing-kfree_skb-on-pskb_may_pull.patch @@ -0,0 +1,26 @@ +commit 36ca34cc3b8335eb1fe8bd9a1d0a2592980c3f02 +Author: David S. Miller <davem@davemloft.net> +Date: Thu May 8 23:40:26 2008 -0700 + + sit: Add missing kfree_skb() on pskb_may_pull() failure. + + Noticed by Paul Marks <paul@pmarks.net>. + + Signed-off-by: David S. Miller <davem@davemloft.net> + +Adjusted to apply to Debian's 2.6.24 by dann frazier <dannf@debian.org> + +diff -urpN linux-source-2.6.24.orig/net/ipv6/sit.c linux-source-2.6.24/net/ipv6/sit.c +--- linux-source-2.6.24.orig/net/ipv6/sit.c 2008-01-24 15:58:37.000000000 -0700 ++++ linux-source-2.6.24/net/ipv6/sit.c 2008-05-21 00:00:08.000000000 -0600 +@@ -395,9 +395,9 @@ static int ipip6_rcv(struct sk_buff *skb + } + + icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, 0); +- kfree_skb(skb); + read_unlock(&ipip6_lock); + out: ++ kfree_skb(skb); + return 0; + } + |