From: Yu Watanabe Date: Wed, 23 Jun 2021 06:39:04 +0000 (+0900) Subject: udev: only network interface can be renamed X-Git-Tag: v249-rc2~11^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d37f3e3ec560da810c00610717b73edb380a7a48;p=thirdparty%2Fsystemd.git udev: only network interface can be renamed --- diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c index c37c86a5411..d2fc1fcced4 100644 --- a/src/udev/udev-rules.c +++ b/src/udev/udev-rules.c @@ -2053,6 +2053,13 @@ static int udev_rule_apply_token_to_event( if (token->op == OP_ASSIGN_FINAL) event->name_final = true; + if (sd_device_get_ifindex(dev, NULL) < 0) { + log_rule_error(dev, rules, + "Only network interface can be renamed, ignoring NAME=\"%s\"; please fix it.", + token->value); + break; + } + (void) udev_event_apply_format(event, token->value, buf, sizeof(buf), false); if (IN_SET(event->esc, ESCAPE_UNSET, ESCAPE_REPLACE)) { count = udev_replace_chars(buf, "/"); @@ -2060,14 +2067,6 @@ static int udev_rule_apply_token_to_event( log_rule_debug(dev, rules, "Replaced %zu character(s) from result of NAME=\"%s\"", count, token->value); } - if (sd_device_get_devnum(dev, NULL) >= 0 && - (sd_device_get_devname(dev, &val) < 0 || - !streq_ptr(buf, path_startswith(val, "/dev/")))) { - log_rule_error(dev, rules, - "Kernel device nodes cannot be renamed, ignoring NAME=\"%s\"; please fix it.", - token->value); - break; - } r = free_and_strdup_warn(&event->name, buf); if (r < 0) return r;