From: Greg Kroah-Hartman Date: Sun, 11 Nov 2018 20:56:24 +0000 (-0800) Subject: 3.18-stable patches X-Git-Tag: v4.19.2~16 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1b3f952e2d9dcad1f3bb963b10e0d90b79d54d8e;p=thirdparty%2Fkernel%2Fstable-queue.git 3.18-stable patches added patches: dm-remove-duplicate-dm_get_live_table-in-__dm_destroy.patch --- diff --git a/queue-3.18/dm-remove-duplicate-dm_get_live_table-in-__dm_destroy.patch b/queue-3.18/dm-remove-duplicate-dm_get_live_table-in-__dm_destroy.patch new file mode 100644 index 00000000000..7a956784985 --- /dev/null +++ b/queue-3.18/dm-remove-duplicate-dm_get_live_table-in-__dm_destroy.patch @@ -0,0 +1,33 @@ +From undefined@pobox.com Sun Nov 11 12:53:49 2018 +From: Corey Wright +Date: Sun, 11 Nov 2018 02:22:36 -0600 +Subject: dm: remove duplicate dm_get_live_table() in __dm_destroy() +To: stable@vger.kernel.org +Cc: Sasha Levin +Message-ID: <20181111022236.40ef83f0781111eaaa55e7d4@pobox.com> + +From: Corey Wright + +[3.18.y only, to fix a previous patch] + +__dm_destroy() takes io_barrier SRCU lock (dm_get_live_table) twice +which leads to a deadlock. Remove taking lock before holding +suspend_lock to prevent a different potential deadlock. + +Signed-off-by: Corey Wright +Fixes: e1db66a5fdcc ("dm: fix AB-BA deadlock in __dm_destroy()") +Cc: Sasha Levin +--- + drivers/md/dm.c | 1 - + 1 file changed, 1 deletion(-) + +--- a/drivers/md/dm.c ++++ b/drivers/md/dm.c +@@ -2589,7 +2589,6 @@ static void __dm_destroy(struct mapped_d + might_sleep(); + + spin_lock(&_minor_lock); +- map = dm_get_live_table(md, &srcu_idx); + idr_replace(&_minor_idr, MINOR_ALLOCED, MINOR(disk_devt(dm_disk(md)))); + set_bit(DMF_FREEING, &md->flags); + spin_unlock(&_minor_lock); diff --git a/queue-3.18/series b/queue-3.18/series index 0e01a12b3d3..267e043660a 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -53,3 +53,4 @@ media-em28xx-use-a-default-format-if-try_fmt-fails.patch media-em28xx-fix-input-name-for-terratec-av-350.patch media-em28xx-make-v4l2-compliance-happier-by-starting-sequence-on-zero.patch cramfs-fix-abad-comparison-when-wrap-arounds-occur.patch +dm-remove-duplicate-dm_get_live_table-in-__dm_destroy.patch