提交 a89780f3 编写于 作者: J Jeremy Fitzhardinge 提交者: Ingo Molnar

xen: fix mismerge in masking pte flags

Looks like a mismerge/misapply dropped one of the cases of pte flag
masking for Xen.  Also, only mask the flags for present ptes.
Signed-off-by: NJeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
上级 261a5ec3
...@@ -241,8 +241,10 @@ unsigned long long xen_pgd_val(pgd_t pgd) ...@@ -241,8 +241,10 @@ unsigned long long xen_pgd_val(pgd_t pgd)
pte_t xen_make_pte(unsigned long long pte) pte_t xen_make_pte(unsigned long long pte)
{ {
if (pte & 1) if (pte & _PAGE_PRESENT) {
pte = phys_to_machine(XPADDR(pte)).maddr; pte = phys_to_machine(XPADDR(pte)).maddr;
pte &= ~(_PAGE_PCD | _PAGE_PWT);
}
return (pte_t){ .pte = pte }; return (pte_t){ .pte = pte };
} }
...@@ -288,10 +290,10 @@ unsigned long xen_pgd_val(pgd_t pgd) ...@@ -288,10 +290,10 @@ unsigned long xen_pgd_val(pgd_t pgd)
pte_t xen_make_pte(unsigned long pte) pte_t xen_make_pte(unsigned long pte)
{ {
if (pte & _PAGE_PRESENT) if (pte & _PAGE_PRESENT) {
pte = phys_to_machine(XPADDR(pte)).maddr; pte = phys_to_machine(XPADDR(pte)).maddr;
pte &= ~(_PAGE_PCD | _PAGE_PWT);
pte &= ~(_PAGE_PCD | _PAGE_PWT); }
return (pte_t){ pte }; return (pte_t){ pte };
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册