SOURCES (LINUX_2_6_20): pax-linux-2.6.20.patch, grsecurity-2.1.10-...

mguevara mguevara at pld-linux.org
Thu Apr 26 00:48:49 CEST 2007


Author: mguevara                     Date: Wed Apr 25 22:48:49 2007 GMT
Module: SOURCES                       Tag: LINUX_2_6_20
---- Log message:
- applied pax changes between pax-linux-2.6.20.7-test13.patch and
  pax-linux-2.6.20.7-test15.patch

---- Files affected:
SOURCES:
   pax-linux-2.6.20.patch (1.1.2.20 -> 1.1.2.21) , grsecurity-2.1.10-2.6.20.3.patch (1.1.2.10 -> 1.1.2.11) 

---- Diffs:

================================================================
Index: SOURCES/pax-linux-2.6.20.patch
diff -u SOURCES/pax-linux-2.6.20.patch:1.1.2.20 SOURCES/pax-linux-2.6.20.patch:1.1.2.21
--- SOURCES/pax-linux-2.6.20.patch:1.1.2.20	Mon Apr 16 17:13:09 2007
+++ SOURCES/pax-linux-2.6.20.patch	Thu Apr 26 00:48:44 2007
@@ -2807,10 +2807,10 @@
  	   of BIOS variables. */
  
 -	memcpy ((void *) (0x1000 - sizeof (real_mode_switch) - 100),
-+	flags = __copy_to_user ((void __user *) (0x1000 - sizeof (real_mode_switch) - 100),
++	flags = __copy_to_user_inatomic((void __user *) (0x1000 - sizeof (real_mode_switch) - 100),
  		real_mode_switch, sizeof (real_mode_switch));
 -	memcpy ((void *) (0x1000 - 100), code, length);
-+	flags = __copy_to_user ((void __user *) (0x1000 - 100), code, length);
++	flags = __copy_to_user_inatomic((void __user *) (0x1000 - 100), code, length);
  
  	/* Set up the IDT for real mode. */
  
@@ -15063,11 +15063,11 @@
  #define VM_ALWAYSDUMP	0x04000000	/* Always include in core dumps */
  
 +#ifdef CONFIG_PAX_SEGMEXEC
-+#define VM_MIRROR	0x04000000	/* vma is mirroring another */
++#define VM_MIRROR	0x08000000	/* vma is mirroring another */
 +#endif
 +
 +#ifdef CONFIG_PAX_MPROTECT
-+#define VM_MAYNOTWRITE	0x08000000	/* vma cannot be granted VM_WRITE any more */
++#define VM_MAYNOTWRITE	0x10000000	/* vma cannot be granted VM_WRITE any more */
 +#endif
 +
 +#ifdef __VM_STACK_FLAGS
@@ -15677,6 +15677,17 @@
 diff -NurpX linux-2.6.20.3-pax/Documentation/dontdiff linux-2.6.20.3/kernel/kallsyms.c linux-2.6.20.3-pax/kernel/kallsyms.c
 --- linux-2.6.20.3/kernel/kallsyms.c	2007-02-04 19:44:54.000000000 +0100
 +++ linux-2.6.20.3-pax/kernel/kallsyms.c	2007-02-05 00:56:22.000000000 +0100
+@@ -72,8 +72,8 @@ static inline int is_kernel(unsigned lon
+ 
+ static int is_ksym_addr(unsigned long addr)
+ {
+-	if (all_var)
+-		return is_kernel(addr);
++	if (all_var && is_kernel(addr))
++		return 1;
+ 
+ 	return is_kernel_text(addr) || is_kernel_inittext(addr) ||
+ 		is_kernel_extratext(addr);
 @@ -334,7 +334,6 @@ static unsigned long get_ksymbol_core(st
  
  static void reset_iter(struct kallsym_iter *iter, loff_t new_pos)
@@ -17811,7 +17822,7 @@
 +			if (vma->vm_flags & VM_MIRROR) {
 +				struct vm_area_struct *vma_m;
 +
-+				vma_m = find_vma(vma->vm_mm, vma->vm_start + vma->vm_mirror);
++				vma_m = find_vma(mm, vma->vm_start + vma->vm_mirror);
 +				BUG_ON(!vma_m || vma_m->vm_start != vma->vm_start + vma->vm_mirror);
 +				BUG_ON(vma_m->anon_vma || vma->vm_pgoff != vma_m->vm_pgoff);
 +				vma_m->anon_vma = anon_vma;

================================================================
Index: SOURCES/grsecurity-2.1.10-2.6.20.3.patch
diff -u SOURCES/grsecurity-2.1.10-2.6.20.3.patch:1.1.2.10 SOURCES/grsecurity-2.1.10-2.6.20.3.patch:1.1.2.11
--- SOURCES/grsecurity-2.1.10-2.6.20.3.patch:1.1.2.10	Mon Apr 16 14:57:22 2007
+++ SOURCES/grsecurity-2.1.10-2.6.20.3.patch	Thu Apr 26 00:48:44 2007
@@ -2859,10 +2859,10 @@
  	   of BIOS variables. */
  
 -	memcpy ((void *) (0x1000 - sizeof (real_mode_switch) - 100),
-+	flags = __copy_to_user ((void __user *) (0x1000 - sizeof (real_mode_switch) - 100),
++	flags = __copy_to_user_inatomic((void __user *) (0x1000 - sizeof (real_mode_switch) - 100),
  		real_mode_switch, sizeof (real_mode_switch));
 -	memcpy ((void *) (0x1000 - 100), code, length);
-+	flags = __copy_to_user ((void __user *) (0x1000 - 100), code, length);
++	flags = __copy_to_user_inatomic((void __user *) (0x1000 - 100), code, length);
  
  	/* Set up the IDT for real mode. */
  
@@ -26676,11 +26676,11 @@
  #define VM_ALWAYSDUMP	0x04000000	/* Always include in core dumps */
  
 +#ifdef CONFIG_PAX_SEGMEXEC
-+#define VM_MIRROR	0x04000000	/* vma is mirroring another */
++#define VM_MIRROR	0x08000000	/* vma is mirroring another */
 +#endif
 +
 +#ifdef CONFIG_PAX_MPROTECT
-+#define VM_MAYNOTWRITE	0x08000000	/* vma cannot be granted VM_WRITE any more */
++#define VM_MAYNOTWRITE	0x10000000	/* vma cannot be granted VM_WRITE any more */
 +#endif
 +
 +#ifdef __VM_STACK_FLAGS
@@ -27697,6 +27697,17 @@
 diff -urNp linux-2.6.20.3/kernel/kallsyms.c linux-2.6.20.3/kernel/kallsyms.c
 --- linux-2.6.20.3/kernel/kallsyms.c	2007-03-13 14:27:08.000000000 -0400
 +++ linux-2.6.20.3/kernel/kallsyms.c	2007-03-23 08:11:31.000000000 -0400
+@@ -72,8 +72,8 @@ static inline int is_kernel(unsigned lon
+ 
+ static int is_ksym_addr(unsigned long addr)
+ {
+-	if (all_var)
+-		return is_kernel(addr);
++	if (all_var && is_kernel(addr))
++		return 1;
+ 
+ 	return is_kernel_text(addr) || is_kernel_inittext(addr) ||
+ 		is_kernel_extratext(addr);
 @@ -334,7 +334,6 @@ static unsigned long get_ksymbol_core(st
  
  static void reset_iter(struct kallsym_iter *iter, loff_t new_pos)
@@ -30404,7 +30415,7 @@
 +			if (vma->vm_flags & VM_MIRROR) {
 +				struct vm_area_struct *vma_m;
 +
-+				vma_m = find_vma(vma->vm_mm, vma->vm_start + vma->vm_mirror);
++				vma_m = find_vma(mm, vma->vm_start + vma->vm_mirror);
 +				BUG_ON(!vma_m || vma_m->vm_start != vma->vm_start + vma->vm_mirror);
 +				BUG_ON(vma_m->anon_vma || vma->vm_pgoff != vma_m->vm_pgoff);
 +				vma_m->anon_vma = anon_vma;
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/pax-linux-2.6.20.patch?r1=1.1.2.20&r2=1.1.2.21&f=u
    http://cvs.pld-linux.org/SOURCES/grsecurity-2.1.10-2.6.20.3.patch?r1=1.1.2.10&r2=1.1.2.11&f=u



More information about the pld-cvs-commit mailing list