syzbot


panic: Assertion in_epoch(net_epoch_preempt) failed at /syzkaller/managers/main/kernel/sys/net/if.c:LINE

Status: fixed on 2020/01/21 11:53
Reported-by: syzbot+f68365b1e06521722984@syzkaller.appspotmail.com
Fix commit: Remove epoch assertion from if_setlladdr(). Originally this function was protected by IF_ADDR_LOCK(), which was a mutex, so that two simultaneous if_setlladdr() can't execute. Later it was switched to IF_ADDR_RLOCK(), likely by a mistake. Later it was switched to NET_EPOCH_ENTER(). Then I incorrectly added NET_EPOCH_ASSERT() here.
First crash: 1633d, last: 1632d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
freebsd panic: Assertion in_epoch(net_epoch_preempt) failed at /syzkaller/managers/main/kernel/sys/net/if.c:LINE (2) C 314 831d 835d 2/2 fixed on 2021/12/18 06:00

Sample crash report:
panic: Assertion in_epoch(net_epoch_preempt) failed at /syzkaller/managers/main/kernel/sys/net/if.c:3827
cpuid = 1
time = 1570618800
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x47/frame 0xfffffe0022a795b0
vpanic() at vpanic+0x1e0/frame 0xfffffe0022a79610
panic() at panic+0x43/frame 0xfffffe0022a79670
if_setlladdr() at if_setlladdr+0x34c/frame 0xfffffe0022a796e0
ifhwioctl() at ifhwioctl+0x9e0/frame 0xfffffe0022a79770
ifioctl() at ifioctl+0x4c2/frame 0xfffffe0022a79840
kern_ioctl() at kern_ioctl+0x465/frame 0xfffffe0022a798b0
sys_ioctl() at sys_ioctl+0x267/frame 0xfffffe0022a79980
amd64_syscall() at amd64_syscall+0x477/frame 0xfffffe0022a79ab0
fast_syscall_common() at fast_syscall_common+0x101/frame 0xfffffe0022a79ab0
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x8004882ca, rsp = 0x7fffffffe428, rbp = 0x7fffffffe470 ---
KDB: enter: panic
[ thread pid 774 tid 100089 ]
Stopped at      kdb_enter+0x6a: movq    $0,kdb_why

Crashes (3062):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/10/09 11:00 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 10:53 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 10:46 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 10:40 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 10:33 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 10:27 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 10:20 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 10:14 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 10:08 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 10:02 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 09:56 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 09:49 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 09:43 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 09:36 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 09:30 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 09:24 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 09:17 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 09:11 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 09:04 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 08:58 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 08:51 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 08:45 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 08:39 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 08:33 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 08:32 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 08:25 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 08:18 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 08:12 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 08:05 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 07:59 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 07:53 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 07:47 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 07:40 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 07:34 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 07:27 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 07:21 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 07:15 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 07:08 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 07:02 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 06:55 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/09 06:49 freebsd 1c64917ffab2 b1ebbfef console log report ci-freebsd-main
2019/10/08 18:02 freebsd 1c64917ffab2 64612bfd console log report ci-freebsd-main
* Struck through repros no longer work on HEAD.