From: Dmitry Monakhov Date: Sat, 27 Feb 2010 17:35:13 +0000 (+0300) Subject: blktrace: perform cleanup after setup error X-Git-Tag: v2.6.34-rc1~242^2~4 X-Git-Url: http://bbs.cooldavid.org/git/?a=commitdiff_plain;h=9a8c28c8311e30ba97499447d5a11662f5aea094;p=net-next-2.6.git blktrace: perform cleanup after setup error Currently even if BLKTRACESETUP ioctl has failed user must call BLKTRACETEARDOWN to be shure what all staff was cleaned, which is contr-intuitive. Let's setup ioctl make necessery cleanup by it self. Signed-off-by: Dmitry Monakhov Signed-off-by: Jens Axboe --- diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c index d9d6206e0b1..07f945a9943 100644 --- a/kernel/trace/blktrace.c +++ b/kernel/trace/blktrace.c @@ -540,9 +540,10 @@ int blk_trace_setup(struct request_queue *q, char *name, dev_t dev, if (ret) return ret; - if (copy_to_user(arg, &buts, sizeof(buts))) + if (copy_to_user(arg, &buts, sizeof(buts))) { + blk_trace_remove(q); return -EFAULT; - + } return 0; } EXPORT_SYMBOL_GPL(blk_trace_setup);