From 9951c8df1e8c10fb97e3509f3adafaf5585c9fcb Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 2 Jun 2021 15:31:50 +0200 Subject: [PATCH] pid1: properly propagate errors from device_setup_unit() We want to propagate errors here, since we want to make dependent on the success of creating the main device unit the creation of the auxiliary device units. Thus if we suppress errors here we might end up in exotic corner cases in a situation were we create the auxiliary ("following") device units without the primary one. --- src/core/device.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/core/device.c b/src/core/device.c index 03a2a9f22a2..62a987dea7a 100644 --- a/src/core/device.c +++ b/src/core/device.c @@ -493,10 +493,8 @@ static int device_setup_unit(Manager *m, sd_device *dev, const char *path, bool if (dev) { r = sd_device_get_syspath(dev, &sysfs); - if (r < 0) { - log_device_debug_errno(dev, r, "Couldn't get syspath from device, ignoring: %m"); - return 0; - } + if (r < 0) + return log_device_debug_errno(dev, r, "Couldn't get syspath from device, ignoring: %m"); } r = unit_name_from_path(path, ".device", &e); -- 2.47.3