Skip to content

Commit

Permalink
sysfs: fix problems with binary files
Browse files Browse the repository at this point in the history
Some sysfs binary files don't like having 0 passed to them as a size.
Fix this up at the root by just returning to the vfs if userspace asks
us for a zero sized buffer.

Thanks to Pavel Roskin for pointing this out.

Reported-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Greg Kroah-Hartman committed Jan 21, 2009
1 parent 72638f5 commit 4503efd
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions fs/sysfs/bin.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@ read(struct file *file, char __user *userbuf, size_t bytes, loff_t *off)
int count = min_t(size_t, bytes, PAGE_SIZE);
char *temp;

if (!bytes)
return 0;

if (size) {
if (offs > size)
return 0;
Expand Down Expand Up @@ -131,6 +134,9 @@ static ssize_t write(struct file *file, const char __user *userbuf,
int count = min_t(size_t, bytes, PAGE_SIZE);
char *temp;

if (!bytes)
return 0;

if (size) {
if (offs > size)
return 0;
Expand Down

0 comments on commit 4503efd

Please sign in to comment.