On 11/23/22 15:18, Vitaliy Makkoveev wrote:
On Wed, Nov 23, 2022 at 02:59:05PM -0500, David Hill wrote:
Hello -

I am seeing splasserts on boot (before kern.splassert=2 can be set) with
-current.

....

spdmem0 at iic0 addr 0x50: 8GB DDR3 SDRAM PC3-12800 SO-DIMM
isa0 at pcib0
isadma0 at isa0
vga0 at isa0 port 0x3b0/48 iomem 0xa0000/131072
wsdisplay at vga0 not configured
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
vmm0 at mainbus0: VMX/EPT (using slow L1TF mitigation)
splassert: pfi_attach_ifgroup: want 2 have 0
splassert: pfi_group_addmember: want 2 have 0
splassert: pfi_attach_ifgroup: want 2 have 0
splassert: pfi_attach_ifgroup: want 2 have 0
splassert: pfi_group_addmember: want 2 have 0


- David

The netlock assertion within PF_LOCK() looks wrong. The netlock should
be taken first, but only if both locks taken.

Index: sys/net/pfvar_priv.h
===================================================================
RCS file: /cvs/src/sys/net/pfvar_priv.h,v
retrieving revision 1.21
diff -u -p -r1.21 pfvar_priv.h
--- sys/net/pfvar_priv.h        11 Nov 2022 17:12:30 -0000      1.21
+++ sys/net/pfvar_priv.h        23 Nov 2022 20:14:13 -0000
@@ -278,7 +278,6 @@ extern struct rwlock        pf_lock;
  extern struct rwlock  pf_state_lock;
#define PF_LOCK() do { \
-               NET_ASSERT_LOCKED();                    \
                rw_enter_write(&pf_lock);           \
        } while (0)
with traceback

vmm0 at mainbus0: VMX/EPT (using slow L1TF mitigation)
splassert: pfi_attach_ifgroup: want 2 have 0
Starting stack trace...
pfi_attach_ifgroup(ffff8000000ecc80,ffff8000000ecc80,ffffffff81f25c9b,ffff8000000ecca8,ffffffff8188cf82,ffffffff82737e30) at pfi_attach_ifgroup+0x42 if_addgroup(ffff800000150000,ffffffff81f25c9b,f9c039b9154dadd0,0,ffff800000150000,ffffffff822d06e0) at if_addgroup+0x142 enc_clone_create(ffffffff822d06e0,0,28d493f4921b481d,2,ffffffff822e5aa0,1f) at enc_clone_create+0xd2 encattach(1,1,ffffffff8173c274,ffffffff82737f00,ffffffff822d06e0,0) at encattach+0x14
main(0,0,2,0,abd41b90,1) at main+0x409
end trace frame: 0x0, count: 252
End of stack trace.
splassert: pfi_group_addmember: want 2 have 0
Starting stack trace...
pfi_group_addmember(ffffffff81f25c9b,ffffffff81f25c9b,ffffffff81f25c9b,ffff80000014a228,ffffffff8188d442,ffffffff82737e30) at pfi_group_addmember+0x42 if_addgroup(ffff800000150000,ffffffff81f25c9b,f9c039b9154dadd0,0,ffff800000150000,ffffffff822d06e0) at if_addgroup+0x1e6 enc_clone_create(ffffffff822d06e0,0,28d493f4921b481d,2,ffffffff822e5aa0,1f) at enc_clone_create+0xd2 encattach(1,1,ffffffff8173c274,ffffffff82737f00,ffffffff822d06e0,0) at encattach+0x14
main(0,0,2,0,abd41b90,1) at main+0x409
end trace frame: 0x0, count: 252
End of stack trace.
splassert: pfi_attach_ifgroup: want 2 have 0
Starting stack trace...
pfi_attach_ifgroup(ffff800000102e80,ffff800000102e80,ffff800000102e80,ffff800000102ea8,ffffffff8188cf82,ffffffff82737e90) at pfi_attach_ifgroup+0x42 if_creategroup(ffffffff81f501b2,ffffffff81f501b2,ea09b7f381ae3cd3,2,ffffffff822e5b50,ffffffff822a6790) at if_creategroup+0x6f carpattach(1,1,e1e0b7d5818b2660,ffffffff822a6790,ffffffff811da510,ffffffff82737f00) at carpattach+0x20
main(0,0,2,0,abd41b90,1) at main+0x409
end trace frame: 0x0, count: 253
End of stack trace.
splassert: pfi_attach_ifgroup: want 2 have 0
Starting stack trace...
pfi_attach_ifgroup(ffff8000000f2f00,ffff8000000f2f00,ffffffff81f77eea,ffff8000000f2f28,ffffffff8188cf82,ffffffff82737e70) at pfi_attach_ifgroup+0x42 if_addgroup(ffff800000150800,ffffffff81f77eea,f9c039b91557e57e,2,ffff800000150800,1f) at if_addgroup+0x142 loopattach(1,1,ffffffff822e5b90,ffffffff822db440,ffffffff8169888c,ffffffff82737f00) at loopattach+0xbc
main(0,0,2,0,abd41b90,1) at main+0x409
end trace frame: 0x0, count: 253
End of stack trace.
splassert: pfi_group_addmember: want 2 have 0
Starting stack trace...
pfi_group_addmember(ffffffff81f77eea,ffffffff81f77eea,ffffffff81f77eea,ffff80000014a2e8,ffffffff8188d442,ffffffff82737e70) at pfi_group_addmember+0x42 if_addgroup(ffff800000150800,ffffffff81f77eea,f9c039b91557e57e,2,ffff800000150800,1f) at if_addgroup+0x1e6 loopattach(1,1,ffffffff822e5b90,ffffffff822db440,ffffffff8169888c,ffffffff82737f00) at loopattach+0xbc
main(0,0,2,0,abd41b90,1) at main+0x409
end trace frame: 0x0, count: 253
End of stack trace.

Reply via email to