packages (Titanium): kernel-bare-grsecurity/linux-2.6-grsecurity.patch - ht...

hawk hawk at pld-linux.org
Fri Apr 29 12:57:28 CEST 2011


Author: hawk                         Date: Fri Apr 29 10:57:28 2011 GMT
Module: packages                      Tag: Titanium
---- Log message:
- http://www.grsecurity.net/~spender/grsecurity-2.2.2-2.6.38.4-201104232142.patch
  with localversion killed

---- Files affected:
packages/kernel-bare-grsecurity:
   linux-2.6-grsecurity.patch (1.1.2.59 -> 1.1.2.60) 

---- Diffs:

================================================================
Index: packages/kernel-bare-grsecurity/linux-2.6-grsecurity.patch
diff -u packages/kernel-bare-grsecurity/linux-2.6-grsecurity.patch:1.1.2.59 packages/kernel-bare-grsecurity/linux-2.6-grsecurity.patch:1.1.2.60
--- packages/kernel-bare-grsecurity/linux-2.6-grsecurity.patch:1.1.2.59	Thu Oct  7 09:09:18 2010
+++ packages/kernel-bare-grsecurity/linux-2.6-grsecurity.patch	Fri Apr 29 12:57:08 2011
@@ -1,7 +1,22 @@
-diff -urNp linux-2.6.32.24/arch/alpha/include/asm/elf.h linux-2.6.32.24/arch/alpha/include/asm/elf.h
---- linux-2.6.32.24/arch/alpha/include/asm/elf.h	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/alpha/include/asm/elf.h	2010-09-04 15:54:51.000000000 -0400
-@@ -91,6 +91,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N
+diff -urNp linux-2.6.38.4/arch/alpha/include/asm/dma-mapping.h linux-2.6.38.4/arch/alpha/include/asm/dma-mapping.h
+--- linux-2.6.38.4/arch/alpha/include/asm/dma-mapping.h	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/alpha/include/asm/dma-mapping.h	2011-04-17 15:57:32.000000000 -0400
+@@ -3,9 +3,9 @@
+ 
+ #include <linux/dma-attrs.h>
+ 
+-extern struct dma_map_ops *dma_ops;
++extern const struct dma_map_ops *dma_ops;
+ 
+-static inline struct dma_map_ops *get_dma_ops(struct device *dev)
++static inline const struct dma_map_ops *get_dma_ops(struct device *dev)
+ {
+ 	return dma_ops;
+ }
+diff -urNp linux-2.6.38.4/arch/alpha/include/asm/elf.h linux-2.6.38.4/arch/alpha/include/asm/elf.h
+--- linux-2.6.38.4/arch/alpha/include/asm/elf.h	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/alpha/include/asm/elf.h	2011-04-17 15:57:32.000000000 -0400
+@@ -90,6 +90,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N
  
  #define ELF_ET_DYN_BASE		(TASK_UNMAPPED_BASE + 0x1000000)
  
@@ -15,9 +30,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.32.24/arch/alpha/include/asm/pgtable.h linux-2.6.32.24/arch/alpha/include/asm/pgtable.h
---- linux-2.6.32.24/arch/alpha/include/asm/pgtable.h	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/alpha/include/asm/pgtable.h	2010-09-04 15:54:51.000000000 -0400
+diff -urNp linux-2.6.38.4/arch/alpha/include/asm/pgtable.h linux-2.6.38.4/arch/alpha/include/asm/pgtable.h
+--- linux-2.6.38.4/arch/alpha/include/asm/pgtable.h	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/alpha/include/asm/pgtable.h	2011-04-17 15:57:32.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)
@@ -36,9 +51,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.32.24/arch/alpha/kernel/module.c linux-2.6.32.24/arch/alpha/kernel/module.c
---- linux-2.6.32.24/arch/alpha/kernel/module.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/alpha/kernel/module.c	2010-09-04 15:54:51.000000000 -0400
+diff -urNp linux-2.6.38.4/arch/alpha/kernel/module.c linux-2.6.38.4/arch/alpha/kernel/module.c
+--- linux-2.6.38.4/arch/alpha/kernel/module.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/alpha/kernel/module.c	2011-04-17 15:57:32.000000000 -0400
 @@ -182,7 +182,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs, 
  
  	/* The small sections were sorted to the end of the segment.
@@ -48,10 +63,10 @@
  	got = sechdrs[me->arch.gotsecindex].sh_addr;
  
  	for (i = 0; i < n; i++) {
-diff -urNp linux-2.6.32.24/arch/alpha/kernel/osf_sys.c linux-2.6.32.24/arch/alpha/kernel/osf_sys.c
---- linux-2.6.32.24/arch/alpha/kernel/osf_sys.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/alpha/kernel/osf_sys.c	2010-09-17 18:34:04.000000000 -0400
-@@ -1169,7 +1169,7 @@ arch_get_unmapped_area_1(unsigned long a
+diff -urNp linux-2.6.38.4/arch/alpha/kernel/osf_sys.c linux-2.6.38.4/arch/alpha/kernel/osf_sys.c
+--- linux-2.6.38.4/arch/alpha/kernel/osf_sys.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/alpha/kernel/osf_sys.c	2011-04-17 15:57:32.000000000 -0400
+@@ -1162,7 +1162,7 @@ arch_get_unmapped_area_1(unsigned long a
  		/* At this point:  (!vma || addr < vma->vm_end). */
  		if (limit - len < addr)
  			return -ENOMEM;
@@ -60,7 +75,7 @@
  			return addr;
  		addr = vma->vm_end;
  		vma = vma->vm_next;
-@@ -1205,6 +1205,10 @@ arch_get_unmapped_area(struct file *filp
+@@ -1198,6 +1198,10 @@ arch_get_unmapped_area(struct file *filp
  	   merely specific addresses, but regions of memory -- perhaps
  	   this feature should be incorporated into all ports?  */
  
@@ -71,7 +86,7 @@
  	if (addr) {
  		addr = arch_get_unmapped_area_1 (PAGE_ALIGN(addr), len, limit);
  		if (addr != (unsigned long) -ENOMEM)
-@@ -1212,8 +1216,8 @@ arch_get_unmapped_area(struct file *filp
+@@ -1205,8 +1209,8 @@ arch_get_unmapped_area(struct file *filp
  	}
  
  	/* Next, try allocating at TASK_UNMAPPED_BASE.  */
@@ -82,9 +97,49 @@
  	if (addr != (unsigned long) -ENOMEM)
  		return addr;
  
-diff -urNp linux-2.6.32.24/arch/alpha/mm/fault.c linux-2.6.32.24/arch/alpha/mm/fault.c
---- linux-2.6.32.24/arch/alpha/mm/fault.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/alpha/mm/fault.c	2010-09-04 15:54:51.000000000 -0400
+diff -urNp linux-2.6.38.4/arch/alpha/kernel/pci_iommu.c linux-2.6.38.4/arch/alpha/kernel/pci_iommu.c
+--- linux-2.6.38.4/arch/alpha/kernel/pci_iommu.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/alpha/kernel/pci_iommu.c	2011-04-17 15:57:32.000000000 -0400
+@@ -950,7 +950,7 @@ static int alpha_pci_set_mask(struct dev
+ 	return 0;
+ }
+ 
+-struct dma_map_ops alpha_pci_ops = {
++const struct dma_map_ops alpha_pci_ops = {
+ 	.alloc_coherent		= alpha_pci_alloc_coherent,
+ 	.free_coherent		= alpha_pci_free_coherent,
+ 	.map_page		= alpha_pci_map_page,
+@@ -962,5 +962,5 @@ struct dma_map_ops alpha_pci_ops = {
+ 	.set_dma_mask		= alpha_pci_set_mask,
+ };
+ 
+-struct dma_map_ops *dma_ops = &alpha_pci_ops;
++const struct dma_map_ops *dma_ops = &alpha_pci_ops;
+ EXPORT_SYMBOL(dma_ops);
+diff -urNp linux-2.6.38.4/arch/alpha/kernel/pci-noop.c linux-2.6.38.4/arch/alpha/kernel/pci-noop.c
+--- linux-2.6.38.4/arch/alpha/kernel/pci-noop.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/alpha/kernel/pci-noop.c	2011-04-17 15:57:32.000000000 -0400
+@@ -173,7 +173,7 @@ static int alpha_noop_set_mask(struct de
+ 	return 0;
+ }
+ 
+-struct dma_map_ops alpha_noop_ops = {
++const struct dma_map_ops alpha_noop_ops = {
+ 	.alloc_coherent		= alpha_noop_alloc_coherent,
+ 	.free_coherent		= alpha_noop_free_coherent,
+ 	.map_page		= alpha_noop_map_page,
+@@ -183,7 +183,7 @@ struct dma_map_ops alpha_noop_ops = {
+ 	.set_dma_mask		= alpha_noop_set_mask,
+ };
+ 
+-struct dma_map_ops *dma_ops = &alpha_noop_ops;
++const struct dma_map_ops *dma_ops = &alpha_noop_ops;
+ EXPORT_SYMBOL(dma_ops);
+ 
+ void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long maxlen)
+diff -urNp linux-2.6.38.4/arch/alpha/mm/fault.c linux-2.6.38.4/arch/alpha/mm/fault.c
+--- linux-2.6.38.4/arch/alpha/mm/fault.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/alpha/mm/fault.c	2011-04-17 15:57:32.000000000 -0400
 @@ -54,6 +54,124 @@ __load_new_mm_context(struct mm_struct *
  	__reload_thread(pcb);
  }
@@ -241,10 +296,10 @@
  	} else if (!cause) {
  		/* Allow reads even for write-only mappings */
  		if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
-diff -urNp linux-2.6.32.24/arch/arm/include/asm/elf.h linux-2.6.32.24/arch/arm/include/asm/elf.h
---- linux-2.6.32.24/arch/arm/include/asm/elf.h	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/include/asm/elf.h	2010-09-04 15:54:51.000000000 -0400
-@@ -109,7 +109,14 @@ int dump_task_regs(struct task_struct *t
+diff -urNp linux-2.6.38.4/arch/arm/include/asm/elf.h linux-2.6.38.4/arch/arm/include/asm/elf.h
+--- linux-2.6.38.4/arch/arm/include/asm/elf.h	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/arm/include/asm/elf.h	2011-04-17 15:57:32.000000000 -0400
+@@ -115,7 +115,14 @@ int dump_task_regs(struct task_struct *t
     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.  */
  
@@ -260,20 +315,31 @@
  
  /* 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.32.24/arch/arm/include/asm/kmap_types.h linux-2.6.32.24/arch/arm/include/asm/kmap_types.h
---- linux-2.6.32.24/arch/arm/include/asm/kmap_types.h	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/include/asm/kmap_types.h	2010-09-04 15:54:51.000000000 -0400
-@@ -19,6 +19,7 @@ enum km_type {
- 	KM_SOFTIRQ0,
- 	KM_SOFTIRQ1,
+@@ -125,10 +132,6 @@ int dump_task_regs(struct task_struct *t
+ extern void elf_set_personality(const struct elf32_hdr *);
+ #define SET_PERSONALITY(ex)	elf_set_personality(&(ex))
+ 
+-struct mm_struct;
+-extern unsigned long arch_randomize_brk(struct mm_struct *mm);
+-#define arch_randomize_brk arch_randomize_brk
+-
+ extern int vectors_user_mapping(void);
+ #define arch_setup_additional_pages(bprm, uses_interp) vectors_user_mapping()
+ #define ARCH_HAS_SETUP_ADDITIONAL_PAGES
+diff -urNp linux-2.6.38.4/arch/arm/include/asm/kmap_types.h linux-2.6.38.4/arch/arm/include/asm/kmap_types.h
+--- linux-2.6.38.4/arch/arm/include/asm/kmap_types.h	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/arm/include/asm/kmap_types.h	2011-04-17 15:57:32.000000000 -0400
+@@ -21,6 +21,7 @@ enum km_type {
+ 	KM_L1_CACHE,
  	KM_L2_CACHE,
+ 	KM_KDB,
 +	KM_CLEARPAGE,
  	KM_TYPE_NR
  };
  
-diff -urNp linux-2.6.32.24/arch/arm/include/asm/uaccess.h linux-2.6.32.24/arch/arm/include/asm/uaccess.h
---- linux-2.6.32.24/arch/arm/include/asm/uaccess.h	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/include/asm/uaccess.h	2010-09-04 15:54:51.000000000 -0400
+diff -urNp linux-2.6.38.4/arch/arm/include/asm/uaccess.h linux-2.6.38.4/arch/arm/include/asm/uaccess.h
+--- linux-2.6.38.4/arch/arm/include/asm/uaccess.h	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/arm/include/asm/uaccess.h	2011-04-17 15:57:32.000000000 -0400
 @@ -403,6 +403,9 @@ extern unsigned long __must_check __strn
  
  static inline unsigned long __must_check copy_from_user(void *to, const void __user *from, unsigned long n)
@@ -294,10 +360,10 @@
  	if (access_ok(VERIFY_WRITE, to, n))
  		n = __copy_to_user(to, from, n);
  	return n;
-diff -urNp linux-2.6.32.24/arch/arm/kernel/kgdb.c linux-2.6.32.24/arch/arm/kernel/kgdb.c
---- linux-2.6.32.24/arch/arm/kernel/kgdb.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/kernel/kgdb.c	2010-09-04 15:54:51.000000000 -0400
-@@ -190,7 +190,7 @@ void kgdb_arch_exit(void)
+diff -urNp linux-2.6.38.4/arch/arm/kernel/kgdb.c linux-2.6.38.4/arch/arm/kernel/kgdb.c
+--- linux-2.6.38.4/arch/arm/kernel/kgdb.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/arm/kernel/kgdb.c	2011-04-17 15:57:32.000000000 -0400
+@@ -246,7 +246,7 @@ void kgdb_arch_exit(void)
   * and we handle the normal undef case within the do_undefinstr
   * handler.
   */
@@ -306,106 +372,58 @@
  #ifndef __ARMEB__
  	.gdb_bpt_instr		= {0xfe, 0xde, 0xff, 0xe7}
  #else /* ! __ARMEB__ */
-diff -urNp linux-2.6.32.24/arch/arm/mach-at91/pm.c linux-2.6.32.24/arch/arm/mach-at91/pm.c
---- linux-2.6.32.24/arch/arm/mach-at91/pm.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/mach-at91/pm.c	2010-09-04 15:54:51.000000000 -0400
-@@ -348,7 +348,7 @@ static void at91_pm_end(void)
- }
- 
+diff -urNp linux-2.6.38.4/arch/arm/kernel/process.c linux-2.6.38.4/arch/arm/kernel/process.c
+--- linux-2.6.38.4/arch/arm/kernel/process.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/arm/kernel/process.c	2011-04-17 15:57:32.000000000 -0400
+@@ -28,7 +28,6 @@
+ #include <linux/tick.h>
+ #include <linux/utsname.h>
+ #include <linux/uaccess.h>
+-#include <linux/random.h>
+ #include <linux/hw_breakpoint.h>
  
--static struct platform_suspend_ops at91_pm_ops ={
-+static const struct platform_suspend_ops at91_pm_ops ={
- 	.valid	= at91_pm_valid_state,
- 	.begin	= at91_pm_begin,
- 	.enter	= at91_pm_enter,
-diff -urNp linux-2.6.32.24/arch/arm/mach-omap1/pm.c linux-2.6.32.24/arch/arm/mach-omap1/pm.c
---- linux-2.6.32.24/arch/arm/mach-omap1/pm.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/mach-omap1/pm.c	2010-09-04 15:54:51.000000000 -0400
-@@ -647,7 +647,7 @@ static struct irqaction omap_wakeup_irq 
- 
- 
- 
--static struct platform_suspend_ops omap_pm_ops ={
-+static const struct platform_suspend_ops omap_pm_ops ={
- 	.prepare	= omap_pm_prepare,
- 	.enter		= omap_pm_enter,
- 	.finish		= omap_pm_finish,
-diff -urNp linux-2.6.32.24/arch/arm/mach-omap2/pm24xx.c linux-2.6.32.24/arch/arm/mach-omap2/pm24xx.c
---- linux-2.6.32.24/arch/arm/mach-omap2/pm24xx.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/mach-omap2/pm24xx.c	2010-09-04 15:54:51.000000000 -0400
-@@ -326,7 +326,7 @@ static void omap2_pm_finish(void)
- 	enable_hlt();
- }
- 
--static struct platform_suspend_ops omap_pm_ops = {
-+static const struct platform_suspend_ops omap_pm_ops = {
- 	.prepare	= omap2_pm_prepare,
- 	.enter		= omap2_pm_enter,
- 	.finish		= omap2_pm_finish,
-diff -urNp linux-2.6.32.24/arch/arm/mach-omap2/pm34xx.c linux-2.6.32.24/arch/arm/mach-omap2/pm34xx.c
---- linux-2.6.32.24/arch/arm/mach-omap2/pm34xx.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/mach-omap2/pm34xx.c	2010-09-04 15:54:51.000000000 -0400
-@@ -401,7 +401,7 @@ static void omap3_pm_end(void)
- 	return;
+ #include <asm/cacheflush.h>
+@@ -477,12 +476,6 @@ unsigned long get_wchan(struct task_stru
+ 	return 0;
  }
  
--static struct platform_suspend_ops omap_pm_ops = {
-+static const struct platform_suspend_ops omap_pm_ops = {
- 	.begin		= omap3_pm_begin,
- 	.end		= omap3_pm_end,
- 	.prepare	= omap3_pm_prepare,
-diff -urNp linux-2.6.32.24/arch/arm/mach-pnx4008/pm.c linux-2.6.32.24/arch/arm/mach-pnx4008/pm.c
---- linux-2.6.32.24/arch/arm/mach-pnx4008/pm.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/mach-pnx4008/pm.c	2010-09-04 15:54:51.000000000 -0400
-@@ -116,7 +116,7 @@ static int pnx4008_pm_valid(suspend_stat
- 	       (state == PM_SUSPEND_MEM);
- }
- 
--static struct platform_suspend_ops pnx4008_pm_ops = {
-+static const struct platform_suspend_ops pnx4008_pm_ops = {
- 	.enter = pnx4008_pm_enter,
- 	.valid = pnx4008_pm_valid,
- };
-diff -urNp linux-2.6.32.24/arch/arm/mach-pxa/pm.c linux-2.6.32.24/arch/arm/mach-pxa/pm.c
---- linux-2.6.32.24/arch/arm/mach-pxa/pm.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/mach-pxa/pm.c	2010-09-04 15:54:51.000000000 -0400
-@@ -95,7 +95,7 @@ void pxa_pm_finish(void)
- 		pxa_cpu_pm_fns->finish();
- }
- 
--static struct platform_suspend_ops pxa_pm_ops = {
-+static const struct platform_suspend_ops pxa_pm_ops = {
- 	.valid		= pxa_pm_valid,
- 	.enter		= pxa_pm_enter,
- 	.prepare	= pxa_pm_prepare,
-diff -urNp linux-2.6.32.24/arch/arm/mach-pxa/sharpsl_pm.c linux-2.6.32.24/arch/arm/mach-pxa/sharpsl_pm.c
---- linux-2.6.32.24/arch/arm/mach-pxa/sharpsl_pm.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/mach-pxa/sharpsl_pm.c	2010-09-04 15:54:51.000000000 -0400
-@@ -891,7 +891,7 @@ static void sharpsl_apm_get_power_status
+-unsigned long arch_randomize_brk(struct mm_struct *mm)
+-{
+-	unsigned long range_end = mm->brk + 0x02000000;
+-	return randomize_range(mm->brk, range_end, 0) ? : mm->brk;
+-}
+-
+ #ifdef CONFIG_MMU
+ /*
+  * The vectors page is always readable from user space for the
+diff -urNp linux-2.6.38.4/arch/arm/mach-msm/last_radio_log.c linux-2.6.38.4/arch/arm/mach-msm/last_radio_log.c
+--- linux-2.6.38.4/arch/arm/mach-msm/last_radio_log.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/arm/mach-msm/last_radio_log.c	2011-04-17 15:57:32.000000000 -0400
+@@ -47,7 +47,7 @@ static ssize_t last_radio_log_read(struc
+ 	return count;
  }
  
- #ifdef CONFIG_PM
--static struct platform_suspend_ops sharpsl_pm_ops = {
-+static const struct platform_suspend_ops sharpsl_pm_ops = {
- 	.prepare	= pxa_pm_prepare,
- 	.finish		= pxa_pm_finish,
- 	.enter		= corgi_pxa_pm_enter,
-diff -urNp linux-2.6.32.24/arch/arm/mach-sa1100/pm.c linux-2.6.32.24/arch/arm/mach-sa1100/pm.c
---- linux-2.6.32.24/arch/arm/mach-sa1100/pm.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/mach-sa1100/pm.c	2010-09-04 15:54:51.000000000 -0400
-@@ -120,7 +120,7 @@ unsigned long sleep_phys_sp(void *sp)
- 	return virt_to_phys(sp);
- }
- 
--static struct platform_suspend_ops sa11x0_pm_ops = {
-+static const struct platform_suspend_ops sa11x0_pm_ops = {
- 	.enter		= sa11x0_pm_enter,
- 	.valid		= suspend_valid_only_mem,
- };
-diff -urNp linux-2.6.32.24/arch/arm/mm/fault.c linux-2.6.32.24/arch/arm/mm/fault.c
---- linux-2.6.32.24/arch/arm/mm/fault.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/mm/fault.c	2010-09-04 15:54:51.000000000 -0400
-@@ -166,6 +166,13 @@ __do_user_fault(struct task_struct *tsk,
+-static struct file_operations last_radio_log_fops = {
++static struct file_operations last_radio_log_fops = {	/* cannot be const, see msm_init_last_radio_log */
+ 	.read = last_radio_log_read,
+ 	.llseek = default_llseek,
+ };
+diff -urNp linux-2.6.38.4/arch/arm/mach-ux500/mbox-db5500.c linux-2.6.38.4/arch/arm/mach-ux500/mbox-db5500.c
+--- linux-2.6.38.4/arch/arm/mach-ux500/mbox-db5500.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/arm/mach-ux500/mbox-db5500.c	2011-04-17 15:57:32.000000000 -0400
+@@ -168,7 +168,7 @@ static ssize_t mbox_read_fifo(struct dev
+ 	return sprintf(buf, "0x%X\n", mbox_value);
+ }
+ 
+-static DEVICE_ATTR(fifo, S_IWUGO | S_IRUGO, mbox_read_fifo, mbox_write_fifo);
++static DEVICE_ATTR(fifo, S_IWUSR | S_IRUGO, mbox_read_fifo, mbox_write_fifo);
+ 
+ static int mbox_show(struct seq_file *s, void *data)
+ {
+diff -urNp linux-2.6.38.4/arch/arm/mm/fault.c linux-2.6.38.4/arch/arm/mm/fault.c
+--- linux-2.6.38.4/arch/arm/mm/fault.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/arm/mm/fault.c	2011-04-17 15:57:32.000000000 -0400
+@@ -167,6 +167,13 @@ __do_user_fault(struct task_struct *tsk,
  	}
  #endif
  
@@ -419,7 +437,7 @@
  	tsk->thread.address = addr;
  	tsk->thread.error_code = fsr;
  	tsk->thread.trap_no = 14;
-@@ -357,6 +364,33 @@ do_page_fault(unsigned long addr, unsign
+@@ -364,6 +371,33 @@ do_page_fault(unsigned long addr, unsign
  }
  #endif					/* CONFIG_MMU */
  
@@ -453,10 +471,10 @@
  /*
   * First Level Translation Fault Handler
   *
-diff -urNp linux-2.6.32.24/arch/arm/mm/mmap.c linux-2.6.32.24/arch/arm/mm/mmap.c
---- linux-2.6.32.24/arch/arm/mm/mmap.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/mm/mmap.c	2010-09-17 18:34:04.000000000 -0400
-@@ -63,6 +63,10 @@ arch_get_unmapped_area(struct file *filp
+diff -urNp linux-2.6.38.4/arch/arm/mm/mmap.c linux-2.6.38.4/arch/arm/mm/mmap.c
+--- linux-2.6.38.4/arch/arm/mm/mmap.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/arm/mm/mmap.c	2011-04-17 15:57:32.000000000 -0400
+@@ -64,6 +64,10 @@ arch_get_unmapped_area(struct file *filp
  	if (len > TASK_SIZE)
  		return -ENOMEM;
  
@@ -467,7 +485,7 @@
  	if (addr) {
  		if (do_align)
  			addr = COLOUR_ALIGN(addr, pgoff);
-@@ -70,15 +74,14 @@ arch_get_unmapped_area(struct file *filp
+@@ -71,15 +75,14 @@ arch_get_unmapped_area(struct file *filp
  			addr = PAGE_ALIGN(addr);
  
  		vma = find_vma(mm, addr);
@@ -485,9 +503,9 @@
 +		start_addr = addr = mm->mmap_base;
 +		mm->cached_hole_size = 0;
  	}
- 
- full_search:
-@@ -94,14 +97,14 @@ full_search:
+ 	/* 8 bits of randomness in 20 address space bits */
+ 	if (current->flags & PF_RANDOMIZE)
+@@ -98,14 +101,14 @@ full_search:
  			 * Start a new search - just in case we missed
  			 * some holes.
  			 */
@@ -505,22 +523,10 @@
  			/*
  			 * Remember the place where we stopped the search:
  			 */
-diff -urNp linux-2.6.32.24/arch/arm/plat-s3c/pm.c linux-2.6.32.24/arch/arm/plat-s3c/pm.c
---- linux-2.6.32.24/arch/arm/plat-s3c/pm.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/arm/plat-s3c/pm.c	2010-09-04 15:54:51.000000000 -0400
-@@ -355,7 +355,7 @@ static void s3c_pm_finish(void)
- 	s3c_pm_check_cleanup();
- }
- 
--static struct platform_suspend_ops s3c_pm_ops = {
-+static const struct platform_suspend_ops s3c_pm_ops = {
- 	.enter		= s3c_pm_enter,
- 	.prepare	= s3c_pm_prepare,
- 	.finish		= s3c_pm_finish,
-diff -urNp linux-2.6.32.24/arch/avr32/include/asm/elf.h linux-2.6.32.24/arch/avr32/include/asm/elf.h
---- linux-2.6.32.24/arch/avr32/include/asm/elf.h	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/avr32/include/asm/elf.h	2010-09-04 15:54:51.000000000 -0400
-@@ -85,8 +85,14 @@ typedef struct user_fpu_struct elf_fpreg
+diff -urNp linux-2.6.38.4/arch/avr32/include/asm/elf.h linux-2.6.38.4/arch/avr32/include/asm/elf.h
+--- linux-2.6.38.4/arch/avr32/include/asm/elf.h	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/avr32/include/asm/elf.h	2011-04-17 15:57:32.000000000 -0400
+@@ -84,8 +84,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.  */
  
@@ -536,9 +542,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.32.24/arch/avr32/include/asm/kmap_types.h linux-2.6.32.24/arch/avr32/include/asm/kmap_types.h
---- linux-2.6.32.24/arch/avr32/include/asm/kmap_types.h	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/avr32/include/asm/kmap_types.h	2010-09-04 15:54:51.000000000 -0400
+diff -urNp linux-2.6.38.4/arch/avr32/include/asm/kmap_types.h linux-2.6.38.4/arch/avr32/include/asm/kmap_types.h
+--- linux-2.6.38.4/arch/avr32/include/asm/kmap_types.h	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/avr32/include/asm/kmap_types.h	2011-04-17 15:57:32.000000000 -0400
 @@ -22,7 +22,8 @@ D(10)	KM_IRQ0,
  D(11)	KM_IRQ1,
  D(12)	KM_SOFTIRQ0,
@@ -549,21 +555,9 @@
  };
  
  #undef D
-diff -urNp linux-2.6.32.24/arch/avr32/mach-at32ap/pm.c linux-2.6.32.24/arch/avr32/mach-at32ap/pm.c
---- linux-2.6.32.24/arch/avr32/mach-at32ap/pm.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/avr32/mach-at32ap/pm.c	2010-09-04 15:54:51.000000000 -0400
-@@ -176,7 +176,7 @@ out:
- 	return 0;
- }
- 
--static struct platform_suspend_ops avr32_pm_ops = {
-+static const struct platform_suspend_ops avr32_pm_ops = {
- 	.valid	= avr32_pm_valid_state,
- 	.enter	= avr32_pm_enter,
- };
-diff -urNp linux-2.6.32.24/arch/avr32/mm/fault.c linux-2.6.32.24/arch/avr32/mm/fault.c
---- linux-2.6.32.24/arch/avr32/mm/fault.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/avr32/mm/fault.c	2010-09-04 15:54:51.000000000 -0400
+diff -urNp linux-2.6.38.4/arch/avr32/mm/fault.c linux-2.6.38.4/arch/avr32/mm/fault.c
+--- linux-2.6.38.4/arch/avr32/mm/fault.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/avr32/mm/fault.c	2011-04-17 15:57:32.000000000 -0400
 @@ -41,6 +41,23 @@ static inline int notify_page_fault(stru
  
  int exception_trace = 1;
@@ -588,7 +582,7 @@
  /*
   * This routine handles page faults. It determines the address and the
   * problem, and then passes it off to one of the appropriate routines.
-@@ -157,6 +174,16 @@ bad_area:
+@@ -156,6 +173,16 @@ bad_area:
  	up_read(&mm->mmap_sem);
  
  	if (user_mode(regs)) {
@@ -605,10 +599,10 @@
  		if (exception_trace && printk_ratelimit())
  			printk("%s%s[%d]: segfault at %08lx pc %08lx "
  			       "sp %08lx ecr %lu\n",
-diff -urNp linux-2.6.32.24/arch/blackfin/kernel/kgdb.c linux-2.6.32.24/arch/blackfin/kernel/kgdb.c
---- linux-2.6.32.24/arch/blackfin/kernel/kgdb.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/blackfin/kernel/kgdb.c	2010-09-04 15:54:51.000000000 -0400
-@@ -428,7 +428,7 @@ int kgdb_arch_handle_exception(int vecto
+diff -urNp linux-2.6.38.4/arch/blackfin/kernel/kgdb.c linux-2.6.38.4/arch/blackfin/kernel/kgdb.c
+--- linux-2.6.38.4/arch/blackfin/kernel/kgdb.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/blackfin/kernel/kgdb.c	2011-04-17 15:57:32.000000000 -0400
+@@ -420,7 +420,7 @@ int kgdb_arch_handle_exception(int vecto
  	return -1;		/* this means that we do not want to exit from the handler */
  }
  
@@ -617,21 +611,30 @@
  	.gdb_bpt_instr = {0xa1},
  #ifdef CONFIG_SMP
  	.flags = KGDB_HW_BREAKPOINT|KGDB_THR_PROC_SWAP,
-diff -urNp linux-2.6.32.24/arch/blackfin/mach-common/pm.c linux-2.6.32.24/arch/blackfin/mach-common/pm.c
---- linux-2.6.32.24/arch/blackfin/mach-common/pm.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/blackfin/mach-common/pm.c	2010-09-04 15:54:51.000000000 -0400
-@@ -255,7 +255,7 @@ static int bfin_pm_enter(suspend_state_t
- 	return 0;
+diff -urNp linux-2.6.38.4/arch/blackfin/mm/maccess.c linux-2.6.38.4/arch/blackfin/mm/maccess.c
+--- linux-2.6.38.4/arch/blackfin/mm/maccess.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/blackfin/mm/maccess.c	2011-04-17 15:57:32.000000000 -0400
+@@ -16,7 +16,7 @@ static int validate_memory_access_addres
+ 	return bfin_mem_access_type(addr, size);
  }
  
--struct platform_suspend_ops bfin_pm_ops = {
-+const struct platform_suspend_ops bfin_pm_ops = {
- 	.enter = bfin_pm_enter,
- 	.valid	= bfin_pm_valid,
- };
-diff -urNp linux-2.6.32.24/arch/frv/include/asm/kmap_types.h linux-2.6.32.24/arch/frv/include/asm/kmap_types.h
---- linux-2.6.32.24/arch/frv/include/asm/kmap_types.h	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/frv/include/asm/kmap_types.h	2010-09-04 15:54:51.000000000 -0400
+-long probe_kernel_read(void *dst, void *src, size_t size)
++long probe_kernel_read(void *dst, const void *src, size_t size)
+ {
+ 	unsigned long lsrc = (unsigned long)src;
+ 	int mem_type;
+@@ -55,7 +55,7 @@ long probe_kernel_read(void *dst, void *
+ 	return -EFAULT;
+ }
+ 
+-long probe_kernel_write(void *dst, void *src, size_t size)
++long probe_kernel_write(void *dst, const void *src, size_t size)
+ {
+ 	unsigned long ldst = (unsigned long)dst;
+ 	int mem_type;
+diff -urNp linux-2.6.38.4/arch/frv/include/asm/kmap_types.h linux-2.6.38.4/arch/frv/include/asm/kmap_types.h
+--- linux-2.6.38.4/arch/frv/include/asm/kmap_types.h	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/frv/include/asm/kmap_types.h	2011-04-17 15:57:32.000000000 -0400
 @@ -23,6 +23,7 @@ enum km_type {
  	KM_IRQ1,
  	KM_SOFTIRQ0,
@@ -640,9 +643,9 @@
  	KM_TYPE_NR
  };
  
-diff -urNp linux-2.6.32.24/arch/frv/mm/elf-fdpic.c linux-2.6.32.24/arch/frv/mm/elf-fdpic.c
---- linux-2.6.32.24/arch/frv/mm/elf-fdpic.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/frv/mm/elf-fdpic.c	2010-09-17 18:34:04.000000000 -0400
+diff -urNp linux-2.6.38.4/arch/frv/mm/elf-fdpic.c linux-2.6.38.4/arch/frv/mm/elf-fdpic.c
+--- linux-2.6.38.4/arch/frv/mm/elf-fdpic.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/frv/mm/elf-fdpic.c	2011-04-17 15:57:32.000000000 -0400
 @@ -73,8 +73,7 @@ unsigned long arch_get_unmapped_area(str
  	if (addr) {
  		addr = PAGE_ALIGN(addr);
@@ -671,9 +674,9 @@
  				goto success;
  			addr = vma->vm_end;
  		}
-diff -urNp linux-2.6.32.24/arch/ia64/hp/common/hwsw_iommu.c linux-2.6.32.24/arch/ia64/hp/common/hwsw_iommu.c
---- linux-2.6.32.24/arch/ia64/hp/common/hwsw_iommu.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/ia64/hp/common/hwsw_iommu.c	2010-09-04 15:54:51.000000000 -0400
+diff -urNp linux-2.6.38.4/arch/ia64/hp/common/hwsw_iommu.c linux-2.6.38.4/arch/ia64/hp/common/hwsw_iommu.c
+--- linux-2.6.38.4/arch/ia64/hp/common/hwsw_iommu.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/ia64/hp/common/hwsw_iommu.c	2011-04-17 15:57:32.000000000 -0400
 @@ -17,7 +17,7 @@
  #include <linux/swiotlb.h>
  #include <asm/machvec.h>
@@ -692,9 +695,9 @@
  {
  	if (use_swiotlb(dev))
  		return &swiotlb_dma_ops;
-diff -urNp linux-2.6.32.24/arch/ia64/hp/common/sba_iommu.c linux-2.6.32.24/arch/ia64/hp/common/sba_iommu.c
---- linux-2.6.32.24/arch/ia64/hp/common/sba_iommu.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/ia64/hp/common/sba_iommu.c	2010-09-04 15:54:51.000000000 -0400
+diff -urNp linux-2.6.38.4/arch/ia64/hp/common/sba_iommu.c linux-2.6.38.4/arch/ia64/hp/common/sba_iommu.c
+--- linux-2.6.38.4/arch/ia64/hp/common/sba_iommu.c	2011-03-14 21:20:32.000000000 -0400
++++ linux-2.6.38.4/arch/ia64/hp/common/sba_iommu.c	2011-04-17 15:57:32.000000000 -0400
 @@ -2097,7 +2097,7 @@ static struct acpi_driver acpi_sba_ioc_d
  	},
  };
@@ -713,45 +716,9 @@
  	.alloc_coherent		= sba_alloc_coherent,
  	.free_coherent		= sba_free_coherent,
  	.map_page		= sba_map_page,
-diff -urNp linux-2.6.32.24/arch/ia64/ia32/binfmt_elf32.c linux-2.6.32.24/arch/ia64/ia32/binfmt_elf32.c
---- linux-2.6.32.24/arch/ia64/ia32/binfmt_elf32.c	2010-08-13 16:24:37.000000000 -0400
-+++ linux-2.6.32.24/arch/ia64/ia32/binfmt_elf32.c	2010-09-04 15:54:51.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))
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel-bare-grsecurity/linux-2.6-grsecurity.patch?r1=1.1.2.59&r2=1.1.2.60&f=u



More information about the pld-cvs-commit mailing list