Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Jul 2012 20:21:13 +0000 (UTC)
From:      "Cherry G. Mathew" <cherry@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r238147 - projects/amd64_xen_pv/sys/amd64/xen
Message-ID:  <201207052021.q65KLDVP016504@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: cherry
Date: Thu Jul  5 20:21:13 2012
New Revision: 238147
URL: http://svn.freebsd.org/changeset/base/238147

Log:
   - bzero msgbufp after allocation and before use.
   - fix pmap_kextract_ma() to use the correct pt index offset.
  
  Approved by:	gibbs (implicit)

Modified:
  projects/amd64_xen_pv/sys/amd64/xen/pmap.c

Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap.c
==============================================================================
--- projects/amd64_xen_pv/sys/amd64/xen/pmap.c	Thu Jul  5 20:16:24 2012	(r238146)
+++ projects/amd64_xen_pv/sys/amd64/xen/pmap.c	Thu Jul  5 20:21:13 2012	(r238147)
@@ -548,6 +548,8 @@ pmap_bootstrap(vm_paddr_t *firstaddr)
 	msgbufp = (void *) pmap_map(&virtual_avail,
 				    ptoa(physmem), ptoa(physmem) + round_page(msgbufsize),
 				    VM_PROT_READ | VM_PROT_WRITE);
+
+	bzero(msgbufp, round_page(msgbufsize));
 }
 
 void
@@ -834,6 +836,9 @@ pmap_kextract_ma(vm_offset_t va)
 			 * effectively const.
 			 */
 
+	const uint64_t SIGNMASK = (1UL << 48) - 1;
+	va &= SIGNMASK; /* Remove sign extension */
+
 	mmu_map_t tptr = tbuf;
 
 	struct mmu_map_mbackend mb = {
@@ -849,7 +854,7 @@ pmap_kextract_ma(vm_offset_t va)
 		goto nomapping;
 	}
 
-	ma = mmu_map_pt(tptr)[(~PDRMASK & PAGE_MASK & va) >> PAGE_SHIFT];
+	ma = mmu_map_pt(tptr)[(PDRMASK & va) >> PAGE_SHIFT];
 
 	mmu_map_t_fini(tptr);
 



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