1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00

Clear m->object for the page taken from the delayed free list for

reuse as the pv chink page in reclaim_pv_chunk().  Having non-NULL
m->object is wrong for page not owned by an object and confuses both
vm_page_free_toq() and vm_page_remove() when the page is freed later.

Reported and tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
This commit is contained in:
Konstantin Belousov 2013-07-10 09:24:03 +00:00
parent 3c9d5a037d
commit 0cdd261571
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=253140

View File

@ -2234,6 +2234,7 @@ reclaim_pv_chunk(pmap_t locked_pmap, struct rwlock **lockp)
if (m_pc == NULL && free != NULL) {
m_pc = free;
free = (void *)m_pc->object;
m_pc->object = NULL;
/* Recycle a freed page table page. */
m_pc->wire_count = 1;
atomic_add_int(&cnt.v_wire_count, 1);