Date: Mon, 17 Aug 2009 13:27:55 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/amd64/amd64 pmap.c Message-ID: <200908171328.n7HDS5qC062689@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
kib 2009-08-17 13:27:55 UTC FreeBSD src repository Modified files: sys/amd64/amd64 pmap.c Log: SVN rev 196318 on 2009-08-17 13:27:55Z by kib Correct a critical accounting error in pmap_demote_pde(). Specifically, when pmap_demote_pde() allocates a page table page to implement a user-space demotion, it must increment the pmap's resident page count. Not doing so, can lead to an underflow during address space termination that causes pmap_remove() to exit prematurely, before it has destroyed all of the mappings within the specified range. The ultimate effect or symptom of this error is an assertion failure in vm_page_free_toq() because the page being freed is still mapped. This error is only possible when superpage promotion is enabled. Thus, it only affects FreeBSD versions greater than 7.2. Tested by: pho, alc Reviewed by: alc Approved by: re (rwatson) MFC after: 1 week Revision Changes Path 1.668 +2 -0 src/sys/amd64/amd64/pmap.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908171328.n7HDS5qC062689>