From: Yu Watanabe Date: Mon, 26 Nov 2018 02:57:48 +0000 (+0900) Subject: udevd: do not call udev_ctrl_enable_receiving() if the socket is passed from pid1 X-Git-Tag: v240~218^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6acf1ccba5ef1741649bf858fac5afabb2328fff;p=thirdparty%2Fsystemd.git udevd: do not call udev_ctrl_enable_receiving() if the socket is passed from pid1 Before c4b69e990f962128cc6975e36e91e9ad838fa2c4, if the socket fd is passed from pid1, `udev_ctrl_enable_receiving()` was not called. Let's preserve the original logic. --- diff --git a/src/udev/udevd.c b/src/udev/udevd.c index aeec7fa77c5..3b15beb4b3d 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -1617,9 +1617,11 @@ static int manager_new(Manager **ret, int fd_ctrl, int fd_uevent, const char *cg if (!manager->ctrl) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Failed to initialize udev control socket"); - r = udev_ctrl_enable_receiving(manager->ctrl); - if (r < 0) - return log_error_errno(r, "Failed to bind udev control socket: %m"); + if (fd_ctrl < 0) { + r = udev_ctrl_enable_receiving(manager->ctrl); + if (r < 0) + return log_error_errno(r, "Failed to bind udev control socket: %m"); + } fd_ctrl = udev_ctrl_get_fd(manager->ctrl); if (fd_ctrl < 0)