|
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;
|