]> git.ipfire.org Git - thirdparty/bind9.git/commit
Don't remove ADB entry from LRU before trying to expire it
authorOndřej Surý <ondrej@isc.org>
Thu, 16 Feb 2023 11:26:01 +0000 (12:26 +0100)
committerOndřej Surý <ondrej@isc.org>
Fri, 17 Feb 2023 06:16:50 +0000 (07:16 +0100)
commit668d287d01fd2518d0609c1c7be413355e3c38bd
treeae920bcfbdd8ef58bbd11ab3807f437d15348348
parent51e0b8994e25f7178ea8692c20324a71ab8c7afc
Don't remove ADB entry from LRU before trying to expire it

There was a code flow error that would remove the expired ADB entry from
the LRU list and then a check in the expire_entry() would cause
assertion error because it expect the ADB entry to be linked.

Additionally, the expire mechanism would loop for cases when we would
held only a read rwlock; in such case we need to upgrade the lock and
try again, not just try again.
lib/dns/adb.c