rpms/kernel/devel linux-2.6-xen-vsyscall_base.patch, NONE, 1.1.2.1 kernel-2.6.spec, 1.1971.2.15, 1.1971.2.16 linux-2.6-xen-move-vdso-fixmap.patch, 1.1.2.1, 1.1.2.2
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Thu Mar 2 18:06:52 UTC 2006
Author: sct
Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv3942
Modified Files:
Tag: private-xen-rebased-1971-branch
kernel-2.6.spec linux-2.6-xen-move-vdso-fixmap.patch
Added Files:
Tag: private-xen-rebased-1971-branch
linux-2.6-xen-vsyscall_base.patch
Log Message:
More fixes for VSYSCALL conflicts:
Add a second xen-unstable changeset (8982) to the vdso-move patch that we
revert.
Delete the FIX_VSYSCALL define from arch/i386/kernel/asm-offsets.c:
it ends up in a nasty conflict between Xen and execshield, but with the
vsyscall area being moved into a per-thread vdso anyway, we don't need
to export the constant address to assembly any more.
linux-2.6-xen-vsyscall_base.patch:
asm-offsets.c | 1 -
1 files changed, 1 deletion(-)
--- NEW FILE linux-2.6-xen-vsyscall_base.patch ---
Xen's patches to make the fixmap area movable cause conflicts with non-xen
builds, as the FIX_VSYSCALL define is no longer constant so cannot
sensibly be handled by asm-offsets.c.
But with execshield/vdso, we've got per-process maps to get to this memory,
so we don't actually need the fixmap area's base address from assembly any
more. Nuke it.
--sct
--- linux-2.6.15.i586/arch/i386/kernel/asm-offsets.c.vsys 2006-03-02 12:13:23.000000000 -0500
+++ linux-2.6.15.i586/arch/i386/kernel/asm-offsets.c 2006-03-02 12:13:33.000000000 -0500
@@ -71,5 +71,4 @@
#endif
DEFINE(PAGE_SIZE_asm, PAGE_SIZE);
- DEFINE(VSYSCALL_BASE, __fix_to_virt(FIX_VSYSCALL));
}
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.1971.2.15
retrieving revision 1.1971.2.16
diff -u -r1.1971.2.15 -r1.1971.2.16
--- kernel-2.6.spec 1 Mar 2006 22:31:52 -0000 1.1971.2.15
+++ kernel-2.6.spec 2 Mar 2006 18:06:39 -0000 1.1971.2.16
@@ -261,6 +261,7 @@
Patch701: linux-2.6-xen-compile-fixes.patch
Patch702: linux-2.6-xen-no-tls-warn.patch
Patch703: linux-2.6-xen-move-vdso-fixmap.patch
+Patch704: linux-2.6-xen-vsyscall_base.patch
Patch706: linux-2.6-xen_remap_vma_flags.patch
Patch709: linux-2.6-percpu-NR_CPUS-hotplug-fix.patch
Patch710: linux-2.6-xen-module-fault.patch
@@ -774,11 +775,6 @@
%patch692 -p1
%patch693 -p1
%patch700 -p1
-%patch701 -p1
-%patch702 -p1
-%patch706 -p1
-%patch709 -p1
-#%patch710 -p1
#
# Xen includes a patch which moves the vsyscall fixmap into a user-space VA,
@@ -791,6 +787,13 @@
#
%patch703 -p2 -R
+%patch701 -p1
+%patch702 -p1
+%patch704 -p1
+%patch706 -p1
+%patch709 -p1
+#%patch710 -p1
+
%endif
#
@@ -1602,6 +1605,9 @@
%endif
%changelog
+* Thu Mar 2 2006 Stephen Tweedie <sct at redhat.com>
+- Fix xen/execshield VSYSCALL_BASE conflict
+
* Wed Mar 1 2006 Juan Quintela <quintela at redhat.com>
- disable ia64 build again.
linux-2.6-xen-move-vdso-fixmap.patch:
arch/i386/kernel/asm-offsets.c | 3 -
arch/i386/kernel/sysenter.c | 76 ++++++++++++++++++++++++++++++---
arch/i386/mm/pgtable-xen.c | 1
include/asm-i386/a.out.h | 2
include/asm-i386/elf.h | 7 ++-
include/asm-i386/fixmap.h | 9 ---
include/asm-i386/mach-xen/asm/fixmap.h | 9 ---
include/asm-i386/mach-xen/asm/page.h | 2
include/asm-i386/page.h | 2
9 files changed, 84 insertions(+), 27 deletions(-)
Index: linux-2.6-xen-move-vdso-fixmap.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/Attic/linux-2.6-xen-move-vdso-fixmap.patch,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- linux-2.6-xen-move-vdso-fixmap.patch 1 Mar 2006 22:12:41 -0000 1.1.2.1
+++ linux-2.6-xen-move-vdso-fixmap.patch 2 Mar 2006 18:06:40 -0000 1.1.2.2
@@ -214,3 +214,51 @@
#endif /* __KERNEL__ */
#include <asm-generic/page.h>
+# HG changeset patch
+# User cl349 at firebug.cl.cam.ac.uk
+# Node ID 55f597e929f341eade781048db9da77a0352820d
+# Parent dbec76a720f8d79aa9dfcdb9e91684b7426a23f9
+Fix non-xen build for: Move the gate page (vsyscall) out of the fixmap area
+into user address space, just below PAGE_OFFSET.
+
+From: Gerd Hoffmann <kraxel at suse.de>
+Signed-off-by: Christian Limpach <Christian.Limpach at cl.cam.ac.uk>
+
+diff -r dbec76a720f8 -r 55f597e929f3 linux-2.6-xen-sparse/include/asm-i386/fixmap.h
+--- a/linux-2.6-xen-sparse/include/asm-i386/fixmap.h Mon Feb 27 10:26:01 2006 +0000
++++ b/linux-2.6-xen-sparse/include/asm-i386/fixmap.h Mon Feb 27 10:27:57 2006 +0000
+@@ -52,7 +52,6 @@
+ */
+ enum fixed_addresses {
+ FIX_HOLE,
+- FIX_VSYSCALL,
+ #ifdef CONFIG_X86_LOCAL_APIC
+ FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */
+ #endif
+@@ -116,14 +115,6 @@ extern void __set_fixmap (enum fixed_add
+ #define __fix_to_virt(x) (FIXADDR_TOP - ((x) << PAGE_SHIFT))
+ #define __virt_to_fix(x) ((FIXADDR_TOP - ((x)&PAGE_MASK)) >> PAGE_SHIFT)
+
+-/*
+- * This is the range that is readable by user mode, and things
+- * acting like user mode such as get_user_pages.
+- */
+-#define FIXADDR_USER_START (__fix_to_virt(FIX_VSYSCALL))
+-#define FIXADDR_USER_END (FIXADDR_USER_START + PAGE_SIZE)
+-
+-
+ extern void __this_fixmap_does_not_exist(void);
+
+ /*
+diff -r dbec76a720f8 -r 55f597e929f3 linux-2.6-xen-sparse/include/asm-i386/page.h
+--- a/linux-2.6-xen-sparse/include/asm-i386/page.h Mon Feb 27 10:26:01 2006 +0000
++++ b/linux-2.6-xen-sparse/include/asm-i386/page.h Mon Feb 27 10:27:57 2006 +0000
+@@ -139,6 +139,8 @@ extern int page_is_ram(unsigned long pag
+ ((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \
+ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
+
++#define __HAVE_ARCH_GATE_AREA 1
++
+ #endif /* __KERNEL__ */
+
+ #include <asm-generic/page.h>
More information about the fedora-cvs-commits
mailing list