--- linux-2.6.9/arch/i386/kernel/traps-xen.c.orig 2008-12-04 15:25:11.932073000 -0800 +++ linux-2.6.9/arch/i386/kernel/traps-xen.c 2008-12-04 15:30:14.075827000 -0800 @@ -551,7 +551,8 @@ check_lazy_exec_limit(int cpu, struct pt desc1 = ¤t->mm->context.user_cs; desc2 = &get_cpu_gdt_table(cpu)[GDT_ENTRY_DEFAULT_USER_CS]; - if (desc1->a != desc2->a || desc1->b != desc2->b) { + if ((desc1->a & 0xff0000ff) != (desc2->a & 0xff0000ff) || + desc1->b != desc2->b) { /* * The CS was not in sync - reload it and retry the * instruction. If the instruction still faults then