[dm-devel] [PATCH] Fix segfault on disappearing paths

Guido Guenther agx at sigxcpu.org
Sat Jun 9 15:29:20 UTC 2007


The path might already be gone when we process the udev event, in this case
sysfs_device_get return NULL:

Jun 09 16:56:06 | ID_FS_LABEL=
Jun 09 16:56:06 | ID_FS_LABEL_SAFE=
Jun 09 16:56:06 | DEVLINKS=/dev/disk/by-id/scsi-1494554000000000000000000000000010000069d0000000d /dev/disk/by-path/ip-10.0.0.3:3260-iscsi-iqn.2006-12.nix.rs45:storage.disk1-lun-0 /dev/disk/by-uuid/c8db60a3-7795-45cd-8369-a0f9ee876032
Jun 09 16:56:06 | DEVNAME=/dev/sda
/block/sda
open '/block/sda'
stat '/sys/block/sda' failed: No such file or directory
Segmentation fault (core dumped)

Signed-off-by: Guido Guenther <agx at sigxcpu.org>
---
 multipathd/main.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/multipathd/main.c b/multipathd/main.c
index a173da3..c432331 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -635,6 +635,9 @@ uev_trigger (struct uevent * uev, void * trigger_data)
 		return 0;
 
 	sysdev = sysfs_device_get(uev->devpath);
+	if(!sysdev)
+		return 0;	
+
 	lock(vecs->lock);
 
 	/*
-- 
1.5.2.1




More information about the dm-devel mailing list