bcache: fix a leak in bch_cached_dev_run()

Signed-off-by: Al Viro <[email protected]>
Tested-by: Joshua Schmid <[email protected]>
Tested-by: Eric Wheeler <[email protected]>
Cc: Kent Overstreet <[email protected]>
Cc: [email protected]
Signed-off-by: Jens Axboe <[email protected]>
This commit is contained in:
Al Viro 2015-11-29 17:20:59 -08:00 • committed by Jens Axboe
commit 4d4d8573a8

View file

@ -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) {