]> xenbits.xensource.com Git - xen.git/commitdiff
xen: prevent a 64 bit guest setting reserved bits in DR7
authorIan Jackson <Ian.Jackson@eu.citrix.com>
Wed, 5 Sep 2012 11:27:58 +0000 (12:27 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Wed, 5 Sep 2012 11:27:58 +0000 (12:27 +0100)
The upper 32 bits of this register are reserved and should be written as
zero.

This is XSA-12 / CVE-2012-3494

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
xen/include/asm-x86/debugreg.h

index 9b7e9717cb5787e920c85ec5d4174f55a261eeb7..24021b8734e3881d0c7ab22b402350555842df14 100644 (file)
@@ -58,7 +58,7 @@
    We can slow the instruction pipeline for instructions coming via the
    gdt or the ldt if we want to.  I am not sure why this is an advantage */
 
-#define DR_CONTROL_RESERVED_ZERO (0x0000d800ul) /* Reserved, read as zero */
+#define DR_CONTROL_RESERVED_ZERO (~0xffff27fful) /* Reserved, read as zero */
 #define DR_CONTROL_RESERVED_ONE  (0x00000400ul) /* Reserved, read as one */
 #define DR_LOCAL_EXACT_ENABLE    (0x00000100ul) /* Local exact enable */
 #define DR_GLOBAL_EXACT_ENABLE   (0x00000200ul) /* Global exact enable */