[PATCH] use simple_read_from_buffer in kernel/

From: Akinobu Mita
Date: Thu May 03 2007 - 13:34:25 EST


Cleanup using simple_read_from_buffer() for /dev/cpuset/tasks
and /proc/config.gz.

Cc: Paul Jackson <pj@xxxxxxx>
Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxx>
Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>

---
kernel/configs.c | 15 +++------------
kernel/cpuset.c | 7 +------
2 files changed, 4 insertions(+), 18 deletions(-)

Index: 2.6-git/kernel/cpuset.c
===================================================================
--- 2.6-git.orig/kernel/cpuset.c
+++ 2.6-git/kernel/cpuset.c
@@ -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)
Index: 2.6-git/kernel/configs.c
===================================================================
--- 2.6-git.orig/kernel/configs.c
+++ 2.6-git/kernel/configs.c
@@ -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 = {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/