lvm2/0039-dmeventd-check-device-exists.patch
Marian Csontos 275cf34782 Update lvm2 to upstream version 2.03.33
Resolves: RHEL-106257
2025-09-29 18:15:33 +02:00

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