summaryrefslogtreecommitdiff
path: root/fs/sysfs
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2006-03-31 15:37:06 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-04-02 13:03:31 -0700
commit6e0dd741a89be35defa05bd79f4211c5a2762825 (patch)
tree565d0328e9e353884e9d5785590e6d4be99e0964 /fs/sysfs
parent597a7679dd83691be2f3a53e1f3f915b4a7f6eba (diff)
downloadlwn-6e0dd741a89be35defa05bd79f4211c5a2762825.tar.gz
lwn-6e0dd741a89be35defa05bd79f4211c5a2762825.zip
[PATCH] sysfs: zero terminate sysfs write buffers
No one should be writing a PAGE_SIZE worth of data to a normal sysfs file, so properly terminate the buffer. Thanks to Al Viro for pointing out my supidity here. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/sysfs')
-rw-r--r--fs/sysfs/file.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c
index 830f76fa098c..f1cb1ddde511 100644
--- a/fs/sysfs/file.c
+++ b/fs/sysfs/file.c
@@ -183,7 +183,7 @@ fill_write_buffer(struct sysfs_buffer * buffer, const char __user * buf, size_t
return -ENOMEM;
if (count >= PAGE_SIZE)
- count = PAGE_SIZE;
+ count = PAGE_SIZE - 1;
error = copy_from_user(buffer->page,buf,count);
buffer->needs_read_fill = 1;
return error ? -EFAULT : count;