MFC r205652

A ptrace(2) by one process may trigger a page size promotion in the
  address space of another process.  Modify pmap_promote_pde() to handle
  this.
This commit is contained in:
Alan Cox 2010-04-03 15:43:28 +00:00
parent caa4eaacd7
commit c7014073a8
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/stable/8/; revision=206138

View File

@ -2999,7 +2999,7 @@ pmap_promote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va)
* either invalid, unused, or does not map the first 4KB physical page * either invalid, unused, or does not map the first 4KB physical page
* within a 2- or 4MB page. * within a 2- or 4MB page.
*/ */
firstpte = vtopte(trunc_4mpage(va)); firstpte = pmap_pte_quick(pmap, trunc_4mpage(va));
setpde: setpde:
newpde = *firstpte; newpde = *firstpte;
if ((newpde & ((PG_FRAME & PDRMASK) | PG_A | PG_V)) != (PG_A | PG_V)) { if ((newpde & ((PG_FRAME & PDRMASK) | PG_A | PG_V)) != (PG_A | PG_V)) {