From: Yu Watanabe Date: Sun, 28 Aug 2022 02:14:51 +0000 (+0900) Subject: udev: do not kill workers when requested to set the same log level currently assigned X-Git-Tag: v252-rc1~315 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=53c8590f8d811dc9dc985e849de7d9a1fd4413ff;p=thirdparty%2Fsystemd.git udev: do not kill workers when requested to set the same log level currently assigned Also refuse invalid log level. --- 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);