[dm-devel] [PATCH 3/3] libmultipath: check return value of udev_device_get_devnum()

mwilck at suse.com mwilck at suse.com
Tue Feb 2 21:41:31 UTC 2021


From: Martin Wilck <mwilck at suse.com>

udev_device_get_devnum() may fail, in which case it returns
makedev(0, 0).

Signed-off-by: Martin Wilck <mwilck at suse.com>
---
 libmultipath/discovery.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
index 921025d..15cf641 100644
--- a/libmultipath/discovery.c
+++ b/libmultipath/discovery.c
@@ -1659,6 +1659,9 @@ common_sysfs_pathinfo (struct path * pp)
 		return PATHINFO_FAILED;
 	}
 	devt = udev_device_get_devnum(pp->udev);
+	if (major(devt) == 0 && minor(devt) == 0)
+		return PATHINFO_FAILED;
+
 	snprintf(pp->dev_t, BLK_DEV_SIZE, "%d:%d", major(devt), minor(devt));
 
 	condlog(4, "%s: dev_t = %s", pp->dev, pp->dev_t);
-- 
2.29.2





More information about the dm-devel mailing list