From: Yu Watanabe Date: Tue, 29 Jan 2019 12:55:27 +0000 (+0100) Subject: udevd: always block follwoing events with same devpath X-Git-Tag: v242-rc1~319^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=baa461fc05934d02ece3abd7666c144549c695cf;p=thirdparty%2Fsystemd.git udevd: always block follwoing events with same devpath Originally commented as "devices names might have changed/swapped in the meantime", but may not. For safety, let's block the following events with same devpath. This may fix #6514. --- diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 488a980742a..79191ffaf1b 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -756,12 +756,8 @@ static int is_device_busy(Manager *manager, struct event *event) { continue; /* identical device event found */ - if (devpath_len == loop_devpath_len) { - /* devices names might have changed/swapped in the meantime */ - if (major(devnum) != 0 || ifindex > 0) - continue; + if (devpath_len == loop_devpath_len) goto set_delaying_seqnum; - } /* parent device event found */ if (devpath[common] == '/')