ia64/xen-unstable
changeset 2543:5d8883c5a53a
bitkeeper revision 1.1159.83.9 (41542e212WOTlwxlL6GYzK1_CRdC4g)
Fix writable pagetable revalidation check for when a page is made readonly.
Fix writable pagetable revalidation check for when a page is made readonly.
author | cl349@freefall.cl.cam.ac.uk |
---|---|
date | Fri Sep 24 14:24:33 2004 +0000 (2004-09-24) |
parents | b0dc856e718b |
children | fb36d761997f 91847d36b1db |
files | xen/arch/x86/memory.c |
line diff
1.1 --- a/xen/arch/x86/memory.c Fri Sep 24 13:32:44 2004 +0000 1.2 +++ b/xen/arch/x86/memory.c Fri Sep 24 14:24:33 2004 +0000 1.3 @@ -1644,12 +1644,12 @@ void ptwr_flush(const int which) 1.4 l1_pgentry_t ol1e, nl1e; 1.5 nl1e = ptwr_info[cpu].ptinfo[which].page[i]; 1.6 ol1e = pl1e[i]; 1.7 - if (likely(l1_pgentry_val(nl1e) == l1_pgentry_val(ol1e))) 1.8 + if (likely(l1_pgentry_val(ol1e) == l1_pgentry_val(nl1e))) 1.9 continue; 1.10 - if (likely(l1_pgentry_val(nl1e) == (l1_pgentry_val(ol1e) | _PAGE_RW))) 1.11 + if (likely(l1_pgentry_val(ol1e) == (l1_pgentry_val(nl1e) | _PAGE_RW))) 1.12 { 1.13 if (likely(readonly_page_from_l1e(nl1e))) { 1.14 - pl1e[i] = ptwr_info[cpu].ptinfo[which].page[i]; 1.15 + pl1e[i] = nl1e; 1.16 continue; 1.17 } 1.18 } 1.19 @@ -1659,7 +1659,7 @@ void ptwr_flush(const int which) 1.20 MEM_LOG("ptwr: Could not re-validate l1 page\n"); 1.21 domain_crash(); 1.22 } 1.23 - pl1e[i] = ptwr_info[cpu].ptinfo[which].page[i]; 1.24 + pl1e[i] = nl1e; 1.25 } 1.26 unmap_domain_mem(pl1e); 1.27