ryantimwilson / rpms / systemd

Forked from rpms/systemd a month ago
Clone
Zbigniew Jędrzejewski-Szmek 6384ab
From 5cdb3f70ebe035323f4f079028a262669a2bbbf6 Mon Sep 17 00:00:00 2001
Zbigniew Jędrzejewski-Szmek 6384ab
From: Yu Watanabe <watanabe.yu+github@gmail.com>
Zbigniew Jędrzejewski-Szmek 6384ab
Date: Fri, 19 Mar 2021 06:26:53 +0900
Zbigniew Jędrzejewski-Szmek 6384ab
Subject: [PATCH] udev: do not try to assign invalid ifname
Zbigniew Jędrzejewski-Szmek 6384ab
Zbigniew Jędrzejewski-Szmek 6384ab
Fixes #19038.
Zbigniew Jędrzejewski-Szmek 6384ab
---
Zbigniew Jędrzejewski-Szmek 6384ab
 src/udev/net/link-config.c | 18 +++++++-----------
Zbigniew Jędrzejewski-Szmek 6384ab
 1 file changed, 7 insertions(+), 11 deletions(-)
Zbigniew Jędrzejewski-Szmek 6384ab
Zbigniew Jędrzejewski-Szmek 6384ab
diff --git a/src/udev/net/link-config.c b/src/udev/net/link-config.c
Zbigniew Jędrzejewski-Szmek 6384ab
index f06ecd455df..31e5d0cd673 100644
Zbigniew Jędrzejewski-Szmek 6384ab
--- a/src/udev/net/link-config.c
Zbigniew Jędrzejewski-Szmek 6384ab
+++ b/src/udev/net/link-config.c
Zbigniew Jędrzejewski-Szmek 6384ab
@@ -441,8 +441,6 @@ static int link_config_apply_rtnl_settings(sd_netlink **rtnl, const link_config
Zbigniew Jędrzejewski-Szmek 6384ab
 
Zbigniew Jędrzejewski-Szmek 6384ab
 static int link_config_generate_new_name(const link_config_ctx *ctx, const link_config *config, sd_device *device, const char **ret_name) {
Zbigniew Jędrzejewski-Szmek 6384ab
         unsigned name_type = NET_NAME_UNKNOWN;
Zbigniew Jędrzejewski-Szmek 6384ab
-        const char *new_name = NULL;
Zbigniew Jędrzejewski-Szmek 6384ab
-        NamePolicy policy;
Zbigniew Jędrzejewski-Szmek 6384ab
         int r;
Zbigniew Jędrzejewski-Szmek 6384ab
 
Zbigniew Jędrzejewski-Szmek 6384ab
         assert(ctx);
Zbigniew Jędrzejewski-Szmek 6384ab
@@ -460,7 +458,8 @@ static int link_config_generate_new_name(const link_config_ctx *ctx, const link_
Zbigniew Jędrzejewski-Szmek 6384ab
 
Zbigniew Jędrzejewski-Szmek 6384ab
         if (ctx->enable_name_policy && config->name_policy)
Zbigniew Jędrzejewski-Szmek 6384ab
                 for (NamePolicy *p = config->name_policy; *p != _NAMEPOLICY_INVALID; p++) {
Zbigniew Jędrzejewski-Szmek 6384ab
-                        policy = *p;
Zbigniew Jędrzejewski-Szmek 6384ab
+                        const char *new_name = NULL;
Zbigniew Jędrzejewski-Szmek 6384ab
+                        NamePolicy policy = *p;
Zbigniew Jędrzejewski-Szmek 6384ab
 
Zbigniew Jędrzejewski-Szmek 6384ab
                         switch (policy) {
Zbigniew Jędrzejewski-Szmek 6384ab
                         case NAMEPOLICY_KERNEL:
Zbigniew Jędrzejewski-Szmek 6384ab
@@ -496,16 +495,13 @@ static int link_config_generate_new_name(const link_config_ctx *ctx, const link_
Zbigniew Jędrzejewski-Szmek 6384ab
                         default:
Zbigniew Jędrzejewski-Szmek 6384ab
                                 assert_not_reached("invalid policy");
Zbigniew Jędrzejewski-Szmek 6384ab
                         }
Zbigniew Jędrzejewski-Szmek 6384ab
-                        if (ifname_valid(new_name))
Zbigniew Jędrzejewski-Szmek 6384ab
-                                break;
Zbigniew Jędrzejewski-Szmek 6384ab
+                        if (ifname_valid(new_name)) {
Zbigniew Jędrzejewski-Szmek 6384ab
+                                log_device_debug(device, "Policy *%s* yields \"%s\".", name_policy_to_string(policy), new_name);
Zbigniew Jędrzejewski-Szmek 6384ab
+                                *ret_name = new_name;
Zbigniew Jędrzejewski-Szmek 6384ab
+                                return 0;
Zbigniew Jędrzejewski-Szmek 6384ab
+                        }
Zbigniew Jędrzejewski-Szmek 6384ab
                 }
Zbigniew Jędrzejewski-Szmek 6384ab
 
Zbigniew Jędrzejewski-Szmek 6384ab
-        if (new_name) {
Zbigniew Jędrzejewski-Szmek 6384ab
-                log_device_debug(device, "Policy *%s* yields \"%s\".", name_policy_to_string(policy), new_name);
Zbigniew Jędrzejewski-Szmek 6384ab
-                *ret_name = new_name;
Zbigniew Jędrzejewski-Szmek 6384ab
-                return 0;
Zbigniew Jędrzejewski-Szmek 6384ab
-        }
Zbigniew Jędrzejewski-Szmek 6384ab
-
Zbigniew Jędrzejewski-Szmek 6384ab
         if (config->name) {
Zbigniew Jędrzejewski-Szmek 6384ab
                 log_device_debug(device, "Policies didn't yield a name, using specified Name=%s.", config->name);
Zbigniew Jędrzejewski-Szmek 6384ab
                 *ret_name = config->name;