Thread (1 message) 1 message, 1 author, 2007-06-20

Re: [Bugme-new] [Bug 8654] New: possible connect() bug

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2007-06-20 16:57:58

On Wed, 20 Jun 2007 03:56:28 -0700 (PDT) bugme-daemon@bugzilla.kernel.org wrote:
http://bugzilla.kernel.org/show_bug.cgi?id=8654

           Summary: possible connect() bug
           Product: Networking
           Version: 2.5
     KernelVersion: Linux version 2.6.21.1 (risky@001134.localnet) (gcc
                    version 3.3.
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: low
          Priority: P1
         Component: Other
        AssignedTo: acme@ghostprotocols.net
        ReportedBy: risky@mail.ru


...

01:01.0 Ethernet controller: Intel Corp. 82547GI Gigabit Ethernet Controller
        Subsystem: Micro-Star International Co., Ltd.: Unknown device 1490
        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 (63750ns min), cache line size 08
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at fb100000 (32-bit, non-prefetchable) [size=128K]
        Region 2: I/O ports at b000 [size=32]
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=1 PME-

...

Minimal slackware installation, kernel downloaded from kernel.org

Problem Description:

connect() syscall normally reports "no route to host" when is called while
network cable is
unplugged, and ethernet interface is up and configured. But it hangs eternally
and utilizes
processor up to 100% if one tries to plug ethernet cable in, here two cases:
a) socket is blocking, connect() is called and did not completed, current
syscall hangs
b) socket is non-blocking, connect() normally returns EINPROGRESS, next syscall
hangs

Steps to reproduce:

Just try to plug ethernet cable in while trying to connect()
That might be a device driver bug.  Please generate a kernel profile while
it is occuring (Documentation/basic_profiling.txt) and/or generate a few
sysrq-P traces.  Send them via emailed reply-to-all to this email.

I'll be travelling for the next few days, but hopefully one of the netdev
developers will be able to work with you on this, thanks.  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help