Module Name: src Committed By: tls Date: Thu Apr 1 00:24:41 UTC 2010
Modified Files: src/sys/netinet: ip_flow.c tcp_input.c Log Message: After discussion with ad@: it appears that KERNEL_LOCK also protects the driver output path (that is, ifp->if_output()). In the case of entry through the socket code, we are fine, because pru_usrreq takes KERNEL_LOCK. However, there are a few other ways to cause output which require protection: 1) direct calls to tcp_output() in tcp_input() 2) fast-forwarding code (ip_flow) -- protected elsewise against itself by the softnet lock. 3) *Possibly* the ARP code. I have currently persuaded myself that it is safe because of how it's called. 4) Possibly the ICMP code. This change addresses #1 and #2. To generate a diff of this commit: cvs rdiff -u -r1.58 -r1.59 src/sys/netinet/ip_flow.c cvs rdiff -u -r1.300 -r1.301 src/sys/netinet/tcp_input.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.