#85 Race condition can cause accept() to fail

closed-fixed
Bug (76)
5
2008-07-02
2008-07-02
No

There is a race condition in Linux TIPC that can prevent accept() from returning successfully when the newly created socket is immediately disconnected by its peer.

This problem is caused in part by the design of the Linux kernel's socket accept code, which gathers the optional peer name info in a later phase of the accept processing, rather than when the newly connected socket is created; this provides a window in which the socket can become disconnected and (in the current implementation) cease to have a peer whose address can be returned.

The problem was detected in TIPC 1.7.5, but appears to exist in earlier versions of TIPC as well.

Discussion

  • Allan Stephens

    Allan Stephens - 2008-07-02
    • status: open --> closed-fixed
     
  • Allan Stephens

    Allan Stephens - 2008-07-02

    Logged In: YES
    user_id=995681
    Originator: YES

    This problem has been fixed in TIPC 1.7.6-rc1.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks