From f1b1fca2ccbfd7d58350eb136105fdaf8aa4f59c Mon Sep 17 00:00:00 2001 From: Christophe Varoqui Date: Sat, 9 Jun 2007 18:35:09 +0200 Subject: [PATCH] [multipathd] Fix segfault on disappearing paths 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 --- multipathd/main.c | 3 +++ 1 file changed, 3 insertions(+) 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); /* -- 2.7.4