Re: CURRENT: kernel panic in IPFW while stopping jails

From: Gleb Smirnoff <glebius_at_freebsd.org>
Date: Mon, 29 Dec 2025 20:51:03 UTC
  Alastair,

thanks for running bisect.  I see that you started it from a revision
that already has 129e15d4994311958db59a1718d4ff42d440ce2b and it still
is bad for you.  This means a second problem exists in
3daae1ac1d82ecdcd855101bab5206e914b12350.

I just tried to reproduce with exactly Dan's ruleset - no panic :(

Maybe you can share how you reproduced during your bisection?

Or maybe you can dump a core and share it?

Very sorry for this breakage during the holidays.  I really want to
fix that ASAP, but I need more data.

On Sun, Dec 28, 2025 at 11:36:05AM +0000, Alastair Hogge wrote:
A> $ git bisect log
A> git bisect start
A> # status: waiting for both good and bad commits
A> # bad: [086bedb11a853801e82234b8a1a64f0df52d9e52] tools.build: also add
A> sys/_visible.h to SYSINCS
A> git bisect bad 086bedb11a853801e82234b8a1a64f0df52d9e52
A> # status: waiting for good commit(s), bad commit known
A> # good: [44cb1e857f048d2326bdc1a032ccd2c04d2bcdc9] tcp: improve
A> credential handling in syncache
A> git bisect good 44cb1e857f048d2326bdc1a032ccd2c04d2bcdc9
A> # good: [b0c7eaf83d21bbc333e247ab9e136965b3ca54ed] bhyve/slirp: Drop
A> privileges before entering capability mode
A> git bisect good b0c7eaf83d21bbc333e247ab9e136965b3ca54ed
A> # good: [6a75e3951506c12b42428a47710d07cadcdd723e] ofed/libibverbs:
A> remove strdupa() hack from config.h
A> git bisect good 6a75e3951506c12b42428a47710d07cadcdd723e
A> # bad: [1fad49baf390cb52f238e6c352d0bc0893c008c3] sdhci: Try to complete
A> the last transaction if dumping
A> git bisect bad 1fad49baf390cb52f238e6c352d0bc0893c008c3
A> # good: [9d9974457ce8c6cf9023884ab457d4712dcc237f] bhyvectl: fix build
A> without BHYVE_SNAPSHOT
A> git bisect good 9d9974457ce8c6cf9023884ab457d4712dcc237f
A> # bad: [52395203f9ac40d321ed55d93e9887300261d3bf] MFV: Import blocklist
A> 2025-12-15 (8a4b011)
A> git bisect bad 52395203f9ac40d321ed55d93e9887300261d3bf
A> # good: [c112ad75605ccdfcb8bbce2f57b0e7a077f057f8] options: describe
A> WITH_IPFILTER_IPFS
A> git bisect good c112ad75605ccdfcb8bbce2f57b0e7a077f057f8
A> # good: [8774a990ee4094f16d596d4b78e0f3239e5d0c88] bpf: modularize
A> ifnet(9) part of bpf
A> git bisect good 8774a990ee4094f16d596d4b78e0f3239e5d0c88
A> # bad: [1615eff94cda8619561b73186ec8098cc8b14c5c] usb: don't create
A> ifnet(9) for usbus devices
A> git bisect bad 1615eff94cda8619561b73186ec8098cc8b14c5c
A> # good: [ddf4f9eda9c295082f17e7f26963666b72c97bb9] ipfw: create "ipfw0"
A> and "ipfwlog0" bpf tapping points without ifnet(9)
A> git bisect good ddf4f9eda9c295082f17e7f26963666b72c97bb9
A> # bad: [3daae1ac1d82ecdcd855101bab5206e914b12350] ipfw: create a bpf tap
A> point for every log rule
A> git bisect bad 3daae1ac1d82ecdcd855101bab5206e914b12350
A> # good: [1c5021f5251b231b614ad9cd175bcb4250495c12] ifconfig: print
A> warning and return success on ipfw0, ipfwlog0 cloning
A> git bisect good 1c5021f5251b231b614ad9cd175bcb4250495c12
A> # first bad commit: [3daae1ac1d82ecdcd855101bab5206e914b12350] ipfw:
A> create a bpf tap point for every log rule
A> 
A> https://codeberg.org/FreeBSD/freebsd-src/commit/3daae1ac1d82ecdcd855101bab5206e914b12350
A> ipfw: create a bpf tap point for every log rule
A> 
A> Dynamically allocate bpf tap points for every rule that has "log".
A> The name is "ipfw%u", where %u is substituted to the rule number.
A> The default catch all "ipfw0" tap still exists for compatibility
A> and it will catch packets in case if there are no bpf listeners
A> on a per-rule tap.
A> 
A> Reviewed by:		ae
A> Differential Revision:	https://reviews.freebsd.org/D53877

-- 
Gleb Smirnoff