Date: Mon, 07 Feb 2011 00:53:14 -0800 From: perryh@pluto.rain.com To: freebsd-stable@freebsd.org Subject: minor data-typing error in 8.1 fs/devfs/devfs_vnops.c Message-ID: <4d4fb2fa.1SlxGA2eA/1ZnThg%perryh@pluto.rain.com>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
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?
[-- Attachment #2 --]
--- 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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4d4fb2fa.1SlxGA2eA/1ZnThg%perryh>
