Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys
Module Name: src
Committed By: knakahara
Date: Fri Nov 18 06:50:04 UTC 2016
Modified Files:
src/sys/netinet: tcp_usrreq.c udp_usrreq.c
src/sys/netinet6: dccp6_usrreq.c in6.c mld6.c raw_ip6.c sctp6_usrreq.c
udp6_usrreq.c
Log Message:
fix: "ifconfig destory" can stalls when "ifconfig" is done parallel.
This problem occurs only if NET_MPSAFE on.
ifconfig destroy side:
kernel entry point is ifioctl => if_clone_destroy.
pr_purgeif() acquires softnet_lock, and then ifa_remove() calls
pserialize_perform() holding softnet_lock.
ifconfig side:
kernel entry point is socreate.
pr_attach()(udp_attach_wrapper()) calls sosetlock(). In this call path,
sosetlock() try to acquire softnet_lock.
These can cause dead lock.
To generate a diff of this commit:
cvs rdiff -u -r1.212 -r1.213 src/sys/netinet/tcp_usrreq.c
cvs rdiff -u -r1.228 -r1.229 src/sys/netinet/udp_usrreq.c
cvs rdiff -u -r1.8 -r1.9 src/sys/netinet6/dccp6_usrreq.c \
src/sys/netinet6/sctp6_usrreq.c
cvs rdiff -u -r1.221 -r1.222 src/sys/netinet6/in6.c
cvs rdiff -u -r1.74 -r1.75 src/sys/netinet6/mld6.c
cvs rdiff -u -r1.152 -r1.153 src/sys/netinet6/raw_ip6.c
cvs rdiff -u -r1.125 -r1.126 src/sys/netinet6/udp6_usrreq.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index