From: Ondřej Surý Date: Fri, 20 Mar 2026 16:18:04 +0000 (+0100) Subject: chg: dev: Fix cache flush ordering on NTA expiry X-Git-Tag: v9.21.21~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0b0931a5b12dc0a0f0a3837dffaed4e5bfc27018;p=thirdparty%2Fbind9.git chg: dev: Fix cache flush ordering on NTA expiry 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). Move dns_view_flushnode() into dns_ntatable_covered() so the cache is flushed synchronously when the expiry is detected, before the query continues. Also simplify the expiry comparison in delete_expired() to a direct pointer comparison (nta == pval) instead of comparing expiry timestamps. Merge branch 'ondrej/refactor-nta-using-RCU-delete-order-fix' into 'main' See merge request isc-projects/bind9!11729 --- 0b0931a5b12dc0a0f0a3837dffaed4e5bfc27018