0166bdd415
correctly return an error if M_NOWAIT is passed to sblock() and the operation might block. This remarkably subtle macro bug appears to be responsible for quite a few undiagnosed socket buffer corruption and mbuf-related kernel panics. This bug has already been fixed in 7-CURRENT as part of the move to using sx(9) locks to serialize simultaneous socket I/O, but is an MFC candidate for all earlier FreeBSD -STABLE branches. MFC after: 2 weeks Found by: Isilon Submitted by: jeff Tested by: jhb, Yahoo!