Subject: kernel panic while using netcat since linux-2.6.9

Hi,
Sorry i don't include any dump, but it seems kernel-patch-lkcd for 2.6.9 is
not available yet. I could handcopy the kernel-oops if you want. I think
it'll be something related with bind() as it fails with "netcat".

The problem is only present with 2.6.9 (or at least not with 2.6.8 nor
2.6.5)

------------------------
SCRIPT TO REPRODUCE:

su
apt-get install nc
exit
nc -p2000 127.0.0.1 2000 # kernel panic

------------------------

MORE INFO:

./ver_linux:

Linux debbie 2.6.9 #1 Wed Nov 3 23:59:06 CET 2004 i686 GNU/Linux
Gnu C 3.4.2
Gnu make 3.80
binutils 2.15
util-linux 2.12h
mount 2.12h
module-init-tools 3.1-pre6
e2fsprogs 1.35
reiserfsprogs 3.6.19
reiser4progs 1.0.0
quota-tools 3.12.
Linux C Library 2.3.2
Dynamic linker (ldd) 2.3.2
Procps 3.2.3
Net-tools 1.60
Console-tools 0.2.3
Sh-utils 5.2.1
Modules Loaded fuse usb_storage lm80 snd_ens1371 snd_rawmidi
snd_ac97_codec uhci_hcd usbcore i2c_sensor 8139too crc32 mii lp parport_pc
parport

---------------------------------

Please contact me if you need more information.


--
---
RAMSES
[email protected]
---
Clave PGP en: http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xD1AF6D7E
MSN: [email protected]
Jabber: [email protected]
---
---


Attachments:
(No filename) (1.41 kB)
signature.asc (189.00 B)
Digital signature
Download all attachments

2004-11-07 13:01:15

by Ondrej Zary

[permalink] [raw]
Subject: Re: kernel panic while using netcat since linux-2.6.9

Rams?s Rodr?guez Mart?nez wrote:
> Hi,
> Sorry i don't include any dump, but it seems kernel-patch-lkcd for 2.6.9 is
> not available yet. I could handcopy the kernel-oops if you want. I think
> it'll be something related with bind() as it fails with "netcat".
>
> The problem is only present with 2.6.9 (or at least not with 2.6.8 nor
> 2.6.5)
>
> ------------------------
> SCRIPT TO REPRODUCE:
>
> su
> apt-get install nc
> exit
> nc -p2000 127.0.0.1 2000 # kernel panic
>
> ------------------------

It does the same thing for me. Here's the BUG output from serial console.


------------[ cut here ]------------
kernel BUG at net/ipv4/tcp_output.c:277!
invalid operand: 0000 [#1]
PREEMPT
Modules linked in: 3c509 snd_sb16 snd_opl3_lib snd_hwdep snd_sb16_dsp
snd_sb_common
CPU: 0
EIP: 0060:[<c02dd6da>] Not tainted VLI
EFLAGS: 00010246 (2.6.9-pentium)
EIP is at tcp_transmit_skb+0x8ca/0x8e0
eax: c7fb72c0 ebx: c6424210 ecx: 00000020 edx: c727bf60
esi: c6424040 edi: c6424210 ebp: c727b920 esp: c4869dd4
ds: 007b es: 007b ss: 0068
Process nc (pid: 2263, threadinfo=c4869000 task=c64cb560)
Stack: ffffff60 c727b880 c727bf60 000000a0 00000246 c727bf60 c727b880
00000020
c727bf98 c6424178 c727bf60 c6424040 c6424210 c6424040 c6424040
c727b920
c02dc200 00000218 c7fb7478 c727b920 c6424040 c6424210 00000028
c02dcb25
Call Trace:
[<c02dc200>] tcp_rcv_synsent_state_process+0x500/0x550
[<c02dcb25>] tcp_rcv_state_process+0x8d5/0x9d0
[<c02e4161>] tcp_v4_do_rcv+0x71/0xf0
[<c02b4ca7>] __release_sock+0x47/0x70
[<c02b53bc>] release_sock+0x6c/0x70
[<c02f11fb>] inet_wait_for_connect+0x7b/0xd0
[<c0111870>] autoremove_wake_function+0x0/0x30
[<c0111870>] autoremove_wake_function+0x0/0x30
[<c02f12f3>] inet_stream_connect+0xa3/0x180
[<c02b320c>] sys_connect+0x5c/0x80
[<c02b3e79>] sock_setsockopt+0x99/0x510
[<c02b1e7f>] sock_map_fd+0xff/0x140
[<c011eabe>] do_sigaction+0x15e/0x1f0
[<c01173bb>] do_setitimer+0x15b/0x1d0
[<c02b3a61>] sys_socketcall+0x81/0x1a0
[<c011e17a>] sys_rt_sigprocmask+0x7a/0xd0
[<c0103d77>] syscall_call+0x7/0xb
Code: ff 7f e9 44 f8 ff ff 8a 87 2f 01 00 00 84 c0 0f 84 2c f8 ff ff 8b
54 24 1c 25 ff 00 00 00 8d 54 c2 04 89 54 24 1c e9 16 f8 ff ff <0f> 0b
15 01 9b e9 33 c0 e9 86
<0>Kernel panic - not syncing: Fatal exception in interrupt


--
Ondrej Zary

2004-11-07 13:16:47

by Sami Farin

[permalink] [raw]
Subject: Re: kernel panic while using netcat since linux-2.6.9

On Sun, Nov 07, 2004 at 02:01:40PM +0100, Ondrej Zary wrote:
> Rams?s Rodr?guez Mart?nez wrote:
> >Hi,
> >Sorry i don't include any dump, but it seems kernel-patch-lkcd for 2.6.9 is
> >not available yet. I could handcopy the kernel-oops if you want. I think
> >it'll be something related with bind() as it fails with "netcat".
> >
> >The problem is only present with 2.6.9 (or at least not with 2.6.8 nor
> >2.6.5)
> >
> >------------------------
> >SCRIPT TO REPRODUCE:
> >
> >su
> >apt-get install nc
> >exit
> >nc -p2000 127.0.0.1 2000 # kernel panic
> >
> >------------------------
>
> It does the same thing for me. Here's the BUG output from serial console.

can you confirm does this patch fix the issue.
http://linux.bkbits.net:8080/linux-2.6/gnupatch@4175f00ayR2dZynZ8yUWYSVkL6Z5og

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/10/19 21:56:42-07:00 [email protected]
# [NET]: Make sure to copy TSO fields in copy_skb_header().
#
# Signed-off-by: Herbert Xu <[email protected]>
# Signed-off-by: David S. Miller <[email protected]>
#
# net/core/skbuff.c
# 2004/10/19 21:56:24-07:00 [email protected] +2 -4
# [NET]: Make sure to copy TSO fields in copy_skb_header().
#
# Signed-off-by: Herbert Xu <[email protected]>
# Signed-off-by: David S. Miller <[email protected]>
#
diff -Nru a/net/core/skbuff.c b/net/core/skbuff.c
--- a/net/core/skbuff.c 2004-11-07 05:16:05 -08:00
+++ b/net/core/skbuff.c 2004-11-07 05:16:05 -08:00
@@ -394,6 +394,8 @@
new->tc_index = old->tc_index;
#endif
atomic_set(&new->users, 1);
+ skb_shinfo(new)->tso_size = skb_shinfo(old)->tso_size;
+ skb_shinfo(new)->tso_segs = skb_shinfo(old)->tso_segs;
}

/**
@@ -483,8 +485,6 @@
}
skb_shinfo(n)->nr_frags = i;
}
- skb_shinfo(n)->tso_size = skb_shinfo(skb)->tso_size;
- skb_shinfo(n)->tso_segs = skb_shinfo(skb)->tso_segs;

if (skb_shinfo(skb)->frag_list) {
skb_shinfo(n)->frag_list = skb_shinfo(skb)->frag_list;
@@ -631,8 +631,6 @@
BUG();

copy_skb_header(n, skb);
- skb_shinfo(n)->tso_size = skb_shinfo(skb)->tso_size;
- skb_shinfo(n)->tso_segs = skb_shinfo(skb)->tso_segs;

return n;
}

2004-11-07 14:43:22

by Ondrej Zary

[permalink] [raw]
Subject: Re: kernel panic while using netcat since linux-2.6.9

Sami Farin wrote:
> On Sun, Nov 07, 2004 at 02:01:40PM +0100, Ondrej Zary wrote:
>
>>Rams?s Rodr?guez Mart?nez wrote:
>>
>>>Hi,
>>>Sorry i don't include any dump, but it seems kernel-patch-lkcd for 2.6.9 is
>>>not available yet. I could handcopy the kernel-oops if you want. I think
>>>it'll be something related with bind() as it fails with "netcat".
>>>
>>>The problem is only present with 2.6.9 (or at least not with 2.6.8 nor
>>>2.6.5)
>>>
>>>------------------------
>>>SCRIPT TO REPRODUCE:
>>>
>>>su
>>>apt-get install nc
>>>exit
>>>nc -p2000 127.0.0.1 2000 # kernel panic
>>>
>>>------------------------
>>
>>It does the same thing for me. Here's the BUG output from serial console.
>
>
> can you confirm does this patch fix the issue.
> http://linux.bkbits.net:8080/linux-2.6/gnupatch@4175f00ayR2dZynZ8yUWYSVkL6Z5og

Thanks, this patch fixes the problem.

--
Ondrej Zary