DragonFly commits List (threaded) for 2009-01
DragonFly BSD
DragonFly commits List (threaded) for 2009-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

DragonFly-2.1.1.480.gfd86a master sys/kern uipc_msg.c uipc_socket.c sys/netinet tcp_syncache.c sys/sys socketops.h socketvar.h


From: Sepherosa Ziehau <sephe@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 30 Jan 2009 22:29:41 -0800 (PST)

commit fd86a41c7ed1881bb55e1ad5c825daf2f245a8b6
Author: Sepherosa Ziehau <sephe@dragonflybsd.org>
Date:   Thu Jan 22 17:13:20 2009 +0800

    syncache_socket(): fix abort path by calling pru_abort directly
    
    On syncache_socket() abort path, the inp's {fport,lport,faddr,laddr}
    is either incomplete or half destroyed, which causes tcp_soport()
    mapping the socket to a wrong CPU.  However, in syncache code, inp
    is only accessed or created by its owner CPU, i.e. we are already on
    the inp's owner CPU during the socket aborting.
    
    Add soabort_oncpu(), which calls pru_abort directly.  Use it on
    syncache_socket() abort path.

Summary of changes:
 sys/kern/uipc_msg.c        |   12 ++++++++++++
 sys/kern/uipc_socket.c     |    9 +++++++++
 sys/netinet/tcp_syncache.c |    2 +-
 sys/sys/socketops.h        |    1 +
 sys/sys/socketvar.h        |    1 +
 5 files changed, 24 insertions(+), 1 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/fd86a41c7ed1881bb55e1ad5c825daf2f245a8b6


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]