0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-11-09 20:58:44 +00:00

Fixed possible race condition in hostcache trie matching code not triggering HCU

This commit is contained in:
Maria Matejka 2022-09-23 09:57:40 +02:00
parent b1ade5efa1
commit 5338a779c9

View File

@ -4445,11 +4445,16 @@ hc_notify_export_one(struct rt_export_request *req, const net_addr *net, struct
struct hostcache *hc = SKIP_BACK(struct hostcache, req, req);
/* No interest in this update, mark seen only */
if (ev_active(&hc->update) || !trie_match_net(hc->trie, net))
{
rpe_mark_seen_all(req->hook, first, NULL);
int interested = 1;
RT_LOCKED((rtable *) hc->update.data, tab)
if (ev_active(&hc->update) || !trie_match_net(hc->trie, net))
{
rpe_mark_seen_all(req->hook, first, NULL);
interested = 0;
}
if (!interested)
return;
}
/* This net may affect some hostentries, check the actual change */
rte *o = RTE_VALID_OR_NULL(first->old_best);