Michał Kępień
74cd632f18
Prevent a race after zone load
...
Zone loading happens in a different task (zone->loadtask) than other
zone actions (zone->task). Thus, when zone_postload() is called in the
context of zone->loadtask, it may cause zone maintenance to be queued in
zone->task and another thread can then execute zone_maintenance() before
zone_postload() gets a chance to finish its work in the first thread.
This would not be a problem if zone_maintenance() accounted for this
possibility by locking the zone before checking the state of its
DNS_ZONEFLG_LOADPENDING flag. However, the zone is currently not locked
before the state of that flag is checked, which may prevent zone
maintenance from happening despite zone_postload() scheduling it. Fix
by locking the zone in zone_maintenance() before checking the state of
the zone's DNS_ZONEFLG_LOADPENDING flag.
(cherry picked from commit 56003e9f9f )
2018-09-26 19:46:21 -07:00
..
2018-09-10 17:40:19 +10:00
2018-08-10 15:20:57 +02:00
2018-08-31 12:25:01 +10:00
2018-08-28 16:53:43 +02:00
2018-09-07 16:55:22 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-08 14:27:44 -07:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-05-11 14:25:15 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-03-14 16:40:20 -07:00
2018-08-10 15:20:58 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-05-11 14:25:15 +02:00
2018-08-10 15:20:57 +02:00
2018-03-14 16:40:20 -07:00
2018-08-10 15:20:57 +02:00
2018-05-11 14:25:15 +02:00
2018-05-03 21:48:44 +02:00
2018-08-10 15:20:57 +02:00
2018-05-11 14:25:15 +02:00
2018-03-14 16:40:20 -07:00
2018-05-11 14:25:15 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-04-10 13:14:25 -07:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-09-10 17:40:19 +10:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-05-11 14:25:15 +02:00
2018-08-10 15:20:57 +02:00
2018-04-10 13:14:25 -07:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-14 12:53:44 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-03-14 16:40:20 -07:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-03-14 16:40:20 -07:00
2018-03-14 16:40:20 -07:00
2018-08-10 15:20:57 +02:00
2018-05-11 14:25:15 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-05-11 14:25:15 +02:00
2018-05-11 14:25:15 +02:00
2018-08-10 15:20:57 +02:00
2018-05-11 14:25:15 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-12 16:12:14 +02:00
2018-03-14 16:40:20 -07:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-05-11 14:25:15 +02:00
2018-05-11 14:25:15 +02:00
2018-05-11 14:25:15 +02:00
2018-08-10 15:20:58 +02:00
2018-05-11 14:25:15 +02:00
2018-08-10 15:20:57 +02:00
2018-09-10 17:40:19 +10:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-05-11 14:25:15 +02:00
2018-08-28 16:53:43 +02:00
2018-08-10 15:20:57 +02:00
2018-08-10 15:20:57 +02:00
2018-09-26 19:46:21 -07:00
2018-08-10 15:20:57 +02:00
2018-08-28 16:53:43 +02:00