* 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 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
* 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
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