2003-02-12 22:36:57

by Rusty Lynch

[permalink] [raw]
Subject: [PATCH][2.5.60 Trivial] Sysfs not handling show errors

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




2003-02-13 15:29:42

by Patrick Mochel

[permalink] [raw]
Subject: Re: [PATCH][2.5.60 Trivial] Sysfs not handling show errors


On 12 Feb 2003, Rusty Lynch wrote:

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

Thanks, applied.

-pat