|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-3.1-testing] hvm: Do not crash guest if it does an
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1196959845 0
# Node ID b2ad1ebd96cbb414e138de08fcdbf30d1aa1ddd9
# Parent bb22138a768901dd638b9d3c6e49e6aa26f667a1
hvm: Do not crash guest if it does an unaligned access to an HPET
register. Some CrashMe test apaprently does this and we don't want
that to crash the domain it runs in.
From: Dexuan Cui <dexuan.cui@xxxxxxxxx>
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
xen-unstable changeset: 16404:ae6f4c7f15cbc2a7192c91e513682e3d13de9f4f
xen-unstable date: Wed Nov 21 09:49:09 2007 +0000
---
xen/arch/x86/hvm/hpet.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff -r bb22138a7689 -r b2ad1ebd96cb xen/arch/x86/hvm/hpet.c
--- a/xen/arch/x86/hvm/hpet.c Thu Dec 06 16:50:13 2007 +0000
+++ b/xen/arch/x86/hvm/hpet.c Thu Dec 06 16:50:45 2007 +0000
@@ -102,9 +102,13 @@ static inline int hpet_check_access_leng
{
if ( (addr & (len - 1)) || (len > 8) )
{
- gdprintk(XENLOG_ERR, "HPET: access across register boundary: "
+ /*
+ * According to ICH9 specification, unaligned accesses may result
+ * in unexpected behaviour or master abort, but should not crash/hang.
+ * Hence we read all-ones, drop writes, and log a warning.
+ */
+ gdprintk(XENLOG_WARNING, "HPET: access across register boundary: "
"%lx %lx\n", addr, len);
- domain_crash(current->domain);
return -EINVAL;
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-3.1-testing] hvm: Do not crash guest if it does an unaligned access to an HPET,
Xen patchbot-3.1-testing <=
|
|
|
|
|