[PATCH] hppfs: hppfs_read_file() may return -ERROR

From: Roel Kluin
Date: Tue Mar 03 2009 - 10:40:20 EST


FYI: hppfs_read_file() is at: vi fs/hppfs/hppfs.c +212
------------------------------>8-------------8<---------------------------------
hppfs_read_file() may return (ssize_t) -ENOMEM, or -EFAULT. when stored in
size_t 'count', these errors will not be noticed, a large value will be added to
*ppos.

Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx>
---
diff --git a/fs/hppfs/hppfs.c b/fs/hppfs/hppfs.c
index b278f7f..a5089a6 100644
--- a/fs/hppfs/hppfs.c
+++ b/fs/hppfs/hppfs.c
@@ -280,7 +280,12 @@ static ssize_t hppfs_read(struct file *file, char __user *buf, size_t count,
"errno = %d\n", err);
return err;
}
- count = hppfs_read_file(hppfs->host_fd, buf, count);
+ err = hppfs_read_file(hppfs->host_fd, buf, count);
+ if (err < 0) {
+ printk(KERN_ERR "hppfs_read: read failed: %d\n", err);
+ return err;
+ }
+ count = err;
if (count > 0)
*ppos += count;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/