* Networking: repeatable oops in 2.4.15-pre2
@ 2001-11-10 6:23 J Sloan
2001-11-10 11:53 ` Matthew Kirkwood
0 siblings, 1 reply; 6+ messages in thread
From: J Sloan @ 2001-11-10 6:23 UTC (permalink / raw)
To: linux-kernel
Hello -
I have been running the 2.4.15-pre kernels and
have found an interesting oops. I can reproduce
it immediately, and reliably, just by issuing an ssh
command (as a normal user).
Hardware: Pentium III 933 w/512 MB RAM
Red Hat 7.1+ updates
I have 2 eepro 100 cards and am running
an iptables firewall.
The condition exists in 2.4.15-pre1 and -pre2.
I have not seen this before (2.4.14 is fine)
Tonight I compiled 2.4.15-pre2 and ran dbench
for awhile, with good results.
Then I tried the simple "ssh <somehost>"cmd
that locked up -pre1 - sure enough, it locked
up the system again -
Here is the hand-copied, decoded oops:
ksymoops 2.4.3 on i686 2.4.15-pre2. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.15-pre2/ (default)
-m /boot/System.map (specified)
c01b8345
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c01b8345>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010293
eax: 000005dc ebx: df0f7de0 ecx: df0e1000 edx: 0000000e
esi: df96bdec edi: 00000000 ebp: d793b2a0 esp: da64bcf8
ds: 0018 es: 0018 ss: 0018
Process ssh (pid:2028, stackpage=da64b000)
Stack: 00000003 c01b82b0 c01af49b c0294838 00000000 df0e1000 00000003
c01b82b0
c01af4d2 df0d7de0 00000000 c0294838 df96b690 00000286 0001e9c0
00000286
df0e1000 de4297a0 00000000 dfd8aee0 c01b7269 00000002 00000003
df0d7de0
Call Trace: [<c01b82b0>] [<c01af49b>] [<c01b82b0>] [<c01af4d2>]
[<c01b7269>]
[<c01b82b0>] [<c01abec8>] [<c01c9d5e>] [<c01c5243>] [<c01c755b>]
[<c015fcb6>]
[<c01c95f7>] [<c01d42c2>] [<c01a3df6>] [<c01a2fce>] [<c01a3a27>]
[<c01211b1>]
[<c01a3a7d>] [<c01a4790>] [<c011d34b>] [<c0106cfb>]
Code: 0f b6 87 c6 02 00 00 31 d2 3c 02 74 0a fe c8 75 0b f6 45 20
>>EIP; c01b8344 <ip_queue_xmit2+94/220> <=====
Trace; c01b82b0 <ip_queue_xmit2+0/220>
Trace; c01af49a <nf_hook_slow+aa/140>
Trace; c01b82b0 <ip_queue_xmit2+0/220>
Trace; c01af4d2 <nf_hook_slow+e2/140>
Trace; c01b7268 <ip_queue_xmit+448/490>
Trace; c01b82b0 <ip_queue_xmit2+0/220>
Trace; c01abec8 <neigh_lookup+18/80>
Trace; c01c9d5e <tcp_v4_send_check+6e/b0>
Trace; c01c5242 <tcp_transmit_skb+552/600>
Trace; c01c755a <tcp_connect+3ba/4b0>
Trace; c015fcb6 <secure_tcp_sequence_number+96/c0>
Trace; c01c95f6 <tcp_v4_connect+2c6/300>
Trace; c01d42c2 <inet_stream_connect+102/230>
Trace; c01a3df6 <sys_connect+56/80>
Trace; c01a2fce <sock_map_fd+ee/170>
Trace; c01a3a26 <sock_create+d6/100>
Trace; c01211b0 <do_munmap+1f0/260>
Trace; c01a3a7c <sys_socket+2c/50>
Trace; c01a4790 <sys_socketcall+e0/200>
Trace; c011d34a <sys_setgroups+5a/80>
Trace; c0106cfa <system_call+32/38>
Code; c01b8344 <ip_queue_xmit2+94/220>
00000000 <_EIP>:
Code; c01b8344 <ip_queue_xmit2+94/220> <=====
0: 0f b6 87 c6 02 00 00 movzbl 0x2c6(%edi),%eax <=====
Code; c01b834a <ip_queue_xmit2+9a/220>
7: 31 d2 xor %edx,%edx
Code; c01b834c <ip_queue_xmit2+9c/220>
9: 3c 02 cmp $0x2,%al
Code; c01b834e <ip_queue_xmit2+9e/220>
b: 74 0a je 17 <_EIP+0x17> c01b835a
<ip_queue_xmit2
+aa/220>
Code; c01b8350 <ip_queue_xmit2+a0/220>
d: fe c8 dec %al
Code; c01b8352 <ip_queue_xmit2+a2/220>
f: 75 0b jne 1c <_EIP+0x1c> c01b8360
<ip_queue_xmit2
+b0/220>
Code; c01b8354 <ip_queue_xmit2+a4/220>
11: f6 45 20 00 testb $0x0,0x20(%ebp)
<0>Kernel panic: Aiee, killing interrupt handler!
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: Networking: repeatable oops in 2.4.15-pre2 2001-11-10 6:23 Networking: repeatable oops in 2.4.15-pre2 J Sloan @ 2001-11-10 11:53 ` Matthew Kirkwood 2001-11-10 13:31 ` David S. Miller 2001-11-10 18:46 ` Networking: " J Sloan 0 siblings, 2 replies; 6+ messages in thread From: Matthew Kirkwood @ 2001-11-10 11:53 UTC (permalink / raw) To: J Sloan; +Cc: linux-kernel On Fri, 9 Nov 2001, J Sloan wrote: > I have been running the 2.4.15-pre kernels and > have found an interesting oops. I can reproduce > it immediately, and reliably, just by issuing an ssh > command (as a normal user). I'm seeing the same thing on my gateway, though I haven't yet found my serial cable to get the oops translated. I am back to 2.4.10 for now. > Hardware: Pentium III 933 w/512 MB RAM > Red Hat 7.1+ updates My setup: K6-200 w/64 MB RAM Debian Woody a 3c905B and an RTL-8139 using iptables and transparent proxying (no masq). > <0>Kernel panic: Aiee, killing interrupt handler! I haven't decoded the oops, but I'm certainly seeing this line. Matthew. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Networking: repeatable oops in 2.4.15-pre2 2001-11-10 11:53 ` Matthew Kirkwood @ 2001-11-10 13:31 ` David S. Miller 2001-11-10 18:50 ` J Sloan 2001-11-10 19:53 ` Confirm netfilter: " J Sloan 2001-11-10 18:46 ` Networking: " J Sloan 1 sibling, 2 replies; 6+ messages in thread From: David S. Miller @ 2001-11-10 13:31 UTC (permalink / raw) To: matthew; +Cc: jjs, linux-kernel From: Matthew Kirkwood <matthew@hairy.beasts.org> Date: Sat, 10 Nov 2001 11:53:11 +0000 (GMT) On Fri, 9 Nov 2001, J Sloan wrote: > I have been running the 2.4.15-pre kernels and > have found an interesting oops. I can reproduce > it immediately, and reliably, just by issuing an ssh > command (as a normal user). I'm seeing the same thing on my gateway, though I haven't yet found my serial cable to get the oops translated. I am back to 2.4.10 for now. Just back out the netfilter changes in 2.4.15-pre1, that is the cause. Franks a lot, David S. Miller davem@redhat.com ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Networking: repeatable oops in 2.4.15-pre2 2001-11-10 13:31 ` David S. Miller @ 2001-11-10 18:50 ` J Sloan 2001-11-10 19:53 ` Confirm netfilter: " J Sloan 1 sibling, 0 replies; 6+ messages in thread From: J Sloan @ 2001-11-10 18:50 UTC (permalink / raw) To: David S. Miller; +Cc: matthew, linux-kernel "David S. Miller" wrote: > Just back out the netfilter changes in 2.4.15-pre1, that > is the cause. Great, will do - hopefully this will be backed out of -pre3, or else sorted out properly... cu jjs ^ permalink raw reply [flat|nested] 6+ messages in thread
* Confirm netfilter: repeatable oops in 2.4.15-pre2 2001-11-10 13:31 ` David S. Miller 2001-11-10 18:50 ` J Sloan @ 2001-11-10 19:53 ` J Sloan 1 sibling, 0 replies; 6+ messages in thread From: J Sloan @ 2001-11-10 19:53 UTC (permalink / raw) To: David S. Miller; +Cc: matthew, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1037 bytes --] Confirmation, backing out the following 4 netfilter diffs makes 2.4.15-pre2 work fine on my firewall. cu jjs "David S. Miller" wrote: > From: Matthew Kirkwood <matthew@hairy.beasts.org> > Date: Sat, 10 Nov 2001 11:53:11 +0000 (GMT) > > On Fri, 9 Nov 2001, J Sloan wrote: > > > I have been running the 2.4.15-pre kernels and > > have found an interesting oops. I can reproduce > > it immediately, and reliably, just by issuing an ssh > > command (as a normal user). > > I'm seeing the same thing on my gateway, though I haven't > yet found my serial cable to get the oops translated. I > am back to 2.4.10 for now. > > Just back out the netfilter changes in 2.4.15-pre1, that > is the cause. > > Franks a lot, > David S. Miller > davem@redhat.com > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ [-- Attachment #2: netfilter-2.4.15-pre2.patch --] [-- Type: text/plain, Size: 2802 bytes --] diff -u --recursive --new-file v2.4.14/linux/net/ipv4/netfilter/ip_fw_compat.c linux/net/ipv4/netfilter/ip_fw_compat.c --- v2.4.14/linux/net/ipv4/netfilter/ip_fw_compat.c Fri Apr 27 14:15:01 2001 +++ linux/net/ipv4/netfilter/ip_fw_compat.c Wed Nov 7 14:39:36 2001 @@ -78,11 +78,19 @@ { int ret = FW_BLOCK; u_int16_t redirpt; + struct sk_buff *nskb; /* Assume worse case: any hook could change packet */ (*pskb)->nfcache |= NFC_UNKNOWN | NFC_ALTERED; if ((*pskb)->ip_summed == CHECKSUM_HW) (*pskb)->ip_summed = CHECKSUM_NONE; + + /* Firewall rules can alter TOS: raw socket may have clone of + skb: don't disturb it --RR */ + nskb = skb_unshare(*pskb, GFP_ATOMIC); + if (!nskb) + return NF_DROP; + *pskb = nskb; switch (hooknum) { case NF_IP_PRE_ROUTING: diff -u --recursive --new-file v2.4.14/linux/net/ipv4/netfilter/ip_nat_core.c linux/net/ipv4/netfilter/ip_nat_core.c --- v2.4.14/linux/net/ipv4/netfilter/ip_nat_core.c Wed May 16 10:31:27 2001 +++ linux/net/ipv4/netfilter/ip_nat_core.c Wed Nov 7 14:39:36 2001 @@ -734,6 +734,15 @@ synchronize_bh()) can vanish. */ READ_LOCK(&ip_nat_lock); for (i = 0; i < info->num_manips; i++) { + struct sk_buff *nskb; + /* raw socket may have clone of skb: don't disturb it --RR */ + nskb = skb_unshare(*pskb, GFP_ATOMIC); + if (!nskb) { + READ_UNLOCK(&ip_nat_lock); + return NF_DROP; + } + *pskb = nskb; + if (info->manips[i].direction == dir && info->manips[i].hooknum == hooknum) { DEBUGP("Mangling %p: %s to %u.%u.%u.%u %u\n", diff -u --recursive --new-file v2.4.14/linux/net/ipv4/netfilter/ipt_TCPMSS.c linux/net/ipv4/netfilter/ipt_TCPMSS.c --- v2.4.14/linux/net/ipv4/netfilter/ipt_TCPMSS.c Tue Oct 9 17:06:53 2001 +++ linux/net/ipv4/netfilter/ipt_TCPMSS.c Wed Nov 7 14:39:36 2001 @@ -48,6 +48,13 @@ u_int16_t tcplen, newtotlen, oldval, newmss; unsigned int i; u_int8_t *opt; + struct sk_buff *nskb; + + /* raw socket may have clone of skb: don't disturb it --RR */ + nskb = skb_unshare(*pskb, GFP_ATOMIC); + if (!nskb) + return NF_DROP; + *pskb = nskb; tcplen = (*pskb)->len - iph->ihl*4; diff -u --recursive --new-file v2.4.14/linux/net/ipv4/netfilter/ipt_TOS.c linux/net/ipv4/netfilter/ipt_TOS.c --- v2.4.14/linux/net/ipv4/netfilter/ipt_TOS.c Tue Oct 9 17:06:53 2001 +++ linux/net/ipv4/netfilter/ipt_TOS.c Wed Nov 7 14:39:36 2001 @@ -19,7 +19,14 @@ const struct ipt_tos_target_info *tosinfo = targinfo; if ((iph->tos & IPTOS_TOS_MASK) != tosinfo->tos) { + struct sk_buff *nskb; u_int16_t diffs[2]; + + /* raw socket may have clone of skb: don't disturb it --RR */ + nskb = skb_unshare(*pskb, GFP_ATOMIC); + if (!nskb) + return NF_DROP; + *pskb = nskb; diffs[0] = htons(iph->tos) ^ 0xFFFF; iph->tos = (iph->tos & IPTOS_PREC_MASK) | tosinfo->tos; ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Networking: repeatable oops in 2.4.15-pre2 2001-11-10 11:53 ` Matthew Kirkwood 2001-11-10 13:31 ` David S. Miller @ 2001-11-10 18:46 ` J Sloan 1 sibling, 0 replies; 6+ messages in thread From: J Sloan @ 2001-11-10 18:46 UTC (permalink / raw) To: Matthew Kirkwood; +Cc: linux-kernel Matthew Kirkwood wrote: > On Fri, 9 Nov 2001, J Sloan wrote: > > > I have been running the 2.4.15-pre kernels and > > have found an interesting oops. I can reproduce > > it immediately, and reliably, just by issuing an ssh > > command (as a normal user). > > I'm seeing the same thing on my gateway, Good to know it's not just me! > I am back to 2.4.10 for now. 2.4.14 runs fine here, much faster than 2.4.10 > My setup: > > K6-200 w/64 MB RAM > Debian Woody > a 3c905B and an RTL-8139 Excellent, that rules out CPU specifics, distro specifics, and ethernet adapter specifics - > using iptables and transparent proxying (no masq). Aha, we are both using iptables - (I am using nat) Rusty, I hope you are reading this. > > <0>Kernel panic: Aiee, killing interrupt handler! > > I haven't decoded the oops, but I'm certainly seeing this > line. Good info, thanks for your input. cu jjs ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2001-11-10 19:53 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2001-11-10 6:23 Networking: repeatable oops in 2.4.15-pre2 J Sloan 2001-11-10 11:53 ` Matthew Kirkwood 2001-11-10 13:31 ` David S. Miller 2001-11-10 18:50 ` J Sloan 2001-11-10 19:53 ` Confirm netfilter: " J Sloan 2001-11-10 18:46 ` Networking: " J Sloan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox