freebsd-dev/sys/nfs
Bill Paul 9c9743b67b Correct the sanity test length calculation in nfsrv_readdirplus(): len is
being incremented by 4 bytes too few each time through the loop, which
allows more data into the mbuf chain that we really want. In the worst
case, when we're using 32K read/write sizes with a TCP client, this causes
readdirplus replies to sometimes exceed NFS_MAXPACKET which leads to a
panic. This problem cropped up for me using an IRIX 6.5.4 NFSv3 TCP client
with 32K read/write sizes, however supposedly it can be triggered by
WinNT NFS servers too. In theory, it can probably be triggered by any
NFS v3 implementation using TCP as long as it's using the maxiumum block
size.

Reviewed by: Matthew Dillon <dillon@backplane.com>
1999-07-29 21:42:57 +00:00
..
bootp_subr.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 23:45:44 +00:00
krpc_subr.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 23:45:44 +00:00
krpc.h Forward declare more structs that are used in prototypes here - don't 1998-02-01 20:34:07 +00:00
nfs_bio.c Convert buffer locking from using the B_BUSY and B_WANTED flags to using 1999-06-26 02:47:16 +00:00
nfs_common.c I have not one single time remembered the name of this function correctly 1999-07-17 18:43:50 +00:00
nfs_common.h Matt's NFS fixes. 1999-06-23 04:44:14 +00:00
nfs_node.c Thanks to Bruce for noticing this.... compare against the *new* nfsnode's 1999-06-19 19:33:44 +00:00
nfs_nqlease.c Use vput instead of vrele. 1999-06-16 18:35:58 +00:00
nfs_serv.c Correct the sanity test length calculation in nfsrv_readdirplus(): len is 1999-07-29 21:42:57 +00:00
nfs_socket.c Various changes lifted from the OpenBSD cvs tree: 1999-06-05 05:35:03 +00:00
nfs_srvcache.c Moved `#ifndef NFS_NOSERVER' after including nfs.h. 1998-07-02 12:41:42 +00:00
nfs_subs.c I have not one single time remembered the name of this function correctly 1999-07-17 18:43:50 +00:00
nfs_syscalls.c Matt's NFS fixes. 1999-06-23 04:44:14 +00:00
nfs_vfsops.c Various changes lifted from the OpenBSD cvs tree: 1999-06-05 05:35:03 +00:00
nfs_vnops.c Fix warning. va_fsid is udev_t, which is int32_t. No need to use %lx. 1999-07-01 13:32:54 +00:00
nfs.h remove b_proc from struct buf, it's (now) unused. 1999-05-06 20:00:34 +00:00
nfsdiskless.h Removed more vestiges of config-time swap configuration. 1997-09-07 12:56:46 +00:00
nfsm_subs.h Matt's NFS fixes. 1999-06-23 04:44:14 +00:00
nfsmount.h When using NFSv3, use the remote server's idea of the maximum file size 1998-05-30 16:33:58 +00:00
nfsnode.h Reimplement the NFS ACCESS RPC cache as an "accelerator" rather than a true 1998-11-15 20:36:18 +00:00
nfsproto.h For the on-the-wire protocol, u_long -> u_int32_t; long -> int32_t; 1998-05-31 20:09:01 +00:00
nfsrtt.h For the on-the-wire protocol, u_long -> u_int32_t; long -> int32_t; 1998-05-31 20:09:01 +00:00
nfsrvcache.h For the on-the-wire protocol, u_long -> u_int32_t; long -> int32_t; 1998-05-31 20:09:01 +00:00
nfsv2.h Delete the #if 0 (nearly) duplicate definitions of nfsproto.h. Having 1998-05-13 06:40:56 +00:00
nqnfs.h Use u_int32_t in NQFHHASH instead of u_long. 1998-07-05 10:13:22 +00:00
rpcv2.h For the on-the-wire protocol, u_long -> u_int32_t; long -> int32_t; 1998-05-31 20:09:01 +00:00
xdr_subs.h Various changes lifted from the OpenBSD cvs tree: 1999-06-05 05:35:03 +00:00