Merge branch '3727-fix-off-by-one-reference-counting-in-zonemgr_keymgmt_delete' into 'main'

Release unused key file IO lock objects

Closes #3727

See merge request isc-projects/bind9!7178
This commit is contained in:
Ondřej Surý 2022-12-08 09:24:10 +00:00
commit 855498ee6b
3 changed files with 11 additions and 1 deletions

View file

@ -1,3 +1,7 @@
6043. [bug] The key file IO locks objects would never get
deleted from the hashtable due to off-by-one error.
[GL #3727]
6042. [bug] ANY responses could sometimes have the wrong TTL.
[GL #3613]

View file

@ -79,6 +79,12 @@ Bug Fixes
- The ``named`` would wait for some outstanding recursing queries
to finish before shutting down. This has been fixed. :gl:`#3183`
- When a zone is deleted from a server, an key management objects related to
that zone would be kept in the memory and released only at the server
shutdown. This could lead to constantly increasing memory usage for servers
with a high zone churn. :gl:`#3727`
Known Issues
~~~~~~~~~~~~

View file

@ -18929,7 +18929,7 @@ zonemgr_keymgmt_delete(dns_zonemgr_t *zmgr, dns_zone_t *zone) {
if (dns_name_equal(kfio->name, &zone->origin)) {
unsigned int count;
count = atomic_fetch_sub_relaxed(&kfio->count, 1);
count = atomic_fetch_sub_relaxed(&kfio->count, 1) - 1;
if (count > 0) {
/* Keep the entry. */
break;