[PATCH][2.5.60 Trivial] Sysfs not handling show errors

Rusty Lynch
2003-02-12T22:36:57Z

Attempting to cat a sysfs file that returns an error will result in an
endless dump of garbage to the screen because the result of the specific
show operation was being saved to a size_t (unsigned) and then later
checked for a negative value.

Here is a trivial patch to fix the error.

--rustyl

--- fs/sysfs/inode.c.orig 2003-02-12 14:38:04.000000000 -0800
+++ fs/sysfs/inode.c 2003-02-12 14:38:39.000000000 -0800
@@ -210,7 +210,7 @@
struct kobject * kobj = file->f_dentry->d_parent->d_fsdata;
struct sysfs_ops * ops = buffer->ops;
int ret = 0;
- size_t count;
+ ssize_t count;

if (!buffer->page)
buffer->page = (char *) __get_free_page(GFP_KERNEL);