Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Apr 2012 20:28:05 +0000 (UTC)
From:      Nathan Whitehorn <nwhitehorn@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r234149 - head/sys/powerpc/aim
Message-ID:  <201204112028.q3BKS5XI094374@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201204112028.q3BKS5XI094374>