lkml.org 
[lkml]   [2008]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch -v2 02/23] binfmt_misc: use simple_read_from_buffer
    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    ---
    fs/binfmt_misc.c | 20 +++-----------------
    1 file changed, 3 insertions(+), 17 deletions(-)

    Index: 2.6-git/fs/binfmt_misc.c
    ===================================================================
    --- 2.6-git.orig/fs/binfmt_misc.c
    +++ 2.6-git/fs/binfmt_misc.c
    @@ -27,6 +27,7 @@
    #include <linux/namei.h>
    #include <linux/mount.h>
    #include <linux/syscalls.h>
    +#include <linux/fs.h>

    #include <asm/uaccess.h>

    @@ -535,31 +536,16 @@ static ssize_t
    bm_entry_read(struct file * file, char __user * buf, size_t nbytes, loff_t *ppos)
    {
    Node *e = file->f_path.dentry->d_inode->i_private;
    - loff_t pos = *ppos;
    ssize_t res;
    char *page;
    - int len;

    if (!(page = (char*) __get_free_page(GFP_KERNEL)))
    return -ENOMEM;

    entry_status(e, page);
    - len = strlen(page);

    - res = -EINVAL;
    - if (pos < 0)
    - goto out;
    - res = 0;
    - if (pos >= len)
    - goto out;
    - if (len < pos + nbytes)
    - nbytes = len - pos;
    - res = -EFAULT;
    - if (copy_to_user(buf, page + pos, nbytes))
    - goto out;
    - *ppos = pos + nbytes;
    - res = nbytes;
    -out:
    + res = simple_read_from_buffer(buf, nbytes, ppos, page, strlen(page));
    +
    free_page((unsigned long) page);
    return res;
    }
    --


    \
     
     \ /
      Last update: 2008-06-02 01:31    [W:0.024 / U:1.620 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site