]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.4.181/dm-delay-fix-a-crash-when-invalid-device-is-specified.patch
Linux 4.4.181
[thirdparty/kernel/stable-queue.git] / releases / 4.4.181 / dm-delay-fix-a-crash-when-invalid-device-is-specified.patch
CommitLineData
7372f3e3
GKH
1From 81bc6d150ace6250503b825d9d0c10f7bbd24095 Mon Sep 17 00:00:00 2001
2From: Mikulas Patocka <mpatocka@redhat.com>
3Date: Thu, 25 Apr 2019 12:07:54 -0400
4Subject: dm delay: fix a crash when invalid device is specified
5
6From: Mikulas Patocka <mpatocka@redhat.com>
7
8commit 81bc6d150ace6250503b825d9d0c10f7bbd24095 upstream.
9
10When the target line contains an invalid device, delay_ctr() will call
11delay_dtr() with NULL workqueue. Attempting to destroy the NULL
12workqueue causes a crash.
13
14Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
15Cc: stable@vger.kernel.org
16Signed-off-by: Mike Snitzer <snitzer@redhat.com>
17Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
18
19---
20 drivers/md/dm-delay.c | 3 ++-
21 1 file changed, 2 insertions(+), 1 deletion(-)
22
23--- a/drivers/md/dm-delay.c
24+++ b/drivers/md/dm-delay.c
25@@ -222,7 +222,8 @@ static void delay_dtr(struct dm_target *
26 {
27 struct delay_c *dc = ti->private;
28
29- destroy_workqueue(dc->kdelayd_wq);
30+ if (dc->kdelayd_wq)
31+ destroy_workqueue(dc->kdelayd_wq);
32
33 dm_put_device(ti, dc->dev_read);
34