From: Akinobu Mita Date: Thu, 24 Jul 2008 04:28:46 +0000 (-0700) Subject: cris: use simple_read_from_buffer() X-Git-Tag: v2.6.27-rc1~725 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=ed62f77bb631bc4a2d8acb0521b720cb55e58183;p=linux-2.6-omap-h63xx.git cris: use simple_read_from_buffer() Signed-off-by: Akinobu Mita Cc: Mikael Starvik Cc: Jesper Nilsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/arch/cris/kernel/profile.c b/arch/cris/kernel/profile.c index 44f7b4f7947..9aa571169bc 100644 --- a/arch/cris/kernel/profile.c +++ b/arch/cris/kernel/profile.c @@ -35,19 +35,16 @@ read_cris_profile(struct file *file, char __user *buf, size_t count, loff_t *ppos) { unsigned long p = *ppos; + ssize_t ret; - if (p > SAMPLE_BUFFER_SIZE) - return 0; + ret = simple_read_from_buffer(buf, count, ppos, sample_buffer, + SAMPLE_BUFFER_SIZE); + if (ret < 0) + return ret; - if (p + count > SAMPLE_BUFFER_SIZE) - count = SAMPLE_BUFFER_SIZE - p; - if (copy_to_user(buf, sample_buffer + p,count)) - return -EFAULT; + memset(sample_buffer + p, 0, ret); - memset(sample_buffer + p, 0, count); - *ppos += count; - - return count; + return ret; } static ssize_t