Date: Sat, 20 Apr 2013 18:45:29 +0000 (UTC) From: "Cherry G. Mathew" <cherry@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r249708 - projects/amd64_xen_pv/sys/amd64/xen Message-ID: <201304201845.r3KIjT5x019693@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: cherry Date: Sat Apr 20 18:45:28 2013 New Revision: 249708 URL: http://svnweb.freebsd.org/changeset/base/249708 Log: When holding or inspecting the mmu state, reset various MD pointers first. Approved by: gibbs(implicit) Modified: projects/amd64_xen_pv/sys/amd64/xen/mmu_map.c Modified: projects/amd64_xen_pv/sys/amd64/xen/mmu_map.c ============================================================================== --- projects/amd64_xen_pv/sys/amd64/xen/mmu_map.c Sat Apr 20 17:53:39 2013 (r249707) +++ projects/amd64_xen_pv/sys/amd64/xen/mmu_map.c Sat Apr 20 18:45:28 2013 (r249708) @@ -279,6 +279,9 @@ mmu_map_inspect_va(struct pmap *pm, void struct mmu_map_index *pti = addr; KASSERT(pti->sanity == SANE, ("%s: Uninitialised index cookie used", __func__)); + /* Reset pti */ + pti->pml4t = pti->pdpt = pti->pdt = pti->pt = 0; + vm_paddr_t pt; pti->pml4t = pmap_get_pml4t(pm); @@ -318,6 +321,9 @@ mmu_map_hold_va(struct pmap *pm, void *a struct mmu_map_index *pti = addr; KASSERT(pti->sanity == SANE, ("%s: Uninitialised index cookie used", __func__)); + /* Reset pti */ + pti->pml4t = pti->pdpt = pti->pdt = pti->pt = 0; + bool alloced = false; /* Did we have to alloc backing pages ? */ vm_paddr_t pt;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304201845.r3KIjT5x019693>