[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [linux-2.6.18-xen] x86-64: extend numeric user mode selector checks



# HG changeset patch
# User Jan Beulich <jbeulich@xxxxxxxx>
# Date 1317818576 -7200
# Node ID 4dd3a1d5b26796c1c10c5c2a0026832675aa615d
# Parent  ed78d9bac40d465100d5dfb9998df6b633a53057
x86-64: extend numeric user mode selector checks

... to also cover Xen provided ones

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
---


diff -r ed78d9bac40d -r 4dd3a1d5b267 arch/x86_64/mm/fault-xen.c
--- a/arch/x86_64/mm/fault-xen.c        Wed Oct 05 14:39:04 2011 +0200
+++ b/arch/x86_64/mm/fault-xen.c        Wed Oct 05 14:42:56 2011 +0200
@@ -146,7 +146,8 @@
                        /* Could check the LDT for lm, but for now it's good
                           enough to assume that long mode only uses well known
                           segments or kernel. */
-                       scan_more = (!user_mode(regs)) || (regs->cs == 
__USER_CS);
+                       scan_more = (!user_mode(regs)) || (regs->cs == 
__USER_CS)
+                                   || (regs->cs == FLAT_USER_CS64);
                        break;
                        
                case 0x60:
@@ -575,8 +576,8 @@
                   these addresses are not reachable. Just detect this
                   case and return.  Any code segment in LDT is
                   compatibility mode. */
-               if ((regs->cs == __USER32_CS || (regs->cs & (1<<2))) &&
-                   (address >> 32))
+               if ((regs->cs == __USER32_CS || regs->cs == FLAT_USER_CS32 ||
+                    (regs->cs & (1<<2))) && (address >> 32))
                        return;
 
                if (exception_trace && unhandled_signal(tsk, SIGSEGV)) {

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.