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

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Mar 27 21:30:48 UTC 2019


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

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

Author: np
Date: Wed Mar 27 21:29:46 UTC 2019
New revision: 345605
URL: https://svnweb.freebsd.org/changeset/base/345605

Log:
  MFC r342208:

  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
  Sponsored by: Chelsio Communications

Changes:
_U  stable/12/
  stable/12/sys/dev/cxgbe/tom/t4_connect.c
  stable/12/sys/dev/cxgbe/tom/t4_cpl_io.c
  stable/12/sys/dev/cxgbe/tom/t4_listen.c
  stable/12/sys/dev/cxgbe/tom/t4_tom.c
  stable/12/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