From be26893c85b7200d41440792928f5ebbf06fa8cb Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sun, 10 Dec 2023 16:03:52 +0900 Subject: [PATCH 1/3] network/neighbor: add missing OOM check --- src/network/networkd-neighbor.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/network/networkd-neighbor.c b/src/network/networkd-neighbor.c index e9986567ac..62d6f324c0 100644 --- a/src/network/networkd-neighbor.c +++ b/src/network/networkd-neighbor.c @@ -530,6 +530,8 @@ int manager_rtnl_process_neighbor(sd_netlink *rtnl, sd_netlink_message *message, return 0; tmp = new0(Neighbor, 1); + if (!tmp) + return log_oom(); /* First, retrieve the fundamental information about the neighbor. */ r = sd_rtnl_message_neigh_get_family(message, &tmp->family); From e924dc598ef588d8c32101d1ffe44fd60c3f988d Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 11 Dec 2023 15:19:02 +0900 Subject: [PATCH 2/3] network: adjust log message The address or neighbor processed here may not be foreign. --- src/network/networkd-address.c | 2 +- src/network/networkd-neighbor.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/network/networkd-address.c b/src/network/networkd-address.c index 7071137676..29c424026e 100644 --- a/src/network/networkd-address.c +++ b/src/network/networkd-address.c @@ -1802,7 +1802,7 @@ int manager_rtnl_process_address(sd_netlink *rtnl, sd_netlink_message *message, /* If we did not know the address, then save it. */ r = address_add(link, tmp); if (r < 0) { - log_link_warning_errno(link, r, "Failed to remember foreign address %s, ignoring: %m", + log_link_warning_errno(link, r, "Failed to save received address %s, ignoring: %m", IN_ADDR_PREFIX_TO_STRING(tmp->family, &tmp->in_addr, tmp->prefixlen)); return 0; } diff --git a/src/network/networkd-neighbor.c b/src/network/networkd-neighbor.c index 62d6f324c0..eb208c183c 100644 --- a/src/network/networkd-neighbor.c +++ b/src/network/networkd-neighbor.c @@ -574,7 +574,7 @@ int manager_rtnl_process_neighbor(sd_netlink *rtnl, sd_netlink_message *message, if (!neighbor) { r = neighbor_add(link, tmp); if (r < 0) { - log_link_warning_errno(link, r, "Failed to remember foreign neighbor, ignoring: %m"); + log_link_warning_errno(link, r, "Failed to save received neighbor, ignoring: %m"); return 0; } neighbor = TAKE_PTR(tmp); From cfe69f962be7295a8e4589620677e816872c2a3d Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 11 Dec 2023 15:44:08 +0900 Subject: [PATCH 3/3] network: drop unused Manager.routes_foreign --- src/network/networkd-manager.c | 1 - src/network/networkd-manager.h | 1 - 2 files changed, 2 deletions(-) diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index bdf6088f2f..fca5d76618 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -647,7 +647,6 @@ Manager* manager_free(Manager *m) { * by the upstream link. And the links may be referenced by netlink slots. Hence, two * set_free() must be called after the above sd_netlink_unref(). */ m->routes = set_free(m->routes); - m->routes_foreign = set_free(m->routes_foreign); m->nexthops = set_free(m->nexthops); m->nexthops_by_id = hashmap_free(m->nexthops_by_id); diff --git a/src/network/networkd-manager.h b/src/network/networkd-manager.h index 65bd5073a5..fbef5289d2 100644 --- a/src/network/networkd-manager.h +++ b/src/network/networkd-manager.h @@ -79,7 +79,6 @@ struct Manager { /* Manager stores routes without RTA_OIF attribute. */ unsigned route_remove_messages; Set *routes; - Set *routes_foreign; /* Route table name */ Hashmap *route_table_numbers_by_name;