Author: hawk                         Date: Thu Mar 27 14:43:51 2008 GMT
Module: SOURCES                       Tag: Titanium
---- Log message:
- 
http://www.grsecurity.net/~spender/grsecurity-2.1.11-2.6.24.4-200803262003.patch
  with localversion killed

---- Files affected:
SOURCES:
   linux-2.6-grsecurity.patch (1.1.2.4 -> 1.1.2.5) 

---- Diffs:

================================================================
Index: SOURCES/linux-2.6-grsecurity.patch
diff -u SOURCES/linux-2.6-grsecurity.patch:1.1.2.4 
SOURCES/linux-2.6-grsecurity.patch:1.1.2.5
--- SOURCES/linux-2.6-grsecurity.patch:1.1.2.4  Thu Feb 28 13:16:04 2008
+++ SOURCES/linux-2.6-grsecurity.patch  Thu Mar 27 15:43:45 2008
@@ -1,6 +1,6 @@
-diff -urNp linux-2.6.24.2/arch/alpha/kernel/module.c 
linux-2.6.24.2/arch/alpha/kernel/module.c
---- linux-2.6.24.2/arch/alpha/kernel/module.c  2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/alpha/kernel/module.c  2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/alpha/kernel/module.c 
linux-2.6.24.4/arch/alpha/kernel/module.c
+--- linux-2.6.24.4/arch/alpha/kernel/module.c  2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/alpha/kernel/module.c  2008-03-26 17:56:55.000000000 
-0400
 @@ -176,7 +176,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs, 
  
        /* The small sections were sorted to the end of the segment.
@@ -10,9 +10,9 @@
        got = sechdrs[me->arch.gotsecindex].sh_addr;
  
        for (i = 0; i < n; i++) {
-diff -urNp linux-2.6.24.2/arch/alpha/kernel/osf_sys.c 
linux-2.6.24.2/arch/alpha/kernel/osf_sys.c
---- linux-2.6.24.2/arch/alpha/kernel/osf_sys.c 2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/alpha/kernel/osf_sys.c 2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/alpha/kernel/osf_sys.c 
linux-2.6.24.4/arch/alpha/kernel/osf_sys.c
+--- linux-2.6.24.4/arch/alpha/kernel/osf_sys.c 2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/alpha/kernel/osf_sys.c 2008-03-26 17:56:55.000000000 
-0400
 @@ -1288,6 +1288,10 @@ arch_get_unmapped_area(struct file *filp
           merely specific addresses, but regions of memory -- perhaps
           this feature should be incorporated into all ports?  */
@@ -35,9 +35,9 @@
        if (addr != (unsigned long) -ENOMEM)
                return addr;
  
-diff -urNp linux-2.6.24.2/arch/alpha/kernel/ptrace.c 
linux-2.6.24.2/arch/alpha/kernel/ptrace.c
---- linux-2.6.24.2/arch/alpha/kernel/ptrace.c  2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/alpha/kernel/ptrace.c  2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/alpha/kernel/ptrace.c 
linux-2.6.24.4/arch/alpha/kernel/ptrace.c
+--- linux-2.6.24.4/arch/alpha/kernel/ptrace.c  2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/alpha/kernel/ptrace.c  2008-03-26 17:56:55.000000000 
-0400
 @@ -15,6 +15,7 @@
  #include <linux/slab.h>
  #include <linux/security.h>
@@ -56,9 +56,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.24.2/arch/alpha/mm/fault.c 
linux-2.6.24.2/arch/alpha/mm/fault.c
---- linux-2.6.24.2/arch/alpha/mm/fault.c       2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/alpha/mm/fault.c       2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/alpha/mm/fault.c 
linux-2.6.24.4/arch/alpha/mm/fault.c
+--- linux-2.6.24.4/arch/alpha/mm/fault.c       2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/alpha/mm/fault.c       2008-03-26 18:53:27.000000000 
-0400
 @@ -23,6 +23,7 @@
  #include <linux/smp.h>
  #include <linux/interrupt.h>
@@ -214,7 +214,7 @@
 +
 +                      }
 +                      pax_report_fault(regs, (void *)regs->pc, (void 
*)rdusp());
-+                      do_exit(SIGKILL);
++                      do_group_exit(SIGKILL);
 +#else
                        goto bad_area;
 +#endif
@@ -223,9 +223,9 @@
        } else if (!cause) {
                /* Allow reads even for write-only mappings */
                if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
-diff -urNp linux-2.6.24.2/arch/arm/mm/mmap.c linux-2.6.24.2/arch/arm/mm/mmap.c
---- linux-2.6.24.2/arch/arm/mm/mmap.c  2008-02-11 00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/arm/mm/mmap.c  2008-02-13 18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/arm/mm/mmap.c linux-2.6.24.4/arch/arm/mm/mmap.c
+--- linux-2.6.24.4/arch/arm/mm/mmap.c  2008-03-24 14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/arm/mm/mmap.c  2008-03-26 17:56:55.000000000 -0400
 @@ -60,6 +60,10 @@ arch_get_unmapped_area(struct file *filp
        if (len > TASK_SIZE)
                return -ENOMEM;
@@ -262,9 +262,9 @@
                                mm->cached_hole_size = 0;
                                goto full_search;
                        }
-diff -urNp linux-2.6.24.2/arch/avr32/mm/fault.c 
linux-2.6.24.2/arch/avr32/mm/fault.c
---- linux-2.6.24.2/arch/avr32/mm/fault.c       2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/avr32/mm/fault.c       2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/avr32/mm/fault.c 
linux-2.6.24.4/arch/avr32/mm/fault.c
+--- linux-2.6.24.4/arch/avr32/mm/fault.c       2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/avr32/mm/fault.c       2008-03-26 18:53:27.000000000 
-0400
 @@ -41,6 +41,23 @@ static inline int notify_page_fault(stru
  
  int exception_trace = 1;
@@ -298,7 +298,7 @@
 +              if (mm->pax_flags & MF_PAX_PAGEEXEC) {
 +                      if (ecr == ECR_PROTECTION_X || ecr == ECR_TLB_MISS_X) {
 +                              pax_report_fault(regs, (void *)regs->pc, (void 
*)regs->sp);
-+                              do_exit(SIGKILL);
++                              do_group_exit(SIGKILL);
 +                      }
 +              }
 +#endif
@@ -306,9 +306,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.24.2/arch/ia64/ia32/binfmt_elf32.c 
linux-2.6.24.2/arch/ia64/ia32/binfmt_elf32.c
---- linux-2.6.24.2/arch/ia64/ia32/binfmt_elf32.c       2008-02-11 
00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/ia64/ia32/binfmt_elf32.c       2008-02-13 
18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/ia64/ia32/binfmt_elf32.c 
linux-2.6.24.4/arch/ia64/ia32/binfmt_elf32.c
+--- linux-2.6.24.4/arch/ia64/ia32/binfmt_elf32.c       2008-03-24 
14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/ia64/ia32/binfmt_elf32.c       2008-03-26 
17:56:55.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))
@@ -323,9 +323,9 @@
  /* Ugly but avoids duplication */
  #include "../../../fs/binfmt_elf.c"
  
-diff -urNp linux-2.6.24.2/arch/ia64/ia32/ia32priv.h 
linux-2.6.24.2/arch/ia64/ia32/ia32priv.h
---- linux-2.6.24.2/arch/ia64/ia32/ia32priv.h   2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/ia64/ia32/ia32priv.h   2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/ia64/ia32/ia32priv.h 
linux-2.6.24.4/arch/ia64/ia32/ia32priv.h
+--- linux-2.6.24.4/arch/ia64/ia32/ia32priv.h   2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/ia64/ia32/ia32priv.h   2008-03-26 17:56:55.000000000 
-0400
 @@ -303,7 +303,14 @@ struct old_linux32_dirent {
  #define ELF_DATA      ELFDATA2LSB
  #define ELF_ARCH      EM_386
@@ -342,9 +342,9 @@
  #define IA32_GATE_OFFSET      IA32_PAGE_OFFSET
  #define IA32_GATE_END         IA32_PAGE_OFFSET + PAGE_SIZE
  
-diff -urNp linux-2.6.24.2/arch/ia64/kernel/module.c 
linux-2.6.24.2/arch/ia64/kernel/module.c
---- linux-2.6.24.2/arch/ia64/kernel/module.c   2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/ia64/kernel/module.c   2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/ia64/kernel/module.c 
linux-2.6.24.4/arch/ia64/kernel/module.c
+--- linux-2.6.24.4/arch/ia64/kernel/module.c   2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/ia64/kernel/module.c   2008-03-26 17:56:55.000000000 
-0400
 @@ -321,7 +321,7 @@ module_alloc (unsigned long size)
  void
  module_free (struct module *mod, void *module_region)
@@ -432,9 +432,9 @@
                mod->arch.gp = gp;
                DEBUGP("%s: placing gp at 0x%lx\n", __FUNCTION__, gp);
        }
-diff -urNp linux-2.6.24.2/arch/ia64/kernel/ptrace.c 
linux-2.6.24.2/arch/ia64/kernel/ptrace.c
---- linux-2.6.24.2/arch/ia64/kernel/ptrace.c   2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/ia64/kernel/ptrace.c   2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/ia64/kernel/ptrace.c 
linux-2.6.24.4/arch/ia64/kernel/ptrace.c
+--- linux-2.6.24.4/arch/ia64/kernel/ptrace.c   2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/ia64/kernel/ptrace.c   2008-03-26 17:56:55.000000000 
-0400
 @@ -17,6 +17,7 @@
  #include <linux/security.h>
  #include <linux/audit.h>
@@ -453,9 +453,9 @@
        if (request == PTRACE_ATTACH) {
                ret = ptrace_attach(child);
                goto out_tsk;
-diff -urNp linux-2.6.24.2/arch/ia64/kernel/sys_ia64.c 
linux-2.6.24.2/arch/ia64/kernel/sys_ia64.c
---- linux-2.6.24.2/arch/ia64/kernel/sys_ia64.c 2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/ia64/kernel/sys_ia64.c 2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/ia64/kernel/sys_ia64.c 
linux-2.6.24.4/arch/ia64/kernel/sys_ia64.c
+--- linux-2.6.24.4/arch/ia64/kernel/sys_ia64.c 2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/ia64/kernel/sys_ia64.c 2008-03-26 17:56:55.000000000 
-0400
 @@ -43,6 +43,13 @@ arch_get_unmapped_area (struct file *fil
        if (REGION_NUMBER(addr) == RGN_HPAGE)
                addr = 0;
@@ -482,9 +482,9 @@
                                goto full_search;
                        }
                        return -ENOMEM;
-diff -urNp linux-2.6.24.2/arch/ia64/mm/fault.c 
linux-2.6.24.2/arch/ia64/mm/fault.c
---- linux-2.6.24.2/arch/ia64/mm/fault.c        2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/ia64/mm/fault.c        2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/ia64/mm/fault.c 
linux-2.6.24.4/arch/ia64/mm/fault.c
+--- linux-2.6.24.4/arch/ia64/mm/fault.c        2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/ia64/mm/fault.c        2008-03-26 18:53:27.000000000 
-0400
 @@ -10,6 +10,7 @@
  #include <linux/interrupt.h>
  #include <linux/kprobes.h>
@@ -531,7 +531,7 @@
 +
 +                      up_read(&mm->mmap_sem);
 +                      pax_report_fault(regs, (void *)regs->cr_iip, (void 
*)regs->r12);
-+                      do_exit(SIGKILL);
++                      do_group_exit(SIGKILL);
 +              }
 +#endif
 +
@@ -542,9 +542,9 @@
    survive:
        /*
         * If for any reason at all we couldn't handle the fault, make
-diff -urNp linux-2.6.24.2/arch/ia64/mm/init.c 
linux-2.6.24.2/arch/ia64/mm/init.c
---- linux-2.6.24.2/arch/ia64/mm/init.c 2008-02-11 00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/ia64/mm/init.c 2008-02-13 18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/ia64/mm/init.c 
linux-2.6.24.4/arch/ia64/mm/init.c
+--- linux-2.6.24.4/arch/ia64/mm/init.c 2008-03-24 14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/ia64/mm/init.c 2008-03-26 17:56:55.000000000 -0400
 @@ -20,8 +20,8 @@
  #include <linux/proc_fs.h>
  #include <linux/bitops.h>
@@ -575,9 +575,9 @@
                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.24.2/arch/mips/kernel/binfmt_elfn32.c 
linux-2.6.24.2/arch/mips/kernel/binfmt_elfn32.c
---- linux-2.6.24.2/arch/mips/kernel/binfmt_elfn32.c    2008-02-11 
00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/mips/kernel/binfmt_elfn32.c    2008-02-13 
18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/mips/kernel/binfmt_elfn32.c 
linux-2.6.24.4/arch/mips/kernel/binfmt_elfn32.c
+--- linux-2.6.24.4/arch/mips/kernel/binfmt_elfn32.c    2008-03-24 
14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/mips/kernel/binfmt_elfn32.c    2008-03-26 
17:56:55.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)
@@ -592,9 +592,9 @@
  #include <asm/processor.h>
  #include <linux/module.h>
  #include <linux/elfcore.h>
-diff -urNp linux-2.6.24.2/arch/mips/kernel/binfmt_elfo32.c 
linux-2.6.24.2/arch/mips/kernel/binfmt_elfo32.c
---- linux-2.6.24.2/arch/mips/kernel/binfmt_elfo32.c    2008-02-11 
00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/mips/kernel/binfmt_elfo32.c    2008-02-13 
18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/mips/kernel/binfmt_elfo32.c 
linux-2.6.24.4/arch/mips/kernel/binfmt_elfo32.c
+--- linux-2.6.24.4/arch/mips/kernel/binfmt_elfo32.c    2008-03-24 
14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/mips/kernel/binfmt_elfo32.c    2008-03-26 
17:56:55.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)
@@ -609,9 +609,9 @@
  #include <asm/processor.h>
  #include <linux/module.h>
  #include <linux/elfcore.h>
-diff -urNp linux-2.6.24.2/arch/mips/kernel/syscall.c 
linux-2.6.24.2/arch/mips/kernel/syscall.c
---- linux-2.6.24.2/arch/mips/kernel/syscall.c  2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/mips/kernel/syscall.c  2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/mips/kernel/syscall.c 
linux-2.6.24.4/arch/mips/kernel/syscall.c
+--- linux-2.6.24.4/arch/mips/kernel/syscall.c  2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/mips/kernel/syscall.c  2008-03-26 17:56:55.000000000 
-0400
 @@ -93,6 +93,11 @@ unsigned long arch_get_unmapped_area(str
        do_color_align = 0;
        if (filp || (flags & MAP_SHARED))
@@ -633,9 +633,9 @@
        if (do_color_align)
                addr = COLOUR_ALIGN(addr, pgoff);
        else
-diff -urNp linux-2.6.24.2/arch/mips/mm/fault.c 
linux-2.6.24.2/arch/mips/mm/fault.c
---- linux-2.6.24.2/arch/mips/mm/fault.c        2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/mips/mm/fault.c        2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/mips/mm/fault.c 
linux-2.6.24.4/arch/mips/mm/fault.c
+--- linux-2.6.24.4/arch/mips/mm/fault.c        2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/mips/mm/fault.c        2008-03-26 17:56:55.000000000 
-0400
 @@ -26,6 +26,23 @@
  #include <asm/ptrace.h>
  #include <asm/highmem.h>              /* For VMALLOC_END */
@@ -660,9 +660,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.24.2/arch/parisc/kernel/module.c 
linux-2.6.24.2/arch/parisc/kernel/module.c
---- linux-2.6.24.2/arch/parisc/kernel/module.c 2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/parisc/kernel/module.c 2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/parisc/kernel/module.c 
linux-2.6.24.4/arch/parisc/kernel/module.c
+--- linux-2.6.24.4/arch/parisc/kernel/module.c 2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/parisc/kernel/module.c 2008-03-26 17:56:55.000000000 
-0400
 @@ -73,16 +73,38 @@
  
  /* three functions to determine where in the module core
@@ -794,9 +794,9 @@
  
        DEBUGP("register_unwind_table(), sect = %d at 0x%p - 0x%p (gp=0x%lx)\n",
               me->arch.unwind_section, table, end, gp);
-diff -urNp linux-2.6.24.2/arch/parisc/kernel/sys_parisc.c 
linux-2.6.24.2/arch/parisc/kernel/sys_parisc.c
---- linux-2.6.24.2/arch/parisc/kernel/sys_parisc.c     2008-02-11 
00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/parisc/kernel/sys_parisc.c     2008-02-13 
18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/parisc/kernel/sys_parisc.c 
linux-2.6.24.4/arch/parisc/kernel/sys_parisc.c
+--- linux-2.6.24.4/arch/parisc/kernel/sys_parisc.c     2008-03-24 
14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/parisc/kernel/sys_parisc.c     2008-03-26 
17:56:55.000000000 -0400
 @@ -111,7 +111,7 @@ unsigned long arch_get_unmapped_area(str
        if (flags & MAP_FIXED)
                return addr;
@@ -806,9 +806,9 @@
  
        if (filp) {
                addr = get_shared_area(filp->f_mapping, addr, len, pgoff);
-diff -urNp linux-2.6.24.2/arch/parisc/kernel/traps.c 
linux-2.6.24.2/arch/parisc/kernel/traps.c
---- linux-2.6.24.2/arch/parisc/kernel/traps.c  2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/parisc/kernel/traps.c  2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/parisc/kernel/traps.c 
linux-2.6.24.4/arch/parisc/kernel/traps.c
+--- linux-2.6.24.4/arch/parisc/kernel/traps.c  2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/parisc/kernel/traps.c  2008-03-26 17:56:55.000000000 
-0400
 @@ -713,9 +713,7 @@ void handle_interruption(int code, struc
  
                        down_read(&current->mm->mmap_sem);
@@ -820,9 +820,9 @@
                                fault_address = regs->iaoq[0];
                                fault_space = regs->iasq[0];
  
-diff -urNp linux-2.6.24.2/arch/parisc/mm/fault.c 
linux-2.6.24.2/arch/parisc/mm/fault.c
---- linux-2.6.24.2/arch/parisc/mm/fault.c      2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/parisc/mm/fault.c      2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/parisc/mm/fault.c 
linux-2.6.24.4/arch/parisc/mm/fault.c
+--- linux-2.6.24.4/arch/parisc/mm/fault.c      2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/parisc/mm/fault.c      2008-03-26 18:53:27.000000000 
-0400
 @@ -16,6 +16,8 @@
  #include <linux/sched.h>
  #include <linux/interrupt.h>
@@ -984,7 +984,7 @@
 +
 +                      }
 +                      pax_report_fault(regs, (void 
*)instruction_pointer(regs), (void *)regs->gr[30]);
-+                      do_exit(SIGKILL);
++                      do_group_exit(SIGKILL);
 +              }
 +#endif
 +
@@ -993,9 +993,9 @@
  
        /*
         * If for any reason at all we couldn't handle the fault, make
-diff -urNp linux-2.6.24.2/arch/powerpc/kernel/module_32.c 
linux-2.6.24.2/arch/powerpc/kernel/module_32.c
---- linux-2.6.24.2/arch/powerpc/kernel/module_32.c     2008-02-11 
00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/powerpc/kernel/module_32.c     2008-02-13 
18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/powerpc/kernel/module_32.c 
linux-2.6.24.4/arch/powerpc/kernel/module_32.c
+--- linux-2.6.24.4/arch/powerpc/kernel/module_32.c     2008-03-24 
14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/powerpc/kernel/module_32.c     2008-03-26 
17:56:55.000000000 -0400
 @@ -126,7 +126,7 @@ int module_frob_arch_sections(Elf32_Ehdr
                        me->arch.core_plt_section = i;
        }
@@ -1025,9 +1025,9 @@
  
        /* Find this entry, or if that fails, the next avail. entry */
        while (entry->jump[0]) {
-diff -urNp linux-2.6.24.2/arch/powerpc/kernel/signal_32.c 
linux-2.6.24.2/arch/powerpc/kernel/signal_32.c
---- linux-2.6.24.2/arch/powerpc/kernel/signal_32.c     2008-02-11 
00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/powerpc/kernel/signal_32.c     2008-02-13 
18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/powerpc/kernel/signal_32.c 
linux-2.6.24.4/arch/powerpc/kernel/signal_32.c
+--- linux-2.6.24.4/arch/powerpc/kernel/signal_32.c     2008-03-24 
14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/powerpc/kernel/signal_32.c     2008-03-26 
17:56:55.000000000 -0400
 @@ -731,7 +731,7 @@ int handle_rt_signal32(unsigned long sig
        /* Save user registers on the stack */
        frame = &rt_sf->uc.uc_mcontext;
@@ -1037,9 +1037,9 @@
                if (save_user_regs(regs, frame, 0))
                        goto badframe;
                regs->link = current->mm->context.vdso_base + 
vdso32_rt_sigtramp;
-diff -urNp linux-2.6.24.2/arch/powerpc/kernel/signal_64.c 
linux-2.6.24.2/arch/powerpc/kernel/signal_64.c
---- linux-2.6.24.2/arch/powerpc/kernel/signal_64.c     2008-02-11 
00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/powerpc/kernel/signal_64.c     2008-02-13 
18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/powerpc/kernel/signal_64.c 
linux-2.6.24.4/arch/powerpc/kernel/signal_64.c
+--- linux-2.6.24.4/arch/powerpc/kernel/signal_64.c     2008-03-24 
14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/powerpc/kernel/signal_64.c     2008-03-26 
17:56:55.000000000 -0400
 @@ -369,7 +369,7 @@ int handle_rt_signal64(int signr, struct
        current->thread.fpscr.val = 0;
  
@@ -1049,9 +1049,9 @@
                regs->link = current->mm->context.vdso_base + 
vdso64_rt_sigtramp;
        } else {
                err |= setup_trampoline(__NR_rt_sigreturn, &frame->tramp[0]);
-diff -urNp linux-2.6.24.2/arch/powerpc/kernel/vdso.c 
linux-2.6.24.2/arch/powerpc/kernel/vdso.c
---- linux-2.6.24.2/arch/powerpc/kernel/vdso.c  2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/powerpc/kernel/vdso.c  2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/powerpc/kernel/vdso.c 
linux-2.6.24.4/arch/powerpc/kernel/vdso.c
+--- linux-2.6.24.4/arch/powerpc/kernel/vdso.c  2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/powerpc/kernel/vdso.c  2008-03-26 17:56:55.000000000 
-0400
 @@ -211,7 +211,7 @@ int arch_setup_additional_pages(struct l
        vdso_base = VDSO32_MBASE;
  #endif
@@ -1070,9 +1070,9 @@
        if (IS_ERR_VALUE(vdso_base)) {
                rc = vdso_base;
                goto fail_mmapsem;
-diff -urNp linux-2.6.24.2/arch/powerpc/mm/fault.c 
linux-2.6.24.2/arch/powerpc/mm/fault.c
---- linux-2.6.24.2/arch/powerpc/mm/fault.c     2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/powerpc/mm/fault.c     2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/powerpc/mm/fault.c 
linux-2.6.24.4/arch/powerpc/mm/fault.c
+--- linux-2.6.24.4/arch/powerpc/mm/fault.c     2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/powerpc/mm/fault.c     2008-03-26 18:53:27.000000000 
-0400
 @@ -29,6 +29,12 @@
  #include <linux/module.h>
  #include <linux/kprobes.h>
@@ -1489,7 +1489,7 @@
 +                              }
 +
 +                              pax_report_fault(regs, (void*)regs->nip, 
(void*)regs->gpr[PT_R1]);
-+                              do_exit(SIGKILL);
++                              do_group_exit(SIGKILL);
 +                      }
 +              }
 +#endif
@@ -1497,9 +1497,9 @@
                _exception(SIGSEGV, regs, code, address);
                return 0;
        }
-diff -urNp linux-2.6.24.2/arch/powerpc/mm/mmap.c 
linux-2.6.24.2/arch/powerpc/mm/mmap.c
---- linux-2.6.24.2/arch/powerpc/mm/mmap.c      2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/powerpc/mm/mmap.c      2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/powerpc/mm/mmap.c 
linux-2.6.24.4/arch/powerpc/mm/mmap.c
+--- linux-2.6.24.4/arch/powerpc/mm/mmap.c      2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/powerpc/mm/mmap.c      2008-03-26 17:56:55.000000000 
-0400
 @@ -75,10 +75,22 @@ void arch_pick_mmap_layout(struct mm_str
         */
        if (mmap_is_legacy()) {
@@ -1523,9 +1523,9 @@
                mm->get_unmapped_area = arch_get_unmapped_area_topdown;
                mm->unmap_area = arch_unmap_area_topdown;
        }
-diff -urNp linux-2.6.24.2/arch/ppc/mm/fault.c 
linux-2.6.24.2/arch/ppc/mm/fault.c
---- linux-2.6.24.2/arch/ppc/mm/fault.c 2008-02-11 00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/ppc/mm/fault.c 2008-02-13 18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/ppc/mm/fault.c 
linux-2.6.24.4/arch/ppc/mm/fault.c
+--- linux-2.6.24.4/arch/ppc/mm/fault.c 2008-03-24 14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/ppc/mm/fault.c 2008-03-26 18:53:27.000000000 -0400
 @@ -25,6 +25,11 @@
  #include <linux/interrupt.h>
  #include <linux/highmem.h>
@@ -1963,7 +1963,7 @@
 +                              }
 +
 +                              pax_report_fault(regs, (void *)regs->nip, (void 
*)regs->gpr[1]);
-+                              do_exit(SIGKILL);
++                              do_group_exit(SIGKILL);
 +                      }
 +              }
 +#endif
@@ -1971,9 +1971,9 @@
                _exception(SIGSEGV, regs, code, address);
                return 0;
        }
-diff -urNp linux-2.6.24.2/arch/s390/kernel/module.c 
linux-2.6.24.2/arch/s390/kernel/module.c
---- linux-2.6.24.2/arch/s390/kernel/module.c   2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/s390/kernel/module.c   2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/s390/kernel/module.c 
linux-2.6.24.4/arch/s390/kernel/module.c
+--- linux-2.6.24.4/arch/s390/kernel/module.c   2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/s390/kernel/module.c   2008-03-26 17:56:55.000000000 
-0400
 @@ -166,11 +166,11 @@ module_frob_arch_sections(Elf_Ehdr *hdr,
  
        /* Increase core size by size of got & plt and set start
@@ -2045,9 +2045,9 @@
                        rela->r_addend - loc;
                if (r_type == R_390_GOTPC)
                        *(unsigned int *) loc = val;
-diff -urNp linux-2.6.24.2/arch/sparc/kernel/ptrace.c 
linux-2.6.24.2/arch/sparc/kernel/ptrace.c
---- linux-2.6.24.2/arch/sparc/kernel/ptrace.c  2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/sparc/kernel/ptrace.c  2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/sparc/kernel/ptrace.c 
linux-2.6.24.4/arch/sparc/kernel/ptrace.c
+--- linux-2.6.24.4/arch/sparc/kernel/ptrace.c  2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/sparc/kernel/ptrace.c  2008-03-26 17:56:55.000000000 
-0400
 @@ -19,6 +19,7 @@
  #include <linux/smp_lock.h>
  #include <linux/security.h>
@@ -2068,9 +2068,9 @@
        if ((current->personality == PER_SUNOS && request == PTRACE_SUNATTACH)
            || (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) 
{
                if (ptrace_attach(child)) {
-diff -urNp linux-2.6.24.2/arch/sparc/kernel/sys_sparc.c 
linux-2.6.24.2/arch/sparc/kernel/sys_sparc.c
---- linux-2.6.24.2/arch/sparc/kernel/sys_sparc.c       2008-02-11 
00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/sparc/kernel/sys_sparc.c       2008-02-13 
18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/sparc/kernel/sys_sparc.c 
linux-2.6.24.4/arch/sparc/kernel/sys_sparc.c
+--- linux-2.6.24.4/arch/sparc/kernel/sys_sparc.c       2008-03-24 
14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/sparc/kernel/sys_sparc.c       2008-03-26 
17:56:55.000000000 -0400
 @@ -57,7 +57,7 @@ unsigned long arch_get_unmapped_area(str
        if (ARCH_SUN4C_SUN4 && len > 0x20000000)
                return -ENOMEM;
@@ -2080,9 +2080,9 @@
  
        if (flags & MAP_SHARED)
                addr = COLOUR_ALIGN(addr);
-diff -urNp linux-2.6.24.2/arch/sparc/Makefile 
linux-2.6.24.2/arch/sparc/Makefile
---- linux-2.6.24.2/arch/sparc/Makefile 2008-02-11 00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/sparc/Makefile 2008-02-13 18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/sparc/Makefile 
linux-2.6.24.4/arch/sparc/Makefile
+--- linux-2.6.24.4/arch/sparc/Makefile 2008-03-24 14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/sparc/Makefile 2008-03-26 17:56:55.000000000 -0400
 @@ -36,7 +36,7 @@ drivers-$(CONFIG_OPROFILE)   += arch/sparc
  # Renaming is done to avoid confusing pattern matching rules in 2.5.45 
(multy-)
  INIT_Y                := $(patsubst %/, %/built-in.o, $(init-y))
@@ -2092,9 +2092,9 @@
  CORE_Y                := $(patsubst %/, %/built-in.o, $(CORE_Y))
  DRIVERS_Y     := $(patsubst %/, %/built-in.o, $(drivers-y))
  NET_Y         := $(patsubst %/, %/built-in.o, $(net-y))
-diff -urNp linux-2.6.24.2/arch/sparc/mm/fault.c 
linux-2.6.24.2/arch/sparc/mm/fault.c
---- linux-2.6.24.2/arch/sparc/mm/fault.c       2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/sparc/mm/fault.c       2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/sparc/mm/fault.c 
linux-2.6.24.4/arch/sparc/mm/fault.c
+--- linux-2.6.24.4/arch/sparc/mm/fault.c       2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/sparc/mm/fault.c       2008-03-26 18:53:27.000000000 
-0400
 @@ -21,6 +21,10 @@
  #include <linux/interrupt.h>
  #include <linux/module.h>
@@ -2376,16 +2376,16 @@
 +
 +                      }
 +                      pax_report_fault(regs, (void *)regs->pc, (void 
*)regs->u_regs[UREG_FP]);
-+                      do_exit(SIGKILL);
++                      do_group_exit(SIGKILL);
 +              }
 +#endif
 +
                /* Allow reads even for write-only mappings */
                if(!(vma->vm_flags & (VM_READ | VM_EXEC)))
                        goto bad_area;
-diff -urNp linux-2.6.24.2/arch/sparc/mm/init.c 
linux-2.6.24.2/arch/sparc/mm/init.c
---- linux-2.6.24.2/arch/sparc/mm/init.c        2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/sparc/mm/init.c        2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/sparc/mm/init.c 
linux-2.6.24.4/arch/sparc/mm/init.c
+--- linux-2.6.24.4/arch/sparc/mm/init.c        2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/sparc/mm/init.c        2008-03-26 17:56:55.000000000 
-0400
 @@ -336,17 +336,17 @@ void __init paging_init(void)
  
        /* Initialize the protection map with non-constant, MMU dependent 
values. */
@@ -2410,9 +2410,9 @@
        protection_map[12] = PAGE_READONLY;
        protection_map[13] = PAGE_READONLY;
        protection_map[14] = PAGE_SHARED;
-diff -urNp linux-2.6.24.2/arch/sparc/mm/srmmu.c 
linux-2.6.24.2/arch/sparc/mm/srmmu.c
---- linux-2.6.24.2/arch/sparc/mm/srmmu.c       2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/sparc/mm/srmmu.c       2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/sparc/mm/srmmu.c 
linux-2.6.24.4/arch/sparc/mm/srmmu.c
+--- linux-2.6.24.4/arch/sparc/mm/srmmu.c       2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/sparc/mm/srmmu.c       2008-03-26 17:56:55.000000000 
-0400
 @@ -2157,6 +2157,13 @@ void __init ld_mmu_srmmu(void)
        PAGE_SHARED = pgprot_val(SRMMU_PAGE_SHARED);
        BTFIXUPSET_INT(page_copy, pgprot_val(SRMMU_PAGE_COPY));
@@ -2427,9 +2427,9 @@
        BTFIXUPSET_INT(page_kernel, pgprot_val(SRMMU_PAGE_KERNEL));
        page_kernel = pgprot_val(SRMMU_PAGE_KERNEL);
  
-diff -urNp linux-2.6.24.2/arch/sparc64/kernel/Makefile 
linux-2.6.24.2/arch/sparc64/kernel/Makefile
---- linux-2.6.24.2/arch/sparc64/kernel/Makefile        2008-02-11 
00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/sparc64/kernel/Makefile        2008-02-13 
18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/sparc64/kernel/Makefile 
linux-2.6.24.4/arch/sparc64/kernel/Makefile
+--- linux-2.6.24.4/arch/sparc64/kernel/Makefile        2008-03-24 
14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/sparc64/kernel/Makefile        2008-03-26 
17:56:55.000000000 -0400
 @@ -3,7 +3,7 @@
  #
  
@@ -2439,9 +2439,9 @@
  
  extra-y               := head.o init_task.o vmlinux.lds
  
-diff -urNp linux-2.6.24.2/arch/sparc64/kernel/ptrace.c 
linux-2.6.24.2/arch/sparc64/kernel/ptrace.c
---- linux-2.6.24.2/arch/sparc64/kernel/ptrace.c        2008-02-11 
00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/sparc64/kernel/ptrace.c        2008-02-13 
18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/sparc64/kernel/ptrace.c 
linux-2.6.24.4/arch/sparc64/kernel/ptrace.c
+--- linux-2.6.24.4/arch/sparc64/kernel/ptrace.c        2008-03-24 
14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/sparc64/kernel/ptrace.c        2008-03-26 
17:56:55.000000000 -0400
 @@ -22,6 +22,7 @@
  #include <linux/seccomp.h>
  #include <linux/audit.h>
@@ -2462,9 +2462,9 @@
        if ((current->personality == PER_SUNOS && request == PTRACE_SUNATTACH)
            || (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) 
{
                if (ptrace_attach(child)) {
-diff -urNp linux-2.6.24.2/arch/sparc64/kernel/sys_sparc.c 
linux-2.6.24.2/arch/sparc64/kernel/sys_sparc.c
---- linux-2.6.24.2/arch/sparc64/kernel/sys_sparc.c     2008-02-11 
00:51:11.000000000 -0500
-+++ linux-2.6.24.2/arch/sparc64/kernel/sys_sparc.c     2008-02-13 
18:27:54.000000000 -0500
+diff -urNp linux-2.6.24.4/arch/sparc64/kernel/sys_sparc.c 
linux-2.6.24.4/arch/sparc64/kernel/sys_sparc.c
+--- linux-2.6.24.4/arch/sparc64/kernel/sys_sparc.c     2008-03-24 
14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/sparc64/kernel/sys_sparc.c     2008-03-26 
17:56:55.000000000 -0400
 @@ -123,7 +123,7 @@ unsigned long arch_get_unmapped_area(str
                /* We do not accept a shared mapping if it would violate
                 * cache aliasing constraints.
@@ -2543,9 +2543,9 @@
                mm->get_unmapped_area = arch_get_unmapped_area_topdown;
                mm->unmap_area = arch_unmap_area_topdown;
        }
-diff -urNp linux-2.6.24.2/arch/sparc64/mm/fault.c 
linux-2.6.24.2/arch/sparc64/mm/fault.c
---- linux-2.6.24.2/arch/sparc64/mm/fault.c     2008-02-11 00:51:11.000000000 
-0500
-+++ linux-2.6.24.2/arch/sparc64/mm/fault.c     2008-02-13 18:27:54.000000000 
-0500
+diff -urNp linux-2.6.24.4/arch/sparc64/mm/fault.c 
linux-2.6.24.4/arch/sparc64/mm/fault.c
+--- linux-2.6.24.4/arch/sparc64/mm/fault.c     2008-03-24 14:49:18.000000000 
-0400
++++ linux-2.6.24.4/arch/sparc64/mm/fault.c     2008-03-26 18:53:27.000000000 
-0400
 @@ -20,6 +20,10 @@
  #include <linux/kprobes.h>
  #include <linux/kallsyms.h>
@@ -2557,7 +2557,7 @@
  
  #include <asm/page.h>
  #include <asm/pgtable.h>
-@@ -270,6 +274,368 @@ cannot_handle:
+@@ -262,6 +266,368 @@ cannot_handle:
        unhandled_fault (address, current, regs);
  }
  
@@ -2926,7 +2926,7 @@
  asmlinkage void __kprobes do_sparc64_fault(struct pt_regs *regs)
  {
        struct mm_struct *mm = current->mm;
-@@ -311,8 +677,10 @@ asmlinkage void __kprobes do_sparc64_fau
+@@ -303,8 +669,10 @@ asmlinkage void __kprobes do_sparc64_fau
                goto intr_or_no_mm;
  
        if (test_thread_flag(TIF_32BIT)) {
@@ -2938,7 +2938,7 @@
                address &= 0xffffffff;
        }
  
-@@ -329,6 +697,29 @@ asmlinkage void __kprobes do_sparc64_fau
+@@ -321,6 +689,29 @@ asmlinkage void __kprobes do_sparc64_fau
        if (!vma)
                goto bad_area;
<<Diff was trimmed, longer than 597 lines>>

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

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to