svn commit: r253140 - head/sys/amd64/amd64

Konstantin Belousov kib at FreeBSD.org
Wed Jul 10 09:24:03 UTC 2013


Author: kib
Date: Wed Jul 10 09:24:03 2013
New Revision: 253140
URL: http://svnweb.freebsd.org/changeset/base/253140

Log:
  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

Modified:
  head/sys/amd64/amd64/pmap.c

Modified: head/sys/amd64/amd64/pmap.c
==============================================================================
--- head/sys/amd64/amd64/pmap.c	Wed Jul 10 08:21:09 2013	(r253139)
+++ head/sys/amd64/amd64/pmap.c	Wed Jul 10 09:24:03 2013	(r253140)
@@ -2234,6 +2234,7 @@ reclaim_pv_chunk(pmap_t locked_pmap, str
 	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);


More information about the svn-src-head mailing list