From 53c8590f8d811dc9dc985e849de7d9a1fd4413ff Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sun, 28 Aug 2022 11:14:51 +0900 Subject: [PATCH] udev: do not kill workers when requested to set the same log level currently assigned Also refuse invalid log level. --- src/udev/udevd.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 028492721e5..b179dfac370 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -1254,7 +1254,17 @@ static int on_ctrl_msg(UdevCtrl *uctrl, UdevCtrlMessageType type, const UdevCtrl switch (type) { case UDEV_CTRL_SET_LOG_LEVEL: + if ((value->intval & LOG_PRIMASK) != value->intval) { + log_debug("Received invalid udev control message (SET_LOG_LEVEL, %i), ignoring.", value->intval); + break; + } + log_debug("Received udev control message (SET_LOG_LEVEL), setting log_level=%i", value->intval); + + r = log_get_max_level(); + if (r == value->intval) + break; + log_set_max_level(value->intval); manager->log_level = value->intval; manager_kill_workers(manager, false); -- 2.47.3