Hello, On Thu, Nov 24, 2022 at 08:51:51AM +1000, David Gwynne wrote: > im ok with this, but you need sashan@ to ok it too. he's been working up to > this anyway. > > dlg > > > On 24 Nov 2022, at 06:18, Vitaliy Makkoveev <m...@openbsd.org> 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) > > >
this diff is OK, please go ahead and commit it. sorry, I have not hit this assert on my boxes, when testing this diff. OK sashan