diff options
author | Al Viro <viro@ZenIV.linux.org.uk> | 2015-11-30 04:20:59 +0300 |
---|---|---|
committer | Jiri Slaby <jslaby@suse.cz> | 2016-03-03 14:45:51 +0300 |
commit | 172690beba9309e5a9369f4b383cef6884cbc07c (patch) | |
tree | 2227f05d43dd5040e22136dce585a607d39d1bb4 /drivers | |
parent | fd84aab963018f879e2300c4f1b0378874a1e84a (diff) | |
download | linux-172690beba9309e5a9369f4b383cef6884cbc07c.tar.xz |
bcache: fix a leak in bch_cached_dev_run()
commit 4d4d8573a8451acc9f01cbea24b7e55f04a252fe upstream.
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>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/md/bcache/super.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c index f5004c5c4b96..391e04160c3f 100644 --- a/drivers/md/bcache/super.c +++ b/drivers/md/bcache/super.c @@ -841,8 +841,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) { |