Commit 4503efd0 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

sysfs: fix problems with binary files

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: default avatarPavel Roskin <proski@gnu.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 72638f59
...@@ -63,6 +63,9 @@ read(struct file *file, char __user *userbuf, size_t bytes, loff_t *off) ...@@ -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); int count = min_t(size_t, bytes, PAGE_SIZE);
char *temp; char *temp;
if (!bytes)
return 0;
if (size) { if (size) {
if (offs > size) if (offs > size)
return 0; return 0;
...@@ -131,6 +134,9 @@ static ssize_t write(struct file *file, const char __user *userbuf, ...@@ -131,6 +134,9 @@ static ssize_t write(struct file *file, const char __user *userbuf,
int count = min_t(size_t, bytes, PAGE_SIZE); int count = min_t(size_t, bytes, PAGE_SIZE);
char *temp; char *temp;
if (!bytes)
return 0;
if (size) { if (size) {
if (offs > size) if (offs > size)
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment