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));
}

/*