From: Daan De Meyer Date: Mon, 3 Mar 2025 20:00:33 +0000 (+0100) Subject: network: Use RTNH_COMPARE_MASK in route_can_update() (#36585) X-Git-Tag: v258-rc1~1200 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9fd25fd3ce4012e737688f0f1f3400c3e21c99f7;p=thirdparty%2Fsystemd.git network: Use RTNH_COMPARE_MASK in route_can_update() (#36585) Let's only compare flags that can be set by userspace and not all flags. Fixes a bug introduced by 7027cdbd79c26d5a8890759a37d70165c8aeb214 (v256). Fixes #36544 --- diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c index 9498fa4ccc8..cdc1f307af0 100644 --- a/src/network/networkd-route.c +++ b/src/network/networkd-route.c @@ -1413,7 +1413,7 @@ bool route_can_update(const Route *existing, const Route *requesting) { return false; if (existing->type != requesting->type) return false; - if (existing->flags != requesting->flags) + if ((existing->flags & ~RTNH_COMPARE_MASK) != (requesting->flags & ~RTNH_COMPARE_MASK)) return false; if (!in6_addr_equal(&existing->prefsrc.in6, &requesting->prefsrc.in6)) return false;