Dont try freeing bootstrap pages with pool_page_free. Fixes kern/28869
This commit is contained in:
parent
320bcedf91
commit
d3eafb7e4f
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: pmap.c,v 1.149 2005/01/02 22:47:26 chris Exp $ */
|
/* $NetBSD: pmap.c,v 1.150 2005/01/14 02:28:54 joff Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright 2003 Wasabi Systems, Inc.
|
* Copyright 2003 Wasabi Systems, Inc.
|
||||||
|
@ -212,7 +212,7 @@
|
||||||
#include <machine/param.h>
|
#include <machine/param.h>
|
||||||
#include <arm/arm32/katelib.h>
|
#include <arm/arm32/katelib.h>
|
||||||
|
|
||||||
__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.149 2005/01/02 22:47:26 chris Exp $");
|
__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.150 2005/01/14 02:28:54 joff Exp $");
|
||||||
|
|
||||||
#ifdef PMAP_DEBUG
|
#ifdef PMAP_DEBUG
|
||||||
|
|
||||||
|
@ -4136,14 +4136,14 @@ pmap_bootstrap_pv_page_free(struct pool *pp, void *v)
|
||||||
{
|
{
|
||||||
extern void pool_page_free(struct pool *, void *);
|
extern void pool_page_free(struct pool *, void *);
|
||||||
|
|
||||||
if (pmap_initialized) {
|
if ((vaddr_t)v <= last_bootstrap_page) {
|
||||||
pool_page_free(pp, v);
|
*((void **)v) = free_bootstrap_pages;
|
||||||
|
free_bootstrap_pages = v;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((vaddr_t)v < last_bootstrap_page) {
|
if (pmap_initialized) {
|
||||||
*((void **)v) = free_bootstrap_pages;
|
pool_page_free(pp, v);
|
||||||
free_bootstrap_pages = v;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue