dm cache: Fix UAF in destroy()
commit6a459d8edbupstream. Dm_cache also has the same UAF problem when dm_resume() and dm_destroy() are concurrent. Therefore, cancelling timer again in destroy(). Cc: stable@vger.kernel.org Fixes:c6b4fcbad0("dm: add cache target") Signed-off-by: Luo Meng <luomeng12@huawei.com> Signed-off-by: Mike Snitzer <snitzer@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
342cfd8426
commit
2b17026685
@@ -1965,6 +1965,7 @@ static void destroy(struct cache *cache)
|
|||||||
if (cache->prison)
|
if (cache->prison)
|
||||||
dm_bio_prison_destroy_v2(cache->prison);
|
dm_bio_prison_destroy_v2(cache->prison);
|
||||||
|
|
||||||
|
cancel_delayed_work_sync(&cache->waker);
|
||||||
if (cache->wq)
|
if (cache->wq)
|
||||||
destroy_workqueue(cache->wq);
|
destroy_workqueue(cache->wq);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user