mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 06:25:31 +00:00
Merge branch '4493-data-race-in-xfrin_send_request' into 'main'
Resolve "ThreadSanitizer: data race xfrin.c:1555:2 in xfrin_send_request" Closes #4493 See merge request isc-projects/bind9!8579
This commit is contained in:
4
CHANGES
4
CHANGES
@@ -1,3 +1,7 @@
|
|||||||
|
6301. [bug] Fix data races with atomic members of the xfrin
|
||||||
|
structure in xfrin_start() and xfrin_send_request()
|
||||||
|
functions. [GL #4493]
|
||||||
|
|
||||||
6300. [bug] Fix statistics export to use full 64 bit signed numbers
|
6300. [bug] Fix statistics export to use full 64 bit signed numbers
|
||||||
instead of truncating values to unsigned 32 bits.
|
instead of truncating values to unsigned 32 bits.
|
||||||
[GL #4467]
|
[GL #4467]
|
||||||
|
@@ -1260,8 +1260,8 @@ xfrin_start(dns_xfrin_t *xfr) {
|
|||||||
* The "SOA before" mode is used, where the SOA request is
|
* The "SOA before" mode is used, where the SOA request is
|
||||||
* using the same transport as the XFR.
|
* using the same transport as the XFR.
|
||||||
*/
|
*/
|
||||||
atomic_init(&xfr->soa_transport_type,
|
atomic_store_relaxed(&xfr->soa_transport_type,
|
||||||
dns_xfrin_gettransporttype(xfr));
|
dns_xfrin_gettransporttype(xfr));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set the maximum timer */
|
/* Set the maximum timer */
|
||||||
@@ -1552,10 +1552,10 @@ xfrin_send_request(dns_xfrin_t *xfr) {
|
|||||||
CHECK(add_opt(msg, udpsize, reqnsid, reqexpire));
|
CHECK(add_opt(msg, udpsize, reqnsid, reqexpire));
|
||||||
}
|
}
|
||||||
|
|
||||||
atomic_init(&xfr->nmsg, 0);
|
atomic_store_relaxed(&xfr->nmsg, 0);
|
||||||
atomic_init(&xfr->nrecs, 0);
|
atomic_store_relaxed(&xfr->nrecs, 0);
|
||||||
atomic_init(&xfr->nbytes, 0);
|
atomic_store_relaxed(&xfr->nbytes, 0);
|
||||||
atomic_init(&xfr->start, isc_time_now());
|
atomic_store_relaxed(&xfr->start, isc_time_now());
|
||||||
|
|
||||||
msg->id = xfr->id;
|
msg->id = xfr->id;
|
||||||
if (xfr->tsigctx != NULL) {
|
if (xfr->tsigctx != NULL) {
|
||||||
|
Reference in New Issue
Block a user