Use memory_read_from_buffer() to simplify devcd_readv().
Cc: Johannes Berg <[email protected]>
Cc: Keith Busch <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Sagi Grimberg <[email protected]>
Cc: Minwoo Im <[email protected]>
Cc: Kenneth Heitke <[email protected]>
Reviewed-by: Johannes Berg <[email protected]>
Signed-off-by: Akinobu Mita <[email protected]>
---
* v3
- No change since v2
drivers/base/devcoredump.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/drivers/base/devcoredump.c b/drivers/base/devcoredump.c
index f1a3353..3c960a6 100644
--- a/drivers/base/devcoredump.c
+++ b/drivers/base/devcoredump.c
@@ -164,16 +164,7 @@ static struct class devcd_class = {
static ssize_t devcd_readv(char *buffer, loff_t offset, size_t count,
void *data, size_t datalen)
{
- if (offset > datalen)
- return -EINVAL;
-
- if (offset + count > datalen)
- count = datalen - offset;
-
- if (count)
- memcpy(buffer, ((u8 *)data) + offset, count);
-
- return count;
+ return memory_read_from_buffer(buffer, count, &offset, data, datalen);
}
static void devcd_freev(void *data)
--
2.7.4
Looks good.
Reviewed-by: Chaitanya Kulkarni <[email protected]>.
On 05/12/2019 08:55 AM, Akinobu Mita wrote:
> Use memory_read_from_buffer() to simplify devcd_readv().
>
> Cc: Johannes Berg <[email protected]>
> Cc: Keith Busch <[email protected]>
> Cc: Jens Axboe <[email protected]>
> Cc: Christoph Hellwig <[email protected]>
> Cc: Sagi Grimberg <[email protected]>
> Cc: Minwoo Im <[email protected]>
> Cc: Kenneth Heitke <[email protected]>
> Reviewed-by: Johannes Berg <[email protected]>
> Signed-off-by: Akinobu Mita <[email protected]>
> ---
> * v3
> - No change since v2
>
> drivers/base/devcoredump.c | 11 +----------
> 1 file changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/drivers/base/devcoredump.c b/drivers/base/devcoredump.c
> index f1a3353..3c960a6 100644
> --- a/drivers/base/devcoredump.c
> +++ b/drivers/base/devcoredump.c
> @@ -164,16 +164,7 @@ static struct class devcd_class = {
> static ssize_t devcd_readv(char *buffer, loff_t offset, size_t count,
> void *data, size_t datalen)
> {
> - if (offset > datalen)
> - return -EINVAL;
> -
> - if (offset + count > datalen)
> - count = datalen - offset;
> -
> - if (count)
> - memcpy(buffer, ((u8 *)data) + offset, count);
> -
> - return count;
> + return memory_read_from_buffer(buffer, count, &offset, data, datalen);
> }
>
> static void devcd_freev(void *data)
>