use simple_read_from_buffer in kernel/
PATCH 1/1 use simple_read_from_buffer in kernel/
Cleanup using simple_read_from_buffer() for /dev/cpuset/tasks and /proc/config.gz.
Cc Paul Jackson <[email protected]>
Cc Randy Dunlap <[email protected]>
Signed-off-by Akinobu Mita <[email protected]>
--- kernel/configs.c | 15 +++------------ kernel/cpuset.c | 7 +------ 2 files changed, 4 insertions(+), 18 deletions(-)
kernel/cpuset.c +1 -6
@@ -1751,12 +1751,7 @@ static ssize_t cpuset_tasks_read(struct {struct ctr_struct *ctr = file->private_data; -if (*ppos + nbytes > ctr->bufsz) - nbytes = ctr->bufsz - *ppos; -if (copy_to_user (buf, ctr->buf + *ppos, nbytes)) -return -EFAULT ; - *ppos += nbytes; -return nbytes; +return simple_read_from_buffer (buf, nbytes, ppos, ctr->buf, ctr->bufsz); }static int cpuset_tasks_release (struct inode *unused_inode,struct file *file)
kernel/configs.c +3 -12
@@ -61,18 +61,9 @@ static ssize_t ikconfig_read_current(struct file *file, char __user *buf, size_t len, loff_t * offset) { - loff_t pos = *offset; -ssize_t count; - -if (pos >= kernel_config_data_size) -return 0 ; - - count =min (len, (size_t )(kernel_config_data_size - pos)); -if (copy_to_user (buf, kernel_config_data +MAGIC_SIZE + pos, count)) -return -EFAULT ; - - *offset += count; -return count; + return simple_read_from_buffer(buf, len, offset, + kernel_config_data + MAGIC_SIZE, + kernel_config_data_size); } static const struct file_operations ikconfig_file_ops = {