From 51e6ed8b7e7efec0d50fadf56450317d04e1bb47 Mon Sep 17 00:00:00 2001 From: florian Date: Thu, 15 Sep 2022 07:59:59 +0000 Subject: [PATCH] Ignore error when we try to delete an address that's already gone. This will happen when an address expires because the vltime drops to zero. The kernel then deletes the address and slaacd tries to do so, too. The correct fix is to track in slaacd that the kernel already deleted the address for us, but that's too much work shortly before a release so just hide the ugly warning for now, it's harmless. Problem reported by semarie some time ago. OK deraadt, benno --- sbin/slaacd/slaacd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sbin/slaacd/slaacd.c b/sbin/slaacd/slaacd.c index e149479833c..4326492c545 100644 --- a/sbin/slaacd/slaacd.c +++ b/sbin/slaacd/slaacd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: slaacd.c,v 1.65 2022/07/12 16:54:59 florian Exp $ */ +/* $OpenBSD: slaacd.c,v 1.66 2022/09/15 07:59:59 florian Exp $ */ /* * Copyright (c) 2017 Florian Obser @@ -687,7 +687,8 @@ delete_address(struct imsg_configure_address *address) log_debug("%s: %s", __func__, if_name); - if (ioctl(ioctl_sock, SIOCDIFADDR_IN6, &in6_ridreq) == -1) + if (ioctl(ioctl_sock, SIOCDIFADDR_IN6, &in6_ridreq) == -1 && + errno != EADDRNOTAVAIL) log_warn("%s: cannot remove address", __func__); } -- 2.20.1