rpms/kernel/F-8 kernel.spec, 1.333, 1.334 linux-2.6-execshield.patch, 1.73, 1.74

Chuck Ebbert (cebbert) fedora-extras-commits at redhat.com
Thu Jan 31 00:45:01 UTC 2008


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv27470

Modified Files:
	kernel.spec linux-2.6-execshield.patch 
Log Message:
* Wed Jan 30 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.23.14-125
- Fix segfaults from using vdso=2 (#427641)



Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/kernel.spec,v
retrieving revision 1.333
retrieving revision 1.334
diff -u -r1.333 -r1.334
--- kernel.spec	29 Jan 2008 01:03:24 -0000	1.333
+++ kernel.spec	31 Jan 2008 00:44:13 -0000	1.334
@@ -2058,6 +2058,9 @@
 
 
 %changelog
+* Wed Jan 30 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.23.14-125
+- Fix segfaults from using vdso=2 (#427641)
+
 * Fri Jan 25 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.23.14-124
 - Unset CONFIG_USB_DEVICE_CLASS (#362221)
 

linux-2.6-execshield.patch:

Index: linux-2.6-execshield.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/linux-2.6-execshield.patch,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- linux-2.6-execshield.patch	22 Sep 2007 11:45:40 -0000	1.73
+++ linux-2.6-execshield.patch	31 Jan 2008 00:44:13 -0000	1.74
@@ -367,7 +367,7 @@
  	 * Walk the list again, actually closing and freeing it,
 --- linux-2.6.22.noarch/arch/i386/kernel/traps.c~	2007-07-20 13:50:07.000000000 -0400
 +++ linux-2.6.22.noarch/arch/i386/kernel/traps.c	2007-07-20 13:52:09.000000000 -0400
-@@ -573,7 +573,88 @@ DO_ERROR(10, SIGSEGV, "invalid TSS", inv
+@@ -573,7 +573,91 @@ DO_ERROR(10, SIGSEGV, "invalid TSS", inv
  DO_ERROR(11, SIGBUS,  "segment not present", segment_not_present)
  DO_ERROR(12, SIGBUS,  "stack segment", stack_segment)
  DO_ERROR_INFO(17, SIGBUS, "alignment check", alignment_check, BUS_ADRALN, 0, 0)
@@ -382,9 +382,9 @@
 +static int
 +check_lazy_exec_limit(int cpu, struct pt_regs *regs, long error_code)
 +{
-+struct desc_struct *desc1, *desc2;
-+struct vm_area_struct *vma;
-+unsigned long limit;
++	struct desc_struct *desc1, *desc2;
++	struct vm_area_struct *vma;
++	unsigned long limit;
 +
 +	if (current->mm == NULL)
 +		return 0;
@@ -396,6 +396,9 @@
 +		for (vma = current->mm->mmap; vma; vma = vma->vm_next)
 +			if ((vma->vm_flags & VM_EXEC) && (vma->vm_end > limit))
 +				limit = vma->vm_end;
++		vma = get_gate_vma(current);
++		if (vma && (vma->vm_flags & VM_EXEC) && (vma->vm_end > limit))
++			limit = vma->vm_end;
 +		spin_unlock(&current->mm->page_table_lock);
 +		if (limit >= TASK_SIZE)
 +			limit = -1UL;




More information about the fedora-extras-commits mailing list