Skip to contentSkip to conversation

New: possible connect() bug

Bugme-new Andrew Morton 1 participant 1 message Jun 20, 2007 1 message not in the archive

Subsystems (2)
lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]/

#1 lore raw
Quoted 52 lines · On Wed, 20 Jun 2007 03:56:28 -0700 (PDT) [email protected] 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 ([email protected]) (gcc
                    version 3.3.
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: low
          Priority: P1
         Component: Other
        AssignedTo: [email protected]
        ReportedBy: [email protected]

...

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

Quoted 4 lines

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.