In message <[EMAIL PROTECTED]>, Alfred Perlstein writes:
>Now since the default ruleset is to deny everything, the client
>locks up spewing 'nfsd send error 13'.
>
>Now give it two or three shots and you may get the server
>to lock up as well!  (seems to run out of mbufs)

I must have forgotten to commit the fix for this - Garrett noticed
the problem a few years ago, and I came across it while testing
exactly this scenario more recently (for more details, search for
the message ID <[EMAIL PROTECTED]> on this
list).

The uio != NULL check that this removes was added in CSRG revision
7.31 (Nov 1991) to support Rick Macklem's NFS work, but I'm fairly
sure that it is not needed now. If it was there for performance
reasons it should have increased the socket limit, and not removed
it alltogether.

The patch is below; I'll commit this shortly.

Ian

Index: uipc_socket.c
===================================================================
RCS file: /dump/FreeBSD-CVS/src/sys/kern/uipc_socket.c,v
retrieving revision 1.109
diff -u -r1.109 uipc_socket.c
--- uipc_socket.c       5 Feb 2002 02:00:53 -0000       1.109
+++ uipc_socket.c       9 Feb 2002 12:52:45 -0000
@@ -549,7 +549,7 @@
                if ((atomic && resid > so->so_snd.sb_hiwat) ||
                    clen > so->so_snd.sb_hiwat)
                        snderr(EMSGSIZE);
-               if (space < resid + clen && uio &&
+               if (space < resid + clen &&
                    (atomic || space < so->so_snd.sb_lowat || space < clen)) {
                        if (so->so_state & SS_NBIO)
                                snderr(EWOULDBLOCK);

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to