git: kernel - Beef up lwkt_dropmsg() API and fix deadlock in so_async_rcvd*()

Matthew Dillon dillon at crater.dragonflybsd.org
Mon Feb 25 16:54:00 PST 2013


commit 6999cd8155d3d7c6f03c1116687aee56d42fe84a
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Mon Feb 25 16:49:01 2013 -0800

    kernel - Beef up lwkt_dropmsg() API and fix deadlock in so_async_rcvd*()
    
    * Beef up the lwkt_dropmsg() API.  The API now conditionally returns
      success (0) or an error (ENOENT).
    
    * so_pru_rcvd_async() improperly calls lwkt_sendmsg() with a spinlock
      held.  This is not legal.  Hack up lwkt_sendmsg() a bit to resolve.

Summary of changes:
 sys/kern/lwkt_msgport.c    | 66 +++++++++++++++++++++++++++++++++++++---------
 sys/kern/uipc_msg.c        | 35 ++++++++++++++++++++----
 sys/net/bridge/bridgestp.c |  7 +----
 sys/net/bridge/if_bridge.c |  7 +----
 sys/net/ipfw/ip_fw2.c      |  7 +----
 sys/netinet/ip_carp.c      |  6 ++---
 sys/netinet/tcp_output.c   |  8 +++---
 sys/netinet/tcp_timer.c    |  9 ++++---
 sys/sys/msgport.h          |  5 +++-
 sys/sys/msgport2.h         | 10 ++++---
 10 files changed, 108 insertions(+), 52 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/6999cd8155d3d7c6f03c1116687aee56d42fe84a


-- 
DragonFly BSD source repository



More information about the Commits mailing list