diff --git a/sys/amd64/linux32/linux32_machdep.c b/sys/amd64/linux32/linux32_machdep.c index 42ea070..af88fa9 100644 --- a/sys/amd64/linux32/linux32_machdep.c +++ b/sys/amd64/linux32/linux32_machdep.c @@ -264,7 +264,7 @@ linux32_copyinuio(struct l_iovec32 *iovp, l_ulong iovcnt, struct uio **uiop) uio->uio_offset = -1; uio->uio_resid = 0; for (i = 0; i < iovcnt; i++) { - if (iov->iov_len > INT_MAX - uio->uio_resid) { + if (iov->iov_len > SSIZE_MAX - uio->uio_resid) { free(uio, M_IOV); return (EINVAL); } diff --git a/sys/cddl/compat/opensolaris/sys/vnode.h b/sys/cddl/compat/opensolaris/sys/vnode.h index 44741d2..c4ea455 100644 --- a/sys/cddl/compat/opensolaris/sys/vnode.h +++ b/sys/cddl/compat/opensolaris/sys/vnode.h @@ -210,7 +210,8 @@ zfs_vn_rdwr(enum uio_rw rw, vnode_t *vp, caddr_t base, ssize_t len, ssize_t *residp) { struct thread *td = curthread; - int error, vfslocked, resid; + int error, vfslocked; + ssize_t resid; ASSERT(ioflag == 0); ASSERT(ulimit == RLIM64_INFINITY); diff --git a/sys/compat/ndis/subr_ndis.c b/sys/compat/ndis/subr_ndis.c index f7f9c67..ab98267 100644 --- a/sys/compat/ndis/subr_ndis.c +++ b/sys/compat/ndis/subr_ndis.c @@ -2974,7 +2974,8 @@ NdisMapFile(status, mappedbuffer, filehandle) struct thread *td = curthread; linker_file_t lf; caddr_t kldstart; - int error, resid, vfslocked; + int error, vfslocked; + ssize_t resid; struct vnode *vp; if (filehandle == NULL) { diff --git a/sys/dev/iscsi/initiator/isc_soc.c b/sys/dev/iscsi/initiator/isc_soc.c index 0150ce7..d76531a 100644 --- a/sys/dev/iscsi/initiator/isc_soc.c +++ b/sys/dev/iscsi/initiator/isc_soc.c @@ -322,14 +322,15 @@ so_getbhs(isc_session_t *sp) error = soreceive(sp->soc, NULL, uio, 0, 0, &flags); if(error) - debug(2, "error=%d so_error=%d uio->uio_resid=%d iov.iov_len=%zd", + debug(2, "error=%d so_error=%d uio->uio_resid=%jd iov.iov_len=%zd", error, - sp->soc->so_error, uio->uio_resid, iov->iov_len); + sp->soc->so_error, (intmax_t)uio->uio_resid, iov->iov_len); if(!error && (uio->uio_resid > 0)) { error = EPIPE; // was EAGAIN - debug(2, "error=%d so_error=%d uio->uio_resid=%d iov.iov_len=%zd so_state=%x", + debug(2, "error=%d so_error=%d uio->uio_resid=%jd iov.iov_len=%zd so_state=%x", error, - sp->soc->so_error, uio->uio_resid, iov->iov_len, sp->soc->so_state); + sp->soc->so_error, (intmax_t)uio->uio_resid, iov->iov_len, + sp->soc->so_state); } return error; @@ -442,8 +443,8 @@ so_recv(isc_session_t *sp, pduq_t *pq) } mp = NULL; - sdebug(4, "uio_resid=0x%x itt=0x%x bp=%p bo=%x len=%x/%x", - uio->uio_resid, + sdebug(4, "uio_resid=0x%jx itt=0x%x bp=%p bo=%x len=%x/%x", + (intmax_t)uio->uio_resid, ntohl(pq->pdu.ipdu.bhs.itt), csio->data_ptr, ntohl(rcmd->bo), ntohl(cmd->edtlen), pq->pdu.ds_len); } diff --git a/sys/dev/sound/midi/midi.c b/sys/dev/sound/midi/midi.c index 4b33808..7ba340a 100644 --- a/sys/dev/sound/midi/midi.c +++ b/sys/dev/sound/midi/midi.c @@ -852,8 +852,8 @@ midi_write(struct cdev *i_dev, struct uio *uio, int ioflag) used = MIN(MIDIQ_AVAIL(m->outq), uio->uio_resid); used = MIN(used, MIDI_WSIZE); - MIDI_DEBUG(5, printf("midiout: resid %d len %jd avail %jd\n", - uio->uio_resid, (intmax_t)MIDIQ_LEN(m->outq), + MIDI_DEBUG(5, printf("midiout: resid %jd len %jd avail %jd\n", + (intmax_t)uio->uio_resid, (intmax_t)MIDIQ_LEN(m->outq), (intmax_t)MIDIQ_AVAIL(m->outq))); diff --git a/sys/dev/sound/midi/sequencer.c b/sys/dev/sound/midi/sequencer.c index 5bb030d..276e208 100644 --- a/sys/dev/sound/midi/sequencer.c +++ b/sys/dev/sound/midi/sequencer.c @@ -878,8 +878,8 @@ seq_read(struct cdev *i_dev, struct uio *uio, int ioflag) if (scp == NULL) return ENXIO; - SEQ_DEBUG(7, printf("seq_read: unit %d, resid %d.\n", - scp->unit, uio->uio_resid)); + SEQ_DEBUG(7, printf("seq_read: unit %d, resid %jd.\n", + scp->unit, (intmax_t)uio->uio_resid)); mtx_lock(&scp->seq_lock); if ((scp->fflags & FREAD) == 0) { @@ -936,8 +936,8 @@ seq_read(struct cdev *i_dev, struct uio *uio, int ioflag) retval = 0; err1: mtx_unlock(&scp->seq_lock); - SEQ_DEBUG(6, printf("seq_read: ret %d, resid %d.\n", - retval, uio->uio_resid)); + SEQ_DEBUG(6, printf("seq_read: ret %d, resid %jd.\n", + retval, (intmax_t)uio->uio_resid)); return retval; } @@ -950,8 +950,8 @@ seq_write(struct cdev *i_dev, struct uio *uio, int ioflag) int retval; int used; - SEQ_DEBUG(7, printf("seq_write: unit %d, resid %d.\n", - scp->unit, uio->uio_resid)); + SEQ_DEBUG(7, printf("seq_write: unit %d, resid %jd.\n", + scp->unit, (intmax_t)uio->uio_resid)); if (scp == NULL) return ENXIO; @@ -995,8 +995,8 @@ seq_write(struct cdev *i_dev, struct uio *uio, int ioflag) used = MIN(uio->uio_resid, 4); - SEQ_DEBUG(8, printf("seqout: resid %d len %jd avail %jd\n", - uio->uio_resid, (intmax_t)MIDIQ_LEN(scp->out_q), + SEQ_DEBUG(8, printf("seqout: resid %jd len %jd avail %jd\n", + (intmax_t)uio->uio_resid, (intmax_t)MIDIQ_LEN(scp->out_q), (intmax_t)MIDIQ_AVAIL(scp->out_q))); if (used != 4) { @@ -1115,8 +1115,8 @@ seq_write(struct cdev *i_dev, struct uio *uio, int ioflag) err0: SEQ_DEBUG(6, - printf("seq_write done: leftover buffer length %d retval %d\n", - uio->uio_resid, retval)); + printf("seq_write done: leftover buffer length %jd retval %d\n", + (intmax_t)uio->uio_resid, retval)); mtx_unlock(&scp->seq_lock); return retval; } diff --git a/sys/fs/coda/coda_psdev.c b/sys/fs/coda/coda_psdev.c index b55a5f4..80cd3f1 100644 --- a/sys/fs/coda/coda_psdev.c +++ b/sys/fs/coda/coda_psdev.c @@ -331,8 +331,8 @@ vc_write(struct cdev *dev, struct uio *uiop, int flag) * Get the rest of the data. */ if (vmp->vm_outSize < uiop->uio_resid) { - myprintf(("vcwrite: more data than asked for (%d < %d)\n", - vmp->vm_outSize, uiop->uio_resid)); + myprintf(("vcwrite: more data than asked for (%d < %jd)\n", + vmp->vm_outSize, (intmax_t)uiop->uio_resid)); /* * Notify caller of the error. diff --git a/sys/fs/coda/coda_vnops.c b/sys/fs/coda/coda_vnops.c index c5c6cb1..3e7941a 100644 --- a/sys/fs/coda/coda_vnops.c +++ b/sys/fs/coda/coda_vnops.c @@ -331,8 +331,8 @@ coda_rdwr(struct vnode *vp, struct uio *uiop, enum uio_rw rw, int ioflag, int error = 0; MARK_ENTRY(CODA_RDWR_STATS); - CODADEBUG(CODA_RDWR, myprintf(("coda_rdwr(%d, %p, %d, %lld, %d)\n", - rw, (void *)uiop->uio_iov->iov_base, uiop->uio_resid, + CODADEBUG(CODA_RDWR, myprintf(("coda_rdwr(%d, %p, %jd, %lld, %d)\n", + rw, (void *)uiop->uio_iov->iov_base, (intmax_t)uiop->uio_resid, (long long)uiop->uio_offset, uiop->uio_segflg));); /* @@ -1470,8 +1470,8 @@ coda_readdir(struct vop_readdir_args *ap) int opened_internally = 0; MARK_ENTRY(CODA_READDIR_STATS); - CODADEBUG(CODA_READDIR, myprintf(("coda_readdir(%p, %d, %lld, %d)\n", - (void *)uiop->uio_iov->iov_base, uiop->uio_resid, + CODADEBUG(CODA_READDIR, myprintf(("coda_readdir(%p, %jd, %lld, %d)\n", + (void *)uiop->uio_iov->iov_base, (intmax_t)uiop->uio_resid, (long long)uiop->uio_offset, uiop->uio_segflg));); /* diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index e62af02..5c3a4c1 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -546,7 +546,7 @@ msdosfs_read(ap) int error = 0; int blsize; int isadir; - int orig_resid; + ssize_t orig_resid; u_int n; u_long diff; u_long on; @@ -646,7 +646,7 @@ msdosfs_write(ap) { int n; int croffset; - int resid; + ssize_t resid; u_long osize; int error = 0; u_long count; diff --git a/sys/fs/nfs/nfsport.h b/sys/fs/nfs/nfsport.h index 5712eae..a7c4eb2 100644 --- a/sys/fs/nfs/nfsport.h +++ b/sys/fs/nfs/nfsport.h @@ -628,7 +628,7 @@ int nfsmsleep(void *, void *, int, const char *, struct timespec *); * Define whatever it takes to do a vn_rdwr(). */ #define NFSD_RDWR(r, v, b, l, o, s, i, c, a, p) \ - vn_rdwr((r), (v), (b), (l), (o), (s), (i), (c), NULL, (int *)(a), (p)) + vn_rdwr((r), (v), (b), (l), (o), (s), (i), (c), NULL, (ssize_t *)(a), (p)) /* * Macros for handling memory for different BSDen. diff --git a/sys/fs/nfsclient/nfs_clbio.c b/sys/fs/nfsclient/nfs_clbio.c index b355e60..7aaaae8 100644 --- a/sys/fs/nfsclient/nfs_clbio.c +++ b/sys/fs/nfsclient/nfs_clbio.c @@ -1701,7 +1701,7 @@ ncl_doio(struct vnode *vp, struct buf *bp, struct ucred *cr, struct thread *td) * writes, but that is not possible any longer. */ int nread = bp->b_bcount - uiop->uio_resid; - int left = uiop->uio_resid; + ssize_t left = uiop->uio_resid; if (left > 0) bzero((char *)bp->b_data + nread, left); diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index a1f2701..cd93ce8 100644 --- a/sys/fs/nfsclient/nfs_clvnops.c +++ b/sys/fs/nfsclient/nfs_clvnops.c @@ -1995,7 +1995,8 @@ nfs_readdir(struct vop_readdir_args *ap) struct vnode *vp = ap->a_vp; struct nfsnode *np = VTONFS(vp); struct uio *uio = ap->a_uio; - int tresid, error = 0; + ssize_t tresid; + int error = 0; struct vattr vattr; if (vp->v_type != VDIR) diff --git a/sys/fs/pseudofs/pseudofs_vnops.c b/sys/fs/pseudofs/pseudofs_vnops.c index 8421d17..a09ba2e 100644 --- a/sys/fs/pseudofs/pseudofs_vnops.c +++ b/sys/fs/pseudofs/pseudofs_vnops.c @@ -591,7 +591,7 @@ pfs_read(struct vop_read_args *va) struct proc *proc; struct sbuf *sb = NULL; int error, locked; - unsigned int buflen, offset, resid; + size_t buflen, offset, resid; PFS_TRACE(("%s", pn->pn_name)); pfs_assert_not_owned(pn); diff --git a/sys/fs/udf/udf_vnops.c b/sys/fs/udf/udf_vnops.c index 3201000..760c414 100644 --- a/sys/fs/udf/udf_vnops.c +++ b/sys/fs/udf/udf_vnops.c @@ -439,8 +439,9 @@ udf_read(struct vop_read_args *ap) uint8_t *data; daddr_t lbn, rablock; off_t diff, fsize; + ssize_t n; int error = 0; - long size, n, on; + long size, on; if (uio->uio_resid == 0) return (0); diff --git a/sys/gnu/fs/ext2fs/ext2_lookup.c b/sys/gnu/fs/ext2fs/ext2_lookup.c index 261d85f..b45fe87 100644 --- a/sys/gnu/fs/ext2fs/ext2_lookup.c +++ b/sys/gnu/fs/ext2fs/ext2_lookup.c @@ -978,7 +978,8 @@ ext2_dirempty(ip, parentino, cred) off_t off; struct dirtemplate dbuf; struct ext2_dir_entry_2 *dp = (struct ext2_dir_entry_2 *)&dbuf; - int error, count, namlen; + int error, namlen; + ssize_t count; #define MINDIRSIZ (sizeof (struct dirtemplate) / 2) for (off = 0; off < ip->i_size; off += dp->rec_len) { @@ -1048,8 +1049,8 @@ ext2_checkpath(source, target, cred) } error = vn_rdwr(UIO_READ, vp, (caddr_t)&dirbuf, sizeof (struct dirtemplate), (off_t)0, UIO_SYSSPACE, - IO_NODELOCKED | IO_NOMACCHECK, cred, NOCRED, (int *)0, - (struct thread *)0); + IO_NODELOCKED | IO_NOMACCHECK, cred, NOCRED, NULL, + NULL); if (error != 0) break; namlen = dirbuf.dotdot_type; /* like ufs little-endian */ diff --git a/sys/gnu/fs/ext2fs/ext2_vnops.c b/sys/gnu/fs/ext2fs/ext2_vnops.c index 248c433..f94f1cd 100644 --- a/sys/gnu/fs/ext2fs/ext2_vnops.c +++ b/sys/gnu/fs/ext2fs/ext2_vnops.c @@ -1048,8 +1048,8 @@ abortit: error = vn_rdwr(UIO_READ, fvp, (caddr_t)&dirbuf, sizeof (struct dirtemplate), (off_t)0, UIO_SYSSPACE, IO_NODELOCKED | IO_NOMACCHECK, - tcnp->cn_cred, NOCRED, (int *)0, - (struct thread *)0); + tcnp->cn_cred, NOCRED, NULL, NULL); + if (error == 0) { /* Like ufs little-endian: */ namlen = dirbuf.dotdot_type; @@ -1066,8 +1066,7 @@ abortit: (off_t)0, UIO_SYSSPACE, IO_NODELOCKED | IO_SYNC | IO_NOMACCHECK, tcnp->cn_cred, - NOCRED, (int *)0, - (struct thread *)0); + NOCRED, NULL, NULL); cache_purge(fdvp); } } @@ -1203,7 +1202,7 @@ ext2_mkdir(ap) error = vn_rdwr(UIO_WRITE, tvp, (caddr_t)&dirtemplate, sizeof (dirtemplate), (off_t)0, UIO_SYSSPACE, IO_NODELOCKED | IO_SYNC | IO_NOMACCHECK, cnp->cn_cred, NOCRED, - (int *)0, (struct thread *)0); + NULL, NULL); if (error) { dp->i_nlink--; dp->i_flag |= IN_CHANGE; @@ -1340,7 +1339,7 @@ ext2_symlink(ap) } else error = vn_rdwr(UIO_WRITE, vp, ap->a_target, len, (off_t)0, UIO_SYSSPACE, IO_NODELOCKED | IO_NOMACCHECK, - ap->a_cnp->cn_cred, NOCRED, (int *)0, (struct thread *)0); + ap->a_cnp->cn_cred, NOCRED, NULL, NULL); if (error) vput(vp); return (error); diff --git a/sys/kern/kern_acct.c b/sys/kern/kern_acct.c index 7ec74a2..049600a 100644 --- a/sys/kern/kern_acct.c +++ b/sys/kern/kern_acct.c @@ -436,7 +436,7 @@ acct_process(struct thread *td) vfslocked = VFS_LOCK_GIANT(acct_vp->v_mount); ret = vn_rdwr(UIO_WRITE, acct_vp, (caddr_t)&acct, sizeof (acct), (off_t)0, UIO_SYSSPACE, IO_APPEND|IO_UNIT, acct_cred, NOCRED, - (int *)0, td); + NULL, td); VFS_UNLOCK_GIANT(vfslocked); sx_sunlock(&acct_sx); return (ret); diff --git a/sys/kern/kern_ctf.c b/sys/kern/kern_ctf.c index 758ad81..c381678 100644 --- a/sys/kern/kern_ctf.c +++ b/sys/kern/kern_ctf.c @@ -68,7 +68,7 @@ link_elf_ctf_get(linker_file_t lf, linker_ctf_t *lc) int flags; int i; int nbytes; - int resid; + ssize_t resid; int vfslocked; size_t sz; struct nameidata nd; diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index fbfd6cf..727e1c0 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -1739,7 +1739,8 @@ linker_hints_lookup(const char *path, int pathlen, const char *modname, struct vattr vattr, mattr; u_char *hints = NULL; u_char *cp, *recptr, *bufend, *result, *best, *pathbuf, *sep; - int error, ival, bestver, *intp, reclen, found, flags, clen, blen; + int error, ival, bestver, *intp, found, flags, clen, blen; + ssize_t reclen; int vfslocked = 0; result = NULL; @@ -1784,7 +1785,7 @@ linker_hints_lookup(const char *path, int pathlen, const char *modname, VFS_UNLOCK_GIANT(vfslocked); nd.ni_vp = NULL; if (reclen != 0) { - printf("can't read %d\n", reclen); + printf("can't read %jd\n", (intmax_t)reclen); goto bad; } intp = (int *)hints; diff --git a/sys/kern/kern_subr.c b/sys/kern/kern_subr.c index ce1afd2..ab65204 100644 --- a/sys/kern/kern_subr.c +++ b/sys/kern/kern_subr.c @@ -204,14 +204,14 @@ out: int uiomove_frombuf(void *buf, int buflen, struct uio *uio) { - unsigned int offset, n; + size_t offset, n; if (uio->uio_offset < 0 || uio->uio_resid < 0 || (offset = uio->uio_offset) != uio->uio_offset) return (EINVAL); if (buflen <= 0 || offset >= buflen) return (0); - if ((n = buflen - offset) > INT_MAX) + if ((n = buflen - offset) > SSIZE_MAX) return (EINVAL); return (uiomove((char *)buf + offset, n, uio)); } @@ -545,7 +545,7 @@ copyinuio(struct iovec *iovp, u_int iovcnt, struct uio **uiop) uio->uio_offset = -1; uio->uio_resid = 0; for (i = 0; i < iovcnt; i++) { - if (iov->iov_len > INT_MAX - uio->uio_resid) { + if (iov->iov_len > SSIZE_MAX - uio->uio_resid) { free(uio, M_IOV); return (EINVAL); } diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c index 57f0206..9143b9e 100644 --- a/sys/kern/link_elf.c +++ b/sys/kern/link_elf.c @@ -574,7 +574,8 @@ link_elf_load_file(linker_class_t cls, const char* filename, Elf_Addr base_vaddr; Elf_Addr base_vlimit; int error = 0; - int resid, flags; + ssize_t resid; + int flags; elf_file_t ef; linker_file_t lf; Elf_Shdr *shdr; diff --git a/sys/kern/link_elf_obj.c b/sys/kern/link_elf_obj.c index 2adbe19..c161550 100644 --- a/sys/kern/link_elf_obj.c +++ b/sys/kern/link_elf_obj.c @@ -409,7 +409,8 @@ link_elf_load_file(linker_class_t cls, const char *filename, vm_offset_t mapbase; size_t mapsize; int error = 0; - int resid, flags; + ssize_t resid; + int flags; elf_file_t ef; linker_file_t lf; int symtabindex; diff --git a/sys/kern/sys_generic.c b/sys/kern/sys_generic.c index 616c5b7..8c8f2f0 100644 --- a/sys/kern/sys_generic.c +++ b/sys/kern/sys_generic.c @@ -141,7 +141,7 @@ read(td, uap) struct iovec aiov; int error; - if (uap->nbyte > INT_MAX) + if (uap->nbyte > SSIZE_MAX) return (EINVAL); aiov.iov_base = uap->buf; aiov.iov_len = uap->nbyte; @@ -174,7 +174,7 @@ pread(td, uap) struct iovec aiov; int error; - if (uap->nbyte > INT_MAX) + if (uap->nbyte > SSIZE_MAX) return (EINVAL); aiov.iov_base = uap->buf; aiov.iov_len = uap->nbyte; @@ -350,7 +350,7 @@ write(td, uap) struct iovec aiov; int error; - if (uap->nbyte > INT_MAX) + if (uap->nbyte > SSIZE_MAX) return (EINVAL); aiov.iov_base = (void *)(uintptr_t)uap->buf; aiov.iov_len = uap->nbyte; @@ -383,7 +383,7 @@ pwrite(td, uap) struct iovec aiov; int error; - if (uap->nbyte > INT_MAX) + if (uap->nbyte > SSIZE_MAX) return (EINVAL); aiov.iov_base = (void *)(uintptr_t)uap->buf; aiov.iov_len = uap->nbyte; diff --git a/sys/kern/tty_ttydisc.c b/sys/kern/tty_ttydisc.c index 634b58e..e3c926a 100644 --- a/sys/kern/tty_ttydisc.c +++ b/sys/kern/tty_ttydisc.c @@ -180,7 +180,7 @@ static int ttydisc_read_raw_no_timer(struct tty *tp, struct uio *uio, int ioflag) { size_t vmin = tp->t_termios.c_cc[VMIN]; - int oresid = uio->uio_resid; + ssize_t oresid = uio->uio_resid; int error; MPASS(tp->t_termios.c_cc[VTIME] == 0); @@ -265,7 +265,7 @@ static int ttydisc_read_raw_interbyte_timer(struct tty *tp, struct uio *uio, int ioflag) { size_t vmin = tp->t_termios.c_cc[VMIN]; - int oresid = uio->uio_resid; + ssize_t oresid = uio->uio_resid; int error; MPASS(tp->t_termios.c_cc[VMIN] != 0); @@ -1150,7 +1150,7 @@ int ttydisc_getc_uio(struct tty *tp, struct uio *uio) { int error = 0; - int obytes = uio->uio_resid; + ssize_t obytes = uio->uio_resid; size_t len; char buf[TTY_STACKBUF]; diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c index a5ddd88..72bc79b 100644 --- a/sys/kern/uipc_mbuf.c +++ b/sys/kern/uipc_mbuf.c @@ -1719,7 +1719,8 @@ struct mbuf * m_uiotombuf(struct uio *uio, int how, int len, int align, int flags) { struct mbuf *m, *mb; - int error, length, total; + int error, length; + ssize_t total; int progress = 0; /* diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 2abdc2c..7b1902b 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -839,7 +839,8 @@ sosend_copyin(struct uio *uio, struct mbuf **retmp, int atomic, long *space, int flags) { struct mbuf *m, **mp, *top; - long len, resid; + long len; + ssize_t resid; int error; #ifdef ZERO_COPY_SOCKETS int cow_send; @@ -939,7 +940,8 @@ int sosend_dgram(struct socket *so, struct sockaddr *addr, struct uio *uio, struct mbuf *top, struct mbuf *control, int flags, struct thread *td) { - long space, resid; + long space; + ssize_t resid; int clen = 0, error, dontroute; #ifdef ZERO_COPY_SOCKETS int atomic = sosendallatonce(so) || top; @@ -1113,7 +1115,8 @@ int sosend_generic(struct socket *so, struct sockaddr *addr, struct uio *uio, struct mbuf *top, struct mbuf *control, int flags, struct thread *td) { - long space, resid; + long space; + ssize_t resid; int clen = 0, error, dontroute; int atomic = sosendallatonce(so) || top; @@ -1408,11 +1411,12 @@ soreceive_generic(struct socket *so, struct sockaddr **psa, struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp) { struct mbuf *m, **mp; - int flags, len, error, offset; + int flags, error, offset; + ssize_t len; struct protosw *pr = so->so_proto; struct mbuf *nextrecord; int moff, type = 0; - int orig_resid = uio->uio_resid; + ssize_t orig_resid = uio->uio_resid; mp = mp0; if (psa != NULL) @@ -1867,7 +1871,8 @@ soreceive_dgram(struct socket *so, struct sockaddr **psa, struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp) { struct mbuf *m, *m2; - int flags, len, error; + int flags, error; + ssize_t len; struct protosw *pr = so->so_proto; struct mbuf *nextrecord; diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index f40f48b..a6e9ce2 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -729,8 +729,8 @@ kern_sendit(td, s, mp, flags, control, segflg) struct uio auio; struct iovec *iov; struct socket *so; - int i; - int len, error; + int i, error; + ssize_t len; #ifdef KTRACE struct uio *ktruio = NULL; #endif @@ -920,7 +920,7 @@ kern_recvit(td, s, mp, fromseg, controlp) struct uio auio; struct iovec *iov; int i; - socklen_t len; + ssize_t len; int error; struct mbuf *m, *control = 0; caddr_t ctlbuf; @@ -972,19 +972,19 @@ kern_recvit(td, s, mp, fromseg, controlp) &mp->msg_flags); CURVNET_RESTORE(); if (error) { - if (auio.uio_resid != (int)len && (error == ERESTART || + if (auio.uio_resid != len && (error == ERESTART || error == EINTR || error == EWOULDBLOCK)) error = 0; } #ifdef KTRACE if (ktruio != NULL) { - ktruio->uio_resid = (int)len - auio.uio_resid; + ktruio->uio_resid = len - auio.uio_resid; ktrgenio(s, UIO_READ, ktruio, error); } #endif if (error) goto out; - td->td_retval[0] = (int)len - auio.uio_resid; + td->td_retval[0] = len - auio.uio_resid; if (mp->msg_name) { len = mp->msg_namelen; if (len <= 0 || fromsa == 0) @@ -2057,7 +2057,8 @@ retry_space: else if (uap->flags & SF_NODISKIO) error = EBUSY; else { - int bsize, resid; + int bsize; + ssize_t resid; /* * Ensure that our page is still around @@ -2468,7 +2469,8 @@ sctp_generic_sendmsg_iov(td, uap) struct socket *so; struct file *fp = NULL; int use_rcvinfo = 1; - int error=0, len, i; + int error=0, i; + ssize_t len; struct sockaddr *to = NULL; #ifdef KTRACE struct uio *ktruio = NULL; @@ -2583,7 +2585,8 @@ sctp_generic_recvmsg(td, uap) struct file *fp = NULL; struct sockaddr *fromsa; int fromlen; - int len, i, msg_flags; + ssize_t len; + int i, msg_flags; int error = 0; #ifdef KTRACE struct uio *ktruio = NULL; @@ -2648,7 +2651,7 @@ sctp_generic_recvmsg(td, uap) fromsa, fromlen, &msg_flags, (struct sctp_sndrcvinfo *)&sinfo, 1); if (error) { - if (auio.uio_resid != (int)len && (error == ERESTART || + if (auio.uio_resid != len && (error == ERESTART || error == EINTR || error == EWOULDBLOCK)) error = 0; } else { @@ -2657,13 +2660,13 @@ sctp_generic_recvmsg(td, uap) } #ifdef KTRACE if (ktruio != NULL) { - ktruio->uio_resid = (int)len - auio.uio_resid; + ktruio->uio_resid = len - auio.uio_resid; ktrgenio(uap->sd, UIO_READ, ktruio, error); } #endif /* KTRACE */ if (error) goto out; - td->td_retval[0] = (int)len - auio.uio_resid; + td->td_retval[0] = len - auio.uio_resid; if (fromlen && uap->from) { len = fromlen; @@ -2671,7 +2674,7 @@ sctp_generic_recvmsg(td, uap) len = 0; else { len = MIN(len, fromsa->sa_len); - error = copyout(fromsa, uap->from, (unsigned)len); + error = copyout(fromsa, uap->from, (size_t)len); if (error) goto out; } diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c index 5f024a8..3aef955 100644 --- a/sys/kern/vfs_extattr.c +++ b/sys/kern/vfs_extattr.c @@ -180,7 +180,7 @@ extattr_set_vp(struct vnode *vp, int attrnamespace, const char *attrname, auio.uio_iov = &aiov; auio.uio_iovcnt = 1; auio.uio_offset = 0; - if (nbytes > INT_MAX) { + if (nbytes > SSIZE_MAX) { error = EINVAL; goto done; } @@ -354,7 +354,7 @@ extattr_get_vp(struct vnode *vp, int attrnamespace, const char *attrname, auio.uio_iov = &aiov; auio.uio_iovcnt = 1; auio.uio_offset = 0; - if (nbytes > INT_MAX) { + if (nbytes > SSIZE_MAX) { error = EINVAL; goto done; } @@ -670,7 +670,7 @@ extattr_list_vp(struct vnode *vp, int attrnamespace, void *data, auio.uio_iov = &aiov; auio.uio_iovcnt = 1; auio.uio_offset = 0; - if (nbytes > INT_MAX) { + if (nbytes > SSIZE_MAX) { error = EINVAL; goto done; } diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index 9fa2a4c..e3e76e8 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -2589,7 +2589,7 @@ kern_readlinkat(struct thread *td, int fd, char *path, enum uio_seg pathseg, struct nameidata nd; int vfslocked; - if (count > INT_MAX) + if (count > SSIZE_MAX) return (EINVAL); NDINIT_AT(&nd, LOOKUP, NOFOLLOW | LOCKSHARED | LOCKLEAF | MPSAFE | @@ -4057,7 +4057,7 @@ kern_getdirentries(struct thread *td, int fd, char *buf, u_int count, int error, eofflag; AUDIT_ARG(fd, fd); - if (count > INT_MAX) + if ((auio.uio_resid = count) > SSIZE_MAX) return (EINVAL); if ((error = getvnode(td->td_proc->p_fd, fd, &fp)) != 0) return (error); @@ -4080,7 +4080,6 @@ unionread: auio.uio_rw = UIO_READ; auio.uio_segflg = UIO_USERSPACE; auio.uio_td = td; - auio.uio_resid = count; vn_lock(vp, LK_SHARED | LK_RETRY); AUDIT_ARG(vnode, vp, ARG_VNODE1); loff = auio.uio_offset = fp->f_offset; diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 9ffb6a6..490eea5 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -358,7 +358,7 @@ vn_rdwr(rw, vp, base, len, offset, segflg, ioflg, active_cred, file_cred, int ioflg; struct ucred *active_cred; struct ucred *file_cred; - int *aresid; + ssize_t *aresid; struct thread *td; { struct uio auio; @@ -455,7 +455,7 @@ vn_rdwr_inchunks(rw, vp, base, len, offset, segflg, ioflg, active_cred, struct thread *td; { int error = 0; - int iaresid; + ssize_t iaresid; VFS_ASSERT_GIANT(vp->v_mount); diff --git a/sys/net/if_tap.c b/sys/net/if_tap.c index 6668d94..75eb4d3 100644 --- a/sys/net/if_tap.c +++ b/sys/net/if_tap.c @@ -934,8 +934,8 @@ tapwrite(struct cdev *dev, struct uio *uio, int flag) return (0); if ((uio->uio_resid < 0) || (uio->uio_resid > TAPMRU)) { - TAPDEBUG("%s invalid packet len = %d, minor = %#x\n", - ifp->if_xname, uio->uio_resid, dev2unit(dev)); + TAPDEBUG("%s invalid packet len = %jd, minor = %#x\n", + ifp->if_xname, (intmax_t)uio->uio_resid, dev2unit(dev)); return (EIO); } diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c index 5d2355a..97eb931 100644 --- a/sys/net/if_tun.c +++ b/sys/net/if_tun.c @@ -887,7 +887,7 @@ tunwrite(struct cdev *dev, struct uio *uio, int flag) return (0); if (uio->uio_resid < 0 || uio->uio_resid > TUNMRU) { - TUNDEBUG(ifp, "len=%d!\n", uio->uio_resid); + TUNDEBUG(ifp, "len=%jd!\n", (intmax_t)uio->uio_resid); return (EIO); } diff --git a/sys/sys/uio.h b/sys/sys/uio.h index 871f93a..1de8880 100644 --- a/sys/sys/uio.h +++ b/sys/sys/uio.h @@ -64,7 +64,7 @@ struct uio { struct iovec *uio_iov; /* scatter/gather list */ int uio_iovcnt; /* length of scatter/gather list */ off_t uio_offset; /* offset in target object */ - int uio_resid; /* remaining bytes to process */ + ssize_t uio_resid; /* remaining bytes to process */ enum uio_seg uio_segflg; /* address space */ enum uio_rw uio_rw; /* operation */ struct thread *uio_td; /* owner */ diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 1e19bb6..3c1373e 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -641,7 +641,7 @@ int vn_open_cred(struct nameidata *ndp, int *flagp, int cmode, int vn_pollrecord(struct vnode *vp, struct thread *p, int events); int vn_rdwr(enum uio_rw rw, struct vnode *vp, void *base, int len, off_t offset, enum uio_seg segflg, int ioflg, - struct ucred *active_cred, struct ucred *file_cred, int *aresid, + struct ucred *active_cred, struct ucred *file_cred, ssize_t *aresid, struct thread *td); int vn_rdwr_inchunks(enum uio_rw rw, struct vnode *vp, void *base, size_t len, off_t offset, enum uio_seg segflg, int ioflg, diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index 1abb994..56b4851 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -420,7 +420,8 @@ ffs_read(ap) ufs_lbn_t lbn, nextlbn; off_t bytesinfile; long size, xfersize, blkoffset; - int error, orig_resid; + ssize_t orig_resid; + int error; int seqcount; int ioflag; @@ -633,8 +634,9 @@ ffs_write(ap) struct thread *td; ufs_lbn_t lbn; off_t osize; + ssize_t resid; int seqcount; - int blkoffset, error, flags, ioflag, resid, size, xfersize; + int blkoffset, error, flags, ioflag, size, xfersize; vp = ap->a_vp; uio = ap->a_uio; @@ -869,7 +871,8 @@ ffs_extread(struct vnode *vp, struct uio *uio, int ioflag) ufs_lbn_t lbn, nextlbn; off_t bytesinfile; long size, xfersize, blkoffset; - int error, orig_resid; + ssize_t orig_resid; + int error; ip = VTOI(vp); fs = ip->i_fs; @@ -1021,7 +1024,8 @@ ffs_extwrite(struct vnode *vp, struct uio *uio, int ioflag, struct ucred *ucred) struct buf *bp; ufs_lbn_t lbn; off_t osize; - int blkoffset, error, flags, resid, size, xfersize; + ssize_t resid; + int blkoffset, error, flags, size, xfersize; ip = VTOI(vp); fs = ip->i_fs; diff --git a/sys/ufs/ufs/ufs_lookup.c b/sys/ufs/ufs/ufs_lookup.c index fddefc5..1a50010 100644 --- a/sys/ufs/ufs/ufs_lookup.c +++ b/sys/ufs/ufs/ufs_lookup.c @@ -1191,7 +1191,8 @@ ufs_dirempty(ip, parentino, cred) doff_t off; struct dirtemplate dbuf; struct direct *dp = (struct direct *)&dbuf; - int error, count, namlen; + int error, namlen; + ssize_t count; #define MINDIRSIZ (sizeof (struct dirtemplate) / 2) for (off = 0; off < ip->i_size; off += dp->d_reclen) { @@ -1247,7 +1248,7 @@ ufs_dir_dd_ino(struct vnode *vp, struct ucred *cred, ino_t *dd_ino) return (ENOTDIR); error = vn_rdwr(UIO_READ, vp, (caddr_t)&dirbuf, sizeof (struct dirtemplate), (off_t)0, UIO_SYSSPACE, - IO_NODELOCKED | IO_NOMACCHECK, cred, NOCRED, (int *)0, NULL); + IO_NODELOCKED | IO_NOMACCHECK, cred, NOCRED, NULL, NULL); if (error != 0) return (error); #if (BYTE_ORDER == LITTLE_ENDIAN) diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index 38c2543..371c462 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -1849,7 +1849,7 @@ ufs_symlink(ap) } else error = vn_rdwr(UIO_WRITE, vp, ap->a_target, len, (off_t)0, UIO_SYSSPACE, IO_NODELOCKED | IO_NOMACCHECK, - ap->a_cnp->cn_cred, NOCRED, (int *)0, (struct thread *)0); + ap->a_cnp->cn_cred, NOCRED, NULL, NULL); if (error) vput(vp); return (error); diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index 47177e3..cc7b35d 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -1160,8 +1160,8 @@ vnode_pager_generic_putpages(vp, m, bytecount, flags, rtvals) } if (auio.uio_resid) { if (ppscheck || ppsratecheck(&lastfail, &curfail, 1)) - printf("vnode_pager_putpages: residual I/O %d at %lu\n", - auio.uio_resid, (u_long)m[0]->pindex); + printf("vnode_pager_putpages: residual I/O %jd at %lu\n", + (intmax_t)auio.uio_resid, (u_long)m[0]->pindex); } for (i = 0; i < ncount; i++) { rtvals[i] = VM_PAGER_OK;