diff options
author | Zhenlei Huang <zlei@FreeBSD.org> | 2023-03-16 10:00:13 +0000 |
---|---|---|
committer | Zhenlei Huang <zlei@FreeBSD.org> | 2023-03-22 15:46:43 +0000 |
commit | af28d08bda99d7a841743f75d736cf677ab0ad0e (patch) | |
tree | f60706da4871ed721fe162324f7bda5ace341732 | |
parent | 94c208a07f70512aa3aadcde8b3ee7f605ae6bf3 (diff) | |
download | src-af28d08bda99d7a841743f75d736cf677ab0ad0e.tar.gz src-af28d08bda99d7a841743f75d736cf677ab0ad0e.zip |
carp: carp_master_down_locked() requires net epoch
Reviewed by: kp
Approved by: re (gjb)
Fixes: 1d126e9b9474 carp: Widen epoch coverage
MFC after: 1 day
Differential Revision: https://reviews.freebsd.org/D39113
(cherry picked from commit 49cad3daf2a3abe8270f71ee5b15b8990a19529d)
(cherry picked from commit c15ceae9e7f98f7e74ff7848b3aff7176c7e263a)
-rw-r--r-- | sys/netinet/ip_carp.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index e84a85ebc11e..b6326b14c802 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -1732,6 +1732,7 @@ carp_carprcp(struct carpreq *carpr, struct carp_softc *sc, int priv) int carp_ioctl(struct ifreq *ifr, u_long cmd, struct thread *td) { + struct epoch_tracker et; struct carpreq carpr; struct ifnet *ifp; struct carp_softc *sc = NULL; @@ -1816,8 +1817,10 @@ carp_ioctl(struct ifreq *ifr, u_long cmd, struct thread *td) carp_delroute(sc); break; case MASTER: + NET_EPOCH_ENTER(et); carp_master_down_locked(sc, "user requested via ifconfig"); + NET_EPOCH_EXIT(et); break; default: break; |