projects
/
platform
/
kernel
/
linux-exynos.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
14dca89
)
bcache: fix a leak in bch_cached_dev_run()
author
Al Viro
<viro@ZenIV.linux.org.uk>
Mon, 30 Nov 2015 01:20:59 +0000
(17:20 -0800)
committer
Sasha Levin
<sasha.levin@oracle.com>
Mon, 1 Feb 2016 19:53:46 +0000
(14:53 -0500)
[ Upstream commit
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>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/md/bcache/super.c
patch
|
blob
|
history
diff --git
a/drivers/md/bcache/super.c
b/drivers/md/bcache/super.c
index
f624ae8
..
9d7b6ee
100644
(file)
--- a/
drivers/md/bcache/super.c
+++ b/
drivers/md/bcache/super.c
@@
-880,8
+880,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) {