SOURCES (LINUX_2_6): grsecurity-2.1.9-2.6.16.14.patch - adapted fo...

zbyniu zbyniu at pld-linux.org
Sun May 7 12:31:01 CEST 2006


Author: zbyniu                       Date: Sun May  7 10:31:01 2006 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- adapted for common kernel with vserver

---- Files affected:
SOURCES:
   grsecurity-2.1.9-2.6.16.14.patch (1.1 -> 1.1.2.1) 

---- Diffs:

================================================================
Index: SOURCES/grsecurity-2.1.9-2.6.16.14.patch
diff -u SOURCES/grsecurity-2.1.9-2.6.16.14.patch:1.1 SOURCES/grsecurity-2.1.9-2.6.16.14.patch:1.1.2.1
--- SOURCES/grsecurity-2.1.9-2.6.16.14.patch:1.1	Sun May  7 12:24:35 2006
+++ SOURCES/grsecurity-2.1.9-2.6.16.14.patch	Sun May  7 12:30:56 2006
@@ -46,8 +46,8 @@
  
  #include <asm/uaccess.h>
  #include <asm/pgtable.h>
-@@ -283,6 +284,9 @@ do_sys_ptrace(long request, long pid, lo
- 		goto out_notsk;
+@@ -288,6 +289,9 @@ do_sys_ptrace(long request, long pid, lo
+ 		goto out;
  	}
  
 +	if (gr_handle_ptrace(child, request))
@@ -277,7 +277,7 @@
 diff -urNp linux-2.6.16.12/arch/i386/Kconfig linux-2.6.16.12/arch/i386/Kconfig
 --- linux-2.6.16.12/arch/i386/Kconfig	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/arch/i386/Kconfig	2006-05-01 20:17:33.000000000 -0400
-@@ -963,7 +963,7 @@ endchoice
+@@ -983,7 +983,7 @@ endchoice
  
  config PCI_BIOS
  	bool
@@ -1518,7 +1518,7 @@
 diff -urNp linux-2.6.16.12/arch/i386/kernel/process.c linux-2.6.16.12/arch/i386/kernel/process.c
 --- linux-2.6.16.12/arch/i386/kernel/process.c	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/arch/i386/kernel/process.c	2006-05-01 20:17:33.000000000 -0400
-@@ -374,7 +374,7 @@ void exit_thread(void)
+@@ -377,7 +377,7 @@ void exit_thread(void)
  	/* The process may have allocated an io port bitmap... nuke it. */
  	if (unlikely(NULL != t->io_bitmap_ptr)) {
  		int cpu = get_cpu();
@@ -1527,7 +1527,7 @@
  
  		kfree(t->io_bitmap_ptr);
  		t->io_bitmap_ptr = NULL;
-@@ -394,6 +394,9 @@ void flush_thread(void)
+@@ -397,6 +397,9 @@ void flush_thread(void)
  {
  	struct task_struct *tsk = current;
  
@@ -1537,7 +1537,7 @@
  	memset(tsk->thread.debugreg, 0, sizeof(unsigned long)*8);
  	memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array));	
  	/*
-@@ -426,7 +429,7 @@ int copy_thread(int nr, unsigned long cl
+@@ -429,7 +432,7 @@ int copy_thread(int nr, unsigned long cl
  	struct task_struct *tsk;
  	int err;
  
@@ -1546,7 +1546,7 @@
  	*childregs = *regs;
  	childregs->eax = 0;
  	childregs->esp = esp;
-@@ -469,6 +472,11 @@ int copy_thread(int nr, unsigned long cl
+@@ -472,6 +475,11 @@ int copy_thread(int nr, unsigned long cl
  		if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX)
  			goto out;
  
@@ -1558,7 +1558,7 @@
  		desc = p->thread.tls_array + idx - GDT_ENTRY_TLS_MIN;
  		desc->a = LDT_entry_a(&info);
  		desc->b = LDT_entry_b(&info);
-@@ -633,7 +641,11 @@ struct task_struct fastcall * __switch_t
+@@ -636,7 +644,11 @@ struct task_struct fastcall * __switch_t
  	struct thread_struct *prev = &prev_p->thread,
  				 *next = &next_p->thread;
  	int cpu = smp_processor_id();
@@ -1571,7 +1571,7 @@
  
  	/* never put a printk in __switch_to... printk() calls wake_up*() indirectly */
  
-@@ -656,11 +668,19 @@ struct task_struct fastcall * __switch_t
+@@ -659,11 +671,19 @@ struct task_struct fastcall * __switch_t
  	savesegment(fs, prev->fs);
  	savesegment(gs, prev->gs);
  
@@ -1591,7 +1591,7 @@
  	/*
  	 * Restore %fs and %gs if needed.
  	 *
-@@ -815,8 +835,18 @@ asmlinkage int sys_set_thread_area(struc
+@@ -818,8 +838,18 @@ asmlinkage int sys_set_thread_area(struc
  	struct desc_struct *desc;
  	int cpu, idx;
  
@@ -1610,7 +1610,7 @@
  	idx = info.entry_number;
  
  	/*
-@@ -848,8 +878,17 @@ asmlinkage int sys_set_thread_area(struc
+@@ -851,8 +881,17 @@ asmlinkage int sys_set_thread_area(struc
  		desc->a = LDT_entry_a(&info);
  		desc->b = LDT_entry_b(&info);
  	}
@@ -1628,7 +1628,7 @@
  	put_cpu();
  
  	return 0;
-@@ -905,9 +944,27 @@ asmlinkage int sys_get_thread_area(struc
+@@ -908,9 +947,27 @@ asmlinkage int sys_get_thread_area(struc
  	return 0;
  }
  
@@ -1931,7 +1931,7 @@
 diff -urNp linux-2.6.16.12/arch/i386/kernel/sys_i386.c linux-2.6.16.12/arch/i386/kernel/sys_i386.c
 --- linux-2.6.16.12/arch/i386/kernel/sys_i386.c	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/arch/i386/kernel/sys_i386.c	2006-05-01 20:17:33.000000000 -0400
-@@ -106,6 +106,191 @@ out:
+@@ -107,6 +107,191 @@ out:
  	return err;
  }
  
@@ -2134,7 +2134,7 @@
  
  #ifdef CONFIG_EISA
  #include <linux/ioport.h>
-@@ -58,18 +59,13 @@
+@@ -60,18 +60,13 @@
  
  asmlinkage int system_call(void);
  
@@ -2155,7 +2155,7 @@
  
  asmlinkage void divide_error(void);
  asmlinkage void debug(void);
-@@ -125,18 +121,22 @@ static inline unsigned long print_contex
+@@ -127,18 +123,22 @@ static inline unsigned long print_contex
  				char *log_lvl)
  {
  	unsigned long addr;
@@ -2179,7 +2179,7 @@
  	}
  #endif
  	return ebp;
-@@ -266,7 +266,7 @@ void show_registers(struct pt_regs *regs
+@@ -269,7 +269,7 @@ void show_registers(struct pt_regs *regs
  
  		printk(KERN_EMERG "Code: ");
  
@@ -2188,7 +2188,7 @@
  		for (i = 0; i < 64; i++, eip++) {
  			unsigned char c;
  
-@@ -274,7 +274,7 @@ void show_registers(struct pt_regs *regs
+@@ -277,7 +277,7 @@ void show_registers(struct pt_regs *regs
  				printk(" Bad EIP value.");
  				break;
  			}
@@ -2197,7 +2197,7 @@
  				printk("<%02x> ", c);
  			else
  				printk("%02x ", c);
-@@ -291,7 +291,7 @@ static void handle_BUG(struct pt_regs *r
+@@ -294,7 +294,7 @@ static void handle_BUG(struct pt_regs *r
  	char c;
  	unsigned long eip;
  
@@ -2206,7 +2206,7 @@
  
  	if (eip < PAGE_OFFSET)
  		goto no_bug;
-@@ -390,7 +390,7 @@ void die(const char * str, struct pt_reg
+@@ -396,7 +396,7 @@ void die(const char * str, struct pt_reg
  
  static inline void die_if_kernel(const char * str, struct pt_regs * regs, long err)
  {
@@ -2215,7 +2215,7 @@
  		die(str, regs, err);
  }
  
-@@ -408,7 +408,7 @@ static void __kprobes do_trap(int trapnr
+@@ -414,7 +414,7 @@ static void __kprobes do_trap(int trapnr
  		goto trap_signal;
  	}
  
@@ -2224,7 +2224,7 @@
  		goto kernel_trap;
  
  	trap_signal: {
-@@ -496,7 +496,7 @@ fastcall void __kprobes do_general_prote
+@@ -502,7 +502,7 @@ fastcall void __kprobes do_general_prote
  					      long error_code)
  {
  	int cpu = get_cpu();
@@ -2233,7 +2233,7 @@
  	struct thread_struct *thread = &current->thread;
  
  	/*
-@@ -532,9 +532,25 @@ fastcall void __kprobes do_general_prote
+@@ -538,9 +538,25 @@ fastcall void __kprobes do_general_prote
  	if (regs->eflags & VM_MASK)
  		goto gp_in_vm86;
  
@@ -2260,7 +2260,7 @@
  	current->thread.error_code = error_code;
  	current->thread.trap_no = 13;
  	force_sig(SIGSEGV, current);
-@@ -550,6 +566,13 @@ gp_in_kernel:
+@@ -556,6 +572,13 @@ gp_in_kernel:
  		if (notify_die(DIE_GPF, "general protection fault", regs,
  				error_code, 13, SIGSEGV) == NOTIFY_STOP)
  			return;
@@ -2274,7 +2274,7 @@
  		die("general protection fault", regs, error_code);
  	}
  }
-@@ -775,7 +798,7 @@ fastcall void __kprobes do_debug(struct 
+@@ -781,7 +804,7 @@ fastcall void __kprobes do_debug(struct 
  		 * check for kernel mode by just checking the CPL
  		 * of CS.
  		 */
@@ -2283,7 +2283,7 @@
  			goto clear_TF_reenable;
  	}
  
-@@ -1065,7 +1088,19 @@ do { \
+@@ -1071,7 +1094,19 @@ do { \
   */
  void set_intr_gate(unsigned int n, void *addr)
  {
@@ -3160,7 +3160,7 @@
 diff -urNp linux-2.6.16.12/arch/i386/mm/init.c linux-2.6.16.12/arch/i386/mm/init.c
 --- linux-2.6.16.12/arch/i386/mm/init.c	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/arch/i386/mm/init.c	2006-05-01 20:17:33.000000000 -0400
-@@ -41,6 +41,7 @@
+@@ -42,6 +42,7 @@
  #include <asm/tlb.h>
  #include <asm/tlbflush.h>
  #include <asm/sections.h>
@@ -3168,8 +3168,8 @@
  
  unsigned int __VMALLOC_RESERVE = 128 << 20;
  
-@@ -50,30 +51,6 @@ unsigned long highstart_pfn, highend_pfn
- static int noinline do_test_wp_bit(void);
+@@ -52,30 +53,6 @@ unsigned long highstart_pfn, highend_pfn
+ int bad_ppro;
  
  /*
 - * Creates a middle page table and puts a pointer to it in the
@@ -3199,7 +3199,7 @@
   * Create a page table and place a pointer to it in a middle page
   * directory entry.
   */
-@@ -81,7 +58,11 @@ static pte_t * __init one_page_table_ini
+@@ -83,7 +60,11 @@ static pte_t * __init one_page_table_ini
  {
  	if (pmd_none(*pmd)) {
  		pte_t *page_table = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE);
@@ -3211,7 +3211,7 @@
  		if (page_table != pte_offset_kernel(pmd, 0))
  			BUG();	
  
-@@ -116,8 +97,6 @@ static void __init page_table_range_init
+@@ -118,8 +99,6 @@ static void __init page_table_range_init
  	pgd = pgd_base + pgd_idx;
  
  	for ( ; (pgd_idx < PTRS_PER_PGD) && (vaddr != end); pgd++, pgd_idx++) {
@@ -3220,7 +3220,7 @@
  		pud = pud_offset(pgd, vaddr);
  		pmd = pmd_offset(pud, vaddr);
  		for (; (pmd_idx < PTRS_PER_PMD) && (vaddr != end); pmd++, pmd_idx++) {
-@@ -130,11 +109,22 @@ static void __init page_table_range_init
+@@ -132,11 +111,22 @@ static void __init page_table_range_init
  	}
  }
  
@@ -3247,7 +3247,7 @@
  }
  
  /*
-@@ -146,26 +136,24 @@ static void __init kernel_physical_mappi
+@@ -148,26 +138,24 @@ static void __init kernel_physical_mappi
  {
  	unsigned long pfn;
  	pgd_t *pgd;
@@ -3281,7 +3281,7 @@
  					set_pmd(pmd, pfn_pmd(pfn, PAGE_KERNEL_LARGE_EXEC));
  				else
  					set_pmd(pmd, pfn_pmd(pfn, PAGE_KERNEL_LARGE));
-@@ -174,7 +162,7 @@ static void __init kernel_physical_mappi
+@@ -176,7 +164,7 @@ static void __init kernel_physical_mappi
  				pte = one_page_table_init(pmd);
  
  				for (pte_ofs = 0; pte_ofs < PTRS_PER_PTE && pfn < max_low_pfn; pte++, pfn++, pte_ofs++) {
@@ -3290,7 +3290,7 @@
  							set_pte(pte, pfn_pte(pfn, PAGE_KERNEL_EXEC));
  						else
  							set_pte(pte, pfn_pte(pfn, PAGE_KERNEL));
-@@ -341,13 +329,6 @@ static void __init pagetable_init (void)
+@@ -347,13 +335,6 @@ static void __init pagetable_init (void)
  	unsigned long vaddr;
  	pgd_t *pgd_base = swapper_pg_dir;
  
@@ -3304,7 +3304,7 @@
  	/* Enable PSE if available */
  	if (cpu_has_pse) {
  		set_in_cr4(X86_CR4_PSE);
-@@ -371,17 +352,6 @@ static void __init pagetable_init (void)
+@@ -377,17 +358,6 @@ static void __init pagetable_init (void)
  	page_table_range_init(vaddr, 0, pgd_base);
  
  	permanent_kmaps_init(pgd_base);
@@ -3321,8 +3321,8 @@
 -#endif
  }
  
- #ifdef CONFIG_SOFTWARE_SUSPEND
-@@ -423,7 +393,6 @@ void zap_low_mappings (void)
+ #ifdef CONFIG_PM
+@@ -429,7 +399,6 @@ void zap_low_mappings (void)
  	flush_tlb_all();
  }
  
@@ -3330,7 +3330,7 @@
  u64 __supported_pte_mask __read_mostly = ~_PAGE_NX;
  
  /*
-@@ -437,11 +406,9 @@ u64 __supported_pte_mask __read_mostly =
+@@ -443,11 +412,9 @@ u64 __supported_pte_mask __read_mostly =
  void __init noexec_setup(const char *str)
  {
  	if (!strncmp(str, "on",2) && cpu_has_nx) {
@@ -3344,7 +3344,7 @@
  	}
  }
  
-@@ -450,17 +417,13 @@ int nx_enabled = 0;
+@@ -456,17 +423,13 @@ int nx_enabled = 0;
  
  static void __init set_nx(void)
  {
@@ -3368,7 +3368,7 @@
  	}
  }
  
-@@ -512,14 +475,6 @@ void __init paging_init(void)
+@@ -518,14 +481,6 @@ void __init paging_init(void)
  
  	load_cr3(swapper_pg_dir);
  
@@ -3383,7 +3383,7 @@
  	__flush_tlb_all();
  
  	kmap_init();
-@@ -611,7 +566,7 @@ void __init mem_init(void)
+@@ -628,7 +583,7 @@ void __init mem_init(void)
  	set_highmem_pages_init(bad_ppro);
  
  	codesize =  (unsigned long) &_etext - (unsigned long) &_text;
@@ -3392,7 +3392,7 @@
  	initsize =  (unsigned long) &__init_end - (unsigned long) &__init_begin;
  
  	kclist_add(&kcore_mem, __va(0), max_low_pfn << PAGE_SHIFT); 
-@@ -628,10 +583,6 @@ void __init mem_init(void)
+@@ -645,10 +600,6 @@ void __init mem_init(void)
  		(unsigned long) (totalhigh_pages << (PAGE_SHIFT-10))
  	       );
  
@@ -3403,7 +3403,7 @@
  	if (boot_cpu_data.wp_works_ok < 0)
  		test_wp_bit();
  
-@@ -724,6 +675,36 @@ void free_initmem(void)
+@@ -741,6 +692,36 @@ void free_initmem(void)
  {
  	unsigned long addr;
  
@@ -3709,15 +3709,15 @@
 diff -urNp linux-2.6.16.12/arch/ia64/kernel/ptrace.c linux-2.6.16.12/arch/ia64/kernel/ptrace.c
 --- linux-2.6.16.12/arch/ia64/kernel/ptrace.c	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/arch/ia64/kernel/ptrace.c	2006-05-01 20:17:33.000000000 -0400
-@@ -18,6 +18,7 @@
- #include <linux/security.h>
+@@ -19,6 +19,7 @@
  #include <linux/audit.h>
  #include <linux/signal.h>
+ #include <linux/vs_pid.h>
 +#include <linux/grsecurity.h>
  
  #include <asm/pgtable.h>
  #include <asm/processor.h>
-@@ -1447,6 +1448,9 @@ sys_ptrace (long request, pid_t pid, uns
+@@ -1451,6 +1452,9 @@ sys_ptrace (long request, pid_t pid, uns
  	if (pid == 1)		/* no messing around with init! */
  		goto out_tsk;
  
@@ -3759,15 +3759,15 @@
 diff -urNp linux-2.6.16.12/arch/ia64/mm/fault.c linux-2.6.16.12/arch/ia64/mm/fault.c
 --- linux-2.6.16.12/arch/ia64/mm/fault.c	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/arch/ia64/mm/fault.c	2006-05-01 20:17:33.000000000 -0400
-@@ -10,6 +10,7 @@
- #include <linux/smp_lock.h>
+@@ -11,6 +11,7 @@
  #include <linux/interrupt.h>
  #include <linux/kprobes.h>
+ #include <linux/vs_memory.h>
 +#include <linux/binfmts.h>
  
  #include <asm/pgtable.h>
  #include <asm/processor.h>
-@@ -51,6 +52,23 @@ mapped_kernel_page_is_present (unsigned 
+@@ -52,6 +53,23 @@ mapped_kernel_page_is_present (unsigned 
  	return pte_present(pte);
  }
  
@@ -3791,7 +3791,7 @@
  void __kprobes
  ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *regs)
  {
-@@ -113,9 +131,23 @@ ia64_do_page_fault (unsigned long addres
+@@ -114,9 +132,23 @@ ia64_do_page_fault (unsigned long addres
  		| (((isr >> IA64_ISR_W_BIT) & 1UL) << VM_WRITE_BIT)
  		| (((isr >> IA64_ISR_R_BIT) & 1UL) << VM_READ_BIT));
  
@@ -3874,7 +3874,7 @@
 diff -urNp linux-2.6.16.12/arch/mips/kernel/syscall.c linux-2.6.16.12/arch/mips/kernel/syscall.c
 --- linux-2.6.16.12/arch/mips/kernel/syscall.c	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/arch/mips/kernel/syscall.c	2006-05-01 20:17:33.000000000 -0400
-@@ -89,6 +89,11 @@ unsigned long arch_get_unmapped_area(str
+@@ -90,6 +90,11 @@ unsigned long arch_get_unmapped_area(str
  	do_color_align = 0;
  	if (filp || (flags & MAP_SHARED))
  		do_color_align = 1;
@@ -3886,7 +3886,7 @@
  	if (addr) {
  		if (do_color_align)
  			addr = COLOUR_ALIGN(addr, pgoff);
-@@ -99,7 +104,7 @@ unsigned long arch_get_unmapped_area(str
+@@ -100,7 +105,7 @@ unsigned long arch_get_unmapped_area(str
  		    (!vmm || addr + len <= vmm->vm_start))
  			return addr;
  	}
@@ -4082,7 +4082,7 @@
 diff -urNp linux-2.6.16.12/arch/parisc/kernel/traps.c linux-2.6.16.12/arch/parisc/kernel/traps.c
 --- linux-2.6.16.12/arch/parisc/kernel/traps.c	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/arch/parisc/kernel/traps.c	2006-05-01 20:17:33.000000000 -0400
-@@ -711,9 +711,7 @@ void handle_interruption(int code, struc
+@@ -712,9 +712,7 @@ void handle_interruption(int code, struc
  
  			down_read(&current->mm->mmap_sem);
  			vma = find_vma(current->mm,regs->iaoq[0]);
@@ -4910,8 +4910,8 @@
  
  #include <asm/pgtable.h>
  #include <asm/system.h>
-@@ -300,6 +301,11 @@ asmlinkage void do_ptrace(struct pt_regs
- 		goto out;
+@@ -304,6 +305,11 @@ asmlinkage void do_ptrace(struct pt_regs
+ 		goto out_tsk;
  	}
  
 +	if (gr_handle_ptrace(child, request)) {
@@ -4925,7 +4925,7 @@
 diff -urNp linux-2.6.16.12/arch/sparc/kernel/sys_sparc.c linux-2.6.16.12/arch/sparc/kernel/sys_sparc.c
 --- linux-2.6.16.12/arch/sparc/kernel/sys_sparc.c	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/arch/sparc/kernel/sys_sparc.c	2006-05-01 20:17:33.000000000 -0400
-@@ -56,7 +56,7 @@ unsigned long arch_get_unmapped_area(str
+@@ -57,7 +57,7 @@ unsigned long arch_get_unmapped_area(str
  	if (ARCH_SUN4C_SUN4 && len > 0x20000000)
  		return -ENOMEM;
  	if (!addr)
@@ -5293,8 +5293,8 @@
  
  #include <asm/asi.h>
  #include <asm/pgtable.h>
-@@ -210,6 +211,11 @@ asmlinkage void do_ptrace(struct pt_regs
- 		goto out;
+@@ -214,6 +215,11 @@ asmlinkage void do_ptrace(struct pt_regs
+ 		goto out_tsk;
  	}
  
 +	if (gr_handle_ptrace(child, (long)request)) {
@@ -5308,7 +5308,7 @@
 diff -urNp linux-2.6.16.12/arch/sparc64/kernel/sys_sparc.c linux-2.6.16.12/arch/sparc64/kernel/sys_sparc.c
 --- linux-2.6.16.12/arch/sparc64/kernel/sys_sparc.c	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/arch/sparc64/kernel/sys_sparc.c	2006-05-01 20:17:33.000000000 -0400
-@@ -72,6 +72,10 @@ unsigned long arch_get_unmapped_area(str
+@@ -73,6 +73,10 @@ unsigned long arch_get_unmapped_area(str
  	if (filp || (flags & MAP_SHARED))
  		do_color_align = 1;
  
@@ -5319,7 +5319,7 @@
  	if (addr) {
  		if (do_color_align)
  			addr = COLOUR_ALIGN(addr, pgoff);
-@@ -86,7 +90,7 @@ unsigned long arch_get_unmapped_area(str
+@@ -87,7 +91,7 @@ unsigned long arch_get_unmapped_area(str
  
  	if (len <= mm->cached_hole_size) {
  	        mm->cached_hole_size = 0;
@@ -5328,7 +5328,7 @@
  	}
  	start_addr = addr = mm->free_area_cache;
  
-@@ -105,8 +109,8 @@ full_search:
+@@ -106,8 +110,8 @@ full_search:
  			vma = find_vma(mm, PAGE_OFFSET);
  		}
  		if (task_size < addr) {
@@ -5846,7 +5846,7 @@
 diff -urNp linux-2.6.16.12/arch/x86_64/kernel/process.c linux-2.6.16.12/arch/x86_64/kernel/process.c
 --- linux-2.6.16.12/arch/x86_64/kernel/process.c	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/arch/x86_64/kernel/process.c	2006-05-01 20:17:33.000000000 -0400
-@@ -839,9 +839,3 @@ int dump_task_regs(struct task_struct *t
+@@ -840,9 +840,3 @@ int dump_task_regs(struct task_struct *t
  	return 1;
  }
  
@@ -5908,7 +5908,7 @@
 diff -urNp linux-2.6.16.12/arch/x86_64/kernel/sys_x86_64.c linux-2.6.16.12/arch/x86_64/kernel/sys_x86_64.c
 --- linux-2.6.16.12/arch/x86_64/kernel/sys_x86_64.c	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/arch/x86_64/kernel/sys_x86_64.c	2006-05-01 20:17:33.000000000 -0400
-@@ -65,8 +65,8 @@ out:
+@@ -66,8 +66,8 @@ out:
  	return error;
  }
  
@@ -5919,7 +5919,7 @@
  {
  	if (!test_thread_flag(TIF_IA32) && (flags & MAP_32BIT)) {
  		/* This is usually used needed to map code in small
-@@ -79,7 +79,7 @@ static void find_start_end(unsigned long
+@@ -80,7 +80,7 @@ static void find_start_end(unsigned long
  		*begin = 0x40000000; 
  		*end = 0x80000000;		
  	} else {
@@ -5928,7 +5928,7 @@
  		*end = TASK_SIZE; 
  	}
  } 
-@@ -93,11 +93,15 @@ arch_get_unmapped_area(struct file *filp
+@@ -94,11 +94,15 @@ arch_get_unmapped_area(struct file *filp
  	unsigned long start_addr;
  	unsigned long begin, end;
  	
@@ -6401,7 +6401,7 @@
 diff -urNp linux-2.6.16.12/drivers/scsi/libata-scsi.c linux-2.6.16.12/drivers/scsi/libata-scsi.c
 --- linux-2.6.16.12/drivers/scsi/libata-scsi.c	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/drivers/scsi/libata-scsi.c	2006-05-01 20:17:33.000000000 -0400
-@@ -1553,7 +1553,7 @@ unsigned int ata_scsiop_inq_80(struct at
+@@ -1591,7 +1591,7 @@ unsigned int ata_scsiop_inq_80(struct at
  	return 0;
  }
  
@@ -6410,7 +6410,7 @@
  
  /**
   *	ata_scsiop_inq_83 - Simulate INQUIRY EVPD page 83, device identity
-@@ -1572,13 +1572,13 @@ unsigned int ata_scsiop_inq_83(struct at
+@@ -1610,13 +1610,13 @@ unsigned int ata_scsiop_inq_83(struct at
  			      unsigned int buflen)
  {
  	rbuf[1] = 0x83;			/* this page code */
@@ -6443,15 +6443,15 @@
 diff -urNp linux-2.6.16.12/fs/binfmt_aout.c linux-2.6.16.12/fs/binfmt_aout.c
 --- linux-2.6.16.12/fs/binfmt_aout.c	2006-05-01 15:14:26.000000000 -0400
 +++ linux-2.6.16.12/fs/binfmt_aout.c	2006-05-01 20:17:33.000000000 -0400
-@@ -24,6 +24,7 @@
- #include <linux/binfmts.h>
+@@ -25,6 +25,7 @@
  #include <linux/personality.h>
  #include <linux/init.h>
+ #include <linux/vs_memory.h>
 +#include <linux/grsecurity.h>
  
  #include <asm/system.h>
  #include <asm/uaccess.h>
-@@ -123,10 +124,12 @@ static int aout_core_dump(long signr, st
+@@ -124,10 +125,12 @@ static int aout_core_dump(long signr, st
  /* If the size of the dump file exceeds the rlimit, then see what would happen
     if we wrote the stack, but not the data area.  */
  #ifdef __sparc__
@@ -6464,7 +6464,7 @@
  	if ((dump.u_dsize+dump.u_ssize+1) * PAGE_SIZE >
  	    current->signal->rlim[RLIMIT_CORE].rlim_cur)
  		dump.u_dsize = 0;
-@@ -134,10 +137,12 @@ static int aout_core_dump(long signr, st
+@@ -135,10 +138,12 @@ static int aout_core_dump(long signr, st
  
  /* Make sure we have enough room to write the stack and data areas. */
  #ifdef __sparc__
@@ -6477,7 +6477,7 @@
  	if ((dump.u_ssize+1) * PAGE_SIZE >
  	    current->signal->rlim[RLIMIT_CORE].rlim_cur)
  		dump.u_ssize = 0;
-@@ -287,6 +292,8 @@ static int load_aout_binary(struct linux
+@@ -288,6 +293,8 @@ static int load_aout_binary(struct linux
  	rlim = current->signal->rlim[RLIMIT_DATA].rlim_cur;
  	if (rlim >= RLIM_INFINITY)
  		rlim = ~0;
@@ -6486,7 +6486,7 @@
  	if (ex.a_data + ex.a_bss > rlim)
  		return -ENOMEM;
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/grsecurity-2.1.9-2.6.16.14.patch?r1=1.1&r2=1.1.2.1&f=u



More information about the pld-cvs-commit mailing list