|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [IA64] Avoid recursively walking guest sh
# HG changeset patch
# User awilliam@xxxxxxxxxxxx
# Date 1171299260 25200
# Node ID dea561992abe678932e2f5dde9346241bf9bc399
# Parent 81c4f90695a8838967f72c28f9515d64a67370fd
[IA64] Avoid recursively walking guest short VHPT
Signed-off-by: Anthony Xu <anthony.xu@xxxxxxxxx>
---
xen/arch/ia64/vmx/vmx_process.c | 12 ++++++++++++
1 files changed, 12 insertions(+)
diff -r 81c4f90695a8 -r dea561992abe xen/arch/ia64/vmx/vmx_process.c
--- a/xen/arch/ia64/vmx/vmx_process.c Mon Feb 12 09:48:56 2007 -0700
+++ b/xen/arch/ia64/vmx/vmx_process.c Mon Feb 12 09:54:20 2007 -0700
@@ -353,6 +353,18 @@ vmx_hpw_miss(u64 vadr , u64 vec, REGS* r
}
}
+ /* avoid recursively walking (short format) VHPT */
+ if ((((vadr ^ vpta.val) << 3) >> (vpta.size + 3)) == 0) {
+ if (vpsr.ic) {
+ vcpu_set_isr(v, misr.val);
+ dtlb_fault(v, vadr);
+ return IA64_FAULT;
+ } else {
+ nested_dtlb(v);
+ return IA64_FAULT;
+ }
+ }
+
vmx_vcpu_thash(v, vadr, &vhpt_adr);
if (!guest_vhpt_lookup(vhpt_adr, &pteval)) {
/* VHPT successfully read. */
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [IA64] Avoid recursively walking guest short VHPT,
Xen patchbot-unstable <=
|
|
|
|
|