]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
The nodefullname doesn't need a read lock to access .name
authorOndřej Surý <ondrej@isc.org>
Wed, 2 Jul 2025 16:19:50 +0000 (18:19 +0200)
committerOndřej Surý <ondrej@isc.org>
Fri, 15 Aug 2025 05:29:02 +0000 (07:29 +0200)
The qpznode->name is constant - assigned when the node is created
and it is immutable, so there's no reason to have it locked at all.

lib/dns/qpzone.c

index 8e6fa99a39cac67891e089e3b29922dee2bad57e..139e0a1954735740a44a24cc1c2a1fc8a2ba5cd1 100644 (file)
@@ -5144,18 +5144,12 @@ qpzone_deleterdataset(dns_db_t *db, dns_dbnode_t *dbnode,
 
 static isc_result_t
 nodefullname(dns_dbnode_t *node, dns_name_t *name) {
-       qpznode_t *qpnode = (qpznode_t *)node;
-       isc_rwlocktype_t nlocktype = isc_rwlocktype_none;
-       isc_rwlock_t *nlock = NULL;
-
        REQUIRE(node != NULL);
        REQUIRE(name != NULL);
 
-       nlock = qpzone_get_lock(qpnode);
+       qpznode_t *qpnode = (qpznode_t *)node;
 
-       NODE_RDLOCK(nlock, &nlocktype);
        dns_name_copy(&qpnode->name, name);
-       NODE_UNLOCK(nlock, &nlocktype);
 
        return ISC_R_SUCCESS;
 }