33 lines
1.1 KiB
Diff
33 lines
1.1 KiB
Diff
From: Al Viro <viro@ZenIV.linux.org.uk>
|
|
Date: Sun, 29 Nov 2015 17:20:59 -0800
|
|
Subject: [4/8] bcache: fix a leak in bch_cached_dev_run()
|
|
Origin: https://git.kernel.org/cgit/linux/kernel/git/axboe/linux-block.git/commit?id=4d4d8573a8451acc9f01cbea24b7e55f04a252fe
|
|
|
|
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
|
|
Tested-by: Joshua Schmid <jschmid@suse.com>
|
|
Tested-by: Eric Wheeler <bcache@linux.ewheeler.net>
|
|
Cc: Kent Overstreet <kmo@daterainc.com>
|
|
Cc: stable@vger.kernel.org
|
|
Signed-off-by: Jens Axboe <axboe@fb.com>
|
|
---
|
|
drivers/md/bcache/super.c | 5 ++++-
|
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
|
|
index 383f060..43e911e 100644
|
|
--- a/drivers/md/bcache/super.c
|
|
+++ b/drivers/md/bcache/super.c
|
|
@@ -849,8 +849,11 @@ void bch_cached_dev_run(struct cached_dev *dc)
|
|
buf[SB_LABEL_SIZE] = '\0';
|
|
env[2] = kasprintf(GFP_KERNEL, "CACHED_LABEL=%s", buf);
|
|
|
|
- if (atomic_xchg(&dc->running, 1))
|
|
+ if (atomic_xchg(&dc->running, 1)) {
|
|
+ kfree(env[1]);
|
|
+ kfree(env[2]);
|
|
return;
|
|
+ }
|
|
|
|
if (!d->c &&
|
|
BDEV_STATE(&dc->sb) != BDEV_STATE_NONE) {
|