mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 14:35:26 +00:00
[master] SIT/max-cache-size flag collision
3824. [bug] A collision between two flag values could cause problems with cache cleaning when SIT was enabled. [RT #35858]
This commit is contained in:
@@ -357,7 +357,7 @@ static void dump_entry(FILE *, dns_adbentry_t *, isc_boolean_t, isc_stdtime_t);
|
||||
* Private flag(s) for entries.
|
||||
* MUST NOT overlap FCTX_ADDRINFO_xxx and DNS_FETCHOPT_NOEDNS0.
|
||||
*/
|
||||
#define ENTRY_IS_DEAD 0x80000000
|
||||
#define ENTRY_IS_DEAD 0x00400000
|
||||
|
||||
/*
|
||||
* To the name, address classes are all that really exist. If it has a
|
||||
@@ -4041,6 +4041,9 @@ dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr,
|
||||
REQUIRE(DNS_ADB_VALID(adb));
|
||||
REQUIRE(DNS_ADBADDRINFO_VALID(addr));
|
||||
|
||||
REQUIRE((bits & ENTRY_IS_DEAD) == 0);
|
||||
REQUIRE((mask & ENTRY_IS_DEAD) == 0);
|
||||
|
||||
bucket = addr->entry->lock_bucket;
|
||||
LOCK(&adb->entrylocks[bucket]);
|
||||
|
||||
|
Reference in New Issue
Block a user