SOURCES (LINUX_2_6): linux-2.6-grsec_full.patch - update for our .29

arekm arekm at pld-linux.org
Sun Mar 29 15:32:11 CEST 2009


Author: arekm                        Date: Sun Mar 29 13:32:11 2009 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- update for our .29

---- Files affected:
SOURCES:
   linux-2.6-grsec_full.patch (1.1.2.55 -> 1.1.2.56) 

---- Diffs:

================================================================
Index: SOURCES/linux-2.6-grsec_full.patch
diff -u SOURCES/linux-2.6-grsec_full.patch:1.1.2.55 SOURCES/linux-2.6-grsec_full.patch:1.1.2.56
--- SOURCES/linux-2.6-grsec_full.patch:1.1.2.55	Thu Feb 12 21:53:14 2009
+++ SOURCES/linux-2.6-grsec_full.patch	Sun Mar 29 15:32:04 2009
@@ -1,6 +1,6 @@
-diff -urNp linux-2.6.28/arch/alpha/include/asm/elf.h linux-2.6.28/arch/alpha/include/asm/elf.h
---- linux-2.6.28/arch/alpha/include/asm/elf.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/include/asm/elf.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/alpha/include/asm/elf.h linux-2.6.29/arch/alpha/include/asm/elf.h
+--- linux-2.6.29/arch/alpha/include/asm/elf.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/alpha/include/asm/elf.h	2009-03-28 14:26:18.000000000 -0400
 @@ -91,6 +91,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N
  
  #define ELF_ET_DYN_BASE		(TASK_UNMAPPED_BASE + 0x1000000)
@@ -15,9 +15,9 @@
  /* $0 is set by ld.so to a pointer to a function which might be 
     registered using atexit.  This provides a mean for the dynamic
     linker to call DT_FINI functions for shared libraries that have
-diff -urNp linux-2.6.28/arch/alpha/include/asm/kmap_types.h linux-2.6.28/arch/alpha/include/asm/kmap_types.h
---- linux-2.6.28/arch/alpha/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/alpha/include/asm/kmap_types.h linux-2.6.29/arch/alpha/include/asm/kmap_types.h
+--- linux-2.6.29/arch/alpha/include/asm/kmap_types.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/alpha/include/asm/kmap_types.h	2009-03-28 14:26:18.000000000 -0400
 @@ -24,7 +24,8 @@ D(9)	KM_IRQ0,
  D(10)	KM_IRQ1,
  D(11)	KM_SOFTIRQ0,
@@ -28,9 +28,9 @@
  };
  
  #undef D
-diff -urNp linux-2.6.28/arch/alpha/include/asm/pgtable.h linux-2.6.28/arch/alpha/include/asm/pgtable.h
---- linux-2.6.28/arch/alpha/include/asm/pgtable.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/include/asm/pgtable.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/alpha/include/asm/pgtable.h linux-2.6.29/arch/alpha/include/asm/pgtable.h
+--- linux-2.6.29/arch/alpha/include/asm/pgtable.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/alpha/include/asm/pgtable.h	2009-03-28 14:26:18.000000000 -0400
 @@ -101,6 +101,17 @@ struct vm_area_struct;
  #define PAGE_SHARED	__pgprot(_PAGE_VALID | __ACCESS_BITS)
  #define PAGE_COPY	__pgprot(_PAGE_VALID | __ACCESS_BITS | _PAGE_FOW)
@@ -49,9 +49,9 @@
  #define PAGE_KERNEL	__pgprot(_PAGE_VALID | _PAGE_ASM | _PAGE_KRE | _PAGE_KWE)
  
  #define _PAGE_NORMAL(x) __pgprot(_PAGE_VALID | __ACCESS_BITS | (x))
-diff -urNp linux-2.6.28/arch/alpha/kernel/module.c linux-2.6.28/arch/alpha/kernel/module.c
---- linux-2.6.28/arch/alpha/kernel/module.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/kernel/module.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/alpha/kernel/module.c linux-2.6.29/arch/alpha/kernel/module.c
+--- linux-2.6.29/arch/alpha/kernel/module.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/alpha/kernel/module.c	2009-03-28 14:26:18.000000000 -0400
 @@ -182,7 +182,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs, 
  
  	/* The small sections were sorted to the end of the segment.
@@ -61,10 +61,10 @@
  	got = sechdrs[me->arch.gotsecindex].sh_addr;
  
  	for (i = 0; i < n; i++) {
-diff -urNp linux-2.6.28/arch/alpha/kernel/osf_sys.c linux-2.6.28/arch/alpha/kernel/osf_sys.c
---- linux-2.6.28/arch/alpha/kernel/osf_sys.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/kernel/osf_sys.c	2009-01-11 07:20:06.000000000 -0500
-@@ -1230,6 +1230,10 @@ arch_get_unmapped_area(struct file *filp
+diff -urNp linux-2.6.29/arch/alpha/kernel/osf_sys.c linux-2.6.29/arch/alpha/kernel/osf_sys.c
+--- linux-2.6.29/arch/alpha/kernel/osf_sys.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/alpha/kernel/osf_sys.c	2009-03-28 14:26:18.000000000 -0400
+@@ -1217,6 +1217,10 @@ arch_get_unmapped_area(struct file *filp
  	   merely specific addresses, but regions of memory -- perhaps
  	   this feature should be incorporated into all ports?  */
  
@@ -75,7 +75,7 @@
  	if (addr) {
  		addr = arch_get_unmapped_area_1 (PAGE_ALIGN(addr), len, limit);
  		if (addr != (unsigned long) -ENOMEM)
-@@ -1237,8 +1241,8 @@ arch_get_unmapped_area(struct file *filp
+@@ -1224,8 +1228,8 @@ arch_get_unmapped_area(struct file *filp
  	}
  
  	/* Next, try allocating at TASK_UNMAPPED_BASE.  */
@@ -86,18 +86,10 @@
  	if (addr != (unsigned long) -ENOMEM)
  		return addr;
  
-diff -urNp linux-2.6.28/arch/alpha/kernel/ptrace.c linux-2.6.28/arch/alpha/kernel/ptrace.c
---- linux-2.6.28/arch/alpha/kernel/ptrace.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/kernel/ptrace.c	2009-01-11 05:46:58.000000000 -0500
-@@ -15,6 +15,7 @@
- #include <linux/security.h>
- #include <linux/signal.h>
- #include <linux/vs_base.h>
-+#include <linux/grsecurity.h>
- 
- #include <asm/uaccess.h>
- #include <asm/pgtable.h>
-@@ -266,6 +267,9 @@ long arch_ptrace(struct task_struct *chi
+diff -urNp linux-2.6.29/arch/alpha/kernel/ptrace.c linux-2.6.29/arch/alpha/kernel/ptrace.c
+--- linux-2.6.29/arch/alpha/kernel/ptrace.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/alpha/kernel/ptrace.c	2009-03-28 14:26:18.000000000 -0400
+@@ -266,6 +266,9 @@ long arch_ptrace(struct task_struct *chi
  	size_t copied;
  	long ret;
  
@@ -107,9 +99,9 @@
  	switch (request) {
  	/* When I and D space are separate, these will need to be fixed.  */
  	case PTRACE_PEEKTEXT: /* read word at location addr. */
-diff -urNp linux-2.6.28/arch/alpha/mm/fault.c linux-2.6.28/arch/alpha/mm/fault.c
---- linux-2.6.28/arch/alpha/mm/fault.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/alpha/mm/fault.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/alpha/mm/fault.c linux-2.6.29/arch/alpha/mm/fault.c
+--- linux-2.6.29/arch/alpha/mm/fault.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/alpha/mm/fault.c	2009-03-28 14:26:18.000000000 -0400
 @@ -54,6 +54,124 @@ __load_new_mm_context(struct mm_struct *
  	__reload_thread(pcb);
  }
@@ -266,9 +258,9 @@
  	} else if (!cause) {
  		/* Allow reads even for write-only mappings */
  		if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
-diff -urNp linux-2.6.28/arch/arm/include/asm/elf.h linux-2.6.28/arch/arm/include/asm/elf.h
---- linux-2.6.28/arch/arm/include/asm/elf.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/arm/include/asm/elf.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/arm/include/asm/elf.h linux-2.6.29/arch/arm/include/asm/elf.h
+--- linux-2.6.29/arch/arm/include/asm/elf.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/arm/include/asm/elf.h	2009-03-28 14:26:18.000000000 -0400
 @@ -99,7 +99,14 @@ extern int arm_elf_read_implies_exec(con
     the loader.  We need to make sure that it is out of the way of the program
     that it will "exec", and that there is sufficient room for the brk.  */
@@ -285,9 +277,9 @@
  
  /* When the program starts, a1 contains a pointer to a function to be 
     registered with atexit, as per the SVR4 ABI.  A value of 0 means we 
-diff -urNp linux-2.6.28/arch/arm/include/asm/kmap_types.h linux-2.6.28/arch/arm/include/asm/kmap_types.h
---- linux-2.6.28/arch/arm/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/arm/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/arm/include/asm/kmap_types.h linux-2.6.29/arch/arm/include/asm/kmap_types.h
+--- linux-2.6.29/arch/arm/include/asm/kmap_types.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/arm/include/asm/kmap_types.h	2009-03-28 14:26:18.000000000 -0400
 @@ -18,6 +18,7 @@ enum km_type {
  	KM_IRQ1,
  	KM_SOFTIRQ0,
@@ -296,9 +288,9 @@
  	KM_TYPE_NR
  };
  
-diff -urNp linux-2.6.28/arch/arm/mm/mmap.c linux-2.6.28/arch/arm/mm/mmap.c
---- linux-2.6.28/arch/arm/mm/mmap.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/arm/mm/mmap.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/arm/mm/mmap.c linux-2.6.29/arch/arm/mm/mmap.c
+--- linux-2.6.29/arch/arm/mm/mmap.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/arm/mm/mmap.c	2009-03-28 14:26:18.000000000 -0400
 @@ -62,6 +62,10 @@ arch_get_unmapped_area(struct file *filp
  	if (len > TASK_SIZE)
  		return -ENOMEM;
@@ -335,9 +327,9 @@
  				mm->cached_hole_size = 0;
  				goto full_search;
  			}
-diff -urNp linux-2.6.28/arch/avr32/include/asm/elf.h linux-2.6.28/arch/avr32/include/asm/elf.h
---- linux-2.6.28/arch/avr32/include/asm/elf.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/avr32/include/asm/elf.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/avr32/include/asm/elf.h linux-2.6.29/arch/avr32/include/asm/elf.h
+--- linux-2.6.29/arch/avr32/include/asm/elf.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/avr32/include/asm/elf.h	2009-03-28 14:26:18.000000000 -0400
 @@ -85,8 +85,14 @@ typedef struct user_fpu_struct elf_fpreg
     the loader.  We need to make sure that it is out of the way of the program
     that it will "exec", and that there is sufficient room for the brk.  */
@@ -354,9 +346,9 @@
  
  /* This yields a mask that user programs can use to figure out what
     instruction set this CPU supports.  This could be done in user space,
-diff -urNp linux-2.6.28/arch/avr32/include/asm/kmap_types.h linux-2.6.28/arch/avr32/include/asm/kmap_types.h
---- linux-2.6.28/arch/avr32/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/avr32/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/avr32/include/asm/kmap_types.h linux-2.6.29/arch/avr32/include/asm/kmap_types.h
+--- linux-2.6.29/arch/avr32/include/asm/kmap_types.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/avr32/include/asm/kmap_types.h	2009-03-28 14:26:18.000000000 -0400
 @@ -22,7 +22,8 @@ D(10)	KM_IRQ0,
  D(11)	KM_IRQ1,
  D(12)	KM_SOFTIRQ0,
@@ -367,9 +359,9 @@
  };
  
  #undef D
-diff -urNp linux-2.6.28/arch/avr32/mm/fault.c linux-2.6.28/arch/avr32/mm/fault.c
---- linux-2.6.28/arch/avr32/mm/fault.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/avr32/mm/fault.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/avr32/mm/fault.c linux-2.6.29/arch/avr32/mm/fault.c
+--- linux-2.6.29/arch/avr32/mm/fault.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/avr32/mm/fault.c	2009-03-28 14:26:18.000000000 -0400
 @@ -41,6 +41,23 @@ static inline int notify_page_fault(stru
  
  int exception_trace = 1;
@@ -411,9 +403,9 @@
  		if (exception_trace && printk_ratelimit())
  			printk("%s%s[%d]: segfault at %08lx pc %08lx "
  			       "sp %08lx ecr %lu\n",
-diff -urNp linux-2.6.28/arch/blackfin/include/asm/kmap_types.h linux-2.6.28/arch/blackfin/include/asm/kmap_types.h
---- linux-2.6.28/arch/blackfin/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/blackfin/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/blackfin/include/asm/kmap_types.h linux-2.6.29/arch/blackfin/include/asm/kmap_types.h
+--- linux-2.6.29/arch/blackfin/include/asm/kmap_types.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/blackfin/include/asm/kmap_types.h	2009-03-28 14:26:18.000000000 -0400
 @@ -15,6 +15,7 @@ enum km_type {
  	KM_IRQ1,
  	KM_SOFTIRQ0,
@@ -422,9 +414,9 @@
  	KM_TYPE_NR
  };
  
-diff -urNp linux-2.6.28/arch/cris/include/asm/kmap_types.h linux-2.6.28/arch/cris/include/asm/kmap_types.h
---- linux-2.6.28/arch/cris/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/cris/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/cris/include/asm/kmap_types.h linux-2.6.29/arch/cris/include/asm/kmap_types.h
+--- linux-2.6.29/arch/cris/include/asm/kmap_types.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/cris/include/asm/kmap_types.h	2009-03-28 14:26:18.000000000 -0400
 @@ -19,6 +19,7 @@ enum km_type {
  	KM_IRQ1,
  	KM_SOFTIRQ0,
@@ -433,9 +425,9 @@
  	KM_TYPE_NR
  };
  
-diff -urNp linux-2.6.28/arch/h8300/include/asm/kmap_types.h linux-2.6.28/arch/h8300/include/asm/kmap_types.h
---- linux-2.6.28/arch/h8300/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/h8300/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/h8300/include/asm/kmap_types.h linux-2.6.29/arch/h8300/include/asm/kmap_types.h
+--- linux-2.6.29/arch/h8300/include/asm/kmap_types.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/h8300/include/asm/kmap_types.h	2009-03-28 14:26:18.000000000 -0400
 @@ -15,6 +15,7 @@ enum km_type {
  	KM_IRQ1,
  	KM_SOFTIRQ0,
@@ -444,9 +436,9 @@
  	KM_TYPE_NR
  };
  
-diff -urNp linux-2.6.28/arch/ia64/ia32/binfmt_elf32.c linux-2.6.28/arch/ia64/ia32/binfmt_elf32.c
---- linux-2.6.28/arch/ia64/ia32/binfmt_elf32.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/ia64/ia32/binfmt_elf32.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/ia64/ia32/binfmt_elf32.c linux-2.6.29/arch/ia64/ia32/binfmt_elf32.c
+--- linux-2.6.29/arch/ia64/ia32/binfmt_elf32.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/ia64/ia32/binfmt_elf32.c	2009-03-28 14:26:18.000000000 -0400
 @@ -45,6 +45,13 @@ randomize_stack_top(unsigned long stack_
  
  #define elf_read_implies_exec(ex, have_pt_gnu_stack)	(!(have_pt_gnu_stack))
@@ -461,9 +453,9 @@
  /* Ugly but avoids duplication */
  #include "../../../fs/binfmt_elf.c"
  
-diff -urNp linux-2.6.28/arch/ia64/ia32/ia32priv.h linux-2.6.28/arch/ia64/ia32/ia32priv.h
---- linux-2.6.28/arch/ia64/ia32/ia32priv.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/ia64/ia32/ia32priv.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/ia64/ia32/ia32priv.h linux-2.6.29/arch/ia64/ia32/ia32priv.h
+--- linux-2.6.29/arch/ia64/ia32/ia32priv.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/ia64/ia32/ia32priv.h	2009-03-28 14:26:18.000000000 -0400
 @@ -296,7 +296,14 @@ typedef struct compat_siginfo {
  #define ELF_DATA	ELFDATA2LSB
  #define ELF_ARCH	EM_386
@@ -480,9 +472,9 @@
  #define IA32_GATE_OFFSET	IA32_PAGE_OFFSET
  #define IA32_GATE_END		IA32_PAGE_OFFSET + PAGE_SIZE
  
-diff -urNp linux-2.6.28/arch/ia64/include/asm/elf.h linux-2.6.28/arch/ia64/include/asm/elf.h
---- linux-2.6.28/arch/ia64/include/asm/elf.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/ia64/include/asm/elf.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/ia64/include/asm/elf.h linux-2.6.29/arch/ia64/include/asm/elf.h
+--- linux-2.6.29/arch/ia64/include/asm/elf.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/ia64/include/asm/elf.h	2009-03-28 14:26:18.000000000 -0400
 @@ -43,6 +43,13 @@
   */
  #define ELF_ET_DYN_BASE		(TASK_UNMAPPED_BASE + 0x800000000UL)
@@ -497,9 +489,9 @@
  #define PT_IA_64_UNWIND		0x70000001
  
  /* IA-64 relocations: */
-diff -urNp linux-2.6.28/arch/ia64/include/asm/kmap_types.h linux-2.6.28/arch/ia64/include/asm/kmap_types.h
---- linux-2.6.28/arch/ia64/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/ia64/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/ia64/include/asm/kmap_types.h linux-2.6.29/arch/ia64/include/asm/kmap_types.h
+--- linux-2.6.29/arch/ia64/include/asm/kmap_types.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/ia64/include/asm/kmap_types.h	2009-03-28 14:26:18.000000000 -0400
 @@ -22,7 +22,8 @@ D(9)	KM_IRQ0,
  D(10)	KM_IRQ1,
  D(11)	KM_SOFTIRQ0,
@@ -510,9 +502,9 @@
  };
  
  #undef D
-diff -urNp linux-2.6.28/arch/ia64/include/asm/pgtable.h linux-2.6.28/arch/ia64/include/asm/pgtable.h
---- linux-2.6.28/arch/ia64/include/asm/pgtable.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/ia64/include/asm/pgtable.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/ia64/include/asm/pgtable.h linux-2.6.29/arch/ia64/include/asm/pgtable.h
+--- linux-2.6.29/arch/ia64/include/asm/pgtable.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/ia64/include/asm/pgtable.h	2009-03-28 14:26:18.000000000 -0400
 @@ -143,6 +143,17 @@
  #define PAGE_READONLY	__pgprot(__ACCESS_BITS | _PAGE_PL_3 | _PAGE_AR_R)
  #define PAGE_COPY	__pgprot(__ACCESS_BITS | _PAGE_PL_3 | _PAGE_AR_R)
@@ -531,9 +523,9 @@
  #define PAGE_GATE	__pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_X_RX)
  #define PAGE_KERNEL	__pgprot(__DIRTY_BITS  | _PAGE_PL_0 | _PAGE_AR_RWX)
  #define PAGE_KERNELRX	__pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_RX)
-diff -urNp linux-2.6.28/arch/ia64/kernel/module.c linux-2.6.28/arch/ia64/kernel/module.c
---- linux-2.6.28/arch/ia64/kernel/module.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/ia64/kernel/module.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/ia64/kernel/module.c linux-2.6.29/arch/ia64/kernel/module.c
+--- linux-2.6.29/arch/ia64/kernel/module.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/ia64/kernel/module.c	2009-03-28 14:26:18.000000000 -0400
 @@ -312,8 +312,7 @@ module_alloc (unsigned long size)
  void
  module_free (struct module *mod, void *module_region)
@@ -622,9 +614,9 @@
  		mod->arch.gp = gp;
  		DEBUGP("%s: placing gp at 0x%lx\n", __func__, gp);
  	}
-diff -urNp linux-2.6.28/arch/ia64/kernel/sys_ia64.c linux-2.6.28/arch/ia64/kernel/sys_ia64.c
---- linux-2.6.28/arch/ia64/kernel/sys_ia64.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/ia64/kernel/sys_ia64.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/ia64/kernel/sys_ia64.c linux-2.6.29/arch/ia64/kernel/sys_ia64.c
+--- linux-2.6.29/arch/ia64/kernel/sys_ia64.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/ia64/kernel/sys_ia64.c	2009-03-28 14:26:18.000000000 -0400
 @@ -43,6 +43,13 @@ arch_get_unmapped_area (struct file *fil
  	if (REGION_NUMBER(addr) == RGN_HPAGE)
  		addr = 0;
@@ -651,9 +643,9 @@
  				goto full_search;
  			}
  			return -ENOMEM;
-diff -urNp linux-2.6.28/arch/ia64/mm/fault.c linux-2.6.28/arch/ia64/mm/fault.c
---- linux-2.6.28/arch/ia64/mm/fault.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/ia64/mm/fault.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/ia64/mm/fault.c linux-2.6.29/arch/ia64/mm/fault.c
+--- linux-2.6.29/arch/ia64/mm/fault.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/ia64/mm/fault.c	2009-03-28 14:26:18.000000000 -0400
 @@ -72,6 +72,23 @@ mapped_kernel_page_is_present (unsigned 
  	return pte_present(pte);
  }
@@ -703,9 +695,9 @@
    survive:
  	/*
  	 * If for any reason at all we couldn't handle the fault, make
-diff -urNp linux-2.6.28/arch/ia64/mm/init.c linux-2.6.28/arch/ia64/mm/init.c
---- linux-2.6.28/arch/ia64/mm/init.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/ia64/mm/init.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/ia64/mm/init.c linux-2.6.29/arch/ia64/mm/init.c
+--- linux-2.6.29/arch/ia64/mm/init.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/ia64/mm/init.c	2009-03-28 14:26:18.000000000 -0400
 @@ -121,6 +121,19 @@ ia64_init_addr_space (void)
  		vma->vm_start = current->thread.rbs_bot & PAGE_MASK;
  		vma->vm_end = vma->vm_start + PAGE_SIZE;
@@ -726,9 +718,20 @@
  		vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
  		down_write(&current->mm->mmap_sem);
  		if (insert_vm_struct(current->mm, vma)) {
-diff -urNp linux-2.6.28/arch/m68knommu/include/asm/kmap_types.h linux-2.6.28/arch/m68knommu/include/asm/kmap_types.h
---- linux-2.6.28/arch/m68knommu/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/m68knommu/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/m68k/include/asm/kmap_types_mm.h linux-2.6.29/arch/m68k/include/asm/kmap_types_mm.h
+--- linux-2.6.29/arch/m68k/include/asm/kmap_types_mm.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/m68k/include/asm/kmap_types_mm.h	2009-03-28 14:26:18.000000000 -0400
+@@ -15,6 +15,7 @@ enum km_type {
+ 	KM_IRQ1,
+ 	KM_SOFTIRQ0,
+ 	KM_SOFTIRQ1,
++	KM_CLEARPAGE,
+ 	KM_TYPE_NR
+ };
+ 
+diff -urNp linux-2.6.29/arch/m68k/include/asm/kmap_types_no.h linux-2.6.29/arch/m68k/include/asm/kmap_types_no.h
+--- linux-2.6.29/arch/m68k/include/asm/kmap_types_no.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/m68k/include/asm/kmap_types_no.h	2009-03-28 14:26:18.000000000 -0400
 @@ -15,6 +15,7 @@ enum km_type {
  	KM_IRQ1,
  	KM_SOFTIRQ0,
@@ -737,9 +740,9 @@
  	KM_TYPE_NR
  };
  
-diff -urNp linux-2.6.28/arch/mips/include/asm/elf.h linux-2.6.28/arch/mips/include/asm/elf.h
---- linux-2.6.28/arch/mips/include/asm/elf.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/mips/include/asm/elf.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/mips/include/asm/elf.h linux-2.6.29/arch/mips/include/asm/elf.h
+--- linux-2.6.29/arch/mips/include/asm/elf.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/mips/include/asm/elf.h	2009-03-28 14:26:18.000000000 -0400
 @@ -364,4 +364,11 @@ extern int dump_task_fpu(struct task_str
  #define ELF_ET_DYN_BASE         (TASK_SIZE / 3 * 2)
  #endif
@@ -752,9 +755,9 @@
 +#endif
 +
  #endif /* _ASM_ELF_H */
-diff -urNp linux-2.6.28/arch/mips/include/asm/kmap_types.h linux-2.6.28/arch/mips/include/asm/kmap_types.h
---- linux-2.6.28/arch/mips/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/mips/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/mips/include/asm/kmap_types.h linux-2.6.29/arch/mips/include/asm/kmap_types.h
+--- linux-2.6.29/arch/mips/include/asm/kmap_types.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/mips/include/asm/kmap_types.h	2009-03-28 14:26:18.000000000 -0400
 @@ -22,7 +22,8 @@ D(9)	KM_IRQ0,
  D(10)	KM_IRQ1,
  D(11)	KM_SOFTIRQ0,
@@ -765,9 +768,9 @@
  };
  
  #undef D
-diff -urNp linux-2.6.28/arch/mips/include/asm/page.h linux-2.6.28/arch/mips/include/asm/page.h
---- linux-2.6.28/arch/mips/include/asm/page.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/mips/include/asm/page.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/mips/include/asm/page.h linux-2.6.29/arch/mips/include/asm/page.h
+--- linux-2.6.29/arch/mips/include/asm/page.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/mips/include/asm/page.h	2009-03-28 14:26:18.000000000 -0400
 @@ -82,7 +82,7 @@ extern void copy_user_highpage(struct pa
    #ifdef CONFIG_CPU_MIPS32
      typedef struct { unsigned long pte_low, pte_high; } pte_t;
@@ -777,9 +780,9 @@
    #else
       typedef struct { unsigned long long pte; } pte_t;
       #define pte_val(x)	((x).pte)
-diff -urNp linux-2.6.28/arch/mips/include/asm/system.h linux-2.6.28/arch/mips/include/asm/system.h
---- linux-2.6.28/arch/mips/include/asm/system.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/mips/include/asm/system.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/mips/include/asm/system.h linux-2.6.29/arch/mips/include/asm/system.h
+--- linux-2.6.29/arch/mips/include/asm/system.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/mips/include/asm/system.h	2009-03-28 14:26:18.000000000 -0400
 @@ -217,6 +217,6 @@ extern void per_cpu_trap_init(void);
   */
  #define __ARCH_WANT_UNLOCKED_CTXSW
@@ -788,9 +791,9 @@
 +#define arch_align_stack(x) ((x) & ALMASK)
  
  #endif /* _ASM_SYSTEM_H */
-diff -urNp linux-2.6.28/arch/mips/kernel/binfmt_elfn32.c linux-2.6.28/arch/mips/kernel/binfmt_elfn32.c
---- linux-2.6.28/arch/mips/kernel/binfmt_elfn32.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/mips/kernel/binfmt_elfn32.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/mips/kernel/binfmt_elfn32.c linux-2.6.29/arch/mips/kernel/binfmt_elfn32.c
+--- linux-2.6.29/arch/mips/kernel/binfmt_elfn32.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/mips/kernel/binfmt_elfn32.c	2009-03-28 14:26:18.000000000 -0400
 @@ -50,6 +50,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N
  #undef ELF_ET_DYN_BASE
  #define ELF_ET_DYN_BASE         (TASK32_SIZE / 3 * 2)
@@ -805,9 +808,9 @@
  #include <asm/processor.h>
  #include <linux/module.h>
  #include <linux/elfcore.h>
-diff -urNp linux-2.6.28/arch/mips/kernel/binfmt_elfo32.c linux-2.6.28/arch/mips/kernel/binfmt_elfo32.c
---- linux-2.6.28/arch/mips/kernel/binfmt_elfo32.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/mips/kernel/binfmt_elfo32.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/mips/kernel/binfmt_elfo32.c linux-2.6.29/arch/mips/kernel/binfmt_elfo32.c
+--- linux-2.6.29/arch/mips/kernel/binfmt_elfo32.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/mips/kernel/binfmt_elfo32.c	2009-03-28 14:26:18.000000000 -0400
 @@ -52,6 +52,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N
  #undef ELF_ET_DYN_BASE
  #define ELF_ET_DYN_BASE         (TASK32_SIZE / 3 * 2)
@@ -822,9 +825,9 @@
  #include <asm/processor.h>
  #include <linux/module.h>
  #include <linux/elfcore.h>
-diff -urNp linux-2.6.28/arch/mips/kernel/process.c linux-2.6.28/arch/mips/kernel/process.c
---- linux-2.6.28/arch/mips/kernel/process.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/mips/kernel/process.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/mips/kernel/process.c linux-2.6.29/arch/mips/kernel/process.c
+--- linux-2.6.29/arch/mips/kernel/process.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/mips/kernel/process.c	2009-03-28 14:26:18.000000000 -0400
 @@ -457,15 +457,3 @@ unsigned long get_wchan(struct task_stru
  out:
  	return pc;
@@ -841,9 +844,9 @@
 -
 -	return sp & ALMASK;
 -}
-diff -urNp linux-2.6.28/arch/mips/kernel/syscall.c linux-2.6.28/arch/mips/kernel/syscall.c
---- linux-2.6.28/arch/mips/kernel/syscall.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/mips/kernel/syscall.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/mips/kernel/syscall.c linux-2.6.29/arch/mips/kernel/syscall.c
+--- linux-2.6.29/arch/mips/kernel/syscall.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/mips/kernel/syscall.c	2009-03-28 14:26:18.000000000 -0400
 @@ -99,6 +99,11 @@ unsigned long arch_get_unmapped_area(str
  	do_color_align = 0;
  	if (filp || (flags & MAP_SHARED))
@@ -865,9 +868,9 @@
  	if (do_color_align)
  		addr = COLOUR_ALIGN(addr, pgoff);
  	else
-diff -urNp linux-2.6.28/arch/mips/mm/fault.c linux-2.6.28/arch/mips/mm/fault.c
---- linux-2.6.28/arch/mips/mm/fault.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/mips/mm/fault.c	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/mips/mm/fault.c linux-2.6.29/arch/mips/mm/fault.c
+--- linux-2.6.29/arch/mips/mm/fault.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/mips/mm/fault.c	2009-03-28 14:26:18.000000000 -0400
 @@ -26,6 +26,23 @@
  #include <asm/ptrace.h>
  #include <asm/highmem.h>		/* For VMALLOC_END */
@@ -892,9 +895,9 @@
  /*
   * This routine handles page faults.  It determines the address,
   * and the problem, and then passes it off to one of the appropriate
-diff -urNp linux-2.6.28/arch/parisc/include/asm/elf.h linux-2.6.28/arch/parisc/include/asm/elf.h
---- linux-2.6.28/arch/parisc/include/asm/elf.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/parisc/include/asm/elf.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/parisc/include/asm/elf.h linux-2.6.29/arch/parisc/include/asm/elf.h
+--- linux-2.6.29/arch/parisc/include/asm/elf.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/parisc/include/asm/elf.h	2009-03-28 14:26:18.000000000 -0400
 @@ -333,6 +333,13 @@ struct pt_regs;	/* forward declaration..
  
  #define ELF_ET_DYN_BASE         (TASK_UNMAPPED_BASE + 0x01000000)
@@ -909,9 +912,9 @@
  /* This yields a mask that user programs can use to figure out what
     instruction set this CPU supports.  This could be done in user space,
     but it's not easy, and we've already done it here.  */
-diff -urNp linux-2.6.28/arch/parisc/include/asm/kmap_types.h linux-2.6.28/arch/parisc/include/asm/kmap_types.h
---- linux-2.6.28/arch/parisc/include/asm/kmap_types.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/parisc/include/asm/kmap_types.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/parisc/include/asm/kmap_types.h linux-2.6.29/arch/parisc/include/asm/kmap_types.h
+--- linux-2.6.29/arch/parisc/include/asm/kmap_types.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/parisc/include/asm/kmap_types.h	2009-03-28 14:26:18.000000000 -0400
 @@ -22,7 +22,8 @@ D(9)	KM_IRQ0,
  D(10)	KM_IRQ1,
  D(11)	KM_SOFTIRQ0,
@@ -922,9 +925,9 @@
  };
  
  #undef D
-diff -urNp linux-2.6.28/arch/parisc/include/asm/pgtable.h linux-2.6.28/arch/parisc/include/asm/pgtable.h
---- linux-2.6.28/arch/parisc/include/asm/pgtable.h	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/parisc/include/asm/pgtable.h	2009-01-11 07:20:06.000000000 -0500
+diff -urNp linux-2.6.29/arch/parisc/include/asm/pgtable.h linux-2.6.29/arch/parisc/include/asm/pgtable.h
+--- linux-2.6.29/arch/parisc/include/asm/pgtable.h	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/parisc/include/asm/pgtable.h	2009-03-28 14:26:18.000000000 -0400
 @@ -202,6 +202,17 @@
  #define PAGE_EXECREAD   __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_READ | _PAGE_EXEC |_PAGE_ACCESSED)
  #define PAGE_COPY       PAGE_EXECREAD
@@ -943,10 +946,10 @@
  #define PAGE_KERNEL	__pgprot(_PAGE_KERNEL)
  #define PAGE_KERNEL_RO	__pgprot(_PAGE_KERNEL & ~_PAGE_WRITE)
  #define PAGE_KERNEL_UNC	__pgprot(_PAGE_KERNEL | _PAGE_NO_CACHE)
-diff -urNp linux-2.6.28/arch/parisc/kernel/module.c linux-2.6.28/arch/parisc/kernel/module.c
---- linux-2.6.28/arch/parisc/kernel/module.c	2008-12-24 18:26:37.000000000 -0500
-+++ linux-2.6.28/arch/parisc/kernel/module.c	2009-01-11 07:20:06.000000000 -0500
-@@ -75,16 +75,38 @@
+diff -urNp linux-2.6.29/arch/parisc/kernel/module.c linux-2.6.29/arch/parisc/kernel/module.c
+--- linux-2.6.29/arch/parisc/kernel/module.c	2009-03-23 19:12:14.000000000 -0400
++++ linux-2.6.29/arch/parisc/kernel/module.c	2009-03-28 14:26:18.000000000 -0400
+@@ -93,16 +93,38 @@
  
  /* three functions to determine where in the module core
   * or init pieces the location is */
@@ -989,7 +992,7 @@
  }
  
  static inline int in_local(struct module *me, void *loc)
-@@ -298,21 +320,21 @@ int module_frob_arch_sections(CONST Elf_
+@@ -340,13 +362,13 @@ int module_frob_arch_sections(CONST Elf_
  	}
  
  	/* align things a bit */
@@ -1000,14 +1003,6 @@
 -	me->core_size = ALIGN(me->core_size, 16);
 -	me->arch.fdesc_offset = me->core_size;
 -	me->core_size += fdescs * sizeof(Elf_Fdesc);
--
--	me->core_size = ALIGN(me->core_size, 16);
--	me->arch.stub_offset = me->core_size;
--	me->core_size += stubs * sizeof(struct stub_entry);
--
--	me->init_size = ALIGN(me->init_size, 16);
--	me->arch.init_stub_offset = me->init_size;
--	me->init_size += init_stubs * sizeof(struct stub_entry);
 +	me->core_size_rw = ALIGN(me->core_size_rw, 16);
 +	me->arch.got_offset = me->core_size_rw;
 +	me->core_size_rw += gots * sizeof(struct got_entry);
@@ -1015,18 +1010,10 @@
 +	me->core_size_rw = ALIGN(me->core_size_rw, 16);
 +	me->arch.fdesc_offset = me->core_size_rw;
 +	me->core_size_rw += fdescs * sizeof(Elf_Fdesc);
-+
-+	me->core_size_rx = ALIGN(me->core_size_rx, 16);
-+	me->arch.stub_offset = me->core_size_rx;
-+	me->core_size_rx += stubs * sizeof(struct stub_entry);
-+
-+	me->init_size_rx = ALIGN(me->init_size_rx, 16);
-+	me->arch.init_stub_offset = me->init_size_rx;
-+	me->init_size_rx += init_stubs * sizeof(struct stub_entry);
  
  	me->arch.got_max = gots;
  	me->arch.fdesc_max = fdescs;
-@@ -332,7 +354,7 @@ static Elf64_Word get_got(struct module 
+@@ -364,7 +386,7 @@ static Elf64_Word get_got(struct module 
  
  	BUG_ON(value == 0);
  
@@ -1035,7 +1022,7 @@
  	for (i = 0; got[i].addr; i++)
  		if (got[i].addr == value)
  			goto out;
-@@ -350,7 +372,7 @@ static Elf64_Word get_got(struct module 
+@@ -382,7 +404,7 @@ static Elf64_Word get_got(struct module 
  #ifdef CONFIG_64BIT
  static Elf_Addr get_fdesc(struct module *me, unsigned long value)
  {
@@ -1044,7 +1031,7 @@
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/linux-2.6-grsec_full.patch?r1=1.1.2.55&r2=1.1.2.56&f=u



More information about the pld-cvs-commit mailing list