HomeFreeBSD

Enter epoch when addding IPv4 multicast forwarding cache entry

Description

Enter epoch when addding IPv4 multicast forwarding cache entry

The code path from the IPv4 multicast setsockopt could call ip_output()
without entering an epoch. Specifically, the MRT_ADD_MFC setbsocopt
would call add_mfc(), which in turn called ip_mdq() to send queued
packets. This resulted in an epoch assert failure in ip_output().
Enter an epoch in add_mfc(), and add some epoch asserts to check
for similar failures.

Reviewed by: kp, bz, wma, cy
Differential Revision: https://reviews.freebsd.org/D34624

Details

Provenance
karelsAuthored on Mar 21 2022, 2:50 PM
Reviewer
kp
Differential Revision
D34624: Enter epoch when addding IPv4 multicast forwarding cache entry
Parents
rGfd6ca665d206: Fix umtxq_sleep() regression caused by 56070dd2e4d.
Branches
Unknown
Tags
Unknown