diff options
| author | Matthew D Fleming <mdf@FreeBSD.org> | 2010-08-31 17:43:47 +0000 |
|---|---|---|
| committer | Matthew D Fleming <mdf@FreeBSD.org> | 2010-08-31 17:43:47 +0000 |
| commit | a2a200a24d6137b42a72f41c8815e6c58f098d02 (patch) | |
| tree | 299a9b4f91d1fa6001be1cc067d2188c63c3957e /sys/vm/memguard.c | |
| parent | 52e2247273baf52aa772948a9a0ea28690e2da2d (diff) | |
Notes
Diffstat (limited to 'sys/vm/memguard.c')
| -rw-r--r-- | sys/vm/memguard.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/vm/memguard.c b/sys/vm/memguard.c index 85893ab38071..3cf935c27ebb 100644 --- a/sys/vm/memguard.c +++ b/sys/vm/memguard.c @@ -247,9 +247,13 @@ SYSINIT(memguard, SI_SUB_KLD, SI_ORDER_ANY, memguard_sysinit, NULL); static u_long * v2sizep(vm_offset_t va) { + vm_paddr_t pa; struct vm_page *p; - p = PHYS_TO_VM_PAGE(pmap_kextract(va)); + pa = pmap_kextract(va); + if (pa == 0) + panic("MemGuard detected double-free of %p", (void *)va); + p = PHYS_TO_VM_PAGE(pa); KASSERT(p->wire_count != 0 && p->queue == PQ_NONE, ("MEMGUARD: Expected wired page %p in vtomgfifo!", p)); return ((u_long *)&p->pageq.tqe_next); |
