mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 18:09:56 +00:00
dm cache: Fix UAF in destroy()
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>
This commit is contained in:
@@ -1887,6 +1887,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