diff options
-rw-r--r-- | fs/sysfs/file.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c index 5d818df7250b..c3795978b404 100644 --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c | |||
@@ -275,11 +275,10 @@ static ssize_t sysfs_write_file(struct file *file, const char __user *user_buf, | |||
275 | { | 275 | { |
276 | struct sysfs_open_file *of = sysfs_of(file); | 276 | struct sysfs_open_file *of = sysfs_of(file); |
277 | ssize_t len = min_t(size_t, count, PAGE_SIZE); | 277 | ssize_t len = min_t(size_t, count, PAGE_SIZE); |
278 | loff_t size = file_inode(file)->i_size; | ||
278 | char *buf; | 279 | char *buf; |
279 | 280 | ||
280 | if (sysfs_is_bin(of->sd)) { | 281 | if (sysfs_is_bin(of->sd) && size) { |
281 | loff_t size = file_inode(file)->i_size; | ||
282 | |||
283 | if (size <= *ppos) | 282 | if (size <= *ppos) |
284 | return 0; | 283 | return 0; |
285 | len = min_t(ssize_t, len, size - *ppos); | 284 | len = min_t(ssize_t, len, size - *ppos); |