rpms/kernel/devel linux-2.6-execshield.patch,1.85,1.86

Dave Jones (davej) fedora-extras-commits at redhat.com
Mon Feb 18 18:49:30 UTC 2008


Author: davej

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

Modified Files:
	linux-2.6-execshield.patch 
Log Message:
factor out common code.

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.85
retrieving revision 1.86
diff -u -r1.85 -r1.86
--- linux-2.6-execshield.patch	18 Feb 2008 17:03:16 -0000	1.85
+++ linux-2.6-execshield.patch	18 Feb 2008 18:49:20 -0000	1.86
@@ -41,24 +41,28 @@
 index a7d50a5..86e35cb 100644
 --- a/arch/x86/kernel/process_32.c
 +++ b/arch/x86/kernel/process_32.c
-@@ -847,3 +847,42 @@ unsigned long arch_randomize_brk(struct mm_struct *mm)
+@@ -847,3 +847,39 @@ unsigned long arch_randomize_brk(struct mm_struct *mm)
  	unsigned long range_end = mm->brk + 0x02000000;
  	return randomize_range(mm->brk, range_end, 0) ? : mm->brk;
  }
 +
-+void arch_add_exec_range(struct mm_struct *mm, unsigned long limit)
++static void modify_cs(struct mm_struct *mm, unsigned long limit)
 +{
-+	if (limit > mm->context.exec_limit) {
-+		mm->context.exec_limit = limit;
-+		set_user_cs(&mm->context.user_cs, limit);
-+		if (mm == current->mm) {
-+			preempt_disable();
-+			load_user_cs_desc(smp_processor_id(), mm);
-+			preempt_enable();
-+		}
++	mm->context.exec_limit = limit;
++	set_user_cs(&mm->context.user_cs, limit);
++	if (mm == current->mm) {
++		preempt_disable();
++		load_user_cs_desc(smp_processor_id(), mm);
++		preempt_enable();
 +	}
 +}
 +
++void arch_add_exec_range(struct mm_struct *mm, unsigned long limit)
++{
++	if (limit > mm->context.exec_limit)
++		modify_cs(mm, limit);
++}
++
 +void arch_remove_exec_range(struct mm_struct *mm, unsigned long old_end)
 +{
 +	struct vm_area_struct *vma;
@@ -68,14 +72,7 @@
 +		for (vma = mm->mmap; vma; vma = vma->vm_next)
 +			if ((vma->vm_flags & VM_EXEC) && (vma->vm_end > limit))
 +				limit = vma->vm_end;
-+
-+		mm->context.exec_limit = limit;
-+		set_user_cs(&mm->context.user_cs, limit);
-+		if (mm == current->mm) {
-+			preempt_disable();
-+			load_user_cs_desc(smp_processor_id(), mm);
-+			preempt_enable();
-+		}
++		modify_cs(mm, limit);
 +	}
 +}
 +




More information about the fedora-extras-commits mailing list