SOURCES (LINUX_2_6): linux-2.6-grsec_full.patch - raw official grs...

zbyniu zbyniu at pld-linux.org
Tue Apr 15 13:54:10 CEST 2008


Author: zbyniu                       Date: Tue Apr 15 11:54:10 2008 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- raw official grsecurity-2.1.11-2.6.24.4-200804142048.patch.gz

---- Files affected:
SOURCES:
   linux-2.6-grsec_full.patch (1.1.2.31 -> 1.1.2.32) 

---- Diffs:

================================================================
Index: SOURCES/linux-2.6-grsec_full.patch
diff -u SOURCES/linux-2.6-grsec_full.patch:1.1.2.31 SOURCES/linux-2.6-grsec_full.patch:1.1.2.32
--- SOURCES/linux-2.6-grsec_full.patch:1.1.2.31	Sun Mar 30 21:58:39 2008
+++ SOURCES/linux-2.6-grsec_full.patch	Tue Apr 15 13:54:04 2008
@@ -1,6 +1,6 @@
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/alpha/kernel/module.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -176,7 +176,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs, 
  
  	/* The small sections were sorted to the end of the segment.
@@ -11,8 +11,8 @@
  
  	for (i = 0; i < n; i++) {
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/alpha/kernel/osf_sys.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.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?  */
@@ -36,12 +36,12 @@
  		return addr;
  
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/alpha/kernel/ptrace.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -15,6 +15,7 @@
+ #include <linux/slab.h>
  #include <linux/security.h>
  #include <linux/signal.h>
- #include <linux/vs_base.h>
 +#include <linux/grsecurity.h>
  
  #include <asm/uaccess.h>
@@ -57,8 +57,8 @@
  	/* 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.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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/alpha/mm/fault.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.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
@@ -224,8 +224,8 @@
  		/* Allow reads even for write-only mappings */
  		if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/arm/mm/mmap.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -60,6 +60,10 @@ arch_get_unmapped_area(struct file *filp
  	if (len > TASK_SIZE)
  		return -ENOMEM;
@@ -263,8 +263,8 @@
  				goto full_search;
  			}
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/avr32/mm/fault.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.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
@@ -307,8 +307,8 @@
  			printk("%s%s[%d]: segfault at %08lx pc %08lx "
  			       "sp %08lx ecr %lu\n",
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/ia64/ia32/binfmt_elf32.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.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))
@@ -324,8 +324,8 @@
  #include "../../../fs/binfmt_elf.c"
  
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/ia64/ia32/ia32priv.h	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -303,7 +303,14 @@ struct old_linux32_dirent {
  #define ELF_DATA	ELFDATA2LSB
  #define ELF_ARCH	EM_386
@@ -343,8 +343,8 @@
  #define IA32_GATE_END		IA32_PAGE_OFFSET + PAGE_SIZE
  
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/ia64/kernel/module.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -321,7 +321,7 @@ module_alloc (unsigned long size)
  void
  module_free (struct module *mod, void *module_region)
@@ -433,12 +433,12 @@
  		DEBUGP("%s: placing gp at 0x%lx\n", __FUNCTION__, gp);
  	}
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/ia64/kernel/ptrace.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -17,6 +17,7 @@
+ #include <linux/security.h>
  #include <linux/audit.h>
  #include <linux/signal.h>
- #include <linux/vs_base.h>
 +#include <linux/grsecurity.h>
  
  #include <asm/pgtable.h>
@@ -454,8 +454,8 @@
  		ret = ptrace_attach(child);
  		goto out_tsk;
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/ia64/kernel/sys_ia64.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -43,6 +43,13 @@ arch_get_unmapped_area (struct file *fil
  	if (REGION_NUMBER(addr) == RGN_HPAGE)
  		addr = 0;
@@ -483,12 +483,12 @@
  			}
  			return -ENOMEM;
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/ia64/mm/fault.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -10,6 +10,7 @@
+ #include <linux/interrupt.h>
  #include <linux/kprobes.h>
  #include <linux/kdebug.h>
- #include <linux/vs_memory.h>
 +#include <linux/binfmts.h>
  
  #include <asm/pgtable.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
 +
@@ -543,8 +543,8 @@
  	/*
  	 * If for any reason at all we couldn't handle the fault, make
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/ia64/mm/init.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -20,8 +20,8 @@
  #include <linux/proc_fs.h>
  #include <linux/bitops.h>
@@ -576,8 +576,8 @@
  		down_write(&current->mm->mmap_sem);
  		if (insert_vm_struct(current->mm, vma)) {
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/mips/kernel/binfmt_elfn32.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.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)
@@ -593,8 +593,8 @@
  #include <linux/module.h>
  #include <linux/elfcore.h>
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/mips/kernel/binfmt_elfo32.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.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)
@@ -610,8 +610,8 @@
  #include <linux/module.h>
  #include <linux/elfcore.h>
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/mips/kernel/syscall.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -93,6 +93,11 @@ unsigned long arch_get_unmapped_area(str
  	do_color_align = 0;
  	if (filp || (flags & MAP_SHARED))
@@ -634,8 +634,8 @@
  		addr = COLOUR_ALIGN(addr, pgoff);
  	else
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/mips/mm/fault.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -26,6 +26,23 @@
  #include <asm/ptrace.h>
  #include <asm/highmem.h>		/* For VMALLOC_END */
@@ -661,8 +661,8 @@
   * 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.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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/parisc/kernel/module.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -73,16 +73,38 @@
  
  /* three functions to determine where in the module core
@@ -795,8 +795,8 @@
  	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.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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/parisc/kernel/sys_parisc.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -111,7 +111,7 @@ unsigned long arch_get_unmapped_area(str
  	if (flags & MAP_FIXED)
  		return addr;
@@ -807,8 +807,8 @@
  	if (filp) {
  		addr = get_shared_area(filp->f_mapping, addr, len, pgoff);
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/parisc/kernel/traps.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -713,9 +713,7 @@ void handle_interruption(int code, struc
  
  			down_read(&current->mm->mmap_sem);
@@ -821,8 +821,8 @@
  				fault_space = regs->iasq[0];
  
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/parisc/mm/fault.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.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
 +
@@ -994,8 +994,8 @@
  	/*
  	 * If for any reason at all we couldn't handle the fault, make
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/powerpc/kernel/module_32.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -126,7 +126,7 @@ int module_frob_arch_sections(Elf32_Ehdr
  			me->arch.core_plt_section = i;
  	}
@@ -1026,8 +1026,8 @@
  	/* Find this entry, or if that fails, the next avail. entry */
  	while (entry->jump[0]) {
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/powerpc/kernel/signal_32.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.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;
@@ -1038,8 +1038,8 @@
  			goto badframe;
  		regs->link = current->mm->context.vdso_base + vdso32_rt_sigtramp;
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/powerpc/kernel/signal_64.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -369,7 +369,7 @@ int handle_rt_signal64(int signr, struct
  	current->thread.fpscr.val = 0;
  
@@ -1050,8 +1050,8 @@
  	} else {
  		err |= setup_trampoline(__NR_rt_sigreturn, &frame->tramp[0]);
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/powerpc/kernel/vdso.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -211,7 +211,7 @@ int arch_setup_additional_pages(struct l
  	vdso_base = VDSO32_MBASE;
  #endif
@@ -1071,8 +1071,8 @@
  		rc = vdso_base;
  		goto fail_mmapsem;
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/powerpc/mm/fault.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.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
@@ -1498,8 +1498,8 @@
  		return 0;
  	}
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/powerpc/mm/mmap.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -75,10 +75,22 @@ void arch_pick_mmap_layout(struct mm_str
  	 */
  	if (mmap_is_legacy()) {
@@ -1524,8 +1524,8 @@
  		mm->unmap_area = arch_unmap_area_topdown;
  	}
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/ppc/mm/fault.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.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
@@ -1972,8 +1972,8 @@
  		return 0;
  	}
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/s390/kernel/module.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -166,11 +166,11 @@ module_frob_arch_sections(Elf_Ehdr *hdr,
  
  	/* Increase core size by size of got & plt and set start
@@ -2046,12 +2046,12 @@
  		if (r_type == R_390_GOTPC)
  			*(unsigned int *) loc = val;
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/sparc/kernel/ptrace.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -19,6 +19,7 @@
+ #include <linux/smp_lock.h>
  #include <linux/security.h>
  #include <linux/signal.h>
- #include <linux/vs_base.h>
 +#include <linux/grsecurity.h>
  
  #include <asm/pgtable.h>
@@ -2069,8 +2069,8 @@
  	    || (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) {
  		if (ptrace_attach(child)) {
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/sparc/kernel/sys_sparc.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -57,7 +57,7 @@ unsigned long arch_get_unmapped_area(str
  	if (ARCH_SUN4C_SUN4 && len > 0x20000000)
  		return -ENOMEM;
@@ -2081,8 +2081,8 @@
  	if (flags & MAP_SHARED)
  		addr = COLOUR_ALIGN(addr);
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/sparc/Makefile	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.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))
@@ -2093,8 +2093,8 @@
  DRIVERS_Y	:= $(patsubst %/, %/built-in.o, $(drivers-y))
  NET_Y		:= $(patsubst %/, %/built-in.o, $(net-y))
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/sparc/mm/fault.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -21,6 +21,10 @@
  #include <linux/interrupt.h>
  #include <linux/module.h>
@@ -2376,7 +2376,7 @@
 +
 +			}
 +			pax_report_fault(regs, (void *)regs->pc, (void *)regs->u_regs[UREG_FP]);
-+			do_exit(SIGKILL);
++			do_group_exit(SIGKILL);
 +		}
 +#endif
 +
@@ -2384,8 +2384,8 @@
  		if(!(vma->vm_flags & (VM_READ | VM_EXEC)))
  			goto bad_area;
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/sparc/mm/init.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -336,17 +336,17 @@ void __init paging_init(void)
  
  	/* Initialize the protection map with non-constant, MMU dependent values. */
@@ -2411,8 +2411,8 @@
  	protection_map[13] = PAGE_READONLY;
  	protection_map[14] = PAGE_SHARED;
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/sparc/mm/srmmu.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.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));
@@ -2428,8 +2428,8 @@
  	page_kernel = pgprot_val(SRMMU_PAGE_KERNEL);
  
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/sparc64/kernel/Makefile	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -3,7 +3,7 @@
  #
  
@@ -2440,12 +2440,12 @@
  extra-y		:= head.o init_task.o vmlinux.lds
  
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/sparc64/kernel/ptrace.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -22,6 +22,7 @@
+ #include <linux/seccomp.h>
  #include <linux/audit.h>
  #include <linux/signal.h>
- #include <linux/vs_base.h>
 +#include <linux/grsecurity.h>
  
  #include <asm/asi.h>
@@ -2463,8 +2463,8 @@
  	    || (current->personality != PER_SUNOS && request == PTRACE_ATTACH)) {
  		if (ptrace_attach(child)) {
 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-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/sparc64/kernel/sys_sparc.c	2008-03-21 01:42:48.000000000 -0400
+--- 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 20:21:07.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.
@@ -2544,8 +2544,8 @@
  		mm->unmap_area = arch_unmap_area_topdown;
  	}
 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 00:34:42.000000000 -0400
-+++ linux-2.6.24.4/arch/sparc64/mm/fault.c	2008-03-24 00:29:29.000000000 -0400
+--- 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 20:21:07.000000000 -0400
 @@ -20,6 +20,10 @@
  #include <linux/kprobes.h>
  #include <linux/kallsyms.h>
@@ -2961,7 +2961,7 @@
 +
 +		}
 +		pax_report_fault(regs, (void*)regs->tpc, (void*)(regs->u_regs[UREG_FP] + STACK_BIAS));
-+		do_exit(SIGKILL);
++		do_group_exit(SIGKILL);
 +	}
 +#endif
 +
@@ -2969,8 +2969,8 @@
  	 * load/store/atomic was a write or not, it only says that there
  	 * was no match.  So in such a case we (carefully) read the
 diff -urNp linux-2.6.24.4/arch/sparc64/mm/Makefile linux-2.6.24.4/arch/sparc64/mm/Makefile
---- linux-2.6.24.4/arch/sparc64/mm/Makefile	2008-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/sparc64/mm/Makefile	2008-03-21 01:42:49.000000000 -0400
+--- linux-2.6.24.4/arch/sparc64/mm/Makefile	2008-03-24 14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/sparc64/mm/Makefile	2008-03-26 20:21:07.000000000 -0400
 @@ -3,7 +3,7 @@
  #
  
@@ -2981,8 +2981,8 @@
  obj-y    := ultra.o tlb.o tsb.o fault.o init.o generic.o
  
 diff -urNp linux-2.6.24.4/arch/v850/kernel/module.c linux-2.6.24.4/arch/v850/kernel/module.c
---- linux-2.6.24.4/arch/v850/kernel/module.c	2008-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/v850/kernel/module.c	2008-03-21 01:42:49.000000000 -0400
+--- linux-2.6.24.4/arch/v850/kernel/module.c	2008-03-24 14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/v850/kernel/module.c	2008-03-26 20:21:07.000000000 -0400
 @@ -150,8 +150,8 @@ static uint32_t do_plt_call (void *locat
  	tramp[1] = ((val >> 16) & 0xffff) + 0x610000; /* ...; jmp r1 */
  
@@ -2995,8 +2995,8 @@
  	else
  		entry = (void *)sechdrs[mod->arch.init_plt_section].sh_addr;
 diff -urNp linux-2.6.24.4/arch/x86/boot/bitops.h linux-2.6.24.4/arch/x86/boot/bitops.h
---- linux-2.6.24.4/arch/x86/boot/bitops.h	2008-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/x86/boot/bitops.h	2008-03-21 01:42:49.000000000 -0400
+--- linux-2.6.24.4/arch/x86/boot/bitops.h	2008-03-24 14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/x86/boot/bitops.h	2008-03-26 20:21:07.000000000 -0400
 @@ -28,7 +28,7 @@ static inline int variable_test_bit(int 
  	u8 v;
  	const u32 *p = (const u32 *)addr;
@@ -3016,8 +3016,8 @@
  
  #endif /* BOOT_BITOPS_H */
 diff -urNp linux-2.6.24.4/arch/x86/boot/boot.h linux-2.6.24.4/arch/x86/boot/boot.h
---- linux-2.6.24.4/arch/x86/boot/boot.h	2008-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/x86/boot/boot.h	2008-03-21 01:42:49.000000000 -0400
+--- linux-2.6.24.4/arch/x86/boot/boot.h	2008-03-24 14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/x86/boot/boot.h	2008-03-26 20:21:07.000000000 -0400
 @@ -78,7 +78,7 @@ static inline void io_delay(void)
  static inline u16 ds(void)
  {
@@ -3037,8 +3037,8 @@
  	return diff;
  }
 diff -urNp linux-2.6.24.4/arch/x86/boot/compressed/head_32.S linux-2.6.24.4/arch/x86/boot/compressed/head_32.S
---- linux-2.6.24.4/arch/x86/boot/compressed/head_32.S	2008-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/x86/boot/compressed/head_32.S	2008-03-21 01:42:49.000000000 -0400
+--- linux-2.6.24.4/arch/x86/boot/compressed/head_32.S	2008-03-24 14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/x86/boot/compressed/head_32.S	2008-03-26 20:21:07.000000000 -0400
 @@ -70,7 +70,7 @@ startup_32:
  	addl    $(CONFIG_PHYSICAL_ALIGN - 1), %ebx
  	andl    $(~(CONFIG_PHYSICAL_ALIGN - 1)), %ebx
@@ -3078,8 +3078,8 @@
  	jmp 1b
  2:
 diff -urNp linux-2.6.24.4/arch/x86/boot/compressed/misc_32.c linux-2.6.24.4/arch/x86/boot/compressed/misc_32.c
---- linux-2.6.24.4/arch/x86/boot/compressed/misc_32.c	2008-02-25 19:20:20.000000000 -0500
-+++ linux-2.6.24.4/arch/x86/boot/compressed/misc_32.c	2008-03-21 01:42:49.000000000 -0400
+--- linux-2.6.24.4/arch/x86/boot/compressed/misc_32.c	2008-03-24 14:49:18.000000000 -0400
++++ linux-2.6.24.4/arch/x86/boot/compressed/misc_32.c	2008-03-26 20:21:07.000000000 -0400
 @@ -113,7 +113,8 @@ typedef unsigned char  uch;
  typedef unsigned short ush;
  typedef unsigned long  ulg;
@@ -3100,8 +3100,8 @@
  #endif
<<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.31&r2=1.1.2.32&f=u



More information about the pld-cvs-commit mailing list