From 25af5600690d103a67f980acb2400b6a51754417 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Thu, 19 May 2011 17:28:46 +0000 Subject: [PATCH] Remove unnecessary dst_clone/dst_release cycle, as skb_copy already does that. Also fixes dst refcount problems. --- kernel-module/ipt_MEDIAPROXY.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/kernel-module/ipt_MEDIAPROXY.c b/kernel-module/ipt_MEDIAPROXY.c index 7a7884884..a360566bc 100644 --- a/kernel-module/ipt_MEDIAPROXY.c +++ b/kernel-module/ipt_MEDIAPROXY.c @@ -1030,9 +1030,6 @@ static unsigned int mediaproxy(struct sk_buff *oskb, const struct xt_action_para skb = skb_copy(oskb, GFP_ATOMIC); if (!skb) goto skip3; - if (skb_dst(skb)) - dst_release(skb_dst(skb)); - skb_dst_set(skb, dst_clone(skb_dst(oskb))); skb_reset_network_header(skb); ih = ip_hdr(skb); @@ -1051,9 +1048,6 @@ static unsigned int mediaproxy(struct sk_buff *oskb, const struct xt_action_para if (g->target.mirror_ip && g->target.mirror_port) { DBG(KERN_DEBUG "sending mirror packet to dst %08x\n", g->target.mirror_ip); skb2 = skb_copy(skb, GFP_ATOMIC); - if (skb_dst(skb2)) - dst_release(skb_dst(skb2)); - skb_dst_set(skb2, dst_clone(skb_dst(oskb))); err = send_proxy_packet(skb2, g->target.src_ip, g->target.src_port, g->target.mirror_ip, g->target.mirror_port, g->target.tos); if (err) { spin_lock_irqsave(&g->lock, flags);