]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[9.20] chg: dev: Skip cache flush ordering on NTA expiry
authorOndřej Surý <ondrej@isc.org>
Mon, 23 Mar 2026 10:08:04 +0000 (11:08 +0100)
committerOndřej Surý <ondrej@isc.org>
Mon, 23 Mar 2026 10:08:04 +0000 (11:08 +0100)
dns_view_flushnode() was called in the delete_expired() async
callback, which runs after the query that detected the NTA expiry.
This created a race: the query would proceed with stale cached data
from the NTA period before the flush had a chance to run, resulting
in transient SERVFAIL with EDE 22 (No Reachable Authority).

Skip dns_view_flushnode() in the older branches as the solutions for
older branches are too complicated and this was not a critical bug.

Also simplify the expiry comparison in delete_expired() to a direct
pointer comparison (nta == pval) instead of comparing expiry
timestamps.

Backport of MR !11729

Merge branch 'backport-ondrej/refactor-nta-using-RCU-delete-order-fix-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11730


Trivial merge