mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-02 15:45:25 +00:00
Merge branch '2637-threadsanitizer-lock-order-inversion-potential-deadlock-in-zone_refreshkeys' into 'main'
Fix lock-order-inversion (potential deadlock) in dns_resolver_createfetch Closes #2637 See merge request isc-projects/bind9!4909
This commit is contained in:
@@ -10827,6 +10827,7 @@ zone_refreshkeys(dns_zone_t *zone) {
|
|||||||
#ifdef ENABLE_AFL
|
#ifdef ENABLE_AFL
|
||||||
if (!dns_fuzzing_resolver) {
|
if (!dns_fuzzing_resolver) {
|
||||||
#endif /* ifdef ENABLE_AFL */
|
#endif /* ifdef ENABLE_AFL */
|
||||||
|
UNLOCK_ZONE(zone);
|
||||||
result = dns_resolver_createfetch(
|
result = dns_resolver_createfetch(
|
||||||
zone->view->resolver, kname,
|
zone->view->resolver, kname,
|
||||||
dns_rdatatype_dnskey, NULL, NULL, NULL, NULL, 0,
|
dns_rdatatype_dnskey, NULL, NULL, NULL, NULL, 0,
|
||||||
@@ -10836,6 +10837,7 @@ zone_refreshkeys(dns_zone_t *zone) {
|
|||||||
0, NULL, zone->task, keyfetch_done, kfetch,
|
0, NULL, zone->task, keyfetch_done, kfetch,
|
||||||
&kfetch->dnskeyset, &kfetch->dnskeysigset,
|
&kfetch->dnskeyset, &kfetch->dnskeysigset,
|
||||||
&kfetch->fetch);
|
&kfetch->fetch);
|
||||||
|
LOCK_ZONE(zone);
|
||||||
#ifdef ENABLE_AFL
|
#ifdef ENABLE_AFL
|
||||||
} else {
|
} else {
|
||||||
result = ISC_R_FAILURE;
|
result = ISC_R_FAILURE;
|
||||||
|
Reference in New Issue
Block a user