[Bug 227760] Race condition in syncache_lookup and syncache_insert in TCP Handshake

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Dec 19 01:37:25 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227760

--- Comment #2 from commit-hook at freebsd.org ---
A commit references this bug:

Author: np
Date: Wed Dec 19 01:37:01 UTC 2018
New revision: 342208
URL: https://svnweb.freebsd.org/changeset/base/342208

Log:
  cxgbe/t4_tom: fixes for issues on the passive open side.

  - Fix PR 227760 by getting the TOE to respond to the SYN after the call
    to toe_syncache_add, not during it.  The kernel syncache code calls
    syncache_respond just before syncache_insert.  If the ACK to the
    syncache_respond is processed in another thread it may run before the
    syncache_insert and won't find the entry.  Note that this affects only
    t4_tom because it's the only driver trying to insert and expand
    syncache entries from different threads.

  - Do not leak resources if an embryonic connection terminates at
    SYN_RCVD because of L2 lookup failures.

  - Retire lctx->synq and associated code because there is never a need to
    walk the list of embryonic connections associated with a listener.
    The per-tid state is still called a synq entry in the driver even
    though the synq itself is now gone.

  PR:           227760
  MFC after:    2 weeks
  Sponsored by: Chelsio Communications

Changes:
  head/sys/dev/cxgbe/tom/t4_connect.c
  head/sys/dev/cxgbe/tom/t4_cpl_io.c
  head/sys/dev/cxgbe/tom/t4_listen.c
  head/sys/dev/cxgbe/tom/t4_tom.c
  head/sys/dev/cxgbe/tom/t4_tom.h

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-net mailing list