diff --git a/[refs] b/[refs] index 8bcd03233f88..615f5b1af985 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ef9e3facdf1fe1228721a7c295a76d1b7a0e57ec +refs/heads/master: 0497b345e7d067109e0dd9bf9f4978a6847ee13b diff --git a/trunk/block/blktrace.c b/trunk/block/blktrace.c index 9e0212c90b29..85049a7e7a17 100644 --- a/trunk/block/blktrace.c +++ b/trunk/block/blktrace.c @@ -369,7 +369,8 @@ int do_blk_trace_setup(struct request_queue *q, char *name, dev_t dev, if (!buts->buf_size || !buts->buf_nr) return -EINVAL; - strcpy(buts->name, name); + strncpy(buts->name, name, BLKTRACE_BDEV_SIZE); + buts->name[BLKTRACE_BDEV_SIZE - 1] = '\0'; /* * some device names have larger paths - convert the slashes diff --git a/trunk/include/linux/blktrace_api.h b/trunk/include/linux/blktrace_api.h index a2a7d0ca2758..3a31eb506164 100644 --- a/trunk/include/linux/blktrace_api.h +++ b/trunk/include/linux/blktrace_api.h @@ -122,15 +122,13 @@ enum { Blktrace_stopped, }; +#define BLKTRACE_BDEV_SIZE 32 + /* * User setup structure passed with BLKTRACESTART */ struct blk_user_trace_setup { -#ifdef __KERNEL__ - char name[BDEVNAME_SIZE]; /* output */ -#else - char name[32]; /* output */ -#endif + char name[BLKTRACE_BDEV_SIZE]; /* output */ __u16 act_mask; /* input */ __u32 buf_size; /* input */ __u32 buf_nr; /* input */