rpms/kernel/devel kernel.spec, 1.393, 1.394 linux-2.6-execshield.patch, 1.79, 1.80

Roland McGrath (roland) fedora-extras-commits at redhat.com
Wed Jan 30 02:15:31 UTC 2008


Author: roland

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv18715

Modified Files:
	kernel.spec linux-2.6-execshield.patch 
Log Message:
Fix i686 exec-shield vs fixmap vDSO (vm.vdso_enabled=2). (#427641)


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.393
retrieving revision 1.394
diff -u -r1.393 -r1.394
--- kernel.spec	29 Jan 2008 22:38:21 -0000	1.393
+++ kernel.spec	30 Jan 2008 02:14:50 -0000	1.394
@@ -1771,6 +1771,9 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL} -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.conf %{with_xen} xen
 
 %changelog
+* Tue Jan 29 2008 Roland McGrath <roland at redhat.com>
+- Fix i686 exec-shield vs fixmap vDSO (vm.vdso_enabled=2). (#427641)
+
 * Tue Jan 29 2008 John W. Linville <linville at redhat.com>
 - A few more wireless fixes for 2.6.25
 - Some post-2.6.25 wireless updates

linux-2.6-execshield.patch:

Index: linux-2.6-execshield.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/linux-2.6-execshield.patch,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -r1.79 -r1.80
--- linux-2.6-execshield.patch	31 Oct 2007 21:30:48 -0000	1.79
+++ linux-2.6-execshield.patch	30 Jan 2008 02:14:50 -0000	1.80
@@ -367,7 +367,7 @@
  	 * Walk the list again, actually closing and freeing it,
 --- linux-2.6.22.noarch/arch/x86/kernel/traps_32.c~	2007-07-20 13:50:07.000000000 -0400
 +++ linux-2.6.22.noarch/arch/x86/kernel/traps_32.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