Page MenuHomeFreeBSD

carp: Widen epoch coverage
ClosedPublic

Authored by kp on Apr 5 2020, 5:01 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Feb 10, 7:36 AM
Unknown Object (File)
Mon, Jan 20, 11:44 PM
Unknown Object (File)
Sun, Jan 19, 9:23 PM
Unknown Object (File)
Jan 8 2025, 7:18 PM
Unknown Object (File)
Jan 3 2025, 2:20 PM
Unknown Object (File)
Nov 29 2024, 9:34 PM
Unknown Object (File)
Nov 14 2024, 2:51 PM
Unknown Object (File)
Sep 23 2024, 9:24 PM
Subscribers

Details

Reviewers
mav
emaste
Group Reviewers
network
Commits
rS359827: carp: Widen epoch coverage
Summary

Fix panics related to calling code which expects to be running inside
the NET_EPOCH from outside that epoch.

This leads to panics (with INVARIANTS) such as this one:

panic: Assertion in_epoch(net_epoch_preempt) failed at /usr/src/sys/netinet/if_ether.c:373
cpuid = 7
time = 1586095719
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0090819700
vpanic() at vpanic+0x182/frame 0xfffffe0090819750
panic() at panic+0x43/frame 0xfffffe00908197b0
arprequest_internal() at arprequest_internal+0x59e/frame 0xfffffe00908198c0
arp_announce_ifaddr() at arp_announce_ifaddr+0x20/frame 0xfffffe00908198e0
carp_master_down_locked() at carp_master_down_locked+0x10d/frame 0xfffffe0090819910
carp_master_down() at carp_master_down+0x79/frame 0xfffffe0090819940
softclock_call_cc() at softclock_call_cc+0x13f/frame 0xfffffe00908199f0
softclock() at softclock+0x7c/frame 0xfffffe0090819a20
ithread_loop() at ithread_loop+0x279/frame 0xfffffe0090819ab0
fork_exit() at fork_exit+0x80/frame 0xfffffe0090819af0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0090819af0

  • trap 0, rip = 0, rsp = 0, rbp = 0 ---

Widen the NET_EPOCH to cover the relevant (callback / task) code.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 30300
Build 28073: arc lint + arc unit

Event Timeline

This revision was not accepted when it landed; it landed in state Needs Review.Apr 12 2020, 4:09 PM
Closed by commit rS359827: carp: Widen epoch coverage (authored by kp). · Explain Why
This revision was automatically updated to reflect the committed changes.