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, |
