HomeFreeBSD

Fix if_(m)addr_rlock().

Description

Fix if_(m)addr_rlock().

The use of a per-ifnet epoch context meant that these KPIs were not
reentrant. This was fixed in head in r340413, but the change cannot
be MFCed because it breaks the KBI by modifying struct thread. This
is a direct commit to stable/12 which uses a per-CPU mutex to fix
the problem without changing the KBI.

PR: 236846
Submitted by: hselasky
Reported and tested by: Viktor Dukhovni <ietf-dane@dukhovni.org>
Reviewed by: hselasky (previous version)
Differential Revision: https://reviews.freebsd.org/D19764

Details

Provenance
markjAuthored on
Reviewer
hselasky
Differential Revision
D19764: Fix if_(m)addr_rlock() on stable/12.
Parents
rS345763: Correct a port number assignment.
Branches
Unknown
Tags
Unknown