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(¤t->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