NetBSD-Bugs archive

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

PR/53043 CVS commit: [netbsd-8] src/sys



The following reply was made to PR kern/53043; it has been noted by GNATS.

From: "Martin Husemann" <martin%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/53043 CVS commit: [netbsd-8] src/sys
Date: Mon, 26 Feb 2018 13:32:01 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Mon Feb 26 13:32:01 UTC 2018
 
 Modified Files:
 	src/sys/netinet [netbsd-8]: in.c ip_input.c wqinput.c
 	src/sys/netinet6 [netbsd-8]: in6.c ip6_input.c
 	src/sys/rump/net/lib/libnetinet [netbsd-8]: netinet_component.c
 
 Log Message:
 Pull up following revision(s) (requested by ozaki-r in ticket #588):
 	sys/netinet6/in6.c: revision 1.260
 	sys/netinet/in.c: revision 1.219
 	sys/netinet/wqinput.c: revision 1.4
 	sys/rump/net/lib/libnetinet/netinet_component.c: revision 1.11
 	sys/netinet/ip_input.c: revision 1.376
 	sys/netinet6/ip6_input.c: revision 1.193
 Avoid a deadlock between softnet_lock and IFNET_LOCK
 
 A deadlock occurs because there is a violation of the rule of lock ordering;
 softnet_lock is held with hodling IFNET_LOCK, which violates the rule.
 To avoid the deadlock, replace softnet_lock in in_control and in6_control
 with KERNEL_LOCK.
 
 We also need to add some KERNEL_LOCKs to protect the network stack surely.
 This is required, for example, for PR kern/51356.
 
 Fix PR kern/53043
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.203.2.9 -r1.203.2.10 src/sys/netinet/in.c
 cvs rdiff -u -r1.355.2.4 -r1.355.2.5 src/sys/netinet/ip_input.c
 cvs rdiff -u -r1.3 -r1.3.2.1 src/sys/netinet/wqinput.c
 cvs rdiff -u -r1.245.2.7 -r1.245.2.8 src/sys/netinet6/in6.c
 cvs rdiff -u -r1.178.2.5 -r1.178.2.6 src/sys/netinet6/ip6_input.c
 cvs rdiff -u -r1.8.6.1 -r1.8.6.2 \
     src/sys/rump/net/lib/libnetinet/netinet_component.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