Skip site navigation (1)Skip section navigation (2)
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
This is a multi-part message in MIME format.

--=_4d4fb2fa.2fyW/KoxitQVnB0sLEBgqhJojRSolpeB2cP7k/ChHeHL/5/p
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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?

--=_4d4fb2fa.2fyW/KoxitQVnB0sLEBgqhJojRSolpeB2cP7k/ChHeHL/5/p
Content-Type: text/plain;
 charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="devfs_vnops.c-resid-patch"

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

--=_4d4fb2fa.2fyW/KoxitQVnB0sLEBgqhJojRSolpeB2cP7k/ChHeHL/5/p--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4d4fb2fa.1SlxGA2eA/1ZnThg%perryh>