41 lines
1.2 KiB
Diff
41 lines
1.2 KiB
Diff
From 4ed321be7a9dcd3df99f3175f03bc45d65989c98 Mon Sep 17 00:00:00 2001
|
|
From: Zdenek Kabelac <zkabelac@redhat.com>
|
|
Date: Tue, 22 Jul 2025 20:34:38 +0200
|
|
Subject: [PATCH 39/47] dmeventd: check device exists
|
|
|
|
Check first whether the monitored device actually really exists,
|
|
before resolving its device name.
|
|
|
|
In the case device is not present in DM table, fail _fill_device_data().
|
|
|
|
(cherry picked from commit 175a80157a2116a64f72e912c04b4a45a03c50f6)
|
|
---
|
|
daemons/dmeventd/dmeventd.c | 9 ++++++---
|
|
1 file changed, 6 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/daemons/dmeventd/dmeventd.c b/daemons/dmeventd/dmeventd.c
|
|
index 2224ba23e..93dfb9bc0 100644
|
|
--- a/daemons/dmeventd/dmeventd.c
|
|
+++ b/daemons/dmeventd/dmeventd.c
|
|
@@ -606,11 +606,14 @@ static int _fill_device_data(struct thread_status *ts)
|
|
if (!dm_task_run(dmt))
|
|
goto fail;
|
|
|
|
- free(ts->device.name);
|
|
- if (!(ts->device.name = strdup(dm_task_get_name(dmt))))
|
|
+ if (!dm_task_get_info(dmt, &dmi))
|
|
goto fail;
|
|
|
|
- if (!dm_task_get_info(dmt, &dmi))
|
|
+ if (!dmi.exists)
|
|
+ goto fail;
|
|
+
|
|
+ free(ts->device.name);
|
|
+ if (!(ts->device.name = strdup(dm_task_get_name(dmt))))
|
|
goto fail;
|
|
|
|
ts->device.major = dmi.major;
|
|
--
|
|
2.51.0
|
|
|