cvs commit: src/sys/kern uipc_usrreq.c

John Baldwin jhb at
Fri Jan 12 16:24:24 UTC 2007

jhb         2007-01-12 16:24:23 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_6)
    sys/kern             uipc_usrreq.c 
  MFC: Close a race between enumerating UNIX domain socket pcb structures via
  sysctl and socket teardown.  Note that we engage in a bit of trickery to
  preserve the ABI of 'struct unpcb' in 6.x.  We change the UMA zone to hold
  a 'struct unpcb_wrapper' which holds a 6.x 'struct unpcb' followed by the
  new reference count needed for handling the race.  We then cast 'struct
  unpcb' pointers to 'struct unpcb_wrapper' pointers when we need to access
  the reference count.
  Submitted by:   ups (including the ABI trickery)
  Revision   Changes    Path  +36 -7     src/sys/kern/uipc_usrreq.c

More information about the cvs-src mailing list