On Fri, Jan 24, 2025 at 1:09 PM Martin Pieuchot <[email protected]> wrote:
>
> Hello,
>
> Thanks for your report.
>
> On 24/01/25(Fri) 10:37, K R wrote:
> > >Synopsis:      kernel panic: "anon->an_lock == NULL || 
> > >rw_write_held(anon->an_lock)" failed
> > >Category:      kernel amd64
> > >Environment:
> >         System      : OpenBSD 7.6
> >         Details     : OpenBSD 7.6-current (GENERIC.MP) #515: Wed Jan
> > 22 02:25:16 MST 2025
> >
> > [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> >
> >         Architecture: OpenBSD.amd64
> >         Machine     : amd64
> > >Description:
> >
> > The machine is a Dell PowerEdge R450 with 128GB of RAM.  It panics
> > under heavy RAM usage.  With 7.6-release + syspatches, it would just
> > freeze, not panic.  Under 7.6-current now it panics with the assertion
> > shown above.  Panic screen attached below.
> >
> > Please let me know if you need more specific commands at the ddb prompt.
>
> I don't need more informations.  Please find a fix below.  The panic is
> due to an incorrect unlock in error path.  Can you confirm the fix works
> for you?

Hey Martin, thanks for the quick reply and for the fix.  I'll let you
know how it goes.

Thanks,
--Kor

>
> Thanks,
> Martin
>
> Index: uvm/uvm_pdaemon.c
> ===================================================================
> RCS file: /cvs/src/sys/uvm/uvm_pdaemon.c,v
> diff -u -p -r1.133 uvm_pdaemon.c
> --- uvm/uvm_pdaemon.c   27 Dec 2024 12:04:40 -0000      1.133
> +++ uvm/uvm_pdaemon.c   24 Jan 2025 16:06:19 -0000
> @@ -848,7 +848,6 @@ uvmpd_scan_inactive(struct uvm_pmalloc *
>                                 anon->an_page = NULL;
>                                 p->uanon = NULL;
>
> -                               rw_exit(anon->an_lock);
>                                 uvm_anfree(anon);       /* kills anon */
>                                 pmap_page_protect(p, PROT_NONE);
>                                 anon = NULL;
>
>

Reply via email to