Home
last modified time | relevance | path

Searched hist:b06075a98d595b761881fb2d7b8a557ea2f8b7ac (Results 1 – 1 of 1) sorted by relevance

/openbmc/linux/drivers/md/
H A Ddm.cdiff b06075a98d595b761881fb2d7b8a557ea2f8b7ac Fri Jul 10 16:21:43 CDT 2015 Mikulas Patocka <mpatocka@redhat.com> dm: fix use after free crash due to incorrect cleanup sequence

Linux 4.2-rc1 Commit 0f20972f7bf6 ("dm: factor out a common
cleanup_mapped_device()") moved a common cleanup code to a separate
function. Unfortunately, that commit incorrectly changed the order of
cleanup, so that it destroys the mapped_device's srcu structure
'io_barrier' before destroying its workqueue.

The function that is executed on the workqueue (dm_wq_work) uses the srcu
structure, thus it may use it after being freed. That results in a
crash in the LVM test suite's mirror-vgreduce-removemissing.sh test.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Fixes: 0f20972f7bf6 ("dm: factor out a common cleanup_mapped_device()")
Signed-off-by: Mike Snitzer <snitzer@redhat.com>