Date: Sun, 23 Aug 2009 20:40:19 +0000 (UTC) From: Robert Watson <rwatson@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/compat/linux linux_ioctl.c src/sys/contrib/altq/altq altq_subr.c src/sys/kern kern_uuid.c src/sys/net bridgestp.c if.c if_llatbl.c if_var.h if_vlan.c src/sys/netgraph ng_gif.c src/sys/netinet in.c src/sys/netinet6 icmp6.c in6.c in6_ifattach.c ... Message-ID: <200908232040.n7NKewri026931@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
rwatson 2009-08-23 20:40:19 UTC FreeBSD src repository Modified files: sys/compat/linux linux_ioctl.c sys/contrib/altq/altq altq_subr.c sys/kern kern_uuid.c sys/net bridgestp.c if.c if_llatbl.c if_var.h if_vlan.c sys/netgraph ng_gif.c sys/netinet in.c sys/netinet6 icmp6.c in6.c in6_ifattach.c nd6.c sys/netipsec xform_ipip.c sys/nfsclient bootp_subr.c Log: SVN rev 196481 on 2009-08-23 20:40:19Z by rwatson Rework global locks for interface list and index management, correcting several critical bugs, including race conditions and lock order issues: Replace the single rwlock, ifnet_lock, with two locks, an rwlock and an sxlock. Either can be held to stablize the lists and indexes, but both are required to write. This allows the list to be held stable in both network interrupt contexts and sleepable user threads across sleeping memory allocations or device driver interactions. As before, writes to the interface list must occur from sleepable contexts. Reviewed by: bz, julian MFC after: 3 days Revision Changes Path 1.156 +4 -6 src/sys/compat/linux/linux_ioctl.c 1.26 +4 -4 src/sys/contrib/altq/altq/altq_subr.c 1.24 +3 -3 src/sys/kern/kern_uuid.c 1.51 +2 -2 src/sys/net/bridgestp.c 1.361 +58 -36 src/sys/net/if.c 1.9 +4 -4 src/sys/net/if_llatbl.c 1.154 +34 -8 src/sys/net/if_var.h 1.140 +2 -2 src/sys/net/if_vlan.c 1.29 +2 -2 src/sys/netgraph/ng_gif.c 1.144 +1 -6 src/sys/netinet/in.c 1.118 +6 -6 src/sys/netinet6/icmp6.c 1.123 +3 -8 src/sys/netinet6/in6.c 1.75 +3 -3 src/sys/netinet6/in6_ifattach.c 1.124 +2 -2 src/sys/netinet6/nd6.c 1.33 +4 -4 src/sys/netipsec/xform_ipip.c 1.87 +1 -1 src/sys/nfsclient/bootp_subr.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908232040.n7NKewri026931>