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
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]