mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 14:35:26 +00:00
Attach to the dns_dispatchmgr in the dns_view object
The dns_dispatchmgr object was only set in the dns_view object making it prone to use-after-free in the dns_xfrin unit when shutting down named. Remove dns_view_setdispatchmgr() and optionally pass the dispatchmgr directly to dns_view_create() when it is attached and not just assigned, so the dns_dispatchmgr doesn't cease to exist too early. The dns_view_getdnsdispatchmgr() is now protected by the RCU lock, the dispatchmgr reference is incremented, so the caller needs to detach from it, and the function can return NULL in case the dns_view has been already shut down.
This commit is contained in:
@@ -439,7 +439,8 @@ ns_test_qctx_create(const ns_test_qctx_create_params_t *params,
|
||||
/*
|
||||
* Every client needs to belong to a view.
|
||||
*/
|
||||
result = dns_test_makeview("view", params->with_cache, &client->view);
|
||||
result = dns_test_makeview("view", false, params->with_cache,
|
||||
&client->view);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
goto detach_client;
|
||||
}
|
||||
|
Reference in New Issue
Block a user