Noticed while digging through devfs_read_f() and devfs_write_f() in the course of investigating some unexpected (by me) geom behavior:
... int ioflag, error, resid; ... resid = uio->uio_resid; ... if (uio->uio_resid != resid || ... IOW resid (an int) is being assigned from and compared with uio->uio_resid (an ssize_t). I suppose it's probably harmless on any arch where an (int) is at least as large as an (ssize_t), but strictly speaking it does look like a bug -- or am I missing something?
--- fs/devfs/devfs_vnops.c-81R Sun Jun 13 19:09:06 2010 +++ - Sun Feb 6 23:58:34 2011 @@ -1046,7 +1046,8 @@ devfs_read_f(struct file *fp, struct uio *uio, struct ucred *cred, int flags, struct thread *td) { struct cdev *dev; - int ioflag, error, resid; + int ioflag, error; + ssize_t resid; struct cdevsw *dsw; struct file *fpop; @@ -1489,7 +1490,8 @@ devfs_write_f(struct file *fp, struct uio *uio, struct ucred *cred, int flags, struct thread *td) { struct cdev *dev; - int error, ioflag, resid; + int error, ioflag; + ssize_t resid; struct cdevsw *dsw; struct file *fpop;
_______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"