提交 0202ce8a 编写于 作者: Z Zdenek Kabelac 提交者: Shaohua Li

md: release allocated bitset sync_set

Patch fixes kmemleak on md_stop() path used likely only by dm-raid wrapper.
Code of md is using  mddev_put() where both bitsets are released however this
freeing is not shared.

Also set NULL to bio_set and sync_set pointers just like mddev_put is
doing.
Signed-off-by: NZdenek Kabelac <zkabelac@redhat.com>
Signed-off-by: NShaohua Li <shli@fb.com>
上级 97f0eb9f
...@@ -5852,8 +5852,14 @@ void md_stop(struct mddev *mddev) ...@@ -5852,8 +5852,14 @@ void md_stop(struct mddev *mddev)
* This is called from dm-raid * This is called from dm-raid
*/ */
__md_stop(mddev); __md_stop(mddev);
if (mddev->bio_set) if (mddev->bio_set) {
bioset_free(mddev->bio_set); bioset_free(mddev->bio_set);
mddev->bio_set = NULL;
}
if (mddev->sync_set) {
bioset_free(mddev->sync_set);
mddev->sync_set = NULL;
}
} }
EXPORT_SYMBOL_GPL(md_stop); EXPORT_SYMBOL_GPL(md_stop);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册