Note: this is the third version of this patch.

Apply by doing
	cd /usr/src
	patch -p0 < resid.patch 

And then rebuild your kernel.

--- sys/kern/uipc_syscalls.c.DIST	Mon Jul 27 18:54:24 1998
+++ sys/kern/uipc_syscalls.c	Tue Jul 28 14:15:45 1998
@@ -439,7 +439,8 @@
 	auio.uio_resid = 0;
 	iov = mp->msg_iov;
 	for (i = 0; i < mp->msg_iovlen; i++, iov++) {
-		if ((auio.uio_resid += iov->iov_len) < 0)
+		/* Don't allow sum > SSIZE_MAX */
+		if ((ssize_t)(auio.uio_resid += iov->iov_len) <= 0)
 			return (EINVAL);
 	}
 	if (mp->msg_name) {
@@ -631,7 +632,8 @@
 	auio.uio_resid = 0;
 	iov = mp->msg_iov;
 	for (i = 0; i < mp->msg_iovlen; i++, iov++) {
-		if ((auio.uio_resid += iov->iov_len) < 0)
+		/* Don't allow sum > SSIZE_MAX */
+		if ((ssize_t)(auio.uio_resid += iov->iov_len) <= 0)
 			return (EINVAL);
 	}
 #ifdef KTRACE
--- sys/kern/sys_generic.c.DIST	Thu Feb 19 23:00:59 1998
+++ sys/kern/sys_generic.c	Tue Jul 28 14:15:41 1998
@@ -78,8 +78,8 @@
 {
 	register struct sys_read_args /* {
 		syscallarg(int) fd;
-		syscallarg(char *) buf;
-		syscallarg(u_int) nbyte;
+		syscallarg(void *) buf;
+		syscallarg(size_t) nbyte;
 	} */ *uap = v;
 	register struct file *fp;
 	register struct filedesc *fdp = p->p_fd;
@@ -94,6 +94,9 @@
 	    (fp = fdp->fd_ofiles[SCARG(uap, fd)]) == NULL ||
 	    (fp->f_flag & FREAD) == 0)
 		return (EBADF);
+	/* Don't allow nbyte to be larger than max return val */
+	if (SCARG(uap, nbyte) > SSIZE_MAX)
+		return(EINVAL);
 	aiov.iov_base = (caddr_t)SCARG(uap, buf);
 	aiov.iov_len = SCARG(uap, nbyte);
 	auio.uio_iov = &aiov;
@@ -102,8 +105,6 @@
 	auio.uio_rw = UIO_READ;
 	auio.uio_segflg = UIO_USERSPACE;
 	auio.uio_procp = p;
-	if (auio.uio_resid < 0)
-		return EINVAL;
 #ifdef KTRACE
 	/*
 	 * if tracing, save a copy of iovec
@@ -139,7 +140,7 @@
 	register struct sys_readv_args /* {
 		syscallarg(int) fd;
 		syscallarg(struct iovec *) iovp;
-		syscallarg(u_int) iovcnt;
+		syscallarg(int) iovcnt;
 	} */ *uap = v;
 	register struct file *fp;
 	register struct filedesc *fdp = p->p_fd;
@@ -157,6 +158,8 @@
 	    (fp = fdp->fd_ofiles[SCARG(uap, fd)]) == NULL ||
 	    (fp->f_flag & FREAD) == 0)
 		return (EBADF);
+	if (SCARG(uap, iovcnt) <= 0)
+		return (EINVAL);
 	/* note: can't use iovlen until iovcnt is validated */
 	iovlen = SCARG(uap, iovcnt) * sizeof (struct iovec);
 	if (SCARG(uap, iovcnt) > UIO_SMALLIOV) {
@@ -177,14 +180,12 @@
 	if (error)
 		goto done;
 	auio.uio_resid = 0;
-	for (i = 0; i < SCARG(uap, iovcnt); i++) {
-		if (auio.uio_resid + iov->iov_len < auio.uio_resid) {
+	for (i = 0; i < SCARG(uap, iovcnt); i++, iov++) {
+		/* Don't allow sum > SSIZE_MAX */
+		if ((ssize_t)(auio.uio_resid += iov->iov_len) <= 0) {
 			error = EINVAL;
 			goto done;
 		}
-
-		auio.uio_resid += iov->iov_len;
-		iov++;
 	}
 #ifdef KTRACE
 	/*
@@ -228,8 +229,8 @@
 {
 	register struct sys_write_args /* {
 		syscallarg(int) fd;
-		syscallarg(char *) buf;
-		syscallarg(u_int) nbyte;
+		syscallarg(void *) buf;
+		syscallarg(size_t) nbyte;
 	} */ *uap = v;
 	register struct file *fp;
 	register struct filedesc *fdp = p->p_fd;
@@ -244,6 +245,9 @@
 	    (fp = fdp->fd_ofiles[SCARG(uap, fd)]) == NULL ||
 	    (fp->f_flag & FWRITE) == 0)
 		return (EBADF);
+	/* Don't allow nbyte to be larger than max return val */
+	if (SCARG(uap, nbyte) > SSIZE_MAX)
+		return(EINVAL);
 	aiov.iov_base = (caddr_t)SCARG(uap, buf);
 	aiov.iov_len = SCARG(uap, nbyte);
 	auio.uio_iov = &aiov;
@@ -252,8 +256,6 @@
 	auio.uio_rw = UIO_WRITE;
 	auio.uio_segflg = UIO_USERSPACE;
 	auio.uio_procp = p;
-	if (auio.uio_resid < 0)
-		return EINVAL;
 #ifdef KTRACE
 	/*
 	 * if tracing, save a copy of iovec
@@ -310,6 +312,8 @@
 	    (fp = fdp->fd_ofiles[SCARG(uap, fd)]) == NULL ||
 	    (fp->f_flag & FWRITE) == 0)
 		return (EBADF);
+	if (SCARG(uap, iovcnt) <= 0)
+		return (EINVAL);
 	/* note: can't use iovlen until iovcnt is validated */
 	iovlen = SCARG(uap, iovcnt) * sizeof (struct iovec);
 	if (SCARG(uap, iovcnt) > UIO_SMALLIOV) {
@@ -330,14 +334,12 @@
 	if (error)
 		goto done;
 	auio.uio_resid = 0;
-	for (i = 0; i < SCARG(uap, iovcnt); i++) {
-		if (auio.uio_resid + iov->iov_len < auio.uio_resid) {
+	for (i = 0; i < SCARG(uap, iovcnt); i++, iov++) {
+		/* Don't allow sum > SSIZE_MAX */
+		if ((ssize_t)(auio.uio_resid += iov->iov_len) <= 0) {
 			error = EINVAL;
 			goto done;
 		}
-
-		auio.uio_resid += iov->iov_len;
-		iov++;
 	}
 #ifdef KTRACE
 	/*
--- sys/kern/kern_acct.c.DIST	Thu Jan 22 08:51:06 1998
+++ sys/kern/kern_acct.c	Mon Jul 27 18:54:24 1998
@@ -219,8 +219,7 @@
 	 */
 	VOP_LEASE(vp, p, p->p_ucred, LEASE_WRITE);
 	return (vn_rdwr(UIO_WRITE, vp, (caddr_t)&acct, sizeof (acct),
-	    (off_t)0, UIO_SYSSPACE, IO_APPEND|IO_UNIT, p->p_ucred,
-	    (int *)0, p));
+	    (off_t)0, UIO_SYSSPACE, IO_APPEND|IO_UNIT, p->p_ucred, NULL, p));
 }
 
 /*
--- sys/kern/exec_subr.c.DIST	Mon Feb 24 00:19:56 1997
+++ sys/kern/exec_subr.c	Mon Jul 27 18:54:25 1998
@@ -167,7 +167,7 @@
 
 	error = vn_rdwr(UIO_READ, cmd->ev_vp, (caddr_t)cmd->ev_addr,
 	    cmd->ev_len, cmd->ev_offset, UIO_USERSPACE, IO_UNIT|IO_NODELOCKED,
-	    p->p_ucred, (int *)0, p);
+	    p->p_ucred, NULL, p);
 	if (error)
 		return error;
 
--- sys/kern/exec_elf.c.DIST	Sat Mar  7 05:13:25 1998
+++ sys/kern/exec_elf.c	Mon Jul 27 18:54:25 1998
@@ -317,7 +317,7 @@
 	int size;
 {
 	int error;
-	int resid;
+	size_t resid;
 
 	if ((error = vn_rdwr(UIO_READ, vp, buf, size, off, UIO_SYSSPACE,
 	    IO_NODELOCKED, p->p_ucred, &resid, p)) != 0)
--- sys/kern/vfs_vnops.c.DIST	Thu Jan 22 08:51:16 1998
+++ sys/kern/vfs_vnops.c	Mon Jul 27 18:54:25 1998
@@ -228,7 +228,7 @@
 	enum uio_seg segflg;
 	int ioflg;
 	struct ucred *cred;
-	int *aresid;
+	size_t *aresid;
 	struct proc *p;
 {
 	struct uio auio;
@@ -271,7 +271,8 @@
 	struct ucred *cred;
 {
 	register struct vnode *vp = (struct vnode *)fp->f_data;
-	int count, error = 0;
+	int error = 0;
+	size_t count;
 	struct proc *p = uio->uio_procp;
 
 	VOP_LEASE(vp, uio->uio_procp, cred, LEASE_READ);
@@ -297,7 +298,8 @@
 {
 	register struct vnode *vp = (struct vnode *)fp->f_data;
 	struct proc *p = uio->uio_procp;
-	int count, error, ioflag = IO_UNIT;
+	int error, ioflag = IO_UNIT;
+	size_t count;
 
 	if (vp->v_type == VREG && (fp->f_flag & O_APPEND))
 		ioflag |= IO_APPEND;
--- sys/kern/kern_exec.c.DIST	Sat Feb 21 01:49:13 1998
+++ sys/kern/kern_exec.c	Mon Jul 27 18:54:25 1998
@@ -95,7 +95,7 @@
 	int error, i;
 	struct vnode *vp;
 	struct nameidata *ndp;
-	int resid;
+	size_t resid;
 
 	ndp = epp->ep_ndp;
 	ndp->ni_cnd.cn_nameiop = LOOKUP;
--- sys/kern/uipc_socket.c.DIST	Thu Feb 19 23:01:00 1998
+++ sys/kern/uipc_socket.c	Mon Jul 27 18:54:25 1998
@@ -341,7 +341,8 @@
 	struct proc *p = curproc;		/* XXX */
 	struct mbuf **mp;
 	register struct mbuf *m;
-	register long space, len, resid;
+	register long space, len;
+	register quad_t resid;
 	int clen = 0, error, s, dontroute, mlen;
 	int atomic = sosendallatonce(so) || top;
 
@@ -350,7 +351,7 @@
 	else
 		resid = top->m_pkthdr.len;
 	/*
-	 * In theory resid should be unsigned.
+	 * In theory resid should be unsigned (since uio->uio_resid is).
 	 * However, space must be signed, as it might be less than 0
 	 * if we over-committed, and we must use a signed comparison
 	 * of space and resid.  On the other hand, a negative resid
@@ -523,7 +524,7 @@
 	struct protosw *pr = so->so_proto;
 	struct mbuf *nextrecord;
 	int moff, type = 0;
-	int orig_resid = uio->uio_resid;
+	size_t orig_resid = uio->uio_resid;
 
 	mp = mp0;
 	if (paddr)
--- sys/kern/kern_subr.c.DIST	Mon Feb 24 00:19:56 1997
+++ sys/kern/kern_subr.c	Mon Jul 27 18:54:25 1998
@@ -111,11 +111,19 @@
 {
 	register struct iovec *iov;
 
-	if (uio->uio_resid <= 0)
-		panic("ureadc: non-positive resid");
+	if (uio->uio_resid == 0)
+#ifdef DIAGNOSTIC
+		panic("ureadc: zero resid");
+#else
+		return (EINVAL);
+#endif
 again:
 	if (uio->uio_iovcnt <= 0)
+#ifdef DIAGNOSTIC
 		panic("ureadc: non-positive iovcnt");
+#else
+		return (EINVAL);
+#endif
 	iov = uio->uio_iov;
 	if (iov->iov_len <= 0) {
 		uio->uio_iovcnt--;
--- sys/sys/vnode.h.DIST	Sun Mar 15 11:33:59 1998
+++ sys/sys/vnode.h	Mon Jul 27 18:54:25 1998
@@ -469,7 +469,7 @@
 	    struct proc *p));
 int 	vn_rdwr __P((enum uio_rw rw, struct vnode *vp, caddr_t base,
 	    int len, off_t offset, enum uio_seg segflg, int ioflg,
-	    struct ucred *cred, int *aresid, struct proc *p));
+	    struct ucred *cred, size_t *aresid, struct proc *p));
 int	vn_lock __P((struct vnode *vp, int flags, struct proc *p));
 int	vop_noislocked __P((void *));
 int	vop_nolock __P((void *));
--- sys/sys/uio.h.DIST	Fri Dec 13 07:26:39 1996
+++ sys/sys/uio.h	Mon Jul 27 18:54:25 1998
@@ -61,7 +61,7 @@
 	struct	iovec *uio_iov;
 	int	uio_iovcnt;
 	off_t	uio_offset;
-	int	uio_resid;
+	size_t	uio_resid;
 	enum	uio_seg uio_segflg;
 	enum	uio_rw uio_rw;
 	struct	proc *uio_procp;
--- sys/ufs/ext2fs/ext2fs_lookup.c.DIST	Thu Jan 22 08:52:36 1998
+++ sys/ufs/ext2fs/ext2fs_lookup.c	Mon Jul 27 18:54:26 1998
@@ -992,7 +992,8 @@
 	register off_t off;
 	struct ext2fs_dirtemplate dbuf;
 	register struct ext2fs_direct *dp = (struct ext2fs_direct *)&dbuf;
-	int error, count, namlen;
+	int error, namlen;
+	size_t count;
 		 
 #define	MINDIRSIZ (sizeof (struct ext2fs_dirtemplate) / 2)
 
@@ -1062,7 +1063,7 @@
 		}
 		error = vn_rdwr(UIO_READ, vp, (caddr_t)&dirbuf,
 			sizeof (struct ext2fs_dirtemplate), (off_t)0, UIO_SYSSPACE,
-			IO_NODELOCKED, cred, (int *)0, (struct proc *)0);
+			IO_NODELOCKED, cred, NULL, (struct proc *)0);
 		if (error != 0)
 			break;
 		namlen = dirbuf.dotdot_namlen;
--- sys/ufs/ext2fs/ext2fs_vnops.c.DIST	Thu Jan 22 08:52:37 1998
+++ sys/ufs/ext2fs/ext2fs_vnops.c	Mon Jul 27 18:54:26 1998
@@ -890,7 +890,7 @@
 			error = vn_rdwr(UIO_READ, fvp, (caddr_t)&dirbuf,
 				sizeof (struct ext2fs_dirtemplate), (off_t)0,
 				UIO_SYSSPACE, IO_NODELOCKED, 
-				tcnp->cn_cred, (int *)0, (struct proc *)0);
+				tcnp->cn_cred, NULL, (struct proc *)0);
 			if (error == 0) {
 					namlen = dirbuf.dotdot_namlen;
 				if (namlen != 2 ||
@@ -905,7 +905,7 @@
 					    sizeof (struct dirtemplate),
 					    (off_t)0, UIO_SYSSPACE,
 					    IO_NODELOCKED|IO_SYNC,
-					    tcnp->cn_cred, (int *)0,
+					    tcnp->cn_cred, NULL,
 					    (struct proc *)0);
 					cache_purge(fdvp);
 				}
@@ -1019,7 +1019,7 @@
     dirtemplate.dotdot_reclen = VTOI(dvp)->i_e2fs->e2fs_bsize - 12;
 	error = vn_rdwr(UIO_WRITE, tvp, (caddr_t)&dirtemplate,
 	    sizeof (dirtemplate), (off_t)0, UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_SYNC, cnp->cn_cred, (int *)0, (struct proc *)0);
+	    IO_NODELOCKED|IO_SYNC, cnp->cn_cred, NULL, (struct proc *)0);
 	if (error) {
 		dp->i_e2fs_nlink--;
 		dp->i_flag |= IN_CHANGE;
@@ -1168,7 +1168,7 @@
 		ip->i_flag |= IN_CHANGE | IN_UPDATE;
 	} else
 		error = vn_rdwr(UIO_WRITE, vp, ap->a_target, len, (off_t)0,
-		    UIO_SYSSPACE, IO_NODELOCKED, ap->a_cnp->cn_cred, (int *)0,
+		    UIO_SYSSPACE, IO_NODELOCKED, ap->a_cnp->cn_cred, NULL,
 		    (struct proc *)0);
 	vput(vp);
 	return (error);
--- sys/ufs/ufs/ufs_lookup.c.DIST	Thu Jan 22 08:52:45 1998
+++ sys/ufs/ufs/ufs_lookup.c	Mon Jul 27 18:54:26 1998
@@ -1026,7 +1026,8 @@
 	off_t off, m;
 	struct dirtemplate dbuf;
 	struct direct *dp = (struct direct *)&dbuf;
-	int error, count, namlen;
+	int error, namlen;
+	size_t count;
 #define	MINDIRSIZ (sizeof (struct dirtemplate) / 2)
 
 	m = ip->i_ffs_size;
@@ -1103,7 +1104,7 @@
 		}
 		error = vn_rdwr(UIO_READ, vp, (caddr_t)&dirbuf,
 			sizeof (struct dirtemplate), (off_t)0, UIO_SYSSPACE,
-			IO_NODELOCKED, cred, (int *)0, (struct proc *)0);
+			IO_NODELOCKED, cred, NULL, (struct proc *)0);
 		if (error != 0)
 			break;
 #		if (BYTE_ORDER == LITTLE_ENDIAN)
--- sys/ufs/ufs/ufs_vnops.c.DIST	Thu Jan 22 08:52:47 1998
+++ sys/ufs/ufs/ufs_vnops.c	Mon Jul 27 18:54:26 1998
@@ -1463,7 +1463,7 @@
 		ip->i_flag |= IN_CHANGE | IN_UPDATE;
 	} else
 		error = vn_rdwr(UIO_WRITE, vp, ap->a_target, len, (off_t)0,
-		    UIO_SYSSPACE, IO_NODELOCKED, ap->a_cnp->cn_cred, (int *)0,
+		    UIO_SYSSPACE, IO_NODELOCKED, ap->a_cnp->cn_cred, NULL,
 		    (struct proc *)0);
 	vput(vp);
 	return (error);
--- sys/vm/vm_unix.c.DIST	Thu Jan 22 08:52:54 1998
+++ sys/vm/vm_unix.c	Mon Jul 27 18:54:26 1998
@@ -234,7 +234,7 @@
 		error = vn_rdwr(UIO_WRITE, vp,
 		    (caddr_t)&cseg, chdr->c_seghdrsize,
 		    offset, UIO_SYSSPACE,
-		    IO_NODELOCKED|IO_UNIT, cred, (int *) NULL, p);
+		    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 		if (error)
 			break;
 
@@ -242,7 +242,7 @@
 		error = vn_rdwr(UIO_WRITE, vp,
 		    (caddr_t)cseg.c_addr, (int)cseg.c_size,
 		    offset, UIO_USERSPACE,
-		    IO_NODELOCKED|IO_UNIT, cred, (int *) NULL, p);
+		    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 		if (error)
 			break;
 
--- sys/compat/linux/linux_exec.c.DIST	Sat Mar  7 05:12:42 1998
+++ sys/compat/linux/linux_exec.c	Mon Jul 27 18:54:27 1998
@@ -424,7 +424,8 @@
 	struct vnode *vp;
 	struct exec hdr;
 	struct exec_vmcmd_set vcset;
-	int rem, i, magic, error;
+	int i, magic, error;
+	size_t rem;
 
 	sg = stackgap_init(p->p_emul);
 	LINUX_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
--- sys/compat/ibcs2/ibcs2_exec.c.DIST	Sat Feb  1 07:49:48 1997
+++ sys/compat/ibcs2/ibcs2_exec.c	Mon Jul 27 18:54:27 1998
@@ -285,7 +285,8 @@
 	struct coff_scnhdr *sh;
 	int s_type;
 {
-	int i, pos, resid, siz, error;
+	int i, pos, error;
+	size_t siz, resid;
 	
 	pos = COFF_HDR_SIZE;
 	for (i = 0; i < fp->f_nscns; i++, pos += sizeof(struct coff_scnhdr)) {
@@ -299,7 +300,7 @@
 		}
 		siz -= resid;
 		if (siz != sizeof(struct coff_scnhdr)) {
-			DPRINTF(("incomplete read: hdr %d ask=%d, rem=%d got %d\n",
+			DPRINTF(("incomplete read: hdr %d ask=%d, rem=%u got %u\n",
 				 s_type, sizeof(struct coff_scnhdr),
 				 resid, siz));
 			return ENOEXEC;
@@ -415,7 +416,7 @@
 	/* load any shared libraries */
 	error = coff_find_section(p, epp->ep_vp, fp, &sh, COFF_STYP_SHLIB);
 	if (!error) {
-		int resid;
+		size_t resid;
 		struct coff_slhdr *slhdr;
 		char buf[128], *bufp;	/* FIXME */
 		int len = sh.s_size, path_index, entry_len;
@@ -467,8 +468,9 @@
 	char *path;
 	struct exec_package *epp;
 {
-	int error, siz, resid;
+	int error;
 	int taddr, tsize, daddr, dsize, offset;
+	size_t siz, resid;
 	struct nameidata nd;
 	struct coff_filehdr fh, *fhp = &fh;
 	struct coff_scnhdr sh, *shp = &sh;
@@ -497,7 +499,7 @@
 	}
 	siz -= resid;
 	if (siz != sizeof(struct coff_filehdr)) {
-	    DPRINTF(("coff_load_shlib: incomplete read: ask=%d, rem=%d got %d\n",
+	    DPRINTF(("coff_load_shlib: incomplete read: ask=%d, rem=%u got %u\n",
 		     sizeof(struct coff_filehdr), resid, siz));
 	    vrele(nd.ni_vp);
 	    return ENOEXEC;
@@ -603,7 +605,8 @@
 	struct xexec *xp;
 	struct xext *xep;
 {
-	int error, resid, nseg, i;
+	int error, nseg, i;
+	size_t resid;
 	long baddr, bsize;
 	struct xseg *xs;
 
--- sys/arch/alpha/alpha/vm_machdep.c.DIST	Sat Mar  7 05:07:08 1998
+++ sys/arch/alpha/alpha/vm_machdep.c	Mon Jul 27 18:54:28 1998
@@ -86,13 +86,13 @@
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cpustate, sizeof(cpustate),
 	    (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 
 	if (!error)
 		chdr->c_nseg++;
--- sys/arch/amiga/amiga/vm_machdep.c.DIST	Sat Mar  7 05:07:31 1998
+++ sys/arch/amiga/amiga/vm_machdep.c	Mon Jul 27 18:54:28 1998
@@ -281,13 +281,13 @@
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&md_core, sizeof(md_core),
 	    (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 
 	if (!error)
 		chdr->c_nseg++;
--- sys/arch/arm32/arm32/vm_machdep.c.DIST	Tue Apr 23 23:08:29 1996
+++ sys/arch/arm32/arm32/vm_machdep.c	Mon Jul 27 18:54:28 1998
@@ -544,13 +544,13 @@
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cpustate, sizeof(cpustate),
 	    (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
--- sys/arch/atari/atari/vm_machdep.c.DIST	Wed Dec 13 15:28:01 1995
+++ sys/arch/atari/atari/vm_machdep.c	Mon Jul 27 18:54:29 1998
@@ -272,13 +272,13 @@
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&md_core, sizeof(md_core),
 	    (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 
 	if (!error)
 		chdr->c_nseg++;
--- sys/arch/hp300/hp300/vm_machdep.c.DIST	Mon Sep  8 20:34:17 1997
+++ sys/arch/hp300/hp300/vm_machdep.c	Mon Jul 27 18:54:29 1998
@@ -176,13 +176,13 @@
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT, cred,
-	    (int *)0, p);
+	    NULL, p);
 	if (error)
 		return error;
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&md_core, sizeof(md_core),
 	    (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)0, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
--- sys/arch/i386/i386/vm_machdep.c.DIST	Wed Oct 16 11:12:06 1996
+++ sys/arch/i386/i386/vm_machdep.c	Mon Jul 27 18:54:29 1998
@@ -249,13 +249,13 @@
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT, cred,
-	    (int *)0, p);
+	    NULL, p);
 	if (error)
 		return error;
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&md_core, sizeof(md_core),
 	    (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)0, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
--- sys/arch/kbus/kbus/vm_machdep.c.DIST	Mon Oct 13 19:25:34 1997
+++ sys/arch/kbus/kbus/vm_machdep.c	Mon Jul 27 18:54:29 1998
@@ -464,13 +464,13 @@
 	cseg.c_size = chdr->c_cpusize;
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&md_core, sizeof(md_core),
 	    (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (!error)
 		chdr->c_nseg++;
 
--- sys/arch/mac68k/mac68k/vm_machdep.c.DIST	Sat Mar  7 05:09:55 1998
+++ sys/arch/mac68k/mac68k/vm_machdep.c	Mon Jul 27 18:54:30 1998
@@ -214,13 +214,13 @@
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&md_core, sizeof(md_core),
 	    (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 
 	if (!error)
 		chdr->c_nseg++;
--- sys/arch/mips/mips/vm_machdep.c.DIST	Wed Mar 18 17:41:50 1998
+++ sys/arch/mips/mips/vm_machdep.c	Mon Jul 27 18:54:30 1998
@@ -213,7 +213,7 @@
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
@@ -222,7 +222,7 @@
 			(off_t)chdr -> c_cpusize,
 	    		(off_t)(chdr->c_hdrsize + chdr->c_seghdrsize),
 			UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT,
-			cred, (int *)NULL, p);
+			cred, NULL, p);
 
 	if (!error)
 		chdr->c_nseg++;
--- sys/arch/mvme68k/mvme68k/vm_machdep.c.DIST	Sun Mar 30 10:24:17 1997
+++ sys/arch/mvme68k/mvme68k/vm_machdep.c	Mon Jul 27 18:54:30 1998
@@ -144,8 +144,7 @@
 	struct core *chdr;
 {
 	return (vn_rdwr(UIO_WRITE, vp, (caddr_t) p->p_addr, USPACE,
-	    (off_t)0, UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT, cred, (int *) NULL,
-	    p));
+	    (off_t)0, UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT, cred, NULL, p));
 }
 
 /*
--- sys/arch/mvme88k/mvme88k/vm_machdep.c.DIST	Mon Mar  3 06:21:54 1997
+++ sys/arch/mvme88k/mvme88k/vm_machdep.c	Mon Jul 27 18:54:30 1998
@@ -174,8 +174,7 @@
 {
 
 	return (vn_rdwr(UIO_WRITE, vp, (caddr_t) p->p_addr, ctob(UPAGES),
-	    (off_t)0, UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT, cred, (int *)NULL,
-	    p));
+	    (off_t)0, UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT, cred, NULL, p));
 }
 
 /*
--- sys/arch/pc532/pc532/vm_machdep.c.DIST	Tue Oct 17 20:51:23 1995
+++ sys/arch/pc532/pc532/vm_machdep.c	Mon Jul 27 18:54:31 1998
@@ -195,13 +195,13 @@
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cpustate, sizeof(cpustate),
 	    (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 
 	if (!error)
 		chdr->c_nseg++;
--- sys/arch/pmax/pmax/vm_machdep.c.DIST	Mon Sep  8 20:38:06 1997
+++ sys/arch/pmax/pmax/vm_machdep.c	Mon Jul 27 18:54:31 1998
@@ -217,7 +217,7 @@
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
@@ -226,7 +226,7 @@
 			(off_t)chdr -> c_cpusize,
 	    		(off_t)(chdr->c_hdrsize + chdr->c_seghdrsize),
 			UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT,
-			cred, (int *)NULL, p);
+			cred, NULL, p);
 
 	if (!error)
 		chdr->c_nseg++;
--- sys/arch/sparc/sparc/vm_machdep.c.DIST	Mon Sep  8 20:39:10 1997
+++ sys/arch/sparc/sparc/vm_machdep.c	Mon Jul 27 18:54:31 1998
@@ -516,13 +516,13 @@
 	cseg.c_size = chdr->c_cpusize;
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&md_core, sizeof(md_core),
 	    (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (!error)
 		chdr->c_nseg++;
 
--- sys/arch/sun3/sun3/vm_machdep.c.DIST	Wed Jan 15 14:04:36 1997
+++ sys/arch/sun3/sun3/vm_machdep.c	Mon Jul 27 18:54:31 1998
@@ -257,13 +257,13 @@
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)0, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&md_core, sizeof(md_core),
 	    (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)0, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
--- sys/arch/vax/vax/vm_machdep.c.DIST	Thu Oct  9 11:33:48 1997
+++ sys/arch/vax/vax/vm_machdep.c	Mon Jul 27 18:54:32 1998
@@ -507,13 +507,13 @@
 
 	error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&cseg, chdr->c_seghdrsize,
 	    (off_t)chdr->c_hdrsize, UIO_SYSSPACE,
-	    IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+	    IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 	if (error)
 		return error;
 
         error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&state, sizeof(state),
             (off_t)(chdr->c_hdrsize + chdr->c_seghdrsize), UIO_SYSSPACE,
-            IO_NODELOCKED|IO_UNIT, cred, (int *)NULL, p);
+            IO_NODELOCKED|IO_UNIT, cred, NULL, p);
 
         if (!error)
                 chdr->c_nseg++;
--- sys/arch/wgrisc/wgrisc/vm_machdep.c.DIST	Thu Feb  6 02:02:46 1997
+++ sys/arch/wgrisc/wgrisc/vm_machdep.c	Mon Jul 27 18:54:32 1998
@@ -197,8 +197,7 @@
 		CPU_SaveCurFPState(p);
 
 	return (vn_rdwr(UIO_WRITE, vp, (caddr_t)p->p_addr, ctob(UPAGES),
-	    (off_t)0, UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT, cred, (int *)NULL,
-	    p));
+	    (off_t)0, UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT, cred, NULL, p));
 }
 
 /*
