1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +03:00

network/route: ignore EEXIST reply when the corresponding request is already detached

Follow-ups for db8dc7c1dd.
Fixes #34275.
This commit is contained in:
Yu Watanabe 2024-09-06 08:58:18 +09:00
parent b798f658a2
commit 195bb6f97e

View File

@ -719,6 +719,13 @@ static int route_update_on_existing(Request *req) {
Route *rt = ASSERT_PTR(ASSERT_PTR(req)->userdata);
int r;
if (!req->manager)
/* Already detached? At least there are two posibilities then.
* 1) The interface is removed, and all queued requests for the interface are cancelled.
* 2) networkd is now stopping, hence all queued requests are cancelled.
* Anyway, we can ignore the request, and there is nothing we can do. */
return 0;
if (rt->family == AF_INET || ordered_set_isempty(rt->nexthops))
return route_update_on_existing_one(req, rt);