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

rpms/kernel/devel patch-2.6.17-git13.bz2.sign, NONE, 1.1 Makefile, 1.26, 1.27 kernel-2.6.spec, 1.2328, 1.2329 linux-2.6-compile-fixes.patch, 1.85, 1.86 linux-2.6-devmem.patch, 1.7, 1.8 linux-2.6-execshield.patch, 1.23, 1.24 upstream, 1.378, 1.379 linux-2.6-mtd-git.patch, 1.4, NONE



Author: davej

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

Modified Files:
	Makefile kernel-2.6.spec linux-2.6-compile-fixes.patch 
	linux-2.6-devmem.patch linux-2.6-execshield.patch upstream 
Added Files:
	patch-2.6.17-git13.bz2.sign 
Removed Files:
	linux-2.6-mtd-git.patch 
Log Message:
git13.
This disables Xen completely for now.
It also moves it after the execshield patches, to cause less headache
rediffing daily with the constantly churning upstream.




--- NEW FILE patch-2.6.17-git13.bz2.sign ---
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: See http://www.kernel.org/signature.html for info

iD8DBQBEoimxyGugalF9Dw4RAqD/AJ9XVW0tWWV8ah7xKbMcjULoEf4FdwCghcOj
Tx/SE6aJBISkF1Hmud9ouvM=
=azFq
-----END PGP SIGNATURE-----


Index: Makefile
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/Makefile,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- Makefile	27 Jun 2006 00:39:11 -0000	1.26
+++ Makefile	29 Jun 2006 08:27:51 -0000	1.27
@@ -23,15 +23,18 @@
 	@perl -pi -e 's/# CONFIG_DEBUG_SLAB is not set/CONFIG_DEBUG_SLAB=y/' configs/config-generic
 	@perl -pi -e 's/# CONFIG_DEBUG_PAGEALLOC is not set/CONFIG_DEBUG_PAGEALLOC=y/' configs/config-x86-generic
 	@perl -pi -e 's/# CONFIG_DEBUG_MUTEXES is not set/CONFIG_DEBUG_MUTEXES=y/' configs/config-x86-generic
+	@perl -pi -e 's/# CONFIG_DEBUG_RT_MUTEXES is not set/CONFIG_DEBUG_RT_MUTEXES=y/' configs/config-x86-generic
 	@perl -pi -e 's/# CONFIG_DEBUG_VM is not set/CONFIG_DEBUG_VM=y/' configs/config-x86-generic
 
 release:
 	@perl -pi -e 's/CONFIG_DEBUG_SLAB=y/# CONFIG_DEBUG_SLAB is not set/' configs/config-generic
 	@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' configs/config-x86-generic
 	@perl -pi -e 's/CONFIG_DEBUG_MUTEXES=y/# CONFIG_DEBUG_MUTEXES is not set/' configs/config-x86-generic
+	@perl -pi -e 's/CONFIG_DEBUG_RT_MUTEXES=y/# CONFIG_DEBUG_RT_MUTEXES is not set/' configs/config-x86-generic
 	@perl -pi -e 's/CONFIG_DEBUG_VM=y/# CONFIG_DEBUG_VM is not set/' configs/config-x86-generic
 
 reconfig:
-	@make -f Makefile.config configs
+	@rm -f kernel-*-config
+	@VERSION="2.6.17" make -f Makefile.config configs
 	@scripts/reconfig.sh
 


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.2328
retrieving revision 1.2329
diff -u -r1.2328 -r1.2329
--- kernel-2.6.spec	29 Jun 2006 03:21:34 -0000	1.2328
+++ kernel-2.6.spec	29 Jun 2006 08:27:51 -0000	1.2329
@@ -7,7 +7,7 @@
 %define buildsmp 0
 %define buildpae 0
 # Whether to apply the Xen patches, leave this enabled.
-%define includexen 1
+%define includexen 0
 # Whether to build the Xen kernels, disable if you want.
 %define buildxen 0
 %define buildxenPAE 0
@@ -239,7 +239,7 @@
 #
 # Patches 0 through 100 are meant for core subsystem upgrades
 #
-Patch1: patch-2.6.17-git12.bz2
+Patch1: patch-2.6.17-git13.bz2
 
 #
 # Clean up and export kernel headers to userspace
@@ -271,12 +271,12 @@
 # 600 - 699   sparc(64)
 
 # 700 - 799 Xen
-Patch700: linux-2.6-xen.patch
-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
+Patch950: linux-2.6-xen.patch
+Patch951: linux-2.6-xen-compile-fixes.patch
+Patch952: linux-2.6-xen-no-tls-warn.patch
+Patch953: linux-2.6-xen-move-vdso-fixmap.patch
+Patch954: linux-2.6-xen-vsyscall_base.patch
+Patch955: linux-2.6-xen_remap_vma_flags.patch
 
 #
 # Patches 800 through 899 are reserved for bugfixes to the core system
@@ -397,9 +397,6 @@
 # ACPI bits
 Patch2300: linux-2.6-acpi_os_acquire_object-gfp_kernel-called-with-irqs.patch
 
-# MTD bits
-Patch2400: linux-2.6-mtd-git.patch
-
 #
 # 10000 to 20000 is for stuff that has to come last due to the
 # amount of drivers they touch. But only these should go here.
@@ -749,45 +746,6 @@
 #%patch319 -p1
 
 #
-# Xen
-#
-%if %{includexen}
-#
-# Apply the main xen patch...
-#
-%patch700 -p1 -b .p.xen
-#
-# ... and back out all the ia64-specific sections, as they currently prevent
-# non-xen builds from working.
-# Now also with tpm
-#
-for f in `find drivers/char/tpm arch/ia64/ include/asm-ia64/ include/xen/interface/arch-ia64.h* -type f -name "*.p.xen"` ; do \
-    g=`dirname $f`/`basename $f .p.xen`; \
-    mv "$f" "$g"; \
-    if [ ! -s "$g" ] ; then rm -f "$g" ; fi; \
-done
-# Delete the rest of the backup files, they just confuse the build later
-find -name "*.p.xen" | xargs rm -f
-
-#
-# Xen includes a patch which moves the vsyscall fixmap into a user-space VA,
-# freeing user-space from reliance on an absolute fixmap area and so allowing
-# the fixmap area to become dynamic.
-#
-# Execshield already does this, making the fixmap area invisible to the user
-# and adding a new randomised vdso for it in user VA, so there's no point in
-# having both: revert the Xen changeset so that execsheild applies cleanly.
-#
-%patch703 -p2 -R
-
-%patch701 -p1
-%patch702 -p1
-%patch704 -p1
-%patch706 -p1
-
-%endif
-
-#
 # Patches 500 through 1000 are reserved for bugfixes to the core system
 # and patches related to how RPMs are build
 #
@@ -825,6 +783,45 @@
 %patch910 -p1
 
 #
+# Xen
+#
+%if %{includexen}
+#
+# Apply the main xen patch...
+#
+%patch950 -p1 -b .p.xen
+#
+# ... and back out all the ia64-specific sections, as they currently prevent
+# non-xen builds from working.
+# Now also with tpm
+#
+for f in `find drivers/char/tpm arch/ia64/ include/asm-ia64/ include/xen/interface/arch-ia64.h* -type f -name "*.p.xen"` ; do \
+    g=`dirname $f`/`basename $f .p.xen`; \
+    mv "$f" "$g"; \
+    if [ ! -s "$g" ] ; then rm -f "$g" ; fi; \
+done
+# Delete the rest of the backup files, they just confuse the build later
+find -name "*.p.xen" | xargs rm -f
+
+#
+# Xen includes a patch which moves the vsyscall fixmap into a user-space VA,
+# freeing user-space from reliance on an absolute fixmap area and so allowing
+# the fixmap area to become dynamic.
+#
+# Execshield already does this, making the fixmap area invisible to the user
+# and adding a new randomised vdso for it in user VA, so there's no point in
+# having both: revert the Xen changeset so that execsheild applies cleanly.
+#
+%patch953 -p2 -R
+
+%patch951 -p1
+%patch952 -p1
+%patch954 -p1
+%patch955 -p1
+
+%endif
+
+#
 # Patches 1000 to 5000 are reserved for bugfixes to drivers and filesystems
 #
 
@@ -971,9 +968,6 @@
 # Silence more ACPI debug spew from suspend.
 #%patch2300 -p1
 
-# MTD update from git://git.infradead.org/mtd-2.6.git
-%patch2400 -p1
-
 #
 # Patches 5000 to 6000 are reserved for new drivers that are about to
 # be merged upstream
@@ -986,7 +980,7 @@
 #
 # misc small stuff to make things compile or otherwise improve performance
 #
-#%patch10000 -p1
+%patch10000 -p1
 
 # Small 1-2 liners fixing silly bugs that get pushed upstream quickly.
 %patch10001 -p1
@@ -1586,6 +1580,9 @@
 %endif
 
 %changelog
+* Thu Jun 28 2006 Dave Jones <davej redhat com>
+- 2.6.17-git13
+
 * Tue Jun 27 2006 Dave Jones <davej redhat com>
 - 2.6.17-git12
 - Disable the signed module patches for now, they need love.

linux-2.6-compile-fixes.patch:
 Kconfig |    1 +
 1 files changed, 1 insertion(+)

Index: linux-2.6-compile-fixes.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-compile-fixes.patch,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -r1.85 -r1.86
--- linux-2.6-compile-fixes.patch	27 Jun 2006 00:39:13 -0000	1.85
+++ linux-2.6-compile-fixes.patch	29 Jun 2006 08:27:51 -0000	1.86
@@ -0,0 +1,10 @@
+--- linux-2.6.17.noarch/drivers/char/Kconfig~	2006-06-29 01:17:35.000000000 -0400
++++ linux-2.6.17.noarch/drivers/char/Kconfig	2006-06-29 01:17:55.000000000 -0400
+@@ -963,6 +963,7 @@ config PC8736x_GPIO
+ 
+ config NSC_GPIO
+ 	tristate "NatSemi Base GPIO Support"
++	depends on X86_32
+ 	# selected by SCx200_GPIO and PC8736x_GPIO
+ 	# what about 2 selectors differing: m != y
+ 	help

linux-2.6-devmem.patch:
 arch/powerpc/mm/mem.c                        |   14 ++
 linux-1050/arch/i386/mm/init.c               |   19 +++
 linux-1050/arch/ia64/mm/init.c               |    7 +
 linux-1050/arch/s390/mm/init.c               |    5 
 linux-1050/arch/x86_64/mm/init.c             |   20 +++
 linux-1050/drivers/char/mem.c                |  143 ++++-----------------------
 linux-1050/fs/proc/kcore.c                   |    2 
 linux-1050/include/asm-arm/page.h            |    2 
 linux-1050/include/asm-arm26/page.h          |    2 
 linux-1050/include/asm-cris/page.h           |    2 
 linux-1050/include/asm-h8300/page.h          |    2 
 linux-1050/include/asm-i386/page.h           |    2 
 linux-1050/include/asm-ia64/page.h           |    2 
 linux-1050/include/asm-m68k/page.h           |    2 
 linux-1050/include/asm-m68knommu/page.h      |    2 
 linux-1050/include/asm-mips/page.h           |    2 
 linux-1050/include/asm-parisc/page.h         |    2 
 linux-1050/include/asm-s390/page.h           |    2 
 linux-1050/include/asm-sh/page.h             |    2 
 linux-1050/include/asm-sh64/page.h           |    2 
 linux-1050/include/asm-sparc/page.h          |    2 
 linux-1050/include/asm-sparc64/page.h        |    2 
 linux-1050/include/asm-um/page.h             |    1 
 linux-1050/include/asm-v850/page.h           |    2 
 linux-1050/include/asm-x86_64/page.h         |    4 
 linux-2.6.13/arch/x86_64/mm/init.c           |   22 ++++
 linux-2.6.14/include/asm-powerpc/page.h      |    2 
 linux-2.6.16.noarch/include/asm-alpha/page.h |    1 
 linux-2.6.16.noarch/include/asm-ppc/page.h   |    2 
 29 files changed, 152 insertions(+), 122 deletions(-)

Index: linux-2.6-devmem.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-devmem.patch,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- linux-2.6-devmem.patch	28 Mar 2006 15:48:16 -0000	1.7
+++ linux-2.6-devmem.patch	29 Jun 2006 08:27:51 -0000	1.8
@@ -404,15 +404,6 @@
  #endif /* __ASSEMBLY__ */
  
  #ifdef __ASSEMBLY__
-@@ -148,6 +150,8 @@ extern int sysctl_legacy_va_layout;
- 	((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \
- 		 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
- 
-+
-+
- #endif /* __KERNEL__ */
- 
- #endif /* _I386_PAGE_H */
 diff -urNp --exclude-from=/home/davej/.exclude linux-1020/include/asm-ia64/page.h linux-1050/include/asm-ia64/page.h
 --- linux-1020/include/asm-ia64/page.h
 +++ linux-1050/include/asm-ia64/page.h

linux-2.6-execshield.patch:
 linux-2.6.16.noarch/include/asm-powerpc/elf.h   |    3 
 linux-2.6.17.noarch/arch/i386/kernel/sysenter.c |    3 
 linux-2.6.17.noarch/include/asm-i386/elf.h      |    7 
 linux-2.6.17.noarch/include/asm-i386/mmu.h      |    4 
 linux/arch/i386/kernel/cpu/common.c             |    7 
 linux/arch/i386/kernel/process.c                |   59 +++++++
 linux/arch/i386/kernel/smp.c                    |    3 
 linux/arch/i386/kernel/traps.c                  |   93 +++++++++++-
 linux/arch/i386/mm/init.c                       |    6 
 linux/arch/i386/mm/mmap.c                       |    6 
 linux/arch/ia64/ia32/binfmt_elf32.c             |    2 
 linux/arch/powerpc/kernel/vdso.c                |    3 
 linux/arch/x86_64/ia32/ia32_binfmt.c            |    6 
 linux/arch/x86_64/ia32/syscall32.c              |    4 
 linux/arch/x86_64/kernel/process.c              |    6 
 linux/arch/x86_64/kernel/setup64.c              |   23 ---
 linux/arch/x86_64/mm/fault.c                    |    2 
 linux/arch/x86_64/mm/mmap.c                     |   99 ++++++++++--
 linux/drivers/char/random.c                     |    7 
 linux/fs/binfmt_elf.c                           |  147 ++++++++++++++-----
 linux/fs/proc/array.c                           |    8 -
 linux/fs/proc/base.c                            |    8 -
 linux/fs/proc/task_mmu.c                        |   22 ++
 linux/include/asm-i386/a.out.h                  |    2 
 linux/include/asm-i386/desc.h                   |   14 +
 linux/include/asm-i386/page.h                   |    5 
 linux/include/asm-i386/pgalloc.h                |    1 
 linux/include/asm-i386/processor.h              |    8 -
 linux/include/asm-ia64/pgalloc.h                |    4 
 linux/include/asm-powerpc/pgalloc.h             |    5 
 linux/include/asm-ppc/pgalloc.h                 |    5 
 linux/include/asm-s390/pgalloc.h                |    4 
 linux/include/asm-sparc/pgalloc.h               |    4 
 linux/include/asm-sparc64/pgalloc.h             |    4 
 linux/include/asm-x86_64/pgalloc.h              |    7 
 linux/include/asm-x86_64/pgtable.h              |    2 
 linux/include/linux/mm.h                        |   16 +-
 linux/include/linux/resource.h                  |    5 
 linux/include/linux/sched.h                     |    9 +
 linux/include/linux/sysctl.h                    |    3 
 linux/kernel/signal.c                           |   38 ++++
 linux/kernel/sysctl.c                           |   57 +++++++
 linux/mm/fremap.c                               |   16 +-
 linux/mm/mmap.c                                 |  183 ++++++++++++++++++++++--
 linux/mm/mprotect.c                             |    5 
 linux/mm/mremap.c                               |    4 
 46 files changed, 794 insertions(+), 135 deletions(-)

Index: linux-2.6-execshield.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-execshield.patch,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- linux-2.6-execshield.patch	27 Jun 2006 00:39:13 -0000	1.23
+++ linux-2.6-execshield.patch	29 Jun 2006 08:27:51 -0000	1.24
@@ -1,15 +1,3 @@
-Index: linux/arch/i386/kernel/asm-offsets.c
-===================================================================
---- linux.orig/arch/i386/kernel/asm-offsets.c
-+++ linux/arch/i386/kernel/asm-offsets.c
-@@ -53,6 +53,7 @@ void foo(void)
- 	OFFSET(TI_preempt_count, thread_info, preempt_count);
- 	OFFSET(TI_addr_limit, thread_info, addr_limit);
- 	OFFSET(TI_restart_block, thread_info, restart_block);
-+	OFFSET(TI_sysenter_return, thread_info, sysenter_return);
- 	BLANK();
- 
- 	OFFSET(EXEC_DOMAIN_handler, exec_domain, handler);
 Index: linux/arch/i386/kernel/cpu/common.c
 ===================================================================
 --- linux.orig/arch/i386/kernel/cpu/common.c
@@ -28,23 +16,6 @@
  	/* If the model name is still unset, do table lookup. */
  	if ( !c->x86_model_id[0] ) {
  		char *p;
---- linux-2.6.17.noarch/arch/i386/kernel/entry.S~	2006-06-26 18:55:20.746055000 -0400
-+++ linux-2.6.17.noarch/arch/i386/kernel/entry.S	2006-06-26 18:56:01.803956000 -0400
-@@ -263,7 +263,13 @@ sysenter_past_esp:
- 	pushl $(__USER_CS)
- 	CFI_ADJUST_CFA_OFFSET 4
- 	/*CFI_REL_OFFSET cs, 0*/
--	pushl $SYSENTER_RETURN
-+	/*
-+	 * Push current_thread_info()->sysenter_return to the stack.
-+	 * A tiny bit of offset fixup is necessary - 4*4 means the 4 words
-+	 * pushed above; +8 corresponds to copy_thread's esp0 setting.
-+	 */
-+	pushl (TI_sysenter_return-THREAD_SIZE+8+4*4)(%esp)
-+
- 	CFI_ADJUST_CFA_OFFSET 4
- 	CFI_REL_OFFSET eip, 0
- 
 Index: linux/arch/i386/kernel/process.c
 ===================================================================
 --- linux.orig/arch/i386/kernel/process.c
@@ -119,28 +90,6 @@
 +		current->mm->brk = new_brk;
 +}
 +
-Index: linux/arch/i386/kernel/signal.c
-===================================================================
---- linux.orig/arch/i386/kernel/signal.c
-+++ linux/arch/i386/kernel/signal.c
-@@ -350,7 +350,7 @@ static int setup_frame(int sig, struct k
- 			goto give_sigsegv;
- 	}
- 
--	restorer = &__kernel_sigreturn;
-+	restorer = current->mm->context.vdso + (long)&__kernel_sigreturn;
- 	if (ka->sa.sa_flags & SA_RESTORER)
- 		restorer = ka->sa.sa_restorer;
- 
-@@ -446,7 +446,7 @@ static int setup_rt_frame(int sig, struc
- 		goto give_sigsegv;
- 
- 	/* Set up to return from userspace.  */
--	restorer = &__kernel_rt_sigreturn;
-+	restorer = current->mm->context.vdso + (long)&__kernel_rt_sigreturn;
- 	if (ka->sa.sa_flags & SA_RESTORER)
- 		restorer = ka->sa.sa_restorer;
- 	err |= __put_user(restorer, &frame->pretcode);
 Index: linux/arch/i386/kernel/smp.c
 ===================================================================
 --- linux.orig/arch/i386/kernel/smp.c
@@ -162,179 +111,6 @@
  
  	if (!cpu_isset(cpu, flush_cpumask))
  		goto out;
-diff -uNp linux-2.6.16.noarch/arch/i386/kernel/sysenter.c.orig linux-2.6.16.noarch/arch/i386/kernel/sysenter.c
---- linux-2.6.16.noarch/arch/i386/kernel/sysenter.c.orig	2006-04-25 14:25:11.000000000 +0200
-+++ linux-2.6.16.noarch/arch/i386/kernel/sysenter.c	2006-04-25 14:50:26.000000000 +0200
-@@ -14,7 +14,9 @@
- #include <linux/string.h>
- #include <linux/elf.h>
- #include <linux/mm.h>
-+#include <linux/mman.h>
- 
-+#include <asm/a.out.h>
- #include <asm/cpufeature.h>
- #include <asm/msr.h>
- #include <asm/pgtable.h>
-@@ -52,11 +54,13 @@ void enable_sep_cpu(void)
-  */
- extern const char vsyscall_int80_start, vsyscall_int80_end;
- extern const char vsyscall_sysenter_start, vsyscall_sysenter_end;
--static void *syscall_page;
-+static struct page *sysenter_pages[2];
- 
- int __init sysenter_setup(void)
- {
--	syscall_page = (void *)get_zeroed_page(GFP_ATOMIC);
-+	void *page = (void *)get_zeroed_page(GFP_ATOMIC);
-+
-+	sysenter_pages[0] = virt_to_page(page);
- 
- #ifdef CONFIG_XEN
- 	if (boot_cpu_has(X86_FEATURE_SEP)) {
-@@ -71,73 +75,82 @@ int __init sysenter_setup(void)
- #endif
- 
- 	if (boot_cpu_has(X86_FEATURE_SEP)) {
--		memcpy(syscall_page,
-+		memcpy(page,
- 		       &vsyscall_sysenter_start,
- 		       &vsyscall_sysenter_end - &vsyscall_sysenter_start);
- 		return 0;
- 	}
- 
--	memcpy(syscall_page,
-+	memcpy(page,
- 	       &vsyscall_int80_start,
- 	       &vsyscall_int80_end - &vsyscall_int80_start);
- 
- 	return 0;
- }
- 
--static struct page*
--syscall_nopage(struct vm_area_struct *vma, unsigned long adr, int *type)
--{
--	struct page *p = virt_to_page(adr - vma->vm_start + syscall_page);
--	get_page(p);
--	return p;
--}
--
--/* Prevent VMA merging */
--static void syscall_vma_close(struct vm_area_struct *vma)
--{
--}
-+extern void SYSENTER_RETURN_OFFSET;
-+
-+unsigned int vdso_enabled = 1;
- 
--static struct vm_operations_struct syscall_vm_ops = {
--	.close = syscall_vma_close,
--	.nopage = syscall_nopage,
--};
--
--/* Setup a VMA at program startup for the vsyscall page */
--int arch_setup_additional_pages(struct linux_binprm *bprm, int exstack)
--{
--	struct vm_area_struct *vma;
--	struct mm_struct *mm = current->mm;
--	int ret;
--
--	vma = kmem_cache_alloc(vm_area_cachep, SLAB_KERNEL);
--	if (!vma)
--		return -ENOMEM;
--
--	memset(vma, 0, sizeof(struct vm_area_struct));
--	/* Could randomize here */
--	vma->vm_start = VSYSCALL_BASE;
--	vma->vm_end = VSYSCALL_BASE + PAGE_SIZE;
--	/* MAYWRITE to allow gdb to COW and set breakpoints */
--	vma->vm_flags = VM_READ|VM_EXEC|VM_MAYREAD|VM_MAYEXEC|VM_MAYWRITE;
--	vma->vm_flags |= mm->def_flags;
--	vma->vm_page_prot = protection_map[vma->vm_flags & 7];
--	vma->vm_ops = &syscall_vm_ops;
--	vma->vm_mm = mm;
--
--	down_write(&mm->mmap_sem);
--	if ((ret = insert_vm_struct(mm, vma))) {
--		up_write(&mm->mmap_sem);
--		kmem_cache_free(vm_area_cachep, vma);
--		return ret;
-+/*
-+ * This is called from binfmt_elf, we create the special vma for the
-+ * vDSO and insert it into the mm struct tree.
-+ */
-+int arch_setup_additional_pages(struct linux_binprm *bprm,
-+	int executable_stack, unsigned long start_code,
-+	unsigned long interp_map_address)
-+{
-+	struct thread_info *ti = current_thread_info();
-+	unsigned long addr = 0, len;
-+	unsigned flags = MAP_PRIVATE;
-+	int err;
-+
-+	current->mm->context.vdso = NULL;
-+	if (unlikely(!vdso_enabled) || unlikely(!sysenter_pages[0]))
-+		return 0;
-+
-+	/*
-+	 * Map the vDSO (it will be randomized):
-+	 */
-+	down_write(&current->mm->mmap_sem);
-+	len = PAGE_SIZE > ELF_EXEC_PAGESIZE ? PAGE_SIZE : ELF_EXEC_PAGESIZE;
-+	if (0==exec_shield) { /* off; %cs limit off */
-+		addr = STACK_TOP;  /* minimal interference with anybody */
-+		flags = MAP_PRIVATE | MAP_FIXED;
- 	}
--	mm->total_vm++;
--	up_write(&mm->mmap_sem);
--	return 0;
-+	else if ((3<<2) & exec_shield) { /* vdso just below .text */
-+		addr = (((2<<2) & exec_shield) && interp_map_address) ?
-+			interp_map_address : start_code;
-+		/* 1MB for vm86; 64K for vm86 himem */
-+		if ((0x110000 + len) <= addr) {
-+			addr = (PAGE_MASK & addr) - len;
-+		}
-+		else { /* start_code is too low */
-+			addr = 0;
-+		}
-+	}
-+	addr = get_unmapped_area_prot(NULL, addr, len, 0,
-+				      flags, PROT_READ | PROT_EXEC);
-+	if (unlikely(addr & ~PAGE_MASK)) {
-+		up_write(&current->mm->mmap_sem);
-+		return addr;
-+	}
-+	err = install_special_mapping(current->mm, addr, len,
-+				      VM_DONTEXPAND | VM_READ | VM_EXEC |
-+				      VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC,
-+				      PAGE_READONLY_EXEC,
-+				      sysenter_pages);
-+	if (likely(err == 0)) {
-+		current->mm->context.vdso = (void *)addr;
-+		ti->sysenter_return = &SYSENTER_RETURN_OFFSET + addr;
-+	}
-+	up_write(&current->mm->mmap_sem);
-+	return err;
- }
- 
--struct vm_area_struct *get_gate_vma(struct task_struct *tsk)
-+int in_gate_area_no_task(unsigned long addr)
- {
--	return NULL;
-+	return 0;
- }
- 
- int in_gate_area(struct task_struct *task, unsigned long addr)
-@@ -145,7 +158,7 @@ int in_gate_area(struct task_struct *tas
- 	return 0;
- }
- 
--int in_gate_area_no_task(unsigned long addr)
-+struct vm_area_struct *get_gate_vma(struct task_struct *tsk)
- {
--	return 0;
-+	return NULL;
- }
 Index: linux/arch/i386/kernel/traps.c
 ===================================================================
 --- linux.orig/arch/i386/kernel/traps.c
@@ -471,47 +247,6 @@
  	if (!fixup_exception(regs)) {
  		if (notify_die(DIE_GPF, "general protection fault", regs,
  				error_code, 13, SIGSEGV) == NOTIFY_STOP)
-Index: linux/arch/i386/kernel/vsyscall-sysenter.S
-===================================================================
---- linux.orig/arch/i386/kernel/vsyscall-sysenter.S
-+++ linux/arch/i386/kernel/vsyscall-sysenter.S
-@@ -39,11 +39,11 @@ __kernel_vsyscall:
- 	/* 7: align return point with nop's to make disassembly easier */
- 	.space 7,0x90
- 
--	/* 14: System call restart point is here! (SYSENTER_RETURN - 2) */
-+	/* 14: System call restart point is here! (SYSENTER_RETURN_OFFSET-2) */
- 	jmp .Lenter_kernel
- 	/* 16: System call normal return point is here! */
--	.globl SYSENTER_RETURN	/* Symbol used by entry.S.  */
--SYSENTER_RETURN:
-+	.globl SYSENTER_RETURN_OFFSET	/* Symbol used by sysenter.c  */
-+SYSENTER_RETURN_OFFSET:
- 	pop %ebp
- .Lpop_ebp:
- 	pop %edx
-Index: linux/arch/i386/kernel/vsyscall.lds.S
-===================================================================
---- linux.orig/arch/i386/kernel/vsyscall.lds.S
-+++ linux/arch/i386/kernel/vsyscall.lds.S
-@@ -7,7 +7,7 @@
- 
- SECTIONS
- {
--  . = VSYSCALL_BASE + SIZEOF_HEADERS;
-+  . = SIZEOF_HEADERS;
- 
-   .hash           : { *(.hash) }		:text
-   .dynsym         : { *(.dynsym) }
-@@ -20,7 +20,7 @@ SECTIONS
-      For the layouts to match, we need to skip more than enough
-      space for the dynamic symbol table et al.  If this amount
-      is insufficient, ld -shared will barf.  Just increase it here.  */
--  . = VSYSCALL_BASE + 0x400;
-+  . = 0x400;
- 
-   .text           : { *(.text) }		:text =0x90909090
-   .note		  : { *(.note.*) }		:text :note
 Index: linux/arch/i386/mm/init.c
 ===================================================================
 --- linux.orig/arch/i386/mm/init.c
@@ -1273,33 +1008,6 @@
  			flags & VM_MAYSHARE ? 's' : 'p',
  			vma->vm_pgoff << PAGE_SHIFT,
  			MAJOR(dev), MINOR(dev), ino, &len);
-@@ -154,18 +170,22 @@ static int show_map_internal(struct seq_
- 		seq_path(m, file->f_vfsmnt, file->f_dentry, "\n");
- 	} else {
- 		if (mm) {
--			if (vma->vm_start <= mm->start_brk &&
--						vma->vm_end >= mm->brk) {
-+			if (vma->vm_end == mm->brk) {
- 				pad_len_spaces(m, len);
- 				seq_puts(m, "[heap]");
--			} else {
--				if (vma->vm_start <= mm->start_stack &&
-+			} else if (vma->vm_start <= mm->start_stack &&
- 					vma->vm_end >= mm->start_stack) {
- 
- 					pad_len_spaces(m, len);
- 					seq_puts(m, "[stack]");
- 				}
-+#ifdef __i386__
-+			else if (vma->vm_start ==
-+				(unsigned long)mm->context.vdso) {
-+				pad_len_spaces(m, len);
-+				seq_puts(m, "[vdso]");
- 			}
-+#endif
- 		} else {
- 			pad_len_spaces(m, len);
- 			seq_puts(m, "[vdso]");
 Index: linux/include/asm-i386/a.out.h
 ===================================================================
 --- linux.orig/include/asm-i386/a.out.h
@@ -1338,113 +1046,32 @@
  #endif /* !__ASSEMBLY__ */
  
  #endif
-Index: linux/include/asm-i386/elf.h
-===================================================================
---- linux.orig/include/asm-i386/elf.h
-+++ linux/include/asm-i386/elf.h
-@@ -10,6 +10,7 @@
- #include <asm/processor.h>
- #include <asm/system.h>		/* for savesegment */
- #include <asm/auxvec.h>
-+#include <asm/desc.h>
+--- linux-2.6.17.noarch/include/asm-i386/elf.h~	2006-06-29 00:53:28.000000000 -0400
++++ linux-2.6.17.noarch/include/asm-i386/elf.h	2006-06-29 00:54:04.000000000 -0400
+@@ -157,7 +157,8 @@ extern void __kernel_vsyscall;
+ #define ARCH_HAS_SETUP_ADDITIONAL_PAGES
+ struct linux_binprm;
+ extern int arch_setup_additional_pages(struct linux_binprm *bprm,
+-                                       int executable_stack);
++                                       int executable_stack, unsigned long start_code,
++                                       unsigned long interp_map_address);
  
- #include <linux/utsname.h>
+ extern unsigned int vdso_enabled;
  
-@@ -129,17 +130,31 @@ extern int dump_task_extended_fpu (struc
- #define ELF_CORE_COPY_FPREGS(tsk, elf_fpregs) dump_task_fpu(tsk, elf_fpregs)
- #define ELF_CORE_COPY_XFPREGS(tsk, elf_xfpregs) dump_task_extended_fpu(tsk, elf_xfpregs)
- 
--#define VSYSCALL_BASE	(__fix_to_virt(FIX_VSYSCALL))
--#define VSYSCALL_EHDR	((const struct elfhdr *) VSYSCALL_BASE)
--#define VSYSCALL_ENTRY	((unsigned long) &__kernel_vsyscall)
- extern void __kernel_vsyscall;
-+#define VSYSCALL_BASE	((unsigned long)current->mm->context.vdso)
-+#define VSYSCALL_EHDR	((const struct elfhdr *) VSYSCALL_BASE)
-+#define VSYSCALL_OFFSET	((unsigned long) &__kernel_vsyscall)
-+#define VSYSCALL_ENTRY	(VSYSCALL_BASE + VSYSCALL_OFFSET)
- 
--#define ARCH_DLINFO						\
--do {								\
--		NEW_AUX_ENT(AT_SYSINFO,	VSYSCALL_ENTRY);	\
--		NEW_AUX_ENT(AT_SYSINFO_EHDR, VSYSCALL_BASE);	\
-+/* kernel-internal fixmap address: */
-+#define __VSYSCALL_BASE	(__fix_to_virt(FIX_VSYSCALL))
-+#define __VSYSCALL_EHDR	((const struct elfhdr *) __VSYSCALL_BASE)
-+
-+#define ARCH_DLINFO							\
-+do {									\
-+	if (VSYSCALL_BASE) {						\
-+		NEW_AUX_ENT(AT_SYSINFO,	VSYSCALL_ENTRY);		\
-+		NEW_AUX_ENT(AT_SYSINFO_EHDR, VSYSCALL_BASE);		\
-+	}								\
- } while (0)
- 
-+#define ARCH_HAS_SETUP_ADDITIONAL_PAGES
-+struct linux_binprm;
-+extern int arch_setup_additional_pages(struct linux_binprm *bprm,
-+	int executable_stack, unsigned long start_code,
-+	unsigned long interp_map_address);
-+
-+#if 0	/* Disabled for exec-shield, where a normal vma holds the vDSO.  */
- /*
-  * These macros parameterize elf_core_dump in fs/binfmt_elf.c to write out
-  * extra segments containing the vsyscall DSO contents.  Dumping its
-@@ -148,15 +163,15 @@ do {								\
-  * Dumping its extra ELF program headers includes all the other information
-  * a debugger needs to easily find how the vsyscall DSO was being used.
-  */
--#define ELF_CORE_EXTRA_PHDRS		(VSYSCALL_EHDR->e_phnum)
-+#define ELF_CORE_EXTRA_PHDRS		(__VSYSCALL_EHDR->e_phnum)
- #define ELF_CORE_WRITE_EXTRA_PHDRS					      \
- do {									      \
- 	const struct elf_phdr *const vsyscall_phdrs =			      \
--		(const struct elf_phdr *) (VSYSCALL_BASE		      \
--					   + VSYSCALL_EHDR->e_phoff);	      \
-+		(const struct elf_phdr *) (__VSYSCALL_BASE		      \
-+					   + __VSYSCALL_EHDR->e_phoff);	      \
- 	int i;								      \
- 	Elf32_Off ofs = 0;						      \
--	for (i = 0; i < VSYSCALL_EHDR->e_phnum; ++i) {			      \
-+	for (i = 0; i < __VSYSCALL_EHDR->e_phnum; ++i) {		      \
- 		struct elf_phdr phdr = vsyscall_phdrs[i];		      \
- 		if (phdr.p_type == PT_LOAD) {				      \
- 			BUG_ON(ofs != 0);				      \
-@@ -174,16 +189,23 @@ do {									      \
- #define ELF_CORE_WRITE_EXTRA_DATA					      \
- do {									      \
- 	const struct elf_phdr *const vsyscall_phdrs =			      \
--		(const struct elf_phdr *) (VSYSCALL_BASE		      \
--					   + VSYSCALL_EHDR->e_phoff);	      \
-+		(const struct elf_phdr *) (__VSYSCALL_BASE		      \
-+					   + __VSYSCALL_EHDR->e_phoff);	      \
- 	int i;								      \
--	for (i = 0; i < VSYSCALL_EHDR->e_phnum; ++i) {			      \
-+	for (i = 0; i < __VSYSCALL_EHDR->e_phnum; ++i) {		      \
- 		if (vsyscall_phdrs[i].p_type == PT_LOAD)		      \
- 			DUMP_WRITE((void *) vsyscall_phdrs[i].p_vaddr,	      \
- 				   PAGE_ALIGN(vsyscall_phdrs[i].p_memsz));    \
- 	}								      \
- } while (0)
-+#endif
+@@ -213,4 +213,8 @@ do {									      \
  
  #endif
- 
++
 +#define __HAVE_ARCH_RANDOMIZE_BRK
 +extern void randomize_brk(unsigned long old_brk);
 +
-+#define __HAVE_ARCH_VSYSCALL
-+extern void map_vsyscall(void);
-+
  #endif
-Index: linux/include/asm-i386/mmu.h
-===================================================================
---- linux.orig/include/asm-i386/mmu.h
-+++ linux/include/asm-i386/mmu.h
-@@ -7,11 +7,17 @@
+--- linux-2.6.17.noarch/include/asm-i386/mmu.h~	2006-06-29 00:54:50.000000000 -0400
++++ linux-2.6.17.noarch/include/asm-i386/mmu.h	2006-06-29 00:55:22.000000000 -0400
+@@ -7,11 +7,15 @@
   * we put the segment information here.
   *
   * cpu_vm_mask is used to optimize ldt flushing.
-+ *
 + * exec_limit is used to track the range PROT_EXEC
 + * mappings span.
   */
@@ -1454,10 +1081,9 @@
  	void *ldt;
 +	struct desc_struct user_cs;
 +	unsigned long exec_limit;
-+	void *vdso;
+ 	void *vdso;
  } mm_context_t;
  
- #endif
 Index: linux/include/asm-i386/page.h
 ===================================================================
 --- linux.orig/include/asm-i386/page.h
@@ -1512,18 +1138,6 @@
  } while (0)
  
  /*
-Index: linux/include/asm-i386/thread_info.h
-===================================================================
---- linux.orig/include/asm-i386/thread_info.h
-+++ linux/include/asm-i386/thread_info.h
-@@ -38,6 +38,7 @@ struct thread_info {
- 					 	   0-0xBFFFFFFF for user-thead
- 						   0-0xFFFFFFFF for kernel-thread
- 						*/
-+	void			*sysenter_return;
- 	struct restart_block    restart_block;
- 
- 	unsigned long           previous_esp;   /* ESP of the previous stack in case
 Index: linux/include/asm-ia64/pgalloc.h
 ===================================================================
 --- linux.orig/include/asm-ia64/pgalloc.h
@@ -1697,15 +1311,15 @@
 ===================================================================
 --- linux.orig/include/linux/sched.h
 +++ linux/include/linux/sched.h
-@@ -39,6 +39,8 @@
- #include <linux/auxvec.h>	/* For AT_VECTOR_SIZE */
+@@ -85,6 +85,8 @@ struct sched_param {
  
  struct exec_domain;
+ struct futex_pi_state;
 +extern int exec_shield;
 +extern int print_fatal_signals;
  
  /*
-  * cloning flags:
+  * List of flags we want to share for kernel threads,
 @@ -245,6 +247,10 @@ extern int sysctl_max_map_count;
  extern unsigned long
  arch_get_unmapped_area(struct file *, unsigned long, unsigned long,
@@ -2240,3 +1854,15 @@
  #define VDSO_AUX_ENT(a,b) NEW_AUX_ENT(a,b);
  
  /*
+--- linux-2.6.17.noarch/arch/i386/kernel/sysenter.c~	2006-06-29 03:10:22.000000000 -0400
++++ linux-2.6.17.noarch/arch/i386/kernel/sysenter.c	2006-06-29 03:11:25.000000000 -0400
+@@ -118,7 +118,8 @@ static struct vm_operations_struct sysca
+ extern void SYSENTER_RETURN;
+ 
+ /* Setup a VMA at program startup for the vsyscall page */
+-int arch_setup_additional_pages(struct linux_binprm *bprm, int exstack)
++int arch_setup_additional_pages(struct linux_binprm *bprm, int exstack,
++				unsigned long start_code, unsigned long interp_map_address)
+ {
+ 	struct vm_area_struct *vma;
+ 	struct mm_struct *mm = current->mm;


Index: upstream
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/upstream,v
retrieving revision 1.378
retrieving revision 1.379
diff -u -r1.378 -r1.379
--- upstream	29 Jun 2006 01:41:28 -0000	1.378
+++ upstream	29 Jun 2006 08:27:51 -0000	1.379
@@ -1,2 +1,2 @@
 linux-2.6.17.tar.bz2
-patch-2.6.17-git12.bz2
+patch-2.6.17-git13.bz2


--- linux-2.6-mtd-git.patch DELETED ---


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