Could you check if this patch solves the problem?
Index: linux/net/ipv4/ip_masq.c
===================================================================
RCS file: /vger/u4/cvs/linux/net/ipv4/ip_masq.c,v
retrieving revision 1.26
diff -u -r1.26 ip_masq.c
--- ip_masq.c 1998/09/24 03:38:58 1.26
+++ ip_masq.c 1998/10/29 14:31:05
@@ -1011,14 +1011,19 @@
switch (skb->ip_summed)
{
case CHECKSUM_NONE:
+ {
+ int datasz;
doff = proto_doff(iph->protocol, h.raw);
- csum = csum_partial(h.raw + doff, size - doff, 0);
+ datasz = size - doff;
+ if (datasz < 0)
+ return -1;
+ csum = csum_partial(h.raw + doff, datasz, 0);
IP_MASQ_DEBUG(3, "O-pkt: %s I-datacsum=%d\n",
masq_proto_name(iph->protocol),
csum);
skb->csum = csum_partial(h.raw , doff, csum);
-
+ }
case CHECKSUM_HW:
if (csum_tcpudp_magic(iph->saddr, iph->daddr,
size, iph->protocol, skb->csum))
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/