netfilter: only do skb_checksum_help on CHECKSUM_PARTIAL in ip_queue
authorHerbert Xu <herbert@gondor.apana.org.au>
Thu, 8 Apr 2010 12:52:28 +0000 (14:52 +0200)
committerPatrick McHardy <kaber@trash.net>
Thu, 8 Apr 2010 12:52:28 +0000 (14:52 +0200)
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>
net/ipv4/netfilter/ip_queue.c

index 2855f1f38cbc2b2278197c3d6522db7883f8a076..d781513282d442c6f69c9c616403f4985932dddd 100644 (file)
@@ -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;