From df75dd34f6a7a61a49a4e8c3397727d5f20e0729 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 8 Aug 2025 10:06:22 +0900 Subject: [PATCH 1/2] test-network: also save the current state of socket units for resolved and stop them Silence the following waring: ``` Stopping 'systemd-resolved.service', but its triggering units are still active: systemd-resolved-varlink.socket, systemd-resolved-monitor.socket ``` Follow-up for 0fa188307b1c286e7b86201b1cfb91014b970092. --- test/test-network/systemd-networkd-tests.py | 22 +++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 0ea0f03b77..b650b34f98 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -427,6 +427,8 @@ def save_active_units(): 'systemd-networkd.socket', 'systemd-networkd-varlink.socket', 'systemd-networkd.service', + 'systemd-resolved-monitor.socket', + 'systemd-resolved-varlink.socket', 'systemd-resolved.service', 'systemd-timesyncd.service', 'firewalld.service' @@ -436,19 +438,31 @@ def save_active_units(): active_units.append(u) def restore_active_units(): - has_socket = False + has_network_socket = False + has_resolve_socket = False if 'systemd-networkd.socket' in active_units: call('systemctl stop systemd-networkd.socket') - has_socket = True + has_network_socket = True if 'systemd-networkd-varlink.socket' in active_units: call('systemctl stop systemd-networkd-varlink.socket') - has_socket = True + has_network_socket = True - if has_socket: + if 'systemd-resolved-monitor.socket' in active_units: + call('systemctl stop systemd-resolved-monitor.socket') + has_resolve_socket = True + + if 'systemd-resolved-varlink.socket' in active_units: + call('systemctl stop systemd-resolved-varlink.socket') + has_resolve_socket = True + + if has_network_socket: call('systemctl stop systemd-networkd.service') + if has_resolve_socket: + call('systemctl stop systemd-resolved.service') + for u in active_units: call(f'systemctl restart {u}') From 570210eb281f33e4c013cfdabc142838691aaa9f Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 8 Aug 2025 19:39:28 +0900 Subject: [PATCH 2/2] network/bridge-vlan: fix segfault Fixes a bug introduced by 78738adf88ad288a6af37a1998adc749ac6b5f2d. Fixes #38515. --- src/network/networkd-bridge-vlan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/networkd-bridge-vlan.c b/src/network/networkd-bridge-vlan.c index eb2131c272..0b3fb62860 100644 --- a/src/network/networkd-bridge-vlan.c +++ b/src/network/networkd-bridge-vlan.c @@ -245,7 +245,7 @@ int bridge_vlan_set_message(Link *link, sd_netlink_message *m, bool is_set) { if (r < 0) return r; - if (link->master_ifindex <= 0 || streq(link->kind, "bridge")) { + if (link->master_ifindex <= 0 || streq_ptr(link->kind, "bridge")) { /* If the setting is requested in a .network file for a bridge master (or a physical master) * interface, then BRIDGE_FLAGS_SELF flag needs to be set. */ r = sd_netlink_message_append_u16(m, IFLA_BRIDGE_FLAGS, BRIDGE_FLAGS_SELF);