rpms/kernel/devel kernel-2.6.spec, 1.1971.2.3, 1.1971.2.4 linux-2.6-execshield-vdso.patch, 1.2.20.1, 1.2.20.2

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Fri Feb 24 21:52:18 UTC 2006


Author: sct

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

Modified Files:
      Tag: private-xen-rebased-1971-branch
	kernel-2.6.spec linux-2.6-execshield-vdso.patch 
Log Message:
Execshield/vdso fixes (quintela at redhat.com)


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v
retrieving revision 1.1971.2.3
retrieving revision 1.1971.2.4
diff -u -r1.1971.2.3 -r1.1971.2.4
--- kernel-2.6.spec	24 Feb 2006 19:56:47 -0000	1.1971.2.3
+++ kernel-2.6.spec	24 Feb 2006 21:52:14 -0000	1.1971.2.4
@@ -1593,6 +1593,7 @@
 * Fri Feb 24 2006 Stephen Tweedie <sct at redhat.com>
 - Disable ia64 until we work out the Xen interactions
 - Fix config confusion on ia64
+- Execshield/vdso fixes (quintela at redhat.com)
 
 * Mon Feb 20 2006 Stephen Tweedie <sct at redhat.com>
 - Rebase kernel xen patches to xen-unstable cset 8907

linux-2.6-execshield-vdso.patch:
 linux-2.6.15.noarch/arch/i386/kernel/sysenter.c    |   71 +++++++++++--------
 linux-2.6.15.xen/arch/i386/kernel/cpu/common-xen.c |    6 +
 linux/fs/binfmt_elf.c                              |   15 +---
 linux/fs/proc/task_mmu.c                           |    9 +-
 linux/include/asm-i386/elf.h                       |    7 +
 linux/include/asm-i386/page.h                      |    5 +
 linux/include/linux/mm.h                           |    5 +
 linux/kernel/sysctl.c                              |   10 ++
 linux/mm/mmap.c                                    |   78 +++++++++++++++++++++
 9 files changed, 163 insertions(+), 43 deletions(-)

Index: linux-2.6-execshield-vdso.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6-execshield-vdso.patch,v
retrieving revision 1.2.20.1
retrieving revision 1.2.20.2
diff -u -r1.2.20.1 -r1.2.20.2
--- linux-2.6-execshield-vdso.patch	23 Feb 2006 21:36:14 -0000	1.2.20.1
+++ linux-2.6-execshield-vdso.patch	24 Feb 2006 21:52:15 -0000	1.2.20.2
@@ -34,7 +34,7 @@
  
  #ifdef CONFIG_X86_SYSENTER
  	if (boot_cpu_has(X86_FEATURE_SEP)) {
-@@ -82,42 +75,43 @@ int __init sysenter_setup(void)
+@@ -78,42 +71,60 @@ int __init sysenter_setup(void)
  
  extern void SYSENTER_RETURN_OFFSET;
  
@@ -56,10 +56,9 @@
 +	int err;
  
 -	if (unlikely(!vdso_enabled)) {
--		current->mm->context.vdso = NULL;
+ 		current->mm->context.vdso = NULL;
 -		return;
 -	}
-+	current->mm->context.vdso = NULL;
 +	if (unlikely(!vdso_enabled) || unlikely(!sysenter_pages[0]))
 +		return 0;
  
@@ -77,14 +76,13 @@
 -			get_page(sysenter_page);
 -			install_page(current->mm, vma, addr,
 -					sysenter_page, vma->vm_page_prot);
--		}
 +	len = PAGE_SIZE > ELF_EXEC_PAGESIZE ? PAGE_SIZE : ELF_EXEC_PAGESIZE;
 +	addr = get_unmapped_area_prot(NULL, 0, len, 0,
 +				      MAP_PRIVATE, 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,
@@ -97,14 +95,27 @@
  	up_write(&current->mm->mmap_sem);
 +	return err;
  }
--
+ 
 -static int __init vdso_setup(char *str)
--{
++#ifndef CONFIG_XEN
++int in_gate_area_no_task(unsigned long addr)
+ {
 -        vdso_enabled = simple_strtoul(str, NULL, 0);
 -        return 1;
--}
++	return 0;
+ }
 -__setup("vdso=", vdso_setup);
--
+ 
++int in_gate_area(struct task_struct *task, unsigned long addr)
++{
++	return 0;
++}
++
++struct vm_area_struct *get_gate_vma(struct task_struct *tsk)
++{
++	return NULL;
++}
++#endif
 diff -urNp --exclude-from=/home/quintela/config/misc/dontdiff linux-2.6.15.orig/arch/i386/kernel/cpu/common-xen.c linux-2.6.15.xen/arch/i386/kernel/cpu/common-xen.c
 --- linux-2.6.15.orig/arch/i386/kernel/cpu/common-xen.c	2006-02-22 15:56:20.000000000 +0100
 +++ linux-2.6.15.xen/arch/i386/kernel/cpu/common-xen.c	2006-02-22 18:26:45.000000000 +0100




More information about the fedora-cvs-commits mailing list