summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-06-23 16:17:21 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2021-06-23 16:32:42 +0900
commit068b0f77289411ef9f92f5d701759e98145a06e4 (patch)
treeb83817598242f8aecba5ae8fc85662d34c11f649
parentb4d885f0e861b2d1bb5a62311c61a96f5222b026 (diff)
downloadsystemd-068b0f77289411ef9f92f5d701759e98145a06e4.tar.gz
udev: refuse invalid ifname earlier
-rw-r--r--src/udev/udev-event.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
index 8a01e2512e..b28089be71 100644
--- a/src/udev/udev-event.c
+++ b/src/udev/udev-event.c
@@ -17,6 +17,7 @@
#include "fd-util.h"
#include "fs-util.h"
#include "format-util.h"
+#include "netif-naming-scheme.h"
#include "netlink-util.h"
#include "parse-util.h"
#include "path-util.h"
@@ -848,6 +849,12 @@ static int rename_netif(UdevEvent *event) {
if (r < 0)
return log_device_error_errno(dev, r, "Failed to get ifindex: %m");
+ if (naming_scheme_has(NAMING_REPLACE_STRICTLY) &&
+ !ifname_valid(event->name)) {
+ log_device_warning(dev, "Invalid network interface name, ignoring: %s", event->name);
+ return 0;
+ }
+
/* Set ID_RENAMING boolean property here, and drop it in the corresponding move uevent later. */
r = device_add_property(dev, "ID_RENAMING", "1");
if (r < 0)