* Re: Fw: kernel BUG at net/core/skbuff.c:1028! [not found] <20030507.042003.26512841.davem@redhat.com> @ 2003-05-08 1:20 ` Rusty Russell 2003-05-08 8:34 ` Jens Axboe 2003-05-08 17:20 ` David S. Miller 0 siblings, 2 replies; 4+ messages in thread From: Rusty Russell @ 2003-05-08 1:20 UTC (permalink / raw) To: David S. Miller; +Cc: laforge, Jens Axboe, linux-kernel, netdev In message <20030507.042003.26512841.davem@redhat.com> you write: > It has to be from some of the skb linearization changes. > I can't think of any other change we've made that would > make this start to happen. Yep, culprit is obvious stupid bug. This indicates a serious lack of testing on my part 8( Jens, does this help? Rusty. diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal linux-2.5.69-bk2/net/ipv4/netfilter/ip_nat_core.c working-2.5.69-bk2-fix-nat/net/ipv4/netfilter/ip_nat_core.c --- linux-2.5.69-bk2/net/ipv4/netfilter/ip_nat_core.c 2003-05-08 10:31:08.000000000 +1000 +++ working-2.5.69-bk2-fix-nat/net/ipv4/netfilter/ip_nat_core.c 2003-05-08 11:19:04.000000000 +1000 @@ -870,7 +870,8 @@ icmp_reply_translation(struct sk_buff ** adjustment, so make sure the current checksum is correct. */ if ((*pskb)->ip_summed != CHECKSUM_UNNECESSARY && (u16)csum_fold(skb_checksum(*pskb, (*pskb)->nh.iph->ihl*4, - (*pskb)->len, 0))) + (*pskb)->len + - (*pskb)->nh.iph->ihl*4, 0))) return 0; /* Must be RELATED */ -- Anyone who quotes me in their sig is an idiot. -- Rusty Russell. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Fw: kernel BUG at net/core/skbuff.c:1028! 2003-05-08 1:20 ` Fw: kernel BUG at net/core/skbuff.c:1028! Rusty Russell @ 2003-05-08 8:34 ` Jens Axboe 2003-05-08 17:20 ` David S. Miller 1 sibling, 0 replies; 4+ messages in thread From: Jens Axboe @ 2003-05-08 8:34 UTC (permalink / raw) To: Rusty Russell; +Cc: David S. Miller, laforge, linux-kernel, netdev On Thu, May 08 2003, Rusty Russell wrote: > In message <20030507.042003.26512841.davem@redhat.com> you write: > > It has to be from some of the skb linearization changes. > > I can't think of any other change we've made that would > > make this start to happen. > > Yep, culprit is obvious stupid bug. This indicates a serious lack of > testing on my part 8( One would think so, since it doesn't even get to the login :) > Jens, does this help? [snip] Nope, it still dies hard. I didn't log the oops this time (box is headless and I need to move it to do so), but it hung hard before it was done booting. Want me to log a new oops? -- Jens Axboe ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: kernel BUG at net/core/skbuff.c:1028! 2003-05-08 1:20 ` Fw: kernel BUG at net/core/skbuff.c:1028! Rusty Russell 2003-05-08 8:34 ` Jens Axboe @ 2003-05-08 17:20 ` David S. Miller 2003-05-09 7:00 ` Jens Axboe 1 sibling, 1 reply; 4+ messages in thread From: David S. Miller @ 2003-05-08 17:20 UTC (permalink / raw) To: rusty; +Cc: laforge, axboe, linux-kernel, netdev From: Rusty Russell <rusty@rustcorp.com.au> Date: Thu, 08 May 2003 11:20:27 +1000 Yep, culprit is obvious stupid bug. This indicates a serious lack of testing on my part 8( Jens, does this help? There were two cases of the same bug, you fixed only one instance :-) Jens, try this patch instead. --- net/ipv4/netfilter/ip_nat_core.c.~1~ Thu May 8 11:23:22 2003 +++ net/ipv4/netfilter/ip_nat_core.c Thu May 8 11:25:56 2003 @@ -861,6 +861,7 @@ } *inside; unsigned int i; struct ip_nat_info *info = &conntrack->nat.info; + int hdrlen; if (!skb_ip_make_writable(pskb,(*pskb)->nh.iph->ihl*4+sizeof(*inside))) return 0; @@ -868,10 +869,12 @@ /* We're actually going to mangle it beyond trivial checksum adjustment, so make sure the current checksum is correct. */ - if ((*pskb)->ip_summed != CHECKSUM_UNNECESSARY - && (u16)csum_fold(skb_checksum(*pskb, (*pskb)->nh.iph->ihl*4, - (*pskb)->len, 0))) - return 0; + if ((*pskb)->ip_summed != CHECKSUM_UNNECESSARY) { + hdrlen = (*pskb)->nh.iph->ihl * 4; + if ((u16)csum_fold(skb_checksum(*pskb, hdrlen, + (*pskb)->len - hdrlen, 0))) + return 0; + } /* Must be RELATED */ IP_NF_ASSERT((*pskb)->nfct @@ -948,10 +951,12 @@ } READ_UNLOCK(&ip_nat_lock); + hdrlen = (*pskb)->nh.iph->ihl * 4; + inside->icmp.checksum = 0; - inside->icmp.checksum = csum_fold(skb_checksum(*pskb, - (*pskb)->nh.iph->ihl*4, - (*pskb)->len, 0)); + inside->icmp.checksum = csum_fold(skb_checksum(*pskb, hdrlen, + (*pskb)->len - hdrlen, + 0)); return 1; unlock_fail: ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: kernel BUG at net/core/skbuff.c:1028! 2003-05-08 17:20 ` David S. Miller @ 2003-05-09 7:00 ` Jens Axboe 0 siblings, 0 replies; 4+ messages in thread From: Jens Axboe @ 2003-05-09 7:00 UTC (permalink / raw) To: David S. Miller; +Cc: rusty, laforge, linux-kernel, netdev On Thu, May 08 2003, David S. Miller wrote: > From: Rusty Russell <rusty@rustcorp.com.au> > Date: Thu, 08 May 2003 11:20:27 +1000 > > Yep, culprit is obvious stupid bug. This indicates a serious lack of > testing on my part 8( > > Jens, does this help? > > There were two cases of the same bug, you fixed only one > instance :-) > > Jens, try this patch instead. I went to apply it to bk-current as of this morning, but I see it's already in. And bk-current does indeed boot and (appears to :) work, thanks Dave! -- Jens Axboe ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-05-09 7:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20030507.042003.26512841.davem@redhat.com>
2003-05-08 1:20 ` Fw: kernel BUG at net/core/skbuff.c:1028! Rusty Russell
2003-05-08 8:34 ` Jens Axboe
2003-05-08 17:20 ` David S. Miller
2003-05-09 7:00 ` Jens Axboe
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).