Up to [cvs.NetBSD.org] / src / sys / netinet
Request diff between arbitrary revisions
Default branch: MAIN
Current tag: bouyer-socketcan-base
Revision 1.229 / (download) - annotate - [select for diffs], Fri Nov 18 06:50:04 2016 UTC (7 years, 4 months ago) by knakahara
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107,
nick-nhusb-base-20161204,
bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.228: +7 -2
lines
Diff to previous 1.228 (colored)
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.