diff options
Diffstat (limited to 'fs/binfmt_misc.c')
-rw-r--r-- | fs/binfmt_misc.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c index 18657f001b43..72d0b412c376 100644 --- a/fs/binfmt_misc.c +++ b/fs/binfmt_misc.c | |||
@@ -675,19 +675,8 @@ static ssize_t | |||
675 | bm_status_read(struct file *file, char __user *buf, size_t nbytes, loff_t *ppos) | 675 | bm_status_read(struct file *file, char __user *buf, size_t nbytes, loff_t *ppos) |
676 | { | 676 | { |
677 | char *s = enabled ? "enabled" : "disabled"; | 677 | char *s = enabled ? "enabled" : "disabled"; |
678 | int len = strlen(s); | ||
679 | loff_t pos = *ppos; | ||
680 | 678 | ||
681 | if (pos < 0) | 679 | return simple_read_from_buffer(buf, nbytes, ppos, s, strlen(s)); |
682 | return -EINVAL; | ||
683 | if (pos >= len) | ||
684 | return 0; | ||
685 | if (len < pos + nbytes) | ||
686 | nbytes = len - pos; | ||
687 | if (copy_to_user(buf, s + pos, nbytes)) | ||
688 | return -EFAULT; | ||
689 | *ppos = pos + nbytes; | ||
690 | return nbytes; | ||
691 | } | 680 | } |
692 | 681 | ||
693 | static ssize_t bm_status_write(struct file * file, const char __user * buffer, | 682 | static ssize_t bm_status_write(struct file * file, const char __user * buffer, |