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