lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <900E3B14-5B92-4A37-9581-049DB40F4D1C@gmail.com>
Date:	Wed, 9 Jun 2010 22:46:28 +0200
From:	Ales Teska <ales.teska@...il.com>
To:	linux-kernel@...r.kernel.org
Subject: PROBLEM: PPP and other serial port related application hangs in kernel space

Hi all,

after upgrade of Linux kernel to version 2.6.34 I started to observe following problem - ppp and other serial port related application occasionally (in 1 hour or 1/10 ppp connections) 'hangs' (see description bellow) rendering related serial device unusable. I backtracked this issue to 2.6.32.15.
Application remains in the condition marked as 'D' in 'ps' output (waiting for result from kernel space, if I understand that correctly); it stays in this condition forever.
Moreover any other application that tries to open same serial port hangs the same way.

Here is example of such a situation:
# ps ax
  PID TTY      STAT   TIME COMMAND
....
 1275 ?        D      0:01 ufoprobe-client /dev/ttyUSB0
....

I also found following information in dmesg:
[ 1673.660876] ------------[ cut here ]------------
[ 1673.661471] WARNING: at drivers/char/tty_io.c:1278 tty_open+0x213/0x451()
[ 1673.662358] Modules linked in: ppp_deflate zlib_deflate bsd_comp ppp_async crc_ccitt ppp_generic slhc ipv6 nvram msr cpuid ledtrig_timer ledtrig_heartbeat ledtrig_default_on geodewdt lm90 hwmon scx200_acb option usbserial ehci_hcd ohci_hcd via_rhine usbcore leds_alix2 mii
[ 1673.689168] Pid: 1275, comm: ufoprobe_client Not tainted 2.6.34-486-exiprobes #1
[ 1673.690452] Call Trace:
[ 1673.690947]  [<c10e93af>] ? tty_open+0x213/0x451
[ 1673.691926]  [<c1018f51>] warn_slowpath_common+0x45/0x5c
[ 1673.693006]  [<c1018f75>] warn_slowpath_null+0xd/0x10
[ 1673.694293]  [<c10e93af>] tty_open+0x213/0x451
[ 1673.694755]  [<c1068105>] chrdev_open+0xe3/0x126
[ 1673.695733]  [<c10648e5>] __dentry_open+0x123/0x1f7
[ 1673.697472]  [<c10655f8>] nameidata_to_filp+0x29/0x3d
[ 1673.697726]  [<c1068022>] ? chrdev_open+0x0/0x126
[ 1673.698957]  [<c106d961>] do_last+0x361/0x474
[ 1673.700138]  [<c1066861>] ? percpu_counter_add+0x23/0x2f
[ 1673.701189]  [<c106ed97>] do_filp_open+0x165/0x3b5
[ 1673.701700]  [<c10212e8>] ? update_process_times+0x3a/0x3e
[ 1673.703295]  [<c1075c1b>] ? spin_unlock+0x17/0x22
[ 1673.704537]  [<c10646ac>] do_sys_open+0x4a/0xec
[ 1673.705244]  [<c1064790>] sys_open+0x1e/0x26
[ 1673.706190]  [<c118c835>] syscall_call+0x7/0xb
[ 1673.706644]  [<c1180000>] ? xfrm_add_pol_expire+0x7a/0x166
[ 1673.708205] ---[ end trace 69d4cf5dc236c7af ]---

Keywords: ppp tty serial
Kernel version: Linux version 2.6.34-486-exiprobes (root@...age) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 PREEMPT Wed Jun 9 19:18:19 GMT 2010

Environment:
ALIX2D2 Board with 2 LAN and 2 miniPCI, LX800, USB
LX-800 with integrated RAM and PSU
CPU: 500 MHz AMD Geode LX800
Dual USB port
DRAM: 256 MB DDR DRAM on board
Storage: CompactFlash socket
2 Ethernet channels (Via VT6105M 10/100)
I/O: DB9 serial port, dual USB port

# lspci
00:01.0 Host bridge: Advanced Micro Devices [AMD] Unknown device 2080 (rev 33)
00:01.2 Entertainment encryption device: Advanced Micro Devices [AMD] Geode LX AES Security Block
00:09.0 Ethernet controller: VIA Technologies, Inc. VT6105M [Rhine-III] (rev 96)
00:0b.0 Ethernet controller: VIA Technologies, Inc. VT6105M [Rhine-III] (rev 96)
00:0f.0 ISA bridge: Advanced Micro Devices [AMD] CS5536 [Geode companion] ISA (rev 03)
00:0f.2 IDE interface: Advanced Micro Devices [AMD] CS5536 [Geode companion] IDE (rev 01)
00:0f.4 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] OHC (rev 02)
00:0f.5 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] EHC (rev 02)

Processor information (from /proc/cpuinfo):
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 5
model           : 10
model name      : Geode(TM) Integrated Processor by AMD PCS
stepping        : 2
cpu MHz         : 498.071
cache size      : 128 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext 3dnowext 3dnow
bogomips        : 996.14
clflush size    : 32
cache_alignment : 32
address sizes   : 32 bits physical, 32 bits virtual
power management:

Module information (from /proc/modules): 
ppp_deflate 2734 0 - Live 0xd0a65000
zlib_deflate 15675 1 ppp_deflate, Live 0xd0a58000
bsd_comp 3754 0 - Live 0xd0a3c000
ppp_async 5124 0 - Live 0xd0a31000
crc_ccitt 983 1 ppp_async, Live 0xd0a26000
ppp_generic 13543 3 ppp_deflate,bsd_comp,ppp_async, Live 0xd0a19000
slhc 3559 1 ppp_generic, Live 0xd0a0b000
ipv6 183015 14 - Live 0xd09c8000
nvram 4136 0 - Live 0xd0981000
msr 1494 0 - Live 0xd0976000
cpuid 1263 0 - Live 0xd096c000
ledtrig_timer 1496 0 - Live 0xd0962000
ledtrig_heartbeat 857 0 - Live 0xd0958000
ledtrig_default_on 512 0 - Live 0xd094f000
geodewdt 2091 2 - Live 0xd0946000
lm90 6492 0 - Live 0xd093b000
hwmon 1007 1 lm90, Live 0xd092f000
scx200_acb 2570 0 - Live 0xd0925000
option 13661 2 - Live 0xd0915000
usbserial 22562 7 option, Live 0xd08f9000
ehci_hcd 38670 0 - Live 0xd08cc000
ohci_hcd 27580 0 - Live 0xd08ad000
via_rhine 15098 0 - Live 0xd0889000
usbcore 112174 5 option,usbserial,ehci_hcd,ohci_hcd, Live 0xd0856000
leds_alix2 1315 0 - Live 0xd0825000
mii 2687 1 via_rhine, Live 0xd0804000

Loaded driver and hardware information (/proc/ioports, /proc/iomem)
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0064-0064 : keyboard
0070-0071 : rtc_cmos
  0070-0071 : rtc0
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : 0000:00:0f.2
01f0-01f7 : 0000:00:0f.2
  01f0-01f7 : pata_cs5536
02f8-02ff : serial
0376-0376 : 0000:00:0f.2
03f6-03f6 : 0000:00:0f.2
  03f6-03f6 : pata_cs5536
03f8-03ff : serial
0cf8-0cff : PCI conf1
1000-10ff : 0000:00:09.0
  1000-10ff : via-rhine
1400-14ff : 0000:00:0b.0
  1400-14ff : via-rhine
6000-6007 : 0000:00:0f.0
  6000-6007 : CS5536 ACB0
6100-61ff : 0000:00:0f.0
  6100-61ff : leds_alix2
6200-623f : 0000:00:0f.0
  6200-623f : cs5535-mfgpt
9c00-9c3f : 0000:00:0f.0
9d00-9d7f : 0000:00:0f.0
ac1c-ac1f : 0000:00:01.0
ff00-ff0f : 0000:00:0f.2
  ff00-ff0f : pata_cs5536

# cat /proc/iomem   
00000000-00000fff : reserved
00001000-0009ffff : System RAM
000a0000-000bffff : Video RAM area
000e0000-000effff : Extension ROM
000f0000-000fffff : reserved
  000f0000-000fffff : System ROM
00100000-0fffffff : System RAM
  01000000-0118d4e5 : Kernel code
  0118d4e6-0125dde7 : Kernel data
  01282000-012d6bab : Kernel bss
e0000000-e00000ff : 0000:00:09.0
  e0000000-e00000ff : via-rhine
e0040000-e00400ff : 0000:00:0b.0
  e0040000-e00400ff : via-rhine
efff4000-efff7fff : 0000:00:01.2
  efff4000-efff7fff : geode-aes
efffd000-efffdfff : 0000:00:0f.5
  efffd000-efffdfff : ehci_hcd
efffe000-efffefff : 0000:00:0f.4
  efffe000-efffefff : ohci_hcd
fff00000-ffffffff : reserved

PCI information ('lspci -vvv' as root)
# lspci -vvv 
00:01.0 Host bridge: Advanced Micro Devices [AMD] Unknown device 2080 (rev 33)
        Subsystem: Advanced Micro Devices [AMD] Unknown device 2080
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 248, Cache Line Size: 32 bytes
        Region 0: I/O ports at ac1c [size=4]

00:01.2 Entertainment encryption device: Advanced Micro Devices [AMD] Geode LX AES Security Block
        Subsystem: Advanced Micro Devices [AMD] Geode LX AES Security Block
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0, Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 9
        Region 0: Memory at efff4000 (32-bit, non-prefetchable) [size=16K]

00:09.0 Ethernet controller: VIA Technologies, Inc. VT6105M [Rhine-III] (rev 96)
        Subsystem: VIA Technologies, Inc. Unknown device 0106
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping+ SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (750ns min, 2000ns max), Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 10
        Region 0: I/O ports at 1000 [size=256]
        Region 1: Memory at e0000000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0b.0 Ethernet controller: VIA Technologies, Inc. VT6105M [Rhine-III] (rev 96)
        Subsystem: VIA Technologies, Inc. Unknown device 0106
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping+ SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (750ns min, 2000ns max), Cache Line Size: 32 bytes
        Interrupt: pin A routed to IRQ 15
        Region 0: I/O ports at 1400 [size=256]
        Region 1: Memory at e0040000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0f.0 ISA bridge: Advanced Micro Devices [AMD] CS5536 [Geode companion] ISA (rev 03)
        Subsystem: Advanced Micro Devices [AMD] CS5536 [Geode companion] ISA
        Control: I/O+ Mem- BusMaster- SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Region 0: I/O ports at 6000 [size=8]
        Region 1: I/O ports at 6100 [size=256]
        Region 2: I/O ports at 6200 [size=64]
        Region 3: I/O ports at <unassigned>
        Region 4: I/O ports at 9d00 [size=128]
        Region 5: I/O ports at 9c00 [size=64]

00:0f.2 IDE interface: Advanced Micro Devices [AMD] CS5536 [Geode companion] IDE (rev 01) (prog-if 80 [Master])
        Subsystem: Advanced Micro Devices [AMD] CS5536 [Geode companion] IDE
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 248, Cache Line Size: 32 bytes
        Region 0: [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [disabled] [size=8]
        Region 1: [virtual] Memory at 000003f0 (type 3, non-prefetchable) [disabled] [size=1]
        Region 2: [virtual] Memory at 00000170 (32-bit, non-prefetchable) [disabled] [size=8]
        Region 3: [virtual] Memory at 00000370 (type 3, non-prefetchable) [disabled] [size=1]
        Region 4: I/O ports at ff00 [size=16]

00:0f.4 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] OHC (rev 02) (prog-if 10 [OHCI])
        Subsystem: Advanced Micro Devices [AMD] CS5536 [Geode companion] OHC
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0, Cache Line Size: 32 bytes
        Interrupt: pin D routed to IRQ 12
        Region 0: Memory at efffe000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0f.5 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] EHC (rev 02) (prog-if 20 [EHCI])
        Subsystem: Advanced Micro Devices [AMD] CS5536 [Geode companion] EHC
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0, Cache Line Size: 32 bytes
        Interrupt: pin D routed to IRQ 12
        Region 0: Memory at efffd000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

SCSI information (from /proc/scsi/scsi)
# cat /proc/scsi/scsi 
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: IEI Technology C Rev: 0811
  Type:   Direct-Access                    ANSI  SCSI revision: 05

Other information that might be relevant to the problem:
* Previous version of the kernel i used (2.6.29.1) was and still is OK (without this issue).
* I'm using ppp version 2.4.5
* My kernel is vanilla version compiled for i486
* So far I'm not able to write script to reproduce that for 100% - but just enabling and disabling ppp connection will do the work

Thank you,
Ales Teska


Download attachment "smime.p7s" of type "application/pkcs7-signature" (2371 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ