diff options
-rw-r--r-- | kernel/configs.c | 15 | ||||
-rw-r--r-- | kernel/cpuset.c | 7 |
2 files changed, 4 insertions, 18 deletions
diff --git a/kernel/configs.c b/kernel/configs.c index 8fa1fb28f8a7..e84d3f9c6c7b 100644 --- a/kernel/configs.c +++ b/kernel/configs.c | |||
@@ -61,18 +61,9 @@ static ssize_t | |||
61 | ikconfig_read_current(struct file *file, char __user *buf, | 61 | ikconfig_read_current(struct file *file, char __user *buf, |
62 | size_t len, loff_t * offset) | 62 | size_t len, loff_t * offset) |
63 | { | 63 | { |
64 | loff_t pos = *offset; | 64 | return simple_read_from_buffer(buf, len, offset, |
65 | ssize_t count; | 65 | kernel_config_data + MAGIC_SIZE, |
66 | 66 | kernel_config_data_size); | |
67 | if (pos >= kernel_config_data_size) | ||
68 | return 0; | ||
69 | |||
70 | count = min(len, (size_t)(kernel_config_data_size - pos)); | ||
71 | if (copy_to_user(buf, kernel_config_data + MAGIC_SIZE + pos, count)) | ||
72 | return -EFAULT; | ||
73 | |||
74 | *offset += count; | ||
75 | return count; | ||
76 | } | 67 | } |
77 | 68 | ||
78 | static const struct file_operations ikconfig_file_ops = { | 69 | static const struct file_operations ikconfig_file_ops = { |
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 88b416dfbc72..f57854b08922 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c | |||
@@ -1772,12 +1772,7 @@ static ssize_t cpuset_tasks_read(struct file *file, char __user *buf, | |||
1772 | { | 1772 | { |
1773 | struct ctr_struct *ctr = file->private_data; | 1773 | struct ctr_struct *ctr = file->private_data; |
1774 | 1774 | ||
1775 | if (*ppos + nbytes > ctr->bufsz) | 1775 | return simple_read_from_buffer(buf, nbytes, ppos, ctr->buf, ctr->bufsz); |
1776 | nbytes = ctr->bufsz - *ppos; | ||
1777 | if (copy_to_user(buf, ctr->buf + *ppos, nbytes)) | ||
1778 | return -EFAULT; | ||
1779 | *ppos += nbytes; | ||
1780 | return nbytes; | ||
1781 | } | 1776 | } |
1782 | 1777 | ||
1783 | static int cpuset_tasks_release(struct inode *unused_inode, struct file *file) | 1778 | static int cpuset_tasks_release(struct inode *unused_inode, struct file *file) |