From 6acf1ccba5ef1741649bf858fac5afabb2328fff Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 26 Nov 2018 11:57:48 +0900 Subject: [PATCH] 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. --- src/udev/udevd.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/udev/udevd.c b/src/udev/udevd.c index aeec7fa77c..3b15beb4b3 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)