On 25/09/2021 19:34, Kristof Provost wrote:
On 25 Sep 2021, at 18:25, Andriy Gapon wrote:
On 13/06/2021 11:19, Kristof Provost wrote:
On 13 Jun 2021, at 09:41, Andriy Gapon <a...@freebsd.org> wrote:
Based on
the panic message (page fault with non-sleepable locks held), it seems that
the problem is with holding the lock across the copyout.  Usually that
won't panic, but if the destination happens to be paged out... And only
with INVARIANTS, I guess...

Oh right. Thanks. I’ve gotten bitten by that one before, but had clearly
garbage collected the memory.

I’ll fix this one and check for others on Monday.

I’ll also see of we can persuade copyout to always panic on this bug, not
just when the destination memory is actually paged out. That way we’ll catch
this in the regression tests in the future.

I upgraded to the latest stable/13 and hit a fresh panic of the same type.
This time it's in pf_getstatus() and it's a copyout while 'pf rulesets' lock is 
held.

I believe that’s fixed by 
https://cgit.freebsd.org/src/commit/sys/netpfil/pf/pf_ioctl.c?id=cb13059663e455b3fc69c293dadec53c164490dc

Thank you for the pointer!
I believe it should help with the witness warning.
Still not sure what's going on with copyout_nosmap_std().

--
Andriy Gapon

Reply via email to