These changes Fix a bug in soreceive() that caused infinite loop if a
packet was received while doing uiomove() and the MSG_PEEK flag was set.
If you have this fix, then patch will tell you:

	Reversed (or previously applied) patch detected!

If it does, you should just reinstall your original uipc_socket.c.
If you have a different version of the fix or another modification that
affects this code, then patch will tell you that "Hunk #1 failed"; you
must install the patch by hand.

***************
*** 546,552
  		error =
  		    uiomove(mtod(m, caddr_t) + moff, (int)len, UIO_READ, uio);
  		s = splnet();
! 		if (len == m->m_len) {
  			eor = (int)m->m_act;
  			if (flags & MSG_PEEK)
  				m = m->m_next;

--- 550,556 -----
  		error =
  		    uiomove(mtod(m, caddr_t) + moff, (int)len, UIO_READ, uio);
  		s = splnet();
! 		if (moff+len == m->m_len) {
  			eor = (int)m->m_act;
  			if (flags & MSG_PEEK)
  				m = m->m_next;
