diff options
author | Peter Wemm <peter@FreeBSD.org> | 1999-06-05 05:35:03 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 1999-06-05 05:35:03 +0000 |
commit | b903b04cc0511b36869b0b6a59691517c59244fe (patch) | |
tree | ab674779bb261280261b29a88de9bcc2fd4e0c84 /sys/nfsclient/nfsm_subs.h | |
parent | ba68ee9642fa07fee18a2048e53ed9b5ef96f440 (diff) | |
download | src-b903b04cc0511b36869b0b6a59691517c59244fe.tar.gz src-b903b04cc0511b36869b0b6a59691517c59244fe.zip |
Various changes lifted from the OpenBSD cvs tree:
txdr_hyper and fxdr_hyper tweaks to avoid excessive CPU order knowledge.
nfs_serv.c: don't call nfsm_adj() with negative values, windows clients
could crash servers when doing a readdir of a large directory.
nfs_socket.c: Use IP_PORTRANGE to get a priviliged port without a spin
loop trying to bind(). Don't clobber a mbuf pointer or we get panics
on a NFS3ERR_JUKEBOX error from a server when reusing a freed mbuf.
nfs_subs.c: Don't loose st_blocks on NFSv2 mounts when > 2GB.
Obtained from: OpenBSD
Notes
Notes:
svn path=/head/; revision=47751
Diffstat (limited to 'sys/nfsclient/nfsm_subs.h')
-rw-r--r-- | sys/nfsclient/nfsm_subs.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/nfsclient/nfsm_subs.h b/sys/nfsclient/nfsm_subs.h index 3692b7b1375b..71d9f7b5b147 100644 --- a/sys/nfsclient/nfsm_subs.h +++ b/sys/nfsclient/nfsm_subs.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfsm_subs.h 8.2 (Berkeley) 3/30/95 - * $Id: nfsm_subs.h,v 1.21 1998/05/31 20:08:57 peter Exp $ + * $Id: nfsm_subs.h,v 1.22 1998/12/25 10:34:27 dfr Exp $ */ @@ -264,7 +264,7 @@ struct mbuf *nfsm_rpchead __P((struct ucred *cr, int nmflag, int procid, if ((full) && (a)->va_size != VNOVAL) { \ nfsm_build(tl, u_int32_t *, 3 * NFSX_UNSIGNED); \ *tl++ = nfs_true; \ - txdr_hyper(&(a)->va_size, tl); \ + txdr_hyper((a)->va_size, tl); \ } else { \ nfsm_build(tl, u_int32_t *, NFSX_UNSIGNED); \ *tl = nfs_false; \ @@ -479,7 +479,7 @@ struct mbuf *nfsm_rpchead __P((struct ucred *cr, int nmflag, int procid, nfsm_dissect(tl, u_int32_t *, NFSX_UNSIGNED); \ if (*tl == nfs_true) { \ nfsm_dissect(tl, u_int32_t *, 2 * NFSX_UNSIGNED); \ - fxdr_hyper(tl, &(a)->va_size); \ + (a)->va_size = fxdr_hyper(tl); \ } \ nfsm_dissect(tl, u_int32_t *, NFSX_UNSIGNED); \ switch (fxdr_unsigned(int, *tl)) { \ |