Messages in this thread | | | Date | Sun, 3 Nov 2013 12:36:47 -0500 | From | Steven Rostedt <> | Subject | Re: [PATCH] kernel: trace: blktrace: remove redundent memcpy() in compat_blk_trace_setup() |
| |
A quick review of this patch looks fine to me.
Although, using ARRAY_SIZE() for a character string seems to me a bit over paranoid. But I'm fine with it, as it makes sure that the string is an array and not a pointer.
Jens,
Can you give me an Acked-by?
-- Steve
On Sun, 03 Nov 2013 22:23:39 +0800 Chen Gang <gang.chen@asianux.com> wrote:
> do_blk_trace_setup() will fully initialize 'buts.name', so can remove > the related memcpy(). And also use BLKTRACE_BDEV_SIZE and ARRAY_SIZE > instead of hard code number '32'. > > > Signed-off-by: Chen Gang <gang.chen@asianux.com> > --- > include/linux/blktrace_api.h | 2 +- > kernel/trace/blktrace.c | 3 +-- > 2 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h > index a12f6ed..afc1343 100644 > --- a/include/linux/blktrace_api.h > +++ b/include/linux/blktrace_api.h > @@ -89,7 +89,7 @@ static inline int blk_trace_init_sysfs(struct device *dev) > #ifdef CONFIG_COMPAT > > struct compat_blk_user_trace_setup { > - char name[32]; > + char name[BLKTRACE_BDEV_SIZE]; > u16 act_mask; > u32 buf_size; > u32 buf_nr; > diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c > index 7f727b3..f785aef 100644 > --- a/kernel/trace/blktrace.c > +++ b/kernel/trace/blktrace.c > @@ -579,13 +579,12 @@ static int compat_blk_trace_setup(struct request_queue *q, char *name, > .end_lba = cbuts.end_lba, > .pid = cbuts.pid, > }; > - memcpy(&buts.name, &cbuts.name, 32); > > ret = do_blk_trace_setup(q, name, dev, bdev, &buts); > if (ret) > return ret; > > - if (copy_to_user(arg, &buts.name, 32)) { > + if (copy_to_user(arg, &buts.name, ARRAY_SIZE(buts.name))) { > blk_trace_remove(q); > return -EFAULT; > }
| |