svn commit: r234149 - head/sys/powerpc/aim

Nathan Whitehorn nwhitehorn at FreeBSD.org
Wed Apr 11 20:28:06 UTC 2012


Author: nwhitehorn
Date: Wed Apr 11 20:28:05 2012
New Revision: 234149
URL: http://svn.freebsd.org/changeset/base/234149

Log:
  Fix error in r233949. Synchronizing icaches on uncacheable pages turns out
  not to be a good idea, and of course the PV entry list for a page is never
  empty after the page has been mapped.

Modified:
  head/sys/powerpc/aim/mmu_oea.c

Modified: head/sys/powerpc/aim/mmu_oea.c
==============================================================================
--- head/sys/powerpc/aim/mmu_oea.c	Wed Apr 11 20:26:50 2012	(r234148)
+++ head/sys/powerpc/aim/mmu_oea.c	Wed Apr 11 20:28:05 2012	(r234149)
@@ -1137,9 +1137,11 @@ moea_enter_locked(pmap_t pmap, vm_offset
 	/*
 	 * Flush the real page from the instruction cache. This has be done
 	 * for all user mappings to prevent information leakage via the
-	 * instruction cache.
+	 * instruction cache. moea_pvo_enter() returns ENOENT for the first
+	 * mapping for a page.
 	 */
-	if (pmap != kernel_pmap && LIST_EMPTY(vm_page_to_pvoh(m)))
+	if (pmap != kernel_pmap && error == ENOENT &&
+	    (pte_lo & (PTE_I | PTE_G)) == 0)
 		moea_syncicache(VM_PAGE_TO_PHYS(m), PAGE_SIZE);
 }
 


More information about the svn-src-all mailing list