HomeFreeBSD

For compatibility KPI functions like if_addr_rlock() that used to have

Description

For compatibility KPI functions like if_addr_rlock() that used to have
mutexes but now are converted to epoch(9) use thread-private epoch_tracker.
Embedding tracker into ifnet(9) or ifnet derived structures creates a non
reentrable function, that will fail miserably if called simultaneously from
two different contexts.
A thread private tracker will provide a single tracker that would allow to
call these functions safely. It doesn't allow nested call, but this is not
expected from compatibility KPIs.

Reviewed by: markj

Details

Provenance
glebiusAuthored on
Reviewer
markj
Parents
rS340412: Use atomic_load_acq_int() here too to poll done, ala r328521
Branches
Unknown
Tags
Unknown