minor data-typing error in 8.1 fs/devfs/devfs_vnops.c
perryh at pluto.rain.com
perryh at pluto.rain.com
Mon Feb 7 09:01:21 UTC 2011
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?
-------------- next part --------------
--- 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;
More information about the freebsd-stable
mailing list