Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Feb 2002 11:11:06 +0000
From:      Ian Dowse <iedowse@maths.tcd.ie>
To:        Alfred Perlstein <bright@mu.org>
Cc:        net@freebsd.org
Subject:   Re: ipfw+nfs kills both client and server 
Message-ID:   <200202281111.aa87624@salmon.maths.tcd.ie>
In-Reply-To: Your message of "Thu, 28 Feb 2002 02:28:30 PST." <20020228102830.GA73010@elvis.mu.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <20020228102830.GA73010@elvis.mu.org>, 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 <200110151653.aa00863@salmon.maths.tcd.ie> 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 majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi? <200202281111.aa87624>