aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/netfilter/ip_queue.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2010-04-08 14:52:28 +0200
committerPatrick McHardy <kaber@trash.net>2010-04-08 14:52:28 +0200
commit9e56c21486f2a64473f36fa49475fd253422fbf6 (patch)
tree08e2a613a0e473e491f327422417f47dd67f9a9a /net/ipv4/netfilter/ip_queue.c
parentIPVS: fix potential stack overflow with overly long protocol names (diff)
downloadlinux-dev-9e56c21486f2a64473f36fa49475fd253422fbf6.tar.xz
linux-dev-9e56c21486f2a64473f36fa49475fd253422fbf6.zip
netfilter: only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue
While doing yet another audit on ip_summed I noticed ip_queue calling skb_checksum_help unnecessarily. As we will set ip_summed to CHECKSUM_NONE when necessary in ipq_mangle_ipv4, there is no need to zap CHECKSUM_COMPLETE in ipq_build_packet_message. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'net/ipv4/netfilter/ip_queue.c')
-rw-r--r--net/ipv4/netfilter/ip_queue.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv4/netfilter/ip_queue.c b/net/ipv4/netfilter/ip_queue.c
index 2855f1f38cbc..d781513282d4 100644
--- a/net/ipv4/netfilter/ip_queue.c
+++ b/net/ipv4/netfilter/ip_queue.c
@@ -160,8 +160,7 @@ ipq_build_packet_message(struct nf_queue_entry *entry, int *errp)
break;
case IPQ_COPY_PACKET:
- if ((entry->skb->ip_summed == CHECKSUM_PARTIAL ||
- entry->skb->ip_summed == CHECKSUM_COMPLETE) &&
+ if (entry->skb->ip_summed == CHECKSUM_PARTIAL &&
(*errp = skb_checksum_help(entry->skb))) {
read_unlock_bh(&queue_lock);
return NULL;