rpms/kernel-xen-2.6/devel linux-2.6-xen-execshield.patch, 1.3.2.4, 1.3.2.5

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Apr 25 13:26:43 UTC 2007


Author: ehabkost

Update of /cvs/dist/rpms/kernel-xen-2.6/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv8068

Modified Files:
      Tag: private-ehabkost-2_6_21-branch
	linux-2.6-xen-execshield.patch 
Log Message:
Fix the xen execshield patch to implement load_user_cs_desc() properly

This code was on the previous linux-2.6-xen-execshield.patch, but the
regeneration of the patch due to conflicts on the old patch removed
reverted load_user_cs_desc() to the non-xen implementation.



linux-2.6-xen-execshield.patch:
 arch/i386/kernel/cpu/common-xen.c         |    7 ++
 arch/i386/kernel/process-xen.c            |   60 +++++++++++++++++++
 arch/i386/kernel/smp-xen.c                |    3 
 arch/i386/kernel/traps-xen.c              |   93 +++++++++++++++++++++++++++++-
 arch/i386/mm/init-xen.c                   |    6 +
 arch/x86_64/kernel/process-xen.c          |    6 -
 arch/x86_64/kernel/setup64-xen.c          |   40 ------------
 arch/x86_64/mm/fault-xen.c                |    2 
 include/asm-i386/mach-xen/asm/desc.h      |   14 ++++
 include/asm-i386/mach-xen/asm/pgalloc.h   |    1 
 include/asm-i386/mach-xen/asm/processor.h |    8 ++
 include/asm-x86_64/mach-xen/asm/pgalloc.h |    7 ++
 12 files changed, 197 insertions(+), 50 deletions(-)

Index: linux-2.6-xen-execshield.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel-xen-2.6/devel/linux-2.6-xen-execshield.patch,v
retrieving revision 1.3.2.4
retrieving revision 1.3.2.5
diff -u -r1.3.2.4 -r1.3.2.5
--- linux-2.6-xen-execshield.patch	23 Apr 2007 16:39:00 -0000	1.3.2.4
+++ linux-2.6-xen-execshield.patch	25 Apr 2007 13:26:40 -0000	1.3.2.5
@@ -367,7 +367,7 @@
 +}
 +
 +#define load_user_cs_desc(cpu, mm) \
-+	get_cpu_gdt_table(cpu)[GDT_ENTRY_DEFAULT_USER_CS] = (mm)->context.user_cs
++        HYPERVISOR_update_descriptor(virt_to_machine(&get_cpu_gdt_table(cpu)[GDT_ENTRY_DEFAULT_USER_CS]), (u64)(mm)->context.user_cs.a | ((u64)(mm)->context.user_cs.b) << 32);
 +
 +extern void arch_add_exec_range(struct mm_struct *mm, unsigned long limit);
 +extern void arch_remove_exec_range(struct mm_struct *mm, unsigned long limit);




More information about the fedora-cvs-commits mailing list