[Bug 193565] New: panic in vm_reserv_alloc_contig

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Sep 11 15:38:10 UTC 2014


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193565

            Bug ID: 193565
           Summary: panic in vm_reserv_alloc_contig
           Product: Base System
           Version: 10.0-RELEASE
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: eric at vangyzen.net

With code that exercises contigmalloc, I can reliably induce a panic (page
fault or GPF) in vm_reserv_alloc_contig.  The immediate cause is a bad pointer
around line 431 (without INVARIANTS), or failing the (rv->object == NULL)
assertion.

After a little digging, I see that vm_reserv_alloc_contig calls
vm_phys_alloc_contig with an allocpages value that is not a multiple of
VM_LEVEL_0_NPAGES.  This seems bad.  Before the call to vm_phys_alloc_contig, I
see the following values (via printf):

allocpages=646
minpages=646
maxpages=1024
pindex=2013184
VM_RESERV_INDEX(object, pindex)=0
npages=646
object=0xffffffff80bd3fe8

allocpages is set to minpages by the (msucc != NULL) case.

I'm not very familiar with the current VM system, and I unfortunately don't
have a lot of time to study it, so I'll need some help from here.  It's trivial
to reproduce, and the system is set up for remote kgdb, so I can answer
questions or try diagnostic code pretty quickly.

This is 10.0-RELEASE-p7 with no interesting changes in sys/vm.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list