Apply by doing: cd /sys patch < send.patch Index: kern/uipc_socket.c diff -c kern/uipc_socket.c:1.17 kern/uipc_socket.c:1.18 *** kern/uipc_socket.c:1.17 Sun Aug 31 14:42:24 1997 --- kern/uipc_socket.c Tue Nov 11 11:22:49 1997 *************** *** 354,361 **** * if we over-committed, and we must use a signed comparison * of space and resid. On the other hand, a negative resid * causes us to loop sending 0-length segments to the protocol. */ ! if (resid < 0) { error = EINVAL; goto out; } --- 354,363 ---- * if we over-committed, and we must use a signed comparison * of space and resid. On the other hand, a negative resid * causes us to loop sending 0-length segments to the protocol. + * MSG_EOR on a SOCK_STREAM socket is also invalid. */ ! if (resid < 0 || ! (so->so_type == SOCK_STREAM && (flags & MSG_EOR))) { error = EINVAL; goto out; }