aboutsummaryrefslogtreecommitdiffstats
path: root/main/linux-grsec
diff options
context:
space:
mode:
Diffstat (limited to 'main/linux-grsec')
-rw-r--r--main/linux-grsec/APKBUILD8
-rw-r--r--main/linux-grsec/grsecurity-2.1.14-2.6.31.6-200911151724.patch (renamed from main/linux-grsec/grsecurity-2.1.14-2.6.31.6-200911101920.patch)5255
-rw-r--r--main/linux-grsec/kernelconfig.x8612
3 files changed, 4217 insertions, 1058 deletions
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index 0aa7820d6b..b06ec37dfd 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -4,7 +4,7 @@ _flavor=grsec
pkgname=linux-${_flavor}
pkgver=2.6.31.6
_kernver=2.6.31
-pkgrel=1
+pkgrel=2
pkgdesc="Linux kernel with grsecurity"
url=http://grsecurity.net
depends="mkinitfs linux-firmware"
@@ -14,7 +14,7 @@ _config=${config:-kernelconfig.${CARCH:-x86}}
install=
source="ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_kernver.tar.bz2
ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-$pkgver.bz2
- grsecurity-2.1.14-2.6.31.6-200911101920.patch
+ grsecurity-2.1.14-2.6.31.6-200911151724.patch
kernelconfig.x86
"
subpackages="$pkgname-dev linux-firmware:firmware"
@@ -120,5 +120,5 @@ firmware() {
md5sums="84c077a37684e4cbfa67b18154390d8a linux-2.6.31.tar.bz2
89802830db41e517cdf0954145f73337 patch-2.6.31.6.bz2
-9265e61efc46d51fdbf7caa6aac4cbab grsecurity-2.1.14-2.6.31.6-200911101920.patch
-94d5ac9701cf3ddd50f654509b8ec6fc kernelconfig.x86"
+4efafd23c7e5342db8e0b7f47c81abb9 grsecurity-2.1.14-2.6.31.6-200911151724.patch
+5ecbb0c5bed282ad2e5c34c1f71ba27f kernelconfig.x86"
diff --git a/main/linux-grsec/grsecurity-2.1.14-2.6.31.6-200911101920.patch b/main/linux-grsec/grsecurity-2.1.14-2.6.31.6-200911151724.patch
index 67b6723baf..0ff1ae02ad 100644
--- a/main/linux-grsec/grsecurity-2.1.14-2.6.31.6-200911101920.patch
+++ b/main/linux-grsec/grsecurity-2.1.14-2.6.31.6-200911151724.patch
@@ -1,6 +1,6 @@
diff -urNp linux-2.6.31.6/arch/alpha/include/asm/atomic.h linux-2.6.31.6/arch/alpha/include/asm/atomic.h
--- linux-2.6.31.6/arch/alpha/include/asm/atomic.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/alpha/include/asm/atomic.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/alpha/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -18,9 +18,11 @@
#define ATOMIC64_INIT(i) ( (atomic64_t) { (i) } )
@@ -47,7 +47,7 @@ diff -urNp linux-2.6.31.6/arch/alpha/include/asm/atomic.h linux-2.6.31.6/arch/al
#define atomic_dec(v) atomic_sub(1,(v))
diff -urNp linux-2.6.31.6/arch/alpha/include/asm/elf.h linux-2.6.31.6/arch/alpha/include/asm/elf.h
--- linux-2.6.31.6/arch/alpha/include/asm/elf.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/alpha/include/asm/elf.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/alpha/include/asm/elf.h 2009-11-12 17:18:17.000000000 -0500
@@ -91,6 +91,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N
#define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x1000000)
@@ -64,7 +64,7 @@ diff -urNp linux-2.6.31.6/arch/alpha/include/asm/elf.h linux-2.6.31.6/arch/alpha
linker to call DT_FINI functions for shared libraries that have
diff -urNp linux-2.6.31.6/arch/alpha/include/asm/pgtable.h linux-2.6.31.6/arch/alpha/include/asm/pgtable.h
--- linux-2.6.31.6/arch/alpha/include/asm/pgtable.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/alpha/include/asm/pgtable.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/alpha/include/asm/pgtable.h 2009-11-12 17:18:17.000000000 -0500
@@ -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)
@@ -85,7 +85,7 @@ diff -urNp linux-2.6.31.6/arch/alpha/include/asm/pgtable.h linux-2.6.31.6/arch/a
#define _PAGE_NORMAL(x) __pgprot(_PAGE_VALID | __ACCESS_BITS | (x))
diff -urNp linux-2.6.31.6/arch/alpha/kernel/module.c linux-2.6.31.6/arch/alpha/kernel/module.c
--- linux-2.6.31.6/arch/alpha/kernel/module.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/alpha/kernel/module.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/alpha/kernel/module.c 2009-11-12 17:18:17.000000000 -0500
@@ -182,7 +182,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs,
/* The small sections were sorted to the end of the segment.
@@ -97,7 +97,7 @@ diff -urNp linux-2.6.31.6/arch/alpha/kernel/module.c linux-2.6.31.6/arch/alpha/k
for (i = 0; i < n; i++) {
diff -urNp linux-2.6.31.6/arch/alpha/kernel/osf_sys.c linux-2.6.31.6/arch/alpha/kernel/osf_sys.c
--- linux-2.6.31.6/arch/alpha/kernel/osf_sys.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/alpha/kernel/osf_sys.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/alpha/kernel/osf_sys.c 2009-11-12 17:18:17.000000000 -0500
@@ -1212,6 +1212,10 @@ arch_get_unmapped_area(struct file *filp
merely specific addresses, but regions of memory -- perhaps
this feature should be incorporated into all ports? */
@@ -122,7 +122,7 @@ diff -urNp linux-2.6.31.6/arch/alpha/kernel/osf_sys.c linux-2.6.31.6/arch/alpha/
diff -urNp linux-2.6.31.6/arch/alpha/mm/fault.c linux-2.6.31.6/arch/alpha/mm/fault.c
--- linux-2.6.31.6/arch/alpha/mm/fault.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/alpha/mm/fault.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/alpha/mm/fault.c 2009-11-12 17:18:17.000000000 -0500
@@ -54,6 +54,124 @@ __load_new_mm_context(struct mm_struct *
__reload_thread(pcb);
}
@@ -281,7 +281,7 @@ diff -urNp linux-2.6.31.6/arch/alpha/mm/fault.c linux-2.6.31.6/arch/alpha/mm/fau
if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
diff -urNp linux-2.6.31.6/arch/arm/include/asm/atomic.h linux-2.6.31.6/arch/arm/include/asm/atomic.h
--- linux-2.6.31.6/arch/arm/include/asm/atomic.h 2009-11-10 18:45:34.000000000 -0500
-+++ linux-2.6.31.6/arch/arm/include/asm/atomic.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/arm/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -20,6 +20,7 @@
#ifdef __KERNEL__
@@ -344,7 +344,7 @@ diff -urNp linux-2.6.31.6/arch/arm/include/asm/atomic.h linux-2.6.31.6/arch/arm/
#define atomic_inc_and_test(v) (atomic_add_return(1, v) == 0)
diff -urNp linux-2.6.31.6/arch/arm/include/asm/elf.h linux-2.6.31.6/arch/arm/include/asm/elf.h
--- linux-2.6.31.6/arch/arm/include/asm/elf.h 2009-11-10 18:45:34.000000000 -0500
-+++ linux-2.6.31.6/arch/arm/include/asm/elf.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/arm/include/asm/elf.h 2009-11-12 17:18:17.000000000 -0500
@@ -103,7 +103,14 @@ extern int arm_elf_read_implies_exec(con
the loader. We need to make sure that it is out of the way of the program
that it will "exec", and that there is sufficient room for the brk. */
@@ -363,7 +363,7 @@ diff -urNp linux-2.6.31.6/arch/arm/include/asm/elf.h linux-2.6.31.6/arch/arm/inc
registered with atexit, as per the SVR4 ABI. A value of 0 means we
diff -urNp linux-2.6.31.6/arch/arm/include/asm/kmap_types.h linux-2.6.31.6/arch/arm/include/asm/kmap_types.h
--- linux-2.6.31.6/arch/arm/include/asm/kmap_types.h 2009-11-10 18:45:34.000000000 -0500
-+++ linux-2.6.31.6/arch/arm/include/asm/kmap_types.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/arm/include/asm/kmap_types.h 2009-11-12 17:18:17.000000000 -0500
@@ -19,6 +19,7 @@ enum km_type {
KM_SOFTIRQ0,
KM_SOFTIRQ1,
@@ -374,7 +374,7 @@ diff -urNp linux-2.6.31.6/arch/arm/include/asm/kmap_types.h linux-2.6.31.6/arch/
diff -urNp linux-2.6.31.6/arch/arm/include/asm/uaccess.h linux-2.6.31.6/arch/arm/include/asm/uaccess.h
--- linux-2.6.31.6/arch/arm/include/asm/uaccess.h 2009-11-10 18:45:35.000000000 -0500
-+++ linux-2.6.31.6/arch/arm/include/asm/uaccess.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/arm/include/asm/uaccess.h 2009-11-12 17:18:17.000000000 -0500
@@ -400,6 +400,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)
@@ -397,7 +397,7 @@ diff -urNp linux-2.6.31.6/arch/arm/include/asm/uaccess.h linux-2.6.31.6/arch/arm
return n;
diff -urNp linux-2.6.31.6/arch/arm/mach-ns9xxx/clock.c linux-2.6.31.6/arch/arm/mach-ns9xxx/clock.c
--- linux-2.6.31.6/arch/arm/mach-ns9xxx/clock.c 2009-11-10 18:45:34.000000000 -0500
-+++ linux-2.6.31.6/arch/arm/mach-ns9xxx/clock.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/arm/mach-ns9xxx/clock.c 2009-11-12 17:18:17.000000000 -0500
@@ -195,7 +195,7 @@ static int clk_debugfs_open(struct inode
return single_open(file, clk_debugfs_show, NULL);
}
@@ -409,7 +409,7 @@ diff -urNp linux-2.6.31.6/arch/arm/mach-ns9xxx/clock.c linux-2.6.31.6/arch/arm/m
.llseek = seq_lseek,
diff -urNp linux-2.6.31.6/arch/arm/mm/mmap.c linux-2.6.31.6/arch/arm/mm/mmap.c
--- linux-2.6.31.6/arch/arm/mm/mmap.c 2009-11-10 18:45:34.000000000 -0500
-+++ linux-2.6.31.6/arch/arm/mm/mmap.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/arm/mm/mmap.c 2009-11-12 17:18:17.000000000 -0500
@@ -62,6 +62,10 @@ arch_get_unmapped_area(struct file *filp
if (len > TASK_SIZE)
return -ENOMEM;
@@ -448,7 +448,7 @@ diff -urNp linux-2.6.31.6/arch/arm/mm/mmap.c linux-2.6.31.6/arch/arm/mm/mmap.c
}
diff -urNp linux-2.6.31.6/arch/avr32/include/asm/atomic.h linux-2.6.31.6/arch/avr32/include/asm/atomic.h
--- linux-2.6.31.6/arch/avr32/include/asm/atomic.h 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/avr32/include/asm/atomic.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/avr32/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -20,7 +20,9 @@
#define ATOMIC_INIT(i) { (i) }
@@ -512,7 +512,7 @@ diff -urNp linux-2.6.31.6/arch/avr32/include/asm/atomic.h linux-2.6.31.6/arch/av
#define atomic_inc_return(v) atomic_add_return(1, v)
diff -urNp linux-2.6.31.6/arch/avr32/include/asm/elf.h linux-2.6.31.6/arch/avr32/include/asm/elf.h
--- linux-2.6.31.6/arch/avr32/include/asm/elf.h 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/avr32/include/asm/elf.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/avr32/include/asm/elf.h 2009-11-12 17:18:17.000000000 -0500
@@ -85,8 +85,14 @@ typedef struct user_fpu_struct elf_fpreg
the loader. We need to make sure that it is out of the way of the program
that it will "exec", and that there is sufficient room for the brk. */
@@ -531,7 +531,7 @@ diff -urNp linux-2.6.31.6/arch/avr32/include/asm/elf.h linux-2.6.31.6/arch/avr32
instruction set this CPU supports. This could be done in user space,
diff -urNp linux-2.6.31.6/arch/avr32/include/asm/kmap_types.h linux-2.6.31.6/arch/avr32/include/asm/kmap_types.h
--- linux-2.6.31.6/arch/avr32/include/asm/kmap_types.h 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/avr32/include/asm/kmap_types.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/avr32/include/asm/kmap_types.h 2009-11-12 17:18:17.000000000 -0500
@@ -22,7 +22,8 @@ D(10) KM_IRQ0,
D(11) KM_IRQ1,
D(12) KM_SOFTIRQ0,
@@ -544,7 +544,7 @@ diff -urNp linux-2.6.31.6/arch/avr32/include/asm/kmap_types.h linux-2.6.31.6/arc
#undef D
diff -urNp linux-2.6.31.6/arch/avr32/mm/fault.c linux-2.6.31.6/arch/avr32/mm/fault.c
--- linux-2.6.31.6/arch/avr32/mm/fault.c 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/avr32/mm/fault.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/avr32/mm/fault.c 2009-11-12 17:18:17.000000000 -0500
@@ -41,6 +41,23 @@ static inline int notify_page_fault(stru
int exception_trace = 1;
@@ -588,7 +588,7 @@ diff -urNp linux-2.6.31.6/arch/avr32/mm/fault.c linux-2.6.31.6/arch/avr32/mm/fau
"sp %08lx ecr %lu\n",
diff -urNp linux-2.6.31.6/arch/blackfin/include/asm/atomic.h linux-2.6.31.6/arch/blackfin/include/asm/atomic.h
--- linux-2.6.31.6/arch/blackfin/include/asm/atomic.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/blackfin/include/asm/atomic.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/blackfin/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -15,8 +15,10 @@
#define ATOMIC_INIT(i) { (i) }
@@ -636,7 +636,7 @@ diff -urNp linux-2.6.31.6/arch/blackfin/include/asm/atomic.h linux-2.6.31.6/arch
__raw_atomic_update_asm(&v->counter, -1);
diff -urNp linux-2.6.31.6/arch/blackfin/mach-bf561/coreb.c linux-2.6.31.6/arch/blackfin/mach-bf561/coreb.c
--- linux-2.6.31.6/arch/blackfin/mach-bf561/coreb.c 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/blackfin/mach-bf561/coreb.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/blackfin/mach-bf561/coreb.c 2009-11-12 17:18:17.000000000 -0500
@@ -48,7 +48,7 @@ coreb_ioctl(struct inode *inode, struct
return ret;
}
@@ -648,7 +648,7 @@ diff -urNp linux-2.6.31.6/arch/blackfin/mach-bf561/coreb.c linux-2.6.31.6/arch/b
};
diff -urNp linux-2.6.31.6/arch/cris/arch-v10/drivers/sync_serial.c linux-2.6.31.6/arch/cris/arch-v10/drivers/sync_serial.c
--- linux-2.6.31.6/arch/cris/arch-v10/drivers/sync_serial.c 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/cris/arch-v10/drivers/sync_serial.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/cris/arch-v10/drivers/sync_serial.c 2009-11-12 17:18:17.000000000 -0500
@@ -244,7 +244,7 @@ static unsigned sync_serial_prescale_sha
#define NUMBER_OF_PORTS 2
@@ -660,7 +660,7 @@ diff -urNp linux-2.6.31.6/arch/cris/arch-v10/drivers/sync_serial.c linux-2.6.31.
.read = sync_serial_read,
diff -urNp linux-2.6.31.6/arch/cris/arch-v32/drivers/mach-fs/gpio.c linux-2.6.31.6/arch/cris/arch-v32/drivers/mach-fs/gpio.c
--- linux-2.6.31.6/arch/cris/arch-v32/drivers/mach-fs/gpio.c 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/cris/arch-v32/drivers/mach-fs/gpio.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/cris/arch-v32/drivers/mach-fs/gpio.c 2009-11-12 17:18:17.000000000 -0500
@@ -855,7 +855,7 @@ gpio_leds_ioctl(unsigned int cmd, unsign
return 0;
}
@@ -672,7 +672,7 @@ diff -urNp linux-2.6.31.6/arch/cris/arch-v32/drivers/mach-fs/gpio.c linux-2.6.31
.ioctl = gpio_ioctl,
diff -urNp linux-2.6.31.6/arch/cris/include/asm/atomic.h linux-2.6.31.6/arch/cris/include/asm/atomic.h
--- linux-2.6.31.6/arch/cris/include/asm/atomic.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/cris/include/asm/atomic.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/cris/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -16,7 +16,9 @@
#define ATOMIC_INIT(i) { (i) }
@@ -721,7 +721,7 @@ diff -urNp linux-2.6.31.6/arch/cris/include/asm/atomic.h linux-2.6.31.6/arch/cri
unsigned long flags;
diff -urNp linux-2.6.31.6/arch/frv/include/asm/atomic.h linux-2.6.31.6/arch/frv/include/asm/atomic.h
--- linux-2.6.31.6/arch/frv/include/asm/atomic.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/frv/include/asm/atomic.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/frv/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -37,7 +37,9 @@
#define ATOMIC_INIT(i) { (i) }
@@ -766,7 +766,7 @@ diff -urNp linux-2.6.31.6/arch/frv/include/asm/atomic.h linux-2.6.31.6/arch/frv/
atomic_sub_return(1, v);
diff -urNp linux-2.6.31.6/arch/frv/include/asm/kmap_types.h linux-2.6.31.6/arch/frv/include/asm/kmap_types.h
--- linux-2.6.31.6/arch/frv/include/asm/kmap_types.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/frv/include/asm/kmap_types.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/frv/include/asm/kmap_types.h 2009-11-12 17:18:17.000000000 -0500
@@ -23,6 +23,7 @@ enum km_type {
KM_IRQ1,
KM_SOFTIRQ0,
@@ -777,7 +777,7 @@ diff -urNp linux-2.6.31.6/arch/frv/include/asm/kmap_types.h linux-2.6.31.6/arch/
diff -urNp linux-2.6.31.6/arch/h8300/include/asm/atomic.h linux-2.6.31.6/arch/h8300/include/asm/atomic.h
--- linux-2.6.31.6/arch/h8300/include/asm/atomic.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/h8300/include/asm/atomic.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/h8300/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -11,7 +11,9 @@
#define ATOMIC_INIT(i) { (i) }
@@ -832,7 +832,7 @@ diff -urNp linux-2.6.31.6/arch/h8300/include/asm/atomic.h linux-2.6.31.6/arch/h8
* atomic_inc_and_test - increment and test
diff -urNp linux-2.6.31.6/arch/ia64/ia32/binfmt_elf32.c linux-2.6.31.6/arch/ia64/ia32/binfmt_elf32.c
--- linux-2.6.31.6/arch/ia64/ia32/binfmt_elf32.c 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/ia64/ia32/binfmt_elf32.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/ia64/ia32/binfmt_elf32.c 2009-11-12 17:18:17.000000000 -0500
@@ -45,6 +45,13 @@ randomize_stack_top(unsigned long stack_
#define elf_read_implies_exec(ex, have_pt_gnu_stack) (!(have_pt_gnu_stack))
@@ -863,7 +863,7 @@ diff -urNp linux-2.6.31.6/arch/ia64/ia32/binfmt_elf32.c linux-2.6.31.6/arch/ia64
diff -urNp linux-2.6.31.6/arch/ia64/ia32/ia32priv.h linux-2.6.31.6/arch/ia64/ia32/ia32priv.h
--- linux-2.6.31.6/arch/ia64/ia32/ia32priv.h 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/ia64/ia32/ia32priv.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/ia64/ia32/ia32priv.h 2009-11-12 17:18:17.000000000 -0500
@@ -296,7 +296,14 @@ typedef struct compat_siginfo {
#define ELF_DATA ELFDATA2LSB
#define ELF_ARCH EM_386
@@ -882,7 +882,7 @@ diff -urNp linux-2.6.31.6/arch/ia64/ia32/ia32priv.h linux-2.6.31.6/arch/ia64/ia3
diff -urNp linux-2.6.31.6/arch/ia64/include/asm/atomic.h linux-2.6.31.6/arch/ia64/include/asm/atomic.h
--- linux-2.6.31.6/arch/ia64/include/asm/atomic.h 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/ia64/include/asm/atomic.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/ia64/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -22,9 +22,11 @@
#define ATOMIC64_INIT(i) ((atomic64_t) { (i) })
@@ -909,7 +909,7 @@ diff -urNp linux-2.6.31.6/arch/ia64/include/asm/atomic.h linux-2.6.31.6/arch/ia6
#define atomic64_add(i,v) atomic64_add_return((i), (v))
diff -urNp linux-2.6.31.6/arch/ia64/include/asm/elf.h linux-2.6.31.6/arch/ia64/include/asm/elf.h
--- linux-2.6.31.6/arch/ia64/include/asm/elf.h 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/ia64/include/asm/elf.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/ia64/include/asm/elf.h 2009-11-12 17:18:17.000000000 -0500
@@ -43,6 +43,13 @@
*/
#define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x800000000UL)
@@ -926,7 +926,7 @@ diff -urNp linux-2.6.31.6/arch/ia64/include/asm/elf.h linux-2.6.31.6/arch/ia64/i
/* IA-64 relocations: */
diff -urNp linux-2.6.31.6/arch/ia64/include/asm/pgtable.h linux-2.6.31.6/arch/ia64/include/asm/pgtable.h
--- linux-2.6.31.6/arch/ia64/include/asm/pgtable.h 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/ia64/include/asm/pgtable.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/ia64/include/asm/pgtable.h 2009-11-12 17:18:17.000000000 -0500
@@ -143,6 +143,17 @@
#define PAGE_READONLY __pgprot(__ACCESS_BITS | _PAGE_PL_3 | _PAGE_AR_R)
#define PAGE_COPY __pgprot(__ACCESS_BITS | _PAGE_PL_3 | _PAGE_AR_R)
@@ -947,7 +947,7 @@ diff -urNp linux-2.6.31.6/arch/ia64/include/asm/pgtable.h linux-2.6.31.6/arch/ia
#define PAGE_KERNELRX __pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_RX)
diff -urNp linux-2.6.31.6/arch/ia64/include/asm/uaccess.h linux-2.6.31.6/arch/ia64/include/asm/uaccess.h
--- linux-2.6.31.6/arch/ia64/include/asm/uaccess.h 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/ia64/include/asm/uaccess.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/ia64/include/asm/uaccess.h 2009-11-12 17:18:17.000000000 -0500
@@ -257,7 +257,7 @@ __copy_from_user (void *to, const void _
const void *__cu_from = (from); \
long __cu_len = (n); \
@@ -968,7 +968,7 @@ diff -urNp linux-2.6.31.6/arch/ia64/include/asm/uaccess.h linux-2.6.31.6/arch/ia
})
diff -urNp linux-2.6.31.6/arch/ia64/kernel/module.c linux-2.6.31.6/arch/ia64/kernel/module.c
--- linux-2.6.31.6/arch/ia64/kernel/module.c 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/ia64/kernel/module.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/ia64/kernel/module.c 2009-11-12 17:18:17.000000000 -0500
@@ -315,8 +315,7 @@ module_alloc (unsigned long size)
void
module_free (struct module *mod, void *module_region)
@@ -1059,7 +1059,7 @@ diff -urNp linux-2.6.31.6/arch/ia64/kernel/module.c linux-2.6.31.6/arch/ia64/ker
}
diff -urNp linux-2.6.31.6/arch/ia64/kernel/sys_ia64.c linux-2.6.31.6/arch/ia64/kernel/sys_ia64.c
--- linux-2.6.31.6/arch/ia64/kernel/sys_ia64.c 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/ia64/kernel/sys_ia64.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/ia64/kernel/sys_ia64.c 2009-11-12 17:18:17.000000000 -0500
@@ -43,6 +43,13 @@ arch_get_unmapped_area (struct file *fil
if (REGION_NUMBER(addr) == RGN_HPAGE)
addr = 0;
@@ -1088,7 +1088,7 @@ diff -urNp linux-2.6.31.6/arch/ia64/kernel/sys_ia64.c linux-2.6.31.6/arch/ia64/k
return -ENOMEM;
diff -urNp linux-2.6.31.6/arch/ia64/kernel/topology.c linux-2.6.31.6/arch/ia64/kernel/topology.c
--- linux-2.6.31.6/arch/ia64/kernel/topology.c 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/ia64/kernel/topology.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/ia64/kernel/topology.c 2009-11-12 17:18:17.000000000 -0500
@@ -282,7 +282,7 @@ static ssize_t cache_show(struct kobject
return ret;
}
@@ -1100,7 +1100,7 @@ diff -urNp linux-2.6.31.6/arch/ia64/kernel/topology.c linux-2.6.31.6/arch/ia64/k
diff -urNp linux-2.6.31.6/arch/ia64/kernel/vmlinux.lds.S linux-2.6.31.6/arch/ia64/kernel/vmlinux.lds.S
--- linux-2.6.31.6/arch/ia64/kernel/vmlinux.lds.S 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/ia64/kernel/vmlinux.lds.S 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/ia64/kernel/vmlinux.lds.S 2009-11-12 17:18:17.000000000 -0500
@@ -245,7 +245,7 @@ SECTIONS
/* Per-cpu data: */
. = ALIGN(PERCPU_PAGE_SIZE);
@@ -1112,7 +1112,7 @@ diff -urNp linux-2.6.31.6/arch/ia64/kernel/vmlinux.lds.S linux-2.6.31.6/arch/ia6
*/
diff -urNp linux-2.6.31.6/arch/ia64/mm/fault.c linux-2.6.31.6/arch/ia64/mm/fault.c
--- linux-2.6.31.6/arch/ia64/mm/fault.c 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/ia64/mm/fault.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/ia64/mm/fault.c 2009-11-12 17:18:17.000000000 -0500
@@ -72,6 +72,23 @@ mapped_kernel_page_is_present (unsigned
return pte_present(pte);
}
@@ -1164,7 +1164,7 @@ diff -urNp linux-2.6.31.6/arch/ia64/mm/fault.c linux-2.6.31.6/arch/ia64/mm/fault
* If for any reason at all we couldn't handle the fault, make
diff -urNp linux-2.6.31.6/arch/ia64/mm/init.c linux-2.6.31.6/arch/ia64/mm/init.c
--- linux-2.6.31.6/arch/ia64/mm/init.c 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/ia64/mm/init.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/ia64/mm/init.c 2009-11-12 17:18:17.000000000 -0500
@@ -122,6 +122,19 @@ ia64_init_addr_space (void)
vma->vm_start = current->thread.rbs_bot & PAGE_MASK;
vma->vm_end = vma->vm_start + PAGE_SIZE;
@@ -1187,7 +1187,7 @@ diff -urNp linux-2.6.31.6/arch/ia64/mm/init.c linux-2.6.31.6/arch/ia64/mm/init.c
if (insert_vm_struct(current->mm, vma)) {
diff -urNp linux-2.6.31.6/arch/ia64/pci/pci.c linux-2.6.31.6/arch/ia64/pci/pci.c
--- linux-2.6.31.6/arch/ia64/pci/pci.c 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/ia64/pci/pci.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/ia64/pci/pci.c 2009-11-12 17:18:17.000000000 -0500
@@ -56,10 +56,13 @@ int raw_pci_read(unsigned int seg, unsig
if ((seg | reg) <= 255) {
addr = PCI_SAL_ADDRESS(seg, bus, devfn, reg);
@@ -1220,7 +1220,7 @@ diff -urNp linux-2.6.31.6/arch/ia64/pci/pci.c linux-2.6.31.6/arch/ia64/pci/pci.c
return -EINVAL;
diff -urNp linux-2.6.31.6/arch/m32r/include/asm/atomic.h linux-2.6.31.6/arch/m32r/include/asm/atomic.h
--- linux-2.6.31.6/arch/m32r/include/asm/atomic.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/m32r/include/asm/atomic.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/m32r/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -29,6 +29,14 @@
#define atomic_read(v) ((v)->counter)
@@ -1265,7 +1265,7 @@ diff -urNp linux-2.6.31.6/arch/m32r/include/asm/atomic.h linux-2.6.31.6/arch/m32
#define smp_mb__after_atomic_dec() barrier()
diff -urNp linux-2.6.31.6/arch/m32r/lib/usercopy.c linux-2.6.31.6/arch/m32r/lib/usercopy.c
--- linux-2.6.31.6/arch/m32r/lib/usercopy.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/m32r/lib/usercopy.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/m32r/lib/usercopy.c 2009-11-12 17:18:17.000000000 -0500
@@ -14,6 +14,9 @@
unsigned long
__generic_copy_to_user(void __user *to, const void *from, unsigned long n)
@@ -1288,7 +1288,7 @@ diff -urNp linux-2.6.31.6/arch/m32r/lib/usercopy.c linux-2.6.31.6/arch/m32r/lib/
__copy_user_zeroing(to,from,n);
diff -urNp linux-2.6.31.6/arch/m68k/include/asm/atomic_mm.h linux-2.6.31.6/arch/m68k/include/asm/atomic_mm.h
--- linux-2.6.31.6/arch/m68k/include/asm/atomic_mm.h 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/arch/m68k/include/asm/atomic_mm.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/m68k/include/asm/atomic_mm.h 2009-11-12 17:18:17.000000000 -0500
@@ -16,23 +16,40 @@
#define ATOMIC_INIT(i) { (i) }
@@ -1332,7 +1332,7 @@ diff -urNp linux-2.6.31.6/arch/m68k/include/asm/atomic_mm.h linux-2.6.31.6/arch/
__asm__ __volatile__("subql #1,%0" : "+m" (*v));
diff -urNp linux-2.6.31.6/arch/m68k/include/asm/atomic_no.h linux-2.6.31.6/arch/m68k/include/asm/atomic_no.h
--- linux-2.6.31.6/arch/m68k/include/asm/atomic_no.h 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/arch/m68k/include/asm/atomic_no.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/m68k/include/asm/atomic_no.h 2009-11-12 17:18:17.000000000 -0500
@@ -16,7 +16,9 @@
#define ATOMIC_INIT(i) { (i) }
@@ -1381,7 +1381,7 @@ diff -urNp linux-2.6.31.6/arch/m68k/include/asm/atomic_no.h linux-2.6.31.6/arch/
* @v: pointer of type atomic_t
diff -urNp linux-2.6.31.6/arch/mips/include/asm/atomic.h linux-2.6.31.6/arch/mips/include/asm/atomic.h
--- linux-2.6.31.6/arch/mips/include/asm/atomic.h 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/arch/mips/include/asm/atomic.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/mips/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -32,6 +32,14 @@
#define atomic_read(v) ((v)->counter)
@@ -1425,7 +1425,7 @@ diff -urNp linux-2.6.31.6/arch/mips/include/asm/atomic.h linux-2.6.31.6/arch/mip
* atomic_dec - decrement and test
diff -urNp linux-2.6.31.6/arch/mips/include/asm/elf.h linux-2.6.31.6/arch/mips/include/asm/elf.h
--- linux-2.6.31.6/arch/mips/include/asm/elf.h 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/arch/mips/include/asm/elf.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/mips/include/asm/elf.h 2009-11-12 17:18:17.000000000 -0500
@@ -368,4 +368,11 @@ extern int dump_task_fpu(struct task_str
#define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2)
#endif
@@ -1440,7 +1440,7 @@ diff -urNp linux-2.6.31.6/arch/mips/include/asm/elf.h linux-2.6.31.6/arch/mips/i
#endif /* _ASM_ELF_H */
diff -urNp linux-2.6.31.6/arch/mips/include/asm/page.h linux-2.6.31.6/arch/mips/include/asm/page.h
--- linux-2.6.31.6/arch/mips/include/asm/page.h 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/arch/mips/include/asm/page.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/mips/include/asm/page.h 2009-11-12 17:18:17.000000000 -0500
@@ -92,7 +92,7 @@ extern void copy_user_highpage(struct pa
#ifdef CONFIG_CPU_MIPS32
typedef struct { unsigned long pte_low, pte_high; } pte_t;
@@ -1452,7 +1452,7 @@ diff -urNp linux-2.6.31.6/arch/mips/include/asm/page.h linux-2.6.31.6/arch/mips/
#define pte_val(x) ((x).pte)
diff -urNp linux-2.6.31.6/arch/mips/include/asm/system.h linux-2.6.31.6/arch/mips/include/asm/system.h
--- linux-2.6.31.6/arch/mips/include/asm/system.h 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/arch/mips/include/asm/system.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/mips/include/asm/system.h 2009-11-12 17:18:17.000000000 -0500
@@ -217,6 +217,6 @@ extern void per_cpu_trap_init(void);
*/
#define __ARCH_WANT_UNLOCKED_CTXSW
@@ -1463,7 +1463,7 @@ diff -urNp linux-2.6.31.6/arch/mips/include/asm/system.h linux-2.6.31.6/arch/mip
#endif /* _ASM_SYSTEM_H */
diff -urNp linux-2.6.31.6/arch/mips/kernel/binfmt_elfn32.c linux-2.6.31.6/arch/mips/kernel/binfmt_elfn32.c
--- linux-2.6.31.6/arch/mips/kernel/binfmt_elfn32.c 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/arch/mips/kernel/binfmt_elfn32.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/mips/kernel/binfmt_elfn32.c 2009-11-12 17:18:17.000000000 -0500
@@ -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)
@@ -1480,7 +1480,7 @@ diff -urNp linux-2.6.31.6/arch/mips/kernel/binfmt_elfn32.c linux-2.6.31.6/arch/m
#include <linux/elfcore.h>
diff -urNp linux-2.6.31.6/arch/mips/kernel/binfmt_elfo32.c linux-2.6.31.6/arch/mips/kernel/binfmt_elfo32.c
--- linux-2.6.31.6/arch/mips/kernel/binfmt_elfo32.c 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/arch/mips/kernel/binfmt_elfo32.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/mips/kernel/binfmt_elfo32.c 2009-11-12 17:18:17.000000000 -0500
@@ -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)
@@ -1497,7 +1497,7 @@ diff -urNp linux-2.6.31.6/arch/mips/kernel/binfmt_elfo32.c linux-2.6.31.6/arch/m
/*
diff -urNp linux-2.6.31.6/arch/mips/kernel/process.c linux-2.6.31.6/arch/mips/kernel/process.c
--- linux-2.6.31.6/arch/mips/kernel/process.c 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/arch/mips/kernel/process.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/mips/kernel/process.c 2009-11-12 17:18:17.000000000 -0500
@@ -470,15 +470,3 @@ unsigned long get_wchan(struct task_stru
out:
return pc;
@@ -1516,7 +1516,7 @@ diff -urNp linux-2.6.31.6/arch/mips/kernel/process.c linux-2.6.31.6/arch/mips/ke
-}
diff -urNp linux-2.6.31.6/arch/mips/kernel/syscall.c linux-2.6.31.6/arch/mips/kernel/syscall.c
--- linux-2.6.31.6/arch/mips/kernel/syscall.c 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/arch/mips/kernel/syscall.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/mips/kernel/syscall.c 2009-11-12 17:18:17.000000000 -0500
@@ -99,6 +99,11 @@ unsigned long arch_get_unmapped_area(str
do_color_align = 0;
if (filp || (flags & MAP_SHARED))
@@ -1540,7 +1540,7 @@ diff -urNp linux-2.6.31.6/arch/mips/kernel/syscall.c linux-2.6.31.6/arch/mips/ke
else
diff -urNp linux-2.6.31.6/arch/mips/mm/fault.c linux-2.6.31.6/arch/mips/mm/fault.c
--- linux-2.6.31.6/arch/mips/mm/fault.c 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/arch/mips/mm/fault.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/mips/mm/fault.c 2009-11-12 17:18:17.000000000 -0500
@@ -26,6 +26,23 @@
#include <asm/ptrace.h>
#include <asm/highmem.h> /* For VMALLOC_END */
@@ -1567,7 +1567,7 @@ diff -urNp linux-2.6.31.6/arch/mips/mm/fault.c linux-2.6.31.6/arch/mips/mm/fault
* and the problem, and then passes it off to one of the appropriate
diff -urNp linux-2.6.31.6/arch/mn10300/include/asm/atomic.h linux-2.6.31.6/arch/mn10300/include/asm/atomic.h
--- linux-2.6.31.6/arch/mn10300/include/asm/atomic.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/mn10300/include/asm/atomic.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/mn10300/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -34,6 +34,15 @@
#define atomic_read(v) ((v)->counter)
@@ -1635,7 +1635,7 @@ diff -urNp linux-2.6.31.6/arch/mn10300/include/asm/atomic.h linux-2.6.31.6/arch/
atomic_sub_return(1, v);
diff -urNp linux-2.6.31.6/arch/mn10300/kernel/setup.c linux-2.6.31.6/arch/mn10300/kernel/setup.c
--- linux-2.6.31.6/arch/mn10300/kernel/setup.c 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/mn10300/kernel/setup.c 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/mn10300/kernel/setup.c 2009-11-12 17:18:17.000000000 -0500
@@ -285,7 +285,7 @@ static void c_stop(struct seq_file *m, v
{
}
@@ -1647,7 +1647,7 @@ diff -urNp linux-2.6.31.6/arch/mn10300/kernel/setup.c linux-2.6.31.6/arch/mn1030
.stop = c_stop,
diff -urNp linux-2.6.31.6/arch/parisc/include/asm/atomic.h linux-2.6.31.6/arch/parisc/include/asm/atomic.h
--- linux-2.6.31.6/arch/parisc/include/asm/atomic.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/parisc/include/asm/atomic.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/parisc/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -177,6 +177,18 @@ static __inline__ int __atomic_add_retur
return ret;
}
@@ -1708,7 +1708,7 @@ diff -urNp linux-2.6.31.6/arch/parisc/include/asm/atomic.h linux-2.6.31.6/arch/p
#define atomic_add_return(i,v) (__atomic_add_return( (i),(v)))
diff -urNp linux-2.6.31.6/arch/parisc/include/asm/elf.h linux-2.6.31.6/arch/parisc/include/asm/elf.h
--- linux-2.6.31.6/arch/parisc/include/asm/elf.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/parisc/include/asm/elf.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/parisc/include/asm/elf.h 2009-11-12 17:18:17.000000000 -0500
@@ -343,6 +343,13 @@ struct pt_regs; /* forward declaration..
#define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x01000000)
@@ -1725,7 +1725,7 @@ diff -urNp linux-2.6.31.6/arch/parisc/include/asm/elf.h linux-2.6.31.6/arch/pari
but it's not easy, and we've already done it here. */
diff -urNp linux-2.6.31.6/arch/parisc/include/asm/pgtable.h linux-2.6.31.6/arch/parisc/include/asm/pgtable.h
--- linux-2.6.31.6/arch/parisc/include/asm/pgtable.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/parisc/include/asm/pgtable.h 2009-11-10 18:40:39.000000000 -0500
++++ linux-2.6.31.6/arch/parisc/include/asm/pgtable.h 2009-11-12 17:18:17.000000000 -0500
@@ -207,6 +207,17 @@
#define PAGE_EXECREAD __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_READ | _PAGE_EXEC |_PAGE_ACCESSED)
#define PAGE_COPY PAGE_EXECREAD
@@ -1746,7 +1746,7 @@ diff -urNp linux-2.6.31.6/arch/parisc/include/asm/pgtable.h linux-2.6.31.6/arch/
#define PAGE_KERNEL_UNC __pgprot(_PAGE_KERNEL | _PAGE_NO_CACHE)
diff -urNp linux-2.6.31.6/arch/parisc/kernel/module.c linux-2.6.31.6/arch/parisc/kernel/module.c
--- linux-2.6.31.6/arch/parisc/kernel/module.c 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/parisc/kernel/module.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/parisc/kernel/module.c 2009-11-12 17:18:17.000000000 -0500
@@ -95,16 +95,38 @@
/* three functions to determine where in the module core
@@ -1849,7 +1849,7 @@ diff -urNp linux-2.6.31.6/arch/parisc/kernel/module.c linux-2.6.31.6/arch/parisc
me->arch.unwind_section, table, end, gp);
diff -urNp linux-2.6.31.6/arch/parisc/kernel/sys_parisc.c linux-2.6.31.6/arch/parisc/kernel/sys_parisc.c
--- linux-2.6.31.6/arch/parisc/kernel/sys_parisc.c 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/parisc/kernel/sys_parisc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/parisc/kernel/sys_parisc.c 2009-11-12 17:18:17.000000000 -0500
@@ -98,7 +98,7 @@ unsigned long arch_get_unmapped_area(str
if (flags & MAP_FIXED)
return addr;
@@ -1861,7 +1861,7 @@ diff -urNp linux-2.6.31.6/arch/parisc/kernel/sys_parisc.c linux-2.6.31.6/arch/pa
addr = get_shared_area(filp->f_mapping, addr, len, pgoff);
diff -urNp linux-2.6.31.6/arch/parisc/kernel/traps.c linux-2.6.31.6/arch/parisc/kernel/traps.c
--- linux-2.6.31.6/arch/parisc/kernel/traps.c 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/parisc/kernel/traps.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/parisc/kernel/traps.c 2009-11-12 17:18:17.000000000 -0500
@@ -733,9 +733,7 @@ void notrace handle_interruption(int cod
down_read(&current->mm->mmap_sem);
@@ -1875,7 +1875,7 @@ diff -urNp linux-2.6.31.6/arch/parisc/kernel/traps.c linux-2.6.31.6/arch/parisc/
diff -urNp linux-2.6.31.6/arch/parisc/mm/fault.c linux-2.6.31.6/arch/parisc/mm/fault.c
--- linux-2.6.31.6/arch/parisc/mm/fault.c 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/parisc/mm/fault.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/parisc/mm/fault.c 2009-11-12 17:18:17.000000000 -0500
@@ -15,6 +15,7 @@
#include <linux/sched.h>
#include <linux/interrupt.h>
@@ -2047,7 +2047,7 @@ diff -urNp linux-2.6.31.6/arch/parisc/mm/fault.c linux-2.6.31.6/arch/parisc/mm/f
* If for any reason at all we couldn't handle the fault, make
diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/atomic.h linux-2.6.31.6/arch/powerpc/include/asm/atomic.h
--- linux-2.6.31.6/arch/powerpc/include/asm/atomic.h 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/include/asm/atomic.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -24,11 +24,21 @@ static __inline__ int atomic_read(const
return t;
}
@@ -2108,7 +2108,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/atomic.h linux-2.6.31.6/arch/
int t;
diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/elf.h linux-2.6.31.6/arch/powerpc/include/asm/elf.h
--- linux-2.6.31.6/arch/powerpc/include/asm/elf.h 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/include/asm/elf.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/include/asm/elf.h 2009-11-12 17:18:17.000000000 -0500
@@ -179,8 +179,19 @@ typedef elf_fpreg_t elf_vsrreghalf_t32[E
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. */
@@ -2143,7 +2143,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/elf.h linux-2.6.31.6/arch/pow
/*
diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/kmap_types.h linux-2.6.31.6/arch/powerpc/include/asm/kmap_types.h
--- linux-2.6.31.6/arch/powerpc/include/asm/kmap_types.h 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/include/asm/kmap_types.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/include/asm/kmap_types.h 2009-11-12 17:18:17.000000000 -0500
@@ -26,6 +26,7 @@ enum km_type {
KM_SOFTIRQ1,
KM_PPC_SYNC_PAGE,
@@ -2154,7 +2154,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/kmap_types.h linux-2.6.31.6/a
diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/page_64.h linux-2.6.31.6/arch/powerpc/include/asm/page_64.h
--- linux-2.6.31.6/arch/powerpc/include/asm/page_64.h 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/include/asm/page_64.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/include/asm/page_64.h 2009-11-12 17:18:17.000000000 -0500
@@ -170,15 +170,18 @@ do { \
* stack by default, so in the absense of a PT_GNU_STACK program header
* we turn execute permission off.
@@ -2178,7 +2178,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/page_64.h linux-2.6.31.6/arch
diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/page.h linux-2.6.31.6/arch/powerpc/include/asm/page.h
--- linux-2.6.31.6/arch/powerpc/include/asm/page.h 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/include/asm/page.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/include/asm/page.h 2009-11-12 17:18:17.000000000 -0500
@@ -116,8 +116,9 @@ extern phys_addr_t kernstart_addr;
* and needs to be executable. This means the whole heap ends
* up being executable.
@@ -2193,7 +2193,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/page.h linux-2.6.31.6/arch/po
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/pte-common.h linux-2.6.31.6/arch/powerpc/include/asm/pte-common.h
--- linux-2.6.31.6/arch/powerpc/include/asm/pte-common.h 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/include/asm/pte-common.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/include/asm/pte-common.h 2009-11-12 17:18:17.000000000 -0500
@@ -121,11 +121,11 @@ extern unsigned long bad_call_to_PMD_PAG
*/
#define PAGE_NONE __pgprot(_PAGE_BASE)
@@ -2211,7 +2211,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/pte-common.h linux-2.6.31.6/a
#define __P001 PAGE_READONLY
diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/pte-hash32.h linux-2.6.31.6/arch/powerpc/include/asm/pte-hash32.h
--- linux-2.6.31.6/arch/powerpc/include/asm/pte-hash32.h 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/include/asm/pte-hash32.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/include/asm/pte-hash32.h 2009-11-12 17:18:17.000000000 -0500
@@ -21,6 +21,7 @@
#define _PAGE_FILE 0x004 /* when !present: nonlinear file mapping */
#define _PAGE_USER 0x004 /* usermode access allowed */
@@ -2222,7 +2222,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/pte-hash32.h linux-2.6.31.6/a
#define _PAGE_WRITETHRU 0x040 /* W: cache write-through */
diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/reg.h linux-2.6.31.6/arch/powerpc/include/asm/reg.h
--- linux-2.6.31.6/arch/powerpc/include/asm/reg.h 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/include/asm/reg.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/include/asm/reg.h 2009-11-12 17:18:17.000000000 -0500
@@ -195,6 +195,7 @@
#define SPRN_DBCR 0x136 /* e300 Data Breakpoint Control Reg */
#define SPRN_DSISR 0x012 /* Data Storage Interrupt Status Register */
@@ -2233,7 +2233,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/reg.h linux-2.6.31.6/arch/pow
#define DSISR_DABRMATCH 0x00400000 /* hit data breakpoint */
diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/uaccess.h linux-2.6.31.6/arch/powerpc/include/asm/uaccess.h
--- linux-2.6.31.6/arch/powerpc/include/asm/uaccess.h 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/include/asm/uaccess.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/include/asm/uaccess.h 2009-11-12 17:18:17.000000000 -0500
@@ -327,52 +327,6 @@ do { \
extern unsigned long __copy_tofrom_user(void __user *to,
const void __user *from, unsigned long size);
@@ -2407,7 +2407,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/include/asm/uaccess.h linux-2.6.31.6/arch
static inline unsigned long clear_user(void __user *addr, unsigned long size)
diff -urNp linux-2.6.31.6/arch/powerpc/kernel/cacheinfo.c linux-2.6.31.6/arch/powerpc/kernel/cacheinfo.c
--- linux-2.6.31.6/arch/powerpc/kernel/cacheinfo.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/kernel/cacheinfo.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/kernel/cacheinfo.c 2009-11-12 17:18:17.000000000 -0500
@@ -642,7 +642,7 @@ static struct kobj_attribute *cache_inde
&cache_assoc_attr,
};
@@ -2419,7 +2419,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/kernel/cacheinfo.c linux-2.6.31.6/arch/po
diff -urNp linux-2.6.31.6/arch/powerpc/kernel/module_32.c linux-2.6.31.6/arch/powerpc/kernel/module_32.c
--- linux-2.6.31.6/arch/powerpc/kernel/module_32.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/kernel/module_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/kernel/module_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -162,7 +162,7 @@ int module_frob_arch_sections(Elf32_Ehdr
me->arch.core_plt_section = i;
}
@@ -2451,7 +2451,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/kernel/module_32.c linux-2.6.31.6/arch/po
while (entry->jump[0]) {
diff -urNp linux-2.6.31.6/arch/powerpc/kernel/process.c linux-2.6.31.6/arch/powerpc/kernel/process.c
--- linux-2.6.31.6/arch/powerpc/kernel/process.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/kernel/process.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/kernel/process.c 2009-11-12 17:18:17.000000000 -0500
@@ -1147,36 +1147,3 @@ unsigned long arch_align_stack(unsigned
sp -= get_random_int() & ~PAGE_MASK;
return sp & ~0xf;
@@ -2491,7 +2491,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/kernel/process.c linux-2.6.31.6/arch/powe
-}
diff -urNp linux-2.6.31.6/arch/powerpc/kernel/setup-common.c linux-2.6.31.6/arch/powerpc/kernel/setup-common.c
--- linux-2.6.31.6/arch/powerpc/kernel/setup-common.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/kernel/setup-common.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/kernel/setup-common.c 2009-11-12 17:18:17.000000000 -0500
@@ -328,7 +328,7 @@ static void c_stop(struct seq_file *m, v
{
}
@@ -2503,7 +2503,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/kernel/setup-common.c linux-2.6.31.6/arch
.stop = c_stop,
diff -urNp linux-2.6.31.6/arch/powerpc/kernel/signal_32.c linux-2.6.31.6/arch/powerpc/kernel/signal_32.c
--- linux-2.6.31.6/arch/powerpc/kernel/signal_32.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/kernel/signal_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/kernel/signal_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -857,7 +857,7 @@ int handle_rt_signal32(unsigned long sig
/* Save user registers on the stack */
frame = &rt_sf->uc.uc_mcontext;
@@ -2515,7 +2515,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/kernel/signal_32.c linux-2.6.31.6/arch/po
regs->link = current->mm->context.vdso_base + vdso32_rt_sigtramp;
diff -urNp linux-2.6.31.6/arch/powerpc/kernel/signal_64.c linux-2.6.31.6/arch/powerpc/kernel/signal_64.c
--- linux-2.6.31.6/arch/powerpc/kernel/signal_64.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/kernel/signal_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/kernel/signal_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -429,7 +429,7 @@ int handle_rt_signal64(int signr, struct
current->thread.fpscr.val = 0;
@@ -2527,7 +2527,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/kernel/signal_64.c linux-2.6.31.6/arch/po
err |= setup_trampoline(__NR_rt_sigreturn, &frame->tramp[0]);
diff -urNp linux-2.6.31.6/arch/powerpc/kernel/sys_ppc32.c linux-2.6.31.6/arch/powerpc/kernel/sys_ppc32.c
--- linux-2.6.31.6/arch/powerpc/kernel/sys_ppc32.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/kernel/sys_ppc32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/kernel/sys_ppc32.c 2009-11-12 17:18:17.000000000 -0500
@@ -552,10 +552,10 @@ asmlinkage long compat_sys_sysctl(struct
if (oldlenp) {
if (!error) {
@@ -2543,7 +2543,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/kernel/sys_ppc32.c linux-2.6.31.6/arch/po
}
diff -urNp linux-2.6.31.6/arch/powerpc/kernel/vdso.c linux-2.6.31.6/arch/powerpc/kernel/vdso.c
--- linux-2.6.31.6/arch/powerpc/kernel/vdso.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/kernel/vdso.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/kernel/vdso.c 2009-11-12 17:18:17.000000000 -0500
@@ -35,6 +35,7 @@
#include <asm/firmware.h>
#include <asm/vdso.h>
@@ -2572,7 +2572,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/kernel/vdso.c linux-2.6.31.6/arch/powerpc
goto fail_mmapsem;
diff -urNp linux-2.6.31.6/arch/powerpc/kvm/timing.c linux-2.6.31.6/arch/powerpc/kvm/timing.c
--- linux-2.6.31.6/arch/powerpc/kvm/timing.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/kvm/timing.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/kvm/timing.c 2009-11-12 17:18:17.000000000 -0500
@@ -201,7 +201,7 @@ static int kvmppc_exit_timing_open(struc
return single_open(file, kvmppc_exit_timing_show, inode->i_private);
}
@@ -2584,7 +2584,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/kvm/timing.c linux-2.6.31.6/arch/powerpc/
.read = seq_read,
diff -urNp linux-2.6.31.6/arch/powerpc/lib/usercopy_64.c linux-2.6.31.6/arch/powerpc/lib/usercopy_64.c
--- linux-2.6.31.6/arch/powerpc/lib/usercopy_64.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/lib/usercopy_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/lib/usercopy_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -9,22 +9,6 @@
#include <linux/module.h>
#include <asm/uaccess.h>
@@ -2618,7 +2618,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/lib/usercopy_64.c linux-2.6.31.6/arch/pow
diff -urNp linux-2.6.31.6/arch/powerpc/mm/fault.c linux-2.6.31.6/arch/powerpc/mm/fault.c
--- linux-2.6.31.6/arch/powerpc/mm/fault.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/mm/fault.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/mm/fault.c 2009-11-12 17:18:17.000000000 -0500
@@ -30,6 +30,10 @@
#include <linux/kprobes.h>
#include <linux/kdebug.h>
@@ -2725,7 +2725,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/mm/fault.c linux-2.6.31.6/arch/powerpc/mm
}
diff -urNp linux-2.6.31.6/arch/powerpc/mm/mmap_64.c linux-2.6.31.6/arch/powerpc/mm/mmap_64.c
--- linux-2.6.31.6/arch/powerpc/mm/mmap_64.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/mm/mmap_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/mm/mmap_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -99,10 +99,22 @@ void arch_pick_mmap_layout(struct mm_str
*/
if (mmap_is_legacy()) {
@@ -2751,7 +2751,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/mm/mmap_64.c linux-2.6.31.6/arch/powerpc/
}
diff -urNp linux-2.6.31.6/arch/powerpc/mm/slice.c linux-2.6.31.6/arch/powerpc/mm/slice.c
--- linux-2.6.31.6/arch/powerpc/mm/slice.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/mm/slice.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/mm/slice.c 2009-11-12 17:18:17.000000000 -0500
@@ -426,6 +426,11 @@ unsigned long slice_get_unmapped_area(un
if (fixed && addr > (mm->task_size - len))
return -EINVAL;
@@ -2766,7 +2766,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/mm/slice.c linux-2.6.31.6/arch/powerpc/mm
addr = _ALIGN_UP(addr, 1ul << pshift);
diff -urNp linux-2.6.31.6/arch/powerpc/platforms/cell/spufs/file.c linux-2.6.31.6/arch/powerpc/platforms/cell/spufs/file.c
--- linux-2.6.31.6/arch/powerpc/platforms/cell/spufs/file.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/platforms/cell/spufs/file.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/platforms/cell/spufs/file.c 2009-11-12 17:18:17.000000000 -0500
@@ -147,7 +147,7 @@ static int __fops ## _open(struct inode
__simple_attr_check_format(__fmt, 0ull); \
return spufs_attr_open(inode, file, __get, __set, __fmt); \
@@ -2841,7 +2841,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/platforms/cell/spufs/file.c linux-2.6.31.
diff -urNp linux-2.6.31.6/arch/powerpc/platforms/pseries/dtl.c linux-2.6.31.6/arch/powerpc/platforms/pseries/dtl.c
--- linux-2.6.31.6/arch/powerpc/platforms/pseries/dtl.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/platforms/pseries/dtl.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/platforms/pseries/dtl.c 2009-11-12 17:18:17.000000000 -0500
@@ -209,7 +209,7 @@ static ssize_t dtl_file_read(struct file
return n_read * sizeof(struct dtl_entry);
}
@@ -2853,7 +2853,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/platforms/pseries/dtl.c linux-2.6.31.6/ar
.read = dtl_file_read,
diff -urNp linux-2.6.31.6/arch/powerpc/platforms/pseries/hvCall_inst.c linux-2.6.31.6/arch/powerpc/platforms/pseries/hvCall_inst.c
--- linux-2.6.31.6/arch/powerpc/platforms/pseries/hvCall_inst.c 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/powerpc/platforms/pseries/hvCall_inst.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/powerpc/platforms/pseries/hvCall_inst.c 2009-11-12 17:18:17.000000000 -0500
@@ -71,7 +71,7 @@ static int hc_show(struct seq_file *m, v
return 0;
}
@@ -2865,7 +2865,7 @@ diff -urNp linux-2.6.31.6/arch/powerpc/platforms/pseries/hvCall_inst.c linux-2.6
.stop = hc_stop,
diff -urNp linux-2.6.31.6/arch/s390/hypfs/inode.c linux-2.6.31.6/arch/s390/hypfs/inode.c
--- linux-2.6.31.6/arch/s390/hypfs/inode.c 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/arch/s390/hypfs/inode.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/s390/hypfs/inode.c 2009-11-12 17:18:17.000000000 -0500
@@ -41,7 +41,7 @@ struct hypfs_sb_info {
static const struct file_operations hypfs_file_ops;
@@ -2886,7 +2886,7 @@ diff -urNp linux-2.6.31.6/arch/s390/hypfs/inode.c linux-2.6.31.6/arch/s390/hypfs
.show_options = hypfs_show_options,
diff -urNp linux-2.6.31.6/arch/s390/include/asm/atomic.h linux-2.6.31.6/arch/s390/include/asm/atomic.h
--- linux-2.6.31.6/arch/s390/include/asm/atomic.h 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/arch/s390/include/asm/atomic.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/s390/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -71,19 +71,31 @@ static inline int atomic_read(const atom
return v->counter;
}
@@ -2929,7 +2929,7 @@ diff -urNp linux-2.6.31.6/arch/s390/include/asm/atomic.h linux-2.6.31.6/arch/s39
#define atomic_dec_return(_v) atomic_sub_return(1, _v)
diff -urNp linux-2.6.31.6/arch/s390/include/asm/uaccess.h linux-2.6.31.6/arch/s390/include/asm/uaccess.h
--- linux-2.6.31.6/arch/s390/include/asm/uaccess.h 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/arch/s390/include/asm/uaccess.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/s390/include/asm/uaccess.h 2009-11-12 17:18:17.000000000 -0500
@@ -232,6 +232,10 @@ static inline unsigned long __must_check
copy_to_user(void __user *to, const void *from, unsigned long n)
{
@@ -2964,7 +2964,7 @@ diff -urNp linux-2.6.31.6/arch/s390/include/asm/uaccess.h linux-2.6.31.6/arch/s3
else
diff -urNp linux-2.6.31.6/arch/s390/kernel/module.c linux-2.6.31.6/arch/s390/kernel/module.c
--- linux-2.6.31.6/arch/s390/kernel/module.c 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/arch/s390/kernel/module.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/s390/kernel/module.c 2009-11-12 17:18:17.000000000 -0500
@@ -164,11 +164,11 @@ module_frob_arch_sections(Elf_Ehdr *hdr,
/* Increase core size by size of got & plt and set start
@@ -3038,7 +3038,7 @@ diff -urNp linux-2.6.31.6/arch/s390/kernel/module.c linux-2.6.31.6/arch/s390/ker
*(unsigned int *) loc = val;
diff -urNp linux-2.6.31.6/arch/sh/include/asm/atomic.h linux-2.6.31.6/arch/sh/include/asm/atomic.h
--- linux-2.6.31.6/arch/sh/include/asm/atomic.h 2009-11-10 18:45:28.000000000 -0500
-+++ linux-2.6.31.6/arch/sh/include/asm/atomic.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sh/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -14,7 +14,9 @@
#define ATOMIC_INIT(i) ( (atomic_t) { (i) } )
@@ -3061,7 +3061,7 @@ diff -urNp linux-2.6.31.6/arch/sh/include/asm/atomic.h linux-2.6.31.6/arch/sh/in
#if !defined(CONFIG_GUSA_RB) && !defined(CONFIG_CPU_SH4A)
diff -urNp linux-2.6.31.6/arch/sh/kernel/cpu/sh4/sq.c linux-2.6.31.6/arch/sh/kernel/cpu/sh4/sq.c
--- linux-2.6.31.6/arch/sh/kernel/cpu/sh4/sq.c 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/arch/sh/kernel/cpu/sh4/sq.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sh/kernel/cpu/sh4/sq.c 2009-11-12 17:18:17.000000000 -0500
@@ -327,7 +327,7 @@ static struct attribute *sq_sysfs_attrs[
NULL,
};
@@ -3073,7 +3073,7 @@ diff -urNp linux-2.6.31.6/arch/sh/kernel/cpu/sh4/sq.c linux-2.6.31.6/arch/sh/ker
};
diff -urNp linux-2.6.31.6/arch/sparc/include/asm/atomic_32.h linux-2.6.31.6/arch/sparc/include/asm/atomic_32.h
--- linux-2.6.31.6/arch/sparc/include/asm/atomic_32.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/include/asm/atomic_32.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/include/asm/atomic_32.h 2009-11-12 17:18:17.000000000 -0500
@@ -24,12 +24,17 @@ extern int atomic_cmpxchg(atomic_t *, in
#define atomic_xchg(v, new) (xchg(&((v)->counter), new))
extern int atomic_add_unless(atomic_t *, int, int);
@@ -3094,7 +3094,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/include/asm/atomic_32.h linux-2.6.31.6/arch
#define atomic_add_return(i, v) (__atomic_add_return( (int)(i), (v)))
diff -urNp linux-2.6.31.6/arch/sparc/include/asm/atomic_64.h linux-2.6.31.6/arch/sparc/include/asm/atomic_64.h
--- linux-2.6.31.6/arch/sparc/include/asm/atomic_64.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/include/asm/atomic_64.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/include/asm/atomic_64.h 2009-11-12 17:18:17.000000000 -0500
@@ -14,14 +14,18 @@
#define ATOMIC64_INIT(i) { (i) }
@@ -3190,7 +3190,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/include/asm/atomic_64.h linux-2.6.31.6/arch
#define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
diff -urNp linux-2.6.31.6/arch/sparc/include/asm/elf_32.h linux-2.6.31.6/arch/sparc/include/asm/elf_32.h
--- linux-2.6.31.6/arch/sparc/include/asm/elf_32.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/include/asm/elf_32.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/include/asm/elf_32.h 2009-11-12 17:18:17.000000000 -0500
@@ -116,6 +116,13 @@ typedef struct {
#define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE)
@@ -3207,7 +3207,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/include/asm/elf_32.h linux-2.6.31.6/arch/sp
on Sparc. */
diff -urNp linux-2.6.31.6/arch/sparc/include/asm/elf_64.h linux-2.6.31.6/arch/sparc/include/asm/elf_64.h
--- linux-2.6.31.6/arch/sparc/include/asm/elf_64.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/include/asm/elf_64.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/include/asm/elf_64.h 2009-11-12 17:18:17.000000000 -0500
@@ -163,6 +163,12 @@ typedef struct {
#define ELF_ET_DYN_BASE 0x0000010000000000UL
#define COMPAT_ELF_ET_DYN_BASE 0x0000000070000000UL
@@ -3223,7 +3223,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/include/asm/elf_64.h linux-2.6.31.6/arch/sp
instruction set this cpu supports. */
diff -urNp linux-2.6.31.6/arch/sparc/include/asm/pgtable_32.h linux-2.6.31.6/arch/sparc/include/asm/pgtable_32.h
--- linux-2.6.31.6/arch/sparc/include/asm/pgtable_32.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/include/asm/pgtable_32.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/include/asm/pgtable_32.h 2009-11-12 17:18:17.000000000 -0500
@@ -43,6 +43,13 @@ BTFIXUPDEF_SIMM13(user_ptrs_per_pgd)
BTFIXUPDEF_INT(page_none)
BTFIXUPDEF_INT(page_copy)
@@ -3257,7 +3257,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/include/asm/pgtable_32.h linux-2.6.31.6/arc
#ifdef MODULE
diff -urNp linux-2.6.31.6/arch/sparc/include/asm/pgtsrmmu.h linux-2.6.31.6/arch/sparc/include/asm/pgtsrmmu.h
--- linux-2.6.31.6/arch/sparc/include/asm/pgtsrmmu.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/include/asm/pgtsrmmu.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/include/asm/pgtsrmmu.h 2009-11-12 17:18:17.000000000 -0500
@@ -115,6 +115,13 @@
SRMMU_EXEC | SRMMU_REF)
#define SRMMU_PAGE_RDONLY __pgprot(SRMMU_VALID | SRMMU_CACHE | \
@@ -3274,7 +3274,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/include/asm/pgtsrmmu.h linux-2.6.31.6/arch/
diff -urNp linux-2.6.31.6/arch/sparc/include/asm/spinlock_64.h linux-2.6.31.6/arch/sparc/include/asm/spinlock_64.h
--- linux-2.6.31.6/arch/sparc/include/asm/spinlock_64.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/include/asm/spinlock_64.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/include/asm/spinlock_64.h 2009-11-12 17:18:17.000000000 -0500
@@ -99,7 +99,12 @@ static void inline __read_lock(raw_rwloc
__asm__ __volatile__ (
"1: ldsw [%2], %0\n"
@@ -3328,7 +3328,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/include/asm/spinlock_64.h linux-2.6.31.6/ar
" bne,pn %%xcc, 1b\n"
diff -urNp linux-2.6.31.6/arch/sparc/include/asm/uaccess_32.h linux-2.6.31.6/arch/sparc/include/asm/uaccess_32.h
--- linux-2.6.31.6/arch/sparc/include/asm/uaccess_32.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/include/asm/uaccess_32.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/include/asm/uaccess_32.h 2009-11-12 17:18:17.000000000 -0500
@@ -249,27 +249,49 @@ extern unsigned long __copy_user(void __
static inline unsigned long copy_to_user(void __user *to, const void *from, unsigned long n)
@@ -3385,7 +3385,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/include/asm/uaccess_32.h linux-2.6.31.6/arc
diff -urNp linux-2.6.31.6/arch/sparc/include/asm/uaccess_64.h linux-2.6.31.6/arch/sparc/include/asm/uaccess_64.h
--- linux-2.6.31.6/arch/sparc/include/asm/uaccess_64.h 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/include/asm/uaccess_64.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/include/asm/uaccess_64.h 2009-11-12 17:18:17.000000000 -0500
@@ -212,7 +212,15 @@ extern unsigned long copy_from_user_fixu
static inline unsigned long __must_check
copy_from_user(void *to, const void __user *from, unsigned long size)
@@ -3422,7 +3422,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/include/asm/uaccess_64.h linux-2.6.31.6/arc
ret = copy_to_user_fixup(to, from, size);
diff -urNp linux-2.6.31.6/arch/sparc/kernel/Makefile linux-2.6.31.6/arch/sparc/kernel/Makefile
--- linux-2.6.31.6/arch/sparc/kernel/Makefile 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/kernel/Makefile 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/kernel/Makefile 2009-11-12 17:18:17.000000000 -0500
@@ -3,7 +3,7 @@
#
@@ -3434,7 +3434,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/kernel/Makefile linux-2.6.31.6/arch/sparc/k
extra-y += init_task.o
diff -urNp linux-2.6.31.6/arch/sparc/kernel/sys_sparc_32.c linux-2.6.31.6/arch/sparc/kernel/sys_sparc_32.c
--- linux-2.6.31.6/arch/sparc/kernel/sys_sparc_32.c 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/kernel/sys_sparc_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/kernel/sys_sparc_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -56,7 +56,7 @@ unsigned long arch_get_unmapped_area(str
if (ARCH_SUN4C && len > 0x20000000)
return -ENOMEM;
@@ -3446,7 +3446,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/kernel/sys_sparc_32.c linux-2.6.31.6/arch/s
addr = COLOUR_ALIGN(addr);
diff -urNp linux-2.6.31.6/arch/sparc/kernel/sys_sparc_64.c linux-2.6.31.6/arch/sparc/kernel/sys_sparc_64.c
--- linux-2.6.31.6/arch/sparc/kernel/sys_sparc_64.c 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/kernel/sys_sparc_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/kernel/sys_sparc_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -125,7 +125,7 @@ unsigned long arch_get_unmapped_area(str
/* We do not accept a shared mapping if it would violate
* cache aliasing constraints.
@@ -3527,7 +3527,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/kernel/sys_sparc_64.c linux-2.6.31.6/arch/s
}
diff -urNp linux-2.6.31.6/arch/sparc/kernel/traps_64.c linux-2.6.31.6/arch/sparc/kernel/traps_64.c
--- linux-2.6.31.6/arch/sparc/kernel/traps_64.c 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/kernel/traps_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/kernel/traps_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -93,6 +93,12 @@ void bad_trap(struct pt_regs *regs, long
lvl -= 0x100;
@@ -3561,7 +3561,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/kernel/traps_64.c linux-2.6.31.6/arch/sparc
sprintf (buffer, "Bad trap %lx at tl>0", lvl);
diff -urNp linux-2.6.31.6/arch/sparc/lib/atomic32.c linux-2.6.31.6/arch/sparc/lib/atomic32.c
--- linux-2.6.31.6/arch/sparc/lib/atomic32.c 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/lib/atomic32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/lib/atomic32.c 2009-11-12 17:18:17.000000000 -0500
@@ -80,6 +80,12 @@ void atomic_set(atomic_t *v, int i)
}
EXPORT_SYMBOL(atomic_set);
@@ -3577,7 +3577,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/lib/atomic32.c linux-2.6.31.6/arch/sparc/li
unsigned long old, flags;
diff -urNp linux-2.6.31.6/arch/sparc/lib/atomic_64.S linux-2.6.31.6/arch/sparc/lib/atomic_64.S
--- linux-2.6.31.6/arch/sparc/lib/atomic_64.S 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/lib/atomic_64.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/lib/atomic_64.S 2009-11-12 17:18:17.000000000 -0500
@@ -18,7 +18,12 @@
atomic_add: /* %o0 = increment, %o1 = atomic_ptr */
BACKOFF_SETUP(%o2)
@@ -3732,7 +3732,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/lib/atomic_64.S linux-2.6.31.6/arch/sparc/l
bne,pn %xcc, 2f
diff -urNp linux-2.6.31.6/arch/sparc/lib/ksyms.c linux-2.6.31.6/arch/sparc/lib/ksyms.c
--- linux-2.6.31.6/arch/sparc/lib/ksyms.c 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/lib/ksyms.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/lib/ksyms.c 2009-11-12 17:18:17.000000000 -0500
@@ -144,8 +144,10 @@ EXPORT_SYMBOL(__downgrade_write);
/* Atomic counter implementation. */
@@ -3746,7 +3746,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/lib/ksyms.c linux-2.6.31.6/arch/sparc/lib/k
EXPORT_SYMBOL(atomic64_add_ret);
diff -urNp linux-2.6.31.6/arch/sparc/lib/rwsem_64.S linux-2.6.31.6/arch/sparc/lib/rwsem_64.S
--- linux-2.6.31.6/arch/sparc/lib/rwsem_64.S 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/lib/rwsem_64.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/lib/rwsem_64.S 2009-11-12 17:18:17.000000000 -0500
@@ -11,7 +11,12 @@
.globl __down_read
__down_read:
@@ -3847,7 +3847,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/lib/rwsem_64.S linux-2.6.31.6/arch/sparc/li
bne,pn %icc, 1b
diff -urNp linux-2.6.31.6/arch/sparc/Makefile linux-2.6.31.6/arch/sparc/Makefile
--- linux-2.6.31.6/arch/sparc/Makefile 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/Makefile 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/Makefile 2009-11-12 17:18:17.000000000 -0500
@@ -77,7 +77,7 @@ drivers-$(CONFIG_OPROFILE) += arch/sparc
# Export what is needed by arch/sparc/boot/Makefile
export VMLINUX_INIT VMLINUX_MAIN
@@ -3859,7 +3859,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/Makefile linux-2.6.31.6/arch/sparc/Makefile
diff -urNp linux-2.6.31.6/arch/sparc/mm/fault_32.c linux-2.6.31.6/arch/sparc/mm/fault_32.c
--- linux-2.6.31.6/arch/sparc/mm/fault_32.c 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/mm/fault_32.c 2009-11-10 19:08:13.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/mm/fault_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -21,6 +21,9 @@
#include <linux/interrupt.h>
#include <linux/module.h>
@@ -4165,7 +4165,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/mm/fault_32.c linux-2.6.31.6/arch/sparc/mm/
goto bad_area;
diff -urNp linux-2.6.31.6/arch/sparc/mm/fault_64.c linux-2.6.31.6/arch/sparc/mm/fault_64.c
--- linux-2.6.31.6/arch/sparc/mm/fault_64.c 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/mm/fault_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/mm/fault_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -20,6 +20,9 @@
#include <linux/kprobes.h>
#include <linux/kdebug.h>
@@ -4625,7 +4625,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/mm/fault_64.c linux-2.6.31.6/arch/sparc/mm/
* was no match. So in such a case we (carefully) read the
diff -urNp linux-2.6.31.6/arch/sparc/mm/init_32.c linux-2.6.31.6/arch/sparc/mm/init_32.c
--- linux-2.6.31.6/arch/sparc/mm/init_32.c 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/mm/init_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/mm/init_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -316,6 +316,9 @@ extern void device_scan(void);
pgprot_t PAGE_SHARED __read_mostly;
EXPORT_SYMBOL(PAGE_SHARED);
@@ -4662,7 +4662,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/mm/init_32.c linux-2.6.31.6/arch/sparc/mm/i
protection_map[14] = PAGE_SHARED;
diff -urNp linux-2.6.31.6/arch/sparc/mm/Makefile linux-2.6.31.6/arch/sparc/mm/Makefile
--- linux-2.6.31.6/arch/sparc/mm/Makefile 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/mm/Makefile 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/mm/Makefile 2009-11-12 17:18:17.000000000 -0500
@@ -2,7 +2,7 @@
#
@@ -4674,7 +4674,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/mm/Makefile linux-2.6.31.6/arch/sparc/mm/Ma
obj-y += fault_$(BITS).o
diff -urNp linux-2.6.31.6/arch/sparc/mm/srmmu.c linux-2.6.31.6/arch/sparc/mm/srmmu.c
--- linux-2.6.31.6/arch/sparc/mm/srmmu.c 2009-11-10 18:45:32.000000000 -0500
-+++ linux-2.6.31.6/arch/sparc/mm/srmmu.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/sparc/mm/srmmu.c 2009-11-12 17:18:17.000000000 -0500
@@ -2149,6 +2149,13 @@ void __init ld_mmu_srmmu(void)
PAGE_SHARED = pgprot_val(SRMMU_PAGE_SHARED);
BTFIXUPSET_INT(page_copy, pgprot_val(SRMMU_PAGE_COPY));
@@ -4691,7 +4691,7 @@ diff -urNp linux-2.6.31.6/arch/sparc/mm/srmmu.c linux-2.6.31.6/arch/sparc/mm/srm
diff -urNp linux-2.6.31.6/arch/um/include/asm/kmap_types.h linux-2.6.31.6/arch/um/include/asm/kmap_types.h
--- linux-2.6.31.6/arch/um/include/asm/kmap_types.h 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/arch/um/include/asm/kmap_types.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/um/include/asm/kmap_types.h 2009-11-12 17:18:17.000000000 -0500
@@ -23,6 +23,7 @@ enum km_type {
KM_IRQ1,
KM_SOFTIRQ0,
@@ -4702,7 +4702,7 @@ diff -urNp linux-2.6.31.6/arch/um/include/asm/kmap_types.h linux-2.6.31.6/arch/u
diff -urNp linux-2.6.31.6/arch/um/include/asm/page.h linux-2.6.31.6/arch/um/include/asm/page.h
--- linux-2.6.31.6/arch/um/include/asm/page.h 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/arch/um/include/asm/page.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/um/include/asm/page.h 2009-11-12 17:18:17.000000000 -0500
@@ -14,6 +14,9 @@
#define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))
@@ -4715,7 +4715,7 @@ diff -urNp linux-2.6.31.6/arch/um/include/asm/page.h linux-2.6.31.6/arch/um/incl
struct page;
diff -urNp linux-2.6.31.6/arch/um/sys-i386/syscalls.c linux-2.6.31.6/arch/um/sys-i386/syscalls.c
--- linux-2.6.31.6/arch/um/sys-i386/syscalls.c 2009-11-10 18:45:35.000000000 -0500
-+++ linux-2.6.31.6/arch/um/sys-i386/syscalls.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/um/sys-i386/syscalls.c 2009-11-12 17:18:17.000000000 -0500
@@ -11,6 +11,21 @@
#include "asm/uaccess.h"
#include "asm/unistd.h"
@@ -4740,7 +4740,7 @@ diff -urNp linux-2.6.31.6/arch/um/sys-i386/syscalls.c linux-2.6.31.6/arch/um/sys
* calls. Linux/i386 didn't use to be able to handle more than
diff -urNp linux-2.6.31.6/arch/x86/boot/bitops.h linux-2.6.31.6/arch/x86/boot/bitops.h
--- linux-2.6.31.6/arch/x86/boot/bitops.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/boot/bitops.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/boot/bitops.h 2009-11-12 17:18:17.000000000 -0500
@@ -26,7 +26,7 @@ static inline int variable_test_bit(int
u8 v;
const u32 *p = (const u32 *)addr;
@@ -4761,7 +4761,7 @@ diff -urNp linux-2.6.31.6/arch/x86/boot/bitops.h linux-2.6.31.6/arch/x86/boot/bi
#endif /* BOOT_BITOPS_H */
diff -urNp linux-2.6.31.6/arch/x86/boot/boot.h linux-2.6.31.6/arch/x86/boot/boot.h
--- linux-2.6.31.6/arch/x86/boot/boot.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/boot/boot.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/boot/boot.h 2009-11-12 17:18:17.000000000 -0500
@@ -82,7 +82,7 @@ static inline void io_delay(void)
static inline u16 ds(void)
{
@@ -4782,7 +4782,7 @@ diff -urNp linux-2.6.31.6/arch/x86/boot/boot.h linux-2.6.31.6/arch/x86/boot/boot
}
diff -urNp linux-2.6.31.6/arch/x86/boot/compressed/head_32.S linux-2.6.31.6/arch/x86/boot/compressed/head_32.S
--- linux-2.6.31.6/arch/x86/boot/compressed/head_32.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/boot/compressed/head_32.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/boot/compressed/head_32.S 2009-11-12 17:18:17.000000000 -0500
@@ -75,7 +75,7 @@ ENTRY(startup_32)
notl %eax
andl %eax, %ebx
@@ -4813,7 +4813,7 @@ diff -urNp linux-2.6.31.6/arch/x86/boot/compressed/head_32.S linux-2.6.31.6/arch
2:
diff -urNp linux-2.6.31.6/arch/x86/boot/compressed/head_64.S linux-2.6.31.6/arch/x86/boot/compressed/head_64.S
--- linux-2.6.31.6/arch/x86/boot/compressed/head_64.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/boot/compressed/head_64.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/boot/compressed/head_64.S 2009-11-12 17:18:17.000000000 -0500
@@ -90,7 +90,7 @@ ENTRY(startup_32)
notl %eax
andl %eax, %ebx
@@ -4834,7 +4834,7 @@ diff -urNp linux-2.6.31.6/arch/x86/boot/compressed/head_64.S linux-2.6.31.6/arch
/* Target address to relocate to for decompression */
diff -urNp linux-2.6.31.6/arch/x86/boot/compressed/misc.c linux-2.6.31.6/arch/x86/boot/compressed/misc.c
--- linux-2.6.31.6/arch/x86/boot/compressed/misc.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/boot/compressed/misc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/boot/compressed/misc.c 2009-11-12 17:18:17.000000000 -0500
@@ -288,7 +288,7 @@ static void parse_elf(void *output)
case PT_LOAD:
#ifdef CONFIG_RELOCATABLE
@@ -4855,7 +4855,7 @@ diff -urNp linux-2.6.31.6/arch/x86/boot/compressed/misc.c linux-2.6.31.6/arch/x8
diff -urNp linux-2.6.31.6/arch/x86/boot/compressed/mkpiggy.c linux-2.6.31.6/arch/x86/boot/compressed/mkpiggy.c
--- linux-2.6.31.6/arch/x86/boot/compressed/mkpiggy.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/boot/compressed/mkpiggy.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/boot/compressed/mkpiggy.c 2009-11-12 17:18:17.000000000 -0500
@@ -74,7 +74,7 @@ int main(int argc, char *argv[])
offs = (olen > ilen) ? olen - ilen : 0;
@@ -4867,7 +4867,7 @@ diff -urNp linux-2.6.31.6/arch/x86/boot/compressed/mkpiggy.c linux-2.6.31.6/arch
printf(".section \".rodata.compressed\",\"a\",@progbits\n");
diff -urNp linux-2.6.31.6/arch/x86/boot/compressed/relocs.c linux-2.6.31.6/arch/x86/boot/compressed/relocs.c
--- linux-2.6.31.6/arch/x86/boot/compressed/relocs.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/boot/compressed/relocs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/boot/compressed/relocs.c 2009-11-12 17:18:17.000000000 -0500
@@ -10,8 +10,11 @@
#define USE_BSD
#include <endian.h>
@@ -5070,7 +5070,7 @@ diff -urNp linux-2.6.31.6/arch/x86/boot/compressed/relocs.c linux-2.6.31.6/arch/
read_symtabs(fp);
diff -urNp linux-2.6.31.6/arch/x86/boot/cpucheck.c linux-2.6.31.6/arch/x86/boot/cpucheck.c
--- linux-2.6.31.6/arch/x86/boot/cpucheck.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/boot/cpucheck.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/boot/cpucheck.c 2009-11-12 17:18:17.000000000 -0500
@@ -74,7 +74,7 @@ static int has_fpu(void)
u16 fcw = -1, fsw = -1;
u32 cr0;
@@ -5168,7 +5168,7 @@ diff -urNp linux-2.6.31.6/arch/x86/boot/cpucheck.c linux-2.6.31.6/arch/x86/boot/
}
diff -urNp linux-2.6.31.6/arch/x86/boot/header.S linux-2.6.31.6/arch/x86/boot/header.S
--- linux-2.6.31.6/arch/x86/boot/header.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/boot/header.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/boot/header.S 2009-11-12 17:18:17.000000000 -0500
@@ -224,7 +224,7 @@ setup_data: .quad 0 # 64-bit physical
# single linked list of
# struct setup_data
@@ -5180,7 +5180,7 @@ diff -urNp linux-2.6.31.6/arch/x86/boot/header.S linux-2.6.31.6/arch/x86/boot/he
#define VO_INIT_SIZE (VO__end - VO__text)
diff -urNp linux-2.6.31.6/arch/x86/boot/video-vesa.c linux-2.6.31.6/arch/x86/boot/video-vesa.c
--- linux-2.6.31.6/arch/x86/boot/video-vesa.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/boot/video-vesa.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/boot/video-vesa.c 2009-11-12 17:18:17.000000000 -0500
@@ -205,6 +205,7 @@ static void vesa_store_pm_info(void)
boot_params.screen_info.vesapm_seg = oreg.es;
@@ -5191,7 +5191,7 @@ diff -urNp linux-2.6.31.6/arch/x86/boot/video-vesa.c linux-2.6.31.6/arch/x86/boo
/*
diff -urNp linux-2.6.31.6/arch/x86/ia32/ia32_signal.c linux-2.6.31.6/arch/x86/ia32/ia32_signal.c
--- linux-2.6.31.6/arch/x86/ia32/ia32_signal.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/ia32/ia32_signal.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/ia32/ia32_signal.c 2009-11-12 17:18:17.000000000 -0500
@@ -403,7 +403,7 @@ static void __user *get_sigframe(struct
sp -= frame_size;
/* Align the stack pointer according to the i386 ABI,
@@ -5212,7 +5212,7 @@ diff -urNp linux-2.6.31.6/arch/x86/ia32/ia32_signal.c linux-2.6.31.6/arch/x86/ia
frame = get_sigframe(ka, regs, sizeof(*frame), &fpstate);
diff -urNp linux-2.6.31.6/arch/x86/include/asm/alternative.h linux-2.6.31.6/arch/x86/include/asm/alternative.h
--- linux-2.6.31.6/arch/x86/include/asm/alternative.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/alternative.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/alternative.h 2009-11-12 17:18:17.000000000 -0500
@@ -87,7 +87,7 @@ const unsigned char *const *find_nop_tab
" .byte 662b-661b\n" /* sourcelen */ \
" .byte 664f-663f\n" /* replacementlen */ \
@@ -5224,7 +5224,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/alternative.h linux-2.6.31.6/arch
diff -urNp linux-2.6.31.6/arch/x86/include/asm/apm.h linux-2.6.31.6/arch/x86/include/asm/apm.h
--- linux-2.6.31.6/arch/x86/include/asm/apm.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/apm.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/apm.h 2009-11-12 17:18:17.000000000 -0500
@@ -34,7 +34,7 @@ static inline void apm_bios_call_asm(u32
__asm__ __volatile__(APM_DO_ZERO_SEGS
"pushl %%edi\n\t"
@@ -5245,7 +5245,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/apm.h linux-2.6.31.6/arch/x86/inc
"popl %%edi\n\t"
diff -urNp linux-2.6.31.6/arch/x86/include/asm/atomic_32.h linux-2.6.31.6/arch/x86/include/asm/atomic_32.h
--- linux-2.6.31.6/arch/x86/include/asm/atomic_32.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/atomic_32.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/atomic_32.h 2009-11-12 17:18:17.000000000 -0500
@@ -25,6 +25,17 @@ static inline int atomic_read(const atom
}
@@ -5527,7 +5527,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/atomic_32.h linux-2.6.31.6/arch/x
#define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0)
diff -urNp linux-2.6.31.6/arch/x86/include/asm/atomic_64.h linux-2.6.31.6/arch/x86/include/asm/atomic_64.h
--- linux-2.6.31.6/arch/x86/include/asm/atomic_64.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/atomic_64.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/atomic_64.h 2009-11-12 17:18:17.000000000 -0500
@@ -24,6 +24,17 @@ static inline int atomic_read(const atom
}
@@ -6022,7 +6022,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/atomic_64.h linux-2.6.31.6/arch/x
/**
diff -urNp linux-2.6.31.6/arch/x86/include/asm/boot.h linux-2.6.31.6/arch/x86/include/asm/boot.h
--- linux-2.6.31.6/arch/x86/include/asm/boot.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/boot.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/boot.h 2009-11-12 17:18:17.000000000 -0500
@@ -11,10 +11,15 @@
#include <asm/pgtable_types.h>
@@ -6042,7 +6042,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/boot.h linux-2.6.31.6/arch/x86/in
#define MIN_KERNEL_ALIGN_LG2 PMD_SHIFT
diff -urNp linux-2.6.31.6/arch/x86/include/asm/cache.h linux-2.6.31.6/arch/x86/include/asm/cache.h
--- linux-2.6.31.6/arch/x86/include/asm/cache.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/cache.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/cache.h 2009-11-12 17:18:17.000000000 -0500
@@ -6,6 +6,7 @@
#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
@@ -6053,7 +6053,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/cache.h linux-2.6.31.6/arch/x86/i
/* vSMP Internode cacheline shift */
diff -urNp linux-2.6.31.6/arch/x86/include/asm/checksum_32.h linux-2.6.31.6/arch/x86/include/asm/checksum_32.h
--- linux-2.6.31.6/arch/x86/include/asm/checksum_32.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/checksum_32.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/checksum_32.h 2009-11-12 17:18:17.000000000 -0500
@@ -31,6 +31,14 @@ asmlinkage __wsum csum_partial_copy_gene
int len, __wsum sum,
int *src_err_ptr, int *dst_err_ptr);
@@ -6089,7 +6089,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/checksum_32.h linux-2.6.31.6/arch
if (len)
diff -urNp linux-2.6.31.6/arch/x86/include/asm/desc.h linux-2.6.31.6/arch/x86/include/asm/desc.h
--- linux-2.6.31.6/arch/x86/include/asm/desc.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/desc.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/desc.h 2009-11-12 17:18:17.000000000 -0500
@@ -4,6 +4,7 @@
#include <asm/desc_defs.h>
#include <asm/ldt.h>
@@ -6202,7 +6202,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/desc.h linux-2.6.31.6/arch/x86/in
#endif /* _ASM_X86_DESC_H */
diff -urNp linux-2.6.31.6/arch/x86/include/asm/device.h linux-2.6.31.6/arch/x86/include/asm/device.h
--- linux-2.6.31.6/arch/x86/include/asm/device.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/device.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/device.h 2009-11-12 17:18:17.000000000 -0500
@@ -6,7 +6,7 @@ struct dev_archdata {
void *acpi_handle;
#endif
@@ -6214,7 +6214,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/device.h linux-2.6.31.6/arch/x86/
void *iommu; /* hook for IOMMU specific extension */
diff -urNp linux-2.6.31.6/arch/x86/include/asm/dma-mapping.h linux-2.6.31.6/arch/x86/include/asm/dma-mapping.h
--- linux-2.6.31.6/arch/x86/include/asm/dma-mapping.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/dma-mapping.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/dma-mapping.h 2009-11-12 17:18:17.000000000 -0500
@@ -19,9 +19,9 @@ extern int iommu_merge;
extern struct device x86_dma_fallback_dev;
extern int panic_on_overflow;
@@ -6256,7 +6256,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/dma-mapping.h linux-2.6.31.6/arch
diff -urNp linux-2.6.31.6/arch/x86/include/asm/e820.h linux-2.6.31.6/arch/x86/include/asm/e820.h
--- linux-2.6.31.6/arch/x86/include/asm/e820.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/e820.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/e820.h 2009-11-12 17:18:17.000000000 -0500
@@ -135,7 +135,7 @@ extern char *memory_setup(void);
#define ISA_END_ADDRESS 0x100000
#define is_ISA_range(s, e) ((s) >= ISA_START_ADDRESS && (e) < ISA_END_ADDRESS)
@@ -6268,7 +6268,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/e820.h linux-2.6.31.6/arch/x86/in
#ifdef __KERNEL__
diff -urNp linux-2.6.31.6/arch/x86/include/asm/elf.h linux-2.6.31.6/arch/x86/include/asm/elf.h
--- linux-2.6.31.6/arch/x86/include/asm/elf.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/elf.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/elf.h 2009-11-12 17:18:17.000000000 -0500
@@ -263,7 +263,25 @@ extern int force_personality32;
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. */
@@ -6324,7 +6324,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/elf.h linux-2.6.31.6/arch/x86/inc
#endif /* _ASM_X86_ELF_H */
diff -urNp linux-2.6.31.6/arch/x86/include/asm/futex.h linux-2.6.31.6/arch/x86/include/asm/futex.h
--- linux-2.6.31.6/arch/x86/include/asm/futex.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/futex.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/futex.h 2009-11-12 17:18:17.000000000 -0500
@@ -11,6 +11,40 @@
#include <asm/processor.h>
#include <asm/system.h>
@@ -6438,7 +6438,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/futex.h linux-2.6.31.6/arch/x86/i
diff -urNp linux-2.6.31.6/arch/x86/include/asm/i387.h linux-2.6.31.6/arch/x86/include/asm/i387.h
--- linux-2.6.31.6/arch/x86/include/asm/i387.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/i387.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/i387.h 2009-11-12 17:18:17.000000000 -0500
@@ -194,13 +194,8 @@ static inline int fxrstor_checking(struc
}
@@ -6457,7 +6457,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/i387.h linux-2.6.31.6/arch/x86/in
* These must be called with preempt disabled
diff -urNp linux-2.6.31.6/arch/x86/include/asm/io_64.h linux-2.6.31.6/arch/x86/include/asm/io_64.h
--- linux-2.6.31.6/arch/x86/include/asm/io_64.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/io_64.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/io_64.h 2009-11-12 17:18:17.000000000 -0500
@@ -140,6 +140,17 @@ __OUTS(l)
#include <linux/vmalloc.h>
@@ -6478,7 +6478,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/io_64.h linux-2.6.31.6/arch/x86/i
void __memcpy_fromio(void *, unsigned long, unsigned);
diff -urNp linux-2.6.31.6/arch/x86/include/asm/iommu.h linux-2.6.31.6/arch/x86/include/asm/iommu.h
--- linux-2.6.31.6/arch/x86/include/asm/iommu.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/iommu.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/iommu.h 2009-11-12 17:18:17.000000000 -0500
@@ -3,7 +3,7 @@
extern void pci_iommu_shutdown(void);
@@ -6490,7 +6490,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/iommu.h linux-2.6.31.6/arch/x86/i
extern int iommu_pass_through;
diff -urNp linux-2.6.31.6/arch/x86/include/asm/irqflags.h linux-2.6.31.6/arch/x86/include/asm/irqflags.h
--- linux-2.6.31.6/arch/x86/include/asm/irqflags.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/irqflags.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/irqflags.h 2009-11-12 17:18:35.000000000 -0500
@@ -147,6 +147,27 @@ static inline unsigned long __raw_local_
#define INTERRUPT_RETURN iret
#define ENABLE_INTERRUPTS_SYSEXIT sti; sysexit
@@ -6498,13 +6498,13 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/irqflags.h linux-2.6.31.6/arch/x8
+
+/* PaX: special register usage in entry_32.S, beware */
+#ifdef CONFIG_PAX_KERNEXEC
-+#define PAX_RESTORE_KERNEL \
++#define PAX_EXIT_KERNEL \
+ bt $16, %esi; \
+ jc 1f; \
+ movl %esi, %cr0; \
+1:
+
-+#define PAX_CLOSE_KERNEL \
++#define PAX_ENTER_KERNEL \
+ movl %cr0, %esi; \
+ movl %esi, %edx; \
+ bts $16, %edx; \
@@ -6512,8 +6512,8 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/irqflags.h linux-2.6.31.6/arch/x8
+ movl %edx, %cr0; \
+1:
+#else
-+#define PAX_RESTORE_KERNEL
-+#define PAX_CLOSE_KERNEL
++#define PAX_EXIT_KERNEL
++#define PAX_ENTER_KERNEL
+#endif
+
#endif
@@ -6521,7 +6521,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/irqflags.h linux-2.6.31.6/arch/x8
diff -urNp linux-2.6.31.6/arch/x86/include/asm/kvm_host.h linux-2.6.31.6/arch/x86/include/asm/kvm_host.h
--- linux-2.6.31.6/arch/x86/include/asm/kvm_host.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/kvm_host.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/kvm_host.h 2009-11-12 17:18:17.000000000 -0500
@@ -528,7 +528,7 @@ struct kvm_x86_ops {
u64 (*get_mt_mask)(struct kvm_vcpu *vcpu, gfn_t gfn, bool is_mmio);
};
@@ -6533,7 +6533,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/kvm_host.h linux-2.6.31.6/arch/x8
void kvm_mmu_module_exit(void);
diff -urNp linux-2.6.31.6/arch/x86/include/asm/local.h linux-2.6.31.6/arch/x86/include/asm/local.h
--- linux-2.6.31.6/arch/x86/include/asm/local.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/local.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/local.h 2009-11-12 17:18:17.000000000 -0500
@@ -18,26 +18,90 @@ typedef struct {
static inline void local_inc(local_t *l)
@@ -6760,7 +6760,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/local.h linux-2.6.31.6/arch/x86/i
return i + __i;
diff -urNp linux-2.6.31.6/arch/x86/include/asm/microcode.h linux-2.6.31.6/arch/x86/include/asm/microcode.h
--- linux-2.6.31.6/arch/x86/include/asm/microcode.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/microcode.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/microcode.h 2009-11-12 17:18:17.000000000 -0500
@@ -38,18 +38,18 @@ struct ucode_cpu_info {
extern struct ucode_cpu_info ucode_cpu_info[];
@@ -6786,7 +6786,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/microcode.h linux-2.6.31.6/arch/x
}
diff -urNp linux-2.6.31.6/arch/x86/include/asm/mman.h linux-2.6.31.6/arch/x86/include/asm/mman.h
--- linux-2.6.31.6/arch/x86/include/asm/mman.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/mman.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/mman.h 2009-11-12 17:18:17.000000000 -0500
@@ -17,4 +17,14 @@
#define MCL_CURRENT 1 /* lock all current mappings */
#define MCL_FUTURE 2 /* lock all future mappings */
@@ -6804,7 +6804,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/mman.h linux-2.6.31.6/arch/x86/in
#endif /* _ASM_X86_MMAN_H */
diff -urNp linux-2.6.31.6/arch/x86/include/asm/mmu_context.h linux-2.6.31.6/arch/x86/include/asm/mmu_context.h
--- linux-2.6.31.6/arch/x86/include/asm/mmu_context.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/mmu_context.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/mmu_context.h 2009-11-12 17:18:17.000000000 -0500
@@ -34,11 +34,17 @@ static inline void switch_mm(struct mm_s
struct task_struct *tsk)
{
@@ -6872,7 +6872,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/mmu_context.h linux-2.6.31.6/arch
#endif
diff -urNp linux-2.6.31.6/arch/x86/include/asm/mmu.h linux-2.6.31.6/arch/x86/include/asm/mmu.h
--- linux-2.6.31.6/arch/x86/include/asm/mmu.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/mmu.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/mmu.h 2009-11-12 17:18:17.000000000 -0500
@@ -9,10 +9,23 @@
* we put the segment information here.
*/
@@ -6901,7 +6901,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/mmu.h linux-2.6.31.6/arch/x86/inc
#ifdef CONFIG_SMP
diff -urNp linux-2.6.31.6/arch/x86/include/asm/module.h linux-2.6.31.6/arch/x86/include/asm/module.h
--- linux-2.6.31.6/arch/x86/include/asm/module.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/module.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/module.h 2009-11-12 17:18:17.000000000 -0500
@@ -74,7 +74,12 @@ struct mod_arch_specific {};
# else
# define MODULE_STACKSIZE ""
@@ -6918,7 +6918,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/module.h linux-2.6.31.6/arch/x86/
#endif /* _ASM_X86_MODULE_H */
diff -urNp linux-2.6.31.6/arch/x86/include/asm/page_32_types.h linux-2.6.31.6/arch/x86/include/asm/page_32_types.h
--- linux-2.6.31.6/arch/x86/include/asm/page_32_types.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/page_32_types.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/page_32_types.h 2009-11-12 17:18:17.000000000 -0500
@@ -15,6 +15,10 @@
*/
#define __PAGE_OFFSET _AC(CONFIG_PAGE_OFFSET, UL)
@@ -6932,7 +6932,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/page_32_types.h linux-2.6.31.6/ar
#else
diff -urNp linux-2.6.31.6/arch/x86/include/asm/page_64_types.h linux-2.6.31.6/arch/x86/include/asm/page_64_types.h
--- linux-2.6.31.6/arch/x86/include/asm/page_64_types.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/page_64_types.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/page_64_types.h 2009-11-12 17:18:17.000000000 -0500
@@ -39,6 +39,9 @@
#define __START_KERNEL (__START_KERNEL_map + __PHYSICAL_START)
#define __START_KERNEL_map _AC(0xffffffff80000000, UL)
@@ -6945,7 +6945,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/page_64_types.h linux-2.6.31.6/ar
#define __VIRTUAL_MASK_SHIFT 47
diff -urNp linux-2.6.31.6/arch/x86/include/asm/paravirt.h linux-2.6.31.6/arch/x86/include/asm/paravirt.h
--- linux-2.6.31.6/arch/x86/include/asm/paravirt.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/paravirt.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/paravirt.h 2009-11-12 17:18:35.000000000 -0500
@@ -350,6 +350,12 @@ struct pv_mmu_ops {
an mfn. We can tell which is which from the index. */
void (*set_fixmap)(unsigned /* enum fixed_addresses */ idx,
@@ -6999,29 +6999,33 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/paravirt.h linux-2.6.31.6/arch/x8
#endif
#define INTERRUPT_RETURN \
-@@ -1695,6 +1716,27 @@ static inline unsigned long __raw_local_
+@@ -1695,6 +1716,31 @@ static inline unsigned long __raw_local_
jmp PARA_INDIRECT(pv_cpu_ops+PV_CPU_usergs_sysret32))
#ifdef CONFIG_X86_32
+
+#ifdef CONFIG_PAX_KERNEXEC
-+#define PAX_RESTORE_KERNEL \
-+ bt $16, %esi; \
-+ jc 1f; \
-+ push %eax; push %ecx; \
-+ movl %esi, %eax; \
-+ call PARA_INDIRECT(pv_cpu_ops+PV_CPU_write_cr0); \
-+ pop %ecx; pop %eax; \
++#define PAX_EXIT_KERNEL \
++ bt $16, %esi; \
++ jc 1f; \
++ push %eax; push %ecx; \
++ movl %esi, %eax; \
++ call PARA_INDIRECT(pv_cpu_ops+PV_CPU_write_cr0);\
++ pop %ecx; pop %eax; \
+1:
+
-+#define PAX_CLOSE_KERNEL \
-+ push %eax; push %ecx; \
-+ call PARA_INDIRECT(pv_mmu_ops+PV_MMU_pax_close_kernel); \
-+ movl %eax, %esi; \
-+ pop %ecx; pop %eax
++#define PAX_ENTER_KERNEL \
++ push %eax; push %ecx; \
++ call PARA_INDIRECT(pv_cpu_ops+PV_CPU_read_cr0); \
++ movl %eax, %esi; \
++ bts $16, %eax; \
++ jc 1f; \
++ call PARA_INDIRECT(pv_cpu_ops+PV_CPU_write_cr0);\
++1: \
++ pop %ecx; pop %eax;
+#else
-+#define PAX_RESTORE_KERNEL
-+#define PAX_CLOSE_KERNEL
++#define PAX_EXIT_KERNEL
++#define PAX_ENTER_KERNEL
+#endif
+
#define GET_CR0_INTO_EAX \
@@ -7029,7 +7033,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/paravirt.h linux-2.6.31.6/arch/x8
call PARA_INDIRECT(pv_cpu_ops+PV_CPU_read_cr0); \
diff -urNp linux-2.6.31.6/arch/x86/include/asm/pci_x86.h linux-2.6.31.6/arch/x86/include/asm/pci_x86.h
--- linux-2.6.31.6/arch/x86/include/asm/pci_x86.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/pci_x86.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/pci_x86.h 2009-11-12 17:18:17.000000000 -0500
@@ -95,10 +95,10 @@ struct pci_raw_ops {
int reg, int len, u32 val);
};
@@ -7046,7 +7050,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/pci_x86.h linux-2.6.31.6/arch/x86
/* arch_initcall level */
diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgalloc.h linux-2.6.31.6/arch/x86/include/asm/pgalloc.h
--- linux-2.6.31.6/arch/x86/include/asm/pgalloc.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/pgalloc.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/pgalloc.h 2009-11-12 17:18:17.000000000 -0500
@@ -58,6 +58,13 @@ static inline void pmd_populate_kernel(s
pmd_t *pmd, pte_t *pte)
{
@@ -7063,7 +7067,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgalloc.h linux-2.6.31.6/arch/x86
diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable-2level.h linux-2.6.31.6/arch/x86/include/asm/pgtable-2level.h
--- linux-2.6.31.6/arch/x86/include/asm/pgtable-2level.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/pgtable-2level.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/pgtable-2level.h 2009-11-12 17:18:17.000000000 -0500
@@ -18,7 +18,9 @@ static inline void native_set_pte(pte_t
static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd)
@@ -7076,7 +7080,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable-2level.h linux-2.6.31.6/a
static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte)
diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable_32.h linux-2.6.31.6/arch/x86/include/asm/pgtable_32.h
--- linux-2.6.31.6/arch/x86/include/asm/pgtable_32.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/pgtable_32.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/pgtable_32.h 2009-11-12 17:18:35.000000000 -0500
@@ -26,8 +26,6 @@
struct mm_struct;
struct vm_area_struct;
@@ -7098,7 +7102,17 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable_32.h linux-2.6.31.6/arch/
#if defined(CONFIG_HIGHPTE)
#define __KM_PTE \
(in_nmi() ? KM_NMI_PTE : \
-@@ -84,6 +87,9 @@ do { \
+@@ -72,7 +75,9 @@ extern void set_pmd_pfn(unsigned long, u
+ /* Clear a kernel PTE and flush it from the TLB */
+ #define kpte_clear_flush(ptep, vaddr) \
+ do { \
++ pax_open_kernel(); \
+ pte_clear(&init_mm, (vaddr), (ptep)); \
++ pax_close_kernel(); \
+ __flush_tlb_one((vaddr)); \
+ } while (0)
+
+@@ -84,6 +89,9 @@ do { \
#endif /* !__ASSEMBLY__ */
@@ -7110,7 +7124,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable_32.h linux-2.6.31.6/arch/
* SPARSEMEM and DISCONTIGMEM
diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable_32_types.h linux-2.6.31.6/arch/x86/include/asm/pgtable_32_types.h
--- linux-2.6.31.6/arch/x86/include/asm/pgtable_32_types.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/pgtable_32_types.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/pgtable_32_types.h 2009-11-12 17:18:17.000000000 -0500
@@ -8,7 +8,7 @@
*/
#ifdef CONFIG_X86_PAE
@@ -7142,7 +7156,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable_32_types.h linux-2.6.31.6
#define MODULES_LEN (MODULES_VADDR - MODULES_END)
diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable-3level.h linux-2.6.31.6/arch/x86/include/asm/pgtable-3level.h
--- linux-2.6.31.6/arch/x86/include/asm/pgtable-3level.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/pgtable-3level.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/pgtable-3level.h 2009-11-12 17:18:17.000000000 -0500
@@ -38,12 +38,16 @@ static inline void native_set_pte_atomic
static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd)
@@ -7162,7 +7176,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable-3level.h linux-2.6.31.6/a
/*
diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable_64.h linux-2.6.31.6/arch/x86/include/asm/pgtable_64.h
--- linux-2.6.31.6/arch/x86/include/asm/pgtable_64.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/pgtable_64.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/pgtable_64.h 2009-11-12 17:18:17.000000000 -0500
@@ -16,9 +16,12 @@
extern pud_t level3_kernel_pgt[512];
@@ -7189,7 +7203,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable_64.h linux-2.6.31.6/arch/
static inline void native_pmd_clear(pmd_t *pmd)
diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable.h linux-2.6.31.6/arch/x86/include/asm/pgtable.h
--- linux-2.6.31.6/arch/x86/include/asm/pgtable.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/pgtable.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/pgtable.h 2009-11-12 17:18:17.000000000 -0500
@@ -84,12 +84,51 @@ static inline void __init paravirt_paget
#define arch_end_context_switch(prev) do {} while(0)
@@ -7295,7 +7309,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable.h linux-2.6.31.6/arch/x86
diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable_types.h linux-2.6.31.6/arch/x86/include/asm/pgtable_types.h
--- linux-2.6.31.6/arch/x86/include/asm/pgtable_types.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/pgtable_types.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/pgtable_types.h 2009-11-12 17:18:17.000000000 -0500
@@ -16,12 +16,11 @@
#define _PAGE_BIT_PSE 7 /* 4 MB (or 2MB) page */
#define _PAGE_BIT_PAT 7 /* on 4KB pages */
@@ -7381,7 +7395,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/pgtable_types.h linux-2.6.31.6/ar
extern pgprot_t pgprot_writecombine(pgprot_t prot);
diff -urNp linux-2.6.31.6/arch/x86/include/asm/processor.h linux-2.6.31.6/arch/x86/include/asm/processor.h
--- linux-2.6.31.6/arch/x86/include/asm/processor.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/processor.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/processor.h 2009-11-12 17:18:17.000000000 -0500
@@ -271,7 +271,7 @@ struct tss_struct {
} ____cacheline_aligned;
@@ -7463,7 +7477,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/processor.h linux-2.6.31.6/arch/x
/* Get/set a process' ability to use the timestamp counter instruction */
diff -urNp linux-2.6.31.6/arch/x86/include/asm/ptrace.h linux-2.6.31.6/arch/x86/include/asm/ptrace.h
--- linux-2.6.31.6/arch/x86/include/asm/ptrace.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/ptrace.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/ptrace.h 2009-11-12 17:18:17.000000000 -0500
@@ -151,28 +151,29 @@ static inline unsigned long regs_return_
}
@@ -7502,7 +7516,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/ptrace.h linux-2.6.31.6/arch/x86/
diff -urNp linux-2.6.31.6/arch/x86/include/asm/reboot.h linux-2.6.31.6/arch/x86/include/asm/reboot.h
--- linux-2.6.31.6/arch/x86/include/asm/reboot.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/reboot.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/reboot.h 2009-11-12 17:18:17.000000000 -0500
@@ -18,7 +18,7 @@ extern struct machine_ops machine_ops;
void native_machine_crash_shutdown(struct pt_regs *regs);
@@ -7514,7 +7528,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/reboot.h linux-2.6.31.6/arch/x86/
void nmi_shootdown_cpus(nmi_shootdown_cb callback);
diff -urNp linux-2.6.31.6/arch/x86/include/asm/rwsem.h linux-2.6.31.6/arch/x86/include/asm/rwsem.h
--- linux-2.6.31.6/arch/x86/include/asm/rwsem.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/rwsem.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/rwsem.h 2009-11-12 17:18:17.000000000 -0500
@@ -106,10 +106,26 @@ static inline void __down_read(struct rw
{
asm volatile("# beginning down_read\n\t"
@@ -7749,7 +7763,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/rwsem.h linux-2.6.31.6/arch/x86/i
diff -urNp linux-2.6.31.6/arch/x86/include/asm/segment.h linux-2.6.31.6/arch/x86/include/asm/segment.h
--- linux-2.6.31.6/arch/x86/include/asm/segment.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/segment.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/segment.h 2009-11-12 17:18:17.000000000 -0500
@@ -88,7 +88,7 @@
#define GDT_ENTRY_ESPFIX_SS (GDT_ENTRY_KERNEL_BASE + 14)
#define __ESPFIX_SS (GDT_ENTRY_ESPFIX_SS * 8)
@@ -7783,7 +7797,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/segment.h linux-2.6.31.6/arch/x86
#else
diff -urNp linux-2.6.31.6/arch/x86/include/asm/spinlock.h linux-2.6.31.6/arch/x86/include/asm/spinlock.h
--- linux-2.6.31.6/arch/x86/include/asm/spinlock.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/spinlock.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/spinlock.h 2009-11-12 17:18:17.000000000 -0500
@@ -249,18 +249,50 @@ static inline int __raw_write_can_lock(r
static inline void __raw_read_lock(raw_rwlock_t *rw)
{
@@ -7889,7 +7903,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/spinlock.h linux-2.6.31.6/arch/x8
diff -urNp linux-2.6.31.6/arch/x86/include/asm/system.h linux-2.6.31.6/arch/x86/include/asm/system.h
--- linux-2.6.31.6/arch/x86/include/asm/system.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/system.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/system.h 2009-11-12 17:18:17.000000000 -0500
@@ -227,7 +227,7 @@ static inline unsigned long get_limit(un
{
unsigned long __limit;
@@ -7910,7 +7924,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/system.h linux-2.6.31.6/arch/x86/
void default_idle(void);
diff -urNp linux-2.6.31.6/arch/x86/include/asm/uaccess_32.h linux-2.6.31.6/arch/x86/include/asm/uaccess_32.h
--- linux-2.6.31.6/arch/x86/include/asm/uaccess_32.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/uaccess_32.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/uaccess_32.h 2009-11-12 17:18:17.000000000 -0500
@@ -44,6 +44,9 @@ unsigned long __must_check __copy_from_u
static __always_inline unsigned long __must_check
__copy_to_user_inatomic(void __user *to, const void *from, unsigned long n)
@@ -8042,7 +8056,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/uaccess_32.h linux-2.6.31.6/arch/
long __must_check __strncpy_from_user(char *dst,
diff -urNp linux-2.6.31.6/arch/x86/include/asm/uaccess_64.h linux-2.6.31.6/arch/x86/include/asm/uaccess_64.h
--- linux-2.6.31.6/arch/x86/include/asm/uaccess_64.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/uaccess_64.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/uaccess_64.h 2009-11-12 17:18:17.000000000 -0500
@@ -10,6 +10,8 @@
#include <linux/lockdep.h>
#include <asm/page.h>
@@ -8195,7 +8209,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/uaccess_64.h linux-2.6.31.6/arch/
#endif /* _ASM_X86_UACCESS_64_H */
diff -urNp linux-2.6.31.6/arch/x86/include/asm/uaccess.h linux-2.6.31.6/arch/x86/include/asm/uaccess.h
--- linux-2.6.31.6/arch/x86/include/asm/uaccess.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/uaccess.h 2009-11-10 18:44:21.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/uaccess.h 2009-11-12 17:18:17.000000000 -0500
@@ -8,8 +8,11 @@
#include <linux/thread_info.h>
#include <linux/prefetch.h>
@@ -8396,7 +8410,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/uaccess.h linux-2.6.31.6/arch/x86
#else
diff -urNp linux-2.6.31.6/arch/x86/include/asm/vgtod.h linux-2.6.31.6/arch/x86/include/asm/vgtod.h
--- linux-2.6.31.6/arch/x86/include/asm/vgtod.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/vgtod.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/vgtod.h 2009-11-12 17:18:17.000000000 -0500
@@ -14,6 +14,7 @@ struct vsyscall_gtod_data {
int sysctl_enabled;
struct timezone sys_tz;
@@ -8407,7 +8421,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/vgtod.h linux-2.6.31.6/arch/x86/i
cycle_t mask;
diff -urNp linux-2.6.31.6/arch/x86/include/asm/vmi.h linux-2.6.31.6/arch/x86/include/asm/vmi.h
--- linux-2.6.31.6/arch/x86/include/asm/vmi.h 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/vmi.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/vmi.h 2009-11-12 17:18:17.000000000 -0500
@@ -191,6 +191,7 @@ struct vrom_header {
u8 reserved[96]; /* Reserved for headers */
char vmi_init[8]; /* VMI_Init jump point */
@@ -8418,7 +8432,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/vmi.h linux-2.6.31.6/arch/x86/inc
struct pnp_header {
diff -urNp linux-2.6.31.6/arch/x86/include/asm/vsyscall.h linux-2.6.31.6/arch/x86/include/asm/vsyscall.h
--- linux-2.6.31.6/arch/x86/include/asm/vsyscall.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/include/asm/vsyscall.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/include/asm/vsyscall.h 2009-11-12 17:18:17.000000000 -0500
@@ -15,9 +15,10 @@ enum vsyscall_num {
#ifdef __KERNEL__
@@ -8451,7 +8465,7 @@ diff -urNp linux-2.6.31.6/arch/x86/include/asm/vsyscall.h linux-2.6.31.6/arch/x8
#endif /* _ASM_X86_VSYSCALL_H */
diff -urNp linux-2.6.31.6/arch/x86/Kconfig linux-2.6.31.6/arch/x86/Kconfig
--- linux-2.6.31.6/arch/x86/Kconfig 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/Kconfig 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/Kconfig 2009-11-13 19:17:56.000000000 -0500
@@ -1098,7 +1098,7 @@ config PAGE_OFFSET
hex
default 0xB0000000 if VMSPLIT_3G_OPT
@@ -8470,7 +8484,23 @@ diff -urNp linux-2.6.31.6/arch/x86/Kconfig linux-2.6.31.6/arch/x86/Kconfig
---help---
This enables the kernel to use EFI runtime services that are
available (such as the EFI variable services).
-@@ -1602,9 +1602,10 @@ config HOTPLUG_CPU
+@@ -1507,6 +1507,7 @@ config KEXEC_JUMP
+ config PHYSICAL_START
+ hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
+ default "0x1000000"
++ range 0x400000 0x40000000
+ ---help---
+ This gives the physical address where the kernel is loaded.
+
+@@ -1571,6 +1572,7 @@ config PHYSICAL_ALIGN
+ hex
+ prompt "Alignment value to which kernel should be aligned" if X86_32
+ default "0x1000000"
++ range 0x400000 0x1000000 if PAX_KERNEXEC
+ range 0x2000 0x1000000
+ ---help---
+ This value puts the alignment restrictions on physical address
+@@ -1602,9 +1604,10 @@ config HOTPLUG_CPU
Say N if you want to disable CPU hotplug.
config COMPAT_VDSO
@@ -8484,7 +8514,7 @@ diff -urNp linux-2.6.31.6/arch/x86/Kconfig linux-2.6.31.6/arch/x86/Kconfig
---help---
diff -urNp linux-2.6.31.6/arch/x86/Kconfig.cpu linux-2.6.31.6/arch/x86/Kconfig.cpu
--- linux-2.6.31.6/arch/x86/Kconfig.cpu 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/Kconfig.cpu 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/Kconfig.cpu 2009-11-12 17:18:17.000000000 -0500
@@ -331,7 +331,7 @@ config X86_PPRO_FENCE
config X86_F00F_BUG
@@ -8514,7 +8544,7 @@ diff -urNp linux-2.6.31.6/arch/x86/Kconfig.cpu linux-2.6.31.6/arch/x86/Kconfig.c
int
diff -urNp linux-2.6.31.6/arch/x86/Kconfig.debug linux-2.6.31.6/arch/x86/Kconfig.debug
--- linux-2.6.31.6/arch/x86/Kconfig.debug 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/Kconfig.debug 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/Kconfig.debug 2009-11-12 17:18:17.000000000 -0500
@@ -99,7 +99,7 @@ config X86_PTDUMP
config DEBUG_RODATA
bool "Write protect kernel read-only data structures"
@@ -8526,7 +8556,7 @@ diff -urNp linux-2.6.31.6/arch/x86/Kconfig.debug linux-2.6.31.6/arch/x86/Kconfig
in order to catch accidental (and incorrect) writes to such const
diff -urNp linux-2.6.31.6/arch/x86/kernel/acpi/boot.c linux-2.6.31.6/arch/x86/kernel/acpi/boot.c
--- linux-2.6.31.6/arch/x86/kernel/acpi/boot.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/acpi/boot.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/acpi/boot.c 2009-11-12 17:18:17.000000000 -0500
@@ -1609,7 +1609,7 @@ static struct dmi_system_id __initdata a
DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq 6715b"),
},
@@ -8538,7 +8568,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/acpi/boot.c linux-2.6.31.6/arch/x86/ke
/*
diff -urNp linux-2.6.31.6/arch/x86/kernel/acpi/realmode/wakeup.S linux-2.6.31.6/arch/x86/kernel/acpi/realmode/wakeup.S
--- linux-2.6.31.6/arch/x86/kernel/acpi/realmode/wakeup.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/acpi/realmode/wakeup.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/acpi/realmode/wakeup.S 2009-11-12 17:18:17.000000000 -0500
@@ -104,7 +104,7 @@ _start:
movl %eax, %ecx
orl %edx, %ecx
@@ -8550,7 +8580,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/acpi/realmode/wakeup.S linux-2.6.31.6/
diff -urNp linux-2.6.31.6/arch/x86/kernel/acpi/sleep.c linux-2.6.31.6/arch/x86/kernel/acpi/sleep.c
--- linux-2.6.31.6/arch/x86/kernel/acpi/sleep.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/acpi/sleep.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/acpi/sleep.c 2009-11-12 17:18:17.000000000 -0500
@@ -11,11 +11,12 @@
#include <linux/cpumask.h>
#include <asm/segment.h>
@@ -8597,7 +8627,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/acpi/sleep.c linux-2.6.31.6/arch/x86/k
diff -urNp linux-2.6.31.6/arch/x86/kernel/acpi/wakeup_32.S linux-2.6.31.6/arch/x86/kernel/acpi/wakeup_32.S
--- linux-2.6.31.6/arch/x86/kernel/acpi/wakeup_32.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/acpi/wakeup_32.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/acpi/wakeup_32.S 2009-11-12 17:18:17.000000000 -0500
@@ -30,13 +30,11 @@ wakeup_pmode_return:
# and restore the stack ... but you need gdt for this to work
movl saved_context_esp, %esp
@@ -8616,7 +8646,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/acpi/wakeup_32.S linux-2.6.31.6/arch/x
jmp bogus_magic
diff -urNp linux-2.6.31.6/arch/x86/kernel/alternative.c linux-2.6.31.6/arch/x86/kernel/alternative.c
--- linux-2.6.31.6/arch/x86/kernel/alternative.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/alternative.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/alternative.c 2009-11-12 17:18:17.000000000 -0500
@@ -400,7 +400,7 @@ void apply_paravirt(struct paravirt_patc
BUG_ON(p->len > MAX_PATCH_LEN);
@@ -8691,7 +8721,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/alternative.c linux-2.6.31.6/arch/x86/
}
diff -urNp linux-2.6.31.6/arch/x86/kernel/apic/io_apic.c linux-2.6.31.6/arch/x86/kernel/apic/io_apic.c
--- linux-2.6.31.6/arch/x86/kernel/apic/io_apic.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/apic/io_apic.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/apic/io_apic.c 2009-11-12 17:18:17.000000000 -0500
@@ -719,7 +719,7 @@ struct IO_APIC_route_entry **alloc_ioapi
ioapic_entries = kzalloc(sizeof(*ioapic_entries) * nr_ioapics,
GFP_ATOMIC);
@@ -8730,7 +8760,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/apic/io_apic.c linux-2.6.31.6/arch/x86
}
diff -urNp linux-2.6.31.6/arch/x86/kernel/apm_32.c linux-2.6.31.6/arch/x86/kernel/apm_32.c
--- linux-2.6.31.6/arch/x86/kernel/apm_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/apm_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/apm_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -403,7 +403,7 @@ static DECLARE_WAIT_QUEUE_HEAD(apm_waitq
static DECLARE_WAIT_QUEUE_HEAD(apm_suspend_waitqueue);
static struct apm_user *user_list;
@@ -8846,15 +8876,14 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/apm_32.c linux-2.6.31.6/arch/x86/kerne
diff -urNp linux-2.6.31.6/arch/x86/kernel/asm-offsets_32.c linux-2.6.31.6/arch/x86/kernel/asm-offsets_32.c
--- linux-2.6.31.6/arch/x86/kernel/asm-offsets_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/asm-offsets_32.c 2009-11-10 18:40:40.000000000 -0500
-@@ -115,6 +115,12 @@ void foo(void)
++++ linux-2.6.31.6/arch/x86/kernel/asm-offsets_32.c 2009-11-12 17:18:35.000000000 -0500
+@@ -115,6 +115,11 @@ void foo(void)
OFFSET(PV_CPU_iret, pv_cpu_ops, iret);
OFFSET(PV_CPU_irq_enable_sysexit, pv_cpu_ops, irq_enable_sysexit);
OFFSET(PV_CPU_read_cr0, pv_cpu_ops, read_cr0);
+
+#ifdef CONFIG_PAX_KERNEXEC
+ OFFSET(PV_CPU_write_cr0, pv_cpu_ops, write_cr0);
-+ OFFSET(PV_MMU_pax_close_kernel, pv_mmu_ops, pax_close_kernel);
+#endif
+
#endif
@@ -8862,7 +8891,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/asm-offsets_32.c linux-2.6.31.6/arch/x
#ifdef CONFIG_XEN
diff -urNp linux-2.6.31.6/arch/x86/kernel/asm-offsets_64.c linux-2.6.31.6/arch/x86/kernel/asm-offsets_64.c
--- linux-2.6.31.6/arch/x86/kernel/asm-offsets_64.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/asm-offsets_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/asm-offsets_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -114,6 +114,7 @@ int main(void)
ENTRY(cr8);
BLANK();
@@ -8873,7 +8902,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/asm-offsets_64.c linux-2.6.31.6/arch/x
DEFINE(crypto_tfm_ctx_offset, offsetof(struct crypto_tfm, __crt_ctx));
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/common.c linux-2.6.31.6/arch/x86/kernel/cpu/common.c
--- linux-2.6.31.6/arch/x86/kernel/cpu/common.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/common.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/common.c 2009-11-12 17:18:17.000000000 -0500
@@ -84,60 +84,6 @@ static const struct cpu_dev __cpuinitcon
static const struct cpu_dev *this_cpu __cpuinitdata = &default_cpu;
@@ -8984,7 +9013,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/common.c linux-2.6.31.6/arch/x86/k
if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) {
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c linux-2.6.31.6/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
--- linux-2.6.31.6/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c 2009-11-12 17:18:17.000000000 -0500
@@ -586,7 +586,7 @@ static const struct dmi_system_id sw_any
DMI_MATCH(DMI_PRODUCT_NAME, "X6DLP"),
},
@@ -8996,7 +9025,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c linux-2.6.3
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c linux-2.6.31.6/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c
--- linux-2.6.31.6/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c 2009-11-12 17:18:17.000000000 -0500
@@ -225,7 +225,7 @@ static struct cpu_model models[] =
{ &cpu_ids[CPU_MP4HT_D0], NULL, 0, NULL },
{ &cpu_ids[CPU_MP4HT_E0], NULL, 0, NULL },
@@ -9008,7 +9037,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c linux
#undef BANIAS
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/intel.c linux-2.6.31.6/arch/x86/kernel/cpu/intel.c
--- linux-2.6.31.6/arch/x86/kernel/cpu/intel.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/intel.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/intel.c 2009-11-12 17:18:17.000000000 -0500
@@ -140,7 +140,7 @@ static void __cpuinit trap_init_f00f_bug
* Update the IDT descriptor and reload the IDT so that
* it uses the read-only mapped virtual address.
@@ -9020,7 +9049,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/intel.c linux-2.6.31.6/arch/x86/ke
#endif
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/intel_cacheinfo.c linux-2.6.31.6/arch/x86/kernel/cpu/intel_cacheinfo.c
--- linux-2.6.31.6/arch/x86/kernel/cpu/intel_cacheinfo.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/intel_cacheinfo.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/intel_cacheinfo.c 2009-11-12 17:18:17.000000000 -0500
@@ -842,7 +842,7 @@ static ssize_t store(struct kobject * ko
return ret;
}
@@ -9032,7 +9061,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/intel_cacheinfo.c linux-2.6.31.6/a
};
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/Makefile linux-2.6.31.6/arch/x86/kernel/cpu/Makefile
--- linux-2.6.31.6/arch/x86/kernel/cpu/Makefile 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/Makefile 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/Makefile 2009-11-12 17:18:17.000000000 -0500
@@ -7,10 +7,6 @@ ifdef CONFIG_FUNCTION_TRACER
CFLAGS_REMOVE_common.o = -pg
endif
@@ -9046,7 +9075,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/Makefile linux-2.6.31.6/arch/x86/k
obj-y += vmware.o hypervisor.o
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mcheck/mce_amd.c linux-2.6.31.6/arch/x86/kernel/cpu/mcheck/mce_amd.c
--- linux-2.6.31.6/arch/x86/kernel/cpu/mcheck/mce_amd.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/mcheck/mce_amd.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/mcheck/mce_amd.c 2009-11-12 17:18:17.000000000 -0500
@@ -388,7 +388,7 @@ static ssize_t store(struct kobject *kob
return ret;
}
@@ -9058,7 +9087,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mcheck/mce_amd.c linux-2.6.31.6/ar
};
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mcheck/mce.c linux-2.6.31.6/arch/x86/kernel/cpu/mcheck/mce.c
--- linux-2.6.31.6/arch/x86/kernel/cpu/mcheck/mce.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/mcheck/mce.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/mcheck/mce.c 2009-11-12 17:18:17.000000000 -0500
@@ -1370,14 +1370,14 @@ void __cpuinit mcheck_init(struct cpuinf
*/
@@ -9104,7 +9133,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mcheck/mce.c linux-2.6.31.6/arch/x
/*
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/amd.c linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/amd.c
--- linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/amd.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/amd.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/amd.c 2009-11-12 17:18:17.000000000 -0500
@@ -101,7 +101,7 @@ static int amd_validate_add_page(unsigne
return 0;
}
@@ -9116,7 +9145,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/amd.c linux-2.6.31.6/arch/x86
.get = amd_get_mtrr,
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/centaur.c linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/centaur.c
--- linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/centaur.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/centaur.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/centaur.c 2009-11-12 17:18:17.000000000 -0500
@@ -205,7 +205,7 @@ static int centaur_validate_add_page(uns
return 0;
}
@@ -9128,7 +9157,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/centaur.c linux-2.6.31.6/arch
.set = centaur_set_mcr,
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/cyrix.c linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/cyrix.c
--- linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/cyrix.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/cyrix.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/cyrix.c 2009-11-12 17:18:17.000000000 -0500
@@ -254,7 +254,7 @@ static void cyrix_set_all(void)
post_set();
}
@@ -9140,7 +9169,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/cyrix.c linux-2.6.31.6/arch/x
.set_all = cyrix_set_all,
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/generic.c linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/generic.c
--- linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/generic.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/generic.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/generic.c 2009-11-12 17:18:17.000000000 -0500
@@ -23,14 +23,14 @@ static struct fixed_range_block fixed_ra
{ MSR_MTRRfix64K_00000, 1 }, /* one 64k MTRR */
{ MSR_MTRRfix16K_80000, 2 }, /* two 16k MTRRs */
@@ -9169,7 +9198,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/generic.c linux-2.6.31.6/arch
.get = generic_get_mtrr,
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/main.c linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/main.c
--- linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/main.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/main.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/main.c 2009-11-12 17:18:17.000000000 -0500
@@ -54,14 +54,14 @@ static DEFINE_MUTEX(mtrr_mutex);
u64 size_or_mask, size_and_mask;
@@ -9190,7 +9219,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/main.c linux-2.6.31.6/arch/x8
mtrr_ops[ops->vendor] = ops;
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/mtrr.h linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/mtrr.h
--- linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/mtrr.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/mtrr.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/mtrr.h 2009-11-12 17:18:17.000000000 -0500
@@ -33,7 +33,7 @@ extern int generic_get_free_region(unsig
extern int generic_validate_add_page(unsigned long base, unsigned long size,
unsigned int type);
@@ -9215,7 +9244,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/mtrr/mtrr.h linux-2.6.31.6/arch/x8
#define use_intel() (mtrr_if && mtrr_if->use_intel_if == 1)
diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/perf_counter.c linux-2.6.31.6/arch/x86/kernel/cpu/perf_counter.c
--- linux-2.6.31.6/arch/x86/kernel/cpu/perf_counter.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/cpu/perf_counter.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/perf_counter.c 2009-11-12 17:18:17.000000000 -0500
@@ -1920,7 +1920,7 @@ perf_callchain_user(struct pt_regs *regs
break;
@@ -9225,9 +9254,29 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/perf_counter.c linux-2.6.31.6/arch
}
}
+diff -urNp linux-2.6.31.6/arch/x86/kernel/cpu/perfctr-watchdog.c linux-2.6.31.6/arch/x86/kernel/cpu/perfctr-watchdog.c
+--- linux-2.6.31.6/arch/x86/kernel/cpu/perfctr-watchdog.c 2009-11-10 18:45:29.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/cpu/perfctr-watchdog.c 2009-11-12 17:18:35.000000000 -0500
+@@ -30,11 +30,11 @@ struct nmi_watchdog_ctlblk {
+
+ /* Interface defining a CPU specific perfctr watchdog */
+ struct wd_ops {
+- int (*reserve)(void);
+- void (*unreserve)(void);
+- int (*setup)(unsigned nmi_hz);
+- void (*rearm)(struct nmi_watchdog_ctlblk *wd, unsigned nmi_hz);
+- void (*stop)(void);
++ int (* const reserve)(void);
++ void (* const unreserve)(void);
++ int (* const setup)(unsigned nmi_hz);
++ void (* const rearm)(struct nmi_watchdog_ctlblk *wd, unsigned nmi_hz);
++ void (* const stop)(void);
+ unsigned perfctr;
+ unsigned evntsel;
+ u64 checkbit;
diff -urNp linux-2.6.31.6/arch/x86/kernel/crash.c linux-2.6.31.6/arch/x86/kernel/crash.c
--- linux-2.6.31.6/arch/x86/kernel/crash.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/crash.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/crash.c 2009-11-12 17:18:17.000000000 -0500
@@ -42,7 +42,7 @@ static void kdump_nmi_callback(int cpu,
regs = args->regs;
@@ -9239,7 +9288,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/crash.c linux-2.6.31.6/arch/x86/kernel
}
diff -urNp linux-2.6.31.6/arch/x86/kernel/doublefault_32.c linux-2.6.31.6/arch/x86/kernel/doublefault_32.c
--- linux-2.6.31.6/arch/x86/kernel/doublefault_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/doublefault_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/doublefault_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -11,7 +11,7 @@
#define DOUBLEFAULT_STACKSIZE (1024)
@@ -9273,7 +9322,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/doublefault_32.c linux-2.6.31.6/arch/x
.__cr3 = __pa_nodebug(swapper_pg_dir),
diff -urNp linux-2.6.31.6/arch/x86/kernel/dumpstack_32.c linux-2.6.31.6/arch/x86/kernel/dumpstack_32.c
--- linux-2.6.31.6/arch/x86/kernel/dumpstack_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/dumpstack_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/dumpstack_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -113,11 +113,12 @@ void show_registers(struct pt_regs *regs
* When in-kernel, we also print out the stack and code at the
* time of the fault..
@@ -9320,7 +9369,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/dumpstack_32.c linux-2.6.31.6/arch/x86
if (probe_kernel_address((unsigned short *)ip, ud2))
diff -urNp linux-2.6.31.6/arch/x86/kernel/dumpstack.c linux-2.6.31.6/arch/x86/kernel/dumpstack.c
--- linux-2.6.31.6/arch/x86/kernel/dumpstack.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/dumpstack.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/dumpstack.c 2009-11-12 17:18:17.000000000 -0500
@@ -181,7 +181,7 @@ void dump_stack(void)
#endif
@@ -9350,7 +9399,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/dumpstack.c linux-2.6.31.6/arch/x86/ke
if (__die(str, regs, err))
diff -urNp linux-2.6.31.6/arch/x86/kernel/e820.c linux-2.6.31.6/arch/x86/kernel/e820.c
--- linux-2.6.31.6/arch/x86/kernel/e820.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/e820.c 2009-11-10 18:53:42.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/e820.c 2009-11-12 17:18:17.000000000 -0500
@@ -733,7 +733,10 @@ struct early_res {
};
static struct early_res early_res[MAX_EARLY_RES] __initdata = {
@@ -9365,7 +9414,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/e820.c linux-2.6.31.6/arch/x86/kernel/
static int __init find_overlapped_early(u64 start, u64 end)
diff -urNp linux-2.6.31.6/arch/x86/kernel/efi_32.c linux-2.6.31.6/arch/x86/kernel/efi_32.c
--- linux-2.6.31.6/arch/x86/kernel/efi_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/efi_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/efi_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -38,70 +38,38 @@
*/
@@ -9448,7 +9497,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/efi_32.c linux-2.6.31.6/arch/x86/kerne
* After the lock is released, the original page table is restored.
diff -urNp linux-2.6.31.6/arch/x86/kernel/efi_stub_32.S linux-2.6.31.6/arch/x86/kernel/efi_stub_32.S
--- linux-2.6.31.6/arch/x86/kernel/efi_stub_32.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/efi_stub_32.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/efi_stub_32.S 2009-11-12 17:18:17.000000000 -0500
@@ -6,6 +6,7 @@
*/
@@ -9549,7 +9598,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/efi_stub_32.S linux-2.6.31.6/arch/x86/
efi_rt_function_ptr:
diff -urNp linux-2.6.31.6/arch/x86/kernel/entry_32.S linux-2.6.31.6/arch/x86/kernel/entry_32.S
--- linux-2.6.31.6/arch/x86/kernel/entry_32.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/entry_32.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/entry_32.S 2009-11-12 17:18:35.000000000 -0500
@@ -191,7 +191,7 @@
#endif /* CONFIG_X86_32_LAZY_GS */
@@ -9575,7 +9624,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/entry_32.S linux-2.6.31.6/arch/x86/ker
+.macro SAVE_ALL
+#if defined(CONFIG_PAX_KERNEXEC) || defined(CONFIG_PAX_PAGEEXEC) || defined(CONFIG_PAX_SEGMEXEC) || defined(CONFIG_PAX_MEMORY_UDEREF)
+ __SAVE_ALL __KERNEL_DS
-+ PAX_CLOSE_KERNEL
++ PAX_ENTER_KERNEL
+#else
+ __SAVE_ALL __USER_DS
+#endif
@@ -9592,7 +9641,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/entry_32.S linux-2.6.31.6/arch/x86/ker
+#ifdef CONFIG_PAX_KERNEXEC
+ jae resume_userspace
+
-+ PAX_RESTORE_KERNEL
++ PAX_EXIT_KERNEL
+ jmp resume_kernel
+#else
jb resume_kernel # not returning to v8086 or userspace
@@ -9771,7 +9820,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/entry_32.S linux-2.6.31.6/arch/x86/ker
UNWIND_ESPFIX_STACK
GS_TO_REG %ecx
+
-+ PAX_CLOSE_KERNEL
++ PAX_ENTER_KERNEL
+
movl PT_GS(%esp), %edi # get the function address
movl PT_ORIG_EAX(%esp), %edx # get the error code
@@ -9788,7 +9837,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/entry_32.S linux-2.6.31.6/arch/x86/ker
movl %esp,%eax # pt_regs pointer
call do_nmi
+
-+ PAX_RESTORE_KERNEL
++ PAX_EXIT_KERNEL
+
jmp restore_all_notrace
CFI_ENDPROC
@@ -9798,14 +9847,14 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/entry_32.S linux-2.6.31.6/arch/x86/ker
xorl %edx,%edx # zero error code
call do_nmi
+
-+ PAX_RESTORE_KERNEL
++ PAX_EXIT_KERNEL
+
RESTORE_REGS
lss 12+4(%esp), %esp # back to espfix stack
CFI_ADJUST_CFA_OFFSET -24
diff -urNp linux-2.6.31.6/arch/x86/kernel/entry_64.S linux-2.6.31.6/arch/x86/kernel/entry_64.S
--- linux-2.6.31.6/arch/x86/kernel/entry_64.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/entry_64.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/entry_64.S 2009-11-12 17:18:17.000000000 -0500
@@ -1074,7 +1074,12 @@ ENTRY(\sym)
TRACE_IRQS_OFF
movq %rsp,%rdi /* pt_regs pointer */
@@ -9822,7 +9871,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/entry_64.S linux-2.6.31.6/arch/x86/ker
addq $EXCEPTION_STKSZ, TSS_ist + (\ist - 1) * 8(%rbp)
diff -urNp linux-2.6.31.6/arch/x86/kernel/ftrace.c linux-2.6.31.6/arch/x86/kernel/ftrace.c
--- linux-2.6.31.6/arch/x86/kernel/ftrace.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/ftrace.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/ftrace.c 2009-11-12 17:18:17.000000000 -0500
@@ -284,9 +284,9 @@ int ftrace_update_ftrace_func(ftrace_fun
unsigned char old[MCOUNT_INSN_SIZE], *new;
int ret;
@@ -9837,7 +9886,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/ftrace.c linux-2.6.31.6/arch/x86/kerne
}
diff -urNp linux-2.6.31.6/arch/x86/kernel/head32.c linux-2.6.31.6/arch/x86/kernel/head32.c
--- linux-2.6.31.6/arch/x86/kernel/head32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/head32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/head32.c 2009-11-12 17:18:17.000000000 -0500
@@ -13,12 +13,13 @@
#include <asm/e820.h>
#include <asm/bios_ebda.h>
@@ -9855,7 +9904,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/head32.c linux-2.6.31.6/arch/x86/kerne
/* Reserve INITRD */
diff -urNp linux-2.6.31.6/arch/x86/kernel/head_32.S linux-2.6.31.6/arch/x86/kernel/head_32.S
--- linux-2.6.31.6/arch/x86/kernel/head_32.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/head_32.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/head_32.S 2009-11-12 17:18:17.000000000 -0500
@@ -19,10 +19,17 @@
#include <asm/setup.h>
#include <asm/processor-flags.h>
@@ -10279,7 +10328,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/head_32.S linux-2.6.31.6/arch/x86/kern
+ .endr
diff -urNp linux-2.6.31.6/arch/x86/kernel/head_64.S linux-2.6.31.6/arch/x86/kernel/head_64.S
--- linux-2.6.31.6/arch/x86/kernel/head_64.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/head_64.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/head_64.S 2009-11-12 17:18:17.000000000 -0500
@@ -38,6 +38,10 @@ L4_PAGE_OFFSET = pgd_index(__PAGE_OFFSET
L3_PAGE_OFFSET = pud_index(__PAGE_OFFSET)
L4_START_KERNEL = pgd_index(__START_KERNEL_map)
@@ -10518,7 +10567,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/head_64.S linux-2.6.31.6/arch/x86/kern
.align PAGE_SIZE
diff -urNp linux-2.6.31.6/arch/x86/kernel/i386_ksyms_32.c linux-2.6.31.6/arch/x86/kernel/i386_ksyms_32.c
--- linux-2.6.31.6/arch/x86/kernel/i386_ksyms_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/i386_ksyms_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/i386_ksyms_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -10,8 +10,12 @@
EXPORT_SYMBOL(mcount);
#endif
@@ -10542,7 +10591,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/i386_ksyms_32.c linux-2.6.31.6/arch/x8
+#endif
diff -urNp linux-2.6.31.6/arch/x86/kernel/init_task.c linux-2.6.31.6/arch/x86/kernel/init_task.c
--- linux-2.6.31.6/arch/x86/kernel/init_task.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/init_task.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/init_task.c 2009-11-12 17:18:17.000000000 -0500
@@ -39,5 +39,5 @@ EXPORT_SYMBOL(init_task);
* section. Since TSS's are completely CPU-local, we want them
* on exact cacheline boundaries, to eliminate cacheline ping-pong.
@@ -10553,7 +10602,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/init_task.c linux-2.6.31.6/arch/x86/ke
+EXPORT_SYMBOL(init_tss);
diff -urNp linux-2.6.31.6/arch/x86/kernel/ioport.c linux-2.6.31.6/arch/x86/kernel/ioport.c
--- linux-2.6.31.6/arch/x86/kernel/ioport.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/ioport.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/ioport.c 2009-11-12 17:18:17.000000000 -0500
@@ -6,6 +6,7 @@
#include <linux/sched.h>
#include <linux/kernel.h>
@@ -10600,7 +10649,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/ioport.c linux-2.6.31.6/arch/x86/kerne
diff -urNp linux-2.6.31.6/arch/x86/kernel/irq_32.c linux-2.6.31.6/arch/x86/kernel/irq_32.c
--- linux-2.6.31.6/arch/x86/kernel/irq_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/irq_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/irq_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -94,7 +94,7 @@ execute_on_irq_stack(int overflow, struc
return 0;
@@ -10621,7 +10670,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/irq_32.c linux-2.6.31.6/arch/x86/kerne
/*
diff -urNp linux-2.6.31.6/arch/x86/kernel/kgdb.c linux-2.6.31.6/arch/x86/kernel/kgdb.c
--- linux-2.6.31.6/arch/x86/kernel/kgdb.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/kgdb.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/kgdb.c 2009-11-12 17:18:17.000000000 -0500
@@ -573,7 +573,7 @@ unsigned long kgdb_arch_pc(int exception
return instruction_pointer(regs);
}
@@ -10633,7 +10682,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/kgdb.c linux-2.6.31.6/arch/x86/kernel/
.flags = KGDB_HW_BREAKPOINT,
diff -urNp linux-2.6.31.6/arch/x86/kernel/kprobes.c linux-2.6.31.6/arch/x86/kernel/kprobes.c
--- linux-2.6.31.6/arch/x86/kernel/kprobes.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/kprobes.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/kprobes.c 2009-11-12 17:18:17.000000000 -0500
@@ -166,9 +166,13 @@ static void __kprobes set_jmp_op(void *f
char op;
s32 raddr;
@@ -10718,7 +10767,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/kprobes.c linux-2.6.31.6/arch/x86/kern
switch (val) {
diff -urNp linux-2.6.31.6/arch/x86/kernel/ldt.c linux-2.6.31.6/arch/x86/kernel/ldt.c
--- linux-2.6.31.6/arch/x86/kernel/ldt.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/ldt.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/ldt.c 2009-11-12 17:18:17.000000000 -0500
@@ -66,13 +66,13 @@ static int alloc_ldt(mm_context_t *pc, i
if (reload) {
#ifdef CONFIG_SMP
@@ -10785,7 +10834,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/ldt.c linux-2.6.31.6/arch/x86/kernel/l
ldt.avl = 0;
diff -urNp linux-2.6.31.6/arch/x86/kernel/machine_kexec_32.c linux-2.6.31.6/arch/x86/kernel/machine_kexec_32.c
--- linux-2.6.31.6/arch/x86/kernel/machine_kexec_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/machine_kexec_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/machine_kexec_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -26,7 +26,7 @@
#include <asm/system.h>
#include <asm/cacheflush.h>
@@ -10815,7 +10864,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/machine_kexec_32.c linux-2.6.31.6/arch
page_list[PA_CONTROL_PAGE] = __pa(control_page);
diff -urNp linux-2.6.31.6/arch/x86/kernel/microcode_amd.c linux-2.6.31.6/arch/x86/kernel/microcode_amd.c
--- linux-2.6.31.6/arch/x86/kernel/microcode_amd.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/microcode_amd.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/microcode_amd.c 2009-11-12 17:18:17.000000000 -0500
@@ -340,7 +340,7 @@ static void microcode_fini_cpu_amd(int c
uci->mc = NULL;
}
@@ -10836,7 +10885,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/microcode_amd.c linux-2.6.31.6/arch/x8
}
diff -urNp linux-2.6.31.6/arch/x86/kernel/microcode_core.c linux-2.6.31.6/arch/x86/kernel/microcode_core.c
--- linux-2.6.31.6/arch/x86/kernel/microcode_core.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/microcode_core.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/microcode_core.c 2009-11-12 17:18:17.000000000 -0500
@@ -90,7 +90,7 @@ MODULE_LICENSE("GPL");
#define MICROCODE_VERSION "2.00"
@@ -10848,7 +10897,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/microcode_core.c linux-2.6.31.6/arch/x
* Synchronization.
diff -urNp linux-2.6.31.6/arch/x86/kernel/microcode_intel.c linux-2.6.31.6/arch/x86/kernel/microcode_intel.c
--- linux-2.6.31.6/arch/x86/kernel/microcode_intel.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/microcode_intel.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/microcode_intel.c 2009-11-12 17:18:17.000000000 -0500
@@ -443,13 +443,13 @@ static enum ucode_state request_microcod
static int get_ucode_user(void *to, const void *from, size_t n)
@@ -10885,7 +10934,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/microcode_intel.c linux-2.6.31.6/arch/
}
diff -urNp linux-2.6.31.6/arch/x86/kernel/module.c linux-2.6.31.6/arch/x86/kernel/module.c
--- linux-2.6.31.6/arch/x86/kernel/module.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/module.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/module.c 2009-11-12 17:18:17.000000000 -0500
@@ -34,7 +34,7 @@
#define DEBUGP(fmt...)
#endif
@@ -11059,7 +11108,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/module.c linux-2.6.31.6/arch/x86/kerne
goto overflow;
diff -urNp linux-2.6.31.6/arch/x86/kernel/paravirt.c linux-2.6.31.6/arch/x86/kernel/paravirt.c
--- linux-2.6.31.6/arch/x86/kernel/paravirt.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/paravirt.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/paravirt.c 2009-11-12 17:18:17.000000000 -0500
@@ -54,7 +54,7 @@ u64 _paravirt_ident_64(u64 x)
return x;
}
@@ -11182,7 +11231,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/paravirt.c linux-2.6.31.6/arch/x86/ker
EXPORT_SYMBOL_GPL(pv_time_ops);
diff -urNp linux-2.6.31.6/arch/x86/kernel/paravirt-spinlocks.c linux-2.6.31.6/arch/x86/kernel/paravirt-spinlocks.c
--- linux-2.6.31.6/arch/x86/kernel/paravirt-spinlocks.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/paravirt-spinlocks.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/paravirt-spinlocks.c 2009-11-12 17:18:17.000000000 -0500
@@ -13,7 +13,7 @@ default_spin_lock_flags(raw_spinlock_t *
__raw_spin_lock(lock);
}
@@ -11194,7 +11243,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/paravirt-spinlocks.c linux-2.6.31.6/ar
.spin_is_contended = __ticket_spin_is_contended,
diff -urNp linux-2.6.31.6/arch/x86/kernel/pci-dma.c linux-2.6.31.6/arch/x86/kernel/pci-dma.c
--- linux-2.6.31.6/arch/x86/kernel/pci-dma.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/pci-dma.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/pci-dma.c 2009-11-12 17:18:17.000000000 -0500
@@ -13,7 +13,7 @@
static int forbid_dac __read_mostly;
@@ -11215,7 +11264,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/pci-dma.c linux-2.6.31.6/arch/x86/kern
if (mask > 0xffffffff && forbid_dac > 0) {
diff -urNp linux-2.6.31.6/arch/x86/kernel/pci-nommu.c linux-2.6.31.6/arch/x86/kernel/pci-nommu.c
--- linux-2.6.31.6/arch/x86/kernel/pci-nommu.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/pci-nommu.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/pci-nommu.c 2009-11-12 17:18:17.000000000 -0500
@@ -79,7 +79,7 @@ static void nommu_free_coherent(struct d
free_pages((unsigned long)vaddr, get_order(size));
}
@@ -11227,7 +11276,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/pci-nommu.c linux-2.6.31.6/arch/x86/ke
.map_sg = nommu_map_sg,
diff -urNp linux-2.6.31.6/arch/x86/kernel/process_32.c linux-2.6.31.6/arch/x86/kernel/process_32.c
--- linux-2.6.31.6/arch/x86/kernel/process_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/process_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/process_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -70,6 +70,7 @@ EXPORT_PER_CPU_SYMBOL(current_task);
unsigned long thread_saved_pc(struct task_struct *tsk)
{
@@ -11324,7 +11373,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/process_32.c linux-2.6.31.6/arch/x86/k
+#endif
diff -urNp linux-2.6.31.6/arch/x86/kernel/process_64.c linux-2.6.31.6/arch/x86/kernel/process_64.c
--- linux-2.6.31.6/arch/x86/kernel/process_64.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/process_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/process_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -94,7 +94,7 @@ static void __exit_idle(void)
void exit_idle(void)
{
@@ -11369,7 +11418,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/process_64.c linux-2.6.31.6/arch/x86/k
if (!in_sched_functions(ip))
diff -urNp linux-2.6.31.6/arch/x86/kernel/process.c linux-2.6.31.6/arch/x86/kernel/process.c
--- linux-2.6.31.6/arch/x86/kernel/process.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/process.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/process.c 2009-11-12 17:18:17.000000000 -0500
@@ -76,7 +76,7 @@ void exit_thread(void)
unsigned long *bp = t->io_bitmap_ptr;
@@ -11409,7 +11458,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/process.c linux-2.6.31.6/arch/x86/kern
-
diff -urNp linux-2.6.31.6/arch/x86/kernel/ptrace.c linux-2.6.31.6/arch/x86/kernel/ptrace.c
--- linux-2.6.31.6/arch/x86/kernel/ptrace.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/ptrace.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/ptrace.c 2009-11-12 17:18:17.000000000 -0500
@@ -934,7 +934,7 @@ static const struct user_regset_view use
long arch_ptrace(struct task_struct *child, long request, long addr, long data)
{
@@ -11480,7 +11529,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/ptrace.c linux-2.6.31.6/arch/x86/kerne
force_sig_info(SIGTRAP, &info, tsk);
diff -urNp linux-2.6.31.6/arch/x86/kernel/reboot.c linux-2.6.31.6/arch/x86/kernel/reboot.c
--- linux-2.6.31.6/arch/x86/kernel/reboot.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/reboot.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/reboot.c 2009-11-12 17:18:17.000000000 -0500
@@ -31,7 +31,7 @@ void (*pm_power_off)(void);
EXPORT_SYMBOL(pm_power_off);
@@ -11559,7 +11608,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/reboot.c linux-2.6.31.6/arch/x86/kerne
load_idt(&real_mode_idt);
diff -urNp linux-2.6.31.6/arch/x86/kernel/setup.c linux-2.6.31.6/arch/x86/kernel/setup.c
--- linux-2.6.31.6/arch/x86/kernel/setup.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/setup.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/setup.c 2009-11-12 17:18:17.000000000 -0500
@@ -768,14 +768,14 @@ void __init setup_arch(char **cmdline_p)
if (!boot_params.hdr.root_flags)
@@ -11582,7 +11631,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/setup.c linux-2.6.31.6/arch/x86/kernel
bss_resource.end = virt_to_phys(&__bss_stop)-1;
diff -urNp linux-2.6.31.6/arch/x86/kernel/setup_percpu.c linux-2.6.31.6/arch/x86/kernel/setup_percpu.c
--- linux-2.6.31.6/arch/x86/kernel/setup_percpu.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/setup_percpu.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/setup_percpu.c 2009-11-12 17:18:17.000000000 -0500
@@ -25,19 +25,17 @@
# define DBG(x...)
#endif
@@ -11656,7 +11705,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/setup_percpu.c linux-2.6.31.6/arch/x86
* area. Reload any changed state for the boot CPU.
diff -urNp linux-2.6.31.6/arch/x86/kernel/signal.c linux-2.6.31.6/arch/x86/kernel/signal.c
--- linux-2.6.31.6/arch/x86/kernel/signal.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/signal.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/signal.c 2009-11-12 17:18:17.000000000 -0500
@@ -197,7 +197,7 @@ static unsigned long align_sigframe(unsi
* Align the stack pointer according to the i386 ABI,
* i.e. so that on function entry ((sp + 4) & 15) == 0.
@@ -11730,7 +11779,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/signal.c linux-2.6.31.6/arch/x86/kerne
if (current_thread_info()->status & TS_RESTORE_SIGMASK)
diff -urNp linux-2.6.31.6/arch/x86/kernel/smpboot.c linux-2.6.31.6/arch/x86/kernel/smpboot.c
--- linux-2.6.31.6/arch/x86/kernel/smpboot.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/smpboot.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/smpboot.c 2009-11-12 17:18:17.000000000 -0500
@@ -727,7 +727,11 @@ do_rest:
(unsigned long)task_stack_page(c_idle.idle) -
KERNEL_STACK_OFFSET + THREAD_SIZE;
@@ -11745,7 +11794,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/smpboot.c linux-2.6.31.6/arch/x86/kern
diff -urNp linux-2.6.31.6/arch/x86/kernel/step.c linux-2.6.31.6/arch/x86/kernel/step.c
--- linux-2.6.31.6/arch/x86/kernel/step.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/step.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/step.c 2009-11-12 17:18:17.000000000 -0500
@@ -23,22 +23,20 @@ unsigned long convert_ip_to_linear(struc
* and APM bios ones we just ignore here.
*/
@@ -11797,7 +11846,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/step.c linux-2.6.31.6/arch/x86/kernel/
/* 64-bit mode: REX prefix */
diff -urNp linux-2.6.31.6/arch/x86/kernel/syscall_table_32.S linux-2.6.31.6/arch/x86/kernel/syscall_table_32.S
--- linux-2.6.31.6/arch/x86/kernel/syscall_table_32.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/syscall_table_32.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/syscall_table_32.S 2009-11-12 17:18:17.000000000 -0500
@@ -1,3 +1,4 @@
+.section .rodata,"a",@progbits
ENTRY(sys_call_table)
@@ -11805,7 +11854,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/syscall_table_32.S linux-2.6.31.6/arch
.long sys_exit
diff -urNp linux-2.6.31.6/arch/x86/kernel/sys_i386_32.c linux-2.6.31.6/arch/x86/kernel/sys_i386_32.c
--- linux-2.6.31.6/arch/x86/kernel/sys_i386_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/sys_i386_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/sys_i386_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -24,6 +24,21 @@
#include <asm/syscalls.h>
@@ -12054,7 +12103,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/sys_i386_32.c linux-2.6.31.6/arch/x86/
if (!segment_eq(get_fs(), get_ds()))
diff -urNp linux-2.6.31.6/arch/x86/kernel/sys_x86_64.c linux-2.6.31.6/arch/x86/kernel/sys_x86_64.c
--- linux-2.6.31.6/arch/x86/kernel/sys_x86_64.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/sys_x86_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/sys_x86_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -47,8 +47,8 @@ out:
return error;
}
@@ -12138,7 +12187,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/sys_x86_64.c linux-2.6.31.6/arch/x86/k
return addr;
diff -urNp linux-2.6.31.6/arch/x86/kernel/time_32.c linux-2.6.31.6/arch/x86/kernel/time_32.c
--- linux-2.6.31.6/arch/x86/kernel/time_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/time_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/time_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -47,22 +47,32 @@ unsigned long profile_pc(struct pt_regs
unsigned long pc = instruction_pointer(regs);
@@ -12176,7 +12225,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/time_32.c linux-2.6.31.6/arch/x86/kern
EXPORT_SYMBOL(profile_pc);
diff -urNp linux-2.6.31.6/arch/x86/kernel/time_64.c linux-2.6.31.6/arch/x86/kernel/time_64.c
--- linux-2.6.31.6/arch/x86/kernel/time_64.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/time_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/time_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -25,8 +25,6 @@
#include <asm/time.h>
#include <asm/timer.h>
@@ -12197,7 +12246,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/time_64.c linux-2.6.31.6/arch/x86/kern
#else
diff -urNp linux-2.6.31.6/arch/x86/kernel/tls.c linux-2.6.31.6/arch/x86/kernel/tls.c
--- linux-2.6.31.6/arch/x86/kernel/tls.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/tls.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/tls.c 2009-11-12 17:18:17.000000000 -0500
@@ -85,6 +85,11 @@ int do_set_thread_area(struct task_struc
if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX)
return -EINVAL;
@@ -12212,7 +12261,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/tls.c linux-2.6.31.6/arch/x86/kernel/t
return 0;
diff -urNp linux-2.6.31.6/arch/x86/kernel/trampoline_32.S linux-2.6.31.6/arch/x86/kernel/trampoline_32.S
--- linux-2.6.31.6/arch/x86/kernel/trampoline_32.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/trampoline_32.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/trampoline_32.S 2009-11-12 17:18:17.000000000 -0500
@@ -31,6 +31,12 @@
#include <asm/segment.h>
#include <asm/page_types.h>
@@ -12237,7 +12286,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/trampoline_32.S linux-2.6.31.6/arch/x8
# hence we don't use the boot_gdt_descr defined in head.S
diff -urNp linux-2.6.31.6/arch/x86/kernel/traps.c linux-2.6.31.6/arch/x86/kernel/traps.c
--- linux-2.6.31.6/arch/x86/kernel/traps.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/traps.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/traps.c 2009-11-12 17:18:17.000000000 -0500
@@ -70,14 +70,6 @@ asmlinkage int system_call(void);
/* Do we ignore FPU interrupts ? */
@@ -12401,7 +12450,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/traps.c linux-2.6.31.6/arch/x86/kernel
}
diff -urNp linux-2.6.31.6/arch/x86/kernel/tsc.c linux-2.6.31.6/arch/x86/kernel/tsc.c
--- linux-2.6.31.6/arch/x86/kernel/tsc.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/tsc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/tsc.c 2009-11-12 17:18:17.000000000 -0500
@@ -790,7 +790,7 @@ static struct dmi_system_id __initdata b
DMI_MATCH(DMI_BOARD_NAME, "2635FA0"),
},
@@ -12413,7 +12462,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/tsc.c linux-2.6.31.6/arch/x86/kernel/t
static void __init check_system_tsc_reliable(void)
diff -urNp linux-2.6.31.6/arch/x86/kernel/vm86_32.c linux-2.6.31.6/arch/x86/kernel/vm86_32.c
--- linux-2.6.31.6/arch/x86/kernel/vm86_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/vm86_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/vm86_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -41,6 +41,7 @@
#include <linux/ptrace.h>
#include <linux/audit.h>
@@ -12480,7 +12529,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/vm86_32.c linux-2.6.31.6/arch/x86/kern
if ((segoffs >> 16) == BIOSSEG)
diff -urNp linux-2.6.31.6/arch/x86/kernel/vmi_32.c linux-2.6.31.6/arch/x86/kernel/vmi_32.c
--- linux-2.6.31.6/arch/x86/kernel/vmi_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/vmi_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/vmi_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -44,12 +44,17 @@ typedef u32 __attribute__((regparm(1)))
typedef u64 __attribute__((regparm(2))) (VROMLONGFUNC)(int);
@@ -12642,7 +12691,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/vmi_32.c linux-2.6.31.6/arch/x86/kerne
local_irq_save(flags);
diff -urNp linux-2.6.31.6/arch/x86/kernel/vmlinux.lds.S linux-2.6.31.6/arch/x86/kernel/vmlinux.lds.S
--- linux-2.6.31.6/arch/x86/kernel/vmlinux.lds.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/vmlinux.lds.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/vmlinux.lds.S 2009-11-12 17:18:17.000000000 -0500
@@ -26,6 +26,22 @@
#include <asm/page_types.h>
#include <asm/cache.h>
@@ -12944,7 +12993,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/vmlinux.lds.S linux-2.6.31.6/arch/x86/
#ifdef CONFIG_SMP
diff -urNp linux-2.6.31.6/arch/x86/kernel/vsyscall_64.c linux-2.6.31.6/arch/x86/kernel/vsyscall_64.c
--- linux-2.6.31.6/arch/x86/kernel/vsyscall_64.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/vsyscall_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/vsyscall_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -79,6 +79,7 @@ void update_vsyscall(struct timespec *wa
write_seqlock_irqsave(&vsyscall_gtod_data.lock, flags);
@@ -12980,7 +13029,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/vsyscall_64.c linux-2.6.31.6/arch/x86/
diff -urNp linux-2.6.31.6/arch/x86/kernel/x8664_ksyms_64.c linux-2.6.31.6/arch/x86/kernel/x8664_ksyms_64.c
--- linux-2.6.31.6/arch/x86/kernel/x8664_ksyms_64.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/x8664_ksyms_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/x8664_ksyms_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -30,8 +30,6 @@ EXPORT_SYMBOL(__put_user_8);
EXPORT_SYMBOL(copy_user_generic);
@@ -12992,7 +13041,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/x8664_ksyms_64.c linux-2.6.31.6/arch/x
EXPORT_SYMBOL(copy_page);
diff -urNp linux-2.6.31.6/arch/x86/kernel/xsave.c linux-2.6.31.6/arch/x86/kernel/xsave.c
--- linux-2.6.31.6/arch/x86/kernel/xsave.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kernel/xsave.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kernel/xsave.c 2009-11-12 17:18:17.000000000 -0500
@@ -54,7 +54,7 @@ int check_for_xstate(struct i387_fxsave_
fx_sw_user->xstate_size > fx_sw_user->extended_size)
return -1;
@@ -13022,7 +13071,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kernel/xsave.c linux-2.6.31.6/arch/x86/kernel
/*
diff -urNp linux-2.6.31.6/arch/x86/kvm/svm.c linux-2.6.31.6/arch/x86/kvm/svm.c
--- linux-2.6.31.6/arch/x86/kvm/svm.c 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kvm/svm.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kvm/svm.c 2009-11-12 17:18:17.000000000 -0500
@@ -2300,9 +2300,12 @@ static int handle_exit(struct kvm_run *k
static void reload_tss(struct kvm_vcpu *vcpu)
{
@@ -13048,7 +13097,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kvm/svm.c linux-2.6.31.6/arch/x86/kvm/svm.c
.hardware_setup = svm_hardware_setup,
diff -urNp linux-2.6.31.6/arch/x86/kvm/vmx.c linux-2.6.31.6/arch/x86/kvm/vmx.c
--- linux-2.6.31.6/arch/x86/kvm/vmx.c 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kvm/vmx.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kvm/vmx.c 2009-11-12 17:18:17.000000000 -0500
@@ -521,7 +521,11 @@ static void reload_tss(void)
kvm_get_gdt(&gdt);
@@ -13129,7 +13178,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kvm/vmx.c linux-2.6.31.6/arch/x86/kvm/vmx.c
.hardware_setup = hardware_setup,
diff -urNp linux-2.6.31.6/arch/x86/kvm/x86.c linux-2.6.31.6/arch/x86/kvm/x86.c
--- linux-2.6.31.6/arch/x86/kvm/x86.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kvm/x86.c 2009-11-10 18:53:42.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kvm/x86.c 2009-11-12 17:18:17.000000000 -0500
@@ -73,42 +73,42 @@ static int kvm_dev_ioctl_get_supported_c
struct kvm_cpuid_entry2 *kvm_find_cpuid_entry(struct kvm_vcpu *vcpu,
u32 function, u32 index);
@@ -13230,7 +13279,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kvm/x86.c linux-2.6.31.6/arch/x86/kvm/x86.c
printk(KERN_ERR "kvm: already loaded the other module\n");
diff -urNp linux-2.6.31.6/arch/x86/kvm/x86_emulate.c linux-2.6.31.6/arch/x86/kvm/x86_emulate.c
--- linux-2.6.31.6/arch/x86/kvm/x86_emulate.c 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/kvm/x86_emulate.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/kvm/x86_emulate.c 2009-11-12 17:18:17.000000000 -0500
@@ -382,6 +382,7 @@ static u32 group2_table[] = {
#define ____emulate_2op(_op, _src, _dst, _eflags, _x, _y, _suffix) \
@@ -13258,7 +13307,7 @@ diff -urNp linux-2.6.31.6/arch/x86/kvm/x86_emulate.c linux-2.6.31.6/arch/x86/kvm
____emulate_2op(_op,_src,_dst,_eflags,_bx,_by,"b"); \
diff -urNp linux-2.6.31.6/arch/x86/lib/checksum_32.S linux-2.6.31.6/arch/x86/lib/checksum_32.S
--- linux-2.6.31.6/arch/x86/lib/checksum_32.S 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/lib/checksum_32.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/lib/checksum_32.S 2009-11-12 17:18:17.000000000 -0500
@@ -28,7 +28,8 @@
#include <linux/linkage.h>
#include <asm/dwarf2.h>
@@ -13506,7 +13555,7 @@ diff -urNp linux-2.6.31.6/arch/x86/lib/checksum_32.S linux-2.6.31.6/arch/x86/lib
#undef ROUND1
diff -urNp linux-2.6.31.6/arch/x86/lib/clear_page_64.S linux-2.6.31.6/arch/x86/lib/clear_page_64.S
--- linux-2.6.31.6/arch/x86/lib/clear_page_64.S 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/lib/clear_page_64.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/lib/clear_page_64.S 2009-11-12 17:18:17.000000000 -0500
@@ -43,7 +43,7 @@ ENDPROC(clear_page)
#include <asm/cpufeature.h>
@@ -13518,7 +13567,7 @@ diff -urNp linux-2.6.31.6/arch/x86/lib/clear_page_64.S linux-2.6.31.6/arch/x86/l
2:
diff -urNp linux-2.6.31.6/arch/x86/lib/copy_page_64.S linux-2.6.31.6/arch/x86/lib/copy_page_64.S
--- linux-2.6.31.6/arch/x86/lib/copy_page_64.S 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/lib/copy_page_64.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/lib/copy_page_64.S 2009-11-12 17:18:17.000000000 -0500
@@ -104,7 +104,7 @@ ENDPROC(copy_page)
#include <asm/cpufeature.h>
@@ -13530,7 +13579,7 @@ diff -urNp linux-2.6.31.6/arch/x86/lib/copy_page_64.S linux-2.6.31.6/arch/x86/li
2:
diff -urNp linux-2.6.31.6/arch/x86/lib/copy_user_64.S linux-2.6.31.6/arch/x86/lib/copy_user_64.S
--- linux-2.6.31.6/arch/x86/lib/copy_user_64.S 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/lib/copy_user_64.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/lib/copy_user_64.S 2009-11-12 17:18:17.000000000 -0500
@@ -21,7 +21,7 @@
.byte 0xe9 /* 32bit jump */
.long \orig-1f /* by default jump to orig */
@@ -13584,7 +13633,7 @@ diff -urNp linux-2.6.31.6/arch/x86/lib/copy_user_64.S linux-2.6.31.6/arch/x86/li
rep
diff -urNp linux-2.6.31.6/arch/x86/lib/getuser.S linux-2.6.31.6/arch/x86/lib/getuser.S
--- linux-2.6.31.6/arch/x86/lib/getuser.S 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/lib/getuser.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/lib/getuser.S 2009-11-12 17:18:17.000000000 -0500
@@ -33,6 +33,7 @@
#include <asm/asm-offsets.h>
#include <asm/thread_info.h>
@@ -13668,7 +13717,7 @@ diff -urNp linux-2.6.31.6/arch/x86/lib/getuser.S linux-2.6.31.6/arch/x86/lib/get
ret
diff -urNp linux-2.6.31.6/arch/x86/lib/memcpy_64.S linux-2.6.31.6/arch/x86/lib/memcpy_64.S
--- linux-2.6.31.6/arch/x86/lib/memcpy_64.S 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/lib/memcpy_64.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/lib/memcpy_64.S 2009-11-12 17:18:17.000000000 -0500
@@ -128,7 +128,7 @@ ENDPROC(__memcpy)
* It is also a lot simpler. Use this when possible:
*/
@@ -13680,7 +13729,7 @@ diff -urNp linux-2.6.31.6/arch/x86/lib/memcpy_64.S linux-2.6.31.6/arch/x86/lib/m
2:
diff -urNp linux-2.6.31.6/arch/x86/lib/memset_64.S linux-2.6.31.6/arch/x86/lib/memset_64.S
--- linux-2.6.31.6/arch/x86/lib/memset_64.S 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/lib/memset_64.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/lib/memset_64.S 2009-11-12 17:18:17.000000000 -0500
@@ -118,7 +118,7 @@ ENDPROC(__memset)
#include <asm/cpufeature.h>
@@ -13692,7 +13741,7 @@ diff -urNp linux-2.6.31.6/arch/x86/lib/memset_64.S linux-2.6.31.6/arch/x86/lib/m
2:
diff -urNp linux-2.6.31.6/arch/x86/lib/mmx_32.c linux-2.6.31.6/arch/x86/lib/mmx_32.c
--- linux-2.6.31.6/arch/x86/lib/mmx_32.c 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/lib/mmx_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/lib/mmx_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -29,6 +29,7 @@ void *_mmx_memcpy(void *to, const void *
{
void *p;
@@ -14010,7 +14059,7 @@ diff -urNp linux-2.6.31.6/arch/x86/lib/mmx_32.c linux-2.6.31.6/arch/x86/lib/mmx_
to += 64;
diff -urNp linux-2.6.31.6/arch/x86/lib/putuser.S linux-2.6.31.6/arch/x86/lib/putuser.S
--- linux-2.6.31.6/arch/x86/lib/putuser.S 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/lib/putuser.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/lib/putuser.S 2009-11-12 17:18:17.000000000 -0500
@@ -15,6 +15,7 @@
#include <asm/thread_info.h>
#include <asm/errno.h>
@@ -14116,7 +14165,7 @@ diff -urNp linux-2.6.31.6/arch/x86/lib/putuser.S linux-2.6.31.6/arch/x86/lib/put
END(bad_put_user)
diff -urNp linux-2.6.31.6/arch/x86/lib/usercopy_32.c linux-2.6.31.6/arch/x86/lib/usercopy_32.c
--- linux-2.6.31.6/arch/x86/lib/usercopy_32.c 2009-11-10 18:45:31.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/lib/usercopy_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/lib/usercopy_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -36,31 +36,38 @@ static inline int __movsl_is_ok(unsigned
* Copy a null terminated string from userspace.
*/
@@ -15087,7 +15136,7 @@ diff -urNp linux-2.6.31.6/arch/x86/lib/usercopy_32.c linux-2.6.31.6/arch/x86/lib
+EXPORT_SYMBOL(set_fs);
diff -urNp linux-2.6.31.6/arch/x86/Makefile linux-2.6.31.6/arch/x86/Makefile
--- linux-2.6.31.6/arch/x86/Makefile 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/Makefile 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/Makefile 2009-11-12 17:18:17.000000000 -0500
@@ -188,3 +188,12 @@ define archhelp
echo ' FDARGS="..." arguments for the booted kernel'
echo ' FDINITRD=file initrd for the booted kernel'
@@ -15103,7 +15152,7 @@ diff -urNp linux-2.6.31.6/arch/x86/Makefile linux-2.6.31.6/arch/x86/Makefile
+ $(if $(LDFLAGS_BUILD_ID),,$(error $(OLD_LD)))
diff -urNp linux-2.6.31.6/arch/x86/mm/extable.c linux-2.6.31.6/arch/x86/mm/extable.c
--- linux-2.6.31.6/arch/x86/mm/extable.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/extable.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/extable.c 2009-11-12 17:18:17.000000000 -0500
@@ -1,14 +1,71 @@
#include <linux/module.h>
#include <linux/spinlock.h>
@@ -15179,7 +15228,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/extable.c linux-2.6.31.6/arch/x86/mm/extab
pnp_bios_is_utter_crap = 1;
diff -urNp linux-2.6.31.6/arch/x86/mm/fault.c linux-2.6.31.6/arch/x86/mm/fault.c
--- linux-2.6.31.6/arch/x86/mm/fault.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/fault.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/fault.c 2009-11-12 17:18:17.000000000 -0500
@@ -11,10 +11,14 @@
#include <linux/kprobes.h> /* __kprobes, ... */
#include <linux/mmiotrace.h> /* kmmio_handler, ... */
@@ -15724,7 +15773,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/fault.c linux-2.6.31.6/arch/x86/mm/fault.c
+#endif
diff -urNp linux-2.6.31.6/arch/x86/mm/gup.c linux-2.6.31.6/arch/x86/mm/gup.c
--- linux-2.6.31.6/arch/x86/mm/gup.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/gup.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/gup.c 2009-11-12 17:18:17.000000000 -0500
@@ -237,7 +237,7 @@ int __get_user_pages_fast(unsigned long
addr = start;
len = (unsigned long) nr_pages << PAGE_SHIFT;
@@ -15736,7 +15785,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/gup.c linux-2.6.31.6/arch/x86/mm/gup.c
diff -urNp linux-2.6.31.6/arch/x86/mm/highmem_32.c linux-2.6.31.6/arch/x86/mm/highmem_32.c
--- linux-2.6.31.6/arch/x86/mm/highmem_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/highmem_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/highmem_32.c 2009-11-12 17:18:35.000000000 -0500
@@ -43,7 +43,10 @@ void *kmap_atomic_prot(struct page *page
idx = type + KM_TYPE_NR*smp_processor_id();
vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
@@ -15748,23 +15797,9 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/highmem_32.c linux-2.6.31.6/arch/x86/mm/hi
return (void *)vaddr;
}
-@@ -64,9 +67,11 @@ void kunmap_atomic(void *kvaddr, enum km
- * also, in case the page changes cacheability attributes or becomes
- * a protected page in a hypervisor.
- */
-- if (vaddr == __fix_to_virt(FIX_KMAP_BEGIN+idx))
-+ if (vaddr == __fix_to_virt(FIX_KMAP_BEGIN+idx)) {
-+ pax_open_kernel();
- kpte_clear_flush(kmap_pte-idx, vaddr);
-- else {
-+ pax_close_kernel();
-+ } else {
- #ifdef CONFIG_DEBUG_HIGHMEM
- BUG_ON(vaddr < PAGE_OFFSET);
- BUG_ON(vaddr >= (unsigned long)high_memory);
diff -urNp linux-2.6.31.6/arch/x86/mm/hugetlbpage.c linux-2.6.31.6/arch/x86/mm/hugetlbpage.c
--- linux-2.6.31.6/arch/x86/mm/hugetlbpage.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/hugetlbpage.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/hugetlbpage.c 2009-11-12 17:18:17.000000000 -0500
@@ -267,13 +267,18 @@ static unsigned long hugetlb_get_unmappe
struct hstate *h = hstate_file(file);
struct mm_struct *mm = current->mm;
@@ -15901,7 +15936,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/hugetlbpage.c linux-2.6.31.6/arch/x86/mm/h
}
diff -urNp linux-2.6.31.6/arch/x86/mm/init_32.c linux-2.6.31.6/arch/x86/mm/init_32.c
--- linux-2.6.31.6/arch/x86/mm/init_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/init_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/init_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -72,36 +72,6 @@ static __init void *alloc_low_page(void)
}
@@ -16161,7 +16196,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/init_32.c linux-2.6.31.6/arch/x86/mm/init_
/*
diff -urNp linux-2.6.31.6/arch/x86/mm/init_64.c linux-2.6.31.6/arch/x86/mm/init_64.c
--- linux-2.6.31.6/arch/x86/mm/init_64.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/init_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/init_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -163,7 +163,9 @@ void set_pte_vaddr_pud(pud_t *pud_page,
pmd = fill_pmd(pud, vaddr);
pte = fill_pte(pmd, vaddr);
@@ -16211,7 +16246,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/init_64.c linux-2.6.31.6/arch/x86/mm/init_
return "[vsyscall]";
diff -urNp linux-2.6.31.6/arch/x86/mm/init.c linux-2.6.31.6/arch/x86/mm/init.c
--- linux-2.6.31.6/arch/x86/mm/init.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/init.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/init.c 2009-11-12 17:18:17.000000000 -0500
@@ -28,11 +28,10 @@ int direct_gbpages
#endif
;
@@ -16378,7 +16413,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/init.c linux-2.6.31.6/arch/x86/mm/init.c
(unsigned long)(&__init_end));
diff -urNp linux-2.6.31.6/arch/x86/mm/iomap_32.c linux-2.6.31.6/arch/x86/mm/iomap_32.c
--- linux-2.6.31.6/arch/x86/mm/iomap_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/iomap_32.c 2009-11-10 18:44:21.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/iomap_32.c 2009-11-12 17:18:35.000000000 -0500
@@ -42,7 +42,11 @@ void *kmap_atomic_prot_pfn(unsigned long
debug_kmap_atomic(type);
idx = type + KM_TYPE_NR * smp_processor_id();
@@ -16391,22 +16426,9 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/iomap_32.c linux-2.6.31.6/arch/x86/mm/ioma
arch_flush_lazy_mmu_mode();
return (void *)vaddr;
-@@ -79,8 +83,11 @@ iounmap_atomic(void *kvaddr, enum km_typ
- * also, in case the page changes cacheability attributes or becomes
- * a protected page in a hypervisor.
- */
-- if (vaddr == __fix_to_virt(FIX_KMAP_BEGIN+idx))
-+ if (vaddr == __fix_to_virt(FIX_KMAP_BEGIN+idx)) {
-+ pax_open_kernel();
- kpte_clear_flush(kmap_pte-idx, vaddr);
-+ pax_close_kernel();
-+ }
-
- pagefault_enable();
- }
diff -urNp linux-2.6.31.6/arch/x86/mm/ioremap.c linux-2.6.31.6/arch/x86/mm/ioremap.c
--- linux-2.6.31.6/arch/x86/mm/ioremap.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/ioremap.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/ioremap.c 2009-11-12 17:18:17.000000000 -0500
@@ -111,8 +111,8 @@ int page_is_ram(unsigned long pagenr)
* Second special case: Some BIOSen report the PC BIOS
* area (640->1Mb) as ram even though it is not.
@@ -16460,7 +16482,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/ioremap.c linux-2.6.31.6/arch/x86/mm/iorem
* The boot-ioremap range spans multiple pmds, for which
diff -urNp linux-2.6.31.6/arch/x86/mm/mmap.c linux-2.6.31.6/arch/x86/mm/mmap.c
--- linux-2.6.31.6/arch/x86/mm/mmap.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/mmap.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/mmap.c 2009-11-12 17:18:17.000000000 -0500
@@ -49,7 +49,7 @@ static unsigned int stack_maxrandom_size
* Leave an at least ~128 MB hole with possible stack randomization.
*/
@@ -16544,7 +16566,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/mmap.c linux-2.6.31.6/arch/x86/mm/mmap.c
}
diff -urNp linux-2.6.31.6/arch/x86/mm/numa_32.c linux-2.6.31.6/arch/x86/mm/numa_32.c
--- linux-2.6.31.6/arch/x86/mm/numa_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/numa_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/numa_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -98,7 +98,6 @@ unsigned long node_memmap_size_bytes(int
}
#endif
@@ -16555,7 +16577,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/numa_32.c linux-2.6.31.6/arch/x86/mm/numa_
#define LARGE_PAGE_BYTES (PTRS_PER_PTE * PAGE_SIZE)
diff -urNp linux-2.6.31.6/arch/x86/mm/pageattr.c linux-2.6.31.6/arch/x86/mm/pageattr.c
--- linux-2.6.31.6/arch/x86/mm/pageattr.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/pageattr.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/pageattr.c 2009-11-12 17:18:17.000000000 -0500
@@ -267,9 +267,10 @@ static inline pgprot_t static_protection
* Does not cover __inittext since that is gone later on. On
* 64bit we do not enforce !NX on the low mapping
@@ -16589,7 +16611,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/pageattr.c linux-2.6.31.6/arch/x86/mm/page
struct page *page;
diff -urNp linux-2.6.31.6/arch/x86/mm/pageattr-test.c linux-2.6.31.6/arch/x86/mm/pageattr-test.c
--- linux-2.6.31.6/arch/x86/mm/pageattr-test.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/pageattr-test.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/pageattr-test.c 2009-11-12 17:18:17.000000000 -0500
@@ -36,7 +36,7 @@ enum {
static int pte_testbit(pte_t pte)
@@ -16601,7 +16623,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/pageattr-test.c linux-2.6.31.6/arch/x86/mm
struct split_state {
diff -urNp linux-2.6.31.6/arch/x86/mm/pat.c linux-2.6.31.6/arch/x86/mm/pat.c
--- linux-2.6.31.6/arch/x86/mm/pat.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/pat.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/pat.c 2009-11-12 17:18:17.000000000 -0500
@@ -213,7 +213,7 @@ chk_conflict(struct memtype *new, struct
conflict:
@@ -16649,7 +16671,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/pat.c linux-2.6.31.6/arch/x86/mm/pat.c
.stop = memtype_seq_stop,
diff -urNp linux-2.6.31.6/arch/x86/mm/pgtable_32.c linux-2.6.31.6/arch/x86/mm/pgtable_32.c
--- linux-2.6.31.6/arch/x86/mm/pgtable_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/pgtable_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/pgtable_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -49,10 +49,13 @@ void set_pte_vaddr(unsigned long vaddr,
return;
}
@@ -16666,7 +16688,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/pgtable_32.c linux-2.6.31.6/arch/x86/mm/pg
* It's enough to flush this one mapping.
diff -urNp linux-2.6.31.6/arch/x86/mm/tlb.c linux-2.6.31.6/arch/x86/mm/tlb.c
--- linux-2.6.31.6/arch/x86/mm/tlb.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/mm/tlb.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/mm/tlb.c 2009-11-12 17:18:17.000000000 -0500
@@ -12,7 +12,7 @@
#include <asm/uv/uv.h>
@@ -16678,7 +16700,7 @@ diff -urNp linux-2.6.31.6/arch/x86/mm/tlb.c linux-2.6.31.6/arch/x86/mm/tlb.c
* Smarter SMP flushing macros.
diff -urNp linux-2.6.31.6/arch/x86/oprofile/backtrace.c linux-2.6.31.6/arch/x86/oprofile/backtrace.c
--- linux-2.6.31.6/arch/x86/oprofile/backtrace.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/oprofile/backtrace.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/oprofile/backtrace.c 2009-11-12 17:18:17.000000000 -0500
@@ -37,7 +37,7 @@ static void backtrace_address(void *data
unsigned int *depth = data;
@@ -16708,7 +16730,7 @@ diff -urNp linux-2.6.31.6/arch/x86/oprofile/backtrace.c linux-2.6.31.6/arch/x86/
dump_trace(NULL, regs, (unsigned long *)stack, 0,
diff -urNp linux-2.6.31.6/arch/x86/oprofile/op_model_p4.c linux-2.6.31.6/arch/x86/oprofile/op_model_p4.c
--- linux-2.6.31.6/arch/x86/oprofile/op_model_p4.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/oprofile/op_model_p4.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/oprofile/op_model_p4.c 2009-11-12 17:18:17.000000000 -0500
@@ -48,7 +48,7 @@ static inline void setup_num_counters(vo
#endif
}
@@ -16720,7 +16742,7 @@ diff -urNp linux-2.6.31.6/arch/x86/oprofile/op_model_p4.c linux-2.6.31.6/arch/x8
return smp_num_siblings == 2 ? 2 : 1;
diff -urNp linux-2.6.31.6/arch/x86/pci/common.c linux-2.6.31.6/arch/x86/pci/common.c
--- linux-2.6.31.6/arch/x86/pci/common.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/pci/common.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/pci/common.c 2009-11-12 17:18:17.000000000 -0500
@@ -31,8 +31,8 @@ int noioapicreroute = 1;
int pcibios_last_bus = -1;
unsigned long pirq_table_addr;
@@ -16743,7 +16765,7 @@ diff -urNp linux-2.6.31.6/arch/x86/pci/common.c linux-2.6.31.6/arch/x86/pci/comm
void __init dmi_check_pciprobe(void)
diff -urNp linux-2.6.31.6/arch/x86/pci/direct.c linux-2.6.31.6/arch/x86/pci/direct.c
--- linux-2.6.31.6/arch/x86/pci/direct.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/pci/direct.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/pci/direct.c 2009-11-12 17:18:17.000000000 -0500
@@ -79,7 +79,7 @@ static int pci_conf1_write(unsigned int
#undef PCI_CONF1_ADDRESS
@@ -16773,7 +16795,7 @@ diff -urNp linux-2.6.31.6/arch/x86/pci/direct.c linux-2.6.31.6/arch/x86/pci/dire
int devfn;
diff -urNp linux-2.6.31.6/arch/x86/pci/fixup.c linux-2.6.31.6/arch/x86/pci/fixup.c
--- linux-2.6.31.6/arch/x86/pci/fixup.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/pci/fixup.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/pci/fixup.c 2009-11-12 17:18:17.000000000 -0500
@@ -364,7 +364,7 @@ static const struct dmi_system_id __devi
DMI_MATCH(DMI_PRODUCT_NAME, "MS-6702E"),
},
@@ -16794,7 +16816,7 @@ diff -urNp linux-2.6.31.6/arch/x86/pci/fixup.c linux-2.6.31.6/arch/x86/pci/fixup
static void __devinit pci_pre_fixup_toshiba_ohci1394(struct pci_dev *dev)
diff -urNp linux-2.6.31.6/arch/x86/pci/i386.c linux-2.6.31.6/arch/x86/pci/i386.c
--- linux-2.6.31.6/arch/x86/pci/i386.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/pci/i386.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/pci/i386.c 2009-11-12 17:18:17.000000000 -0500
@@ -266,7 +266,7 @@ void pcibios_set_master(struct pci_dev *
pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
}
@@ -16806,7 +16828,7 @@ diff -urNp linux-2.6.31.6/arch/x86/pci/i386.c linux-2.6.31.6/arch/x86/pci/i386.c
diff -urNp linux-2.6.31.6/arch/x86/pci/irq.c linux-2.6.31.6/arch/x86/pci/irq.c
--- linux-2.6.31.6/arch/x86/pci/irq.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/pci/irq.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/pci/irq.c 2009-11-12 17:18:17.000000000 -0500
@@ -543,7 +543,7 @@ static __init int intel_router_probe(str
static struct pci_device_id __initdata pirq_440gx[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443GX_0) },
@@ -16827,7 +16849,7 @@ diff -urNp linux-2.6.31.6/arch/x86/pci/irq.c linux-2.6.31.6/arch/x86/pci/irq.c
int __init pcibios_irq_init(void)
diff -urNp linux-2.6.31.6/arch/x86/pci/mmconfig_32.c linux-2.6.31.6/arch/x86/pci/mmconfig_32.c
--- linux-2.6.31.6/arch/x86/pci/mmconfig_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/pci/mmconfig_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/pci/mmconfig_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -125,7 +125,7 @@ static int pci_mmcfg_write(unsigned int
return 0;
}
@@ -16839,7 +16861,7 @@ diff -urNp linux-2.6.31.6/arch/x86/pci/mmconfig_32.c linux-2.6.31.6/arch/x86/pci
};
diff -urNp linux-2.6.31.6/arch/x86/pci/mmconfig_64.c linux-2.6.31.6/arch/x86/pci/mmconfig_64.c
--- linux-2.6.31.6/arch/x86/pci/mmconfig_64.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/pci/mmconfig_64.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/pci/mmconfig_64.c 2009-11-12 17:18:17.000000000 -0500
@@ -104,7 +104,7 @@ static int pci_mmcfg_write(unsigned int
return 0;
}
@@ -16851,7 +16873,7 @@ diff -urNp linux-2.6.31.6/arch/x86/pci/mmconfig_64.c linux-2.6.31.6/arch/x86/pci
};
diff -urNp linux-2.6.31.6/arch/x86/pci/numaq_32.c linux-2.6.31.6/arch/x86/pci/numaq_32.c
--- linux-2.6.31.6/arch/x86/pci/numaq_32.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/pci/numaq_32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/pci/numaq_32.c 2009-11-12 17:18:17.000000000 -0500
@@ -112,7 +112,7 @@ static int pci_conf1_mq_write(unsigned i
#undef PCI_CONF1_MQ_ADDRESS
@@ -16863,7 +16885,7 @@ diff -urNp linux-2.6.31.6/arch/x86/pci/numaq_32.c linux-2.6.31.6/arch/x86/pci/nu
};
diff -urNp linux-2.6.31.6/arch/x86/pci/olpc.c linux-2.6.31.6/arch/x86/pci/olpc.c
--- linux-2.6.31.6/arch/x86/pci/olpc.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/pci/olpc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/pci/olpc.c 2009-11-12 17:18:17.000000000 -0500
@@ -297,7 +297,7 @@ static int pci_olpc_write(unsigned int s
return 0;
}
@@ -16875,7 +16897,7 @@ diff -urNp linux-2.6.31.6/arch/x86/pci/olpc.c linux-2.6.31.6/arch/x86/pci/olpc.c
};
diff -urNp linux-2.6.31.6/arch/x86/pci/pcbios.c linux-2.6.31.6/arch/x86/pci/pcbios.c
--- linux-2.6.31.6/arch/x86/pci/pcbios.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/pci/pcbios.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/pci/pcbios.c 2009-11-12 17:18:17.000000000 -0500
@@ -56,50 +56,93 @@ union bios32 {
static struct {
unsigned long address;
@@ -17200,7 +17222,7 @@ diff -urNp linux-2.6.31.6/arch/x86/pci/pcbios.c linux-2.6.31.6/arch/x86/pci/pcbi
EXPORT_SYMBOL(pcibios_set_irq_routing);
diff -urNp linux-2.6.31.6/arch/x86/power/cpu.c linux-2.6.31.6/arch/x86/power/cpu.c
--- linux-2.6.31.6/arch/x86/power/cpu.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/power/cpu.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/power/cpu.c 2009-11-12 17:18:17.000000000 -0500
@@ -126,7 +126,7 @@ static void do_fpu_end(void)
static void fix_processor_context(void)
{
@@ -17222,7 +17244,7 @@ diff -urNp linux-2.6.31.6/arch/x86/power/cpu.c linux-2.6.31.6/arch/x86/power/cpu
#endif
diff -urNp linux-2.6.31.6/arch/x86/vdso/Makefile linux-2.6.31.6/arch/x86/vdso/Makefile
--- linux-2.6.31.6/arch/x86/vdso/Makefile 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/vdso/Makefile 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/vdso/Makefile 2009-11-12 17:18:17.000000000 -0500
@@ -122,7 +122,7 @@ quiet_cmd_vdso = VDSO $@
$(VDSO_LDFLAGS) $(VDSO_LDFLAGS_$(filter %.lds,$(^F))) \
-Wl,-T,$(filter %.lds,$^) $(filter %.o,$^)
@@ -17234,7 +17256,7 @@ diff -urNp linux-2.6.31.6/arch/x86/vdso/Makefile linux-2.6.31.6/arch/x86/vdso/Ma
#
diff -urNp linux-2.6.31.6/arch/x86/vdso/vclock_gettime.c linux-2.6.31.6/arch/x86/vdso/vclock_gettime.c
--- linux-2.6.31.6/arch/x86/vdso/vclock_gettime.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/vdso/vclock_gettime.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/vdso/vclock_gettime.c 2009-11-12 17:18:17.000000000 -0500
@@ -22,24 +22,48 @@
#include <asm/hpet.h>
#include <asm/unistd.h>
@@ -17335,7 +17357,7 @@ diff -urNp linux-2.6.31.6/arch/x86/vdso/vclock_gettime.c linux-2.6.31.6/arch/x86
__attribute__((weak, alias("__vdso_gettimeofday")));
diff -urNp linux-2.6.31.6/arch/x86/vdso/vdso32-setup.c linux-2.6.31.6/arch/x86/vdso/vdso32-setup.c
--- linux-2.6.31.6/arch/x86/vdso/vdso32-setup.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/vdso/vdso32-setup.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/vdso/vdso32-setup.c 2009-11-12 17:18:17.000000000 -0500
@@ -25,6 +25,7 @@
#include <asm/tlbflush.h>
#include <asm/vdso.h>
@@ -17438,7 +17460,7 @@ diff -urNp linux-2.6.31.6/arch/x86/vdso/vdso32-setup.c linux-2.6.31.6/arch/x86/v
}
diff -urNp linux-2.6.31.6/arch/x86/vdso/vdso.lds.S linux-2.6.31.6/arch/x86/vdso/vdso.lds.S
--- linux-2.6.31.6/arch/x86/vdso/vdso.lds.S 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/vdso/vdso.lds.S 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/vdso/vdso.lds.S 2009-11-12 17:18:17.000000000 -0500
@@ -35,3 +35,9 @@ VDSO64_PRELINK = VDSO_PRELINK;
#define VEXTERN(x) VDSO64_ ## x = vdso_ ## x;
#include "vextern.h"
@@ -17451,7 +17473,7 @@ diff -urNp linux-2.6.31.6/arch/x86/vdso/vdso.lds.S linux-2.6.31.6/arch/x86/vdso/
+#undef VEXTERN
diff -urNp linux-2.6.31.6/arch/x86/vdso/vextern.h linux-2.6.31.6/arch/x86/vdso/vextern.h
--- linux-2.6.31.6/arch/x86/vdso/vextern.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/vdso/vextern.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/vdso/vextern.h 2009-11-12 17:18:17.000000000 -0500
@@ -11,6 +11,5 @@
put into vextern.h and be referenced as a pointer with vdso prefix.
The main kernel later fills in the values. */
@@ -17461,7 +17483,7 @@ diff -urNp linux-2.6.31.6/arch/x86/vdso/vextern.h linux-2.6.31.6/arch/x86/vdso/v
VEXTERN(vsyscall_gtod_data)
diff -urNp linux-2.6.31.6/arch/x86/vdso/vma.c linux-2.6.31.6/arch/x86/vdso/vma.c
--- linux-2.6.31.6/arch/x86/vdso/vma.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/vdso/vma.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/vdso/vma.c 2009-11-12 17:18:17.000000000 -0500
@@ -57,7 +57,7 @@ static int __init init_vdso_vars(void)
if (!vbase)
goto oom;
@@ -17510,7 +17532,7 @@ diff -urNp linux-2.6.31.6/arch/x86/vdso/vma.c linux-2.6.31.6/arch/x86/vdso/vma.c
-__setup("vdso=", vdso_setup);
diff -urNp linux-2.6.31.6/arch/x86/xen/debugfs.c linux-2.6.31.6/arch/x86/xen/debugfs.c
--- linux-2.6.31.6/arch/x86/xen/debugfs.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/xen/debugfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/xen/debugfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -100,7 +100,7 @@ static int xen_array_release(struct inod
return 0;
}
@@ -17522,7 +17544,7 @@ diff -urNp linux-2.6.31.6/arch/x86/xen/debugfs.c linux-2.6.31.6/arch/x86/xen/deb
.release= xen_array_release,
diff -urNp linux-2.6.31.6/arch/x86/xen/enlighten.c linux-2.6.31.6/arch/x86/xen/enlighten.c
--- linux-2.6.31.6/arch/x86/xen/enlighten.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/xen/enlighten.c 2009-11-10 18:53:42.000000000 -0500
++++ linux-2.6.31.6/arch/x86/xen/enlighten.c 2009-11-12 17:18:17.000000000 -0500
@@ -70,8 +70,6 @@ EXPORT_SYMBOL_GPL(xen_start_info);
struct shared_info xen_dummy_shared_info;
@@ -17557,7 +17579,7 @@ diff -urNp linux-2.6.31.6/arch/x86/xen/enlighten.c linux-2.6.31.6/arch/x86/xen/e
pgd = (pgd_t *)xen_start_info->pt_base;
diff -urNp linux-2.6.31.6/arch/x86/xen/mmu.c linux-2.6.31.6/arch/x86/xen/mmu.c
--- linux-2.6.31.6/arch/x86/xen/mmu.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/xen/mmu.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/xen/mmu.c 2009-11-12 17:18:17.000000000 -0500
@@ -1707,6 +1707,8 @@ __init pgd_t *xen_setup_kernel_pagetable
convert_pfn_mfn(init_level4_pgt);
convert_pfn_mfn(level3_ident_pgt);
@@ -17580,7 +17602,7 @@ diff -urNp linux-2.6.31.6/arch/x86/xen/mmu.c linux-2.6.31.6/arch/x86/xen/mmu.c
diff -urNp linux-2.6.31.6/arch/x86/xen/smp.c linux-2.6.31.6/arch/x86/xen/smp.c
--- linux-2.6.31.6/arch/x86/xen/smp.c 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/xen/smp.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/xen/smp.c 2009-11-12 17:18:17.000000000 -0500
@@ -167,11 +167,6 @@ static void __init xen_smp_prepare_boot_
{
BUG_ON(smp_processor_id() != 0);
@@ -17606,7 +17628,7 @@ diff -urNp linux-2.6.31.6/arch/x86/xen/smp.c linux-2.6.31.6/arch/x86/xen/smp.c
ctxt->user_regs.fs = __KERNEL_PERCPU;
diff -urNp linux-2.6.31.6/arch/x86/xen/xen-ops.h linux-2.6.31.6/arch/x86/xen/xen-ops.h
--- linux-2.6.31.6/arch/x86/xen/xen-ops.h 2009-11-10 18:45:29.000000000 -0500
-+++ linux-2.6.31.6/arch/x86/xen/xen-ops.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/x86/xen/xen-ops.h 2009-11-12 17:18:17.000000000 -0500
@@ -10,8 +10,6 @@
extern const char xen_hypervisor_callback[];
extern const char xen_failsafe_callback[];
@@ -17618,7 +17640,7 @@ diff -urNp linux-2.6.31.6/arch/x86/xen/xen-ops.h linux-2.6.31.6/arch/x86/xen/xen
diff -urNp linux-2.6.31.6/arch/xtensa/include/asm/atomic.h linux-2.6.31.6/arch/xtensa/include/asm/atomic.h
--- linux-2.6.31.6/arch/xtensa/include/asm/atomic.h 2009-11-10 18:45:33.000000000 -0500
-+++ linux-2.6.31.6/arch/xtensa/include/asm/atomic.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/arch/xtensa/include/asm/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -49,6 +49,14 @@
#define atomic_read(v) ((v)->counter)
@@ -17684,7 +17706,7 @@ diff -urNp linux-2.6.31.6/arch/xtensa/include/asm/atomic.h linux-2.6.31.6/arch/x
* atomic_inc - increment atomic variable
diff -urNp linux-2.6.31.6/block/blk-integrity.c linux-2.6.31.6/block/blk-integrity.c
--- linux-2.6.31.6/block/blk-integrity.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/block/blk-integrity.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/block/blk-integrity.c 2009-11-12 17:18:17.000000000 -0500
@@ -278,7 +278,7 @@ static struct attribute *integrity_attrs
NULL,
};
@@ -17696,7 +17718,7 @@ diff -urNp linux-2.6.31.6/block/blk-integrity.c linux-2.6.31.6/block/blk-integri
};
diff -urNp linux-2.6.31.6/block/blk-map.c linux-2.6.31.6/block/blk-map.c
--- linux-2.6.31.6/block/blk-map.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/block/blk-map.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/block/blk-map.c 2009-11-12 17:18:17.000000000 -0500
@@ -54,7 +54,7 @@ static int __blk_rq_map_user(struct requ
* direct dma. else, set up kernel bounce buffers
*/
@@ -17708,7 +17730,7 @@ diff -urNp linux-2.6.31.6/block/blk-map.c linux-2.6.31.6/block/blk-map.c
bio = bio_copy_user(q, map_data, uaddr, len, reading, gfp_mask);
diff -urNp linux-2.6.31.6/block/blk-sysfs.c linux-2.6.31.6/block/blk-sysfs.c
--- linux-2.6.31.6/block/blk-sysfs.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/block/blk-sysfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/block/blk-sysfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -414,7 +414,7 @@ static void blk_release_queue(struct kob
kmem_cache_free(blk_requestq_cachep, q);
}
@@ -17720,7 +17742,7 @@ diff -urNp linux-2.6.31.6/block/blk-sysfs.c linux-2.6.31.6/block/blk-sysfs.c
};
diff -urNp linux-2.6.31.6/block/elevator.c linux-2.6.31.6/block/elevator.c
--- linux-2.6.31.6/block/elevator.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/block/elevator.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/block/elevator.c 2009-11-12 17:18:17.000000000 -0500
@@ -901,7 +901,7 @@ elv_attr_store(struct kobject *kobj, str
return error;
}
@@ -17732,7 +17754,7 @@ diff -urNp linux-2.6.31.6/block/elevator.c linux-2.6.31.6/block/elevator.c
};
diff -urNp linux-2.6.31.6/crypto/lrw.c linux-2.6.31.6/crypto/lrw.c
--- linux-2.6.31.6/crypto/lrw.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/crypto/lrw.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/crypto/lrw.c 2009-11-12 17:18:17.000000000 -0500
@@ -60,7 +60,7 @@ static int setkey(struct crypto_tfm *par
struct priv *ctx = crypto_tfm_ctx(parent);
struct crypto_cipher *child = ctx->child;
@@ -17744,7 +17766,7 @@ diff -urNp linux-2.6.31.6/crypto/lrw.c linux-2.6.31.6/crypto/lrw.c
crypto_cipher_clear_flags(child, CRYPTO_TFM_REQ_MASK);
diff -urNp linux-2.6.31.6/Documentation/dontdiff linux-2.6.31.6/Documentation/dontdiff
--- linux-2.6.31.6/Documentation/dontdiff 2009-11-10 18:47:56.000000000 -0500
-+++ linux-2.6.31.6/Documentation/dontdiff 2009-11-10 18:53:41.000000000 -0500
++++ linux-2.6.31.6/Documentation/dontdiff 2009-11-12 17:18:17.000000000 -0500
@@ -3,6 +3,7 @@
*.bin
*.cpio
@@ -17843,7 +17865,7 @@ diff -urNp linux-2.6.31.6/Documentation/dontdiff linux-2.6.31.6/Documentation/do
+zoffset.h
diff -urNp linux-2.6.31.6/Documentation/kernel-parameters.txt linux-2.6.31.6/Documentation/kernel-parameters.txt
--- linux-2.6.31.6/Documentation/kernel-parameters.txt 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/Documentation/kernel-parameters.txt 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/Documentation/kernel-parameters.txt 2009-11-12 17:18:17.000000000 -0500
@@ -1776,6 +1776,12 @@ and is between 256 and 4096 characters.
the specified number of seconds. This is to be used if
your oopses keep scrolling off the screen.
@@ -17859,7 +17881,7 @@ diff -urNp linux-2.6.31.6/Documentation/kernel-parameters.txt linux-2.6.31.6/Doc
pcd. [PARIDE]
diff -urNp linux-2.6.31.6/drivers/acpi/blacklist.c linux-2.6.31.6/drivers/acpi/blacklist.c
--- linux-2.6.31.6/drivers/acpi/blacklist.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/acpi/blacklist.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/acpi/blacklist.c 2009-11-12 17:18:17.000000000 -0500
@@ -71,7 +71,7 @@ static struct acpi_blacklist_item acpi_b
{"IBM ", "TP600E ", 0x00000105, ACPI_SIG_DSDT, less_than_or_equal,
"Incorrect _ADR", 1},
@@ -17871,7 +17893,7 @@ diff -urNp linux-2.6.31.6/drivers/acpi/blacklist.c linux-2.6.31.6/drivers/acpi/b
#if CONFIG_ACPI_BLACKLIST_YEAR
diff -urNp linux-2.6.31.6/drivers/acpi/dock.c linux-2.6.31.6/drivers/acpi/dock.c
--- linux-2.6.31.6/drivers/acpi/dock.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/acpi/dock.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/acpi/dock.c 2009-11-12 17:18:17.000000000 -0500
@@ -75,7 +75,7 @@ struct dock_dependent_device {
struct list_head list;
struct list_head hotplug_list;
@@ -17892,7 +17914,7 @@ diff -urNp linux-2.6.31.6/drivers/acpi/dock.c linux-2.6.31.6/drivers/acpi/dock.c
struct dock_dependent_device *dd;
diff -urNp linux-2.6.31.6/drivers/acpi/osl.c linux-2.6.31.6/drivers/acpi/osl.c
--- linux-2.6.31.6/drivers/acpi/osl.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/acpi/osl.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/acpi/osl.c 2009-11-12 17:18:17.000000000 -0500
@@ -521,6 +521,8 @@ acpi_os_read_memory(acpi_physical_addres
void __iomem *virt_addr;
@@ -17913,7 +17935,7 @@ diff -urNp linux-2.6.31.6/drivers/acpi/osl.c linux-2.6.31.6/drivers/acpi/osl.c
case 8:
diff -urNp linux-2.6.31.6/drivers/acpi/processor_core.c linux-2.6.31.6/drivers/acpi/processor_core.c
--- linux-2.6.31.6/drivers/acpi/processor_core.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/acpi/processor_core.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/acpi/processor_core.c 2009-11-12 17:18:17.000000000 -0500
@@ -712,7 +712,7 @@ static int __cpuinit acpi_processor_star
return 0;
}
@@ -17925,7 +17947,7 @@ diff -urNp linux-2.6.31.6/drivers/acpi/processor_core.c linux-2.6.31.6/drivers/a
* Buggy BIOS check
diff -urNp linux-2.6.31.6/drivers/acpi/processor_idle.c linux-2.6.31.6/drivers/acpi/processor_idle.c
--- linux-2.6.31.6/drivers/acpi/processor_idle.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/acpi/processor_idle.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/acpi/processor_idle.c 2009-11-12 17:18:17.000000000 -0500
@@ -108,7 +108,7 @@ static struct dmi_system_id __cpuinitdat
DMI_MATCH(DMI_BIOS_VENDOR,"Phoenix Technologies LTD"),
DMI_MATCH(DMI_BIOS_VERSION,"SHE845M0.86C.0013.D.0302131307")},
@@ -17937,7 +17959,7 @@ diff -urNp linux-2.6.31.6/drivers/acpi/processor_idle.c linux-2.6.31.6/drivers/a
diff -urNp linux-2.6.31.6/drivers/acpi/sleep.c linux-2.6.31.6/drivers/acpi/sleep.c
--- linux-2.6.31.6/drivers/acpi/sleep.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/acpi/sleep.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/acpi/sleep.c 2009-11-12 17:18:17.000000000 -0500
@@ -297,7 +297,7 @@ static int acpi_suspend_state_valid(susp
}
}
@@ -17976,7 +17998,7 @@ diff -urNp linux-2.6.31.6/drivers/acpi/sleep.c linux-2.6.31.6/drivers/acpi/sleep
.pre_snapshot = acpi_hibernation_pre_snapshot_old,
diff -urNp linux-2.6.31.6/drivers/acpi/video.c linux-2.6.31.6/drivers/acpi/video.c
--- linux-2.6.31.6/drivers/acpi/video.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/acpi/video.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/acpi/video.c 2009-11-12 17:18:35.000000000 -0500
@@ -283,7 +283,7 @@ static int acpi_video_device_brightness_
struct file *file);
static ssize_t acpi_video_device_write_brightness(struct file *file,
@@ -17986,9 +18008,48 @@ diff -urNp linux-2.6.31.6/drivers/acpi/video.c linux-2.6.31.6/drivers/acpi/video
.owner = THIS_MODULE,
.open = acpi_video_device_brightness_open_fs,
.read = seq_read,
+@@ -357,7 +357,7 @@ static int acpi_video_set_brightness(str
+ vd->brightness->levels[request_level]);
+ }
+
+-static struct backlight_ops acpi_backlight_ops = {
++static const struct backlight_ops acpi_backlight_ops = {
+ .get_brightness = acpi_video_get_brightness,
+ .update_status = acpi_video_set_brightness,
+ };
diff -urNp linux-2.6.31.6/drivers/ata/ahci.c linux-2.6.31.6/drivers/ata/ahci.c
--- linux-2.6.31.6/drivers/ata/ahci.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/drivers/ata/ahci.c 2009-11-10 18:53:42.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/ahci.c 2009-11-12 17:18:35.000000000 -0500
+@@ -351,7 +351,7 @@ static struct scsi_host_template ahci_sh
+ .sdev_attrs = ahci_sdev_attrs,
+ };
+
+-static struct ata_port_operations ahci_ops = {
++static const struct ata_port_operations ahci_ops = {
+ .inherits = &sata_pmp_port_ops,
+
+ .qc_defer = sata_pmp_qc_defer_cmd_switch,
+@@ -388,17 +388,17 @@ static struct ata_port_operations ahci_o
+ .port_stop = ahci_port_stop,
+ };
+
+-static struct ata_port_operations ahci_vt8251_ops = {
++static const struct ata_port_operations ahci_vt8251_ops = {
+ .inherits = &ahci_ops,
+ .hardreset = ahci_vt8251_hardreset,
+ };
+
+-static struct ata_port_operations ahci_p5wdh_ops = {
++static const struct ata_port_operations ahci_p5wdh_ops = {
+ .inherits = &ahci_ops,
+ .hardreset = ahci_p5wdh_hardreset,
+ };
+
+-static struct ata_port_operations ahci_sb600_ops = {
++static const struct ata_port_operations ahci_sb600_ops = {
+ .inherits = &ahci_ops,
+ .softreset = ahci_sb600_softreset,
+ .pmp_softreset = ahci_sb600_softreset,
@@ -630,7 +630,7 @@ static const struct pci_device_id ahci_p
{ PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff, board_ahci },
@@ -17998,9 +18059,21 @@ diff -urNp linux-2.6.31.6/drivers/ata/ahci.c linux-2.6.31.6/drivers/ata/ahci.c
};
+diff -urNp linux-2.6.31.6/drivers/ata/ata_generic.c linux-2.6.31.6/drivers/ata/ata_generic.c
+--- linux-2.6.31.6/drivers/ata/ata_generic.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/ata_generic.c 2009-11-12 17:18:35.000000000 -0500
+@@ -95,7 +95,7 @@ static struct scsi_host_template generic
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations generic_port_ops = {
++static const struct ata_port_operations generic_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = ata_cable_unknown,
+ .set_mode = generic_set_mode,
diff -urNp linux-2.6.31.6/drivers/ata/ata_piix.c linux-2.6.31.6/drivers/ata/ata_piix.c
--- linux-2.6.31.6/drivers/ata/ata_piix.c 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/ata/ata_piix.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/ata_piix.c 2009-11-12 17:18:35.000000000 -0500
@@ -291,7 +291,7 @@ static const struct pci_device_id piix_p
{ 0x8086, 0x3b2d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
/* SATA Controller IDE (PCH) */
@@ -18010,6 +18083,42 @@ diff -urNp linux-2.6.31.6/drivers/ata/ata_piix.c linux-2.6.31.6/drivers/ata/ata_
};
static struct pci_driver piix_pci_driver = {
+@@ -309,7 +309,7 @@ static struct scsi_host_template piix_sh
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations piix_pata_ops = {
++static const struct ata_port_operations piix_pata_ops = {
+ .inherits = &ata_bmdma32_port_ops,
+ .cable_detect = ata_cable_40wire,
+ .set_piomode = piix_set_piomode,
+@@ -317,22 +317,22 @@ static struct ata_port_operations piix_p
+ .prereset = piix_pata_prereset,
+ };
+
+-static struct ata_port_operations piix_vmw_ops = {
++static const struct ata_port_operations piix_vmw_ops = {
+ .inherits = &piix_pata_ops,
+ .bmdma_status = piix_vmw_bmdma_status,
+ };
+
+-static struct ata_port_operations ich_pata_ops = {
++static const struct ata_port_operations ich_pata_ops = {
+ .inherits = &piix_pata_ops,
+ .cable_detect = ich_pata_cable_detect,
+ .set_dmamode = ich_set_dmamode,
+ };
+
+-static struct ata_port_operations piix_sata_ops = {
++static const struct ata_port_operations piix_sata_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ };
+
+-static struct ata_port_operations piix_sidpr_sata_ops = {
++static const struct ata_port_operations piix_sidpr_sata_ops = {
+ .inherits = &piix_sata_ops,
+ .hardreset = sata_std_hardreset,
+ .scr_read = piix_sidpr_scr_read,
@@ -608,7 +608,7 @@ static const struct ich_laptop ich_lapto
{ 0x2653, 0x1043, 0x82D8 }, /* ICH6M on Asus Eee 701 */
{ 0x27df, 0x104d, 0x900e }, /* ICH7 on Sony TZ-90 */
@@ -18030,7 +18139,7 @@ diff -urNp linux-2.6.31.6/drivers/ata/ata_piix.c linux-2.6.31.6/drivers/ata/ata_
"Tecra M3,",
diff -urNp linux-2.6.31.6/drivers/ata/libata-acpi.c linux-2.6.31.6/drivers/ata/libata-acpi.c
--- linux-2.6.31.6/drivers/ata/libata-acpi.c 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/ata/libata-acpi.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/libata-acpi.c 2009-11-12 17:18:17.000000000 -0500
@@ -233,12 +233,12 @@ static void ata_acpi_dev_uevent(acpi_han
ata_acpi_uevent(dev->link->ap, dev, event);
}
@@ -18048,7 +18157,7 @@ diff -urNp linux-2.6.31.6/drivers/ata/libata-acpi.c linux-2.6.31.6/drivers/ata/l
};
diff -urNp linux-2.6.31.6/drivers/ata/libata-core.c linux-2.6.31.6/drivers/ata/libata-core.c
--- linux-2.6.31.6/drivers/ata/libata-core.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/drivers/ata/libata-core.c 2009-11-10 18:53:42.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/libata-core.c 2009-11-12 18:11:18.000000000 -0500
@@ -896,7 +896,7 @@ static const struct ata_xfer_ent {
{ ATA_SHIFT_PIO, ATA_NR_PIO_MODES, XFER_PIO_0 },
{ ATA_SHIFT_MWDMA, ATA_NR_MWDMA_MODES, XFER_MW_DMA_0 },
@@ -18076,9 +18185,1452 @@ diff -urNp linux-2.6.31.6/drivers/ata/libata-core.c linux-2.6.31.6/drivers/ata/l
};
static int strn_pattern_cmp(const char *patt, const char *name, int wildchar)
+@@ -5909,7 +5909,7 @@ static void ata_host_stop(struct device
+ * LOCKING:
+ * None.
+ */
+-static void ata_finalize_port_ops(struct ata_port_operations *ops)
++static void ata_finalize_port_ops(const struct ata_port_operations *ops)
+ {
+ static DEFINE_SPINLOCK(lock);
+ const struct ata_port_operations *cur;
+@@ -5921,6 +5921,7 @@ static void ata_finalize_port_ops(struct
+ return;
+
+ spin_lock(&lock);
++ pax_open_kernel();
+
+ for (cur = ops->inherits; cur; cur = cur->inherits) {
+ void **inherit = (void **)cur;
+@@ -5934,8 +5935,9 @@ static void ata_finalize_port_ops(struct
+ if (IS_ERR(*pp))
+ *pp = NULL;
+
+- ops->inherits = NULL;
++ ((struct ata_port_operations *)ops)->inherits = NULL;
+
++ pax_close_kernel();
+ spin_unlock(&lock);
+ }
+
+@@ -6032,7 +6034,7 @@ int ata_host_start(struct ata_host *host
+ */
+ /* KILLME - the only user left is ipr */
+ void ata_host_init(struct ata_host *host, struct device *dev,
+- unsigned long flags, struct ata_port_operations *ops)
++ unsigned long flags, const struct ata_port_operations *ops)
+ {
+ spin_lock_init(&host->lock);
+ host->dev = dev;
+@@ -6695,7 +6697,7 @@ static void ata_dummy_error_handler(stru
+ /* truly dummy */
+ }
+
+-struct ata_port_operations ata_dummy_port_ops = {
++const struct ata_port_operations ata_dummy_port_ops = {
+ .qc_prep = ata_noop_qc_prep,
+ .qc_issue = ata_dummy_qc_issue,
+ .error_handler = ata_dummy_error_handler,
+diff -urNp linux-2.6.31.6/drivers/ata/libata-eh.c linux-2.6.31.6/drivers/ata/libata-eh.c
+--- linux-2.6.31.6/drivers/ata/libata-eh.c 2009-11-10 18:47:57.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/libata-eh.c 2009-11-12 17:18:35.000000000 -0500
+@@ -3154,9 +3154,9 @@ static int ata_eh_handle_dev_fail(struct
+ * RETURNS:
+ * 0 on success, -errno on failure.
+ */
+-int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
+- ata_reset_fn_t softreset, ata_reset_fn_t hardreset,
+- ata_postreset_fn_t postreset,
++int ata_eh_recover(struct ata_port *ap, const ata_prereset_fn_t prereset,
++ const ata_reset_fn_t softreset, const ata_reset_fn_t hardreset,
++ const ata_postreset_fn_t postreset,
+ struct ata_link **r_failed_link)
+ {
+ struct ata_link *link;
+@@ -3417,9 +3417,9 @@ void ata_eh_finish(struct ata_port *ap)
+ * LOCKING:
+ * Kernel thread context (may sleep).
+ */
+-void ata_do_eh(struct ata_port *ap, ata_prereset_fn_t prereset,
+- ata_reset_fn_t softreset, ata_reset_fn_t hardreset,
+- ata_postreset_fn_t postreset)
++void ata_do_eh(struct ata_port *ap, const ata_prereset_fn_t prereset,
++ const ata_reset_fn_t softreset, const ata_reset_fn_t hardreset,
++ const ata_postreset_fn_t postreset)
+ {
+ struct ata_device *dev;
+ int rc;
+@@ -3448,7 +3448,7 @@ void ata_do_eh(struct ata_port *ap, ata_
+ */
+ void ata_std_error_handler(struct ata_port *ap)
+ {
+- struct ata_port_operations *ops = ap->ops;
++ const struct ata_port_operations *ops = ap->ops;
+ ata_reset_fn_t hardreset = ops->hardreset;
+
+ /* ignore built-in hardreset if SCR access is not available */
+diff -urNp linux-2.6.31.6/drivers/ata/libata.h linux-2.6.31.6/drivers/ata/libata.h
+--- linux-2.6.31.6/drivers/ata/libata.h 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/libata.h 2009-11-12 17:18:35.000000000 -0500
+@@ -38,7 +38,7 @@ struct ata_scsi_args {
+ void (*done)(struct scsi_cmnd *);
+ };
+
+-static inline int ata_is_builtin_hardreset(ata_reset_fn_t reset)
++static inline int ata_is_builtin_hardreset(const ata_reset_fn_t reset)
+ {
+ if (reset == sata_std_hardreset)
+ return 1;
+@@ -169,9 +169,9 @@ extern int ata_eh_reset(struct ata_link
+ ata_prereset_fn_t prereset, ata_reset_fn_t softreset,
+ ata_reset_fn_t hardreset, ata_postreset_fn_t postreset);
+ extern int ata_set_mode(struct ata_link *link, struct ata_device **r_failed_dev);
+-extern int ata_eh_recover(struct ata_port *ap, ata_prereset_fn_t prereset,
+- ata_reset_fn_t softreset, ata_reset_fn_t hardreset,
+- ata_postreset_fn_t postreset,
++extern int ata_eh_recover(struct ata_port *ap, const ata_prereset_fn_t prereset,
++ const ata_reset_fn_t softreset, const ata_reset_fn_t hardreset,
++ const ata_postreset_fn_t postreset,
+ struct ata_link **r_failed_disk);
+ extern void ata_eh_finish(struct ata_port *ap);
+
+diff -urNp linux-2.6.31.6/drivers/ata/libata-pmp.c linux-2.6.31.6/drivers/ata/libata-pmp.c
+--- linux-2.6.31.6/drivers/ata/libata-pmp.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/libata-pmp.c 2009-11-12 17:18:35.000000000 -0500
+@@ -839,7 +839,7 @@ static int sata_pmp_handle_link_fail(str
+ */
+ static int sata_pmp_eh_recover(struct ata_port *ap)
+ {
+- struct ata_port_operations *ops = ap->ops;
++ const struct ata_port_operations *ops = ap->ops;
+ int pmp_tries, link_tries[SATA_PMP_MAX_PORTS];
+ struct ata_link *pmp_link = &ap->link;
+ struct ata_device *pmp_dev = pmp_link->device;
+diff -urNp linux-2.6.31.6/drivers/ata/pata_acpi.c linux-2.6.31.6/drivers/ata/pata_acpi.c
+--- linux-2.6.31.6/drivers/ata/pata_acpi.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_acpi.c 2009-11-12 17:18:35.000000000 -0500
+@@ -215,7 +215,7 @@ static struct scsi_host_template pacpi_s
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations pacpi_ops = {
++static const struct ata_port_operations pacpi_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .qc_issue = pacpi_qc_issue,
+ .cable_detect = pacpi_cable_detect,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_ali.c linux-2.6.31.6/drivers/ata/pata_ali.c
+--- linux-2.6.31.6/drivers/ata/pata_ali.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_ali.c 2009-11-12 17:18:35.000000000 -0500
+@@ -365,7 +365,7 @@ static struct scsi_host_template ali_sht
+ * Port operations for PIO only ALi
+ */
+
+-static struct ata_port_operations ali_early_port_ops = {
++static const struct ata_port_operations ali_early_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .cable_detect = ata_cable_40wire,
+ .set_piomode = ali_set_piomode,
+@@ -382,7 +382,7 @@ static const struct ata_port_operations
+ * Port operations for DMA capable ALi without cable
+ * detect
+ */
+-static struct ata_port_operations ali_20_port_ops = {
++static const struct ata_port_operations ali_20_port_ops = {
+ .inherits = &ali_dma_base_ops,
+ .cable_detect = ata_cable_40wire,
+ .mode_filter = ali_20_filter,
+@@ -393,7 +393,7 @@ static struct ata_port_operations ali_20
+ /*
+ * Port operations for DMA capable ALi with cable detect
+ */
+-static struct ata_port_operations ali_c2_port_ops = {
++static const struct ata_port_operations ali_c2_port_ops = {
+ .inherits = &ali_dma_base_ops,
+ .check_atapi_dma = ali_check_atapi_dma,
+ .cable_detect = ali_c2_cable_detect,
+@@ -404,7 +404,7 @@ static struct ata_port_operations ali_c2
+ /*
+ * Port operations for DMA capable ALi with cable detect
+ */
+-static struct ata_port_operations ali_c4_port_ops = {
++static const struct ata_port_operations ali_c4_port_ops = {
+ .inherits = &ali_dma_base_ops,
+ .check_atapi_dma = ali_check_atapi_dma,
+ .cable_detect = ali_c2_cable_detect,
+@@ -414,7 +414,7 @@ static struct ata_port_operations ali_c4
+ /*
+ * Port operations for DMA capable ALi with cable detect and LBA48
+ */
+-static struct ata_port_operations ali_c5_port_ops = {
++static const struct ata_port_operations ali_c5_port_ops = {
+ .inherits = &ali_dma_base_ops,
+ .check_atapi_dma = ali_check_atapi_dma,
+ .dev_config = ali_warn_atapi_dma,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_amd.c linux-2.6.31.6/drivers/ata/pata_amd.c
+--- linux-2.6.31.6/drivers/ata/pata_amd.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_amd.c 2009-11-12 17:18:35.000000000 -0500
+@@ -397,28 +397,28 @@ static const struct ata_port_operations
+ .prereset = amd_pre_reset,
+ };
+
+-static struct ata_port_operations amd33_port_ops = {
++static const struct ata_port_operations amd33_port_ops = {
+ .inherits = &amd_base_port_ops,
+ .cable_detect = ata_cable_40wire,
+ .set_piomode = amd33_set_piomode,
+ .set_dmamode = amd33_set_dmamode,
+ };
+
+-static struct ata_port_operations amd66_port_ops = {
++static const struct ata_port_operations amd66_port_ops = {
+ .inherits = &amd_base_port_ops,
+ .cable_detect = ata_cable_unknown,
+ .set_piomode = amd66_set_piomode,
+ .set_dmamode = amd66_set_dmamode,
+ };
+
+-static struct ata_port_operations amd100_port_ops = {
++static const struct ata_port_operations amd100_port_ops = {
+ .inherits = &amd_base_port_ops,
+ .cable_detect = ata_cable_unknown,
+ .set_piomode = amd100_set_piomode,
+ .set_dmamode = amd100_set_dmamode,
+ };
+
+-static struct ata_port_operations amd133_port_ops = {
++static const struct ata_port_operations amd133_port_ops = {
+ .inherits = &amd_base_port_ops,
+ .cable_detect = amd_cable_detect,
+ .set_piomode = amd133_set_piomode,
+@@ -433,13 +433,13 @@ static const struct ata_port_operations
+ .host_stop = nv_host_stop,
+ };
+
+-static struct ata_port_operations nv100_port_ops = {
++static const struct ata_port_operations nv100_port_ops = {
+ .inherits = &nv_base_port_ops,
+ .set_piomode = nv100_set_piomode,
+ .set_dmamode = nv100_set_dmamode,
+ };
+
+-static struct ata_port_operations nv133_port_ops = {
++static const struct ata_port_operations nv133_port_ops = {
+ .inherits = &nv_base_port_ops,
+ .set_piomode = nv133_set_piomode,
+ .set_dmamode = nv133_set_dmamode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_artop.c linux-2.6.31.6/drivers/ata/pata_artop.c
+--- linux-2.6.31.6/drivers/ata/pata_artop.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_artop.c 2009-11-12 17:18:35.000000000 -0500
+@@ -311,7 +311,7 @@ static struct scsi_host_template artop_s
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations artop6210_ops = {
++static const struct ata_port_operations artop6210_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = ata_cable_40wire,
+ .set_piomode = artop6210_set_piomode,
+@@ -320,7 +320,7 @@ static struct ata_port_operations artop6
+ .qc_defer = artop6210_qc_defer,
+ };
+
+-static struct ata_port_operations artop6260_ops = {
++static const struct ata_port_operations artop6260_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = artop6260_cable_detect,
+ .set_piomode = artop6260_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_at32.c linux-2.6.31.6/drivers/ata/pata_at32.c
+--- linux-2.6.31.6/drivers/ata/pata_at32.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_at32.c 2009-11-12 17:18:35.000000000 -0500
+@@ -172,7 +172,7 @@ static struct scsi_host_template at32_sh
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations at32_port_ops = {
++static const struct ata_port_operations at32_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .cable_detect = ata_cable_40wire,
+ .set_piomode = pata_at32_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_at91.c linux-2.6.31.6/drivers/ata/pata_at91.c
+--- linux-2.6.31.6/drivers/ata/pata_at91.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_at91.c 2009-11-12 17:18:35.000000000 -0500
+@@ -195,7 +195,7 @@ static struct scsi_host_template pata_at
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations pata_at91_port_ops = {
++static const struct ata_port_operations pata_at91_port_ops = {
+ .inherits = &ata_sff_port_ops,
+
+ .sff_data_xfer = pata_at91_data_xfer_noirq,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_atiixp.c linux-2.6.31.6/drivers/ata/pata_atiixp.c
+--- linux-2.6.31.6/drivers/ata/pata_atiixp.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_atiixp.c 2009-11-12 17:18:35.000000000 -0500
+@@ -205,7 +205,7 @@ static struct scsi_host_template atiixp_
+ .sg_tablesize = LIBATA_DUMB_MAX_PRD,
+ };
+
+-static struct ata_port_operations atiixp_port_ops = {
++static const struct ata_port_operations atiixp_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+
+ .qc_prep = ata_sff_dumb_qc_prep,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_bf54x.c linux-2.6.31.6/drivers/ata/pata_bf54x.c
+--- linux-2.6.31.6/drivers/ata/pata_bf54x.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_bf54x.c 2009-11-12 17:18:35.000000000 -0500
+@@ -1464,7 +1464,7 @@ static struct scsi_host_template bfin_sh
+ .dma_boundary = ATA_DMA_BOUNDARY,
+ };
+
+-static struct ata_port_operations bfin_pata_ops = {
++static const struct ata_port_operations bfin_pata_ops = {
+ .inherits = &ata_sff_port_ops,
+
+ .set_piomode = bfin_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_cmd640.c linux-2.6.31.6/drivers/ata/pata_cmd640.c
+--- linux-2.6.31.6/drivers/ata/pata_cmd640.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_cmd640.c 2009-11-12 17:18:35.000000000 -0500
+@@ -168,7 +168,7 @@ static struct scsi_host_template cmd640_
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations cmd640_port_ops = {
++static const struct ata_port_operations cmd640_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ /* In theory xfer_noirq is not needed once we kill the prefetcher */
+ .sff_data_xfer = ata_sff_data_xfer_noirq,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_cmd64x.c linux-2.6.31.6/drivers/ata/pata_cmd64x.c
+--- linux-2.6.31.6/drivers/ata/pata_cmd64x.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_cmd64x.c 2009-11-12 17:18:35.000000000 -0500
+@@ -275,18 +275,18 @@ static const struct ata_port_operations
+ .set_dmamode = cmd64x_set_dmamode,
+ };
+
+-static struct ata_port_operations cmd64x_port_ops = {
++static const struct ata_port_operations cmd64x_port_ops = {
+ .inherits = &cmd64x_base_ops,
+ .cable_detect = ata_cable_40wire,
+ };
+
+-static struct ata_port_operations cmd646r1_port_ops = {
++static const struct ata_port_operations cmd646r1_port_ops = {
+ .inherits = &cmd64x_base_ops,
+ .bmdma_stop = cmd646r1_bmdma_stop,
+ .cable_detect = ata_cable_40wire,
+ };
+
+-static struct ata_port_operations cmd648_port_ops = {
++static const struct ata_port_operations cmd648_port_ops = {
+ .inherits = &cmd64x_base_ops,
+ .bmdma_stop = cmd648_bmdma_stop,
+ .cable_detect = cmd648_cable_detect,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_cs5520.c linux-2.6.31.6/drivers/ata/pata_cs5520.c
+--- linux-2.6.31.6/drivers/ata/pata_cs5520.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_cs5520.c 2009-11-12 17:18:35.000000000 -0500
+@@ -144,7 +144,7 @@ static struct scsi_host_template cs5520_
+ .sg_tablesize = LIBATA_DUMB_MAX_PRD,
+ };
+
+-static struct ata_port_operations cs5520_port_ops = {
++static const struct ata_port_operations cs5520_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .qc_prep = ata_sff_dumb_qc_prep,
+ .cable_detect = ata_cable_40wire,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_cs5530.c linux-2.6.31.6/drivers/ata/pata_cs5530.c
+--- linux-2.6.31.6/drivers/ata/pata_cs5530.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_cs5530.c 2009-11-12 17:18:35.000000000 -0500
+@@ -164,7 +164,7 @@ static struct scsi_host_template cs5530_
+ .sg_tablesize = LIBATA_DUMB_MAX_PRD,
+ };
+
+-static struct ata_port_operations cs5530_port_ops = {
++static const struct ata_port_operations cs5530_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+
+ .qc_prep = ata_sff_dumb_qc_prep,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_cs5535.c linux-2.6.31.6/drivers/ata/pata_cs5535.c
+--- linux-2.6.31.6/drivers/ata/pata_cs5535.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_cs5535.c 2009-11-12 17:18:35.000000000 -0500
+@@ -160,7 +160,7 @@ static struct scsi_host_template cs5535_
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations cs5535_port_ops = {
++static const struct ata_port_operations cs5535_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = cs5535_cable_detect,
+ .set_piomode = cs5535_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_cs5536.c linux-2.6.31.6/drivers/ata/pata_cs5536.c
+--- linux-2.6.31.6/drivers/ata/pata_cs5536.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_cs5536.c 2009-11-12 17:18:35.000000000 -0500
+@@ -223,7 +223,7 @@ static struct scsi_host_template cs5536_
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations cs5536_port_ops = {
++static const struct ata_port_operations cs5536_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = cs5536_cable_detect,
+ .set_piomode = cs5536_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_cypress.c linux-2.6.31.6/drivers/ata/pata_cypress.c
+--- linux-2.6.31.6/drivers/ata/pata_cypress.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_cypress.c 2009-11-12 17:18:35.000000000 -0500
+@@ -113,7 +113,7 @@ static struct scsi_host_template cy82c69
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations cy82c693_port_ops = {
++static const struct ata_port_operations cy82c693_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = ata_cable_40wire,
+ .set_piomode = cy82c693_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_efar.c linux-2.6.31.6/drivers/ata/pata_efar.c
+--- linux-2.6.31.6/drivers/ata/pata_efar.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_efar.c 2009-11-12 17:18:35.000000000 -0500
+@@ -222,7 +222,7 @@ static struct scsi_host_template efar_sh
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations efar_ops = {
++static const struct ata_port_operations efar_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = efar_cable_detect,
+ .set_piomode = efar_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_hpt366.c linux-2.6.31.6/drivers/ata/pata_hpt366.c
+--- linux-2.6.31.6/drivers/ata/pata_hpt366.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_hpt366.c 2009-11-12 17:18:35.000000000 -0500
+@@ -282,7 +282,7 @@ static struct scsi_host_template hpt36x_
+ * Configuration for HPT366/68
+ */
+
+-static struct ata_port_operations hpt366_port_ops = {
++static const struct ata_port_operations hpt366_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = hpt36x_cable_detect,
+ .mode_filter = hpt366_filter,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_hpt37x.c linux-2.6.31.6/drivers/ata/pata_hpt37x.c
+--- linux-2.6.31.6/drivers/ata/pata_hpt37x.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_hpt37x.c 2009-11-12 17:18:35.000000000 -0500
+@@ -578,7 +578,7 @@ static struct scsi_host_template hpt37x_
+ * Configuration for HPT370
+ */
+
+-static struct ata_port_operations hpt370_port_ops = {
++static const struct ata_port_operations hpt370_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+
+ .bmdma_stop = hpt370_bmdma_stop,
+@@ -593,7 +593,7 @@ static struct ata_port_operations hpt370
+ * Configuration for HPT370A. Close to 370 but less filters
+ */
+
+-static struct ata_port_operations hpt370a_port_ops = {
++static const struct ata_port_operations hpt370a_port_ops = {
+ .inherits = &hpt370_port_ops,
+ .mode_filter = hpt370a_filter,
+ };
+@@ -603,7 +603,7 @@ static struct ata_port_operations hpt370
+ * and DMA mode setting functionality.
+ */
+
+-static struct ata_port_operations hpt372_port_ops = {
++static const struct ata_port_operations hpt372_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+
+ .bmdma_stop = hpt37x_bmdma_stop,
+@@ -618,7 +618,7 @@ static struct ata_port_operations hpt372
+ * but we have a different cable detection procedure for function 1.
+ */
+
+-static struct ata_port_operations hpt374_fn1_port_ops = {
++static const struct ata_port_operations hpt374_fn1_port_ops = {
+ .inherits = &hpt372_port_ops,
+ .prereset = hpt374_fn1_pre_reset,
+ };
+diff -urNp linux-2.6.31.6/drivers/ata/pata_hpt3x2n.c linux-2.6.31.6/drivers/ata/pata_hpt3x2n.c
+--- linux-2.6.31.6/drivers/ata/pata_hpt3x2n.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_hpt3x2n.c 2009-11-12 17:18:35.000000000 -0500
+@@ -334,7 +334,7 @@ static struct scsi_host_template hpt3x2n
+ * Configuration for HPT3x2n.
+ */
+
+-static struct ata_port_operations hpt3x2n_port_ops = {
++static const struct ata_port_operations hpt3x2n_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+
+ .bmdma_stop = hpt3x2n_bmdma_stop,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_hpt3x3.c linux-2.6.31.6/drivers/ata/pata_hpt3x3.c
+--- linux-2.6.31.6/drivers/ata/pata_hpt3x3.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_hpt3x3.c 2009-11-12 17:18:35.000000000 -0500
+@@ -141,7 +141,7 @@ static struct scsi_host_template hpt3x3_
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations hpt3x3_port_ops = {
++static const struct ata_port_operations hpt3x3_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = ata_cable_40wire,
+ .set_piomode = hpt3x3_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_icside.c linux-2.6.31.6/drivers/ata/pata_icside.c
+--- linux-2.6.31.6/drivers/ata/pata_icside.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_icside.c 2009-11-12 17:18:35.000000000 -0500
+@@ -319,7 +319,7 @@ static void pata_icside_postreset(struct
+ }
+ }
+
+-static struct ata_port_operations pata_icside_port_ops = {
++static const struct ata_port_operations pata_icside_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ /* no need to build any PRD tables for DMA */
+ .qc_prep = ata_noop_qc_prep,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_isapnp.c linux-2.6.31.6/drivers/ata/pata_isapnp.c
+--- linux-2.6.31.6/drivers/ata/pata_isapnp.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_isapnp.c 2009-11-12 17:18:35.000000000 -0500
+@@ -23,12 +23,12 @@ static struct scsi_host_template isapnp_
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations isapnp_port_ops = {
++static const struct ata_port_operations isapnp_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .cable_detect = ata_cable_40wire,
+ };
+
+-static struct ata_port_operations isapnp_noalt_port_ops = {
++static const struct ata_port_operations isapnp_noalt_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .cable_detect = ata_cable_40wire,
+ /* No altstatus so we don't want to use the lost interrupt poll */
+diff -urNp linux-2.6.31.6/drivers/ata/pata_it8213.c linux-2.6.31.6/drivers/ata/pata_it8213.c
+--- linux-2.6.31.6/drivers/ata/pata_it8213.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_it8213.c 2009-11-12 17:18:35.000000000 -0500
+@@ -234,7 +234,7 @@ static struct scsi_host_template it8213_
+ };
+
+
+-static struct ata_port_operations it8213_ops = {
++static const struct ata_port_operations it8213_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = it8213_cable_detect,
+ .set_piomode = it8213_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_it821x.c linux-2.6.31.6/drivers/ata/pata_it821x.c
+--- linux-2.6.31.6/drivers/ata/pata_it821x.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_it821x.c 2009-11-12 17:18:35.000000000 -0500
+@@ -800,7 +800,7 @@ static struct scsi_host_template it821x_
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations it821x_smart_port_ops = {
++static const struct ata_port_operations it821x_smart_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+
+ .check_atapi_dma= it821x_check_atapi_dma,
+@@ -814,7 +814,7 @@ static struct ata_port_operations it821x
+ .port_start = it821x_port_start,
+ };
+
+-static struct ata_port_operations it821x_passthru_port_ops = {
++static const struct ata_port_operations it821x_passthru_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+
+ .check_atapi_dma= it821x_check_atapi_dma,
+@@ -830,7 +830,7 @@ static struct ata_port_operations it821x
+ .port_start = it821x_port_start,
+ };
+
+-static struct ata_port_operations it821x_rdc_port_ops = {
++static const struct ata_port_operations it821x_rdc_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+
+ .check_atapi_dma= it821x_check_atapi_dma,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_ixp4xx_cf.c linux-2.6.31.6/drivers/ata/pata_ixp4xx_cf.c
+--- linux-2.6.31.6/drivers/ata/pata_ixp4xx_cf.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_ixp4xx_cf.c 2009-11-12 17:18:35.000000000 -0500
+@@ -89,7 +89,7 @@ static struct scsi_host_template ixp4xx_
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations ixp4xx_port_ops = {
++static const struct ata_port_operations ixp4xx_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .sff_data_xfer = ixp4xx_mmio_data_xfer,
+ .cable_detect = ata_cable_40wire,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_jmicron.c linux-2.6.31.6/drivers/ata/pata_jmicron.c
+--- linux-2.6.31.6/drivers/ata/pata_jmicron.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_jmicron.c 2009-11-12 17:18:35.000000000 -0500
+@@ -111,7 +111,7 @@ static struct scsi_host_template jmicron
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations jmicron_ops = {
++static const struct ata_port_operations jmicron_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .prereset = jmicron_pre_reset,
+ };
+diff -urNp linux-2.6.31.6/drivers/ata/pata_legacy.c linux-2.6.31.6/drivers/ata/pata_legacy.c
+--- linux-2.6.31.6/drivers/ata/pata_legacy.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_legacy.c 2009-11-12 17:18:35.000000000 -0500
+@@ -106,7 +106,7 @@ struct legacy_probe {
+
+ struct legacy_controller {
+ const char *name;
+- struct ata_port_operations *ops;
++ const struct ata_port_operations *ops;
+ unsigned int pio_mask;
+ unsigned int flags;
+ unsigned int pflags;
+@@ -223,12 +223,12 @@ static const struct ata_port_operations
+ * pio_mask as well.
+ */
+
+-static struct ata_port_operations simple_port_ops = {
++static const struct ata_port_operations simple_port_ops = {
+ .inherits = &legacy_base_port_ops,
+ .sff_data_xfer = ata_sff_data_xfer_noirq,
+ };
+
+-static struct ata_port_operations legacy_port_ops = {
++static const struct ata_port_operations legacy_port_ops = {
+ .inherits = &legacy_base_port_ops,
+ .sff_data_xfer = ata_sff_data_xfer_noirq,
+ .set_mode = legacy_set_mode,
+@@ -324,7 +324,7 @@ static unsigned int pdc_data_xfer_vlb(st
+ return buflen;
+ }
+
+-static struct ata_port_operations pdc20230_port_ops = {
++static const struct ata_port_operations pdc20230_port_ops = {
+ .inherits = &legacy_base_port_ops,
+ .set_piomode = pdc20230_set_piomode,
+ .sff_data_xfer = pdc_data_xfer_vlb,
+@@ -357,7 +357,7 @@ static void ht6560a_set_piomode(struct a
+ ioread8(ap->ioaddr.status_addr);
+ }
+
+-static struct ata_port_operations ht6560a_port_ops = {
++static const struct ata_port_operations ht6560a_port_ops = {
+ .inherits = &legacy_base_port_ops,
+ .set_piomode = ht6560a_set_piomode,
+ };
+@@ -400,7 +400,7 @@ static void ht6560b_set_piomode(struct a
+ ioread8(ap->ioaddr.status_addr);
+ }
+
+-static struct ata_port_operations ht6560b_port_ops = {
++static const struct ata_port_operations ht6560b_port_ops = {
+ .inherits = &legacy_base_port_ops,
+ .set_piomode = ht6560b_set_piomode,
+ };
+@@ -499,7 +499,7 @@ static void opti82c611a_set_piomode(stru
+ }
+
+
+-static struct ata_port_operations opti82c611a_port_ops = {
++static const struct ata_port_operations opti82c611a_port_ops = {
+ .inherits = &legacy_base_port_ops,
+ .set_piomode = opti82c611a_set_piomode,
+ };
+@@ -609,7 +609,7 @@ static unsigned int opti82c46x_qc_issue(
+ return ata_sff_qc_issue(qc);
+ }
+
+-static struct ata_port_operations opti82c46x_port_ops = {
++static const struct ata_port_operations opti82c46x_port_ops = {
+ .inherits = &legacy_base_port_ops,
+ .set_piomode = opti82c46x_set_piomode,
+ .qc_issue = opti82c46x_qc_issue,
+@@ -771,20 +771,20 @@ static int qdi_port(struct platform_devi
+ return 0;
+ }
+
+-static struct ata_port_operations qdi6500_port_ops = {
++static const struct ata_port_operations qdi6500_port_ops = {
+ .inherits = &legacy_base_port_ops,
+ .set_piomode = qdi6500_set_piomode,
+ .qc_issue = qdi_qc_issue,
+ .sff_data_xfer = vlb32_data_xfer,
+ };
+
+-static struct ata_port_operations qdi6580_port_ops = {
++static const struct ata_port_operations qdi6580_port_ops = {
+ .inherits = &legacy_base_port_ops,
+ .set_piomode = qdi6580_set_piomode,
+ .sff_data_xfer = vlb32_data_xfer,
+ };
+
+-static struct ata_port_operations qdi6580dp_port_ops = {
++static const struct ata_port_operations qdi6580dp_port_ops = {
+ .inherits = &legacy_base_port_ops,
+ .set_piomode = qdi6580dp_set_piomode,
+ .sff_data_xfer = vlb32_data_xfer,
+@@ -855,7 +855,7 @@ static int winbond_port(struct platform_
+ return 0;
+ }
+
+-static struct ata_port_operations winbond_port_ops = {
++static const struct ata_port_operations winbond_port_ops = {
+ .inherits = &legacy_base_port_ops,
+ .set_piomode = winbond_set_piomode,
+ .sff_data_xfer = vlb32_data_xfer,
+@@ -978,7 +978,7 @@ static __init int legacy_init_one(struct
+ int pio_modes = controller->pio_mask;
+ unsigned long io = probe->port;
+ u32 mask = (1 << probe->slot);
+- struct ata_port_operations *ops = controller->ops;
++ const struct ata_port_operations *ops = controller->ops;
+ struct legacy_data *ld = &legacy_data[probe->slot];
+ struct ata_host *host = NULL;
+ struct ata_port *ap;
+diff -urNp linux-2.6.31.6/drivers/ata/pata_marvell.c linux-2.6.31.6/drivers/ata/pata_marvell.c
+--- linux-2.6.31.6/drivers/ata/pata_marvell.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_marvell.c 2009-11-12 17:18:35.000000000 -0500
+@@ -100,7 +100,7 @@ static struct scsi_host_template marvell
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations marvell_ops = {
++static const struct ata_port_operations marvell_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = marvell_cable_detect,
+ .prereset = marvell_pre_reset,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_mpc52xx.c linux-2.6.31.6/drivers/ata/pata_mpc52xx.c
+--- linux-2.6.31.6/drivers/ata/pata_mpc52xx.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_mpc52xx.c 2009-11-12 17:18:35.000000000 -0500
+@@ -609,7 +609,7 @@ static struct scsi_host_template mpc52xx
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations mpc52xx_ata_port_ops = {
++static const struct ata_port_operations mpc52xx_ata_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .sff_dev_select = mpc52xx_ata_dev_select,
+ .set_piomode = mpc52xx_ata_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_mpiix.c linux-2.6.31.6/drivers/ata/pata_mpiix.c
+--- linux-2.6.31.6/drivers/ata/pata_mpiix.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_mpiix.c 2009-11-12 17:18:35.000000000 -0500
+@@ -140,7 +140,7 @@ static struct scsi_host_template mpiix_s
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations mpiix_port_ops = {
++static const struct ata_port_operations mpiix_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .qc_issue = mpiix_qc_issue,
+ .cable_detect = ata_cable_40wire,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_netcell.c linux-2.6.31.6/drivers/ata/pata_netcell.c
+--- linux-2.6.31.6/drivers/ata/pata_netcell.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_netcell.c 2009-11-12 17:18:35.000000000 -0500
+@@ -34,7 +34,7 @@ static struct scsi_host_template netcell
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations netcell_ops = {
++static const struct ata_port_operations netcell_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = ata_cable_80wire,
+ .read_id = netcell_read_id,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_ninja32.c linux-2.6.31.6/drivers/ata/pata_ninja32.c
+--- linux-2.6.31.6/drivers/ata/pata_ninja32.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_ninja32.c 2009-11-12 17:18:35.000000000 -0500
+@@ -81,7 +81,7 @@ static struct scsi_host_template ninja32
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations ninja32_port_ops = {
++static const struct ata_port_operations ninja32_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .sff_dev_select = ninja32_dev_select,
+ .cable_detect = ata_cable_40wire,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_ns87410.c linux-2.6.31.6/drivers/ata/pata_ns87410.c
+--- linux-2.6.31.6/drivers/ata/pata_ns87410.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_ns87410.c 2009-11-12 17:18:35.000000000 -0500
+@@ -132,7 +132,7 @@ static struct scsi_host_template ns87410
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations ns87410_port_ops = {
++static const struct ata_port_operations ns87410_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .qc_issue = ns87410_qc_issue,
+ .cable_detect = ata_cable_40wire,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_ns87415.c linux-2.6.31.6/drivers/ata/pata_ns87415.c
+--- linux-2.6.31.6/drivers/ata/pata_ns87415.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_ns87415.c 2009-11-12 17:18:35.000000000 -0500
+@@ -299,7 +299,7 @@ static u8 ns87560_bmdma_status(struct at
+ }
+ #endif /* 87560 SuperIO Support */
+
+-static struct ata_port_operations ns87415_pata_ops = {
++static const struct ata_port_operations ns87415_pata_ops = {
+ .inherits = &ata_bmdma_port_ops,
+
+ .check_atapi_dma = ns87415_check_atapi_dma,
+@@ -313,7 +313,7 @@ static struct ata_port_operations ns8741
+ };
+
+ #if defined(CONFIG_SUPERIO)
+-static struct ata_port_operations ns87560_pata_ops = {
++static const struct ata_port_operations ns87560_pata_ops = {
+ .inherits = &ns87415_pata_ops,
+ .sff_tf_read = ns87560_tf_read,
+ .sff_check_status = ns87560_check_status,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_oldpiix.c linux-2.6.31.6/drivers/ata/pata_oldpiix.c
+--- linux-2.6.31.6/drivers/ata/pata_oldpiix.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_oldpiix.c 2009-11-12 17:18:35.000000000 -0500
+@@ -208,7 +208,7 @@ static struct scsi_host_template oldpiix
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations oldpiix_pata_ops = {
++static const struct ata_port_operations oldpiix_pata_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .qc_issue = oldpiix_qc_issue,
+ .cable_detect = ata_cable_40wire,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_opti.c linux-2.6.31.6/drivers/ata/pata_opti.c
+--- linux-2.6.31.6/drivers/ata/pata_opti.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_opti.c 2009-11-12 17:18:35.000000000 -0500
+@@ -152,7 +152,7 @@ static struct scsi_host_template opti_sh
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations opti_port_ops = {
++static const struct ata_port_operations opti_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .cable_detect = ata_cable_40wire,
+ .set_piomode = opti_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_optidma.c linux-2.6.31.6/drivers/ata/pata_optidma.c
+--- linux-2.6.31.6/drivers/ata/pata_optidma.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_optidma.c 2009-11-12 17:18:35.000000000 -0500
+@@ -337,7 +337,7 @@ static struct scsi_host_template optidma
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations optidma_port_ops = {
++static const struct ata_port_operations optidma_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = ata_cable_40wire,
+ .set_piomode = optidma_set_pio_mode,
+@@ -346,7 +346,7 @@ static struct ata_port_operations optidm
+ .prereset = optidma_pre_reset,
+ };
+
+-static struct ata_port_operations optiplus_port_ops = {
++static const struct ata_port_operations optiplus_port_ops = {
+ .inherits = &optidma_port_ops,
+ .set_piomode = optiplus_set_pio_mode,
+ .set_dmamode = optiplus_set_dma_mode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_palmld.c linux-2.6.31.6/drivers/ata/pata_palmld.c
+--- linux-2.6.31.6/drivers/ata/pata_palmld.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_palmld.c 2009-11-12 17:18:35.000000000 -0500
+@@ -37,7 +37,7 @@ static struct scsi_host_template palmld_
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations palmld_port_ops = {
++static const struct ata_port_operations palmld_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .sff_data_xfer = ata_sff_data_xfer_noirq,
+ .cable_detect = ata_cable_40wire,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_pcmcia.c linux-2.6.31.6/drivers/ata/pata_pcmcia.c
+--- linux-2.6.31.6/drivers/ata/pata_pcmcia.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_pcmcia.c 2009-11-12 17:18:35.000000000 -0500
+@@ -162,14 +162,14 @@ static struct scsi_host_template pcmcia_
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations pcmcia_port_ops = {
++static const struct ata_port_operations pcmcia_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .sff_data_xfer = ata_sff_data_xfer_noirq,
+ .cable_detect = ata_cable_40wire,
+ .set_mode = pcmcia_set_mode,
+ };
+
+-static struct ata_port_operations pcmcia_8bit_port_ops = {
++static const struct ata_port_operations pcmcia_8bit_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .sff_data_xfer = ata_data_xfer_8bit,
+ .cable_detect = ata_cable_40wire,
+@@ -256,7 +256,7 @@ static int pcmcia_init_one(struct pcmcia
+ unsigned long io_base, ctl_base;
+ void __iomem *io_addr, *ctl_addr;
+ int n_ports = 1;
+- struct ata_port_operations *ops = &pcmcia_port_ops;
++ const struct ata_port_operations *ops = &pcmcia_port_ops;
+
+ info = kzalloc(sizeof(*info), GFP_KERNEL);
+ if (info == NULL)
+diff -urNp linux-2.6.31.6/drivers/ata/pata_pdc2027x.c linux-2.6.31.6/drivers/ata/pata_pdc2027x.c
+--- linux-2.6.31.6/drivers/ata/pata_pdc2027x.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_pdc2027x.c 2009-11-12 17:18:35.000000000 -0500
+@@ -132,14 +132,14 @@ static struct scsi_host_template pdc2027
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations pdc2027x_pata100_ops = {
++static const struct ata_port_operations pdc2027x_pata100_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .check_atapi_dma = pdc2027x_check_atapi_dma,
+ .cable_detect = pdc2027x_cable_detect,
+ .prereset = pdc2027x_prereset,
+ };
+
+-static struct ata_port_operations pdc2027x_pata133_ops = {
++static const struct ata_port_operations pdc2027x_pata133_ops = {
+ .inherits = &pdc2027x_pata100_ops,
+ .mode_filter = pdc2027x_mode_filter,
+ .set_piomode = pdc2027x_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_pdc202xx_old.c linux-2.6.31.6/drivers/ata/pata_pdc202xx_old.c
+--- linux-2.6.31.6/drivers/ata/pata_pdc202xx_old.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_pdc202xx_old.c 2009-11-12 17:18:35.000000000 -0500
+@@ -265,7 +265,7 @@ static struct scsi_host_template pdc202x
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations pdc2024x_port_ops = {
++static const struct ata_port_operations pdc2024x_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+
+ .cable_detect = ata_cable_40wire,
+@@ -273,7 +273,7 @@ static struct ata_port_operations pdc202
+ .set_dmamode = pdc202xx_set_dmamode,
+ };
+
+-static struct ata_port_operations pdc2026x_port_ops = {
++static const struct ata_port_operations pdc2026x_port_ops = {
+ .inherits = &pdc2024x_port_ops,
+
+ .check_atapi_dma = pdc2026x_check_atapi_dma,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_platform.c linux-2.6.31.6/drivers/ata/pata_platform.c
+--- linux-2.6.31.6/drivers/ata/pata_platform.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_platform.c 2009-11-12 17:18:35.000000000 -0500
+@@ -48,7 +48,7 @@ static struct scsi_host_template pata_pl
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations pata_platform_port_ops = {
++static const struct ata_port_operations pata_platform_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .sff_data_xfer = ata_sff_data_xfer_noirq,
+ .cable_detect = ata_cable_unknown,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_qdi.c linux-2.6.31.6/drivers/ata/pata_qdi.c
+--- linux-2.6.31.6/drivers/ata/pata_qdi.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_qdi.c 2009-11-12 17:18:35.000000000 -0500
+@@ -157,7 +157,7 @@ static struct scsi_host_template qdi_sht
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations qdi6500_port_ops = {
++static const struct ata_port_operations qdi6500_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .qc_issue = qdi_qc_issue,
+ .sff_data_xfer = qdi_data_xfer,
+@@ -165,7 +165,7 @@ static struct ata_port_operations qdi650
+ .set_piomode = qdi6500_set_piomode,
+ };
+
+-static struct ata_port_operations qdi6580_port_ops = {
++static const struct ata_port_operations qdi6580_port_ops = {
+ .inherits = &qdi6500_port_ops,
+ .set_piomode = qdi6580_set_piomode,
+ };
+diff -urNp linux-2.6.31.6/drivers/ata/pata_radisys.c linux-2.6.31.6/drivers/ata/pata_radisys.c
+--- linux-2.6.31.6/drivers/ata/pata_radisys.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_radisys.c 2009-11-12 17:18:35.000000000 -0500
+@@ -187,7 +187,7 @@ static struct scsi_host_template radisys
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations radisys_pata_ops = {
++static const struct ata_port_operations radisys_pata_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .qc_issue = radisys_qc_issue,
+ .cable_detect = ata_cable_unknown,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_rb532_cf.c linux-2.6.31.6/drivers/ata/pata_rb532_cf.c
+--- linux-2.6.31.6/drivers/ata/pata_rb532_cf.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_rb532_cf.c 2009-11-12 17:18:35.000000000 -0500
+@@ -68,7 +68,7 @@ static irqreturn_t rb532_pata_irq_handle
+ return IRQ_HANDLED;
+ }
+
+-static struct ata_port_operations rb532_pata_port_ops = {
++static const struct ata_port_operations rb532_pata_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .sff_data_xfer = ata_sff_data_xfer32,
+ };
+diff -urNp linux-2.6.31.6/drivers/ata/pata_rz1000.c linux-2.6.31.6/drivers/ata/pata_rz1000.c
+--- linux-2.6.31.6/drivers/ata/pata_rz1000.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_rz1000.c 2009-11-12 17:18:35.000000000 -0500
+@@ -54,7 +54,7 @@ static struct scsi_host_template rz1000_
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations rz1000_port_ops = {
++static const struct ata_port_operations rz1000_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .cable_detect = ata_cable_40wire,
+ .set_mode = rz1000_set_mode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_sc1200.c linux-2.6.31.6/drivers/ata/pata_sc1200.c
+--- linux-2.6.31.6/drivers/ata/pata_sc1200.c 2009-11-10 18:47:57.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_sc1200.c 2009-11-12 17:18:35.000000000 -0500
+@@ -207,7 +207,7 @@ static struct scsi_host_template sc1200_
+ .sg_tablesize = LIBATA_DUMB_MAX_PRD,
+ };
+
+-static struct ata_port_operations sc1200_port_ops = {
++static const struct ata_port_operations sc1200_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .qc_prep = ata_sff_dumb_qc_prep,
+ .qc_issue = sc1200_qc_issue,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_scc.c linux-2.6.31.6/drivers/ata/pata_scc.c
+--- linux-2.6.31.6/drivers/ata/pata_scc.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_scc.c 2009-11-12 17:18:35.000000000 -0500
+@@ -965,7 +965,7 @@ static struct scsi_host_template scc_sht
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations scc_pata_ops = {
++static const struct ata_port_operations scc_pata_ops = {
+ .inherits = &ata_bmdma_port_ops,
+
+ .set_piomode = scc_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_sch.c linux-2.6.31.6/drivers/ata/pata_sch.c
+--- linux-2.6.31.6/drivers/ata/pata_sch.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_sch.c 2009-11-12 17:18:35.000000000 -0500
+@@ -75,7 +75,7 @@ static struct scsi_host_template sch_sht
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations sch_pata_ops = {
++static const struct ata_port_operations sch_pata_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = ata_cable_unknown,
+ .set_piomode = sch_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_serverworks.c linux-2.6.31.6/drivers/ata/pata_serverworks.c
+--- linux-2.6.31.6/drivers/ata/pata_serverworks.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_serverworks.c 2009-11-12 17:18:35.000000000 -0500
+@@ -299,7 +299,7 @@ static struct scsi_host_template serverw
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations serverworks_osb4_port_ops = {
++static const struct ata_port_operations serverworks_osb4_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = serverworks_cable_detect,
+ .mode_filter = serverworks_osb4_filter,
+@@ -307,7 +307,7 @@ static struct ata_port_operations server
+ .set_dmamode = serverworks_set_dmamode,
+ };
+
+-static struct ata_port_operations serverworks_csb_port_ops = {
++static const struct ata_port_operations serverworks_csb_port_ops = {
+ .inherits = &serverworks_osb4_port_ops,
+ .mode_filter = serverworks_csb_filter,
+ };
+diff -urNp linux-2.6.31.6/drivers/ata/pata_sil680.c linux-2.6.31.6/drivers/ata/pata_sil680.c
+--- linux-2.6.31.6/drivers/ata/pata_sil680.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_sil680.c 2009-11-12 17:18:35.000000000 -0500
+@@ -194,7 +194,7 @@ static struct scsi_host_template sil680_
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations sil680_port_ops = {
++static const struct ata_port_operations sil680_port_ops = {
+ .inherits = &ata_bmdma32_port_ops,
+ .cable_detect = sil680_cable_detect,
+ .set_piomode = sil680_set_piomode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_sis.c linux-2.6.31.6/drivers/ata/pata_sis.c
+--- linux-2.6.31.6/drivers/ata/pata_sis.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_sis.c 2009-11-12 17:18:35.000000000 -0500
+@@ -503,47 +503,47 @@ static struct scsi_host_template sis_sht
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations sis_133_for_sata_ops = {
++static const struct ata_port_operations sis_133_for_sata_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .set_piomode = sis_133_set_piomode,
+ .set_dmamode = sis_133_set_dmamode,
+ .cable_detect = sis_133_cable_detect,
+ };
+
+-static struct ata_port_operations sis_base_ops = {
++static const struct ata_port_operations sis_base_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .prereset = sis_pre_reset,
+ };
+
+-static struct ata_port_operations sis_133_ops = {
++static const struct ata_port_operations sis_133_ops = {
+ .inherits = &sis_base_ops,
+ .set_piomode = sis_133_set_piomode,
+ .set_dmamode = sis_133_set_dmamode,
+ .cable_detect = sis_133_cable_detect,
+ };
+
+-static struct ata_port_operations sis_133_early_ops = {
++static const struct ata_port_operations sis_133_early_ops = {
+ .inherits = &sis_base_ops,
+ .set_piomode = sis_100_set_piomode,
+ .set_dmamode = sis_133_early_set_dmamode,
+ .cable_detect = sis_66_cable_detect,
+ };
+
+-static struct ata_port_operations sis_100_ops = {
++static const struct ata_port_operations sis_100_ops = {
+ .inherits = &sis_base_ops,
+ .set_piomode = sis_100_set_piomode,
+ .set_dmamode = sis_100_set_dmamode,
+ .cable_detect = sis_66_cable_detect,
+ };
+
+-static struct ata_port_operations sis_66_ops = {
++static const struct ata_port_operations sis_66_ops = {
+ .inherits = &sis_base_ops,
+ .set_piomode = sis_old_set_piomode,
+ .set_dmamode = sis_66_set_dmamode,
+ .cable_detect = sis_66_cable_detect,
+ };
+
+-static struct ata_port_operations sis_old_ops = {
++static const struct ata_port_operations sis_old_ops = {
+ .inherits = &sis_base_ops,
+ .set_piomode = sis_old_set_piomode,
+ .set_dmamode = sis_old_set_dmamode,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_sl82c105.c linux-2.6.31.6/drivers/ata/pata_sl82c105.c
+--- linux-2.6.31.6/drivers/ata/pata_sl82c105.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_sl82c105.c 2009-11-12 17:18:35.000000000 -0500
+@@ -231,7 +231,7 @@ static struct scsi_host_template sl82c10
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations sl82c105_port_ops = {
++static const struct ata_port_operations sl82c105_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .qc_defer = sl82c105_qc_defer,
+ .bmdma_start = sl82c105_bmdma_start,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_triflex.c linux-2.6.31.6/drivers/ata/pata_triflex.c
+--- linux-2.6.31.6/drivers/ata/pata_triflex.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_triflex.c 2009-11-12 17:18:35.000000000 -0500
+@@ -178,7 +178,7 @@ static struct scsi_host_template triflex
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations triflex_port_ops = {
++static const struct ata_port_operations triflex_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .bmdma_start = triflex_bmdma_start,
+ .bmdma_stop = triflex_bmdma_stop,
+diff -urNp linux-2.6.31.6/drivers/ata/pata_via.c linux-2.6.31.6/drivers/ata/pata_via.c
+--- linux-2.6.31.6/drivers/ata/pata_via.c 2009-11-10 18:47:57.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_via.c 2009-11-12 17:18:35.000000000 -0500
+@@ -419,7 +419,7 @@ static struct scsi_host_template via_sht
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations via_port_ops = {
++static const struct ata_port_operations via_port_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .cable_detect = via_cable_detect,
+ .set_piomode = via_set_piomode,
+@@ -429,7 +429,7 @@ static struct ata_port_operations via_po
+ .port_start = via_port_start,
+ };
+
+-static struct ata_port_operations via_port_ops_noirq = {
++static const struct ata_port_operations via_port_ops_noirq = {
+ .inherits = &via_port_ops,
+ .sff_data_xfer = ata_sff_data_xfer_noirq,
+ };
+diff -urNp linux-2.6.31.6/drivers/ata/pata_winbond.c linux-2.6.31.6/drivers/ata/pata_winbond.c
+--- linux-2.6.31.6/drivers/ata/pata_winbond.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pata_winbond.c 2009-11-12 17:18:35.000000000 -0500
+@@ -125,7 +125,7 @@ static struct scsi_host_template winbond
+ ATA_PIO_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations winbond_port_ops = {
++static const struct ata_port_operations winbond_port_ops = {
+ .inherits = &ata_sff_port_ops,
+ .sff_data_xfer = winbond_data_xfer,
+ .cable_detect = ata_cable_40wire,
+diff -urNp linux-2.6.31.6/drivers/ata/pdc_adma.c linux-2.6.31.6/drivers/ata/pdc_adma.c
+--- linux-2.6.31.6/drivers/ata/pdc_adma.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/pdc_adma.c 2009-11-12 17:18:35.000000000 -0500
+@@ -145,7 +145,7 @@ static struct scsi_host_template adma_at
+ .dma_boundary = ADMA_DMA_BOUNDARY,
+ };
+
+-static struct ata_port_operations adma_ata_ops = {
++static const struct ata_port_operations adma_ata_ops = {
+ .inherits = &ata_sff_port_ops,
+
+ .lost_interrupt = ATA_OP_NULL,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_fsl.c linux-2.6.31.6/drivers/ata/sata_fsl.c
+--- linux-2.6.31.6/drivers/ata/sata_fsl.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_fsl.c 2009-11-12 17:18:35.000000000 -0500
+@@ -1254,7 +1254,7 @@ static struct scsi_host_template sata_fs
+ .dma_boundary = ATA_DMA_BOUNDARY,
+ };
+
+-static struct ata_port_operations sata_fsl_ops = {
++static const struct ata_port_operations sata_fsl_ops = {
+ .inherits = &sata_pmp_port_ops,
+
+ .qc_prep = sata_fsl_qc_prep,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_inic162x.c linux-2.6.31.6/drivers/ata/sata_inic162x.c
+--- linux-2.6.31.6/drivers/ata/sata_inic162x.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_inic162x.c 2009-11-12 17:18:35.000000000 -0500
+@@ -721,7 +721,7 @@ static int inic_port_start(struct ata_po
+ return 0;
+ }
+
+-static struct ata_port_operations inic_port_ops = {
++static const struct ata_port_operations inic_port_ops = {
+ .inherits = &sata_port_ops,
+
+ .check_atapi_dma = inic_check_atapi_dma,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_mv.c linux-2.6.31.6/drivers/ata/sata_mv.c
+--- linux-2.6.31.6/drivers/ata/sata_mv.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_mv.c 2009-11-12 17:18:35.000000000 -0500
+@@ -656,7 +656,7 @@ static struct scsi_host_template mv6_sht
+ .dma_boundary = MV_DMA_BOUNDARY,
+ };
+
+-static struct ata_port_operations mv5_ops = {
++static const struct ata_port_operations mv5_ops = {
+ .inherits = &ata_sff_port_ops,
+
+ .lost_interrupt = ATA_OP_NULL,
+@@ -678,7 +678,7 @@ static struct ata_port_operations mv5_op
+ .port_stop = mv_port_stop,
+ };
+
+-static struct ata_port_operations mv6_ops = {
++static const struct ata_port_operations mv6_ops = {
+ .inherits = &mv5_ops,
+ .dev_config = mv6_dev_config,
+ .scr_read = mv_scr_read,
+@@ -698,7 +698,7 @@ static struct ata_port_operations mv6_op
+ .bmdma_status = mv_bmdma_status,
+ };
+
+-static struct ata_port_operations mv_iie_ops = {
++static const struct ata_port_operations mv_iie_ops = {
+ .inherits = &mv6_ops,
+ .dev_config = ATA_OP_NULL,
+ .qc_prep = mv_qc_prep_iie,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_nv.c linux-2.6.31.6/drivers/ata/sata_nv.c
+--- linux-2.6.31.6/drivers/ata/sata_nv.c 2009-11-10 18:47:57.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_nv.c 2009-11-12 17:18:35.000000000 -0500
+@@ -464,7 +464,7 @@ static struct scsi_host_template nv_swnc
+ * cases. Define nv_hardreset() which only kicks in for post-boot
+ * probing and use it for all variants.
+ */
+-static struct ata_port_operations nv_generic_ops = {
++static const struct ata_port_operations nv_generic_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .lost_interrupt = ATA_OP_NULL,
+ .scr_read = nv_scr_read,
+@@ -472,20 +472,20 @@ static struct ata_port_operations nv_gen
+ .hardreset = nv_hardreset,
+ };
+
+-static struct ata_port_operations nv_nf2_ops = {
++static const struct ata_port_operations nv_nf2_ops = {
+ .inherits = &nv_generic_ops,
+ .freeze = nv_nf2_freeze,
+ .thaw = nv_nf2_thaw,
+ };
+
+-static struct ata_port_operations nv_ck804_ops = {
++static const struct ata_port_operations nv_ck804_ops = {
+ .inherits = &nv_generic_ops,
+ .freeze = nv_ck804_freeze,
+ .thaw = nv_ck804_thaw,
+ .host_stop = nv_ck804_host_stop,
+ };
+
+-static struct ata_port_operations nv_adma_ops = {
++static const struct ata_port_operations nv_adma_ops = {
+ .inherits = &nv_ck804_ops,
+
+ .check_atapi_dma = nv_adma_check_atapi_dma,
+@@ -509,7 +509,7 @@ static struct ata_port_operations nv_adm
+ .host_stop = nv_adma_host_stop,
+ };
+
+-static struct ata_port_operations nv_swncq_ops = {
++static const struct ata_port_operations nv_swncq_ops = {
+ .inherits = &nv_generic_ops,
+
+ .qc_defer = ata_std_qc_defer,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_promise.c linux-2.6.31.6/drivers/ata/sata_promise.c
+--- linux-2.6.31.6/drivers/ata/sata_promise.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_promise.c 2009-11-12 17:18:35.000000000 -0500
+@@ -184,7 +184,7 @@ static const struct ata_port_operations
+ .error_handler = pdc_error_handler,
+ };
+
+-static struct ata_port_operations pdc_sata_ops = {
++static const struct ata_port_operations pdc_sata_ops = {
+ .inherits = &pdc_common_ops,
+ .cable_detect = pdc_sata_cable_detect,
+ .freeze = pdc_sata_freeze,
+@@ -196,12 +196,12 @@ static struct ata_port_operations pdc_sa
+ };
+
+ /* First-generation chips need a more restrictive ->check_atapi_dma op */
+-static struct ata_port_operations pdc_old_sata_ops = {
++static const struct ata_port_operations pdc_old_sata_ops = {
+ .inherits = &pdc_sata_ops,
+ .check_atapi_dma = pdc_old_sata_check_atapi_dma,
+ };
+
+-static struct ata_port_operations pdc_pata_ops = {
++static const struct ata_port_operations pdc_pata_ops = {
+ .inherits = &pdc_common_ops,
+ .cable_detect = pdc_pata_cable_detect,
+ .freeze = pdc_freeze,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_qstor.c linux-2.6.31.6/drivers/ata/sata_qstor.c
+--- linux-2.6.31.6/drivers/ata/sata_qstor.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_qstor.c 2009-11-12 17:18:35.000000000 -0500
+@@ -132,7 +132,7 @@ static struct scsi_host_template qs_ata_
+ .dma_boundary = QS_DMA_BOUNDARY,
+ };
+
+-static struct ata_port_operations qs_ata_ops = {
++static const struct ata_port_operations qs_ata_ops = {
+ .inherits = &ata_sff_port_ops,
+
+ .check_atapi_dma = qs_check_atapi_dma,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_sil24.c linux-2.6.31.6/drivers/ata/sata_sil24.c
+--- linux-2.6.31.6/drivers/ata/sata_sil24.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_sil24.c 2009-11-12 17:18:35.000000000 -0500
+@@ -388,7 +388,7 @@ static struct scsi_host_template sil24_s
+ .dma_boundary = ATA_DMA_BOUNDARY,
+ };
+
+-static struct ata_port_operations sil24_ops = {
++static const struct ata_port_operations sil24_ops = {
+ .inherits = &sata_pmp_port_ops,
+
+ .qc_defer = sil24_qc_defer,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_sil.c linux-2.6.31.6/drivers/ata/sata_sil.c
+--- linux-2.6.31.6/drivers/ata/sata_sil.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_sil.c 2009-11-12 17:18:35.000000000 -0500
+@@ -182,7 +182,7 @@ static struct scsi_host_template sil_sht
+ .sg_tablesize = ATA_MAX_PRD
+ };
+
+-static struct ata_port_operations sil_ops = {
++static const struct ata_port_operations sil_ops = {
+ .inherits = &ata_bmdma32_port_ops,
+ .dev_config = sil_dev_config,
+ .set_mode = sil_set_mode,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_sis.c linux-2.6.31.6/drivers/ata/sata_sis.c
+--- linux-2.6.31.6/drivers/ata/sata_sis.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_sis.c 2009-11-12 17:18:35.000000000 -0500
+@@ -89,7 +89,7 @@ static struct scsi_host_template sis_sht
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations sis_ops = {
++static const struct ata_port_operations sis_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .scr_read = sis_scr_read,
+ .scr_write = sis_scr_write,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_svw.c linux-2.6.31.6/drivers/ata/sata_svw.c
+--- linux-2.6.31.6/drivers/ata/sata_svw.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_svw.c 2009-11-12 17:18:35.000000000 -0500
+@@ -344,7 +344,7 @@ static struct scsi_host_template k2_sata
+ };
+
+
+-static struct ata_port_operations k2_sata_ops = {
++static const struct ata_port_operations k2_sata_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .sff_tf_load = k2_sata_tf_load,
+ .sff_tf_read = k2_sata_tf_read,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_sx4.c linux-2.6.31.6/drivers/ata/sata_sx4.c
+--- linux-2.6.31.6/drivers/ata/sata_sx4.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_sx4.c 2009-11-12 17:18:35.000000000 -0500
+@@ -248,7 +248,7 @@ static struct scsi_host_template pdc_sat
+ };
+
+ /* TODO: inherit from base port_ops after converting to new EH */
+-static struct ata_port_operations pdc_20621_ops = {
++static const struct ata_port_operations pdc_20621_ops = {
+ .inherits = &ata_sff_port_ops,
+
+ .check_atapi_dma = pdc_check_atapi_dma,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_uli.c linux-2.6.31.6/drivers/ata/sata_uli.c
+--- linux-2.6.31.6/drivers/ata/sata_uli.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_uli.c 2009-11-12 17:18:35.000000000 -0500
+@@ -79,7 +79,7 @@ static struct scsi_host_template uli_sht
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations uli_ops = {
++static const struct ata_port_operations uli_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .scr_read = uli_scr_read,
+ .scr_write = uli_scr_write,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_via.c linux-2.6.31.6/drivers/ata/sata_via.c
+--- linux-2.6.31.6/drivers/ata/sata_via.c 2009-11-10 18:47:57.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_via.c 2009-11-12 17:18:35.000000000 -0500
+@@ -112,31 +112,31 @@ static struct scsi_host_template svia_sh
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations svia_base_ops = {
++static const struct ata_port_operations svia_base_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .sff_tf_load = svia_tf_load,
+ };
+
+-static struct ata_port_operations vt6420_sata_ops = {
++static const struct ata_port_operations vt6420_sata_ops = {
+ .inherits = &svia_base_ops,
+ .freeze = svia_noop_freeze,
+ .prereset = vt6420_prereset,
+ };
+
+-static struct ata_port_operations vt6421_pata_ops = {
++static const struct ata_port_operations vt6421_pata_ops = {
+ .inherits = &svia_base_ops,
+ .cable_detect = vt6421_pata_cable_detect,
+ .set_piomode = vt6421_set_pio_mode,
+ .set_dmamode = vt6421_set_dma_mode,
+ };
+
+-static struct ata_port_operations vt6421_sata_ops = {
++static const struct ata_port_operations vt6421_sata_ops = {
+ .inherits = &svia_base_ops,
+ .scr_read = svia_scr_read,
+ .scr_write = svia_scr_write,
+ };
+
+-static struct ata_port_operations vt8251_ops = {
++static const struct ata_port_operations vt8251_ops = {
+ .inherits = &svia_base_ops,
+ .hardreset = sata_std_hardreset,
+ .scr_read = vt8251_scr_read,
+diff -urNp linux-2.6.31.6/drivers/ata/sata_vsc.c linux-2.6.31.6/drivers/ata/sata_vsc.c
+--- linux-2.6.31.6/drivers/ata/sata_vsc.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/ata/sata_vsc.c 2009-11-12 17:18:35.000000000 -0500
+@@ -306,7 +306,7 @@ static struct scsi_host_template vsc_sat
+ };
+
+
+-static struct ata_port_operations vsc_sata_ops = {
++static const struct ata_port_operations vsc_sata_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ /* The IRQ handling is not quite standard SFF behaviour so we
+ cannot use the default lost interrupt handler */
diff -urNp linux-2.6.31.6/drivers/atm/adummy.c linux-2.6.31.6/drivers/atm/adummy.c
--- linux-2.6.31.6/drivers/atm/adummy.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/adummy.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/adummy.c 2009-11-12 17:18:17.000000000 -0500
@@ -77,7 +77,7 @@ adummy_send(struct atm_vcc *vcc, struct
vcc->pop(vcc, skb);
else
@@ -18090,7 +19642,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/adummy.c linux-2.6.31.6/drivers/atm/adummy
}
diff -urNp linux-2.6.31.6/drivers/atm/ambassador.c linux-2.6.31.6/drivers/atm/ambassador.c
--- linux-2.6.31.6/drivers/atm/ambassador.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/ambassador.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/ambassador.c 2009-11-12 17:18:17.000000000 -0500
@@ -453,7 +453,7 @@ static void tx_complete (amb_dev * dev,
PRINTD (DBG_FLOW|DBG_TX, "tx_complete %p %p", dev, tx);
@@ -18129,7 +19681,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/ambassador.c linux-2.6.31.6/drivers/atm/am
diff -urNp linux-2.6.31.6/drivers/atm/atmtcp.c linux-2.6.31.6/drivers/atm/atmtcp.c
--- linux-2.6.31.6/drivers/atm/atmtcp.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/atmtcp.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/atmtcp.c 2009-11-12 17:18:17.000000000 -0500
@@ -206,7 +206,7 @@ static int atmtcp_v_send(struct atm_vcc
if (vcc->pop) vcc->pop(vcc,skb);
else dev_kfree_skb(skb);
@@ -18181,7 +19733,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/atmtcp.c linux-2.6.31.6/drivers/atm/atmtcp
else dev_kfree_skb(skb);
diff -urNp linux-2.6.31.6/drivers/atm/eni.c linux-2.6.31.6/drivers/atm/eni.c
--- linux-2.6.31.6/drivers/atm/eni.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/eni.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/eni.c 2009-11-12 17:18:17.000000000 -0500
@@ -525,7 +525,7 @@ static int rx_aal0(struct atm_vcc *vcc)
DPRINTK(DEV_LABEL "(itf %d): trashing empty cell\n",
vcc->dev->number);
@@ -18229,7 +19781,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/eni.c linux-2.6.31.6/drivers/atm/eni.c
}
diff -urNp linux-2.6.31.6/drivers/atm/firestream.c linux-2.6.31.6/drivers/atm/firestream.c
--- linux-2.6.31.6/drivers/atm/firestream.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/firestream.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/firestream.c 2009-11-12 17:18:17.000000000 -0500
@@ -748,7 +748,7 @@ static void process_txdone_queue (struct
}
}
@@ -18265,7 +19817,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/firestream.c linux-2.6.31.6/drivers/atm/fi
printk (KERN_WARNING "Don't know what to do with RX status %x: %s.\n",
diff -urNp linux-2.6.31.6/drivers/atm/fore200e.c linux-2.6.31.6/drivers/atm/fore200e.c
--- linux-2.6.31.6/drivers/atm/fore200e.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/fore200e.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/fore200e.c 2009-11-12 17:18:17.000000000 -0500
@@ -931,9 +931,9 @@ fore200e_tx_irq(struct fore200e* fore200
#endif
/* check error condition */
@@ -18324,7 +19876,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/fore200e.c linux-2.6.31.6/drivers/atm/fore
DPRINTK(2, "tx queue of device %s is saturated, PDU dropped - heartbeat is %08x\n",
diff -urNp linux-2.6.31.6/drivers/atm/he.c linux-2.6.31.6/drivers/atm/he.c
--- linux-2.6.31.6/drivers/atm/he.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/he.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/he.c 2009-11-12 17:18:17.000000000 -0500
@@ -1728,7 +1728,7 @@ he_service_rbrq(struct he_dev *he_dev, i
if (RBRQ_HBUF_ERR(he_dev->rbrq_head)) {
@@ -18408,7 +19960,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/he.c linux-2.6.31.6/drivers/atm/he.c
}
diff -urNp linux-2.6.31.6/drivers/atm/horizon.c linux-2.6.31.6/drivers/atm/horizon.c
--- linux-2.6.31.6/drivers/atm/horizon.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/horizon.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/horizon.c 2009-11-12 17:18:17.000000000 -0500
@@ -1033,7 +1033,7 @@ static void rx_schedule (hrz_dev * dev,
{
struct atm_vcc * vcc = ATM_SKB(skb)->vcc;
@@ -18429,7 +19981,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/horizon.c linux-2.6.31.6/drivers/atm/horiz
hrz_kfree_skb (skb);
diff -urNp linux-2.6.31.6/drivers/atm/idt77252.c linux-2.6.31.6/drivers/atm/idt77252.c
--- linux-2.6.31.6/drivers/atm/idt77252.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/idt77252.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/idt77252.c 2009-11-12 17:18:17.000000000 -0500
@@ -810,7 +810,7 @@ drain_scq(struct idt77252_dev *card, str
else
dev_kfree_skb(skb);
@@ -18586,7 +20138,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/idt77252.c linux-2.6.31.6/drivers/atm/idt7
atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc);
diff -urNp linux-2.6.31.6/drivers/atm/iphase.c linux-2.6.31.6/drivers/atm/iphase.c
--- linux-2.6.31.6/drivers/atm/iphase.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/iphase.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/iphase.c 2009-11-12 17:18:17.000000000 -0500
@@ -1123,7 +1123,7 @@ static int rx_pkt(struct atm_dev *dev)
status = (u_short) (buf_desc_ptr->desc_mode);
if (status & (RX_CER | RX_PTE | RX_OFL))
@@ -18685,7 +20237,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/iphase.c linux-2.6.31.6/drivers/atm/iphase
printk("Tx1: vcc->tx_quota = %d \n", (u32)vcc->tx_quota );
diff -urNp linux-2.6.31.6/drivers/atm/lanai.c linux-2.6.31.6/drivers/atm/lanai.c
--- linux-2.6.31.6/drivers/atm/lanai.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/lanai.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/lanai.c 2009-11-12 17:18:17.000000000 -0500
@@ -1305,7 +1305,7 @@ static void lanai_send_one_aal5(struct l
vcc_tx_add_aal5_trailer(lvcc, skb->len, 0, 0);
lanai_endtx(lanai, lvcc);
@@ -18742,7 +20294,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/lanai.c linux-2.6.31.6/drivers/atm/lanai.c
cardvcc_write(lvcc, SERVICE_GET_END(s), vcc_rxreadptr);
diff -urNp linux-2.6.31.6/drivers/atm/nicstar.c linux-2.6.31.6/drivers/atm/nicstar.c
--- linux-2.6.31.6/drivers/atm/nicstar.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/nicstar.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/nicstar.c 2009-11-12 17:18:17.000000000 -0500
@@ -1723,7 +1723,7 @@ static int ns_send(struct atm_vcc *vcc,
if ((vc = (vc_map *) vcc->dev_data) == NULL)
{
@@ -18947,7 +20499,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/nicstar.c linux-2.6.31.6/drivers/atm/nicst
diff -urNp linux-2.6.31.6/drivers/atm/solos-pci.c linux-2.6.31.6/drivers/atm/solos-pci.c
--- linux-2.6.31.6/drivers/atm/solos-pci.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/solos-pci.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/solos-pci.c 2009-11-12 17:18:17.000000000 -0500
@@ -663,7 +663,7 @@ void solos_bh(unsigned long card_arg)
}
atm_charge(vcc, skb->truesize);
@@ -18968,7 +20520,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/solos-pci.c linux-2.6.31.6/drivers/atm/sol
dev_kfree_skb_irq(oldskb);
diff -urNp linux-2.6.31.6/drivers/atm/suni.c linux-2.6.31.6/drivers/atm/suni.c
--- linux-2.6.31.6/drivers/atm/suni.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/suni.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/suni.c 2009-11-12 17:18:17.000000000 -0500
@@ -49,8 +49,8 @@ static DEFINE_SPINLOCK(sunis_lock);
@@ -18982,7 +20534,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/suni.c linux-2.6.31.6/drivers/atm/suni.c
static void suni_hz(unsigned long from_timer)
diff -urNp linux-2.6.31.6/drivers/atm/uPD98402.c linux-2.6.31.6/drivers/atm/uPD98402.c
--- linux-2.6.31.6/drivers/atm/uPD98402.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/uPD98402.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/uPD98402.c 2009-11-12 17:18:17.000000000 -0500
@@ -41,7 +41,7 @@ static int fetch_stats(struct atm_dev *d
struct sonet_stats tmp;
int error = 0;
@@ -19029,7 +20581,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/uPD98402.c linux-2.6.31.6/drivers/atm/uPD9
diff -urNp linux-2.6.31.6/drivers/atm/zatm.c linux-2.6.31.6/drivers/atm/zatm.c
--- linux-2.6.31.6/drivers/atm/zatm.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/atm/zatm.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/atm/zatm.c 2009-11-12 17:18:17.000000000 -0500
@@ -458,7 +458,7 @@ printk("dummy: 0x%08lx, 0x%08lx\n",dummy
}
if (!size) {
@@ -19059,7 +20611,7 @@ diff -urNp linux-2.6.31.6/drivers/atm/zatm.c linux-2.6.31.6/drivers/atm/zatm.c
diff -urNp linux-2.6.31.6/drivers/base/bus.c linux-2.6.31.6/drivers/base/bus.c
--- linux-2.6.31.6/drivers/base/bus.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/base/bus.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/base/bus.c 2009-11-12 17:18:35.000000000 -0500
@@ -70,7 +70,7 @@ static ssize_t drv_attr_store(struct kob
return ret;
}
@@ -19078,9 +20630,18 @@ diff -urNp linux-2.6.31.6/drivers/base/bus.c linux-2.6.31.6/drivers/base/bus.c
.show = bus_attr_show,
.store = bus_attr_store,
};
+@@ -154,7 +154,7 @@ static int bus_uevent_filter(struct kset
+ return 0;
+ }
+
+-static struct kset_uevent_ops bus_uevent_ops = {
++static const struct kset_uevent_ops bus_uevent_ops = {
+ .filter = bus_uevent_filter,
+ };
+
diff -urNp linux-2.6.31.6/drivers/base/class.c linux-2.6.31.6/drivers/base/class.c
--- linux-2.6.31.6/drivers/base/class.c 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/base/class.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/base/class.c 2009-11-12 17:18:17.000000000 -0500
@@ -61,7 +61,7 @@ static void class_release(struct kobject
"be careful\n", class->name);
}
@@ -19092,7 +20653,7 @@ diff -urNp linux-2.6.31.6/drivers/base/class.c linux-2.6.31.6/drivers/base/class
};
diff -urNp linux-2.6.31.6/drivers/base/core.c linux-2.6.31.6/drivers/base/core.c
--- linux-2.6.31.6/drivers/base/core.c 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/base/core.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/base/core.c 2009-11-12 17:18:35.000000000 -0500
@@ -93,7 +93,7 @@ static ssize_t dev_attr_store(struct kob
return ret;
}
@@ -19102,9 +20663,30 @@ diff -urNp linux-2.6.31.6/drivers/base/core.c linux-2.6.31.6/drivers/base/core.c
.show = dev_attr_show,
.store = dev_attr_store,
};
+@@ -242,7 +242,7 @@ static int dev_uevent(struct kset *kset,
+ return retval;
+ }
+
+-static struct kset_uevent_ops device_uevent_ops = {
++static const struct kset_uevent_ops device_uevent_ops = {
+ .filter = dev_uevent_filter,
+ .name = dev_uevent_name,
+ .uevent = dev_uevent,
+diff -urNp linux-2.6.31.6/drivers/base/memory.c linux-2.6.31.6/drivers/base/memory.c
+--- linux-2.6.31.6/drivers/base/memory.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/base/memory.c 2009-11-12 17:18:35.000000000 -0500
+@@ -44,7 +44,7 @@ static int memory_uevent(struct kset *ks
+ return retval;
+ }
+
+-static struct kset_uevent_ops memory_uevent_ops = {
++static const struct kset_uevent_ops memory_uevent_ops = {
+ .name = memory_uevent_name,
+ .uevent = memory_uevent,
+ };
diff -urNp linux-2.6.31.6/drivers/base/sys.c linux-2.6.31.6/drivers/base/sys.c
--- linux-2.6.31.6/drivers/base/sys.c 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/base/sys.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/base/sys.c 2009-11-12 17:18:17.000000000 -0500
@@ -54,7 +54,7 @@ sysdev_store(struct kobject *kobj, struc
return -EIO;
}
@@ -19125,7 +20707,7 @@ diff -urNp linux-2.6.31.6/drivers/base/sys.c linux-2.6.31.6/drivers/base/sys.c
};
diff -urNp linux-2.6.31.6/drivers/block/cciss.c linux-2.6.31.6/drivers/block/cciss.c
--- linux-2.6.31.6/drivers/block/cciss.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/block/cciss.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/block/cciss.c 2009-11-12 17:18:17.000000000 -0500
@@ -363,7 +363,7 @@ static void cciss_seq_stop(struct seq_fi
h->busy_configuring = 0;
}
@@ -19146,7 +20728,7 @@ diff -urNp linux-2.6.31.6/drivers/block/cciss.c linux-2.6.31.6/drivers/block/cci
.read = seq_read,
diff -urNp linux-2.6.31.6/drivers/block/pktcdvd.c linux-2.6.31.6/drivers/block/pktcdvd.c
--- linux-2.6.31.6/drivers/block/pktcdvd.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/block/pktcdvd.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/block/pktcdvd.c 2009-11-12 17:18:17.000000000 -0500
@@ -284,7 +284,7 @@ static ssize_t kobj_pkt_store(struct kob
return len;
}
@@ -19158,7 +20740,7 @@ diff -urNp linux-2.6.31.6/drivers/block/pktcdvd.c linux-2.6.31.6/drivers/block/p
};
diff -urNp linux-2.6.31.6/drivers/char/agp/agp.h linux-2.6.31.6/drivers/char/agp/agp.h
--- linux-2.6.31.6/drivers/char/agp/agp.h 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/agp/agp.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/agp/agp.h 2009-11-12 17:18:17.000000000 -0500
@@ -126,7 +126,7 @@ struct agp_bridge_driver {
struct agp_bridge_data {
const struct agp_version *version;
@@ -19170,7 +20752,7 @@ diff -urNp linux-2.6.31.6/drivers/char/agp/agp.h linux-2.6.31.6/drivers/char/agp
void *dev_private_data;
diff -urNp linux-2.6.31.6/drivers/char/agp/alpha-agp.c linux-2.6.31.6/drivers/char/agp/alpha-agp.c
--- linux-2.6.31.6/drivers/char/agp/alpha-agp.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/agp/alpha-agp.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/agp/alpha-agp.c 2009-11-12 17:18:17.000000000 -0500
@@ -40,7 +40,7 @@ static struct aper_size_info_fixed alpha
{ 0, 0, 0 }, /* filled in by alpha_core_agp_setup */
};
@@ -19182,7 +20764,7 @@ diff -urNp linux-2.6.31.6/drivers/char/agp/alpha-agp.c linux-2.6.31.6/drivers/ch
diff -urNp linux-2.6.31.6/drivers/char/agp/frontend.c linux-2.6.31.6/drivers/char/agp/frontend.c
--- linux-2.6.31.6/drivers/char/agp/frontend.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/agp/frontend.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/agp/frontend.c 2009-11-12 17:18:17.000000000 -0500
@@ -824,7 +824,7 @@ static int agpioc_reserve_wrap(struct ag
if (copy_from_user(&reserve, arg, sizeof(struct agp_region)))
return -EFAULT;
@@ -19194,7 +20776,7 @@ diff -urNp linux-2.6.31.6/drivers/char/agp/frontend.c linux-2.6.31.6/drivers/cha
client = agp_find_client_by_pid(reserve.pid);
diff -urNp linux-2.6.31.6/drivers/char/agp/intel-agp.c linux-2.6.31.6/drivers/char/agp/intel-agp.c
--- linux-2.6.31.6/drivers/char/agp/intel-agp.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/agp/intel-agp.c 2009-11-10 18:53:42.000000000 -0500
++++ linux-2.6.31.6/drivers/char/agp/intel-agp.c 2009-11-12 17:18:17.000000000 -0500
@@ -2418,7 +2418,7 @@ static struct pci_device_id agp_intel_pc
ID(PCI_DEVICE_ID_INTEL_IGDNG_D_HB),
ID(PCI_DEVICE_ID_INTEL_IGDNG_M_HB),
@@ -19206,7 +20788,7 @@ diff -urNp linux-2.6.31.6/drivers/char/agp/intel-agp.c linux-2.6.31.6/drivers/ch
MODULE_DEVICE_TABLE(pci, agp_intel_pci_table);
diff -urNp linux-2.6.31.6/drivers/char/apm-emulation.c linux-2.6.31.6/drivers/char/apm-emulation.c
--- linux-2.6.31.6/drivers/char/apm-emulation.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/apm-emulation.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/apm-emulation.c 2009-11-12 17:18:17.000000000 -0500
@@ -393,7 +393,7 @@ static int apm_open(struct inode * inode
return as ? 0 : -ENOMEM;
}
@@ -19218,7 +20800,7 @@ diff -urNp linux-2.6.31.6/drivers/char/apm-emulation.c linux-2.6.31.6/drivers/ch
.poll = apm_poll,
diff -urNp linux-2.6.31.6/drivers/char/bfin-otp.c linux-2.6.31.6/drivers/char/bfin-otp.c
--- linux-2.6.31.6/drivers/char/bfin-otp.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/bfin-otp.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/bfin-otp.c 2009-11-12 17:18:17.000000000 -0500
@@ -133,7 +133,7 @@ static ssize_t bfin_otp_write(struct fil
# define bfin_otp_write NULL
#endif
@@ -19230,7 +20812,7 @@ diff -urNp linux-2.6.31.6/drivers/char/bfin-otp.c linux-2.6.31.6/drivers/char/bf
.write = bfin_otp_write,
diff -urNp linux-2.6.31.6/drivers/char/hpet.c linux-2.6.31.6/drivers/char/hpet.c
--- linux-2.6.31.6/drivers/char/hpet.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/hpet.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/hpet.c 2009-11-12 17:18:17.000000000 -0500
@@ -995,7 +995,7 @@ static struct acpi_driver hpet_acpi_driv
},
};
@@ -19242,7 +20824,7 @@ diff -urNp linux-2.6.31.6/drivers/char/hpet.c linux-2.6.31.6/drivers/char/hpet.c
{
diff -urNp linux-2.6.31.6/drivers/char/hvc_beat.c linux-2.6.31.6/drivers/char/hvc_beat.c
--- linux-2.6.31.6/drivers/char/hvc_beat.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/hvc_beat.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/hvc_beat.c 2009-11-12 17:18:17.000000000 -0500
@@ -84,7 +84,7 @@ static int hvc_beat_put_chars(uint32_t v
return cnt;
}
@@ -19254,7 +20836,7 @@ diff -urNp linux-2.6.31.6/drivers/char/hvc_beat.c linux-2.6.31.6/drivers/char/hv
};
diff -urNp linux-2.6.31.6/drivers/char/hvc_console.c linux-2.6.31.6/drivers/char/hvc_console.c
--- linux-2.6.31.6/drivers/char/hvc_console.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/hvc_console.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/hvc_console.c 2009-11-12 17:18:17.000000000 -0500
@@ -125,7 +125,7 @@ static struct hvc_struct *hvc_get_by_ind
* console interfaces but can still be used as a tty device. This has to be
* static because kmalloc will not work during early console init.
@@ -19284,7 +20866,7 @@ diff -urNp linux-2.6.31.6/drivers/char/hvc_console.c linux-2.6.31.6/drivers/char
int i;
diff -urNp linux-2.6.31.6/drivers/char/hvc_console.h linux-2.6.31.6/drivers/char/hvc_console.h
--- linux-2.6.31.6/drivers/char/hvc_console.h 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/hvc_console.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/hvc_console.h 2009-11-12 17:18:17.000000000 -0500
@@ -54,7 +54,7 @@ struct hvc_struct {
int outbuf_size;
int n_outbuf;
@@ -19310,7 +20892,7 @@ diff -urNp linux-2.6.31.6/drivers/char/hvc_console.h linux-2.6.31.6/drivers/char
diff -urNp linux-2.6.31.6/drivers/char/hvc_iseries.c linux-2.6.31.6/drivers/char/hvc_iseries.c
--- linux-2.6.31.6/drivers/char/hvc_iseries.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/hvc_iseries.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/hvc_iseries.c 2009-11-12 17:18:17.000000000 -0500
@@ -197,7 +197,7 @@ done:
return sent;
}
@@ -19322,7 +20904,7 @@ diff -urNp linux-2.6.31.6/drivers/char/hvc_iseries.c linux-2.6.31.6/drivers/char
.notifier_add = notifier_add_irq,
diff -urNp linux-2.6.31.6/drivers/char/hvc_iucv.c linux-2.6.31.6/drivers/char/hvc_iucv.c
--- linux-2.6.31.6/drivers/char/hvc_iucv.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/hvc_iucv.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/hvc_iucv.c 2009-11-12 17:18:17.000000000 -0500
@@ -920,7 +920,7 @@ static int hvc_iucv_pm_restore_thaw(stru
@@ -19334,7 +20916,7 @@ diff -urNp linux-2.6.31.6/drivers/char/hvc_iucv.c linux-2.6.31.6/drivers/char/hv
.notifier_add = hvc_iucv_notifier_add,
diff -urNp linux-2.6.31.6/drivers/char/hvc_rtas.c linux-2.6.31.6/drivers/char/hvc_rtas.c
--- linux-2.6.31.6/drivers/char/hvc_rtas.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/hvc_rtas.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/hvc_rtas.c 2009-11-12 17:18:17.000000000 -0500
@@ -71,7 +71,7 @@ static int hvc_rtas_read_console(uint32_
return i;
}
@@ -19346,7 +20928,7 @@ diff -urNp linux-2.6.31.6/drivers/char/hvc_rtas.c linux-2.6.31.6/drivers/char/hv
};
diff -urNp linux-2.6.31.6/drivers/char/hvcs.c linux-2.6.31.6/drivers/char/hvcs.c
--- linux-2.6.31.6/drivers/char/hvcs.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/hvcs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/hvcs.c 2009-11-12 17:18:17.000000000 -0500
@@ -269,7 +269,7 @@ struct hvcs_struct {
unsigned int index;
@@ -19443,7 +21025,7 @@ diff -urNp linux-2.6.31.6/drivers/char/hvcs.c linux-2.6.31.6/drivers/char/hvcs.c
return HVCS_BUFF_LEN - hvcsd->chars_in_buffer;
diff -urNp linux-2.6.31.6/drivers/char/hvc_udbg.c linux-2.6.31.6/drivers/char/hvc_udbg.c
--- linux-2.6.31.6/drivers/char/hvc_udbg.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/hvc_udbg.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/hvc_udbg.c 2009-11-12 17:18:17.000000000 -0500
@@ -58,7 +58,7 @@ static int hvc_udbg_get(uint32_t vtermno
return i;
}
@@ -19455,7 +21037,7 @@ diff -urNp linux-2.6.31.6/drivers/char/hvc_udbg.c linux-2.6.31.6/drivers/char/hv
};
diff -urNp linux-2.6.31.6/drivers/char/hvc_vio.c linux-2.6.31.6/drivers/char/hvc_vio.c
--- linux-2.6.31.6/drivers/char/hvc_vio.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/hvc_vio.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/hvc_vio.c 2009-11-12 17:18:17.000000000 -0500
@@ -77,7 +77,7 @@ static int filtered_get_chars(uint32_t v
return got;
}
@@ -19467,7 +21049,7 @@ diff -urNp linux-2.6.31.6/drivers/char/hvc_vio.c linux-2.6.31.6/drivers/char/hvc
.notifier_add = notifier_add_irq,
diff -urNp linux-2.6.31.6/drivers/char/hvc_xen.c linux-2.6.31.6/drivers/char/hvc_xen.c
--- linux-2.6.31.6/drivers/char/hvc_xen.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/hvc_xen.c 2009-11-10 18:53:42.000000000 -0500
++++ linux-2.6.31.6/drivers/char/hvc_xen.c 2009-11-12 17:18:17.000000000 -0500
@@ -120,7 +120,7 @@ static int read_console(uint32_t vtermno
return recv;
}
@@ -19479,7 +21061,7 @@ diff -urNp linux-2.6.31.6/drivers/char/hvc_xen.c linux-2.6.31.6/drivers/char/hvc
.notifier_add = notifier_add_irq,
diff -urNp linux-2.6.31.6/drivers/char/ipmi/ipmi_msghandler.c linux-2.6.31.6/drivers/char/ipmi/ipmi_msghandler.c
--- linux-2.6.31.6/drivers/char/ipmi/ipmi_msghandler.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/ipmi/ipmi_msghandler.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/ipmi/ipmi_msghandler.c 2009-11-12 17:18:17.000000000 -0500
@@ -413,7 +413,7 @@ struct ipmi_smi {
struct proc_dir_entry *proc_dir;
char proc_dir_name[10];
@@ -19512,7 +21094,7 @@ diff -urNp linux-2.6.31.6/drivers/char/ipmi/ipmi_msghandler.c linux-2.6.31.6/dri
diff -urNp linux-2.6.31.6/drivers/char/ipmi/ipmi_si_intf.c linux-2.6.31.6/drivers/char/ipmi/ipmi_si_intf.c
--- linux-2.6.31.6/drivers/char/ipmi/ipmi_si_intf.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/ipmi/ipmi_si_intf.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/ipmi/ipmi_si_intf.c 2009-11-12 17:18:17.000000000 -0500
@@ -277,7 +277,7 @@ struct smi_info {
unsigned char slave_addr;
@@ -19545,7 +21127,7 @@ diff -urNp linux-2.6.31.6/drivers/char/ipmi/ipmi_si_intf.c linux-2.6.31.6/driver
atomic_set(&new_smi->stop_operation, 0);
diff -urNp linux-2.6.31.6/drivers/char/keyboard.c linux-2.6.31.6/drivers/char/keyboard.c
--- linux-2.6.31.6/drivers/char/keyboard.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/keyboard.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/keyboard.c 2009-11-12 17:18:17.000000000 -0500
@@ -635,6 +635,16 @@ static void k_spec(struct vc_data *vc, u
kbd->kbdmode == VC_MEDIUMRAW) &&
value != KVAL(K_SAK))
@@ -19574,7 +21156,7 @@ diff -urNp linux-2.6.31.6/drivers/char/keyboard.c linux-2.6.31.6/drivers/char/ke
MODULE_DEVICE_TABLE(input, kbd_ids);
diff -urNp linux-2.6.31.6/drivers/char/mem.c linux-2.6.31.6/drivers/char/mem.c
--- linux-2.6.31.6/drivers/char/mem.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/mem.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/mem.c 2009-11-12 17:18:17.000000000 -0500
@@ -18,6 +18,7 @@
#include <linux/raw.h>
#include <linux/tty.h>
@@ -19676,7 +21258,7 @@ diff -urNp linux-2.6.31.6/drivers/char/mem.c linux-2.6.31.6/drivers/char/mem.c
static int memory_open(struct inode *inode, struct file *filp)
diff -urNp linux-2.6.31.6/drivers/char/misc.c linux-2.6.31.6/drivers/char/misc.c
--- linux-2.6.31.6/drivers/char/misc.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/misc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/misc.c 2009-11-12 17:18:17.000000000 -0500
@@ -91,7 +91,7 @@ static int misc_seq_show(struct seq_file
}
@@ -19688,7 +21270,7 @@ diff -urNp linux-2.6.31.6/drivers/char/misc.c linux-2.6.31.6/drivers/char/misc.c
.stop = misc_seq_stop,
diff -urNp linux-2.6.31.6/drivers/char/mspec.c linux-2.6.31.6/drivers/char/mspec.c
--- linux-2.6.31.6/drivers/char/mspec.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/mspec.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/mspec.c 2009-11-12 17:18:17.000000000 -0500
@@ -239,7 +239,7 @@ mspec_fault(struct vm_area_struct *vma,
return VM_FAULT_NOPAGE;
}
@@ -19700,7 +21282,7 @@ diff -urNp linux-2.6.31.6/drivers/char/mspec.c linux-2.6.31.6/drivers/char/mspec
.fault = mspec_fault,
diff -urNp linux-2.6.31.6/drivers/char/nvram.c linux-2.6.31.6/drivers/char/nvram.c
--- linux-2.6.31.6/drivers/char/nvram.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/nvram.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/nvram.c 2009-11-12 17:18:17.000000000 -0500
@@ -429,7 +429,10 @@ static const struct file_operations nvra
static struct miscdevice nvram_dev = {
NVRAM_MINOR,
@@ -19715,7 +21297,7 @@ diff -urNp linux-2.6.31.6/drivers/char/nvram.c linux-2.6.31.6/drivers/char/nvram
static int __init nvram_init(void)
diff -urNp linux-2.6.31.6/drivers/char/pcmcia/ipwireless/tty.c linux-2.6.31.6/drivers/char/pcmcia/ipwireless/tty.c
--- linux-2.6.31.6/drivers/char/pcmcia/ipwireless/tty.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/pcmcia/ipwireless/tty.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/pcmcia/ipwireless/tty.c 2009-11-12 17:18:17.000000000 -0500
@@ -51,7 +51,7 @@ struct ipw_tty {
int tty_type;
struct ipw_network *network;
@@ -19832,7 +21414,7 @@ diff -urNp linux-2.6.31.6/drivers/char/pcmcia/ipwireless/tty.c linux-2.6.31.6/dr
ttyj->channel_idx);
diff -urNp linux-2.6.31.6/drivers/char/random.c linux-2.6.31.6/drivers/char/random.c
--- linux-2.6.31.6/drivers/char/random.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/random.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/random.c 2009-11-12 17:18:17.000000000 -0500
@@ -253,8 +253,13 @@
/*
* Configuration information
@@ -19876,7 +21458,7 @@ diff -urNp linux-2.6.31.6/drivers/char/random.c linux-2.6.31.6/drivers/char/rand
diff -urNp linux-2.6.31.6/drivers/char/sonypi.c linux-2.6.31.6/drivers/char/sonypi.c
--- linux-2.6.31.6/drivers/char/sonypi.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/sonypi.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/sonypi.c 2009-11-12 17:18:17.000000000 -0500
@@ -490,7 +490,7 @@ static struct sonypi_device {
spinlock_t fifo_lock;
wait_queue_head_t fifo_proc_list;
@@ -19909,7 +21491,7 @@ diff -urNp linux-2.6.31.6/drivers/char/sonypi.c linux-2.6.31.6/drivers/char/sony
return 0;
diff -urNp linux-2.6.31.6/drivers/char/tpm/tpm_bios.c linux-2.6.31.6/drivers/char/tpm/tpm_bios.c
--- linux-2.6.31.6/drivers/char/tpm/tpm_bios.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/tpm/tpm_bios.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/tpm/tpm_bios.c 2009-11-12 17:18:17.000000000 -0500
@@ -172,7 +172,7 @@ static void *tpm_bios_measurements_start
event = addr;
@@ -19969,7 +21551,7 @@ diff -urNp linux-2.6.31.6/drivers/char/tpm/tpm_bios.c linux-2.6.31.6/drivers/cha
diff -urNp linux-2.6.31.6/drivers/char/tty_ldisc.c linux-2.6.31.6/drivers/char/tty_ldisc.c
--- linux-2.6.31.6/drivers/char/tty_ldisc.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/tty_ldisc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/tty_ldisc.c 2009-11-12 17:18:17.000000000 -0500
@@ -73,7 +73,7 @@ static void put_ldisc(struct tty_ldisc *
if (atomic_dec_and_lock(&ld->users, &tty_ldisc_lock)) {
struct tty_ldisc_ops *ldo = ld->ops;
@@ -20008,7 +21590,7 @@ diff -urNp linux-2.6.31.6/drivers/char/tty_ldisc.c linux-2.6.31.6/drivers/char/t
err = 0;
diff -urNp linux-2.6.31.6/drivers/char/vt_ioctl.c linux-2.6.31.6/drivers/char/vt_ioctl.c
--- linux-2.6.31.6/drivers/char/vt_ioctl.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/vt_ioctl.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/vt_ioctl.c 2009-11-12 17:18:17.000000000 -0500
@@ -97,6 +97,12 @@ do_kdsk_ioctl(int cmd, struct kbentry __
case KDSKBENT:
if (!perm)
@@ -20038,7 +21620,7 @@ diff -urNp linux-2.6.31.6/drivers/char/vt_ioctl.c linux-2.6.31.6/drivers/char/vt
for (j = i+1; j < MAX_NR_FUNC && !func_table[j]; j++)
diff -urNp linux-2.6.31.6/drivers/char/xilinx_hwicap/xilinx_hwicap.c linux-2.6.31.6/drivers/char/xilinx_hwicap/xilinx_hwicap.c
--- linux-2.6.31.6/drivers/char/xilinx_hwicap/xilinx_hwicap.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/char/xilinx_hwicap/xilinx_hwicap.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/char/xilinx_hwicap/xilinx_hwicap.c 2009-11-12 17:18:17.000000000 -0500
@@ -559,7 +559,7 @@ static int hwicap_release(struct inode *
return status;
}
@@ -20050,7 +21632,7 @@ diff -urNp linux-2.6.31.6/drivers/char/xilinx_hwicap/xilinx_hwicap.c linux-2.6.3
.read = hwicap_read,
diff -urNp linux-2.6.31.6/drivers/cpufreq/cpufreq.c linux-2.6.31.6/drivers/cpufreq/cpufreq.c
--- linux-2.6.31.6/drivers/cpufreq/cpufreq.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/cpufreq/cpufreq.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/cpufreq/cpufreq.c 2009-11-12 17:18:17.000000000 -0500
@@ -745,7 +745,7 @@ static void cpufreq_sysfs_release(struct
complete(&policy->kobj_unregister);
}
@@ -20062,7 +21644,7 @@ diff -urNp linux-2.6.31.6/drivers/cpufreq/cpufreq.c linux-2.6.31.6/drivers/cpufr
};
diff -urNp linux-2.6.31.6/drivers/cpuidle/sysfs.c linux-2.6.31.6/drivers/cpuidle/sysfs.c
--- linux-2.6.31.6/drivers/cpuidle/sysfs.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/cpuidle/sysfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/cpuidle/sysfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -191,7 +191,7 @@ static ssize_t cpuidle_store(struct kobj
return ret;
}
@@ -20083,7 +21665,7 @@ diff -urNp linux-2.6.31.6/drivers/cpuidle/sysfs.c linux-2.6.31.6/drivers/cpuidle
diff -urNp linux-2.6.31.6/drivers/edac/edac_core.h linux-2.6.31.6/drivers/edac/edac_core.h
--- linux-2.6.31.6/drivers/edac/edac_core.h 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/edac/edac_core.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/edac/edac_core.h 2009-11-12 17:18:17.000000000 -0500
@@ -99,11 +99,11 @@ extern int edac_debug_level;
#else /* !CONFIG_EDAC_DEBUG */
@@ -20103,7 +21685,7 @@ diff -urNp linux-2.6.31.6/drivers/edac/edac_core.h linux-2.6.31.6/drivers/edac/e
diff -urNp linux-2.6.31.6/drivers/edac/edac_device_sysfs.c linux-2.6.31.6/drivers/edac/edac_device_sysfs.c
--- linux-2.6.31.6/drivers/edac/edac_device_sysfs.c 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/edac/edac_device_sysfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/edac/edac_device_sysfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -137,7 +137,7 @@ static ssize_t edac_dev_ctl_info_store(s
}
@@ -20133,7 +21715,7 @@ diff -urNp linux-2.6.31.6/drivers/edac/edac_device_sysfs.c linux-2.6.31.6/driver
};
diff -urNp linux-2.6.31.6/drivers/edac/edac_mc_sysfs.c linux-2.6.31.6/drivers/edac/edac_mc_sysfs.c
--- linux-2.6.31.6/drivers/edac/edac_mc_sysfs.c 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/edac/edac_mc_sysfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/edac/edac_mc_sysfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -245,7 +245,7 @@ static ssize_t csrowdev_store(struct kob
return -EIO;
}
@@ -20154,7 +21736,7 @@ diff -urNp linux-2.6.31.6/drivers/edac/edac_mc_sysfs.c linux-2.6.31.6/drivers/ed
};
diff -urNp linux-2.6.31.6/drivers/edac/edac_pci_sysfs.c linux-2.6.31.6/drivers/edac/edac_pci_sysfs.c
--- linux-2.6.31.6/drivers/edac/edac_pci_sysfs.c 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/edac/edac_pci_sysfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/edac/edac_pci_sysfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -121,7 +121,7 @@ static ssize_t edac_pci_instance_store(s
}
@@ -20175,7 +21757,7 @@ diff -urNp linux-2.6.31.6/drivers/edac/edac_pci_sysfs.c linux-2.6.31.6/drivers/e
};
diff -urNp linux-2.6.31.6/drivers/firmware/dmi_scan.c linux-2.6.31.6/drivers/firmware/dmi_scan.c
--- linux-2.6.31.6/drivers/firmware/dmi_scan.c 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/firmware/dmi_scan.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/firmware/dmi_scan.c 2009-11-12 17:18:17.000000000 -0500
@@ -391,11 +391,6 @@ void __init dmi_scan_machine(void)
}
}
@@ -20190,7 +21772,7 @@ diff -urNp linux-2.6.31.6/drivers/firmware/dmi_scan.c linux-2.6.31.6/drivers/fir
goto error;
diff -urNp linux-2.6.31.6/drivers/firmware/edd.c linux-2.6.31.6/drivers/firmware/edd.c
--- linux-2.6.31.6/drivers/firmware/edd.c 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/firmware/edd.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/firmware/edd.c 2009-11-12 17:18:17.000000000 -0500
@@ -122,7 +122,7 @@ edd_attr_show(struct kobject * kobj, str
return ret;
}
@@ -20202,7 +21784,7 @@ diff -urNp linux-2.6.31.6/drivers/firmware/edd.c linux-2.6.31.6/drivers/firmware
diff -urNp linux-2.6.31.6/drivers/firmware/efivars.c linux-2.6.31.6/drivers/firmware/efivars.c
--- linux-2.6.31.6/drivers/firmware/efivars.c 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/firmware/efivars.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/firmware/efivars.c 2009-11-12 17:18:17.000000000 -0500
@@ -362,7 +362,7 @@ static ssize_t efivar_attr_store(struct
return ret;
}
@@ -20214,7 +21796,7 @@ diff -urNp linux-2.6.31.6/drivers/firmware/efivars.c linux-2.6.31.6/drivers/firm
};
diff -urNp linux-2.6.31.6/drivers/firmware/iscsi_ibft.c linux-2.6.31.6/drivers/firmware/iscsi_ibft.c
--- linux-2.6.31.6/drivers/firmware/iscsi_ibft.c 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/firmware/iscsi_ibft.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/firmware/iscsi_ibft.c 2009-11-12 17:18:17.000000000 -0500
@@ -525,7 +525,7 @@ static ssize_t ibft_show_attribute(struc
return ret;
}
@@ -20226,7 +21808,7 @@ diff -urNp linux-2.6.31.6/drivers/firmware/iscsi_ibft.c linux-2.6.31.6/drivers/f
diff -urNp linux-2.6.31.6/drivers/firmware/memmap.c linux-2.6.31.6/drivers/firmware/memmap.c
--- linux-2.6.31.6/drivers/firmware/memmap.c 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/firmware/memmap.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/firmware/memmap.c 2009-11-12 17:18:17.000000000 -0500
@@ -74,7 +74,7 @@ static struct attribute *def_attrs[] = {
NULL
};
@@ -20238,7 +21820,7 @@ diff -urNp linux-2.6.31.6/drivers/firmware/memmap.c linux-2.6.31.6/drivers/firmw
diff -urNp linux-2.6.31.6/drivers/gpio/gpiolib.c linux-2.6.31.6/drivers/gpio/gpiolib.c
--- linux-2.6.31.6/drivers/gpio/gpiolib.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/gpio/gpiolib.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/gpio/gpiolib.c 2009-11-12 17:18:17.000000000 -0500
@@ -1244,7 +1244,7 @@ static int gpiolib_open(struct inode *in
return single_open(file, gpiolib_show, NULL);
}
@@ -20250,7 +21832,7 @@ diff -urNp linux-2.6.31.6/drivers/gpio/gpiolib.c linux-2.6.31.6/drivers/gpio/gpi
.llseek = seq_lseek,
diff -urNp linux-2.6.31.6/drivers/gpu/drm/drm_drv.c linux-2.6.31.6/drivers/gpu/drm/drm_drv.c
--- linux-2.6.31.6/drivers/gpu/drm/drm_drv.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/gpu/drm/drm_drv.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/drm_drv.c 2009-11-12 17:18:17.000000000 -0500
@@ -417,7 +417,7 @@ int drm_ioctl(struct inode *inode, struc
char *kdata = NULL;
@@ -20262,7 +21844,7 @@ diff -urNp linux-2.6.31.6/drivers/gpu/drm/drm_drv.c linux-2.6.31.6/drivers/gpu/d
DRM_DEBUG("pid=%d, cmd=0x%02x, nr=0x%02x, dev 0x%lx, auth=%d\n",
diff -urNp linux-2.6.31.6/drivers/gpu/drm/drm_fops.c linux-2.6.31.6/drivers/gpu/drm/drm_fops.c
--- linux-2.6.31.6/drivers/gpu/drm/drm_fops.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/gpu/drm/drm_fops.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/drm_fops.c 2009-11-12 17:18:17.000000000 -0500
@@ -66,7 +66,7 @@ static int drm_setup(struct drm_device *
}
@@ -20316,7 +21898,7 @@ diff -urNp linux-2.6.31.6/drivers/gpu/drm/drm_fops.c linux-2.6.31.6/drivers/gpu/
atomic_read(&dev->ioctl_count));
diff -urNp linux-2.6.31.6/drivers/gpu/drm/drm_ioctl.c linux-2.6.31.6/drivers/gpu/drm/drm_ioctl.c
--- linux-2.6.31.6/drivers/gpu/drm/drm_ioctl.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/gpu/drm/drm_ioctl.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/drm_ioctl.c 2009-11-12 17:18:17.000000000 -0500
@@ -283,7 +283,7 @@ int drm_getstats(struct drm_device *dev,
stats->data[i].value =
(file_priv->master->lock.hw_lock ? file_priv->master->lock.hw_lock->lock : 0);
@@ -20328,7 +21910,7 @@ diff -urNp linux-2.6.31.6/drivers/gpu/drm/drm_ioctl.c linux-2.6.31.6/drivers/gpu
diff -urNp linux-2.6.31.6/drivers/gpu/drm/drm_lock.c linux-2.6.31.6/drivers/gpu/drm/drm_lock.c
--- linux-2.6.31.6/drivers/gpu/drm/drm_lock.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/gpu/drm/drm_lock.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/drm_lock.c 2009-11-12 17:18:17.000000000 -0500
@@ -87,7 +87,7 @@ int drm_lock(struct drm_device *dev, voi
if (drm_lock_take(&master->lock, lock->context)) {
master->lock.file_priv = file_priv;
@@ -20349,7 +21931,7 @@ diff -urNp linux-2.6.31.6/drivers/gpu/drm/drm_lock.c linux-2.6.31.6/drivers/gpu/
* modules but is required by the Sparc driver.
diff -urNp linux-2.6.31.6/drivers/gpu/drm/drm_vm.c linux-2.6.31.6/drivers/gpu/drm/drm_vm.c
--- linux-2.6.31.6/drivers/gpu/drm/drm_vm.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/gpu/drm/drm_vm.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/drm_vm.c 2009-11-12 17:18:17.000000000 -0500
@@ -369,28 +369,28 @@ static int drm_vm_sg_fault(struct vm_are
}
@@ -20385,7 +21967,7 @@ diff -urNp linux-2.6.31.6/drivers/gpu/drm/drm_vm.c linux-2.6.31.6/drivers/gpu/dr
.close = drm_vm_close,
diff -urNp linux-2.6.31.6/drivers/gpu/drm/i810/i810_dma.c linux-2.6.31.6/drivers/gpu/drm/i810/i810_dma.c
--- linux-2.6.31.6/drivers/gpu/drm/i810/i810_dma.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/gpu/drm/i810/i810_dma.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/i810/i810_dma.c 2009-11-12 17:18:17.000000000 -0500
@@ -952,8 +952,8 @@ static int i810_dma_vertex(struct drm_de
dma->buflist[vertex->idx],
vertex->discard, vertex->used);
@@ -20408,9 +21990,191 @@ diff -urNp linux-2.6.31.6/drivers/gpu/drm/i810/i810_dma.c linux-2.6.31.6/drivers
sarea_priv->last_enqueue = dev_priv->counter - 1;
sarea_priv->last_dispatch = (int)hw_status[5];
+diff -urNp linux-2.6.31.6/drivers/gpu/drm/i915/dvo_ch7017.c linux-2.6.31.6/drivers/gpu/drm/i915/dvo_ch7017.c
+--- linux-2.6.31.6/drivers/gpu/drm/i915/dvo_ch7017.c 2009-11-10 18:46:01.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/i915/dvo_ch7017.c 2009-11-12 17:18:35.000000000 -0500
+@@ -443,7 +443,7 @@ static void ch7017_destroy(struct intel_
+ }
+ }
+
+-struct intel_dvo_dev_ops ch7017_ops = {
++const struct intel_dvo_dev_ops ch7017_ops = {
+ .init = ch7017_init,
+ .detect = ch7017_detect,
+ .mode_valid = ch7017_mode_valid,
+diff -urNp linux-2.6.31.6/drivers/gpu/drm/i915/dvo_ch7xxx.c linux-2.6.31.6/drivers/gpu/drm/i915/dvo_ch7xxx.c
+--- linux-2.6.31.6/drivers/gpu/drm/i915/dvo_ch7xxx.c 2009-11-10 18:46:01.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/i915/dvo_ch7xxx.c 2009-11-12 17:18:35.000000000 -0500
+@@ -356,7 +356,7 @@ static void ch7xxx_destroy(struct intel_
+ }
+ }
+
+-struct intel_dvo_dev_ops ch7xxx_ops = {
++const struct intel_dvo_dev_ops ch7xxx_ops = {
+ .init = ch7xxx_init,
+ .detect = ch7xxx_detect,
+ .mode_valid = ch7xxx_mode_valid,
+diff -urNp linux-2.6.31.6/drivers/gpu/drm/i915/dvo.h linux-2.6.31.6/drivers/gpu/drm/i915/dvo.h
+--- linux-2.6.31.6/drivers/gpu/drm/i915/dvo.h 2009-11-10 18:46:01.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/i915/dvo.h 2009-11-12 17:18:35.000000000 -0500
+@@ -51,14 +51,14 @@ struct intel_dvo_dev_ops {
+ * Initialize the device at startup time.
+ * Returns NULL if the device does not exist.
+ */
+- bool (*init)(struct intel_dvo_device *dvo,
++ bool (* const init)(struct intel_dvo_device *dvo,
+ struct i2c_adapter *i2cbus);
+
+ /*
+ * Called to allow the output a chance to create properties after the
+ * RandR objects have been created.
+ */
+- void (*create_resources)(struct intel_dvo_device *dvo);
++ void (* const create_resources)(struct intel_dvo_device *dvo);
+
+ /*
+ * Turn on/off output or set intermediate power levels if available.
+@@ -67,17 +67,17 @@ struct intel_dvo_dev_ops {
+ * If the mode is DPMSModeOff, the output must be disabled,
+ * as the DPLL may be disabled afterwards.
+ */
+- void (*dpms)(struct intel_dvo_device *dvo, int mode);
++ void (* const dpms)(struct intel_dvo_device *dvo, int mode);
+
+ /*
+ * Saves the output's state for restoration on VT switch.
+ */
+- void (*save)(struct intel_dvo_device *dvo);
++ void (* const save)(struct intel_dvo_device *dvo);
+
+ /*
+ * Restore's the output's state at VT switch.
+ */
+- void (*restore)(struct intel_dvo_device *dvo);
++ void (* const restore)(struct intel_dvo_device *dvo);
+
+ /*
+ * Callback for testing a video mode for a given output.
+@@ -88,7 +88,7 @@ struct intel_dvo_dev_ops {
+ *
+ * \return MODE_OK if the mode is valid, or another MODE_* otherwise.
+ */
+- int (*mode_valid)(struct intel_dvo_device *dvo,
++ int (* const mode_valid)(struct intel_dvo_device *dvo,
+ struct drm_display_mode *mode);
+
+ /*
+@@ -98,19 +98,19 @@ struct intel_dvo_dev_ops {
+ * timings, which is used for panels with fixed timings or for
+ * buses with clock limitations.
+ */
+- bool (*mode_fixup)(struct intel_dvo_device *dvo,
++ bool (* const mode_fixup)(struct intel_dvo_device *dvo,
+ struct drm_display_mode *mode,
+ struct drm_display_mode *adjusted_mode);
+
+ /*
+ * Callback for preparing mode changes on an output
+ */
+- void (*prepare)(struct intel_dvo_device *dvo);
++ void (* const prepare)(struct intel_dvo_device *dvo);
+
+ /*
+ * Callback for committing mode changes on an output
+ */
+- void (*commit)(struct intel_dvo_device *dvo);
++ void (* const commit)(struct intel_dvo_device *dvo);
+
+ /*
+ * Callback for setting up a video mode after fixups have been made.
+@@ -119,14 +119,14 @@ struct intel_dvo_dev_ops {
+ * must be all that's necessary for the output, to turn the output on
+ * after this function is called.
+ */
+- void (*mode_set)(struct intel_dvo_device *dvo,
++ void (* const mode_set)(struct intel_dvo_device *dvo,
+ struct drm_display_mode *mode,
+ struct drm_display_mode *adjusted_mode);
+
+ /*
+ * Probe for a connected output, and return detect_status.
+ */
+- enum drm_connector_status (*detect)(struct intel_dvo_device *dvo);
++ enum drm_connector_status (* const detect)(struct intel_dvo_device *dvo);
+
+ /**
+ * Query the device for the modes it provides.
+@@ -135,23 +135,23 @@ struct intel_dvo_dev_ops {
+ *
+ * \return singly-linked list of modes or NULL if no modes found.
+ */
+- struct drm_display_mode *(*get_modes)(struct intel_dvo_device *dvo);
++ struct drm_display_mode *(* const get_modes)(struct intel_dvo_device *dvo);
+
+ /**
+ * Clean up driver-specific bits of the output
+ */
+- void (*destroy) (struct intel_dvo_device *dvo);
++ void (* const destroy) (struct intel_dvo_device *dvo);
+
+ /**
+ * Debugging hook to dump device registers to log file
+ */
+- void (*dump_regs)(struct intel_dvo_device *dvo);
++ void (* const dump_regs)(struct intel_dvo_device *dvo);
+ };
+
+-extern struct intel_dvo_dev_ops sil164_ops;
+-extern struct intel_dvo_dev_ops ch7xxx_ops;
+-extern struct intel_dvo_dev_ops ivch_ops;
+-extern struct intel_dvo_dev_ops tfp410_ops;
+-extern struct intel_dvo_dev_ops ch7017_ops;
++extern const struct intel_dvo_dev_ops sil164_ops;
++extern const struct intel_dvo_dev_ops ch7xxx_ops;
++extern const struct intel_dvo_dev_ops ivch_ops;
++extern const struct intel_dvo_dev_ops tfp410_ops;
++extern const struct intel_dvo_dev_ops ch7017_ops;
+
+ #endif /* _INTEL_DVO_H */
+diff -urNp linux-2.6.31.6/drivers/gpu/drm/i915/dvo_ivch.c linux-2.6.31.6/drivers/gpu/drm/i915/dvo_ivch.c
+--- linux-2.6.31.6/drivers/gpu/drm/i915/dvo_ivch.c 2009-11-10 18:46:01.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/i915/dvo_ivch.c 2009-11-12 17:18:35.000000000 -0500
+@@ -430,7 +430,7 @@ static void ivch_destroy(struct intel_dv
+ }
+ }
+
+-struct intel_dvo_dev_ops ivch_ops= {
++const struct intel_dvo_dev_ops ivch_ops= {
+ .init = ivch_init,
+ .dpms = ivch_dpms,
+ .save = ivch_save,
+diff -urNp linux-2.6.31.6/drivers/gpu/drm/i915/dvo_sil164.c linux-2.6.31.6/drivers/gpu/drm/i915/dvo_sil164.c
+--- linux-2.6.31.6/drivers/gpu/drm/i915/dvo_sil164.c 2009-11-10 18:46:01.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/i915/dvo_sil164.c 2009-11-12 17:18:35.000000000 -0500
+@@ -290,7 +290,7 @@ static void sil164_destroy(struct intel_
+ }
+ }
+
+-struct intel_dvo_dev_ops sil164_ops = {
++const struct intel_dvo_dev_ops sil164_ops = {
+ .init = sil164_init,
+ .detect = sil164_detect,
+ .mode_valid = sil164_mode_valid,
+diff -urNp linux-2.6.31.6/drivers/gpu/drm/i915/dvo_tfp410.c linux-2.6.31.6/drivers/gpu/drm/i915/dvo_tfp410.c
+--- linux-2.6.31.6/drivers/gpu/drm/i915/dvo_tfp410.c 2009-11-10 18:46:01.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/i915/dvo_tfp410.c 2009-11-12 17:18:35.000000000 -0500
+@@ -323,7 +323,7 @@ static void tfp410_destroy(struct intel_
+ }
+ }
+
+-struct intel_dvo_dev_ops tfp410_ops = {
++const struct intel_dvo_dev_ops tfp410_ops = {
+ .init = tfp410_init,
+ .detect = tfp410_detect,
+ .mode_valid = tfp410_mode_valid,
diff -urNp linux-2.6.31.6/drivers/gpu/drm/i915/i915_drv.c linux-2.6.31.6/drivers/gpu/drm/i915/i915_drv.c
--- linux-2.6.31.6/drivers/gpu/drm/i915/i915_drv.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/gpu/drm/i915/i915_drv.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/i915/i915_drv.c 2009-11-12 17:18:17.000000000 -0500
@@ -152,7 +152,7 @@ i915_pci_resume(struct pci_dev *pdev)
return i915_resume(dev);
}
@@ -20422,7 +22186,7 @@ diff -urNp linux-2.6.31.6/drivers/gpu/drm/i915/i915_drv.c linux-2.6.31.6/drivers
.close = drm_gem_vm_close,
diff -urNp linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_atombios.c linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_atombios.c
--- linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_atombios.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_atombios.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_atombios.c 2009-11-12 17:18:17.000000000 -0500
@@ -425,13 +425,13 @@ bool radeon_get_atom_connector_info_from
return true;
}
@@ -20449,7 +22213,7 @@ diff -urNp linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_atombios.c linux-2.6.31.
diff -urNp linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_state.c linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_state.c
--- linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_state.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_state.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_state.c 2009-11-12 17:18:17.000000000 -0500
@@ -3007,7 +3007,7 @@ static int radeon_cp_getparam(struct drm
{
drm_radeon_private_t *dev_priv = dev->dev_private;
@@ -20461,7 +22225,7 @@ diff -urNp linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_state.c linux-2.6.31.6/d
diff -urNp linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_ttm.c linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_ttm.c
--- linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_ttm.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_ttm.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_ttm.c 2009-11-12 17:18:17.000000000 -0500
@@ -500,27 +500,10 @@ void radeon_ttm_fini(struct radeon_devic
DRM_INFO("radeon: ttm finalized\n");
}
@@ -20515,7 +22279,7 @@ diff -urNp linux-2.6.31.6/drivers/gpu/drm/radeon/radeon_ttm.c linux-2.6.31.6/dri
diff -urNp linux-2.6.31.6/drivers/gpu/drm/ttm/ttm_bo_vm.c linux-2.6.31.6/drivers/gpu/drm/ttm/ttm_bo_vm.c
--- linux-2.6.31.6/drivers/gpu/drm/ttm/ttm_bo_vm.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/gpu/drm/ttm/ttm_bo_vm.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/ttm/ttm_bo_vm.c 2009-11-12 17:18:17.000000000 -0500
@@ -73,7 +73,7 @@ static int ttm_bo_vm_fault(struct vm_are
{
struct ttm_buffer_object *bo = (struct ttm_buffer_object *)
@@ -20547,7 +22311,7 @@ diff -urNp linux-2.6.31.6/drivers/gpu/drm/ttm/ttm_bo_vm.c linux-2.6.31.6/drivers
.close = ttm_bo_vm_close
diff -urNp linux-2.6.31.6/drivers/gpu/drm/ttm/ttm_global.c linux-2.6.31.6/drivers/gpu/drm/ttm/ttm_global.c
--- linux-2.6.31.6/drivers/gpu/drm/ttm/ttm_global.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/gpu/drm/ttm/ttm_global.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/gpu/drm/ttm/ttm_global.c 2009-11-12 17:18:17.000000000 -0500
@@ -36,7 +36,7 @@
struct ttm_global_item {
struct mutex mutex;
@@ -20607,7 +22371,7 @@ diff -urNp linux-2.6.31.6/drivers/gpu/drm/ttm/ttm_global.c linux-2.6.31.6/driver
item->object = NULL;
diff -urNp linux-2.6.31.6/drivers/hwmon/fschmd.c linux-2.6.31.6/drivers/hwmon/fschmd.c
--- linux-2.6.31.6/drivers/hwmon/fschmd.c 2009-11-10 18:45:54.000000000 -0500
-+++ linux-2.6.31.6/drivers/hwmon/fschmd.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/hwmon/fschmd.c 2009-11-12 17:18:17.000000000 -0500
@@ -915,7 +915,7 @@ static int watchdog_ioctl(struct inode *
return ret;
}
@@ -20619,7 +22383,7 @@ diff -urNp linux-2.6.31.6/drivers/hwmon/fschmd.c linux-2.6.31.6/drivers/hwmon/fs
.open = watchdog_open,
diff -urNp linux-2.6.31.6/drivers/hwmon/fscpos.c linux-2.6.31.6/drivers/hwmon/fscpos.c
--- linux-2.6.31.6/drivers/hwmon/fscpos.c 2009-11-10 18:45:54.000000000 -0500
-+++ linux-2.6.31.6/drivers/hwmon/fscpos.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/hwmon/fscpos.c 2009-11-12 17:18:17.000000000 -0500
@@ -240,7 +240,6 @@ static ssize_t set_pwm(struct i2c_client
unsigned long v = simple_strtoul(buf, NULL, 10);
@@ -20630,7 +22394,7 @@ diff -urNp linux-2.6.31.6/drivers/hwmon/fscpos.c linux-2.6.31.6/drivers/hwmon/fs
mutex_lock(&data->update_lock);
diff -urNp linux-2.6.31.6/drivers/hwmon/k8temp.c linux-2.6.31.6/drivers/hwmon/k8temp.c
--- linux-2.6.31.6/drivers/hwmon/k8temp.c 2009-11-10 18:45:54.000000000 -0500
-+++ linux-2.6.31.6/drivers/hwmon/k8temp.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/hwmon/k8temp.c 2009-11-12 17:18:17.000000000 -0500
@@ -138,7 +138,7 @@ static DEVICE_ATTR(name, S_IRUGO, show_n
static struct pci_device_id k8temp_ids[] = {
@@ -20642,7 +22406,7 @@ diff -urNp linux-2.6.31.6/drivers/hwmon/k8temp.c linux-2.6.31.6/drivers/hwmon/k8
MODULE_DEVICE_TABLE(pci, k8temp_ids);
diff -urNp linux-2.6.31.6/drivers/hwmon/sis5595.c linux-2.6.31.6/drivers/hwmon/sis5595.c
--- linux-2.6.31.6/drivers/hwmon/sis5595.c 2009-11-10 18:45:54.000000000 -0500
-+++ linux-2.6.31.6/drivers/hwmon/sis5595.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/hwmon/sis5595.c 2009-11-12 17:18:17.000000000 -0500
@@ -699,7 +699,7 @@ static struct sis5595_data *sis5595_upda
static struct pci_device_id sis5595_pci_ids[] = {
@@ -20654,7 +22418,7 @@ diff -urNp linux-2.6.31.6/drivers/hwmon/sis5595.c linux-2.6.31.6/drivers/hwmon/s
MODULE_DEVICE_TABLE(pci, sis5595_pci_ids);
diff -urNp linux-2.6.31.6/drivers/hwmon/via686a.c linux-2.6.31.6/drivers/hwmon/via686a.c
--- linux-2.6.31.6/drivers/hwmon/via686a.c 2009-11-10 18:45:54.000000000 -0500
-+++ linux-2.6.31.6/drivers/hwmon/via686a.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/hwmon/via686a.c 2009-11-12 17:18:17.000000000 -0500
@@ -769,7 +769,7 @@ static struct via686a_data *via686a_upda
static struct pci_device_id via686a_pci_ids[] = {
@@ -20666,7 +22430,7 @@ diff -urNp linux-2.6.31.6/drivers/hwmon/via686a.c linux-2.6.31.6/drivers/hwmon/v
MODULE_DEVICE_TABLE(pci, via686a_pci_ids);
diff -urNp linux-2.6.31.6/drivers/hwmon/vt8231.c linux-2.6.31.6/drivers/hwmon/vt8231.c
--- linux-2.6.31.6/drivers/hwmon/vt8231.c 2009-11-10 18:45:54.000000000 -0500
-+++ linux-2.6.31.6/drivers/hwmon/vt8231.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/hwmon/vt8231.c 2009-11-12 17:18:17.000000000 -0500
@@ -699,7 +699,7 @@ static struct platform_driver vt8231_dri
static struct pci_device_id vt8231_pci_ids[] = {
@@ -20678,7 +22442,7 @@ diff -urNp linux-2.6.31.6/drivers/hwmon/vt8231.c linux-2.6.31.6/drivers/hwmon/vt
MODULE_DEVICE_TABLE(pci, vt8231_pci_ids);
diff -urNp linux-2.6.31.6/drivers/hwmon/w83791d.c linux-2.6.31.6/drivers/hwmon/w83791d.c
--- linux-2.6.31.6/drivers/hwmon/w83791d.c 2009-11-10 18:45:54.000000000 -0500
-+++ linux-2.6.31.6/drivers/hwmon/w83791d.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/hwmon/w83791d.c 2009-11-12 17:18:17.000000000 -0500
@@ -330,8 +330,8 @@ static int w83791d_detect(struct i2c_cli
struct i2c_board_info *info);
static int w83791d_remove(struct i2c_client *client);
@@ -20692,7 +22456,7 @@ diff -urNp linux-2.6.31.6/drivers/hwmon/w83791d.c linux-2.6.31.6/drivers/hwmon/w
#ifdef DEBUG
diff -urNp linux-2.6.31.6/drivers/i2c/busses/i2c-i801.c linux-2.6.31.6/drivers/i2c/busses/i2c-i801.c
--- linux-2.6.31.6/drivers/i2c/busses/i2c-i801.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/i2c/busses/i2c-i801.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/i2c/busses/i2c-i801.c 2009-11-12 17:18:17.000000000 -0500
@@ -578,7 +578,7 @@ static struct pci_device_id i801_ids[] =
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_4) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH10_5) },
@@ -20704,7 +22468,7 @@ diff -urNp linux-2.6.31.6/drivers/i2c/busses/i2c-i801.c linux-2.6.31.6/drivers/i
MODULE_DEVICE_TABLE (pci, i801_ids);
diff -urNp linux-2.6.31.6/drivers/i2c/busses/i2c-piix4.c linux-2.6.31.6/drivers/i2c/busses/i2c-piix4.c
--- linux-2.6.31.6/drivers/i2c/busses/i2c-piix4.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/i2c/busses/i2c-piix4.c 2009-11-10 18:44:21.000000000 -0500
++++ linux-2.6.31.6/drivers/i2c/busses/i2c-piix4.c 2009-11-12 17:18:17.000000000 -0500
@@ -123,7 +123,7 @@ static struct dmi_system_id __devinitdat
.ident = "IBM",
.matches = { DMI_MATCH(DMI_SYS_VENDOR, "IBM"), },
@@ -20725,7 +22489,7 @@ diff -urNp linux-2.6.31.6/drivers/i2c/busses/i2c-piix4.c linux-2.6.31.6/drivers/
MODULE_DEVICE_TABLE (pci, piix4_ids);
diff -urNp linux-2.6.31.6/drivers/i2c/busses/i2c-sis630.c linux-2.6.31.6/drivers/i2c/busses/i2c-sis630.c
--- linux-2.6.31.6/drivers/i2c/busses/i2c-sis630.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/i2c/busses/i2c-sis630.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/i2c/busses/i2c-sis630.c 2009-11-12 17:18:17.000000000 -0500
@@ -471,7 +471,7 @@ static struct i2c_adapter sis630_adapter
static struct pci_device_id sis630_ids[] __devinitdata = {
{ PCI_DEVICE(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_503) },
@@ -20737,7 +22501,7 @@ diff -urNp linux-2.6.31.6/drivers/i2c/busses/i2c-sis630.c linux-2.6.31.6/drivers
MODULE_DEVICE_TABLE (pci, sis630_ids);
diff -urNp linux-2.6.31.6/drivers/i2c/busses/i2c-sis96x.c linux-2.6.31.6/drivers/i2c/busses/i2c-sis96x.c
--- linux-2.6.31.6/drivers/i2c/busses/i2c-sis96x.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/i2c/busses/i2c-sis96x.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/i2c/busses/i2c-sis96x.c 2009-11-12 17:18:17.000000000 -0500
@@ -247,7 +247,7 @@ static struct i2c_adapter sis96x_adapter
static struct pci_device_id sis96x_ids[] = {
@@ -20749,7 +22513,7 @@ diff -urNp linux-2.6.31.6/drivers/i2c/busses/i2c-sis96x.c linux-2.6.31.6/drivers
MODULE_DEVICE_TABLE (pci, sis96x_ids);
diff -urNp linux-2.6.31.6/drivers/ieee1394/dma.c linux-2.6.31.6/drivers/ieee1394/dma.c
--- linux-2.6.31.6/drivers/ieee1394/dma.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/ieee1394/dma.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/ieee1394/dma.c 2009-11-12 17:18:17.000000000 -0500
@@ -247,7 +247,7 @@ static int dma_region_pagefault(struct v
return 0;
}
@@ -20761,7 +22525,7 @@ diff -urNp linux-2.6.31.6/drivers/ieee1394/dma.c linux-2.6.31.6/drivers/ieee1394
diff -urNp linux-2.6.31.6/drivers/ieee1394/dv1394.c linux-2.6.31.6/drivers/ieee1394/dv1394.c
--- linux-2.6.31.6/drivers/ieee1394/dv1394.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/ieee1394/dv1394.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/ieee1394/dv1394.c 2009-11-12 17:18:17.000000000 -0500
@@ -739,7 +739,7 @@ static void frame_prepare(struct video_c
based upon DIF section and sequence
*/
@@ -20782,7 +22546,7 @@ diff -urNp linux-2.6.31.6/drivers/ieee1394/dv1394.c linux-2.6.31.6/drivers/ieee1
MODULE_DEVICE_TABLE(ieee1394, dv1394_id_table);
diff -urNp linux-2.6.31.6/drivers/ieee1394/eth1394.c linux-2.6.31.6/drivers/ieee1394/eth1394.c
--- linux-2.6.31.6/drivers/ieee1394/eth1394.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/ieee1394/eth1394.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/ieee1394/eth1394.c 2009-11-12 17:18:17.000000000 -0500
@@ -445,7 +445,7 @@ static const struct ieee1394_device_id e
.specifier_id = ETHER1394_GASP_SPECIFIER_ID,
.version = ETHER1394_GASP_VERSION,
@@ -20794,7 +22558,7 @@ diff -urNp linux-2.6.31.6/drivers/ieee1394/eth1394.c linux-2.6.31.6/drivers/ieee
MODULE_DEVICE_TABLE(ieee1394, eth1394_id_table);
diff -urNp linux-2.6.31.6/drivers/ieee1394/hosts.c linux-2.6.31.6/drivers/ieee1394/hosts.c
--- linux-2.6.31.6/drivers/ieee1394/hosts.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/ieee1394/hosts.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/ieee1394/hosts.c 2009-11-12 17:18:17.000000000 -0500
@@ -78,6 +78,7 @@ static int dummy_isoctl(struct hpsb_iso
}
@@ -20805,7 +22569,7 @@ diff -urNp linux-2.6.31.6/drivers/ieee1394/hosts.c linux-2.6.31.6/drivers/ieee13
.isoctl = dummy_isoctl
diff -urNp linux-2.6.31.6/drivers/ieee1394/ohci1394.c linux-2.6.31.6/drivers/ieee1394/ohci1394.c
--- linux-2.6.31.6/drivers/ieee1394/ohci1394.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/ieee1394/ohci1394.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/ieee1394/ohci1394.c 2009-11-12 17:18:17.000000000 -0500
@@ -147,9 +147,9 @@ printk(level "%s: " fmt "\n" , OHCI1394_
printk(level "%s: fw-host%d: " fmt "\n" , OHCI1394_DRIVER_NAME, ohci->host->id , ## args)
@@ -20829,7 +22593,7 @@ diff -urNp linux-2.6.31.6/drivers/ieee1394/ohci1394.c linux-2.6.31.6/drivers/iee
MODULE_DEVICE_TABLE(pci, ohci1394_pci_tbl);
diff -urNp linux-2.6.31.6/drivers/ieee1394/raw1394.c linux-2.6.31.6/drivers/ieee1394/raw1394.c
--- linux-2.6.31.6/drivers/ieee1394/raw1394.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/ieee1394/raw1394.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/ieee1394/raw1394.c 2009-11-12 17:18:17.000000000 -0500
@@ -2999,7 +2999,7 @@ static const struct ieee1394_device_id r
.match_flags = IEEE1394_MATCH_SPECIFIER_ID | IEEE1394_MATCH_VERSION,
.specifier_id = CAMERA_UNIT_SPEC_ID_ENTRY & 0xffffff,
@@ -20841,7 +22605,7 @@ diff -urNp linux-2.6.31.6/drivers/ieee1394/raw1394.c linux-2.6.31.6/drivers/ieee
MODULE_DEVICE_TABLE(ieee1394, raw1394_id_table);
diff -urNp linux-2.6.31.6/drivers/ieee1394/sbp2.c linux-2.6.31.6/drivers/ieee1394/sbp2.c
--- linux-2.6.31.6/drivers/ieee1394/sbp2.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/ieee1394/sbp2.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/ieee1394/sbp2.c 2009-11-12 17:18:17.000000000 -0500
@@ -290,7 +290,7 @@ static const struct ieee1394_device_id s
.match_flags = IEEE1394_MATCH_SPECIFIER_ID | IEEE1394_MATCH_VERSION,
.specifier_id = SBP2_UNIT_SPEC_ID_ENTRY & 0xffffff,
@@ -20862,7 +22626,7 @@ diff -urNp linux-2.6.31.6/drivers/ieee1394/sbp2.c linux-2.6.31.6/drivers/ieee139
diff -urNp linux-2.6.31.6/drivers/ieee1394/video1394.c linux-2.6.31.6/drivers/ieee1394/video1394.c
--- linux-2.6.31.6/drivers/ieee1394/video1394.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/ieee1394/video1394.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/ieee1394/video1394.c 2009-11-12 17:18:17.000000000 -0500
@@ -1310,7 +1310,7 @@ static const struct ieee1394_device_id v
.specifier_id = CAMERA_UNIT_SPEC_ID_ENTRY & 0xffffff,
.version = (CAMERA_SW_VERSION_ENTRY + 2) & 0xffffff
@@ -20874,7 +22638,7 @@ diff -urNp linux-2.6.31.6/drivers/ieee1394/video1394.c linux-2.6.31.6/drivers/ie
MODULE_DEVICE_TABLE(ieee1394, video1394_id_table);
diff -urNp linux-2.6.31.6/drivers/infiniband/core/cm.c linux-2.6.31.6/drivers/infiniband/core/cm.c
--- linux-2.6.31.6/drivers/infiniband/core/cm.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/infiniband/core/cm.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/infiniband/core/cm.c 2009-11-12 17:18:17.000000000 -0500
@@ -3597,7 +3597,7 @@ static ssize_t cm_show_counter(struct ko
atomic_long_read(&group->counter[cm_attr->index]));
}
@@ -20886,7 +22650,7 @@ diff -urNp linux-2.6.31.6/drivers/infiniband/core/cm.c linux-2.6.31.6/drivers/in
diff -urNp linux-2.6.31.6/drivers/infiniband/core/sysfs.c linux-2.6.31.6/drivers/infiniband/core/sysfs.c
--- linux-2.6.31.6/drivers/infiniband/core/sysfs.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/infiniband/core/sysfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/infiniband/core/sysfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -79,7 +79,7 @@ static ssize_t port_attr_show(struct kob
return port_attr->show(p, port_attr, buf);
}
@@ -20898,7 +22662,7 @@ diff -urNp linux-2.6.31.6/drivers/infiniband/core/sysfs.c linux-2.6.31.6/drivers
diff -urNp linux-2.6.31.6/drivers/infiniband/hw/ehca/ehca_uverbs.c linux-2.6.31.6/drivers/infiniband/hw/ehca/ehca_uverbs.c
--- linux-2.6.31.6/drivers/infiniband/hw/ehca/ehca_uverbs.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/infiniband/hw/ehca/ehca_uverbs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/infiniband/hw/ehca/ehca_uverbs.c 2009-11-12 17:18:17.000000000 -0500
@@ -95,7 +95,7 @@ static void ehca_mm_close(struct vm_area
vma->vm_start, vma->vm_end, *count);
}
@@ -20910,7 +22674,7 @@ diff -urNp linux-2.6.31.6/drivers/infiniband/hw/ehca/ehca_uverbs.c linux-2.6.31.
};
diff -urNp linux-2.6.31.6/drivers/infiniband/hw/ipath/ipath_file_ops.c linux-2.6.31.6/drivers/infiniband/hw/ipath/ipath_file_ops.c
--- linux-2.6.31.6/drivers/infiniband/hw/ipath/ipath_file_ops.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/infiniband/hw/ipath/ipath_file_ops.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/infiniband/hw/ipath/ipath_file_ops.c 2009-11-12 17:18:17.000000000 -0500
@@ -1151,7 +1151,7 @@ static int ipath_file_vma_fault(struct v
return 0;
}
@@ -20922,7 +22686,7 @@ diff -urNp linux-2.6.31.6/drivers/infiniband/hw/ipath/ipath_file_ops.c linux-2.6
diff -urNp linux-2.6.31.6/drivers/infiniband/hw/ipath/ipath_mmap.c linux-2.6.31.6/drivers/infiniband/hw/ipath/ipath_mmap.c
--- linux-2.6.31.6/drivers/infiniband/hw/ipath/ipath_mmap.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/infiniband/hw/ipath/ipath_mmap.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/infiniband/hw/ipath/ipath_mmap.c 2009-11-12 17:18:17.000000000 -0500
@@ -74,7 +74,7 @@ static void ipath_vma_close(struct vm_ar
kref_put(&ip->ref, ipath_release_mmap_info);
}
@@ -20934,7 +22698,7 @@ diff -urNp linux-2.6.31.6/drivers/infiniband/hw/ipath/ipath_mmap.c linux-2.6.31.
};
diff -urNp linux-2.6.31.6/drivers/input/keyboard/atkbd.c linux-2.6.31.6/drivers/input/keyboard/atkbd.c
--- linux-2.6.31.6/drivers/input/keyboard/atkbd.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/input/keyboard/atkbd.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/input/keyboard/atkbd.c 2009-11-12 17:18:17.000000000 -0500
@@ -1188,7 +1188,7 @@ static struct serio_device_id atkbd_seri
.id = SERIO_ANY,
.extra = SERIO_ANY,
@@ -20946,7 +22710,7 @@ diff -urNp linux-2.6.31.6/drivers/input/keyboard/atkbd.c linux-2.6.31.6/drivers/
MODULE_DEVICE_TABLE(serio, atkbd_serio_ids);
diff -urNp linux-2.6.31.6/drivers/input/mouse/lifebook.c linux-2.6.31.6/drivers/input/mouse/lifebook.c
--- linux-2.6.31.6/drivers/input/mouse/lifebook.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/input/mouse/lifebook.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/input/mouse/lifebook.c 2009-11-12 17:18:17.000000000 -0500
@@ -116,7 +116,7 @@ static const struct dmi_system_id lifebo
DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook B142"),
},
@@ -20958,7 +22722,7 @@ diff -urNp linux-2.6.31.6/drivers/input/mouse/lifebook.c linux-2.6.31.6/drivers/
static psmouse_ret_t lifebook_process_byte(struct psmouse *psmouse)
diff -urNp linux-2.6.31.6/drivers/input/mouse/psmouse-base.c linux-2.6.31.6/drivers/input/mouse/psmouse-base.c
--- linux-2.6.31.6/drivers/input/mouse/psmouse-base.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/input/mouse/psmouse-base.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/input/mouse/psmouse-base.c 2009-11-12 17:18:17.000000000 -0500
@@ -1380,7 +1380,7 @@ static struct serio_device_id psmouse_se
.id = SERIO_ANY,
.extra = SERIO_ANY,
@@ -20970,7 +22734,7 @@ diff -urNp linux-2.6.31.6/drivers/input/mouse/psmouse-base.c linux-2.6.31.6/driv
MODULE_DEVICE_TABLE(serio, psmouse_serio_ids);
diff -urNp linux-2.6.31.6/drivers/input/mouse/synaptics.c linux-2.6.31.6/drivers/input/mouse/synaptics.c
--- linux-2.6.31.6/drivers/input/mouse/synaptics.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/drivers/input/mouse/synaptics.c 2009-11-10 18:53:42.000000000 -0500
++++ linux-2.6.31.6/drivers/input/mouse/synaptics.c 2009-11-12 17:18:17.000000000 -0500
@@ -437,7 +437,7 @@ static void synaptics_process_packet(str
break;
case 2:
@@ -20991,7 +22755,7 @@ diff -urNp linux-2.6.31.6/drivers/input/mouse/synaptics.c linux-2.6.31.6/drivers
diff -urNp linux-2.6.31.6/drivers/input/mousedev.c linux-2.6.31.6/drivers/input/mousedev.c
--- linux-2.6.31.6/drivers/input/mousedev.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/input/mousedev.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/input/mousedev.c 2009-11-12 17:18:17.000000000 -0500
@@ -1056,7 +1056,7 @@ static struct input_handler mousedev_han
#ifdef CONFIG_INPUT_MOUSEDEV_PSAUX
@@ -21003,7 +22767,7 @@ diff -urNp linux-2.6.31.6/drivers/input/mousedev.c linux-2.6.31.6/drivers/input/
#endif
diff -urNp linux-2.6.31.6/drivers/input/serio/i8042-x86ia64io.h linux-2.6.31.6/drivers/input/serio/i8042-x86ia64io.h
--- linux-2.6.31.6/drivers/input/serio/i8042-x86ia64io.h 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/input/serio/i8042-x86ia64io.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/input/serio/i8042-x86ia64io.h 2009-11-12 17:18:17.000000000 -0500
@@ -167,7 +167,7 @@ static struct dmi_system_id __initdata i
DMI_MATCH(DMI_PRODUCT_VERSION, "Rev 1"),
},
@@ -21051,7 +22815,7 @@ diff -urNp linux-2.6.31.6/drivers/input/serio/i8042-x86ia64io.h linux-2.6.31.6/d
#endif /* CONFIG_X86 */
diff -urNp linux-2.6.31.6/drivers/input/serio/serio_raw.c linux-2.6.31.6/drivers/input/serio/serio_raw.c
--- linux-2.6.31.6/drivers/input/serio/serio_raw.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/input/serio/serio_raw.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/input/serio/serio_raw.c 2009-11-12 17:18:17.000000000 -0500
@@ -376,7 +376,7 @@ static struct serio_device_id serio_raw_
.id = SERIO_ANY,
.extra = SERIO_ANY,
@@ -21063,7 +22827,7 @@ diff -urNp linux-2.6.31.6/drivers/input/serio/serio_raw.c linux-2.6.31.6/drivers
MODULE_DEVICE_TABLE(serio, serio_raw_serio_ids);
diff -urNp linux-2.6.31.6/drivers/isdn/capi/kcapi_proc.c linux-2.6.31.6/drivers/isdn/capi/kcapi_proc.c
--- linux-2.6.31.6/drivers/isdn/capi/kcapi_proc.c 2009-11-10 18:45:54.000000000 -0500
-+++ linux-2.6.31.6/drivers/isdn/capi/kcapi_proc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/isdn/capi/kcapi_proc.c 2009-11-12 17:18:17.000000000 -0500
@@ -89,14 +89,14 @@ static int contrstats_show(struct seq_fi
return 0;
}
@@ -21109,7 +22873,7 @@ diff -urNp linux-2.6.31.6/drivers/isdn/capi/kcapi_proc.c linux-2.6.31.6/drivers/
.stop = capi_driver_stop,
diff -urNp linux-2.6.31.6/drivers/isdn/gigaset/common.c linux-2.6.31.6/drivers/isdn/gigaset/common.c
--- linux-2.6.31.6/drivers/isdn/gigaset/common.c 2009-11-10 18:45:54.000000000 -0500
-+++ linux-2.6.31.6/drivers/isdn/gigaset/common.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/isdn/gigaset/common.c 2009-11-12 17:18:17.000000000 -0500
@@ -665,7 +665,7 @@ struct cardstate *gigaset_initcs(struct
cs->commands_pending = 0;
cs->cur_at_seq = 0;
@@ -21121,7 +22885,7 @@ diff -urNp linux-2.6.31.6/drivers/isdn/gigaset/common.c linux-2.6.31.6/drivers/i
cs->tty_dev = NULL;
diff -urNp linux-2.6.31.6/drivers/isdn/gigaset/gigaset.h linux-2.6.31.6/drivers/isdn/gigaset/gigaset.h
--- linux-2.6.31.6/drivers/isdn/gigaset/gigaset.h 2009-11-10 18:45:54.000000000 -0500
-+++ linux-2.6.31.6/drivers/isdn/gigaset/gigaset.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/isdn/gigaset/gigaset.h 2009-11-12 17:18:17.000000000 -0500
@@ -446,7 +446,7 @@ struct cardstate {
spinlock_t cmdlock;
unsigned curlen, cmdbytes;
@@ -21133,7 +22897,7 @@ diff -urNp linux-2.6.31.6/drivers/isdn/gigaset/gigaset.h linux-2.6.31.6/drivers/
unsigned control_state;
diff -urNp linux-2.6.31.6/drivers/isdn/gigaset/interface.c linux-2.6.31.6/drivers/isdn/gigaset/interface.c
--- linux-2.6.31.6/drivers/isdn/gigaset/interface.c 2009-11-10 18:45:54.000000000 -0500
-+++ linux-2.6.31.6/drivers/isdn/gigaset/interface.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/isdn/gigaset/interface.c 2009-11-12 17:18:17.000000000 -0500
@@ -165,9 +165,7 @@ static int if_open(struct tty_struct *tt
return -ERESTARTSYS; // FIXME -EINTR?
tty->driver_data = cs;
@@ -21223,7 +22987,7 @@ diff -urNp linux-2.6.31.6/drivers/isdn/gigaset/interface.c linux-2.6.31.6/driver
}
diff -urNp linux-2.6.31.6/drivers/lguest/core.c linux-2.6.31.6/drivers/lguest/core.c
--- linux-2.6.31.6/drivers/lguest/core.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/lguest/core.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/lguest/core.c 2009-11-12 17:18:17.000000000 -0500
@@ -92,9 +92,17 @@ static __init int map_switcher(void)
* it's worked so far. The end address needs +1 because __get_vm_area
* allocates an extra guard page, so we need space for that.
@@ -21244,7 +23008,7 @@ diff -urNp linux-2.6.31.6/drivers/lguest/core.c linux-2.6.31.6/drivers/lguest/co
printk("lguest: could not map switcher pages high\n");
diff -urNp linux-2.6.31.6/drivers/lguest/lguest_user.c linux-2.6.31.6/drivers/lguest/lguest_user.c
--- linux-2.6.31.6/drivers/lguest/lguest_user.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/lguest/lguest_user.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/lguest/lguest_user.c 2009-11-12 17:18:17.000000000 -0500
@@ -508,7 +508,7 @@ static int close(struct inode *inode, st
* uses: reading and writing a character device called /dev/lguest. All the
* work happens in the read(), write() and close() routines:
@@ -21254,9 +23018,30 @@ diff -urNp linux-2.6.31.6/drivers/lguest/lguest_user.c linux-2.6.31.6/drivers/lg
.owner = THIS_MODULE,
.release = close,
.write = write,
+diff -urNp linux-2.6.31.6/drivers/macintosh/via-pmu-backlight.c linux-2.6.31.6/drivers/macintosh/via-pmu-backlight.c
+--- linux-2.6.31.6/drivers/macintosh/via-pmu-backlight.c 2009-11-10 18:46:14.000000000 -0500
++++ linux-2.6.31.6/drivers/macintosh/via-pmu-backlight.c 2009-11-12 17:18:35.000000000 -0500
+@@ -15,7 +15,7 @@
+
+ #define MAX_PMU_LEVEL 0xFF
+
+-static struct backlight_ops pmu_backlight_data;
++static const struct backlight_ops pmu_backlight_data;
+ static DEFINE_SPINLOCK(pmu_backlight_lock);
+ static int sleeping, uses_pmu_bl;
+ static u8 bl_curve[FB_BACKLIGHT_LEVELS];
+@@ -115,7 +115,7 @@ static int pmu_backlight_get_brightness(
+ return bd->props.brightness;
+ }
+
+-static struct backlight_ops pmu_backlight_data = {
++static const struct backlight_ops pmu_backlight_data = {
+ .get_brightness = pmu_backlight_get_brightness,
+ .update_status = pmu_backlight_update_status,
+
diff -urNp linux-2.6.31.6/drivers/macintosh/via-pmu.c linux-2.6.31.6/drivers/macintosh/via-pmu.c
--- linux-2.6.31.6/drivers/macintosh/via-pmu.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/drivers/macintosh/via-pmu.c 2009-11-10 18:53:42.000000000 -0500
++++ linux-2.6.31.6/drivers/macintosh/via-pmu.c 2009-11-12 17:18:17.000000000 -0500
@@ -2232,7 +2232,7 @@ static int pmu_sleep_valid(suspend_state
&& (pmac_call_feature(PMAC_FTR_SLEEP_STATE, NULL, 0, -1) >= 0);
}
@@ -21268,7 +23053,7 @@ diff -urNp linux-2.6.31.6/drivers/macintosh/via-pmu.c linux-2.6.31.6/drivers/mac
};
diff -urNp linux-2.6.31.6/drivers/md/bitmap.c linux-2.6.31.6/drivers/md/bitmap.c
--- linux-2.6.31.6/drivers/md/bitmap.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/md/bitmap.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/md/bitmap.c 2009-11-12 17:18:17.000000000 -0500
@@ -58,7 +58,7 @@
# if DEBUG > 0
# define PRINTK(x...) printk(KERN_DEBUG x)
@@ -21280,7 +23065,7 @@ diff -urNp linux-2.6.31.6/drivers/md/bitmap.c linux-2.6.31.6/drivers/md/bitmap.c
diff -urNp linux-2.6.31.6/drivers/md/dm-sysfs.c linux-2.6.31.6/drivers/md/dm-sysfs.c
--- linux-2.6.31.6/drivers/md/dm-sysfs.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/md/dm-sysfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/md/dm-sysfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -75,7 +75,7 @@ static struct attribute *dm_attrs[] = {
NULL,
};
@@ -21292,7 +23077,7 @@ diff -urNp linux-2.6.31.6/drivers/md/dm-sysfs.c linux-2.6.31.6/drivers/md/dm-sys
diff -urNp linux-2.6.31.6/drivers/md/dm-table.c linux-2.6.31.6/drivers/md/dm-table.c
--- linux-2.6.31.6/drivers/md/dm-table.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/md/dm-table.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/md/dm-table.c 2009-11-12 17:18:17.000000000 -0500
@@ -359,7 +359,7 @@ static int device_area_is_invalid(struct
if (!dev_size)
return 0;
@@ -21304,7 +23089,7 @@ diff -urNp linux-2.6.31.6/drivers/md/dm-table.c linux-2.6.31.6/drivers/md/dm-tab
dm_device_name(ti->table->md), bdevname(bdev, b),
diff -urNp linux-2.6.31.6/drivers/md/md.c linux-2.6.31.6/drivers/md/md.c
--- linux-2.6.31.6/drivers/md/md.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/md/md.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/md/md.c 2009-11-12 17:18:17.000000000 -0500
@@ -2474,7 +2474,7 @@ static void rdev_free(struct kobject *ko
mdk_rdev_t *rdev = container_of(ko, mdk_rdev_t, kobj);
kfree(rdev);
@@ -21343,7 +23128,7 @@ diff -urNp linux-2.6.31.6/drivers/md/md.c linux-2.6.31.6/drivers/md/md.c
* disk_stats is counted when it completes.
diff -urNp linux-2.6.31.6/drivers/md/md.h linux-2.6.31.6/drivers/md/md.h
--- linux-2.6.31.6/drivers/md/md.h 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/md/md.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/md/md.h 2009-11-12 17:18:17.000000000 -0500
@@ -303,7 +303,7 @@ static inline void rdev_dec_pending(mdk_
static inline void md_sync_acct(struct block_device *bdev, unsigned long nr_sectors)
@@ -21355,7 +23140,7 @@ diff -urNp linux-2.6.31.6/drivers/md/md.h linux-2.6.31.6/drivers/md/md.h
struct mdk_personality
diff -urNp linux-2.6.31.6/drivers/media/dvb/dvb-core/dmxdev.c linux-2.6.31.6/drivers/media/dvb/dvb-core/dmxdev.c
--- linux-2.6.31.6/drivers/media/dvb/dvb-core/dmxdev.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/dvb/dvb-core/dmxdev.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/dvb/dvb-core/dmxdev.c 2009-11-12 17:18:17.000000000 -0500
@@ -1086,7 +1086,7 @@ static unsigned int dvb_dvr_poll(struct
return mask;
}
@@ -21367,7 +23152,7 @@ diff -urNp linux-2.6.31.6/drivers/media/dvb/dvb-core/dmxdev.c linux-2.6.31.6/dri
.write = dvb_dvr_write,
diff -urNp linux-2.6.31.6/drivers/media/dvb/firewire/firedtv-ci.c linux-2.6.31.6/drivers/media/dvb/firewire/firedtv-ci.c
--- linux-2.6.31.6/drivers/media/dvb/firewire/firedtv-ci.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/dvb/firewire/firedtv-ci.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/dvb/firewire/firedtv-ci.c 2009-11-12 17:18:17.000000000 -0500
@@ -215,7 +215,7 @@ static unsigned int fdtv_ca_io_poll(stru
return POLLIN;
}
@@ -21379,7 +23164,7 @@ diff -urNp linux-2.6.31.6/drivers/media/dvb/firewire/firedtv-ci.c linux-2.6.31.6
.open = dvb_generic_open,
diff -urNp linux-2.6.31.6/drivers/media/video/cafe_ccic.c linux-2.6.31.6/drivers/media/video/cafe_ccic.c
--- linux-2.6.31.6/drivers/media/video/cafe_ccic.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/video/cafe_ccic.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/video/cafe_ccic.c 2009-11-12 17:18:17.000000000 -0500
@@ -1326,7 +1326,7 @@ static void cafe_v4l_vm_close(struct vm_
mutex_unlock(&sbuf->cam->s_mutex);
}
@@ -21391,7 +23176,7 @@ diff -urNp linux-2.6.31.6/drivers/media/video/cafe_ccic.c linux-2.6.31.6/drivers
};
diff -urNp linux-2.6.31.6/drivers/media/video/et61x251/et61x251_core.c linux-2.6.31.6/drivers/media/video/et61x251/et61x251_core.c
--- linux-2.6.31.6/drivers/media/video/et61x251/et61x251_core.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/video/et61x251/et61x251_core.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/video/et61x251/et61x251_core.c 2009-11-12 17:18:17.000000000 -0500
@@ -1494,7 +1494,7 @@ static void et61x251_vm_close(struct vm_
}
@@ -21403,7 +23188,7 @@ diff -urNp linux-2.6.31.6/drivers/media/video/et61x251/et61x251_core.c linux-2.6
};
diff -urNp linux-2.6.31.6/drivers/media/video/gspca/gspca.c linux-2.6.31.6/drivers/media/video/gspca/gspca.c
--- linux-2.6.31.6/drivers/media/video/gspca/gspca.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/video/gspca/gspca.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/video/gspca/gspca.c 2009-11-12 17:18:17.000000000 -0500
@@ -99,7 +99,7 @@ static void gspca_vm_close(struct vm_are
frame->v4l2_buf.flags &= ~V4L2_BUF_FLAG_MAPPED;
}
@@ -21415,7 +23200,7 @@ diff -urNp linux-2.6.31.6/drivers/media/video/gspca/gspca.c linux-2.6.31.6/drive
};
diff -urNp linux-2.6.31.6/drivers/media/video/meye.c linux-2.6.31.6/drivers/media/video/meye.c
--- linux-2.6.31.6/drivers/media/video/meye.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/video/meye.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/video/meye.c 2009-11-12 17:18:17.000000000 -0500
@@ -1589,7 +1589,7 @@ static void meye_vm_close(struct vm_area
meye.vma_use_count[idx]--;
}
@@ -21427,7 +23212,7 @@ diff -urNp linux-2.6.31.6/drivers/media/video/meye.c linux-2.6.31.6/drivers/medi
};
diff -urNp linux-2.6.31.6/drivers/media/video/sn9c102/sn9c102_core.c linux-2.6.31.6/drivers/media/video/sn9c102/sn9c102_core.c
--- linux-2.6.31.6/drivers/media/video/sn9c102/sn9c102_core.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/video/sn9c102/sn9c102_core.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/video/sn9c102/sn9c102_core.c 2009-11-12 17:18:17.000000000 -0500
@@ -2075,7 +2075,7 @@ static void sn9c102_vm_close(struct vm_a
}
@@ -21439,7 +23224,7 @@ diff -urNp linux-2.6.31.6/drivers/media/video/sn9c102/sn9c102_core.c linux-2.6.3
};
diff -urNp linux-2.6.31.6/drivers/media/video/stk-webcam.c linux-2.6.31.6/drivers/media/video/stk-webcam.c
--- linux-2.6.31.6/drivers/media/video/stk-webcam.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/video/stk-webcam.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/video/stk-webcam.c 2009-11-12 17:18:17.000000000 -0500
@@ -790,7 +790,7 @@ static void stk_v4l_vm_close(struct vm_a
if (sbuf->mapcount == 0)
sbuf->v4lbuf.flags &= ~V4L2_BUF_FLAG_MAPPED;
@@ -21451,7 +23236,7 @@ diff -urNp linux-2.6.31.6/drivers/media/video/stk-webcam.c linux-2.6.31.6/driver
};
diff -urNp linux-2.6.31.6/drivers/media/video/usbvideo/konicawc.c linux-2.6.31.6/drivers/media/video/usbvideo/konicawc.c
--- linux-2.6.31.6/drivers/media/video/usbvideo/konicawc.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/video/usbvideo/konicawc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/video/usbvideo/konicawc.c 2009-11-12 17:18:17.000000000 -0500
@@ -225,7 +225,7 @@ static void konicawc_register_input(stru
int error;
@@ -21463,7 +23248,7 @@ diff -urNp linux-2.6.31.6/drivers/media/video/usbvideo/konicawc.c linux-2.6.31.6
if (!input_dev) {
diff -urNp linux-2.6.31.6/drivers/media/video/usbvideo/quickcam_messenger.c linux-2.6.31.6/drivers/media/video/usbvideo/quickcam_messenger.c
--- linux-2.6.31.6/drivers/media/video/usbvideo/quickcam_messenger.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/video/usbvideo/quickcam_messenger.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/video/usbvideo/quickcam_messenger.c 2009-11-12 17:18:17.000000000 -0500
@@ -89,7 +89,7 @@ static void qcm_register_input(struct qc
int error;
@@ -21475,7 +23260,7 @@ diff -urNp linux-2.6.31.6/drivers/media/video/usbvideo/quickcam_messenger.c linu
if (!input_dev) {
diff -urNp linux-2.6.31.6/drivers/media/video/uvc/uvc_v4l2.c linux-2.6.31.6/drivers/media/video/uvc/uvc_v4l2.c
--- linux-2.6.31.6/drivers/media/video/uvc/uvc_v4l2.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/video/uvc/uvc_v4l2.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/video/uvc/uvc_v4l2.c 2009-11-12 17:18:17.000000000 -0500
@@ -1063,7 +1063,7 @@ static void uvc_vm_close(struct vm_area_
buffer->vma_use_count--;
}
@@ -21487,7 +23272,7 @@ diff -urNp linux-2.6.31.6/drivers/media/video/uvc/uvc_v4l2.c linux-2.6.31.6/driv
};
diff -urNp linux-2.6.31.6/drivers/media/video/videobuf-dma-contig.c linux-2.6.31.6/drivers/media/video/videobuf-dma-contig.c
--- linux-2.6.31.6/drivers/media/video/videobuf-dma-contig.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/video/videobuf-dma-contig.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/video/videobuf-dma-contig.c 2009-11-12 17:18:17.000000000 -0500
@@ -105,7 +105,7 @@ static void videobuf_vm_close(struct vm_
}
}
@@ -21499,7 +23284,7 @@ diff -urNp linux-2.6.31.6/drivers/media/video/videobuf-dma-contig.c linux-2.6.31
};
diff -urNp linux-2.6.31.6/drivers/media/video/vino.c linux-2.6.31.6/drivers/media/video/vino.c
--- linux-2.6.31.6/drivers/media/video/vino.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/video/vino.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/video/vino.c 2009-11-12 17:18:17.000000000 -0500
@@ -3858,7 +3858,7 @@ static void vino_vm_close(struct vm_area
dprintk("vino_vm_close(): count = %d\n", fb->map_count);
}
@@ -21511,7 +23296,7 @@ diff -urNp linux-2.6.31.6/drivers/media/video/vino.c linux-2.6.31.6/drivers/medi
};
diff -urNp linux-2.6.31.6/drivers/media/video/zc0301/zc0301_core.c linux-2.6.31.6/drivers/media/video/zc0301/zc0301_core.c
--- linux-2.6.31.6/drivers/media/video/zc0301/zc0301_core.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/video/zc0301/zc0301_core.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/video/zc0301/zc0301_core.c 2009-11-12 17:18:17.000000000 -0500
@@ -933,7 +933,7 @@ static void zc0301_vm_close(struct vm_ar
}
@@ -21523,7 +23308,7 @@ diff -urNp linux-2.6.31.6/drivers/media/video/zc0301/zc0301_core.c linux-2.6.31.
};
diff -urNp linux-2.6.31.6/drivers/media/video/zoran/zoran_driver.c linux-2.6.31.6/drivers/media/video/zoran/zoran_driver.c
--- linux-2.6.31.6/drivers/media/video/zoran/zoran_driver.c 2009-11-10 18:46:14.000000000 -0500
-+++ linux-2.6.31.6/drivers/media/video/zoran/zoran_driver.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/media/video/zoran/zoran_driver.c 2009-11-12 17:18:17.000000000 -0500
@@ -3172,7 +3172,7 @@ zoran_vm_close (struct vm_area_struct *v
mutex_unlock(&zr->resource_lock);
}
@@ -21535,7 +23320,7 @@ diff -urNp linux-2.6.31.6/drivers/media/video/zoran/zoran_driver.c linux-2.6.31.
};
diff -urNp linux-2.6.31.6/drivers/message/i2o/i2o_proc.c linux-2.6.31.6/drivers/message/i2o/i2o_proc.c
--- linux-2.6.31.6/drivers/message/i2o/i2o_proc.c 2009-11-10 18:45:55.000000000 -0500
-+++ linux-2.6.31.6/drivers/message/i2o/i2o_proc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/message/i2o/i2o_proc.c 2009-11-12 17:18:17.000000000 -0500
@@ -259,13 +259,6 @@ static char *scsi_devices[] = {
"Array Controller Device"
};
@@ -21622,9 +23407,21 @@ diff -urNp linux-2.6.31.6/drivers/message/i2o/i2o_proc.c linux-2.6.31.6/drivers/
return 0;
}
+diff -urNp linux-2.6.31.6/drivers/mfd/ab3100-core.c linux-2.6.31.6/drivers/mfd/ab3100-core.c
+--- linux-2.6.31.6/drivers/mfd/ab3100-core.c 2009-11-10 18:45:53.000000000 -0500
++++ linux-2.6.31.6/drivers/mfd/ab3100-core.c 2009-11-12 17:18:35.000000000 -0500
+@@ -465,7 +465,7 @@ static int ab3100_get_set_reg_open_file(
+ return 0;
+ }
+
+-static int ab3100_get_set_reg(struct file *file,
++static ssize_t ab3100_get_set_reg(struct file *file,
+ const char __user *user_buf,
+ size_t count, loff_t *ppos)
+ {
diff -urNp linux-2.6.31.6/drivers/misc/ibmasm/ibmasmfs.c linux-2.6.31.6/drivers/misc/ibmasm/ibmasmfs.c
--- linux-2.6.31.6/drivers/misc/ibmasm/ibmasmfs.c 2009-11-10 18:45:53.000000000 -0500
-+++ linux-2.6.31.6/drivers/misc/ibmasm/ibmasmfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/misc/ibmasm/ibmasmfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -97,7 +97,7 @@ static int ibmasmfs_get_super(struct fil
return get_sb_single(fst, flags, data, ibmasmfs_fill_super, mnt);
}
@@ -21636,7 +23433,7 @@ diff -urNp linux-2.6.31.6/drivers/misc/ibmasm/ibmasmfs.c linux-2.6.31.6/drivers/
};
diff -urNp linux-2.6.31.6/drivers/misc/kgdbts.c linux-2.6.31.6/drivers/misc/kgdbts.c
--- linux-2.6.31.6/drivers/misc/kgdbts.c 2009-11-10 18:45:53.000000000 -0500
-+++ linux-2.6.31.6/drivers/misc/kgdbts.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/misc/kgdbts.c 2009-11-12 17:18:17.000000000 -0500
@@ -118,7 +118,7 @@
} while (0)
#define MAX_CONFIG_LEN 40
@@ -21657,7 +23454,7 @@ diff -urNp linux-2.6.31.6/drivers/misc/kgdbts.c linux-2.6.31.6/drivers/misc/kgdb
.write_char = kgdbts_put_char,
diff -urNp linux-2.6.31.6/drivers/misc/phantom.c linux-2.6.31.6/drivers/misc/phantom.c
--- linux-2.6.31.6/drivers/misc/phantom.c 2009-11-10 18:45:53.000000000 -0500
-+++ linux-2.6.31.6/drivers/misc/phantom.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/misc/phantom.c 2009-11-12 17:18:17.000000000 -0500
@@ -271,7 +271,7 @@ static unsigned int phantom_poll(struct
return mask;
}
@@ -21669,7 +23466,7 @@ diff -urNp linux-2.6.31.6/drivers/misc/phantom.c linux-2.6.31.6/drivers/misc/pha
.unlocked_ioctl = phantom_ioctl,
diff -urNp linux-2.6.31.6/drivers/misc/sgi-gru/grufile.c linux-2.6.31.6/drivers/misc/sgi-gru/grufile.c
--- linux-2.6.31.6/drivers/misc/sgi-gru/grufile.c 2009-11-10 18:45:53.000000000 -0500
-+++ linux-2.6.31.6/drivers/misc/sgi-gru/grufile.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/misc/sgi-gru/grufile.c 2009-11-12 17:18:17.000000000 -0500
@@ -53,7 +53,7 @@ struct gru_stats_s gru_stats;
/* Guaranteed user available resources on each node */
static int max_user_cbrs, max_user_dsr_bytes;
@@ -21699,7 +23496,7 @@ diff -urNp linux-2.6.31.6/drivers/misc/sgi-gru/grufile.c linux-2.6.31.6/drivers/
};
diff -urNp linux-2.6.31.6/drivers/misc/sgi-gru/grutables.h linux-2.6.31.6/drivers/misc/sgi-gru/grutables.h
--- linux-2.6.31.6/drivers/misc/sgi-gru/grutables.h 2009-11-10 18:45:53.000000000 -0500
-+++ linux-2.6.31.6/drivers/misc/sgi-gru/grutables.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/misc/sgi-gru/grutables.h 2009-11-12 17:18:17.000000000 -0500
@@ -624,7 +624,7 @@ static inline int is_kernel_context(stru
*/
struct gru_unload_context_req;
@@ -21711,7 +23508,7 @@ diff -urNp linux-2.6.31.6/drivers/misc/sgi-gru/grutables.h linux-2.6.31.6/driver
extern struct gru_vma_data *gru_alloc_vma_data(struct vm_area_struct *vma,
diff -urNp linux-2.6.31.6/drivers/mmc/core/debugfs.c linux-2.6.31.6/drivers/mmc/core/debugfs.c
--- linux-2.6.31.6/drivers/mmc/core/debugfs.c 2009-11-10 18:46:15.000000000 -0500
-+++ linux-2.6.31.6/drivers/mmc/core/debugfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/mmc/core/debugfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -240,7 +240,7 @@ static int mmc_ext_csd_release(struct in
return 0;
}
@@ -21723,7 +23520,7 @@ diff -urNp linux-2.6.31.6/drivers/mmc/core/debugfs.c linux-2.6.31.6/drivers/mmc/
.release = mmc_ext_csd_release,
diff -urNp linux-2.6.31.6/drivers/mtd/devices/doc2000.c linux-2.6.31.6/drivers/mtd/devices/doc2000.c
--- linux-2.6.31.6/drivers/mtd/devices/doc2000.c 2009-11-10 18:45:53.000000000 -0500
-+++ linux-2.6.31.6/drivers/mtd/devices/doc2000.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/mtd/devices/doc2000.c 2009-11-12 17:18:17.000000000 -0500
@@ -776,7 +776,7 @@ static int doc_write(struct mtd_info *mt
/* The ECC will not be calculated correctly if less than 512 is written */
@@ -21735,7 +23532,7 @@ diff -urNp linux-2.6.31.6/drivers/mtd/devices/doc2000.c linux-2.6.31.6/drivers/m
(long) to, (long) len);
diff -urNp linux-2.6.31.6/drivers/mtd/devices/doc2001.c linux-2.6.31.6/drivers/mtd/devices/doc2001.c
--- linux-2.6.31.6/drivers/mtd/devices/doc2001.c 2009-11-10 18:45:53.000000000 -0500
-+++ linux-2.6.31.6/drivers/mtd/devices/doc2001.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/mtd/devices/doc2001.c 2009-11-12 17:18:17.000000000 -0500
@@ -395,6 +395,8 @@ static int doc_read (struct mtd_info *mt
/* Don't allow read past end of device */
if (from >= this->totlen)
@@ -21747,7 +23544,7 @@ diff -urNp linux-2.6.31.6/drivers/mtd/devices/doc2001.c linux-2.6.31.6/drivers/m
if (from + len > ((from | 0x1ff) + 1))
diff -urNp linux-2.6.31.6/drivers/mtd/ubi/build.c linux-2.6.31.6/drivers/mtd/ubi/build.c
--- linux-2.6.31.6/drivers/mtd/ubi/build.c 2009-11-10 18:45:53.000000000 -0500
-+++ linux-2.6.31.6/drivers/mtd/ubi/build.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/mtd/ubi/build.c 2009-11-12 17:18:17.000000000 -0500
@@ -1257,7 +1257,7 @@ static int __init bytes_str_to_int(const
unsigned long result;
@@ -21759,7 +23556,7 @@ diff -urNp linux-2.6.31.6/drivers/mtd/ubi/build.c linux-2.6.31.6/drivers/mtd/ubi
return -EINVAL;
diff -urNp linux-2.6.31.6/drivers/net/e1000e/82571.c linux-2.6.31.6/drivers/net/e1000e/82571.c
--- linux-2.6.31.6/drivers/net/e1000e/82571.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/net/e1000e/82571.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/net/e1000e/82571.c 2009-11-12 17:18:17.000000000 -0500
@@ -1656,7 +1656,7 @@ static void e1000_clear_hw_cntrs_82571(s
temp = er32(ICRXDMTC);
}
@@ -21807,7 +23604,7 @@ diff -urNp linux-2.6.31.6/drivers/net/e1000e/82571.c linux-2.6.31.6/drivers/net/
.release_nvm = e1000_release_nvm_82571,
diff -urNp linux-2.6.31.6/drivers/net/e1000e/e1000.h linux-2.6.31.6/drivers/net/e1000e/e1000.h
--- linux-2.6.31.6/drivers/net/e1000e/e1000.h 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/net/e1000e/e1000.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/net/e1000e/e1000.h 2009-11-12 17:18:17.000000000 -0500
@@ -359,9 +359,9 @@ struct e1000_info {
u32 pba;
u32 max_hw_frame_size;
@@ -21823,7 +23620,7 @@ diff -urNp linux-2.6.31.6/drivers/net/e1000e/e1000.h linux-2.6.31.6/drivers/net/
/* hardware capability, feature, and workaround flags */
diff -urNp linux-2.6.31.6/drivers/net/e1000e/es2lan.c linux-2.6.31.6/drivers/net/e1000e/es2lan.c
--- linux-2.6.31.6/drivers/net/e1000e/es2lan.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/net/e1000e/es2lan.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/net/e1000e/es2lan.c 2009-11-12 17:18:17.000000000 -0500
@@ -1365,7 +1365,7 @@ static void e1000_clear_hw_cntrs_80003es
temp = er32(ICRXDMTC);
}
@@ -21851,9 +23648,33 @@ diff -urNp linux-2.6.31.6/drivers/net/e1000e/es2lan.c linux-2.6.31.6/drivers/net
.acquire_nvm = e1000_acquire_nvm_80003es2lan,
.read_nvm = e1000e_read_nvm_eerd,
.release_nvm = e1000_release_nvm_80003es2lan,
+diff -urNp linux-2.6.31.6/drivers/net/e1000e/hw.h linux-2.6.31.6/drivers/net/e1000e/hw.h
+--- linux-2.6.31.6/drivers/net/e1000e/hw.h 2009-11-10 18:46:13.000000000 -0500
++++ linux-2.6.31.6/drivers/net/e1000e/hw.h 2009-11-12 17:18:35.000000000 -0500
+@@ -774,13 +774,13 @@ struct e1000_phy_operations {
+
+ /* Function pointers for the NVM. */
+ struct e1000_nvm_operations {
+- s32 (*acquire_nvm)(struct e1000_hw *);
+- s32 (*read_nvm)(struct e1000_hw *, u16, u16, u16 *);
+- void (*release_nvm)(struct e1000_hw *);
+- s32 (*update_nvm)(struct e1000_hw *);
+- s32 (*valid_led_default)(struct e1000_hw *, u16 *);
+- s32 (*validate_nvm)(struct e1000_hw *);
+- s32 (*write_nvm)(struct e1000_hw *, u16, u16, u16 *);
++ s32 (* const acquire_nvm)(struct e1000_hw *);
++ s32 (* const read_nvm)(struct e1000_hw *, u16, u16, u16 *);
++ void (* const release_nvm)(struct e1000_hw *);
++ s32 (* const update_nvm)(struct e1000_hw *);
++ s32 (* const valid_led_default)(struct e1000_hw *, u16 *);
++ s32 (* const validate_nvm)(struct e1000_hw *);
++ s32 (* const write_nvm)(struct e1000_hw *, u16, u16, u16 *);
+ };
+
+ struct e1000_mac_info {
diff -urNp linux-2.6.31.6/drivers/net/e1000e/ich8lan.c linux-2.6.31.6/drivers/net/e1000e/ich8lan.c
--- linux-2.6.31.6/drivers/net/e1000e/ich8lan.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/net/e1000e/ich8lan.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/net/e1000e/ich8lan.c 2009-11-12 17:18:17.000000000 -0500
@@ -3078,7 +3078,7 @@ static void e1000_clear_hw_cntrs_ich8lan
}
}
@@ -21883,7 +23704,7 @@ diff -urNp linux-2.6.31.6/drivers/net/e1000e/ich8lan.c linux-2.6.31.6/drivers/ne
.release_nvm = e1000_release_swflag_ich8lan,
diff -urNp linux-2.6.31.6/drivers/net/ibmveth.c linux-2.6.31.6/drivers/net/ibmveth.c
--- linux-2.6.31.6/drivers/net/ibmveth.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/net/ibmveth.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/net/ibmveth.c 2009-11-12 17:18:17.000000000 -0500
@@ -1576,7 +1576,7 @@ static struct attribute * veth_pool_attr
NULL,
};
@@ -21895,7 +23716,7 @@ diff -urNp linux-2.6.31.6/drivers/net/ibmveth.c linux-2.6.31.6/drivers/net/ibmve
};
diff -urNp linux-2.6.31.6/drivers/net/igb/e1000_82575.c linux-2.6.31.6/drivers/net/igb/e1000_82575.c
--- linux-2.6.31.6/drivers/net/igb/e1000_82575.c 2009-11-10 18:46:06.000000000 -0500
-+++ linux-2.6.31.6/drivers/net/igb/e1000_82575.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/net/igb/e1000_82575.c 2009-11-12 17:18:17.000000000 -0500
@@ -1461,7 +1461,7 @@ void igb_vmdq_set_replication_pf(struct
wr32(E1000_VT_CTL, vt_ctl);
}
@@ -21923,8 +23744,20 @@ diff -urNp linux-2.6.31.6/drivers/net/igb/e1000_82575.c linux-2.6.31.6/drivers/n
.release = igb_release_nvm_82575,
diff -urNp linux-2.6.31.6/drivers/net/igb/e1000_hw.h linux-2.6.31.6/drivers/net/igb/e1000_hw.h
--- linux-2.6.31.6/drivers/net/igb/e1000_hw.h 2009-11-10 18:46:06.000000000 -0500
-+++ linux-2.6.31.6/drivers/net/igb/e1000_hw.h 2009-11-10 18:40:40.000000000 -0500
-@@ -310,9 +310,9 @@ struct e1000_nvm_operations {
++++ linux-2.6.31.6/drivers/net/igb/e1000_hw.h 2009-11-12 17:18:35.000000000 -0500
+@@ -302,17 +302,17 @@ struct e1000_phy_operations {
+ };
+
+ struct e1000_nvm_operations {
+- s32 (*acquire)(struct e1000_hw *);
+- s32 (*read)(struct e1000_hw *, u16, u16, u16 *);
+- void (*release)(struct e1000_hw *);
+- s32 (*write)(struct e1000_hw *, u16, u16, u16 *);
++ s32 (* const acquire)(struct e1000_hw *);
++ s32 (* const read)(struct e1000_hw *, u16, u16, u16 *);
++ void (* const release)(struct e1000_hw *);
++ s32 (* const write)(struct e1000_hw *, u16, u16, u16 *);
+ };
struct e1000_info {
s32 (*get_invariants)(struct e1000_hw *);
@@ -21939,7 +23772,7 @@ diff -urNp linux-2.6.31.6/drivers/net/igb/e1000_hw.h linux-2.6.31.6/drivers/net/
extern const struct e1000_info e1000_82575_info;
diff -urNp linux-2.6.31.6/drivers/net/irda/vlsi_ir.c linux-2.6.31.6/drivers/net/irda/vlsi_ir.c
--- linux-2.6.31.6/drivers/net/irda/vlsi_ir.c 2009-11-10 18:46:06.000000000 -0500
-+++ linux-2.6.31.6/drivers/net/irda/vlsi_ir.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/net/irda/vlsi_ir.c 2009-11-12 17:18:17.000000000 -0500
@@ -906,13 +906,12 @@ static int vlsi_hard_start_xmit(struct s
/* no race - tx-ring already empty */
vlsi_set_baud(idev, iobase);
@@ -21958,7 +23791,7 @@ diff -urNp linux-2.6.31.6/drivers/net/irda/vlsi_ir.c linux-2.6.31.6/drivers/net/
return 0;
diff -urNp linux-2.6.31.6/drivers/net/iseries_veth.c linux-2.6.31.6/drivers/net/iseries_veth.c
--- linux-2.6.31.6/drivers/net/iseries_veth.c 2009-11-10 18:46:06.000000000 -0500
-+++ linux-2.6.31.6/drivers/net/iseries_veth.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/net/iseries_veth.c 2009-11-12 17:18:17.000000000 -0500
@@ -384,7 +384,7 @@ static struct attribute *veth_cnx_defaul
NULL
};
@@ -21979,7 +23812,7 @@ diff -urNp linux-2.6.31.6/drivers/net/iseries_veth.c linux-2.6.31.6/drivers/net/
diff -urNp linux-2.6.31.6/drivers/net/pcnet32.c linux-2.6.31.6/drivers/net/pcnet32.c
--- linux-2.6.31.6/drivers/net/pcnet32.c 2009-11-10 18:46:06.000000000 -0500
-+++ linux-2.6.31.6/drivers/net/pcnet32.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/net/pcnet32.c 2009-11-12 17:18:17.000000000 -0500
@@ -78,7 +78,7 @@ static int cards_found;
/*
* VLB I/O addresses
@@ -21991,7 +23824,7 @@ diff -urNp linux-2.6.31.6/drivers/net/pcnet32.c linux-2.6.31.6/drivers/net/pcnet
static int pcnet32_debug = 0;
diff -urNp linux-2.6.31.6/drivers/net/tg3.h linux-2.6.31.6/drivers/net/tg3.h
--- linux-2.6.31.6/drivers/net/tg3.h 2009-11-10 18:46:05.000000000 -0500
-+++ linux-2.6.31.6/drivers/net/tg3.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/net/tg3.h 2009-11-12 17:18:17.000000000 -0500
@@ -89,6 +89,7 @@
#define CHIPREV_ID_5750_A0 0x4000
#define CHIPREV_ID_5750_A1 0x4001
@@ -22002,7 +23835,7 @@ diff -urNp linux-2.6.31.6/drivers/net/tg3.h linux-2.6.31.6/drivers/net/tg3.h
#define CHIPREV_ID_5752_A0 0x6000
diff -urNp linux-2.6.31.6/drivers/net/usb/hso.c linux-2.6.31.6/drivers/net/usb/hso.c
--- linux-2.6.31.6/drivers/net/usb/hso.c 2009-11-10 18:46:12.000000000 -0500
-+++ linux-2.6.31.6/drivers/net/usb/hso.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/net/usb/hso.c 2009-11-12 17:18:17.000000000 -0500
@@ -258,7 +258,7 @@ struct hso_serial {
/* from usb_serial_port */
@@ -22081,9 +23914,77 @@ diff -urNp linux-2.6.31.6/drivers/net/usb/hso.c linux-2.6.31.6/drivers/net/usb/h
result =
hso_start_serial_device(serial_table[i], GFP_NOIO);
hso_kick_transmit(dev2ser(serial_table[i]));
+diff -urNp linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-3945.c linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-3945.c
+--- linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-3945.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-3945.c 2009-11-12 17:18:35.000000000 -0500
+@@ -2867,7 +2867,7 @@ static struct iwl_hcmd_utils_ops iwl3945
+ .build_addsta_hcmd = iwl3945_build_addsta_hcmd,
+ };
+
+-static struct iwl_ops iwl3945_ops = {
++static const struct iwl_ops iwl3945_ops = {
+ .ucode = &iwl3945_ucode,
+ .lib = &iwl3945_lib,
+ .hcmd = &iwl3945_hcmd,
+diff -urNp linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-4965.c linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-4965.c
+--- linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-4965.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-4965.c 2009-11-12 17:18:35.000000000 -0500
+@@ -2324,7 +2324,7 @@ static struct iwl_lib_ops iwl4965_lib =
+ },
+ };
+
+-static struct iwl_ops iwl4965_ops = {
++static const struct iwl_ops iwl4965_ops = {
+ .ucode = &iwl4965_ucode,
+ .lib = &iwl4965_lib,
+ .hcmd = &iwl4965_hcmd,
+diff -urNp linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-5000.c linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-5000.c
+--- linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-5000.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-5000.c 2009-11-12 17:18:35.000000000 -0500
+@@ -1597,14 +1597,14 @@ static struct iwl_lib_ops iwl5150_lib =
+ },
+ };
+
+-struct iwl_ops iwl5000_ops = {
++const struct iwl_ops iwl5000_ops = {
+ .ucode = &iwl5000_ucode,
+ .lib = &iwl5000_lib,
+ .hcmd = &iwl5000_hcmd,
+ .utils = &iwl5000_hcmd_utils,
+ };
+
+-static struct iwl_ops iwl5150_ops = {
++static const struct iwl_ops iwl5150_ops = {
+ .ucode = &iwl5000_ucode,
+ .lib = &iwl5150_lib,
+ .hcmd = &iwl5000_hcmd,
+diff -urNp linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-6000.c linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-6000.c
+--- linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-6000.c 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-6000.c 2009-11-12 17:18:35.000000000 -0500
+@@ -68,7 +68,7 @@ static struct iwl_hcmd_utils_ops iwl6000
+ .calc_rssi = iwl5000_calc_rssi,
+ };
+
+-static struct iwl_ops iwl6000_ops = {
++static const struct iwl_ops iwl6000_ops = {
+ .ucode = &iwl5000_ucode,
+ .lib = &iwl5000_lib,
+ .hcmd = &iwl5000_hcmd,
+diff -urNp linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-dev.h linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-dev.h
+--- linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-dev.h 2009-11-10 18:46:05.000000000 -0500
++++ linux-2.6.31.6/drivers/net/wireless/iwlwifi/iwl-dev.h 2009-11-12 17:18:35.000000000 -0500
+@@ -65,7 +65,7 @@ extern struct iwl_cfg iwl1000_bgn_cfg;
+
+ /* shared structures from iwl-5000.c */
+ extern struct iwl_mod_params iwl50_mod_params;
+-extern struct iwl_ops iwl5000_ops;
++extern const struct iwl_ops iwl5000_ops;
+ extern struct iwl_ucode_ops iwl5000_ucode;
+ extern struct iwl_lib_ops iwl5000_lib;
+ extern struct iwl_hcmd_ops iwl5000_hcmd;
diff -urNp linux-2.6.31.6/drivers/oprofile/buffer_sync.c linux-2.6.31.6/drivers/oprofile/buffer_sync.c
--- linux-2.6.31.6/drivers/oprofile/buffer_sync.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/oprofile/buffer_sync.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/oprofile/buffer_sync.c 2009-11-12 17:18:17.000000000 -0500
@@ -341,7 +341,7 @@ static void add_data(struct op_entry *en
if (cookie == NO_COOKIE)
offset = pc;
@@ -22121,7 +24022,7 @@ diff -urNp linux-2.6.31.6/drivers/oprofile/buffer_sync.c linux-2.6.31.6/drivers/
release_mm(mm);
diff -urNp linux-2.6.31.6/drivers/oprofile/event_buffer.c linux-2.6.31.6/drivers/oprofile/event_buffer.c
--- linux-2.6.31.6/drivers/oprofile/event_buffer.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/oprofile/event_buffer.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/oprofile/event_buffer.c 2009-11-12 17:18:17.000000000 -0500
@@ -42,7 +42,7 @@ static atomic_t buffer_ready = ATOMIC_IN
void add_event_entry(unsigned long value)
{
@@ -22133,7 +24034,7 @@ diff -urNp linux-2.6.31.6/drivers/oprofile/event_buffer.c linux-2.6.31.6/drivers
diff -urNp linux-2.6.31.6/drivers/oprofile/oprofilefs.c linux-2.6.31.6/drivers/oprofile/oprofilefs.c
--- linux-2.6.31.6/drivers/oprofile/oprofilefs.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/oprofile/oprofilefs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/oprofile/oprofilefs.c 2009-11-12 17:18:17.000000000 -0500
@@ -35,7 +35,7 @@ static struct inode *oprofilefs_get_inod
}
@@ -22154,7 +24055,7 @@ diff -urNp linux-2.6.31.6/drivers/oprofile/oprofilefs.c linux-2.6.31.6/drivers/o
&atomic_ro_fops, 0444);
diff -urNp linux-2.6.31.6/drivers/oprofile/oprofile_stats.c linux-2.6.31.6/drivers/oprofile/oprofile_stats.c
--- linux-2.6.31.6/drivers/oprofile/oprofile_stats.c 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/oprofile/oprofile_stats.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/oprofile/oprofile_stats.c 2009-11-12 17:18:17.000000000 -0500
@@ -30,10 +30,10 @@ void oprofile_reset_stats(void)
cpu_buf->sample_invalid_eip = 0;
}
@@ -22172,7 +24073,7 @@ diff -urNp linux-2.6.31.6/drivers/oprofile/oprofile_stats.c linux-2.6.31.6/drive
diff -urNp linux-2.6.31.6/drivers/oprofile/oprofile_stats.h linux-2.6.31.6/drivers/oprofile/oprofile_stats.h
--- linux-2.6.31.6/drivers/oprofile/oprofile_stats.h 2009-11-10 18:46:13.000000000 -0500
-+++ linux-2.6.31.6/drivers/oprofile/oprofile_stats.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/oprofile/oprofile_stats.h 2009-11-12 17:18:17.000000000 -0500
@@ -13,10 +13,10 @@
#include <asm/atomic.h>
@@ -22190,7 +24091,7 @@ diff -urNp linux-2.6.31.6/drivers/oprofile/oprofile_stats.h linux-2.6.31.6/drive
extern struct oprofile_stat_struct oprofile_stats;
diff -urNp linux-2.6.31.6/drivers/parisc/pdc_stable.c linux-2.6.31.6/drivers/parisc/pdc_stable.c
--- linux-2.6.31.6/drivers/parisc/pdc_stable.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/parisc/pdc_stable.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/parisc/pdc_stable.c 2009-11-12 17:18:17.000000000 -0500
@@ -481,7 +481,7 @@ pdcspath_attr_store(struct kobject *kobj
return ret;
}
@@ -22202,7 +24103,7 @@ diff -urNp linux-2.6.31.6/drivers/parisc/pdc_stable.c linux-2.6.31.6/drivers/par
};
diff -urNp linux-2.6.31.6/drivers/pci/hotplug/acpiphp_glue.c linux-2.6.31.6/drivers/pci/hotplug/acpiphp_glue.c
--- linux-2.6.31.6/drivers/pci/hotplug/acpiphp_glue.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/pci/hotplug/acpiphp_glue.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/pci/hotplug/acpiphp_glue.c 2009-11-12 17:18:17.000000000 -0500
@@ -111,7 +111,7 @@ static int post_dock_fixups(struct notif
}
@@ -22214,7 +24115,7 @@ diff -urNp linux-2.6.31.6/drivers/pci/hotplug/acpiphp_glue.c linux-2.6.31.6/driv
diff -urNp linux-2.6.31.6/drivers/pci/hotplug/cpqphp_nvram.c linux-2.6.31.6/drivers/pci/hotplug/cpqphp_nvram.c
--- linux-2.6.31.6/drivers/pci/hotplug/cpqphp_nvram.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/pci/hotplug/cpqphp_nvram.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/pci/hotplug/cpqphp_nvram.c 2009-11-12 17:18:17.000000000 -0500
@@ -428,9 +428,13 @@ static u32 store_HRT (void __iomem *rom_
void compaq_nvram_init (void __iomem *rom_start)
@@ -22231,7 +24132,7 @@ diff -urNp linux-2.6.31.6/drivers/pci/hotplug/cpqphp_nvram.c linux-2.6.31.6/driv
/* initialize our int15 lock */
diff -urNp linux-2.6.31.6/drivers/pci/hotplug/fakephp.c linux-2.6.31.6/drivers/pci/hotplug/fakephp.c
--- linux-2.6.31.6/drivers/pci/hotplug/fakephp.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/pci/hotplug/fakephp.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/pci/hotplug/fakephp.c 2009-11-12 17:18:17.000000000 -0500
@@ -73,7 +73,7 @@ static void legacy_release(struct kobjec
}
@@ -22243,7 +24144,7 @@ diff -urNp linux-2.6.31.6/drivers/pci/hotplug/fakephp.c linux-2.6.31.6/drivers/p
.release = &legacy_release,
diff -urNp linux-2.6.31.6/drivers/pci/pcie/portdrv_pci.c linux-2.6.31.6/drivers/pci/pcie/portdrv_pci.c
--- linux-2.6.31.6/drivers/pci/pcie/portdrv_pci.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/pci/pcie/portdrv_pci.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/pci/pcie/portdrv_pci.c 2009-11-12 17:18:17.000000000 -0500
@@ -249,7 +249,7 @@ static void pcie_portdrv_err_resume(stru
static const struct pci_device_id port_pci_ids[] = { {
/* handle any PCI-Express port */
@@ -22255,7 +24156,7 @@ diff -urNp linux-2.6.31.6/drivers/pci/pcie/portdrv_pci.c linux-2.6.31.6/drivers/
diff -urNp linux-2.6.31.6/drivers/pci/proc.c linux-2.6.31.6/drivers/pci/proc.c
--- linux-2.6.31.6/drivers/pci/proc.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/pci/proc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/pci/proc.c 2009-11-12 17:18:17.000000000 -0500
@@ -480,7 +480,16 @@ static const struct file_operations proc
static int __init pci_proc_init(void)
{
@@ -22275,7 +24176,7 @@ diff -urNp linux-2.6.31.6/drivers/pci/proc.c linux-2.6.31.6/drivers/pci/proc.c
proc_initialized = 1;
diff -urNp linux-2.6.31.6/drivers/pci/slot.c linux-2.6.31.6/drivers/pci/slot.c
--- linux-2.6.31.6/drivers/pci/slot.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/pci/slot.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/pci/slot.c 2009-11-12 17:18:17.000000000 -0500
@@ -29,7 +29,7 @@ static ssize_t pci_slot_attr_store(struc
return attribute->store ? attribute->store(slot, buf, len) : -EIO;
}
@@ -22287,7 +24188,7 @@ diff -urNp linux-2.6.31.6/drivers/pci/slot.c linux-2.6.31.6/drivers/pci/slot.c
};
diff -urNp linux-2.6.31.6/drivers/pcmcia/ti113x.h linux-2.6.31.6/drivers/pcmcia/ti113x.h
--- linux-2.6.31.6/drivers/pcmcia/ti113x.h 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/pcmcia/ti113x.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/pcmcia/ti113x.h 2009-11-12 17:18:17.000000000 -0500
@@ -903,7 +903,7 @@ static struct pci_device_id ene_tune_tbl
DEVID(PCI_VENDOR_ID_MOTOROLA, 0x3410, 0xECC0, PCI_ANY_ID,
ENE_TEST_C9_TLTENABLE | ENE_TEST_C9_PFENABLE, ENE_TEST_C9_TLTENABLE),
@@ -22299,7 +24200,7 @@ diff -urNp linux-2.6.31.6/drivers/pcmcia/ti113x.h linux-2.6.31.6/drivers/pcmcia/
static void ene_tune_bridge(struct pcmcia_socket *sock, struct pci_bus *bus)
diff -urNp linux-2.6.31.6/drivers/pcmcia/yenta_socket.c linux-2.6.31.6/drivers/pcmcia/yenta_socket.c
--- linux-2.6.31.6/drivers/pcmcia/yenta_socket.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/drivers/pcmcia/yenta_socket.c 2009-11-10 18:53:43.000000000 -0500
++++ linux-2.6.31.6/drivers/pcmcia/yenta_socket.c 2009-11-12 17:18:17.000000000 -0500
@@ -1387,7 +1387,7 @@ static struct pci_device_id yenta_table
/* match any cardbus bridge */
@@ -22309,9 +24210,153 @@ diff -urNp linux-2.6.31.6/drivers/pcmcia/yenta_socket.c linux-2.6.31.6/drivers/p
};
MODULE_DEVICE_TABLE(pci, yenta_table);
+diff -urNp linux-2.6.31.6/drivers/platform/x86/acer-wmi.c linux-2.6.31.6/drivers/platform/x86/acer-wmi.c
+--- linux-2.6.31.6/drivers/platform/x86/acer-wmi.c 2009-11-10 18:46:13.000000000 -0500
++++ linux-2.6.31.6/drivers/platform/x86/acer-wmi.c 2009-11-12 17:18:35.000000000 -0500
+@@ -916,7 +916,7 @@ static int update_bl_status(struct backl
+ return 0;
+ }
+
+-static struct backlight_ops acer_bl_ops = {
++static const struct backlight_ops acer_bl_ops = {
+ .get_brightness = read_brightness,
+ .update_status = update_bl_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/platform/x86/asus_acpi.c linux-2.6.31.6/drivers/platform/x86/asus_acpi.c
+--- linux-2.6.31.6/drivers/platform/x86/asus_acpi.c 2009-11-10 18:46:13.000000000 -0500
++++ linux-2.6.31.6/drivers/platform/x86/asus_acpi.c 2009-11-12 17:18:35.000000000 -0500
+@@ -1402,7 +1402,7 @@ static int asus_hotk_remove(struct acpi_
+ return 0;
+ }
+
+-static struct backlight_ops asus_backlight_data = {
++static const struct backlight_ops asus_backlight_data = {
+ .get_brightness = read_brightness,
+ .update_status = set_brightness_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/platform/x86/asus-laptop.c linux-2.6.31.6/drivers/platform/x86/asus-laptop.c
+--- linux-2.6.31.6/drivers/platform/x86/asus-laptop.c 2009-11-10 18:46:13.000000000 -0500
++++ linux-2.6.31.6/drivers/platform/x86/asus-laptop.c 2009-11-12 17:18:35.000000000 -0500
+@@ -232,7 +232,7 @@ static struct backlight_device *asus_bac
+ */
+ static int read_brightness(struct backlight_device *bd);
+ static int update_bl_status(struct backlight_device *bd);
+-static struct backlight_ops asusbl_ops = {
++static const struct backlight_ops asusbl_ops = {
+ .get_brightness = read_brightness,
+ .update_status = update_bl_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/platform/x86/compal-laptop.c linux-2.6.31.6/drivers/platform/x86/compal-laptop.c
+--- linux-2.6.31.6/drivers/platform/x86/compal-laptop.c 2009-11-10 18:46:13.000000000 -0500
++++ linux-2.6.31.6/drivers/platform/x86/compal-laptop.c 2009-11-12 17:18:35.000000000 -0500
+@@ -163,7 +163,7 @@ static int bl_update_status(struct backl
+ return set_lcd_level(b->props.brightness);
+ }
+
+-static struct backlight_ops compalbl_ops = {
++static const struct backlight_ops compalbl_ops = {
+ .get_brightness = bl_get_brightness,
+ .update_status = bl_update_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/platform/x86/dell-laptop.c linux-2.6.31.6/drivers/platform/x86/dell-laptop.c
+--- linux-2.6.31.6/drivers/platform/x86/dell-laptop.c 2009-11-10 18:46:13.000000000 -0500
++++ linux-2.6.31.6/drivers/platform/x86/dell-laptop.c 2009-11-12 17:18:35.000000000 -0500
+@@ -305,7 +305,7 @@ static int dell_get_intensity(struct bac
+ return buffer.output[1];
+ }
+
+-static struct backlight_ops dell_ops = {
++static const struct backlight_ops dell_ops = {
+ .get_brightness = dell_get_intensity,
+ .update_status = dell_send_intensity,
+ };
+diff -urNp linux-2.6.31.6/drivers/platform/x86/eeepc-laptop.c linux-2.6.31.6/drivers/platform/x86/eeepc-laptop.c
+--- linux-2.6.31.6/drivers/platform/x86/eeepc-laptop.c 2009-11-10 18:46:13.000000000 -0500
++++ linux-2.6.31.6/drivers/platform/x86/eeepc-laptop.c 2009-11-12 17:18:35.000000000 -0500
+@@ -234,7 +234,7 @@ static struct device *eeepc_hwmon_device
+ */
+ static int read_brightness(struct backlight_device *bd);
+ static int update_bl_status(struct backlight_device *bd);
+-static struct backlight_ops eeepcbl_ops = {
++static const struct backlight_ops eeepcbl_ops = {
+ .get_brightness = read_brightness,
+ .update_status = update_bl_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/platform/x86/fujitsu-laptop.c linux-2.6.31.6/drivers/platform/x86/fujitsu-laptop.c
+--- linux-2.6.31.6/drivers/platform/x86/fujitsu-laptop.c 2009-11-10 18:46:13.000000000 -0500
++++ linux-2.6.31.6/drivers/platform/x86/fujitsu-laptop.c 2009-11-12 17:18:35.000000000 -0500
+@@ -442,7 +442,7 @@ static int bl_update_status(struct backl
+ return ret;
+ }
+
+-static struct backlight_ops fujitsubl_ops = {
++static const struct backlight_ops fujitsubl_ops = {
+ .get_brightness = bl_get_brightness,
+ .update_status = bl_update_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/platform/x86/msi-laptop.c linux-2.6.31.6/drivers/platform/x86/msi-laptop.c
+--- linux-2.6.31.6/drivers/platform/x86/msi-laptop.c 2009-11-10 18:46:13.000000000 -0500
++++ linux-2.6.31.6/drivers/platform/x86/msi-laptop.c 2009-11-12 17:18:35.000000000 -0500
+@@ -161,7 +161,7 @@ static int bl_update_status(struct backl
+ return set_lcd_level(b->props.brightness);
+ }
+
+-static struct backlight_ops msibl_ops = {
++static const struct backlight_ops msibl_ops = {
+ .get_brightness = bl_get_brightness,
+ .update_status = bl_update_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/platform/x86/panasonic-laptop.c linux-2.6.31.6/drivers/platform/x86/panasonic-laptop.c
+--- linux-2.6.31.6/drivers/platform/x86/panasonic-laptop.c 2009-11-10 18:46:13.000000000 -0500
++++ linux-2.6.31.6/drivers/platform/x86/panasonic-laptop.c 2009-11-12 17:18:35.000000000 -0500
+@@ -352,7 +352,7 @@ static int bl_set_status(struct backligh
+ return acpi_pcc_write_sset(pcc, SINF_DC_CUR_BRIGHT, bright);
+ }
+
+-static struct backlight_ops pcc_backlight_ops = {
++static const struct backlight_ops pcc_backlight_ops = {
+ .get_brightness = bl_get,
+ .update_status = bl_set_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/platform/x86/sony-laptop.c linux-2.6.31.6/drivers/platform/x86/sony-laptop.c
+--- linux-2.6.31.6/drivers/platform/x86/sony-laptop.c 2009-11-10 18:46:13.000000000 -0500
++++ linux-2.6.31.6/drivers/platform/x86/sony-laptop.c 2009-11-12 17:18:35.000000000 -0500
+@@ -850,7 +850,7 @@ static int sony_backlight_get_brightness
+ }
+
+ static struct backlight_device *sony_backlight_device;
+-static struct backlight_ops sony_backlight_ops = {
++static const struct backlight_ops sony_backlight_ops = {
+ .update_status = sony_backlight_update_status,
+ .get_brightness = sony_backlight_get_brightness,
+ };
+diff -urNp linux-2.6.31.6/drivers/platform/x86/thinkpad_acpi.c linux-2.6.31.6/drivers/platform/x86/thinkpad_acpi.c
+--- linux-2.6.31.6/drivers/platform/x86/thinkpad_acpi.c 2009-11-10 18:46:13.000000000 -0500
++++ linux-2.6.31.6/drivers/platform/x86/thinkpad_acpi.c 2009-11-12 17:18:35.000000000 -0500
+@@ -5635,7 +5635,7 @@ static int brightness_get(struct backlig
+ return status & TP_EC_BACKLIGHT_LVLMSK;
+ }
+
+-static struct backlight_ops ibm_backlight_data = {
++static const struct backlight_ops ibm_backlight_data = {
+ .get_brightness = brightness_get,
+ .update_status = brightness_update_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/platform/x86/toshiba_acpi.c linux-2.6.31.6/drivers/platform/x86/toshiba_acpi.c
+--- linux-2.6.31.6/drivers/platform/x86/toshiba_acpi.c 2009-11-10 18:46:13.000000000 -0500
++++ linux-2.6.31.6/drivers/platform/x86/toshiba_acpi.c 2009-11-12 17:18:35.000000000 -0500
+@@ -671,7 +671,7 @@ static acpi_status remove_device(void)
+ return AE_OK;
+ }
+
+-static struct backlight_ops toshiba_backlight_data = {
++static const struct backlight_ops toshiba_backlight_data = {
+ .get_brightness = get_lcd,
+ .update_status = set_lcd_status,
+ };
diff -urNp linux-2.6.31.6/drivers/pnp/pnpbios/bioscalls.c linux-2.6.31.6/drivers/pnp/pnpbios/bioscalls.c
--- linux-2.6.31.6/drivers/pnp/pnpbios/bioscalls.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/pnp/pnpbios/bioscalls.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/pnp/pnpbios/bioscalls.c 2009-11-12 17:18:17.000000000 -0500
@@ -60,7 +60,7 @@ set_base(gdt[(selname) >> 3], (u32)(addr
set_limit(gdt[(selname) >> 3], size); \
} while(0)
@@ -22373,7 +24418,7 @@ diff -urNp linux-2.6.31.6/drivers/pnp/pnpbios/bioscalls.c linux-2.6.31.6/drivers
}
diff -urNp linux-2.6.31.6/drivers/pnp/quirks.c linux-2.6.31.6/drivers/pnp/quirks.c
--- linux-2.6.31.6/drivers/pnp/quirks.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/pnp/quirks.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/pnp/quirks.c 2009-11-12 17:18:17.000000000 -0500
@@ -327,7 +327,7 @@ static struct pnp_fixup pnp_fixups[] = {
/* PnP resources that might overlap PCI BARs */
{"PNP0c01", quirk_system_pci_resources},
@@ -22385,7 +24430,7 @@ diff -urNp linux-2.6.31.6/drivers/pnp/quirks.c linux-2.6.31.6/drivers/pnp/quirks
void pnp_fixup_device(struct pnp_dev *dev)
diff -urNp linux-2.6.31.6/drivers/pnp/resource.c linux-2.6.31.6/drivers/pnp/resource.c
--- linux-2.6.31.6/drivers/pnp/resource.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/pnp/resource.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/pnp/resource.c 2009-11-12 17:18:17.000000000 -0500
@@ -355,7 +355,7 @@ int pnp_check_irq(struct pnp_dev *dev, s
return 1;
@@ -22406,7 +24451,7 @@ diff -urNp linux-2.6.31.6/drivers/pnp/resource.c linux-2.6.31.6/drivers/pnp/reso
/* check if the resource is reserved */
diff -urNp linux-2.6.31.6/drivers/s390/cio/qdio_debug.c linux-2.6.31.6/drivers/s390/cio/qdio_debug.c
--- linux-2.6.31.6/drivers/s390/cio/qdio_debug.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/s390/cio/qdio_debug.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/s390/cio/qdio_debug.c 2009-11-12 17:18:17.000000000 -0500
@@ -144,7 +144,7 @@ static void remove_debugfs_entry(struct
}
}
@@ -22418,7 +24463,7 @@ diff -urNp linux-2.6.31.6/drivers/s390/cio/qdio_debug.c linux-2.6.31.6/drivers/s
.read = seq_read,
diff -urNp linux-2.6.31.6/drivers/s390/cio/qdio_perf.c linux-2.6.31.6/drivers/s390/cio/qdio_perf.c
--- linux-2.6.31.6/drivers/s390/cio/qdio_perf.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/drivers/s390/cio/qdio_perf.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/s390/cio/qdio_perf.c 2009-11-12 17:18:17.000000000 -0500
@@ -84,7 +84,7 @@ static int qdio_perf_seq_open(struct ino
return single_open(filp, qdio_perf_proc_show, NULL);
}
@@ -22428,9 +24473,21 @@ diff -urNp linux-2.6.31.6/drivers/s390/cio/qdio_perf.c linux-2.6.31.6/drivers/s3
.owner = THIS_MODULE,
.open = qdio_perf_seq_open,
.read = seq_read,
+diff -urNp linux-2.6.31.6/drivers/scsi/ipr.c linux-2.6.31.6/drivers/scsi/ipr.c
+--- linux-2.6.31.6/drivers/scsi/ipr.c 2009-11-10 18:45:54.000000000 -0500
++++ linux-2.6.31.6/drivers/scsi/ipr.c 2009-11-12 17:18:35.000000000 -0500
+@@ -5262,7 +5262,7 @@ static bool ipr_qc_fill_rtf(struct ata_q
+ return true;
+ }
+
+-static struct ata_port_operations ipr_sata_ops = {
++static const struct ata_port_operations ipr_sata_ops = {
+ .phy_reset = ipr_ata_phy_reset,
+ .hardreset = ipr_sata_reset,
+ .post_internal_cmd = ipr_ata_post_internal,
diff -urNp linux-2.6.31.6/drivers/scsi/libfc/fc_exch.c linux-2.6.31.6/drivers/scsi/libfc/fc_exch.c
--- linux-2.6.31.6/drivers/scsi/libfc/fc_exch.c 2009-11-10 18:45:53.000000000 -0500
-+++ linux-2.6.31.6/drivers/scsi/libfc/fc_exch.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/scsi/libfc/fc_exch.c 2009-11-12 17:18:17.000000000 -0500
@@ -73,12 +73,12 @@ struct fc_exch_mgr {
* all together if not used XXX
*/
@@ -22553,9 +24610,21 @@ diff -urNp linux-2.6.31.6/drivers/scsi/libfc/fc_exch.c linux-2.6.31.6/drivers/sc
FC_EM_DBG(mp, "non-BLS response to sequence");
}
fc_frame_free(fp);
+diff -urNp linux-2.6.31.6/drivers/scsi/libsas/sas_ata.c linux-2.6.31.6/drivers/scsi/libsas/sas_ata.c
+--- linux-2.6.31.6/drivers/scsi/libsas/sas_ata.c 2009-11-10 18:45:53.000000000 -0500
++++ linux-2.6.31.6/drivers/scsi/libsas/sas_ata.c 2009-11-12 17:18:35.000000000 -0500
+@@ -343,7 +343,7 @@ static int sas_ata_scr_read(struct ata_l
+ }
+ }
+
+-static struct ata_port_operations sas_sata_ops = {
++static const struct ata_port_operations sas_sata_ops = {
+ .phy_reset = sas_ata_phy_reset,
+ .post_internal_cmd = sas_ata_post_internal,
+ .qc_prep = ata_noop_qc_prep,
diff -urNp linux-2.6.31.6/drivers/scsi/scsi_logging.h linux-2.6.31.6/drivers/scsi/scsi_logging.h
--- linux-2.6.31.6/drivers/scsi/scsi_logging.h 2009-11-10 18:45:54.000000000 -0500
-+++ linux-2.6.31.6/drivers/scsi/scsi_logging.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/scsi/scsi_logging.h 2009-11-12 17:18:17.000000000 -0500
@@ -51,7 +51,7 @@ do { \
} while (0); \
} while (0)
@@ -22567,7 +24636,7 @@ diff -urNp linux-2.6.31.6/drivers/scsi/scsi_logging.h linux-2.6.31.6/drivers/scs
/*
diff -urNp linux-2.6.31.6/drivers/scsi/sg.c linux-2.6.31.6/drivers/scsi/sg.c
--- linux-2.6.31.6/drivers/scsi/sg.c 2009-11-10 18:45:53.000000000 -0500
-+++ linux-2.6.31.6/drivers/scsi/sg.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/scsi/sg.c 2009-11-12 17:18:17.000000000 -0500
@@ -1185,7 +1185,7 @@ sg_vma_fault(struct vm_area_struct *vma,
return VM_FAULT_SIGBUS;
}
@@ -22707,7 +24776,7 @@ diff -urNp linux-2.6.31.6/drivers/scsi/sg.c linux-2.6.31.6/drivers/scsi/sg.c
return 0;
diff -urNp linux-2.6.31.6/drivers/serial/8250_pci.c linux-2.6.31.6/drivers/serial/8250_pci.c
--- linux-2.6.31.6/drivers/serial/8250_pci.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/drivers/serial/8250_pci.c 2009-11-10 18:53:43.000000000 -0500
++++ linux-2.6.31.6/drivers/serial/8250_pci.c 2009-11-12 17:18:17.000000000 -0500
@@ -3591,7 +3591,7 @@ static struct pci_device_id serial_pci_t
PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_COMMUNICATION_MULTISERIAL << 8,
@@ -22719,7 +24788,7 @@ diff -urNp linux-2.6.31.6/drivers/serial/8250_pci.c linux-2.6.31.6/drivers/seria
static struct pci_driver serial_pci_driver = {
diff -urNp linux-2.6.31.6/drivers/serial/kgdboc.c linux-2.6.31.6/drivers/serial/kgdboc.c
--- linux-2.6.31.6/drivers/serial/kgdboc.c 2009-11-10 18:45:54.000000000 -0500
-+++ linux-2.6.31.6/drivers/serial/kgdboc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/serial/kgdboc.c 2009-11-12 17:18:17.000000000 -0500
@@ -18,7 +18,7 @@
#define MAX_CONFIG_LEN 40
@@ -22740,7 +24809,7 @@ diff -urNp linux-2.6.31.6/drivers/serial/kgdboc.c linux-2.6.31.6/drivers/serial/
.write_char = kgdboc_put_char,
diff -urNp linux-2.6.31.6/drivers/spi/spidev.c linux-2.6.31.6/drivers/spi/spidev.c
--- linux-2.6.31.6/drivers/spi/spidev.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/spi/spidev.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/spi/spidev.c 2009-11-12 17:18:17.000000000 -0500
@@ -537,7 +537,7 @@ static int spidev_release(struct inode *
return status;
}
@@ -22752,7 +24821,7 @@ diff -urNp linux-2.6.31.6/drivers/spi/spidev.c linux-2.6.31.6/drivers/spi/spidev
* gets more complete API coverage. It'll simplify things
diff -urNp linux-2.6.31.6/drivers/staging/android/binder.c linux-2.6.31.6/drivers/staging/android/binder.c
--- linux-2.6.31.6/drivers/staging/android/binder.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/staging/android/binder.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/staging/android/binder.c 2009-11-12 17:18:17.000000000 -0500
@@ -2717,7 +2717,7 @@ static void binder_vma_close(struct vm_a
binder_defer_work(proc, BINDER_DEFERRED_PUT_FILES);
}
@@ -22764,7 +24833,7 @@ diff -urNp linux-2.6.31.6/drivers/staging/android/binder.c linux-2.6.31.6/driver
};
diff -urNp linux-2.6.31.6/drivers/staging/b3dfg/b3dfg.c linux-2.6.31.6/drivers/staging/b3dfg/b3dfg.c
--- linux-2.6.31.6/drivers/staging/b3dfg/b3dfg.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/staging/b3dfg/b3dfg.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/staging/b3dfg/b3dfg.c 2009-11-12 17:18:17.000000000 -0500
@@ -454,7 +454,7 @@ static int b3dfg_vma_fault(struct vm_are
return VM_FAULT_NOPAGE;
}
@@ -22785,7 +24854,7 @@ diff -urNp linux-2.6.31.6/drivers/staging/b3dfg/b3dfg.c linux-2.6.31.6/drivers/s
.release = b3dfg_release,
diff -urNp linux-2.6.31.6/drivers/staging/comedi/comedi_fops.c linux-2.6.31.6/drivers/staging/comedi/comedi_fops.c
--- linux-2.6.31.6/drivers/staging/comedi/comedi_fops.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/staging/comedi/comedi_fops.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/staging/comedi/comedi_fops.c 2009-11-12 17:18:17.000000000 -0500
@@ -1370,7 +1370,7 @@ void comedi_unmap(struct vm_area_struct
mutex_unlock(&dev->mutex);
}
@@ -22797,7 +24866,7 @@ diff -urNp linux-2.6.31.6/drivers/staging/comedi/comedi_fops.c linux-2.6.31.6/dr
diff -urNp linux-2.6.31.6/drivers/staging/cpc-usb/cpc-usb_drv.c linux-2.6.31.6/drivers/staging/cpc-usb/cpc-usb_drv.c
--- linux-2.6.31.6/drivers/staging/cpc-usb/cpc-usb_drv.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/staging/cpc-usb/cpc-usb_drv.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/staging/cpc-usb/cpc-usb_drv.c 2009-11-12 17:18:17.000000000 -0500
@@ -104,7 +104,7 @@ static void cpcusb_read_interrupt_callba
static int cpcusb_setup_intrep(CPC_USB_T *card);
@@ -22809,7 +24878,7 @@ diff -urNp linux-2.6.31.6/drivers/staging/cpc-usb/cpc-usb_drv.c linux-2.6.31.6/d
* mechanism. The idea is that the kernel knows
diff -urNp linux-2.6.31.6/drivers/staging/epl/EplApiLinuxKernel.c linux-2.6.31.6/drivers/staging/epl/EplApiLinuxKernel.c
--- linux-2.6.31.6/drivers/staging/epl/EplApiLinuxKernel.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/staging/epl/EplApiLinuxKernel.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/staging/epl/EplApiLinuxKernel.c 2009-11-12 17:18:17.000000000 -0500
@@ -203,7 +203,7 @@ static int EplLinIoctl(struct inode *pDe
module_init(EplLinInit);
module_exit(EplLinExit);
@@ -22821,7 +24890,7 @@ diff -urNp linux-2.6.31.6/drivers/staging/epl/EplApiLinuxKernel.c linux-2.6.31.6
.release = EplLinRelease,
diff -urNp linux-2.6.31.6/drivers/staging/go7007/go7007-v4l2.c linux-2.6.31.6/drivers/staging/go7007/go7007-v4l2.c
--- linux-2.6.31.6/drivers/staging/go7007/go7007-v4l2.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/staging/go7007/go7007-v4l2.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/staging/go7007/go7007-v4l2.c 2009-11-12 17:18:17.000000000 -0500
@@ -1717,7 +1717,7 @@ static int go7007_vm_fault(struct vm_are
return 0;
}
@@ -22833,7 +24902,7 @@ diff -urNp linux-2.6.31.6/drivers/staging/go7007/go7007-v4l2.c linux-2.6.31.6/dr
.fault = go7007_vm_fault,
diff -urNp linux-2.6.31.6/drivers/staging/panel/panel.c linux-2.6.31.6/drivers/staging/panel/panel.c
--- linux-2.6.31.6/drivers/staging/panel/panel.c 2009-11-10 18:46:03.000000000 -0500
-+++ linux-2.6.31.6/drivers/staging/panel/panel.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/staging/panel/panel.c 2009-11-12 17:18:17.000000000 -0500
@@ -1263,7 +1263,7 @@ static int lcd_release(struct inode *ino
return 0;
}
@@ -22852,9 +24921,33 @@ diff -urNp linux-2.6.31.6/drivers/staging/panel/panel.c linux-2.6.31.6/drivers/s
.read = keypad_read, /* read */
.open = keypad_open, /* open */
.release = keypad_release, /* close */
+diff -urNp linux-2.6.31.6/drivers/staging/pata_rdc/pata_rdc.c linux-2.6.31.6/drivers/staging/pata_rdc/pata_rdc.c
+--- linux-2.6.31.6/drivers/staging/pata_rdc/pata_rdc.c 2009-11-10 18:46:02.000000000 -0500
++++ linux-2.6.31.6/drivers/staging/pata_rdc/pata_rdc.c 2009-11-12 17:18:35.000000000 -0500
+@@ -875,7 +875,7 @@ static struct scsi_host_template rdc_pat
+ ATA_BMDMA_SHT(KBUILD_MODNAME),
+ };
+
+-static struct ata_port_operations rdc_pata_ops = {
++static const struct ata_port_operations rdc_pata_ops = {
+ .inherits = &ata_bmdma_port_ops,
+
+ .port_start = rdc_pata_port_start,
+diff -urNp linux-2.6.31.6/drivers/staging/phison/phison.c linux-2.6.31.6/drivers/staging/phison/phison.c
+--- linux-2.6.31.6/drivers/staging/phison/phison.c 2009-11-10 18:46:03.000000000 -0500
++++ linux-2.6.31.6/drivers/staging/phison/phison.c 2009-11-12 17:18:35.000000000 -0500
+@@ -43,7 +43,7 @@ static struct scsi_host_template phison_
+ ATA_BMDMA_SHT(DRV_NAME),
+ };
+
+-static struct ata_port_operations phison_ops = {
++static const struct ata_port_operations phison_ops = {
+ .inherits = &ata_bmdma_port_ops,
+ .prereset = phison_pre_reset,
+ };
diff -urNp linux-2.6.31.6/drivers/staging/poch/poch.c linux-2.6.31.6/drivers/staging/poch/poch.c
--- linux-2.6.31.6/drivers/staging/poch/poch.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/staging/poch/poch.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/staging/poch/poch.c 2009-11-12 17:18:17.000000000 -0500
@@ -1056,7 +1056,7 @@ static int poch_ioctl(struct inode *inod
return 0;
}
@@ -22866,7 +24959,7 @@ diff -urNp linux-2.6.31.6/drivers/staging/poch/poch.c linux-2.6.31.6/drivers/sta
.release = poch_release,
diff -urNp linux-2.6.31.6/drivers/staging/rtl8192su/ieee80211/proc.c linux-2.6.31.6/drivers/staging/rtl8192su/ieee80211/proc.c
--- linux-2.6.31.6/drivers/staging/rtl8192su/ieee80211/proc.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/staging/rtl8192su/ieee80211/proc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/staging/rtl8192su/ieee80211/proc.c 2009-11-12 17:18:17.000000000 -0500
@@ -87,7 +87,7 @@ static int c_show(struct seq_file *m, vo
return 0;
}
@@ -22887,7 +24980,7 @@ diff -urNp linux-2.6.31.6/drivers/staging/rtl8192su/ieee80211/proc.c linux-2.6.3
.llseek = seq_lseek,
diff -urNp linux-2.6.31.6/drivers/uio/uio.c linux-2.6.31.6/drivers/uio/uio.c
--- linux-2.6.31.6/drivers/uio/uio.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/uio/uio.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/uio/uio.c 2009-11-12 17:18:17.000000000 -0500
@@ -128,7 +128,7 @@ static ssize_t map_type_show(struct kobj
return entry->show(mem, buf);
}
@@ -22917,7 +25010,7 @@ diff -urNp linux-2.6.31.6/drivers/uio/uio.c linux-2.6.31.6/drivers/uio/uio.c
.fault = uio_vma_fault,
diff -urNp linux-2.6.31.6/drivers/usb/atm/usbatm.c linux-2.6.31.6/drivers/usb/atm/usbatm.c
--- linux-2.6.31.6/drivers/usb/atm/usbatm.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/atm/usbatm.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/atm/usbatm.c 2009-11-12 17:18:17.000000000 -0500
@@ -333,7 +333,7 @@ static void usbatm_extract_one_cell(stru
if (printk_ratelimit())
atm_warn(instance, "%s: OAM not supported (vpi %d, vci %d)!\n",
@@ -22999,7 +25092,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/atm/usbatm.c linux-2.6.31.6/drivers/usb/at
if (instance->disconnected)
diff -urNp linux-2.6.31.6/drivers/usb/class/cdc-acm.c linux-2.6.31.6/drivers/usb/class/cdc-acm.c
--- linux-2.6.31.6/drivers/usb/class/cdc-acm.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/class/cdc-acm.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/class/cdc-acm.c 2009-11-12 17:18:17.000000000 -0500
@@ -1528,7 +1528,7 @@ static struct usb_device_id acm_ids[] =
USB_CDC_ACM_PROTO_AT_CDMA) },
@@ -23011,7 +25104,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/class/cdc-acm.c linux-2.6.31.6/drivers/usb
MODULE_DEVICE_TABLE(usb, acm_ids);
diff -urNp linux-2.6.31.6/drivers/usb/class/usblp.c linux-2.6.31.6/drivers/usb/class/usblp.c
--- linux-2.6.31.6/drivers/usb/class/usblp.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/class/usblp.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/class/usblp.c 2009-11-12 17:18:17.000000000 -0500
@@ -228,7 +228,7 @@ static const struct quirk_printer_struct
{ 0x0482, 0x0010, USBLP_QUIRK_BIDIR }, /* Kyocera Mita FS 820, by zut <kernel@zut.de> */
{ 0x04f9, 0x000d, USBLP_QUIRK_BIDIR }, /* Brother Industries, Ltd HL-1440 Laser Printer */
@@ -23032,7 +25125,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/class/usblp.c linux-2.6.31.6/drivers/usb/c
MODULE_DEVICE_TABLE (usb, usblp_ids);
diff -urNp linux-2.6.31.6/drivers/usb/class/usbtmc.c linux-2.6.31.6/drivers/usb/class/usbtmc.c
--- linux-2.6.31.6/drivers/usb/class/usbtmc.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/class/usbtmc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/class/usbtmc.c 2009-11-12 17:18:17.000000000 -0500
@@ -970,7 +970,7 @@ static long usbtmc_ioctl(struct file *fi
return retval;
}
@@ -23044,7 +25137,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/class/usbtmc.c linux-2.6.31.6/drivers/usb/
.write = usbtmc_write,
diff -urNp linux-2.6.31.6/drivers/usb/core/hcd.c linux-2.6.31.6/drivers/usb/core/hcd.c
--- linux-2.6.31.6/drivers/usb/core/hcd.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/core/hcd.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/core/hcd.c 2009-11-12 17:18:17.000000000 -0500
@@ -2199,7 +2199,7 @@ EXPORT_SYMBOL_GPL(usb_hcd_platform_shutd
#if defined(CONFIG_USB_MON) || defined(CONFIG_USB_MON_MODULE)
@@ -23065,7 +25158,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/core/hcd.c linux-2.6.31.6/drivers/usb/core
if (mon_ops)
diff -urNp linux-2.6.31.6/drivers/usb/core/hcd.h linux-2.6.31.6/drivers/usb/core/hcd.h
--- linux-2.6.31.6/drivers/usb/core/hcd.h 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/core/hcd.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/core/hcd.h 2009-11-12 17:18:17.000000000 -0500
@@ -487,7 +487,7 @@ struct usb_mon_operations {
/* void (*urb_unlink)(struct usb_bus *bus, struct urb *urb); */
};
@@ -23086,7 +25179,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/core/hcd.h linux-2.6.31.6/drivers/usb/core
#else
diff -urNp linux-2.6.31.6/drivers/usb/core/hub.c linux-2.6.31.6/drivers/usb/core/hub.c
--- linux-2.6.31.6/drivers/usb/core/hub.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/core/hub.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/core/hub.c 2009-11-12 17:18:17.000000000 -0500
@@ -3284,7 +3284,7 @@ static struct usb_device_id hub_id_table
.bDeviceClass = USB_CLASS_HUB},
{ .match_flags = USB_DEVICE_ID_MATCH_INT_CLASS,
@@ -23098,7 +25191,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/core/hub.c linux-2.6.31.6/drivers/usb/core
MODULE_DEVICE_TABLE (usb, hub_id_table);
diff -urNp linux-2.6.31.6/drivers/usb/core/inode.c linux-2.6.31.6/drivers/usb/core/inode.c
--- linux-2.6.31.6/drivers/usb/core/inode.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/core/inode.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/core/inode.c 2009-11-12 17:18:17.000000000 -0500
@@ -48,7 +48,7 @@
#define USBFS_DEFAULT_BUSMODE (S_IXUGO | S_IRUGO)
#define USBFS_DEFAULT_LISTMODE S_IRUGO
@@ -23119,7 +25212,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/core/inode.c linux-2.6.31.6/drivers/usb/co
.remount_fs = remount,
diff -urNp linux-2.6.31.6/drivers/usb/core/message.c linux-2.6.31.6/drivers/usb/core/message.c
--- linux-2.6.31.6/drivers/usb/core/message.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/core/message.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/core/message.c 2009-11-12 17:18:17.000000000 -0500
@@ -926,8 +926,8 @@ char *usb_cache_string(struct usb_device
buf = kmalloc(MAX_USB_STRING_SIZE, GFP_KERNEL);
if (buf) {
@@ -23133,7 +25226,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/core/message.c linux-2.6.31.6/drivers/usb/
memcpy(smallbuf, buf, len);
diff -urNp linux-2.6.31.6/drivers/usb/gadget/inode.c linux-2.6.31.6/drivers/usb/gadget/inode.c
--- linux-2.6.31.6/drivers/usb/gadget/inode.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/gadget/inode.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/gadget/inode.c 2009-11-12 17:18:17.000000000 -0500
@@ -2033,7 +2033,7 @@ gadgetfs_create_file (struct super_block
return inode;
}
@@ -23145,7 +25238,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/gadget/inode.c linux-2.6.31.6/drivers/usb/
};
diff -urNp linux-2.6.31.6/drivers/usb/gadget/printer.c linux-2.6.31.6/drivers/usb/gadget/printer.c
--- linux-2.6.31.6/drivers/usb/gadget/printer.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/gadget/printer.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/gadget/printer.c 2009-11-12 17:18:17.000000000 -0500
@@ -875,7 +875,7 @@ printer_ioctl(struct file *fd, unsigned
}
@@ -23157,7 +25250,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/gadget/printer.c linux-2.6.31.6/drivers/us
.read = printer_read,
diff -urNp linux-2.6.31.6/drivers/usb/host/ehci-pci.c linux-2.6.31.6/drivers/usb/host/ehci-pci.c
--- linux-2.6.31.6/drivers/usb/host/ehci-pci.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/host/ehci-pci.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/host/ehci-pci.c 2009-11-12 17:18:17.000000000 -0500
@@ -416,7 +416,7 @@ static const struct pci_device_id pci_id
PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_USB_EHCI, ~0),
.driver_data = (unsigned long) &ehci_pci_hc_driver,
@@ -23169,7 +25262,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/host/ehci-pci.c linux-2.6.31.6/drivers/usb
diff -urNp linux-2.6.31.6/drivers/usb/host/uhci-hcd.c linux-2.6.31.6/drivers/usb/host/uhci-hcd.c
--- linux-2.6.31.6/drivers/usb/host/uhci-hcd.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/host/uhci-hcd.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/host/uhci-hcd.c 2009-11-12 17:18:17.000000000 -0500
@@ -927,7 +927,7 @@ static const struct pci_device_id uhci_p
/* handle any USB UHCI controller */
PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_USB_UHCI, ~0),
@@ -23181,7 +25274,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/host/uhci-hcd.c linux-2.6.31.6/drivers/usb
MODULE_DEVICE_TABLE(pci, uhci_pci_ids);
diff -urNp linux-2.6.31.6/drivers/usb/host/whci/debug.c linux-2.6.31.6/drivers/usb/host/whci/debug.c
--- linux-2.6.31.6/drivers/usb/host/whci/debug.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/host/whci/debug.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/host/whci/debug.c 2009-11-12 17:18:17.000000000 -0500
@@ -134,7 +134,7 @@ static int pzl_open(struct inode *inode,
return single_open(file, pzl_print, inode->i_private);
}
@@ -23209,9 +25302,21 @@ diff -urNp linux-2.6.31.6/drivers/usb/host/whci/debug.c linux-2.6.31.6/drivers/u
.open = pzl_open,
.read = seq_read,
.llseek = seq_lseek,
+diff -urNp linux-2.6.31.6/drivers/usb/misc/appledisplay.c linux-2.6.31.6/drivers/usb/misc/appledisplay.c
+--- linux-2.6.31.6/drivers/usb/misc/appledisplay.c 2009-11-10 18:46:04.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/misc/appledisplay.c 2009-11-12 17:18:35.000000000 -0500
+@@ -178,7 +178,7 @@ static int appledisplay_bl_get_brightnes
+ return pdata->msgdata[1];
+ }
+
+-static struct backlight_ops appledisplay_bl_data = {
++static const struct backlight_ops appledisplay_bl_data = {
+ .get_brightness = appledisplay_bl_get_brightness,
+ .update_status = appledisplay_bl_update_status,
+ };
diff -urNp linux-2.6.31.6/drivers/usb/mon/mon_bin.c linux-2.6.31.6/drivers/usb/mon/mon_bin.c
--- linux-2.6.31.6/drivers/usb/mon/mon_bin.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/mon/mon_bin.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/mon/mon_bin.c 2009-11-12 17:18:17.000000000 -0500
@@ -1184,7 +1184,7 @@ static int mon_bin_vma_fault(struct vm_a
return 0;
}
@@ -23223,7 +25328,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/mon/mon_bin.c linux-2.6.31.6/drivers/usb/m
.fault = mon_bin_vma_fault,
diff -urNp linux-2.6.31.6/drivers/usb/mon/mon_main.c linux-2.6.31.6/drivers/usb/mon/mon_main.c
--- linux-2.6.31.6/drivers/usb/mon/mon_main.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/mon/mon_main.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/mon/mon_main.c 2009-11-12 17:18:17.000000000 -0500
@@ -238,7 +238,7 @@ static struct notifier_block mon_nb = {
/*
* Ops
@@ -23235,7 +25340,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/mon/mon_main.c linux-2.6.31.6/drivers/usb/
.urb_complete = mon_complete,
diff -urNp linux-2.6.31.6/drivers/usb/storage/debug.h linux-2.6.31.6/drivers/usb/storage/debug.h
--- linux-2.6.31.6/drivers/usb/storage/debug.h 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/storage/debug.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/storage/debug.h 2009-11-12 17:18:17.000000000 -0500
@@ -54,9 +54,9 @@ void usb_stor_show_sense( unsigned char
#define US_DEBUGPX(x...) printk( x )
#define US_DEBUG(x) x
@@ -23251,7 +25356,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/storage/debug.h linux-2.6.31.6/drivers/usb
#endif
diff -urNp linux-2.6.31.6/drivers/usb/storage/usb.c linux-2.6.31.6/drivers/usb/storage/usb.c
--- linux-2.6.31.6/drivers/usb/storage/usb.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/storage/usb.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/storage/usb.c 2009-11-12 17:18:17.000000000 -0500
@@ -118,7 +118,7 @@ MODULE_PARM_DESC(quirks, "supplemental l
static struct us_unusual_dev us_unusual_dev_list[] = {
@@ -23263,7 +25368,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/storage/usb.c linux-2.6.31.6/drivers/usb/s
#undef UNUSUAL_DEV
diff -urNp linux-2.6.31.6/drivers/usb/storage/usual-tables.c linux-2.6.31.6/drivers/usb/storage/usual-tables.c
--- linux-2.6.31.6/drivers/usb/storage/usual-tables.c 2009-11-10 18:46:04.000000000 -0500
-+++ linux-2.6.31.6/drivers/usb/storage/usual-tables.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/usb/storage/usual-tables.c 2009-11-12 17:18:17.000000000 -0500
@@ -48,7 +48,7 @@
struct usb_device_id usb_storage_usb_ids[] = {
@@ -23275,7 +25380,7 @@ diff -urNp linux-2.6.31.6/drivers/usb/storage/usual-tables.c linux-2.6.31.6/driv
diff -urNp linux-2.6.31.6/drivers/uwb/uwb-debug.c linux-2.6.31.6/drivers/uwb/uwb-debug.c
--- linux-2.6.31.6/drivers/uwb/uwb-debug.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/uwb/uwb-debug.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/uwb/uwb-debug.c 2009-11-12 17:18:17.000000000 -0500
@@ -205,7 +205,7 @@ static ssize_t command_write(struct file
return ret < 0 ? ret : len;
}
@@ -23305,7 +25410,7 @@ diff -urNp linux-2.6.31.6/drivers/uwb/uwb-debug.c linux-2.6.31.6/drivers/uwb/uwb
.llseek = seq_lseek,
diff -urNp linux-2.6.31.6/drivers/uwb/wlp/messages.c linux-2.6.31.6/drivers/uwb/wlp/messages.c
--- linux-2.6.31.6/drivers/uwb/wlp/messages.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/uwb/wlp/messages.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/uwb/wlp/messages.c 2009-11-12 17:18:17.000000000 -0500
@@ -903,7 +903,7 @@ int wlp_parse_f0(struct wlp *wlp, struct
size_t len = skb->len;
size_t used;
@@ -23317,7 +25422,7 @@ diff -urNp linux-2.6.31.6/drivers/uwb/wlp/messages.c linux-2.6.31.6/drivers/uwb/
char rnonce_buf[WLP_WSS_NONCE_STRSIZE];
diff -urNp linux-2.6.31.6/drivers/uwb/wlp/sysfs.c linux-2.6.31.6/drivers/uwb/wlp/sysfs.c
--- linux-2.6.31.6/drivers/uwb/wlp/sysfs.c 2009-11-10 18:46:02.000000000 -0500
-+++ linux-2.6.31.6/drivers/uwb/wlp/sysfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/uwb/wlp/sysfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -602,8 +602,7 @@ ssize_t wlp_wss_attr_show(struct kobject
* Sysfs operation for forwarding write call to the store method of the
* attribute owner
@@ -23338,9 +25443,261 @@ diff -urNp linux-2.6.31.6/drivers/uwb/wlp/sysfs.c linux-2.6.31.6/drivers/uwb/wlp
.show = wlp_wss_attr_show,
.store = wlp_wss_attr_store,
};
+diff -urNp linux-2.6.31.6/drivers/video/atmel_lcdfb.c linux-2.6.31.6/drivers/video/atmel_lcdfb.c
+--- linux-2.6.31.6/drivers/video/atmel_lcdfb.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/atmel_lcdfb.c 2009-11-12 17:18:35.000000000 -0500
+@@ -110,7 +110,7 @@ static int atmel_bl_get_brightness(struc
+ return lcdc_readl(sinfo, ATMEL_LCDC_CONTRAST_VAL);
+ }
+
+-static struct backlight_ops atmel_lcdc_bl_ops = {
++static const struct backlight_ops atmel_lcdc_bl_ops = {
+ .update_status = atmel_bl_update_status,
+ .get_brightness = atmel_bl_get_brightness,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/aty/aty128fb.c linux-2.6.31.6/drivers/video/aty/aty128fb.c
+--- linux-2.6.31.6/drivers/video/aty/aty128fb.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/aty/aty128fb.c 2009-11-12 17:18:35.000000000 -0500
+@@ -1787,7 +1787,7 @@ static int aty128_bl_get_brightness(stru
+ return bd->props.brightness;
+ }
+
+-static struct backlight_ops aty128_bl_data = {
++static const struct backlight_ops aty128_bl_data = {
+ .get_brightness = aty128_bl_get_brightness,
+ .update_status = aty128_bl_update_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/aty/atyfb_base.c linux-2.6.31.6/drivers/video/aty/atyfb_base.c
+--- linux-2.6.31.6/drivers/video/aty/atyfb_base.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/aty/atyfb_base.c 2009-11-12 17:18:35.000000000 -0500
+@@ -2165,7 +2165,7 @@ static int aty_bl_get_brightness(struct
+ return bd->props.brightness;
+ }
+
+-static struct backlight_ops aty_bl_data = {
++static const struct backlight_ops aty_bl_data = {
+ .get_brightness = aty_bl_get_brightness,
+ .update_status = aty_bl_update_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/aty/radeon_backlight.c linux-2.6.31.6/drivers/video/aty/radeon_backlight.c
+--- linux-2.6.31.6/drivers/video/aty/radeon_backlight.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/aty/radeon_backlight.c 2009-11-12 17:18:35.000000000 -0500
+@@ -127,7 +127,7 @@ static int radeon_bl_get_brightness(stru
+ return bd->props.brightness;
+ }
+
+-static struct backlight_ops radeon_bl_data = {
++static const struct backlight_ops radeon_bl_data = {
+ .get_brightness = radeon_bl_get_brightness,
+ .update_status = radeon_bl_update_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/backlight/atmel-pwm-bl.c linux-2.6.31.6/drivers/video/backlight/atmel-pwm-bl.c
+--- linux-2.6.31.6/drivers/video/backlight/atmel-pwm-bl.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/atmel-pwm-bl.c 2009-11-12 17:18:35.000000000 -0500
+@@ -113,7 +113,7 @@ static int atmel_pwm_bl_init_pwm(struct
+ return pwm_channel_enable(&pwmbl->pwmc);
+ }
+
+-static struct backlight_ops atmel_pwm_bl_ops = {
++static const struct backlight_ops atmel_pwm_bl_ops = {
+ .get_brightness = atmel_pwm_bl_get_intensity,
+ .update_status = atmel_pwm_bl_set_intensity,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/backlight/backlight.c linux-2.6.31.6/drivers/video/backlight/backlight.c
+--- linux-2.6.31.6/drivers/video/backlight/backlight.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/backlight.c 2009-11-12 17:18:35.000000000 -0500
+@@ -227,7 +227,7 @@ static struct device_attribute bl_device
+ * ERR_PTR() or a pointer to the newly allocated device.
+ */
+ struct backlight_device *backlight_device_register(const char *name,
+- struct device *parent, void *devdata, struct backlight_ops *ops)
++ struct device *parent, void *devdata, const struct backlight_ops *ops)
+ {
+ struct backlight_device *new_bd;
+ int rc;
+diff -urNp linux-2.6.31.6/drivers/video/backlight/corgi_lcd.c linux-2.6.31.6/drivers/video/backlight/corgi_lcd.c
+--- linux-2.6.31.6/drivers/video/backlight/corgi_lcd.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/corgi_lcd.c 2009-11-12 17:18:35.000000000 -0500
+@@ -450,7 +450,7 @@ void corgi_lcd_limit_intensity(int limit
+ }
+ EXPORT_SYMBOL(corgi_lcd_limit_intensity);
+
+-static struct backlight_ops corgi_bl_ops = {
++static const struct backlight_ops corgi_bl_ops = {
+ .get_brightness = corgi_bl_get_intensity,
+ .update_status = corgi_bl_update_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/backlight/cr_bllcd.c linux-2.6.31.6/drivers/video/backlight/cr_bllcd.c
+--- linux-2.6.31.6/drivers/video/backlight/cr_bllcd.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/cr_bllcd.c 2009-11-12 17:18:35.000000000 -0500
+@@ -108,7 +108,7 @@ static int cr_backlight_get_intensity(st
+ return intensity;
+ }
+
+-static struct backlight_ops cr_backlight_ops = {
++static const struct backlight_ops cr_backlight_ops = {
+ .get_brightness = cr_backlight_get_intensity,
+ .update_status = cr_backlight_set_intensity,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/backlight/da903x_bl.c linux-2.6.31.6/drivers/video/backlight/da903x_bl.c
+--- linux-2.6.31.6/drivers/video/backlight/da903x_bl.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/da903x_bl.c 2009-11-12 17:18:35.000000000 -0500
+@@ -94,7 +94,7 @@ static int da903x_backlight_get_brightne
+ return data->current_brightness;
+ }
+
+-static struct backlight_ops da903x_backlight_ops = {
++static const struct backlight_ops da903x_backlight_ops = {
+ .update_status = da903x_backlight_update_status,
+ .get_brightness = da903x_backlight_get_brightness,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/backlight/generic_bl.c linux-2.6.31.6/drivers/video/backlight/generic_bl.c
+--- linux-2.6.31.6/drivers/video/backlight/generic_bl.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/generic_bl.c 2009-11-12 17:18:35.000000000 -0500
+@@ -70,7 +70,7 @@ void corgibl_limit_intensity(int limit)
+ }
+ EXPORT_SYMBOL(corgibl_limit_intensity);
+
+-static struct backlight_ops genericbl_ops = {
++static const struct backlight_ops genericbl_ops = {
+ .options = BL_CORE_SUSPENDRESUME,
+ .get_brightness = genericbl_get_intensity,
+ .update_status = genericbl_send_intensity,
+diff -urNp linux-2.6.31.6/drivers/video/backlight/hp680_bl.c linux-2.6.31.6/drivers/video/backlight/hp680_bl.c
+--- linux-2.6.31.6/drivers/video/backlight/hp680_bl.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/hp680_bl.c 2009-11-12 17:18:35.000000000 -0500
+@@ -98,7 +98,7 @@ static int hp680bl_get_intensity(struct
+ return current_intensity;
+ }
+
+-static struct backlight_ops hp680bl_ops = {
++static const struct backlight_ops hp680bl_ops = {
+ .get_brightness = hp680bl_get_intensity,
+ .update_status = hp680bl_set_intensity,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/backlight/jornada720_bl.c linux-2.6.31.6/drivers/video/backlight/jornada720_bl.c
+--- linux-2.6.31.6/drivers/video/backlight/jornada720_bl.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/jornada720_bl.c 2009-11-12 17:18:35.000000000 -0500
+@@ -93,7 +93,7 @@ out:
+ return ret;
+ }
+
+-static struct backlight_ops jornada_bl_ops = {
++static const struct backlight_ops jornada_bl_ops = {
+ .get_brightness = jornada_bl_get_brightness,
+ .update_status = jornada_bl_update_status,
+ .options = BL_CORE_SUSPENDRESUME,
+diff -urNp linux-2.6.31.6/drivers/video/backlight/kb3886_bl.c linux-2.6.31.6/drivers/video/backlight/kb3886_bl.c
+--- linux-2.6.31.6/drivers/video/backlight/kb3886_bl.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/kb3886_bl.c 2009-11-12 17:18:35.000000000 -0500
+@@ -134,7 +134,7 @@ static int kb3886bl_get_intensity(struct
+ return kb3886bl_intensity;
+ }
+
+-static struct backlight_ops kb3886bl_ops = {
++static const struct backlight_ops kb3886bl_ops = {
+ .get_brightness = kb3886bl_get_intensity,
+ .update_status = kb3886bl_send_intensity,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/backlight/locomolcd.c linux-2.6.31.6/drivers/video/backlight/locomolcd.c
+--- linux-2.6.31.6/drivers/video/backlight/locomolcd.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/locomolcd.c 2009-11-12 17:18:35.000000000 -0500
+@@ -141,7 +141,7 @@ static int locomolcd_get_intensity(struc
+ return current_intensity;
+ }
+
+-static struct backlight_ops locomobl_data = {
++static const struct backlight_ops locomobl_data = {
+ .get_brightness = locomolcd_get_intensity,
+ .update_status = locomolcd_set_intensity,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/backlight/mbp_nvidia_bl.c linux-2.6.31.6/drivers/video/backlight/mbp_nvidia_bl.c
+--- linux-2.6.31.6/drivers/video/backlight/mbp_nvidia_bl.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/mbp_nvidia_bl.c 2009-11-12 17:18:35.000000000 -0500
+@@ -33,7 +33,7 @@ struct dmi_match_data {
+ unsigned long iostart;
+ unsigned long iolen;
+ /* Backlight operations structure. */
+- struct backlight_ops backlight_ops;
++ const struct backlight_ops backlight_ops;
+ };
+
+ /* Module parameters. */
+diff -urNp linux-2.6.31.6/drivers/video/backlight/omap1_bl.c linux-2.6.31.6/drivers/video/backlight/omap1_bl.c
+--- linux-2.6.31.6/drivers/video/backlight/omap1_bl.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/omap1_bl.c 2009-11-12 17:18:35.000000000 -0500
+@@ -125,7 +125,7 @@ static int omapbl_get_intensity(struct b
+ return bl->current_intensity;
+ }
+
+-static struct backlight_ops omapbl_ops = {
++static const struct backlight_ops omapbl_ops = {
+ .get_brightness = omapbl_get_intensity,
+ .update_status = omapbl_update_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/backlight/progear_bl.c linux-2.6.31.6/drivers/video/backlight/progear_bl.c
+--- linux-2.6.31.6/drivers/video/backlight/progear_bl.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/progear_bl.c 2009-11-12 17:18:35.000000000 -0500
+@@ -54,7 +54,7 @@ static int progearbl_get_intensity(struc
+ return intensity - HW_LEVEL_MIN;
+ }
+
+-static struct backlight_ops progearbl_ops = {
++static const struct backlight_ops progearbl_ops = {
+ .get_brightness = progearbl_get_intensity,
+ .update_status = progearbl_set_intensity,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/backlight/pwm_bl.c linux-2.6.31.6/drivers/video/backlight/pwm_bl.c
+--- linux-2.6.31.6/drivers/video/backlight/pwm_bl.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/pwm_bl.c 2009-11-12 17:18:35.000000000 -0500
+@@ -56,7 +56,7 @@ static int pwm_backlight_get_brightness(
+ return bl->props.brightness;
+ }
+
+-static struct backlight_ops pwm_backlight_ops = {
++static const struct backlight_ops pwm_backlight_ops = {
+ .update_status = pwm_backlight_update_status,
+ .get_brightness = pwm_backlight_get_brightness,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/backlight/tosa_bl.c linux-2.6.31.6/drivers/video/backlight/tosa_bl.c
+--- linux-2.6.31.6/drivers/video/backlight/tosa_bl.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/backlight/tosa_bl.c 2009-11-12 17:18:35.000000000 -0500
+@@ -72,7 +72,7 @@ static int tosa_bl_get_brightness(struct
+ return props->brightness;
+ }
+
+-static struct backlight_ops bl_ops = {
++static const struct backlight_ops bl_ops = {
+ .get_brightness = tosa_bl_get_brightness,
+ .update_status = tosa_bl_update_status,
+ };
+diff -urNp linux-2.6.31.6/drivers/video/bf54x-lq043fb.c linux-2.6.31.6/drivers/video/bf54x-lq043fb.c
+--- linux-2.6.31.6/drivers/video/bf54x-lq043fb.c 2009-11-10 18:46:01.000000000 -0500
++++ linux-2.6.31.6/drivers/video/bf54x-lq043fb.c 2009-11-12 17:18:35.000000000 -0500
+@@ -463,7 +463,7 @@ static int bl_get_brightness(struct back
+ return 0;
+ }
+
+-static struct backlight_ops bfin_lq043fb_bl_ops = {
++static const struct backlight_ops bfin_lq043fb_bl_ops = {
+ .get_brightness = bl_get_brightness,
+ };
+
+diff -urNp linux-2.6.31.6/drivers/video/bfin-t350mcqb-fb.c linux-2.6.31.6/drivers/video/bfin-t350mcqb-fb.c
+--- linux-2.6.31.6/drivers/video/bfin-t350mcqb-fb.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/bfin-t350mcqb-fb.c 2009-11-12 17:18:35.000000000 -0500
+@@ -381,7 +381,7 @@ static int bl_get_brightness(struct back
+ return 0;
+ }
+
+-static struct backlight_ops bfin_lq043fb_bl_ops = {
++static const struct backlight_ops bfin_lq043fb_bl_ops = {
+ .get_brightness = bl_get_brightness,
+ };
+
diff -urNp linux-2.6.31.6/drivers/video/fb_defio.c linux-2.6.31.6/drivers/video/fb_defio.c
--- linux-2.6.31.6/drivers/video/fb_defio.c 2009-11-10 18:45:55.000000000 -0500
-+++ linux-2.6.31.6/drivers/video/fb_defio.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/video/fb_defio.c 2009-11-12 17:18:17.000000000 -0500
@@ -125,7 +125,7 @@ page_already_added:
return 0;
}
@@ -23352,7 +25709,7 @@ diff -urNp linux-2.6.31.6/drivers/video/fb_defio.c linux-2.6.31.6/drivers/video/
};
diff -urNp linux-2.6.31.6/drivers/video/fbmem.c linux-2.6.31.6/drivers/video/fbmem.c
--- linux-2.6.31.6/drivers/video/fbmem.c 2009-11-10 18:45:55.000000000 -0500
-+++ linux-2.6.31.6/drivers/video/fbmem.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/video/fbmem.c 2009-11-12 17:18:17.000000000 -0500
@@ -403,7 +403,7 @@ static void fb_do_show_logo(struct fb_in
image->dx += image->width + 8;
}
@@ -23382,7 +25739,7 @@ diff -urNp linux-2.6.31.6/drivers/video/fbmem.c linux-2.6.31.6/drivers/video/fbm
request_module("fb%d", con2fb.framebuffer);
diff -urNp linux-2.6.31.6/drivers/video/fbmon.c linux-2.6.31.6/drivers/video/fbmon.c
--- linux-2.6.31.6/drivers/video/fbmon.c 2009-11-10 18:45:55.000000000 -0500
-+++ linux-2.6.31.6/drivers/video/fbmon.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/video/fbmon.c 2009-11-12 17:18:17.000000000 -0500
@@ -45,7 +45,7 @@
#ifdef DEBUG
#define DPRINTK(fmt, args...) printk(fmt,## args)
@@ -23394,7 +25751,7 @@ diff -urNp linux-2.6.31.6/drivers/video/fbmon.c linux-2.6.31.6/drivers/video/fbm
#define FBMON_FIX_HEADER 1
diff -urNp linux-2.6.31.6/drivers/video/i810/i810_accel.c linux-2.6.31.6/drivers/video/i810/i810_accel.c
--- linux-2.6.31.6/drivers/video/i810/i810_accel.c 2009-11-10 18:45:55.000000000 -0500
-+++ linux-2.6.31.6/drivers/video/i810/i810_accel.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/video/i810/i810_accel.c 2009-11-12 17:18:17.000000000 -0500
@@ -73,6 +73,7 @@ static inline int wait_for_space(struct
}
}
@@ -23405,7 +25762,7 @@ diff -urNp linux-2.6.31.6/drivers/video/i810/i810_accel.c linux-2.6.31.6/drivers
info->pixmap.scan_align = 1;
diff -urNp linux-2.6.31.6/drivers/video/i810/i810_main.c linux-2.6.31.6/drivers/video/i810/i810_main.c
--- linux-2.6.31.6/drivers/video/i810/i810_main.c 2009-11-10 18:45:55.000000000 -0500
-+++ linux-2.6.31.6/drivers/video/i810/i810_main.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/video/i810/i810_main.c 2009-11-12 17:18:17.000000000 -0500
@@ -120,7 +120,7 @@ static struct pci_device_id i810fb_pci_t
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 },
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82815_CGC,
@@ -23417,7 +25774,7 @@ diff -urNp linux-2.6.31.6/drivers/video/i810/i810_main.c linux-2.6.31.6/drivers/
static struct pci_driver i810fb_driver = {
diff -urNp linux-2.6.31.6/drivers/video/modedb.c linux-2.6.31.6/drivers/video/modedb.c
--- linux-2.6.31.6/drivers/video/modedb.c 2009-11-10 18:46:01.000000000 -0500
-+++ linux-2.6.31.6/drivers/video/modedb.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/video/modedb.c 2009-11-12 17:18:17.000000000 -0500
@@ -38,240 +38,240 @@ static const struct fb_videomode modedb[
{
/* 640x400 @ 70 Hz, 31.5 kHz hsync */
@@ -23718,9 +26075,21 @@ diff -urNp linux-2.6.31.6/drivers/video/modedb.c linux-2.6.31.6/drivers/video/mo
},
};
+diff -urNp linux-2.6.31.6/drivers/video/nvidia/nv_backlight.c linux-2.6.31.6/drivers/video/nvidia/nv_backlight.c
+--- linux-2.6.31.6/drivers/video/nvidia/nv_backlight.c 2009-11-10 18:46:01.000000000 -0500
++++ linux-2.6.31.6/drivers/video/nvidia/nv_backlight.c 2009-11-12 17:18:35.000000000 -0500
+@@ -87,7 +87,7 @@ static int nvidia_bl_get_brightness(stru
+ return bd->props.brightness;
+ }
+
+-static struct backlight_ops nvidia_bl_ops = {
++static const struct backlight_ops nvidia_bl_ops = {
+ .get_brightness = nvidia_bl_get_brightness,
+ .update_status = nvidia_bl_update_status,
+ };
diff -urNp linux-2.6.31.6/drivers/video/omap/dispc.c linux-2.6.31.6/drivers/video/omap/dispc.c
--- linux-2.6.31.6/drivers/video/omap/dispc.c 2009-11-10 18:45:55.000000000 -0500
-+++ linux-2.6.31.6/drivers/video/omap/dispc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/video/omap/dispc.c 2009-11-12 17:18:17.000000000 -0500
@@ -1013,7 +1013,7 @@ static void mmap_user_close(struct vm_ar
atomic_dec(&dispc.map_count[plane]);
}
@@ -23730,9 +26099,21 @@ diff -urNp linux-2.6.31.6/drivers/video/omap/dispc.c linux-2.6.31.6/drivers/vide
.open = mmap_user_open,
.close = mmap_user_close,
};
+diff -urNp linux-2.6.31.6/drivers/video/riva/fbdev.c linux-2.6.31.6/drivers/video/riva/fbdev.c
+--- linux-2.6.31.6/drivers/video/riva/fbdev.c 2009-11-10 18:45:55.000000000 -0500
++++ linux-2.6.31.6/drivers/video/riva/fbdev.c 2009-11-12 17:18:35.000000000 -0500
+@@ -331,7 +331,7 @@ static int riva_bl_get_brightness(struct
+ return bd->props.brightness;
+ }
+
+-static struct backlight_ops riva_bl_ops = {
++static const struct backlight_ops riva_bl_ops = {
+ .get_brightness = riva_bl_get_brightness,
+ .update_status = riva_bl_update_status,
+ };
diff -urNp linux-2.6.31.6/drivers/video/uvesafb.c linux-2.6.31.6/drivers/video/uvesafb.c
--- linux-2.6.31.6/drivers/video/uvesafb.c 2009-11-10 18:45:55.000000000 -0500
-+++ linux-2.6.31.6/drivers/video/uvesafb.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/video/uvesafb.c 2009-11-12 17:18:17.000000000 -0500
@@ -18,6 +18,7 @@
#include <linux/fb.h>
#include <linux/io.h>
@@ -23810,7 +26191,7 @@ diff -urNp linux-2.6.31.6/drivers/video/uvesafb.c linux-2.6.31.6/drivers/video/u
framebuffer_release(info);
diff -urNp linux-2.6.31.6/drivers/video/vesafb.c linux-2.6.31.6/drivers/video/vesafb.c
--- linux-2.6.31.6/drivers/video/vesafb.c 2009-11-10 18:45:55.000000000 -0500
-+++ linux-2.6.31.6/drivers/video/vesafb.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/video/vesafb.c 2009-11-12 17:18:17.000000000 -0500
@@ -9,6 +9,7 @@
*/
@@ -23916,7 +26297,7 @@ diff -urNp linux-2.6.31.6/drivers/video/vesafb.c linux-2.6.31.6/drivers/video/ve
framebuffer_release(info);
diff -urNp linux-2.6.31.6/drivers/xen/sys-hypervisor.c linux-2.6.31.6/drivers/xen/sys-hypervisor.c
--- linux-2.6.31.6/drivers/xen/sys-hypervisor.c 2009-11-10 18:45:53.000000000 -0500
-+++ linux-2.6.31.6/drivers/xen/sys-hypervisor.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/drivers/xen/sys-hypervisor.c 2009-11-12 17:18:17.000000000 -0500
@@ -425,7 +425,7 @@ static ssize_t hyp_sysfs_store(struct ko
return 0;
}
@@ -23928,7 +26309,7 @@ diff -urNp linux-2.6.31.6/drivers/xen/sys-hypervisor.c linux-2.6.31.6/drivers/xe
};
diff -urNp linux-2.6.31.6/fs/9p/vfs_inode.c linux-2.6.31.6/fs/9p/vfs_inode.c
--- linux-2.6.31.6/fs/9p/vfs_inode.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/9p/vfs_inode.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/9p/vfs_inode.c 2009-11-12 17:18:17.000000000 -0500
@@ -1025,7 +1025,7 @@ static void *v9fs_vfs_follow_link(struct
static void
v9fs_vfs_put_link(struct dentry *dentry, struct nameidata *nd, void *p)
@@ -23938,9 +26319,21 @@ diff -urNp linux-2.6.31.6/fs/9p/vfs_inode.c linux-2.6.31.6/fs/9p/vfs_inode.c
P9_DPRINTK(P9_DEBUG_VFS, " %s %s\n", dentry->d_name.name,
IS_ERR(s) ? "<error>" : s);
+diff -urNp linux-2.6.31.6/fs/afs/flock.c linux-2.6.31.6/fs/afs/flock.c
+--- linux-2.6.31.6/fs/afs/flock.c 2009-11-10 18:45:52.000000000 -0500
++++ linux-2.6.31.6/fs/afs/flock.c 2009-11-12 17:18:35.000000000 -0500
+@@ -21,7 +21,7 @@ static void afs_fl_release_private(struc
+ static struct workqueue_struct *afs_lock_manager;
+ static DEFINE_MUTEX(afs_lock_manager_mutex);
+
+-static struct file_lock_operations afs_lock_ops = {
++static const struct file_lock_operations afs_lock_ops = {
+ .fl_copy_lock = afs_fl_copy_lock,
+ .fl_release_private = afs_fl_release_private,
+ };
diff -urNp linux-2.6.31.6/fs/afs/proc.c linux-2.6.31.6/fs/afs/proc.c
--- linux-2.6.31.6/fs/afs/proc.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/afs/proc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/afs/proc.c 2009-11-12 17:18:17.000000000 -0500
@@ -28,7 +28,7 @@ static int afs_proc_cells_show(struct se
static ssize_t afs_proc_cells_write(struct file *file, const char __user *buf,
size_t size, loff_t *_pos);
@@ -23979,7 +26372,7 @@ diff -urNp linux-2.6.31.6/fs/afs/proc.c linux-2.6.31.6/fs/afs/proc.c
.stop = afs_proc_cell_servers_stop,
diff -urNp linux-2.6.31.6/fs/aio.c linux-2.6.31.6/fs/aio.c
--- linux-2.6.31.6/fs/aio.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/aio.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/aio.c 2009-11-12 17:18:17.000000000 -0500
@@ -114,7 +114,7 @@ static int aio_setup_ring(struct kioctx
size += sizeof(struct io_event) * nr_events;
nr_pages = (size + PAGE_SIZE-1) >> PAGE_SHIFT;
@@ -23991,7 +26384,7 @@ diff -urNp linux-2.6.31.6/fs/aio.c linux-2.6.31.6/fs/aio.c
nr_events = (PAGE_SIZE * nr_pages - sizeof(struct aio_ring)) / sizeof(struct io_event);
diff -urNp linux-2.6.31.6/fs/autofs/root.c linux-2.6.31.6/fs/autofs/root.c
--- linux-2.6.31.6/fs/autofs/root.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/autofs/root.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/autofs/root.c 2009-11-12 17:18:17.000000000 -0500
@@ -299,7 +299,8 @@ static int autofs_root_symlink(struct in
set_bit(n,sbi->symlink_bitmap);
sl = &sbi->symlink[n];
@@ -24004,7 +26397,7 @@ diff -urNp linux-2.6.31.6/fs/autofs/root.c linux-2.6.31.6/fs/autofs/root.c
unlock_kernel();
diff -urNp linux-2.6.31.6/fs/autofs4/symlink.c linux-2.6.31.6/fs/autofs4/symlink.c
--- linux-2.6.31.6/fs/autofs4/symlink.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/autofs4/symlink.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/autofs4/symlink.c 2009-11-12 17:18:17.000000000 -0500
@@ -15,7 +15,7 @@
static void *autofs4_follow_link(struct dentry *dentry, struct nameidata *nd)
{
@@ -24016,7 +26409,7 @@ diff -urNp linux-2.6.31.6/fs/autofs4/symlink.c linux-2.6.31.6/fs/autofs4/symlink
diff -urNp linux-2.6.31.6/fs/befs/linuxvfs.c linux-2.6.31.6/fs/befs/linuxvfs.c
--- linux-2.6.31.6/fs/befs/linuxvfs.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/befs/linuxvfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/befs/linuxvfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -493,7 +493,7 @@ static void befs_put_link(struct dentry
{
befs_inode_info *befs_ino = BEFS_I(dentry->d_inode);
@@ -24028,7 +26421,7 @@ diff -urNp linux-2.6.31.6/fs/befs/linuxvfs.c linux-2.6.31.6/fs/befs/linuxvfs.c
}
diff -urNp linux-2.6.31.6/fs/binfmt_aout.c linux-2.6.31.6/fs/binfmt_aout.c
--- linux-2.6.31.6/fs/binfmt_aout.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/binfmt_aout.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/binfmt_aout.c 2009-11-12 17:18:17.000000000 -0500
@@ -16,6 +16,7 @@
#include <linux/string.h>
#include <linux/fs.h>
@@ -24098,7 +26491,7 @@ diff -urNp linux-2.6.31.6/fs/binfmt_aout.c linux-2.6.31.6/fs/binfmt_aout.c
up_write(&current->mm->mmap_sem);
diff -urNp linux-2.6.31.6/fs/binfmt_elf.c linux-2.6.31.6/fs/binfmt_elf.c
--- linux-2.6.31.6/fs/binfmt_elf.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/binfmt_elf.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/binfmt_elf.c 2009-11-12 17:18:17.000000000 -0500
@@ -50,6 +50,10 @@ static int elf_core_dump(long signr, str
#define elf_core_dump NULL
#endif
@@ -24732,7 +27125,7 @@ diff -urNp linux-2.6.31.6/fs/binfmt_elf.c linux-2.6.31.6/fs/binfmt_elf.c
return register_binfmt(&elf_format);
diff -urNp linux-2.6.31.6/fs/binfmt_flat.c linux-2.6.31.6/fs/binfmt_flat.c
--- linux-2.6.31.6/fs/binfmt_flat.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/binfmt_flat.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/binfmt_flat.c 2009-11-12 17:18:17.000000000 -0500
@@ -565,7 +565,9 @@ static int load_flat_file(struct linux_b
realdatastart = (unsigned long) -ENOMEM;
printk("Unable to allocate RAM for process data, errno %d\n",
@@ -24767,7 +27160,7 @@ diff -urNp linux-2.6.31.6/fs/binfmt_flat.c linux-2.6.31.6/fs/binfmt_flat.c
}
diff -urNp linux-2.6.31.6/fs/binfmt_misc.c linux-2.6.31.6/fs/binfmt_misc.c
--- linux-2.6.31.6/fs/binfmt_misc.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/binfmt_misc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/binfmt_misc.c 2009-11-12 17:18:17.000000000 -0500
@@ -693,7 +693,7 @@ static int bm_fill_super(struct super_bl
static struct tree_descr bm_files[] = {
[2] = {"status", &bm_status_operations, S_IWUSR|S_IRUGO},
@@ -24779,7 +27172,7 @@ diff -urNp linux-2.6.31.6/fs/binfmt_misc.c linux-2.6.31.6/fs/binfmt_misc.c
if (!err)
diff -urNp linux-2.6.31.6/fs/bio.c linux-2.6.31.6/fs/bio.c
--- linux-2.6.31.6/fs/bio.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/bio.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/bio.c 2009-11-12 17:18:17.000000000 -0500
@@ -78,7 +78,7 @@ static struct kmem_cache *bio_find_or_cr
i = 0;
@@ -24800,7 +27193,7 @@ diff -urNp linux-2.6.31.6/fs/bio.c linux-2.6.31.6/fs/bio.c
char *addr = page_address(bvec->bv_page);
diff -urNp linux-2.6.31.6/fs/btrfs/ctree.c linux-2.6.31.6/fs/btrfs/ctree.c
--- linux-2.6.31.6/fs/btrfs/ctree.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/btrfs/ctree.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/btrfs/ctree.c 2009-11-12 17:18:17.000000000 -0500
@@ -3562,7 +3562,6 @@ setup_items_for_insert(struct btrfs_tran
ret = 0;
@@ -24811,7 +27204,7 @@ diff -urNp linux-2.6.31.6/fs/btrfs/ctree.c linux-2.6.31.6/fs/btrfs/ctree.c
}
diff -urNp linux-2.6.31.6/fs/btrfs/ctree.h linux-2.6.31.6/fs/btrfs/ctree.h
--- linux-2.6.31.6/fs/btrfs/ctree.h 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/btrfs/ctree.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/btrfs/ctree.h 2009-11-12 17:18:17.000000000 -0500
@@ -2286,7 +2286,7 @@ int btrfs_sync_file(struct file *file, s
int btrfs_drop_extent_cache(struct inode *inode, u64 start, u64 end,
int skip_pinned);
@@ -24823,7 +27216,7 @@ diff -urNp linux-2.6.31.6/fs/btrfs/ctree.h linux-2.6.31.6/fs/btrfs/ctree.h
u64 start, u64 end, u64 locked_end,
diff -urNp linux-2.6.31.6/fs/btrfs/disk-io.c linux-2.6.31.6/fs/btrfs/disk-io.c
--- linux-2.6.31.6/fs/btrfs/disk-io.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/btrfs/disk-io.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/btrfs/disk-io.c 2009-11-12 17:18:17.000000000 -0500
@@ -772,7 +772,7 @@ static void btree_invalidatepage(struct
}
}
@@ -24835,7 +27228,7 @@ diff -urNp linux-2.6.31.6/fs/btrfs/disk-io.c linux-2.6.31.6/fs/btrfs/disk-io.c
.writepages = btree_writepages,
diff -urNp linux-2.6.31.6/fs/btrfs/file.c linux-2.6.31.6/fs/btrfs/file.c
--- linux-2.6.31.6/fs/btrfs/file.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/btrfs/file.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/btrfs/file.c 2009-11-12 17:18:17.000000000 -0500
@@ -1203,7 +1203,7 @@ out:
return ret > 0 ? EIO : ret;
}
@@ -24856,7 +27249,7 @@ diff -urNp linux-2.6.31.6/fs/btrfs/file.c linux-2.6.31.6/fs/btrfs/file.c
.aio_read = generic_file_aio_read,
diff -urNp linux-2.6.31.6/fs/btrfs/free-space-cache.c linux-2.6.31.6/fs/btrfs/free-space-cache.c
--- linux-2.6.31.6/fs/btrfs/free-space-cache.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/btrfs/free-space-cache.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/btrfs/free-space-cache.c 2009-11-12 17:18:17.000000000 -0500
@@ -1066,8 +1066,6 @@ u64 btrfs_alloc_from_cluster(struct btrf
while(1) {
@@ -24877,7 +27270,7 @@ diff -urNp linux-2.6.31.6/fs/btrfs/free-space-cache.c linux-2.6.31.6/fs/btrfs/fr
ret = btrfs_bitmap_cluster(block_group, entry, cluster,
diff -urNp linux-2.6.31.6/fs/btrfs/inode.c linux-2.6.31.6/fs/btrfs/inode.c
--- linux-2.6.31.6/fs/btrfs/inode.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/btrfs/inode.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/btrfs/inode.c 2009-11-12 17:18:17.000000000 -0500
@@ -55,14 +55,14 @@ struct btrfs_iget_args {
struct btrfs_root *root;
};
@@ -24970,7 +27363,7 @@ diff -urNp linux-2.6.31.6/fs/btrfs/inode.c linux-2.6.31.6/fs/btrfs/inode.c
.put_link = page_put_link,
diff -urNp linux-2.6.31.6/fs/btrfs/super.c linux-2.6.31.6/fs/btrfs/super.c
--- linux-2.6.31.6/fs/btrfs/super.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/btrfs/super.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/btrfs/super.c 2009-11-12 17:18:17.000000000 -0500
@@ -51,7 +51,7 @@
#include "export.h"
#include "compression.h"
@@ -24991,7 +27384,7 @@ diff -urNp linux-2.6.31.6/fs/btrfs/super.c linux-2.6.31.6/fs/btrfs/super.c
.sync_fs = btrfs_sync_fs,
diff -urNp linux-2.6.31.6/fs/btrfs/sysfs.c linux-2.6.31.6/fs/btrfs/sysfs.c
--- linux-2.6.31.6/fs/btrfs/sysfs.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/btrfs/sysfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/btrfs/sysfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -164,12 +164,12 @@ static void btrfs_root_release(struct ko
complete(&root->kobj_unregister);
}
@@ -25009,7 +27402,7 @@ diff -urNp linux-2.6.31.6/fs/btrfs/sysfs.c linux-2.6.31.6/fs/btrfs/sysfs.c
};
diff -urNp linux-2.6.31.6/fs/buffer.c linux-2.6.31.6/fs/buffer.c
--- linux-2.6.31.6/fs/buffer.c 2009-11-10 18:45:45.000000000 -0500
-+++ linux-2.6.31.6/fs/buffer.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/buffer.c 2009-11-12 17:18:17.000000000 -0500
@@ -25,6 +25,7 @@
#include <linux/percpu.h>
#include <linux/slab.h>
@@ -25028,7 +27421,7 @@ diff -urNp linux-2.6.31.6/fs/buffer.c linux-2.6.31.6/fs/buffer.c
goto out;
diff -urNp linux-2.6.31.6/fs/cachefiles/rdwr.c linux-2.6.31.6/fs/cachefiles/rdwr.c
--- linux-2.6.31.6/fs/cachefiles/rdwr.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/cachefiles/rdwr.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/cachefiles/rdwr.c 2009-11-12 17:18:17.000000000 -0500
@@ -839,7 +839,7 @@ int cachefiles_write_page(struct fscache
old_fs = get_fs();
set_fs(KERNEL_DS);
@@ -25040,7 +27433,7 @@ diff -urNp linux-2.6.31.6/fs/cachefiles/rdwr.c linux-2.6.31.6/fs/cachefiles/rdwr
kunmap(page);
diff -urNp linux-2.6.31.6/fs/cifs/cifs_dfs_ref.c linux-2.6.31.6/fs/cifs/cifs_dfs_ref.c
--- linux-2.6.31.6/fs/cifs/cifs_dfs_ref.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/cifs/cifs_dfs_ref.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/cifs/cifs_dfs_ref.c 2009-11-12 17:18:17.000000000 -0500
@@ -385,7 +385,7 @@ out_err:
goto out;
}
@@ -25052,7 +27445,7 @@ diff -urNp linux-2.6.31.6/fs/cifs/cifs_dfs_ref.c linux-2.6.31.6/fs/cifs/cifs_dfs
diff -urNp linux-2.6.31.6/fs/cifs/cifsfs.h linux-2.6.31.6/fs/cifs/cifsfs.h
--- linux-2.6.31.6/fs/cifs/cifsfs.h 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/cifs/cifsfs.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/cifs/cifsfs.h 2009-11-12 17:18:17.000000000 -0500
@@ -67,7 +67,7 @@ extern int cifs_setattr(struct dentry *,
extern const struct inode_operations cifs_file_inode_ops;
@@ -25064,7 +27457,7 @@ diff -urNp linux-2.6.31.6/fs/cifs/cifsfs.h linux-2.6.31.6/fs/cifs/cifsfs.h
/* Functions related to files and directories */
diff -urNp linux-2.6.31.6/fs/cifs/cifs_uniupr.h linux-2.6.31.6/fs/cifs/cifs_uniupr.h
--- linux-2.6.31.6/fs/cifs/cifs_uniupr.h 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/cifs/cifs_uniupr.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/cifs/cifs_uniupr.h 2009-11-12 17:18:17.000000000 -0500
@@ -132,7 +132,7 @@ const struct UniCaseRange CifsUniUpperRa
{0x0490, 0x04cc, UniCaseRangeU0490},
{0x1e00, 0x1ffc, UniCaseRangeU1e00},
@@ -25076,7 +27469,7 @@ diff -urNp linux-2.6.31.6/fs/cifs/cifs_uniupr.h linux-2.6.31.6/fs/cifs/cifs_uniu
diff -urNp linux-2.6.31.6/fs/cifs/link.c linux-2.6.31.6/fs/cifs/link.c
--- linux-2.6.31.6/fs/cifs/link.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/cifs/link.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/cifs/link.c 2009-11-12 17:18:17.000000000 -0500
@@ -215,7 +215,7 @@ cifs_symlink(struct inode *inode, struct
void cifs_put_link(struct dentry *direntry, struct nameidata *nd, void *cookie)
@@ -25088,7 +27481,7 @@ diff -urNp linux-2.6.31.6/fs/cifs/link.c linux-2.6.31.6/fs/cifs/link.c
}
diff -urNp linux-2.6.31.6/fs/compat_binfmt_elf.c linux-2.6.31.6/fs/compat_binfmt_elf.c
--- linux-2.6.31.6/fs/compat_binfmt_elf.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/compat_binfmt_elf.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/compat_binfmt_elf.c 2009-11-12 17:18:17.000000000 -0500
@@ -29,10 +29,12 @@
#undef elfhdr
#undef elf_phdr
@@ -25104,7 +27497,7 @@ diff -urNp linux-2.6.31.6/fs/compat_binfmt_elf.c linux-2.6.31.6/fs/compat_binfmt
/*
diff -urNp linux-2.6.31.6/fs/compat.c linux-2.6.31.6/fs/compat.c
--- linux-2.6.31.6/fs/compat.c 2009-11-10 18:45:45.000000000 -0500
-+++ linux-2.6.31.6/fs/compat.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/compat.c 2009-11-12 17:18:17.000000000 -0500
@@ -1417,14 +1417,12 @@ static int compat_copy_strings(int argc,
if (!kmapped_page || kpos != (pos & PAGE_MASK)) {
struct page *page;
@@ -25206,7 +27599,7 @@ diff -urNp linux-2.6.31.6/fs/compat.c linux-2.6.31.6/fs/compat.c
mmput(bprm->mm);
diff -urNp linux-2.6.31.6/fs/compat_ioctl.c linux-2.6.31.6/fs/compat_ioctl.c
--- linux-2.6.31.6/fs/compat_ioctl.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/compat_ioctl.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/compat_ioctl.c 2009-11-12 17:18:17.000000000 -0500
@@ -1827,15 +1827,15 @@ struct ioctl_trans {
};
@@ -25228,7 +27621,7 @@ diff -urNp linux-2.6.31.6/fs/compat_ioctl.c linux-2.6.31.6/fs/compat_ioctl.c
Valid reasons to use this:
diff -urNp linux-2.6.31.6/fs/debugfs/inode.c linux-2.6.31.6/fs/debugfs/inode.c
--- linux-2.6.31.6/fs/debugfs/inode.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/debugfs/inode.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/debugfs/inode.c 2009-11-12 17:18:17.000000000 -0500
@@ -118,7 +118,7 @@ static inline int debugfs_positive(struc
static int debug_fill_super(struct super_block *sb, void *data, int silent)
@@ -25240,7 +27633,7 @@ diff -urNp linux-2.6.31.6/fs/debugfs/inode.c linux-2.6.31.6/fs/debugfs/inode.c
}
diff -urNp linux-2.6.31.6/fs/dlm/debug_fs.c linux-2.6.31.6/fs/dlm/debug_fs.c
--- linux-2.6.31.6/fs/dlm/debug_fs.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/dlm/debug_fs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/dlm/debug_fs.c 2009-11-12 17:18:17.000000000 -0500
@@ -386,9 +386,9 @@ static int table_seq_show(struct seq_fil
return rv;
}
@@ -25281,7 +27674,7 @@ diff -urNp linux-2.6.31.6/fs/dlm/debug_fs.c linux-2.6.31.6/fs/dlm/debug_fs.c
.stop = table_seq_stop,
diff -urNp linux-2.6.31.6/fs/dlm/lockspace.c linux-2.6.31.6/fs/dlm/lockspace.c
--- linux-2.6.31.6/fs/dlm/lockspace.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/dlm/lockspace.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/dlm/lockspace.c 2009-11-12 17:18:17.000000000 -0500
@@ -148,7 +148,7 @@ static void lockspace_kobj_release(struc
kfree(ls);
}
@@ -25293,7 +27686,7 @@ diff -urNp linux-2.6.31.6/fs/dlm/lockspace.c linux-2.6.31.6/fs/dlm/lockspace.c
};
diff -urNp linux-2.6.31.6/fs/ecryptfs/ecryptfs_kernel.h linux-2.6.31.6/fs/ecryptfs/ecryptfs_kernel.h
--- linux-2.6.31.6/fs/ecryptfs/ecryptfs_kernel.h 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/ecryptfs/ecryptfs_kernel.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ecryptfs/ecryptfs_kernel.h 2009-11-12 17:18:17.000000000 -0500
@@ -582,7 +582,7 @@ extern const struct inode_operations ecr
extern const struct inode_operations ecryptfs_symlink_iops;
extern const struct super_operations ecryptfs_sops;
@@ -25305,7 +27698,7 @@ diff -urNp linux-2.6.31.6/fs/ecryptfs/ecryptfs_kernel.h linux-2.6.31.6/fs/ecrypt
extern signed long ecryptfs_message_wait_timeout;
diff -urNp linux-2.6.31.6/fs/ecryptfs/inode.c linux-2.6.31.6/fs/ecryptfs/inode.c
--- linux-2.6.31.6/fs/ecryptfs/inode.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/ecryptfs/inode.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ecryptfs/inode.c 2009-11-12 17:18:17.000000000 -0500
@@ -676,7 +676,7 @@ ecryptfs_readlink(struct dentry *dentry,
old_fs = get_fs();
set_fs(get_ds());
@@ -25326,7 +27719,7 @@ diff -urNp linux-2.6.31.6/fs/ecryptfs/inode.c linux-2.6.31.6/fs/ecryptfs/inode.c
goto out_free;
diff -urNp linux-2.6.31.6/fs/ecryptfs/mmap.c linux-2.6.31.6/fs/ecryptfs/mmap.c
--- linux-2.6.31.6/fs/ecryptfs/mmap.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/ecryptfs/mmap.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ecryptfs/mmap.c 2009-11-12 17:18:17.000000000 -0500
@@ -545,7 +545,7 @@ static sector_t ecryptfs_bmap(struct add
return rc;
}
@@ -25338,7 +27731,7 @@ diff -urNp linux-2.6.31.6/fs/ecryptfs/mmap.c linux-2.6.31.6/fs/ecryptfs/mmap.c
.write_begin = ecryptfs_write_begin,
diff -urNp linux-2.6.31.6/fs/exec.c linux-2.6.31.6/fs/exec.c
--- linux-2.6.31.6/fs/exec.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/exec.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/exec.c 2009-11-12 17:18:17.000000000 -0500
@@ -55,12 +55,24 @@
#include <linux/kmod.h>
#include <linux/fsnotify.h>
@@ -25802,7 +28195,7 @@ diff -urNp linux-2.6.31.6/fs/exec.c linux-2.6.31.6/fs/exec.c
* uses lock_kernel()
diff -urNp linux-2.6.31.6/fs/ext2/balloc.c linux-2.6.31.6/fs/ext2/balloc.c
--- linux-2.6.31.6/fs/ext2/balloc.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/ext2/balloc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ext2/balloc.c 2009-11-12 17:18:17.000000000 -0500
@@ -1192,7 +1192,7 @@ static int ext2_has_free_blocks(struct e
free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter);
@@ -25814,7 +28207,7 @@ diff -urNp linux-2.6.31.6/fs/ext2/balloc.c linux-2.6.31.6/fs/ext2/balloc.c
return 0;
diff -urNp linux-2.6.31.6/fs/ext3/balloc.c linux-2.6.31.6/fs/ext3/balloc.c
--- linux-2.6.31.6/fs/ext3/balloc.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ext3/balloc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ext3/balloc.c 2009-11-12 17:18:17.000000000 -0500
@@ -1421,7 +1421,7 @@ static int ext3_has_free_blocks(struct e
free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter);
@@ -25826,7 +28219,7 @@ diff -urNp linux-2.6.31.6/fs/ext3/balloc.c linux-2.6.31.6/fs/ext3/balloc.c
return 0;
diff -urNp linux-2.6.31.6/fs/ext3/namei.c linux-2.6.31.6/fs/ext3/namei.c
--- linux-2.6.31.6/fs/ext3/namei.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ext3/namei.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ext3/namei.c 2009-11-12 17:18:17.000000000 -0500
@@ -1168,7 +1168,7 @@ static struct ext3_dir_entry_2 *do_split
char *data1 = (*bh)->b_data, *data2;
unsigned split, move, size;
@@ -25838,7 +28231,7 @@ diff -urNp linux-2.6.31.6/fs/ext3/namei.c linux-2.6.31.6/fs/ext3/namei.c
if (!(bh2)) {
diff -urNp linux-2.6.31.6/fs/ext3/xattr.c linux-2.6.31.6/fs/ext3/xattr.c
--- linux-2.6.31.6/fs/ext3/xattr.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ext3/xattr.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ext3/xattr.c 2009-11-12 17:18:17.000000000 -0500
@@ -89,8 +89,8 @@
printk("\n"); \
} while (0)
@@ -25852,7 +28245,7 @@ diff -urNp linux-2.6.31.6/fs/ext3/xattr.c linux-2.6.31.6/fs/ext3/xattr.c
static void ext3_xattr_cache_insert(struct buffer_head *);
diff -urNp linux-2.6.31.6/fs/ext4/balloc.c linux-2.6.31.6/fs/ext4/balloc.c
--- linux-2.6.31.6/fs/ext4/balloc.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/ext4/balloc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ext4/balloc.c 2009-11-12 17:18:17.000000000 -0500
@@ -573,7 +573,7 @@ int ext4_has_free_blocks(struct ext4_sb_
/* Hm, nope. Are (enough) root reserved blocks available? */
if (sbi->s_resuid == current_fsuid() ||
@@ -25864,7 +28257,7 @@ diff -urNp linux-2.6.31.6/fs/ext4/balloc.c linux-2.6.31.6/fs/ext4/balloc.c
}
diff -urNp linux-2.6.31.6/fs/ext4/file.c linux-2.6.31.6/fs/ext4/file.c
--- linux-2.6.31.6/fs/ext4/file.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/ext4/file.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ext4/file.c 2009-11-12 17:18:17.000000000 -0500
@@ -130,7 +130,7 @@ force_commit:
return ret;
}
@@ -25876,7 +28269,7 @@ diff -urNp linux-2.6.31.6/fs/ext4/file.c linux-2.6.31.6/fs/ext4/file.c
};
diff -urNp linux-2.6.31.6/fs/ext4/mballoc.c linux-2.6.31.6/fs/ext4/mballoc.c
--- linux-2.6.31.6/fs/ext4/mballoc.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/ext4/mballoc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ext4/mballoc.c 2009-11-12 17:18:17.000000000 -0500
@@ -2205,7 +2205,7 @@ static void ext4_mb_seq_history_stop(str
{
}
@@ -25915,7 +28308,7 @@ diff -urNp linux-2.6.31.6/fs/ext4/mballoc.c linux-2.6.31.6/fs/ext4/mballoc.c
.read = seq_read,
diff -urNp linux-2.6.31.6/fs/ext4/namei.c linux-2.6.31.6/fs/ext4/namei.c
--- linux-2.6.31.6/fs/ext4/namei.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/ext4/namei.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ext4/namei.c 2009-11-12 17:18:17.000000000 -0500
@@ -1203,7 +1203,7 @@ static struct ext4_dir_entry_2 *do_split
char *data1 = (*bh)->b_data, *data2;
unsigned split, move, size;
@@ -25927,7 +28320,7 @@ diff -urNp linux-2.6.31.6/fs/ext4/namei.c linux-2.6.31.6/fs/ext4/namei.c
if (!(bh2)) {
diff -urNp linux-2.6.31.6/fs/ext4/super.c linux-2.6.31.6/fs/ext4/super.c
--- linux-2.6.31.6/fs/ext4/super.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/ext4/super.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ext4/super.c 2009-11-12 17:18:17.000000000 -0500
@@ -2242,7 +2242,7 @@ static void ext4_sb_release(struct kobje
}
@@ -25939,7 +28332,7 @@ diff -urNp linux-2.6.31.6/fs/ext4/super.c linux-2.6.31.6/fs/ext4/super.c
};
diff -urNp linux-2.6.31.6/fs/fcntl.c linux-2.6.31.6/fs/fcntl.c
--- linux-2.6.31.6/fs/fcntl.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/fcntl.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/fcntl.c 2009-11-12 17:18:17.000000000 -0500
@@ -271,6 +271,7 @@ static long do_fcntl(int fd, unsigned in
switch (cmd) {
case F_DUPFD:
@@ -25960,7 +28353,7 @@ diff -urNp linux-2.6.31.6/fs/fcntl.c linux-2.6.31.6/fs/fcntl.c
}
diff -urNp linux-2.6.31.6/fs/fifo.c linux-2.6.31.6/fs/fifo.c
--- linux-2.6.31.6/fs/fifo.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/fifo.c 2009-11-10 18:44:21.000000000 -0500
++++ linux-2.6.31.6/fs/fifo.c 2009-11-12 17:18:17.000000000 -0500
@@ -59,10 +59,10 @@ static int fifo_open(struct inode *inode
*/
filp->f_op = &read_pipefifo_fops;
@@ -26033,7 +28426,7 @@ diff -urNp linux-2.6.31.6/fs/fifo.c linux-2.6.31.6/fs/fifo.c
err_nocleanup:
diff -urNp linux-2.6.31.6/fs/file.c linux-2.6.31.6/fs/file.c
--- linux-2.6.31.6/fs/file.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/file.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/file.c 2009-11-12 17:18:17.000000000 -0500
@@ -13,6 +13,7 @@
#include <linux/slab.h>
#include <linux/vmalloc.h>
@@ -26053,7 +28446,7 @@ diff -urNp linux-2.6.31.6/fs/file.c linux-2.6.31.6/fs/file.c
diff -urNp linux-2.6.31.6/fs/fs_struct.c linux-2.6.31.6/fs/fs_struct.c
--- linux-2.6.31.6/fs/fs_struct.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/fs_struct.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/fs_struct.c 2009-11-12 17:18:17.000000000 -0500
@@ -89,7 +89,7 @@ void exit_fs(struct task_struct *tsk)
task_lock(tsk);
write_lock(&fs->lock);
@@ -26107,7 +28500,7 @@ diff -urNp linux-2.6.31.6/fs/fs_struct.c linux-2.6.31.6/fs/fs_struct.c
task_unlock(current);
diff -urNp linux-2.6.31.6/fs/fuse/control.c linux-2.6.31.6/fs/fuse/control.c
--- linux-2.6.31.6/fs/fuse/control.c 2009-11-10 18:45:45.000000000 -0500
-+++ linux-2.6.31.6/fs/fuse/control.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/fuse/control.c 2009-11-12 17:18:17.000000000 -0500
@@ -161,7 +161,7 @@ void fuse_ctl_remove_conn(struct fuse_co
static int fuse_ctl_fill_super(struct super_block *sb, void *data, int silent)
@@ -26119,7 +28512,7 @@ diff -urNp linux-2.6.31.6/fs/fuse/control.c linux-2.6.31.6/fs/fuse/control.c
diff -urNp linux-2.6.31.6/fs/fuse/dev.c linux-2.6.31.6/fs/fuse/dev.c
--- linux-2.6.31.6/fs/fuse/dev.c 2009-11-10 18:45:45.000000000 -0500
-+++ linux-2.6.31.6/fs/fuse/dev.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/fuse/dev.c 2009-11-12 17:18:17.000000000 -0500
@@ -885,7 +885,7 @@ static int fuse_notify_inval_entry(struc
{
struct fuse_notify_inval_entry_out outarg;
@@ -26165,7 +28558,7 @@ diff -urNp linux-2.6.31.6/fs/fuse/dev.c linux-2.6.31.6/fs/fuse/dev.c
diff -urNp linux-2.6.31.6/fs/fuse/dir.c linux-2.6.31.6/fs/fuse/dir.c
--- linux-2.6.31.6/fs/fuse/dir.c 2009-11-10 18:45:45.000000000 -0500
-+++ linux-2.6.31.6/fs/fuse/dir.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/fuse/dir.c 2009-11-12 17:18:17.000000000 -0500
@@ -1122,7 +1122,7 @@ static char *read_link(struct dentry *de
return link;
}
@@ -26177,7 +28570,7 @@ diff -urNp linux-2.6.31.6/fs/fuse/dir.c linux-2.6.31.6/fs/fuse/dir.c
free_page((unsigned long) link);
diff -urNp linux-2.6.31.6/fs/fuse/file.c linux-2.6.31.6/fs/fuse/file.c
--- linux-2.6.31.6/fs/fuse/file.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/fs/fuse/file.c 2009-11-10 18:53:43.000000000 -0500
++++ linux-2.6.31.6/fs/fuse/file.c 2009-11-12 17:18:17.000000000 -0500
@@ -1314,7 +1314,7 @@ static int fuse_page_mkwrite(struct vm_a
return 0;
}
@@ -26189,7 +28582,7 @@ diff -urNp linux-2.6.31.6/fs/fuse/file.c linux-2.6.31.6/fs/fuse/file.c
.page_mkwrite = fuse_page_mkwrite,
diff -urNp linux-2.6.31.6/fs/gfs2/file.c linux-2.6.31.6/fs/gfs2/file.c
--- linux-2.6.31.6/fs/gfs2/file.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/gfs2/file.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/gfs2/file.c 2009-11-12 17:18:17.000000000 -0500
@@ -419,7 +419,7 @@ out:
return ret;
}
@@ -26201,7 +28594,7 @@ diff -urNp linux-2.6.31.6/fs/gfs2/file.c linux-2.6.31.6/fs/gfs2/file.c
};
diff -urNp linux-2.6.31.6/fs/gfs2/sys.c linux-2.6.31.6/fs/gfs2/sys.c
--- linux-2.6.31.6/fs/gfs2/sys.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/gfs2/sys.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/gfs2/sys.c 2009-11-12 17:18:35.000000000 -0500
@@ -48,7 +48,7 @@ static ssize_t gfs2_attr_store(struct ko
return a->store ? a->store(sdp, buf, len) : len;
}
@@ -26211,9 +28604,18 @@ diff -urNp linux-2.6.31.6/fs/gfs2/sys.c linux-2.6.31.6/fs/gfs2/sys.c
.show = gfs2_attr_show,
.store = gfs2_attr_store,
};
+@@ -574,7 +574,7 @@ static int gfs2_uevent(struct kset *kset
+ return 0;
+ }
+
+-static struct kset_uevent_ops gfs2_uevent_ops = {
++static const struct kset_uevent_ops gfs2_uevent_ops = {
+ .uevent = gfs2_uevent,
+ };
+
diff -urNp linux-2.6.31.6/fs/hfs/inode.c linux-2.6.31.6/fs/hfs/inode.c
--- linux-2.6.31.6/fs/hfs/inode.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/hfs/inode.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/hfs/inode.c 2009-11-12 17:18:17.000000000 -0500
@@ -423,7 +423,7 @@ int hfs_write_inode(struct inode *inode,
if (S_ISDIR(main_inode->i_mode)) {
@@ -26234,7 +28636,7 @@ diff -urNp linux-2.6.31.6/fs/hfs/inode.c linux-2.6.31.6/fs/hfs/inode.c
if (rec.type != HFS_CDR_FIL ||
diff -urNp linux-2.6.31.6/fs/hfsplus/inode.c linux-2.6.31.6/fs/hfsplus/inode.c
--- linux-2.6.31.6/fs/hfsplus/inode.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/hfsplus/inode.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/hfsplus/inode.c 2009-11-12 17:18:17.000000000 -0500
@@ -406,7 +406,7 @@ int hfsplus_cat_read_inode(struct inode
struct hfsplus_cat_folder *folder = &entry.folder;
@@ -26273,7 +28675,7 @@ diff -urNp linux-2.6.31.6/fs/hfsplus/inode.c linux-2.6.31.6/fs/hfsplus/inode.c
hfsplus_inode_write_fork(inode, &file->data_fork);
diff -urNp linux-2.6.31.6/fs/ioctl.c linux-2.6.31.6/fs/ioctl.c
--- linux-2.6.31.6/fs/ioctl.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ioctl.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ioctl.c 2009-11-12 17:18:17.000000000 -0500
@@ -97,7 +97,7 @@ int fiemap_fill_next_extent(struct fiema
u64 phys, u64 len, u32 flags)
{
@@ -26303,7 +28705,7 @@ diff -urNp linux-2.6.31.6/fs/ioctl.c linux-2.6.31.6/fs/ioctl.c
return error;
diff -urNp linux-2.6.31.6/fs/jbd2/journal.c linux-2.6.31.6/fs/jbd2/journal.c
--- linux-2.6.31.6/fs/jbd2/journal.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/jbd2/journal.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/jbd2/journal.c 2009-11-12 17:18:17.000000000 -0500
@@ -768,7 +768,7 @@ static void jbd2_seq_history_stop(struct
{
}
@@ -26342,7 +28744,7 @@ diff -urNp linux-2.6.31.6/fs/jbd2/journal.c linux-2.6.31.6/fs/jbd2/journal.c
.read = seq_read,
diff -urNp linux-2.6.31.6/fs/jffs2/debug.h linux-2.6.31.6/fs/jffs2/debug.h
--- linux-2.6.31.6/fs/jffs2/debug.h 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/jffs2/debug.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/jffs2/debug.h 2009-11-12 17:18:17.000000000 -0500
@@ -52,13 +52,13 @@
#if CONFIG_JFFS2_FS_DEBUG > 0
#define D1(x) x
@@ -26446,7 +28848,7 @@ diff -urNp linux-2.6.31.6/fs/jffs2/debug.h linux-2.6.31.6/fs/jffs2/debug.h
/* "Sanity" checks */
diff -urNp linux-2.6.31.6/fs/jffs2/erase.c linux-2.6.31.6/fs/jffs2/erase.c
--- linux-2.6.31.6/fs/jffs2/erase.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/jffs2/erase.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/jffs2/erase.c 2009-11-12 17:18:17.000000000 -0500
@@ -434,7 +434,8 @@ static void jffs2_mark_erased_block(stru
struct jffs2_unknown_node marker = {
.magic = cpu_to_je16(JFFS2_MAGIC_BITMASK),
@@ -26459,7 +28861,7 @@ diff -urNp linux-2.6.31.6/fs/jffs2/erase.c linux-2.6.31.6/fs/jffs2/erase.c
jffs2_prealloc_raw_node_refs(c, jeb, 1);
diff -urNp linux-2.6.31.6/fs/jffs2/summary.h linux-2.6.31.6/fs/jffs2/summary.h
--- linux-2.6.31.6/fs/jffs2/summary.h 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/jffs2/summary.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/jffs2/summary.h 2009-11-12 17:18:17.000000000 -0500
@@ -194,18 +194,18 @@ int jffs2_sum_scan_sumnode(struct jffs2_
#define jffs2_sum_active() (0)
@@ -26490,7 +28892,7 @@ diff -urNp linux-2.6.31.6/fs/jffs2/summary.h linux-2.6.31.6/fs/jffs2/summary.h
#endif /* CONFIG_JFFS2_SUMMARY */
diff -urNp linux-2.6.31.6/fs/jffs2/wbuf.c linux-2.6.31.6/fs/jffs2/wbuf.c
--- linux-2.6.31.6/fs/jffs2/wbuf.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/jffs2/wbuf.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/jffs2/wbuf.c 2009-11-12 17:18:17.000000000 -0500
@@ -1012,7 +1012,8 @@ static const struct jffs2_unknown_node o
{
.magic = constant_cpu_to_je16(JFFS2_MAGIC_BITMASK),
@@ -26501,9 +28903,21 @@ diff -urNp linux-2.6.31.6/fs/jffs2/wbuf.c linux-2.6.31.6/fs/jffs2/wbuf.c
};
/*
+diff -urNp linux-2.6.31.6/fs/lockd/clntproc.c linux-2.6.31.6/fs/lockd/clntproc.c
+--- linux-2.6.31.6/fs/lockd/clntproc.c 2009-11-10 18:45:52.000000000 -0500
++++ linux-2.6.31.6/fs/lockd/clntproc.c 2009-11-12 17:18:35.000000000 -0500
+@@ -458,7 +458,7 @@ static void nlmclnt_locks_release_privat
+ nlm_put_lockowner(fl->fl_u.nfs_fl.owner);
+ }
+
+-static struct file_lock_operations nlmclnt_lock_ops = {
++static const struct file_lock_operations nlmclnt_lock_ops = {
+ .fl_copy_lock = nlmclnt_locks_copy_lock,
+ .fl_release_private = nlmclnt_locks_release_private,
+ };
diff -urNp linux-2.6.31.6/fs/lockd/svc.c linux-2.6.31.6/fs/lockd/svc.c
--- linux-2.6.31.6/fs/lockd/svc.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/lockd/svc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/lockd/svc.c 2009-11-12 17:18:17.000000000 -0500
@@ -43,7 +43,7 @@
static struct svc_program nlmsvc_program;
@@ -26513,9 +28927,30 @@ diff -urNp linux-2.6.31.6/fs/lockd/svc.c linux-2.6.31.6/fs/lockd/svc.c
EXPORT_SYMBOL_GPL(nlmsvc_ops);
static DEFINE_MUTEX(nlmsvc_mutex);
+diff -urNp linux-2.6.31.6/fs/lockd/svclock.c linux-2.6.31.6/fs/lockd/svclock.c
+--- linux-2.6.31.6/fs/lockd/svclock.c 2009-11-10 18:45:52.000000000 -0500
++++ linux-2.6.31.6/fs/lockd/svclock.c 2009-11-12 17:18:35.000000000 -0500
+@@ -705,7 +705,7 @@ static int nlmsvc_same_owner(struct file
+ return fl1->fl_owner == fl2->fl_owner && fl1->fl_pid == fl2->fl_pid;
+ }
+
+-struct lock_manager_operations nlmsvc_lock_operations = {
++const struct lock_manager_operations nlmsvc_lock_operations = {
+ .fl_compare_owner = nlmsvc_same_owner,
+ .fl_notify = nlmsvc_notify_blocked,
+ .fl_grant = nlmsvc_grant_deferred,
diff -urNp linux-2.6.31.6/fs/locks.c linux-2.6.31.6/fs/locks.c
--- linux-2.6.31.6/fs/locks.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/locks.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/locks.c 2009-11-12 17:18:35.000000000 -0500
+@@ -434,7 +434,7 @@ static int lease_mylease_callback(struct
+ return fl->fl_file == try->fl_file;
+ }
+
+-static struct lock_manager_operations lease_manager_ops = {
++static const struct lock_manager_operations lease_manager_ops = {
+ .fl_break = lease_break_callback,
+ .fl_release_private = lease_release_private_callback,
+ .fl_mylease = lease_mylease_callback,
@@ -2007,16 +2007,16 @@ void locks_remove_flock(struct file *fil
return;
@@ -26539,7 +28974,7 @@ diff -urNp linux-2.6.31.6/fs/locks.c linux-2.6.31.6/fs/locks.c
lock_kernel();
diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
--- linux-2.6.31.6/fs/namei.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/namei.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/namei.c 2009-11-12 17:23:18.000000000 -0500
@@ -631,7 +631,7 @@ static __always_inline int __do_follow_l
cookie = dentry->d_inode->i_op->follow_link(dentry, nd);
error = PTR_ERR(cookie);
@@ -26602,11 +29037,16 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
out_unlock:
mutex_unlock(&dir->d_inode->i_mutex);
dput(nd->path.dentry);
-@@ -1698,6 +1719,17 @@ struct file *do_filp_open(int dfd, const
+@@ -1698,6 +1719,22 @@ struct file *do_filp_open(int dfd, const
&nd, flag);
if (error)
return ERR_PTR(error);
+
++ if (gr_handle_rofs_blockwrite(nd.path.dentry, nd.path.mnt, acc_mode)) {
++ error = -EPERM;
++ goto exit;
++ }
++
+ if (gr_handle_rawio(nd.path.dentry->d_inode)) {
+ error = -EPERM;
+ goto exit;
@@ -26620,11 +29060,15 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
goto ok;
}
-@@ -1784,6 +1816,20 @@ do_last:
+@@ -1784,6 +1821,24 @@ do_last:
/*
* It already exists.
*/
+
++ if (gr_handle_rofs_blockwrite(path.dentry, nd.path.mnt, acc_mode)) {
++ error = -EPERM;
++ goto exit_mutex_unlock;
++ }
+ if (gr_handle_rawio(path.dentry->d_inode)) {
+ error = -EPERM;
+ goto exit_mutex_unlock;
@@ -26641,7 +29085,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
mutex_unlock(&dir->d_inode->i_mutex);
audit_inode(pathname, path.dentry);
-@@ -1876,6 +1922,13 @@ do_link:
+@@ -1876,6 +1931,13 @@ do_link:
error = security_inode_follow_link(path.dentry, &nd);
if (error)
goto exit_dput;
@@ -26655,7 +29099,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
error = __do_follow_link(&path, &nd);
if (error) {
/* Does someone understand code flow here? Or it is only
-@@ -2050,6 +2103,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const
+@@ -2050,6 +2112,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const
error = may_mknod(mode);
if (error)
goto out_dput;
@@ -26673,7 +29117,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
error = mnt_want_write(nd.path.mnt);
if (error)
goto out_dput;
-@@ -2070,6 +2134,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const
+@@ -2070,6 +2143,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const
}
out_drop_write:
mnt_drop_write(nd.path.mnt);
@@ -26683,7 +29127,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
out_dput:
dput(dentry);
out_unlock:
-@@ -2123,6 +2190,11 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const
+@@ -2123,6 +2199,11 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const
if (IS_ERR(dentry))
goto out_unlock;
@@ -26695,7 +29139,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
if (!IS_POSIXACL(nd.path.dentry->d_inode))
mode &= ~current_umask();
error = mnt_want_write(nd.path.mnt);
-@@ -2134,6 +2206,10 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const
+@@ -2134,6 +2215,10 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const
error = vfs_mkdir(nd.path.dentry->d_inode, dentry, mode);
out_drop_write:
mnt_drop_write(nd.path.mnt);
@@ -26706,7 +29150,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
out_dput:
dput(dentry);
out_unlock:
-@@ -2215,6 +2291,8 @@ static long do_rmdir(int dfd, const char
+@@ -2215,6 +2300,8 @@ static long do_rmdir(int dfd, const char
char * name;
struct dentry *dentry;
struct nameidata nd;
@@ -26715,7 +29159,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
error = user_path_parent(dfd, pathname, &nd, &name);
if (error)
-@@ -2239,6 +2317,19 @@ static long do_rmdir(int dfd, const char
+@@ -2239,6 +2326,19 @@ static long do_rmdir(int dfd, const char
error = PTR_ERR(dentry);
if (IS_ERR(dentry))
goto exit2;
@@ -26735,7 +29179,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
error = mnt_want_write(nd.path.mnt);
if (error)
goto exit3;
-@@ -2246,6 +2337,8 @@ static long do_rmdir(int dfd, const char
+@@ -2246,6 +2346,8 @@ static long do_rmdir(int dfd, const char
if (error)
goto exit4;
error = vfs_rmdir(nd.path.dentry->d_inode, dentry);
@@ -26744,7 +29188,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
exit4:
mnt_drop_write(nd.path.mnt);
exit3:
-@@ -2307,6 +2400,8 @@ static long do_unlinkat(int dfd, const c
+@@ -2307,6 +2409,8 @@ static long do_unlinkat(int dfd, const c
struct dentry *dentry;
struct nameidata nd;
struct inode *inode = NULL;
@@ -26753,7 +29197,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
error = user_path_parent(dfd, pathname, &nd, &name);
if (error)
-@@ -2326,8 +2421,19 @@ static long do_unlinkat(int dfd, const c
+@@ -2326,8 +2430,19 @@ static long do_unlinkat(int dfd, const c
if (nd.last.name[nd.last.len])
goto slashes;
inode = dentry->d_inode;
@@ -26774,7 +29218,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
error = mnt_want_write(nd.path.mnt);
if (error)
goto exit2;
-@@ -2335,6 +2441,8 @@ static long do_unlinkat(int dfd, const c
+@@ -2335,6 +2450,8 @@ static long do_unlinkat(int dfd, const c
if (error)
goto exit3;
error = vfs_unlink(nd.path.dentry->d_inode, dentry);
@@ -26783,7 +29227,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
exit3:
mnt_drop_write(nd.path.mnt);
exit2:
-@@ -2413,6 +2521,11 @@ SYSCALL_DEFINE3(symlinkat, const char __
+@@ -2413,6 +2530,11 @@ SYSCALL_DEFINE3(symlinkat, const char __
if (IS_ERR(dentry))
goto out_unlock;
@@ -26795,7 +29239,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
error = mnt_want_write(nd.path.mnt);
if (error)
goto out_dput;
-@@ -2420,6 +2533,8 @@ SYSCALL_DEFINE3(symlinkat, const char __
+@@ -2420,6 +2542,8 @@ SYSCALL_DEFINE3(symlinkat, const char __
if (error)
goto out_drop_write;
error = vfs_symlink(nd.path.dentry->d_inode, dentry, from);
@@ -26804,7 +29248,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
out_drop_write:
mnt_drop_write(nd.path.mnt);
out_dput:
-@@ -2513,6 +2628,20 @@ SYSCALL_DEFINE5(linkat, int, olddfd, con
+@@ -2513,6 +2637,20 @@ SYSCALL_DEFINE5(linkat, int, olddfd, con
error = PTR_ERR(new_dentry);
if (IS_ERR(new_dentry))
goto out_unlock;
@@ -26825,7 +29269,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
error = mnt_want_write(nd.path.mnt);
if (error)
goto out_dput;
-@@ -2520,6 +2649,8 @@ SYSCALL_DEFINE5(linkat, int, olddfd, con
+@@ -2520,6 +2658,8 @@ SYSCALL_DEFINE5(linkat, int, olddfd, con
if (error)
goto out_drop_write;
error = vfs_link(old_path.dentry, nd.path.dentry->d_inode, new_dentry);
@@ -26834,7 +29278,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
out_drop_write:
mnt_drop_write(nd.path.mnt);
out_dput:
-@@ -2753,6 +2884,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, c
+@@ -2753,6 +2893,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, c
if (new_dentry == trap)
goto exit5;
@@ -26847,7 +29291,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
error = mnt_want_write(oldnd.path.mnt);
if (error)
goto exit5;
-@@ -2762,6 +2899,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, c
+@@ -2762,6 +2908,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, c
goto exit6;
error = vfs_rename(old_dir->d_inode, old_dentry,
new_dir->d_inode, new_dentry);
@@ -26859,7 +29303,7 @@ diff -urNp linux-2.6.31.6/fs/namei.c linux-2.6.31.6/fs/namei.c
exit5:
diff -urNp linux-2.6.31.6/fs/namespace.c linux-2.6.31.6/fs/namespace.c
--- linux-2.6.31.6/fs/namespace.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/namespace.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/namespace.c 2009-11-12 17:23:18.000000000 -0500
@@ -1083,6 +1083,9 @@ static int do_umount(struct vfsmount *mn
if (!(sb->s_flags & MS_RDONLY))
retval = do_remount_sb(sb, MS_RDONLY, NULL, 0);
@@ -26880,10 +29324,15 @@ diff -urNp linux-2.6.31.6/fs/namespace.c linux-2.6.31.6/fs/namespace.c
return retval;
}
-@@ -1940,6 +1946,11 @@ long do_mount(char *dev_name, char *dir_
+@@ -1940,6 +1946,16 @@ long do_mount(char *dev_name, char *dir_
if (retval)
goto dput_out;
++ if (gr_handle_rofs_mount(path.dentry, path.mnt, mnt_flags)) {
++ retval = -EPERM;
++ goto dput_out;
++ }
++
+ if (gr_handle_chroot_mount(path.dentry, path.mnt, dev_name)) {
+ retval = -EPERM;
+ goto dput_out;
@@ -26892,7 +29341,7 @@ diff -urNp linux-2.6.31.6/fs/namespace.c linux-2.6.31.6/fs/namespace.c
if (flags & MS_REMOUNT)
retval = do_remount(&path, flags & ~MS_REMOUNT, mnt_flags,
data_page);
-@@ -1954,6 +1965,9 @@ long do_mount(char *dev_name, char *dir_
+@@ -1954,6 +1970,9 @@ long do_mount(char *dev_name, char *dir_
dev_name, data_page);
dput_out:
path_put(&path);
@@ -26902,7 +29351,7 @@ diff -urNp linux-2.6.31.6/fs/namespace.c linux-2.6.31.6/fs/namespace.c
return retval;
}
-@@ -2158,6 +2172,12 @@ SYSCALL_DEFINE2(pivot_root, const char _
+@@ -2158,6 +2177,12 @@ SYSCALL_DEFINE2(pivot_root, const char _
goto out1;
}
@@ -26917,7 +29366,7 @@ diff -urNp linux-2.6.31.6/fs/namespace.c linux-2.6.31.6/fs/namespace.c
path_get(&current->fs->root);
diff -urNp linux-2.6.31.6/fs/nfs/client.c linux-2.6.31.6/fs/nfs/client.c
--- linux-2.6.31.6/fs/nfs/client.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/fs/nfs/client.c 2009-11-10 18:53:43.000000000 -0500
++++ linux-2.6.31.6/fs/nfs/client.c 2009-11-12 17:18:17.000000000 -0500
@@ -1533,7 +1533,7 @@ static void *nfs_server_list_next(struct
static void nfs_server_list_stop(struct seq_file *p, void *v);
static int nfs_server_list_show(struct seq_file *m, void *v);
@@ -26938,7 +29387,7 @@ diff -urNp linux-2.6.31.6/fs/nfs/client.c linux-2.6.31.6/fs/nfs/client.c
.stop = nfs_volume_list_stop,
diff -urNp linux-2.6.31.6/fs/nfs/file.c linux-2.6.31.6/fs/nfs/file.c
--- linux-2.6.31.6/fs/nfs/file.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/nfs/file.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nfs/file.c 2009-11-12 17:18:17.000000000 -0500
@@ -59,7 +59,7 @@ static int nfs_lock(struct file *filp, i
static int nfs_flock(struct file *filp, int cmd, struct file_lock *fl);
static int nfs_setlease(struct file *file, long arg, struct file_lock **fl);
@@ -26959,7 +29408,7 @@ diff -urNp linux-2.6.31.6/fs/nfs/file.c linux-2.6.31.6/fs/nfs/file.c
};
diff -urNp linux-2.6.31.6/fs/nfs/nfs4proc.c linux-2.6.31.6/fs/nfs/nfs4proc.c
--- linux-2.6.31.6/fs/nfs/nfs4proc.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/fs/nfs/nfs4proc.c 2009-11-10 18:53:43.000000000 -0500
++++ linux-2.6.31.6/fs/nfs/nfs4proc.c 2009-11-12 17:18:17.000000000 -0500
@@ -1128,7 +1128,7 @@ static int _nfs4_do_open_reclaim(struct
static int nfs4_do_open_reclaim(struct nfs_open_context *ctx, struct nfs4_state *state)
{
@@ -27230,9 +29679,21 @@ diff -urNp linux-2.6.31.6/fs/nfs/nfs4proc.c linux-2.6.31.6/fs/nfs/nfs4proc.c
int err;
err = nfs4_set_lock_state(state, fl);
+diff -urNp linux-2.6.31.6/fs/nfs/nfs4state.c linux-2.6.31.6/fs/nfs/nfs4state.c
+--- linux-2.6.31.6/fs/nfs/nfs4state.c 2009-11-10 18:45:51.000000000 -0500
++++ linux-2.6.31.6/fs/nfs/nfs4state.c 2009-11-12 17:18:35.000000000 -0500
+@@ -638,7 +638,7 @@ static void nfs4_fl_release_lock(struct
+ nfs4_put_lock_state(fl->fl_u.nfs4_fl.owner);
+ }
+
+-static struct file_lock_operations nfs4_fl_lock_ops = {
++static const struct file_lock_operations nfs4_fl_lock_ops = {
+ .fl_copy_lock = nfs4_fl_copy_lock,
+ .fl_release_private = nfs4_fl_release_lock,
+ };
diff -urNp linux-2.6.31.6/fs/nfsd/export.c linux-2.6.31.6/fs/nfsd/export.c
--- linux-2.6.31.6/fs/nfsd/export.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/nfsd/export.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nfsd/export.c 2009-11-12 17:18:17.000000000 -0500
@@ -1505,7 +1505,7 @@ static int e_show(struct seq_file *m, vo
return svc_export_show(m, &svc_export_cache, cp);
}
@@ -27244,7 +29705,7 @@ diff -urNp linux-2.6.31.6/fs/nfsd/export.c linux-2.6.31.6/fs/nfsd/export.c
.stop = e_stop,
diff -urNp linux-2.6.31.6/fs/nfsd/lockd.c linux-2.6.31.6/fs/nfsd/lockd.c
--- linux-2.6.31.6/fs/nfsd/lockd.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/nfsd/lockd.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nfsd/lockd.c 2009-11-12 17:18:17.000000000 -0500
@@ -67,7 +67,7 @@ nlm_fclose(struct file *filp)
fput(filp);
}
@@ -27254,9 +29715,30 @@ diff -urNp linux-2.6.31.6/fs/nfsd/lockd.c linux-2.6.31.6/fs/nfsd/lockd.c
.fopen = nlm_fopen, /* open file for locking */
.fclose = nlm_fclose, /* close file */
};
+diff -urNp linux-2.6.31.6/fs/nfsd/nfs4state.c linux-2.6.31.6/fs/nfsd/nfs4state.c
+--- linux-2.6.31.6/fs/nfsd/nfs4state.c 2009-11-10 18:45:51.000000000 -0500
++++ linux-2.6.31.6/fs/nfsd/nfs4state.c 2009-11-12 17:18:35.000000000 -0500
+@@ -2163,7 +2163,7 @@ int nfsd_change_deleg_cb(struct file_loc
+ return -EAGAIN;
+ }
+
+-static struct lock_manager_operations nfsd_lease_mng_ops = {
++static const struct lock_manager_operations nfsd_lease_mng_ops = {
+ .fl_break = nfsd_break_deleg_cb,
+ .fl_release_private = nfsd_release_deleg_cb,
+ .fl_copy_lock = nfsd_copy_lock_deleg_cb,
+@@ -3368,7 +3368,7 @@ nfs4_transform_lock_offset(struct file_l
+
+ /* Hack!: For now, we're defining this just so we can use a pointer to it
+ * as a unique cookie to identify our (NFSv4's) posix locks. */
+-static struct lock_manager_operations nfsd_posix_mng_ops = {
++static const struct lock_manager_operations nfsd_posix_mng_ops = {
+ };
+
+ static inline void
diff -urNp linux-2.6.31.6/fs/nfsd/nfsctl.c linux-2.6.31.6/fs/nfsd/nfsctl.c
--- linux-2.6.31.6/fs/nfsd/nfsctl.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/nfsd/nfsctl.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nfsd/nfsctl.c 2009-11-12 17:18:17.000000000 -0500
@@ -174,7 +174,7 @@ static const struct file_operations expo
extern int nfsd_pool_stats_open(struct inode *inode, struct file *file);
@@ -27268,7 +29750,7 @@ diff -urNp linux-2.6.31.6/fs/nfsd/nfsctl.c linux-2.6.31.6/fs/nfsd/nfsctl.c
.llseek = seq_lseek,
diff -urNp linux-2.6.31.6/fs/nfsd/vfs.c linux-2.6.31.6/fs/nfsd/vfs.c
--- linux-2.6.31.6/fs/nfsd/vfs.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/nfsd/vfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nfsd/vfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -930,7 +930,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, st
} else {
oldfs = get_fs();
@@ -27298,7 +29780,7 @@ diff -urNp linux-2.6.31.6/fs/nfsd/vfs.c linux-2.6.31.6/fs/nfsd/vfs.c
if (host_err < 0)
diff -urNp linux-2.6.31.6/fs/nilfs2/btnode.c linux-2.6.31.6/fs/nilfs2/btnode.c
--- linux-2.6.31.6/fs/nilfs2/btnode.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/fs/nilfs2/btnode.c 2009-11-10 18:53:43.000000000 -0500
++++ linux-2.6.31.6/fs/nilfs2/btnode.c 2009-11-12 17:18:17.000000000 -0500
@@ -47,7 +47,7 @@ void nilfs_btnode_cache_init_once(struct
INIT_LIST_HEAD(&btnc->i_mmap_nonlinear);
}
@@ -27310,7 +29792,7 @@ diff -urNp linux-2.6.31.6/fs/nilfs2/btnode.c linux-2.6.31.6/fs/nilfs2/btnode.c
diff -urNp linux-2.6.31.6/fs/nilfs2/dir.c linux-2.6.31.6/fs/nilfs2/dir.c
--- linux-2.6.31.6/fs/nilfs2/dir.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/nilfs2/dir.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nilfs2/dir.c 2009-11-12 17:18:17.000000000 -0500
@@ -697,7 +697,7 @@ not_empty:
return 0;
}
@@ -27322,7 +29804,7 @@ diff -urNp linux-2.6.31.6/fs/nilfs2/dir.c linux-2.6.31.6/fs/nilfs2/dir.c
.readdir = nilfs_readdir,
diff -urNp linux-2.6.31.6/fs/nilfs2/file.c linux-2.6.31.6/fs/nilfs2/file.c
--- linux-2.6.31.6/fs/nilfs2/file.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/nilfs2/file.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nilfs2/file.c 2009-11-12 17:18:17.000000000 -0500
@@ -117,7 +117,7 @@ static int nilfs_page_mkwrite(struct vm_
return 0;
}
@@ -27352,7 +29834,7 @@ diff -urNp linux-2.6.31.6/fs/nilfs2/file.c linux-2.6.31.6/fs/nilfs2/file.c
.permission = nilfs_permission,
diff -urNp linux-2.6.31.6/fs/nilfs2/gcinode.c linux-2.6.31.6/fs/nilfs2/gcinode.c
--- linux-2.6.31.6/fs/nilfs2/gcinode.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/nilfs2/gcinode.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nilfs2/gcinode.c 2009-11-12 17:18:17.000000000 -0500
@@ -52,7 +52,7 @@
#include "dat.h"
#include "ifile.h"
@@ -27364,7 +29846,7 @@ diff -urNp linux-2.6.31.6/fs/nilfs2/gcinode.c linux-2.6.31.6/fs/nilfs2/gcinode.c
diff -urNp linux-2.6.31.6/fs/nilfs2/inode.c linux-2.6.31.6/fs/nilfs2/inode.c
--- linux-2.6.31.6/fs/nilfs2/inode.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/nilfs2/inode.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nilfs2/inode.c 2009-11-12 17:18:17.000000000 -0500
@@ -238,7 +238,7 @@ nilfs_direct_IO(int rw, struct kiocb *io
return size;
}
@@ -27376,7 +29858,7 @@ diff -urNp linux-2.6.31.6/fs/nilfs2/inode.c linux-2.6.31.6/fs/nilfs2/inode.c
.sync_page = block_sync_page,
diff -urNp linux-2.6.31.6/fs/nilfs2/mdt.c linux-2.6.31.6/fs/nilfs2/mdt.c
--- linux-2.6.31.6/fs/nilfs2/mdt.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/nilfs2/mdt.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nilfs2/mdt.c 2009-11-12 17:18:17.000000000 -0500
@@ -430,7 +430,7 @@ nilfs_mdt_write_page(struct page *page,
}
@@ -27388,7 +29870,7 @@ diff -urNp linux-2.6.31.6/fs/nilfs2/mdt.c linux-2.6.31.6/fs/nilfs2/mdt.c
};
diff -urNp linux-2.6.31.6/fs/nilfs2/namei.c linux-2.6.31.6/fs/nilfs2/namei.c
--- linux-2.6.31.6/fs/nilfs2/namei.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/nilfs2/namei.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nilfs2/namei.c 2009-11-12 17:18:17.000000000 -0500
@@ -448,7 +448,7 @@ out:
return err;
}
@@ -27415,7 +29897,7 @@ diff -urNp linux-2.6.31.6/fs/nilfs2/namei.c linux-2.6.31.6/fs/nilfs2/namei.c
.put_link = page_put_link,
diff -urNp linux-2.6.31.6/fs/nilfs2/nilfs.h linux-2.6.31.6/fs/nilfs2/nilfs.h
--- linux-2.6.31.6/fs/nilfs2/nilfs.h 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/nilfs2/nilfs.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nilfs2/nilfs.h 2009-11-12 17:18:17.000000000 -0500
@@ -294,13 +294,13 @@ void nilfs_clear_gcdat_inode(struct the_
/*
* Inodes and files operations
@@ -27439,7 +29921,7 @@ diff -urNp linux-2.6.31.6/fs/nilfs2/nilfs.h linux-2.6.31.6/fs/nilfs2/nilfs.h
* filesystem type
diff -urNp linux-2.6.31.6/fs/nilfs2/super.c linux-2.6.31.6/fs/nilfs2/super.c
--- linux-2.6.31.6/fs/nilfs2/super.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/nilfs2/super.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nilfs2/super.c 2009-11-12 17:18:17.000000000 -0500
@@ -529,7 +529,7 @@ static int nilfs_statfs(struct dentry *d
return 0;
}
@@ -27451,7 +29933,7 @@ diff -urNp linux-2.6.31.6/fs/nilfs2/super.c linux-2.6.31.6/fs/nilfs2/super.c
.dirty_inode = nilfs_dirty_inode,
diff -urNp linux-2.6.31.6/fs/nls/nls_base.c linux-2.6.31.6/fs/nls/nls_base.c
--- linux-2.6.31.6/fs/nls/nls_base.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/nls/nls_base.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/nls/nls_base.c 2009-11-12 17:18:17.000000000 -0500
@@ -41,7 +41,7 @@ static const struct utf8_table utf8_tabl
{0xF8, 0xF0, 3*6, 0x1FFFFF, 0x10000, /* 4 byte sequence */},
{0xFC, 0xF8, 4*6, 0x3FFFFFF, 0x200000, /* 5 byte sequence */},
@@ -27463,7 +29945,7 @@ diff -urNp linux-2.6.31.6/fs/nls/nls_base.c linux-2.6.31.6/fs/nls/nls_base.c
#define UNICODE_MAX 0x0010ffff
diff -urNp linux-2.6.31.6/fs/ntfs/file.c linux-2.6.31.6/fs/ntfs/file.c
--- linux-2.6.31.6/fs/ntfs/file.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ntfs/file.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ntfs/file.c 2009-11-12 17:18:17.000000000 -0500
@@ -2291,6 +2291,6 @@ const struct inode_operations ntfs_file_
#endif /* NTFS_RW */
};
@@ -27475,7 +29957,7 @@ diff -urNp linux-2.6.31.6/fs/ntfs/file.c linux-2.6.31.6/fs/ntfs/file.c
+const struct inode_operations ntfs_empty_inode_ops __read_only;
diff -urNp linux-2.6.31.6/fs/ocfs2/cluster/heartbeat.c linux-2.6.31.6/fs/ocfs2/cluster/heartbeat.c
--- linux-2.6.31.6/fs/ocfs2/cluster/heartbeat.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ocfs2/cluster/heartbeat.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ocfs2/cluster/heartbeat.c 2009-11-12 17:18:17.000000000 -0500
@@ -966,7 +966,7 @@ static ssize_t o2hb_debug_read(struct fi
}
#endif /* CONFIG_DEBUG_FS */
@@ -27487,7 +29969,7 @@ diff -urNp linux-2.6.31.6/fs/ocfs2/cluster/heartbeat.c linux-2.6.31.6/fs/ocfs2/c
.read = o2hb_debug_read,
diff -urNp linux-2.6.31.6/fs/ocfs2/cluster/masklog.c linux-2.6.31.6/fs/ocfs2/cluster/masklog.c
--- linux-2.6.31.6/fs/ocfs2/cluster/masklog.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ocfs2/cluster/masklog.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ocfs2/cluster/masklog.c 2009-11-12 17:18:17.000000000 -0500
@@ -134,7 +134,7 @@ static ssize_t mlog_store(struct kobject
return mlog_mask_store(mlog_attr->mask, buf, count);
}
@@ -27499,7 +29981,7 @@ diff -urNp linux-2.6.31.6/fs/ocfs2/cluster/masklog.c linux-2.6.31.6/fs/ocfs2/clu
};
diff -urNp linux-2.6.31.6/fs/ocfs2/cluster/netdebug.c linux-2.6.31.6/fs/ocfs2/cluster/netdebug.c
--- linux-2.6.31.6/fs/ocfs2/cluster/netdebug.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ocfs2/cluster/netdebug.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ocfs2/cluster/netdebug.c 2009-11-12 17:18:17.000000000 -0500
@@ -163,7 +163,7 @@ static void nst_seq_stop(struct seq_file
{
}
@@ -27538,7 +30020,7 @@ diff -urNp linux-2.6.31.6/fs/ocfs2/cluster/netdebug.c linux-2.6.31.6/fs/ocfs2/cl
.llseek = seq_lseek,
diff -urNp linux-2.6.31.6/fs/ocfs2/dlm/dlmdebug.c linux-2.6.31.6/fs/ocfs2/dlm/dlmdebug.c
--- linux-2.6.31.6/fs/ocfs2/dlm/dlmdebug.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ocfs2/dlm/dlmdebug.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ocfs2/dlm/dlmdebug.c 2009-11-12 17:18:17.000000000 -0500
@@ -479,7 +479,7 @@ bail:
return -ENOMEM;
}
@@ -27586,7 +30068,7 @@ diff -urNp linux-2.6.31.6/fs/ocfs2/dlm/dlmdebug.c linux-2.6.31.6/fs/ocfs2/dlm/dl
.read = debug_buffer_read,
diff -urNp linux-2.6.31.6/fs/ocfs2/localalloc.c linux-2.6.31.6/fs/ocfs2/localalloc.c
--- linux-2.6.31.6/fs/ocfs2/localalloc.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ocfs2/localalloc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ocfs2/localalloc.c 2009-11-12 17:18:17.000000000 -0500
@@ -1186,7 +1186,7 @@ static int ocfs2_local_alloc_slide_windo
goto bail;
}
@@ -27598,7 +30080,7 @@ diff -urNp linux-2.6.31.6/fs/ocfs2/localalloc.c linux-2.6.31.6/fs/ocfs2/localall
bail:
diff -urNp linux-2.6.31.6/fs/ocfs2/mmap.c linux-2.6.31.6/fs/ocfs2/mmap.c
--- linux-2.6.31.6/fs/ocfs2/mmap.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ocfs2/mmap.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ocfs2/mmap.c 2009-11-12 17:18:17.000000000 -0500
@@ -202,7 +202,7 @@ out:
return ret;
}
@@ -27610,7 +30092,7 @@ diff -urNp linux-2.6.31.6/fs/ocfs2/mmap.c linux-2.6.31.6/fs/ocfs2/mmap.c
};
diff -urNp linux-2.6.31.6/fs/ocfs2/ocfs2.h linux-2.6.31.6/fs/ocfs2/ocfs2.h
--- linux-2.6.31.6/fs/ocfs2/ocfs2.h 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ocfs2/ocfs2.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ocfs2/ocfs2.h 2009-11-12 17:18:17.000000000 -0500
@@ -191,11 +191,11 @@ enum ocfs2_vol_state
struct ocfs2_alloc_stats
@@ -27630,7 +30112,7 @@ diff -urNp linux-2.6.31.6/fs/ocfs2/ocfs2.h linux-2.6.31.6/fs/ocfs2/ocfs2.h
enum ocfs2_local_alloc_state
diff -urNp linux-2.6.31.6/fs/ocfs2/suballoc.c linux-2.6.31.6/fs/ocfs2/suballoc.c
--- linux-2.6.31.6/fs/ocfs2/suballoc.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ocfs2/suballoc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ocfs2/suballoc.c 2009-11-12 17:18:17.000000000 -0500
@@ -620,7 +620,7 @@ static int ocfs2_reserve_suballoc_bits(s
mlog_errno(status);
goto bail;
@@ -27678,7 +30160,7 @@ diff -urNp linux-2.6.31.6/fs/ocfs2/suballoc.c linux-2.6.31.6/fs/ocfs2/suballoc.c
if (status < 0) {
diff -urNp linux-2.6.31.6/fs/ocfs2/super.c linux-2.6.31.6/fs/ocfs2/super.c
--- linux-2.6.31.6/fs/ocfs2/super.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/ocfs2/super.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ocfs2/super.c 2009-11-12 17:18:17.000000000 -0500
@@ -284,11 +284,11 @@ static int ocfs2_osb_dump(struct ocfs2_s
"%10s => GlobalAllocs: %d LocalAllocs: %d "
"SubAllocs: %d LAWinMoves: %d SAExtends: %d\n",
@@ -27724,7 +30206,7 @@ diff -urNp linux-2.6.31.6/fs/ocfs2/super.c linux-2.6.31.6/fs/ocfs2/super.c
osb->osb_ecc_stats = *stats;
diff -urNp linux-2.6.31.6/fs/omfs/dir.c linux-2.6.31.6/fs/omfs/dir.c
--- linux-2.6.31.6/fs/omfs/dir.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/omfs/dir.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/omfs/dir.c 2009-11-12 17:18:17.000000000 -0500
@@ -489,7 +489,7 @@ out:
return ret;
}
@@ -27745,7 +30227,7 @@ diff -urNp linux-2.6.31.6/fs/omfs/dir.c linux-2.6.31.6/fs/omfs/dir.c
.llseek = generic_file_llseek,
diff -urNp linux-2.6.31.6/fs/omfs/file.c linux-2.6.31.6/fs/omfs/file.c
--- linux-2.6.31.6/fs/omfs/file.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/omfs/file.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/omfs/file.c 2009-11-12 17:18:17.000000000 -0500
@@ -322,7 +322,7 @@ static sector_t omfs_bmap(struct address
return generic_block_bmap(mapping, block, omfs_get_block);
}
@@ -27771,7 +30253,7 @@ diff -urNp linux-2.6.31.6/fs/omfs/file.c linux-2.6.31.6/fs/omfs/file.c
.writepage = omfs_writepage,
diff -urNp linux-2.6.31.6/fs/omfs/inode.c linux-2.6.31.6/fs/omfs/inode.c
--- linux-2.6.31.6/fs/omfs/inode.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/omfs/inode.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/omfs/inode.c 2009-11-12 17:18:17.000000000 -0500
@@ -278,7 +278,7 @@ static int omfs_statfs(struct dentry *de
return 0;
}
@@ -27783,7 +30265,7 @@ diff -urNp linux-2.6.31.6/fs/omfs/inode.c linux-2.6.31.6/fs/omfs/inode.c
.put_super = omfs_put_super,
diff -urNp linux-2.6.31.6/fs/omfs/omfs.h linux-2.6.31.6/fs/omfs/omfs.h
--- linux-2.6.31.6/fs/omfs/omfs.h 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/omfs/omfs.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/omfs/omfs.h 2009-11-12 17:18:17.000000000 -0500
@@ -44,16 +44,16 @@ extern int omfs_allocate_range(struct su
extern int omfs_clear_range(struct super_block *sb, u64 block, int count);
@@ -27808,7 +30290,7 @@ diff -urNp linux-2.6.31.6/fs/omfs/omfs.h linux-2.6.31.6/fs/omfs/omfs.h
diff -urNp linux-2.6.31.6/fs/open.c linux-2.6.31.6/fs/open.c
--- linux-2.6.31.6/fs/open.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/open.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/open.c 2009-11-12 17:18:17.000000000 -0500
@@ -206,6 +206,9 @@ int do_truncate(struct dentry *dentry, l
if (length < 0)
return -EINVAL;
@@ -27984,7 +30466,7 @@ diff -urNp linux-2.6.31.6/fs/open.c linux-2.6.31.6/fs/open.c
fput(file);
diff -urNp linux-2.6.31.6/fs/pipe.c linux-2.6.31.6/fs/pipe.c
--- linux-2.6.31.6/fs/pipe.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/fs/pipe.c 2009-11-10 18:53:43.000000000 -0500
++++ linux-2.6.31.6/fs/pipe.c 2009-11-12 17:18:17.000000000 -0500
@@ -401,9 +401,9 @@ redo:
}
if (bufs) /* More to do? */
@@ -28110,7 +30592,7 @@ diff -urNp linux-2.6.31.6/fs/pipe.c linux-2.6.31.6/fs/pipe.c
/*
diff -urNp linux-2.6.31.6/fs/proc/array.c linux-2.6.31.6/fs/proc/array.c
--- linux-2.6.31.6/fs/proc/array.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/array.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/array.c 2009-11-12 17:18:17.000000000 -0500
@@ -321,6 +321,21 @@ static inline void task_context_switch_c
p->nivcsw);
}
@@ -28203,7 +30685,7 @@ diff -urNp linux-2.6.31.6/fs/proc/array.c linux-2.6.31.6/fs/proc/array.c
+#endif
diff -urNp linux-2.6.31.6/fs/proc/base.c linux-2.6.31.6/fs/proc/base.c
--- linux-2.6.31.6/fs/proc/base.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/base.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/base.c 2009-11-12 17:18:17.000000000 -0500
@@ -213,6 +213,9 @@ static int check_mem_permission(struct t
if (task == current)
return 0;
@@ -28530,7 +31012,7 @@ diff -urNp linux-2.6.31.6/fs/proc/base.c linux-2.6.31.6/fs/proc/base.c
#ifdef CONFIG_SCHEDSTATS
diff -urNp linux-2.6.31.6/fs/proc/cmdline.c linux-2.6.31.6/fs/proc/cmdline.c
--- linux-2.6.31.6/fs/proc/cmdline.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/cmdline.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/cmdline.c 2009-11-12 17:18:17.000000000 -0500
@@ -23,7 +23,11 @@ static const struct file_operations cmdl
static int __init proc_cmdline_init(void)
@@ -28545,7 +31027,7 @@ diff -urNp linux-2.6.31.6/fs/proc/cmdline.c linux-2.6.31.6/fs/proc/cmdline.c
module_init(proc_cmdline_init);
diff -urNp linux-2.6.31.6/fs/proc/devices.c linux-2.6.31.6/fs/proc/devices.c
--- linux-2.6.31.6/fs/proc/devices.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/devices.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/devices.c 2009-11-12 17:18:17.000000000 -0500
@@ -64,7 +64,11 @@ static const struct file_operations proc
static int __init proc_devices_init(void)
@@ -28560,7 +31042,7 @@ diff -urNp linux-2.6.31.6/fs/proc/devices.c linux-2.6.31.6/fs/proc/devices.c
module_init(proc_devices_init);
diff -urNp linux-2.6.31.6/fs/proc/inode.c linux-2.6.31.6/fs/proc/inode.c
--- linux-2.6.31.6/fs/proc/inode.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/inode.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/inode.c 2009-11-12 17:18:17.000000000 -0500
@@ -457,7 +457,11 @@ struct inode *proc_get_inode(struct supe
if (de->mode) {
inode->i_mode = de->mode;
@@ -28575,7 +31057,7 @@ diff -urNp linux-2.6.31.6/fs/proc/inode.c linux-2.6.31.6/fs/proc/inode.c
inode->i_size = de->size;
diff -urNp linux-2.6.31.6/fs/proc/internal.h linux-2.6.31.6/fs/proc/internal.h
--- linux-2.6.31.6/fs/proc/internal.h 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/internal.h 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/internal.h 2009-11-12 17:18:17.000000000 -0500
@@ -51,6 +51,9 @@ extern int proc_pid_status(struct seq_fi
struct pid *pid, struct task_struct *task);
extern int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns,
@@ -28588,7 +31070,7 @@ diff -urNp linux-2.6.31.6/fs/proc/internal.h linux-2.6.31.6/fs/proc/internal.h
extern const struct file_operations proc_maps_operations;
diff -urNp linux-2.6.31.6/fs/proc/Kconfig linux-2.6.31.6/fs/proc/Kconfig
--- linux-2.6.31.6/fs/proc/Kconfig 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/Kconfig 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/Kconfig 2009-11-12 17:18:17.000000000 -0500
@@ -30,12 +30,12 @@ config PROC_FS
config PROC_KCORE
@@ -28618,7 +31100,7 @@ diff -urNp linux-2.6.31.6/fs/proc/Kconfig linux-2.6.31.6/fs/proc/Kconfig
Various /proc files exist to monitor process memory utilization:
diff -urNp linux-2.6.31.6/fs/proc/kcore.c linux-2.6.31.6/fs/proc/kcore.c
--- linux-2.6.31.6/fs/proc/kcore.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/kcore.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/kcore.c 2009-11-12 17:18:17.000000000 -0500
@@ -314,16 +314,16 @@ read_kcore(struct file *file, char __use
tsz = buflen;
@@ -28664,7 +31146,7 @@ diff -urNp linux-2.6.31.6/fs/proc/kcore.c linux-2.6.31.6/fs/proc/kcore.c
module_init(proc_kcore_init);
diff -urNp linux-2.6.31.6/fs/proc/nommu.c linux-2.6.31.6/fs/proc/nommu.c
--- linux-2.6.31.6/fs/proc/nommu.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/nommu.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/nommu.c 2009-11-12 17:18:17.000000000 -0500
@@ -67,7 +67,7 @@ static int nommu_region_show(struct seq_
if (len < 1)
len = 1;
@@ -28685,7 +31167,7 @@ diff -urNp linux-2.6.31.6/fs/proc/nommu.c linux-2.6.31.6/fs/proc/nommu.c
.stop = nommu_region_list_stop,
diff -urNp linux-2.6.31.6/fs/proc/proc_net.c linux-2.6.31.6/fs/proc/proc_net.c
--- linux-2.6.31.6/fs/proc/proc_net.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/proc_net.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/proc_net.c 2009-11-12 17:18:17.000000000 -0500
@@ -104,6 +104,17 @@ static struct net *get_proc_task_net(str
struct task_struct *task;
struct nsproxy *ns;
@@ -28706,7 +31188,7 @@ diff -urNp linux-2.6.31.6/fs/proc/proc_net.c linux-2.6.31.6/fs/proc/proc_net.c
task = pid_task(proc_pid(dir), PIDTYPE_PID);
diff -urNp linux-2.6.31.6/fs/proc/proc_sysctl.c linux-2.6.31.6/fs/proc/proc_sysctl.c
--- linux-2.6.31.6/fs/proc/proc_sysctl.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/proc_sysctl.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/proc_sysctl.c 2009-11-12 17:18:17.000000000 -0500
@@ -7,6 +7,8 @@
#include <linux/security.h>
#include "internal.h"
@@ -28748,7 +31230,7 @@ diff -urNp linux-2.6.31.6/fs/proc/proc_sysctl.c linux-2.6.31.6/fs/proc/proc_sysc
stat->mode = (stat->mode & S_IFMT) | table->mode;
diff -urNp linux-2.6.31.6/fs/proc/root.c linux-2.6.31.6/fs/proc/root.c
--- linux-2.6.31.6/fs/proc/root.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/root.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/root.c 2009-11-12 17:18:17.000000000 -0500
@@ -134,7 +134,15 @@ void __init proc_root_init(void)
#ifdef CONFIG_PROC_DEVICETREE
proc_device_tree_init();
@@ -28767,7 +31249,7 @@ diff -urNp linux-2.6.31.6/fs/proc/root.c linux-2.6.31.6/fs/proc/root.c
diff -urNp linux-2.6.31.6/fs/proc/task_mmu.c linux-2.6.31.6/fs/proc/task_mmu.c
--- linux-2.6.31.6/fs/proc/task_mmu.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/task_mmu.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/task_mmu.c 2009-11-12 17:18:17.000000000 -0500
@@ -46,15 +46,26 @@ void task_mem(struct seq_file *m, struct
"VmStk:\t%8lu kB\n"
"VmExe:\t%8lu kB\n"
@@ -28890,7 +31372,7 @@ diff -urNp linux-2.6.31.6/fs/proc/task_mmu.c linux-2.6.31.6/fs/proc/task_mmu.c
mss.shared_clean >> 10,
diff -urNp linux-2.6.31.6/fs/proc/task_nommu.c linux-2.6.31.6/fs/proc/task_nommu.c
--- linux-2.6.31.6/fs/proc/task_nommu.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/proc/task_nommu.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/proc/task_nommu.c 2009-11-12 17:18:17.000000000 -0500
@@ -50,7 +50,7 @@ void task_mem(struct seq_file *m, struct
else
bytes += kobjsize(mm);
@@ -28911,7 +31393,7 @@ diff -urNp linux-2.6.31.6/fs/proc/task_nommu.c linux-2.6.31.6/fs/proc/task_nommu
seq_putc(m, '\n');
diff -urNp linux-2.6.31.6/fs/readdir.c linux-2.6.31.6/fs/readdir.c
--- linux-2.6.31.6/fs/readdir.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/readdir.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/readdir.c 2009-11-12 17:18:17.000000000 -0500
@@ -16,6 +16,7 @@
#include <linux/security.h>
#include <linux/syscalls.h>
@@ -29003,7 +31485,7 @@ diff -urNp linux-2.6.31.6/fs/readdir.c linux-2.6.31.6/fs/readdir.c
diff -urNp linux-2.6.31.6/fs/reiserfs/do_balan.c linux-2.6.31.6/fs/reiserfs/do_balan.c
--- linux-2.6.31.6/fs/reiserfs/do_balan.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/reiserfs/do_balan.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/reiserfs/do_balan.c 2009-11-12 17:18:17.000000000 -0500
@@ -2058,7 +2058,7 @@ void do_balance(struct tree_balance *tb,
return;
}
@@ -29013,9 +31495,66 @@ diff -urNp linux-2.6.31.6/fs/reiserfs/do_balan.c linux-2.6.31.6/fs/reiserfs/do_b
do_balance_starts(tb);
/* balance leaf returns 0 except if combining L R and S into
+diff -urNp linux-2.6.31.6/fs/reiserfs/item_ops.c linux-2.6.31.6/fs/reiserfs/item_ops.c
+--- linux-2.6.31.6/fs/reiserfs/item_ops.c 2009-11-10 18:45:51.000000000 -0500
++++ linux-2.6.31.6/fs/reiserfs/item_ops.c 2009-11-12 17:18:35.000000000 -0500
+@@ -102,7 +102,7 @@ static void sd_print_vi(struct virtual_i
+ vi->vi_index, vi->vi_type, vi->vi_ih);
+ }
+
+-static struct item_operations stat_data_ops = {
++static const struct item_operations stat_data_ops = {
+ .bytes_number = sd_bytes_number,
+ .decrement_key = sd_decrement_key,
+ .is_left_mergeable = sd_is_left_mergeable,
+@@ -196,7 +196,7 @@ static void direct_print_vi(struct virtu
+ vi->vi_index, vi->vi_type, vi->vi_ih);
+ }
+
+-static struct item_operations direct_ops = {
++static const struct item_operations direct_ops = {
+ .bytes_number = direct_bytes_number,
+ .decrement_key = direct_decrement_key,
+ .is_left_mergeable = direct_is_left_mergeable,
+@@ -341,7 +341,7 @@ static void indirect_print_vi(struct vir
+ vi->vi_index, vi->vi_type, vi->vi_ih);
+ }
+
+-static struct item_operations indirect_ops = {
++static const struct item_operations indirect_ops = {
+ .bytes_number = indirect_bytes_number,
+ .decrement_key = indirect_decrement_key,
+ .is_left_mergeable = indirect_is_left_mergeable,
+@@ -628,7 +628,7 @@ static void direntry_print_vi(struct vir
+ printk("\n");
+ }
+
+-static struct item_operations direntry_ops = {
++static const struct item_operations direntry_ops = {
+ .bytes_number = direntry_bytes_number,
+ .decrement_key = direntry_decrement_key,
+ .is_left_mergeable = direntry_is_left_mergeable,
+@@ -724,7 +724,7 @@ static void errcatch_print_vi(struct vir
+ "Invalid item type observed, run fsck ASAP");
+ }
+
+-static struct item_operations errcatch_ops = {
++static const struct item_operations errcatch_ops = {
+ errcatch_bytes_number,
+ errcatch_decrement_key,
+ errcatch_is_left_mergeable,
+@@ -746,7 +746,7 @@ static struct item_operations errcatch_o
+ #error Item types must use disk-format assigned values.
+ #endif
+
+-struct item_operations *item_ops[TYPE_ANY + 1] = {
++const struct item_operations *item_ops[TYPE_ANY + 1] = {
+ &stat_data_ops,
+ &indirect_ops,
+ &direct_ops,
diff -urNp linux-2.6.31.6/fs/reiserfs/procfs.c linux-2.6.31.6/fs/reiserfs/procfs.c
--- linux-2.6.31.6/fs/reiserfs/procfs.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/reiserfs/procfs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/reiserfs/procfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -123,7 +123,7 @@ static int show_super(struct seq_file *m
"SMALL_TAILS " : "NO_TAILS ",
replay_only(sb) ? "REPLAY_ONLY " : "",
@@ -29027,7 +31566,7 @@ diff -urNp linux-2.6.31.6/fs/reiserfs/procfs.c linux-2.6.31.6/fs/reiserfs/procfs
SF(s_good_search_by_key_reada), SF(s_bmaps),
diff -urNp linux-2.6.31.6/fs/romfs/super.c linux-2.6.31.6/fs/romfs/super.c
--- linux-2.6.31.6/fs/romfs/super.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/romfs/super.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/romfs/super.c 2009-11-12 17:18:17.000000000 -0500
@@ -284,7 +284,7 @@ static const struct file_operations romf
.readdir = romfs_readdir,
};
@@ -29039,7 +31578,7 @@ diff -urNp linux-2.6.31.6/fs/romfs/super.c linux-2.6.31.6/fs/romfs/super.c
diff -urNp linux-2.6.31.6/fs/select.c linux-2.6.31.6/fs/select.c
--- linux-2.6.31.6/fs/select.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/select.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/select.c 2009-11-12 17:18:17.000000000 -0500
@@ -19,6 +19,7 @@
#include <linux/module.h>
#include <linux/slab.h>
@@ -29058,7 +31597,7 @@ diff -urNp linux-2.6.31.6/fs/select.c linux-2.6.31.6/fs/select.c
diff -urNp linux-2.6.31.6/fs/seq_file.c linux-2.6.31.6/fs/seq_file.c
--- linux-2.6.31.6/fs/seq_file.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/seq_file.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/seq_file.c 2009-11-12 17:18:17.000000000 -0500
@@ -76,7 +76,8 @@ static int traverse(struct seq_file *m,
return 0;
}
@@ -29101,7 +31640,7 @@ diff -urNp linux-2.6.31.6/fs/seq_file.c linux-2.6.31.6/fs/seq_file.c
m->count = 0;
diff -urNp linux-2.6.31.6/fs/smbfs/symlink.c linux-2.6.31.6/fs/smbfs/symlink.c
--- linux-2.6.31.6/fs/smbfs/symlink.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/smbfs/symlink.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/smbfs/symlink.c 2009-11-12 17:18:17.000000000 -0500
@@ -55,7 +55,7 @@ static void *smb_follow_link(struct dent
static void smb_put_link(struct dentry *dentry, struct nameidata *nd, void *p)
@@ -29113,7 +31652,7 @@ diff -urNp linux-2.6.31.6/fs/smbfs/symlink.c linux-2.6.31.6/fs/smbfs/symlink.c
}
diff -urNp linux-2.6.31.6/fs/splice.c linux-2.6.31.6/fs/splice.c
--- linux-2.6.31.6/fs/splice.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/fs/splice.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/splice.c 2009-11-12 17:18:17.000000000 -0500
@@ -185,7 +185,7 @@ ssize_t splice_to_pipe(struct pipe_inode
pipe_lock(pipe);
@@ -29254,7 +31793,7 @@ diff -urNp linux-2.6.31.6/fs/splice.c linux-2.6.31.6/fs/splice.c
pipe_unlock(ipipe);
diff -urNp linux-2.6.31.6/fs/squashfs/super.c linux-2.6.31.6/fs/squashfs/super.c
--- linux-2.6.31.6/fs/squashfs/super.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/squashfs/super.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/squashfs/super.c 2009-11-12 17:18:17.000000000 -0500
@@ -44,7 +44,7 @@
#include "squashfs.h"
@@ -29275,7 +31814,7 @@ diff -urNp linux-2.6.31.6/fs/squashfs/super.c linux-2.6.31.6/fs/squashfs/super.c
.statfs = squashfs_statfs,
diff -urNp linux-2.6.31.6/fs/sysfs/bin.c linux-2.6.31.6/fs/sysfs/bin.c
--- linux-2.6.31.6/fs/sysfs/bin.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/sysfs/bin.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/sysfs/bin.c 2009-11-12 17:18:17.000000000 -0500
@@ -40,7 +40,7 @@ struct bin_buffer {
struct mutex mutex;
void *buffer;
@@ -29296,7 +31835,7 @@ diff -urNp linux-2.6.31.6/fs/sysfs/bin.c linux-2.6.31.6/fs/sysfs/bin.c
.fault = bin_fault,
diff -urNp linux-2.6.31.6/fs/sysfs/file.c linux-2.6.31.6/fs/sysfs/file.c
--- linux-2.6.31.6/fs/sysfs/file.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/sysfs/file.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/sysfs/file.c 2009-11-12 17:18:17.000000000 -0500
@@ -53,7 +53,7 @@ struct sysfs_buffer {
size_t count;
loff_t pos;
@@ -29335,7 +31874,7 @@ diff -urNp linux-2.6.31.6/fs/sysfs/file.c linux-2.6.31.6/fs/sysfs/file.c
diff -urNp linux-2.6.31.6/fs/sysfs/symlink.c linux-2.6.31.6/fs/sysfs/symlink.c
--- linux-2.6.31.6/fs/sysfs/symlink.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/sysfs/symlink.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/sysfs/symlink.c 2009-11-12 17:18:17.000000000 -0500
@@ -203,7 +203,7 @@ static void *sysfs_follow_link(struct de
static void sysfs_put_link(struct dentry *dentry, struct nameidata *nd, void *cookie)
@@ -29347,7 +31886,7 @@ diff -urNp linux-2.6.31.6/fs/sysfs/symlink.c linux-2.6.31.6/fs/sysfs/symlink.c
}
diff -urNp linux-2.6.31.6/fs/ubifs/file.c linux-2.6.31.6/fs/ubifs/file.c
--- linux-2.6.31.6/fs/ubifs/file.c 2009-11-10 18:45:50.000000000 -0500
-+++ linux-2.6.31.6/fs/ubifs/file.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/ubifs/file.c 2009-11-12 17:18:17.000000000 -0500
@@ -1536,7 +1536,7 @@ out_unlock:
return err;
}
@@ -29359,7 +31898,7 @@ diff -urNp linux-2.6.31.6/fs/ubifs/file.c linux-2.6.31.6/fs/ubifs/file.c
};
diff -urNp linux-2.6.31.6/fs/udf/balloc.c linux-2.6.31.6/fs/udf/balloc.c
--- linux-2.6.31.6/fs/udf/balloc.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/udf/balloc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/udf/balloc.c 2009-11-12 17:18:17.000000000 -0500
@@ -172,9 +172,7 @@ static void udf_bitmap_free_blocks(struc
mutex_lock(&sbi->s_alloc_mutex);
@@ -29384,7 +31923,7 @@ diff -urNp linux-2.6.31.6/fs/udf/balloc.c linux-2.6.31.6/fs/udf/balloc.c
partmap->s_partition_len);
diff -urNp linux-2.6.31.6/fs/utimes.c linux-2.6.31.6/fs/utimes.c
--- linux-2.6.31.6/fs/utimes.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/utimes.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/utimes.c 2009-11-12 17:18:17.000000000 -0500
@@ -1,6 +1,7 @@
#include <linux/compiler.h>
#include <linux/file.h>
@@ -29408,7 +31947,7 @@ diff -urNp linux-2.6.31.6/fs/utimes.c linux-2.6.31.6/fs/utimes.c
mutex_unlock(&inode->i_mutex);
diff -urNp linux-2.6.31.6/fs/xfs/linux-2.6/xfs_file.c linux-2.6.31.6/fs/xfs/linux-2.6/xfs_file.c
--- linux-2.6.31.6/fs/xfs/linux-2.6/xfs_file.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/xfs/linux-2.6/xfs_file.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/xfs/linux-2.6/xfs_file.c 2009-11-12 17:18:17.000000000 -0500
@@ -42,7 +42,7 @@
#include <linux/dcache.h>
@@ -29429,7 +31968,7 @@ diff -urNp linux-2.6.31.6/fs/xfs/linux-2.6/xfs_file.c linux-2.6.31.6/fs/xfs/linu
};
diff -urNp linux-2.6.31.6/fs/xfs/linux-2.6/xfs_iops.c linux-2.6.31.6/fs/xfs/linux-2.6/xfs_iops.c
--- linux-2.6.31.6/fs/xfs/linux-2.6/xfs_iops.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/xfs/linux-2.6/xfs_iops.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/xfs/linux-2.6/xfs_iops.c 2009-11-12 17:18:17.000000000 -0500
@@ -478,7 +478,7 @@ xfs_vn_put_link(
struct nameidata *nd,
void *p)
@@ -29441,7 +31980,7 @@ diff -urNp linux-2.6.31.6/fs/xfs/linux-2.6/xfs_iops.c linux-2.6.31.6/fs/xfs/linu
kfree(s);
diff -urNp linux-2.6.31.6/fs/xfs/linux-2.6/xfs_super.c linux-2.6.31.6/fs/xfs/linux-2.6/xfs_super.c
--- linux-2.6.31.6/fs/xfs/linux-2.6/xfs_super.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/xfs/linux-2.6/xfs_super.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/xfs/linux-2.6/xfs_super.c 2009-11-12 17:18:17.000000000 -0500
@@ -67,7 +67,7 @@
#include <linux/freezer.h>
#include <linux/parser.h>
@@ -29462,7 +32001,7 @@ diff -urNp linux-2.6.31.6/fs/xfs/linux-2.6/xfs_super.c linux-2.6.31.6/fs/xfs/lin
.write_inode = xfs_fs_write_inode,
diff -urNp linux-2.6.31.6/fs/xfs/xfs_bmap.c linux-2.6.31.6/fs/xfs/xfs_bmap.c
--- linux-2.6.31.6/fs/xfs/xfs_bmap.c 2009-11-10 18:45:51.000000000 -0500
-+++ linux-2.6.31.6/fs/xfs/xfs_bmap.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/fs/xfs/xfs_bmap.c 2009-11-12 17:18:17.000000000 -0500
@@ -360,7 +360,7 @@ xfs_bmap_validate_ret(
int nmap,
int ret_nmap);
@@ -29474,7 +32013,7 @@ diff -urNp linux-2.6.31.6/fs/xfs/xfs_bmap.c linux-2.6.31.6/fs/xfs/xfs_bmap.c
#if defined(XFS_RW_TRACE)
diff -urNp linux-2.6.31.6/grsecurity/gracl_alloc.c linux-2.6.31.6/grsecurity/gracl_alloc.c
--- linux-2.6.31.6/grsecurity/gracl_alloc.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/gracl_alloc.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/grsecurity/gracl_alloc.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,105 @@
+#include <linux/kernel.h>
+#include <linux/mm.h>
@@ -29583,7 +32122,7 @@ diff -urNp linux-2.6.31.6/grsecurity/gracl_alloc.c linux-2.6.31.6/grsecurity/gra
+}
diff -urNp linux-2.6.31.6/grsecurity/gracl.c linux-2.6.31.6/grsecurity/gracl.c
--- linux-2.6.31.6/grsecurity/gracl.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/gracl.c 2009-11-10 19:17:27.000000000 -0500
++++ linux-2.6.31.6/grsecurity/gracl.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,3912 @@
+#include <linux/kernel.h>
+#include <linux/module.h>
@@ -33499,7 +36038,7 @@ diff -urNp linux-2.6.31.6/grsecurity/gracl.c linux-2.6.31.6/grsecurity/gracl.c
+
diff -urNp linux-2.6.31.6/grsecurity/gracl_cap.c linux-2.6.31.6/grsecurity/gracl_cap.c
--- linux-2.6.31.6/grsecurity/gracl_cap.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/gracl_cap.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/grsecurity/gracl_cap.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,131 @@
+#include <linux/kernel.h>
+#include <linux/module.h>
@@ -33634,7 +36173,7 @@ diff -urNp linux-2.6.31.6/grsecurity/gracl_cap.c linux-2.6.31.6/grsecurity/gracl
+
diff -urNp linux-2.6.31.6/grsecurity/gracl_fs.c linux-2.6.31.6/grsecurity/gracl_fs.c
--- linux-2.6.31.6/grsecurity/gracl_fs.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/gracl_fs.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/grsecurity/gracl_fs.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,424 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
@@ -34062,7 +36601,7 @@ diff -urNp linux-2.6.31.6/grsecurity/gracl_fs.c linux-2.6.31.6/grsecurity/gracl_
+}
diff -urNp linux-2.6.31.6/grsecurity/gracl_ip.c linux-2.6.31.6/grsecurity/gracl_ip.c
--- linux-2.6.31.6/grsecurity/gracl_ip.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/gracl_ip.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/grsecurity/gracl_ip.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,340 @@
+#include <linux/kernel.h>
+#include <asm/uaccess.h>
@@ -34406,7 +36945,7 @@ diff -urNp linux-2.6.31.6/grsecurity/gracl_ip.c linux-2.6.31.6/grsecurity/gracl_
+}
diff -urNp linux-2.6.31.6/grsecurity/gracl_learn.c linux-2.6.31.6/grsecurity/gracl_learn.c
--- linux-2.6.31.6/grsecurity/gracl_learn.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/gracl_learn.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/grsecurity/gracl_learn.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,211 @@
+#include <linux/kernel.h>
+#include <linux/mm.h>
@@ -34621,7 +37160,7 @@ diff -urNp linux-2.6.31.6/grsecurity/gracl_learn.c linux-2.6.31.6/grsecurity/gra
+};
diff -urNp linux-2.6.31.6/grsecurity/gracl_res.c linux-2.6.31.6/grsecurity/gracl_res.c
--- linux-2.6.31.6/grsecurity/gracl_res.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/gracl_res.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/grsecurity/gracl_res.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,58 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
@@ -34683,7 +37222,7 @@ diff -urNp linux-2.6.31.6/grsecurity/gracl_res.c linux-2.6.31.6/grsecurity/gracl
+}
diff -urNp linux-2.6.31.6/grsecurity/gracl_segv.c linux-2.6.31.6/grsecurity/gracl_segv.c
--- linux-2.6.31.6/grsecurity/gracl_segv.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/gracl_segv.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/grsecurity/gracl_segv.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,307 @@
+#include <linux/kernel.h>
+#include <linux/mm.h>
@@ -34994,7 +37533,7 @@ diff -urNp linux-2.6.31.6/grsecurity/gracl_segv.c linux-2.6.31.6/grsecurity/grac
+}
diff -urNp linux-2.6.31.6/grsecurity/gracl_shm.c linux-2.6.31.6/grsecurity/gracl_shm.c
--- linux-2.6.31.6/grsecurity/gracl_shm.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/gracl_shm.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/grsecurity/gracl_shm.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,37 @@
+#include <linux/kernel.h>
+#include <linux/mm.h>
@@ -35035,7 +37574,7 @@ diff -urNp linux-2.6.31.6/grsecurity/gracl_shm.c linux-2.6.31.6/grsecurity/gracl
+}
diff -urNp linux-2.6.31.6/grsecurity/grsec_chdir.c linux-2.6.31.6/grsecurity/grsec_chdir.c
--- linux-2.6.31.6/grsecurity/grsec_chdir.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_chdir.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_chdir.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,19 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
@@ -35058,7 +37597,7 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_chdir.c linux-2.6.31.6/grsecurity/grs
+}
diff -urNp linux-2.6.31.6/grsecurity/grsec_chroot.c linux-2.6.31.6/grsecurity/grsec_chroot.c
--- linux-2.6.31.6/grsecurity/grsec_chroot.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_chroot.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_chroot.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,348 @@
+#include <linux/kernel.h>
+#include <linux/module.h>
@@ -35410,7 +37949,7 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_chroot.c linux-2.6.31.6/grsecurity/gr
+#endif
diff -urNp linux-2.6.31.6/grsecurity/grsec_disabled.c linux-2.6.31.6/grsecurity/grsec_disabled.c
--- linux-2.6.31.6/grsecurity/grsec_disabled.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_disabled.c 2009-11-10 18:40:40.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_disabled.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,426 @@
+#include <linux/kernel.h>
+#include <linux/module.h>
@@ -35840,7 +38379,7 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_disabled.c linux-2.6.31.6/grsecurity/
+#endif
diff -urNp linux-2.6.31.6/grsecurity/grsec_exec.c linux-2.6.31.6/grsecurity/grsec_exec.c
--- linux-2.6.31.6/grsecurity/grsec_exec.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_exec.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_exec.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,89 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
@@ -35933,7 +38472,7 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_exec.c linux-2.6.31.6/grsecurity/grse
+}
diff -urNp linux-2.6.31.6/grsecurity/grsec_fifo.c linux-2.6.31.6/grsecurity/grsec_fifo.c
--- linux-2.6.31.6/grsecurity/grsec_fifo.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_fifo.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_fifo.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,24 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
@@ -35961,7 +38500,7 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_fifo.c linux-2.6.31.6/grsecurity/grse
+}
diff -urNp linux-2.6.31.6/grsecurity/grsec_fork.c linux-2.6.31.6/grsecurity/grsec_fork.c
--- linux-2.6.31.6/grsecurity/grsec_fork.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_fork.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_fork.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,15 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
@@ -35980,8 +38519,8 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_fork.c linux-2.6.31.6/grsecurity/grse
+}
diff -urNp linux-2.6.31.6/grsecurity/grsec_init.c linux-2.6.31.6/grsecurity/grsec_init.c
--- linux-2.6.31.6/grsecurity/grsec_init.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_init.c 2009-11-10 18:40:41.000000000 -0500
-@@ -0,0 +1,230 @@
++++ linux-2.6.31.6/grsecurity/grsec_init.c 2009-11-12 17:23:18.000000000 -0500
+@@ -0,0 +1,231 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#include <linux/mm.h>
@@ -36005,6 +38544,7 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_init.c linux-2.6.31.6/grsecurity/grse
+int grsec_audit_gid;
+int grsec_enable_chdir;
+int grsec_enable_mount;
++int grsec_enable_rofs;
+int grsec_enable_chroot_findtask;
+int grsec_enable_chroot_mount;
+int grsec_enable_chroot_shmat;
@@ -36214,7 +38754,7 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_init.c linux-2.6.31.6/grsecurity/grse
+}
diff -urNp linux-2.6.31.6/grsecurity/grsec_link.c linux-2.6.31.6/grsecurity/grsec_link.c
--- linux-2.6.31.6/grsecurity/grsec_link.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_link.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_link.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,43 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
@@ -36261,7 +38801,7 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_link.c linux-2.6.31.6/grsecurity/grse
+}
diff -urNp linux-2.6.31.6/grsecurity/grsec_log.c linux-2.6.31.6/grsecurity/grsec_log.c
--- linux-2.6.31.6/grsecurity/grsec_log.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_log.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_log.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,294 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
@@ -36559,7 +39099,7 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_log.c linux-2.6.31.6/grsecurity/grsec
+}
diff -urNp linux-2.6.31.6/grsecurity/grsec_mem.c linux-2.6.31.6/grsecurity/grsec_mem.c
--- linux-2.6.31.6/grsecurity/grsec_mem.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_mem.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_mem.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,85 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
@@ -36648,10 +39188,11 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_mem.c linux-2.6.31.6/grsecurity/grsec
+}
diff -urNp linux-2.6.31.6/grsecurity/grsec_mount.c linux-2.6.31.6/grsecurity/grsec_mount.c
--- linux-2.6.31.6/grsecurity/grsec_mount.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_mount.c 2009-11-10 18:40:41.000000000 -0500
-@@ -0,0 +1,34 @@
++++ linux-2.6.31.6/grsecurity/grsec_mount.c 2009-11-12 17:23:18.000000000 -0500
+@@ -0,0 +1,62 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
++#include <linux/mount.h>
+#include <linux/grsecurity.h>
+#include <linux/grinternal.h>
+
@@ -36684,9 +39225,36 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_mount.c linux-2.6.31.6/grsecurity/grs
+#endif
+ return;
+}
++
++int
++gr_handle_rofs_mount(struct dentry *dentry, struct vfsmount *mnt, int mnt_flags)
++{
++#ifdef CONFIG_GRKERNSEC_ROFS
++ if (grsec_enable_rofs && !(mnt_flags & MNT_READONLY)) {
++ gr_log_fs_generic(GR_DO_AUDIT, GR_ROFS_MOUNT_MSG, dentry, mnt);
++ return -EPERM;
++ } else
++ return 0;
++#endif
++ return 0;
++}
++
++int
++gr_handle_rofs_blockwrite(struct dentry *dentry, struct vfsmount *mnt, int acc_mode)
++{
++#ifdef CONFIG_GRKERNSEC_ROFS
++ if (grsec_enable_rofs && (acc_mode & MAY_WRITE) &&
++ dentry->d_inode && S_ISBLK(dentry->d_inode->i_mode)) {
++ gr_log_fs_generic(GR_DO_AUDIT, GR_ROFS_BLOCKWRITE_MSG, dentry, mnt);
++ return -EPERM;
++ } else
++ return 0;
++#endif
++ return 0;
++}
diff -urNp linux-2.6.31.6/grsecurity/grsec_sig.c linux-2.6.31.6/grsecurity/grsec_sig.c
--- linux-2.6.31.6/grsecurity/grsec_sig.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_sig.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_sig.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,65 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
@@ -36755,7 +39323,7 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_sig.c linux-2.6.31.6/grsecurity/grsec
+
diff -urNp linux-2.6.31.6/grsecurity/grsec_sock.c linux-2.6.31.6/grsecurity/grsec_sock.c
--- linux-2.6.31.6/grsecurity/grsec_sock.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_sock.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_sock.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,269 @@
+#include <linux/kernel.h>
+#include <linux/module.h>
@@ -37028,8 +39596,8 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_sock.c linux-2.6.31.6/grsecurity/grse
+}
diff -urNp linux-2.6.31.6/grsecurity/grsec_sysctl.c linux-2.6.31.6/grsecurity/grsec_sysctl.c
--- linux-2.6.31.6/grsecurity/grsec_sysctl.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_sysctl.c 2009-11-10 18:40:41.000000000 -0500
-@@ -0,0 +1,403 @@
++++ linux-2.6.31.6/grsecurity/grsec_sysctl.c 2009-11-12 17:46:56.000000000 -0500
+@@ -0,0 +1,419 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
+#include <linux/sysctl.h>
@@ -37048,7 +39616,11 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_sysctl.c linux-2.6.31.6/grsecurity/gr
+ return 0;
+}
+
-+#if defined(CONFIG_GRKERNSEC_SYSCTL)
++#ifdef CONFIG_GRKERNSEC_ROFS
++static int __maybe_unused one = 1;
++#endif
++
++#if defined(CONFIG_GRKERNSEC_SYSCTL) || defined(CONFIG_GRKERNSEC_ROFS)
+ctl_table grsecurity_table[] = {
+#ifdef CONFIG_GRKERNSEC_SYSCTL
+#ifdef CONFIG_GRKERNSEC_LINK
@@ -37430,12 +40002,24 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_sysctl.c linux-2.6.31.6/grsecurity/gr
+ .proc_handler = &proc_dointvec,
+ },
+#endif
++#ifdef CONFIG_GRKERNSEC_ROFS
++ {
++ .ctl_name = CTL_UNNUMBERED,
++ .procname = "romount_protect",
++ .data = &grsec_enable_rofs,
++ .maxlen = sizeof(int),
++ .mode = 0600,
++ .proc_handler = &proc_dointvec_minmax,
++ .extra1 = &one,
++ .extra2 = &one,
++ },
++#endif
+ { .ctl_name = 0 }
+};
+#endif
diff -urNp linux-2.6.31.6/grsecurity/grsec_textrel.c linux-2.6.31.6/grsecurity/grsec_textrel.c
--- linux-2.6.31.6/grsecurity/grsec_textrel.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_textrel.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_textrel.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,16 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
@@ -37455,7 +40039,7 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_textrel.c linux-2.6.31.6/grsecurity/g
+}
diff -urNp linux-2.6.31.6/grsecurity/grsec_time.c linux-2.6.31.6/grsecurity/grsec_time.c
--- linux-2.6.31.6/grsecurity/grsec_time.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_time.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_time.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,13 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
@@ -37472,7 +40056,7 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_time.c linux-2.6.31.6/grsecurity/grse
+}
diff -urNp linux-2.6.31.6/grsecurity/grsec_tpe.c linux-2.6.31.6/grsecurity/grsec_tpe.c
--- linux-2.6.31.6/grsecurity/grsec_tpe.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsec_tpe.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsec_tpe.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,38 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
@@ -37514,7 +40098,7 @@ diff -urNp linux-2.6.31.6/grsecurity/grsec_tpe.c linux-2.6.31.6/grsecurity/grsec
+}
diff -urNp linux-2.6.31.6/grsecurity/grsum.c linux-2.6.31.6/grsecurity/grsum.c
--- linux-2.6.31.6/grsecurity/grsum.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/grsum.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/grsecurity/grsum.c 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,59 @@
+#include <linux/err.h>
+#include <linux/kernel.h>
@@ -37577,8 +40161,8 @@ diff -urNp linux-2.6.31.6/grsecurity/grsum.c linux-2.6.31.6/grsecurity/grsum.c
+}
diff -urNp linux-2.6.31.6/grsecurity/Kconfig linux-2.6.31.6/grsecurity/Kconfig
--- linux-2.6.31.6/grsecurity/Kconfig 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/Kconfig 2009-11-10 18:40:41.000000000 -0500
-@@ -0,0 +1,923 @@
++++ linux-2.6.31.6/grsecurity/Kconfig 2009-11-12 17:48:30.000000000 -0500
+@@ -0,0 +1,937 @@
+#
+# grecurity configuration
+#
@@ -38006,6 +40590,20 @@ diff -urNp linux-2.6.31.6/grsecurity/Kconfig linux-2.6.31.6/grsecurity/Kconfig
+ option is enabled, a sysctl option with name "fifo_restrictions" is
+ created.
+
++config GRKERNSEC_ROFS
++ bool "Runtime read-only mount protection"
++ help
++ If you say Y here, a sysctl option with name "romount_protect" will
++ be created. By setting this option to 1 at runtime, filesystems
++ will be protected in the following ways:
++ * No new writable mounts will be allowed
++ * Existing read-only mounts won't be able to be remounted read/write
++ * Write operations will be denied on all block devices
++ This option acts independently of grsec_lock: once it is set to 1,
++ it cannot be turned off. Therefore, please be mindful of the resulting
++ behavior if this option is enabled in an init script on a read-only
++ filesystem. This feature is mainly intended for secure embedded systems.
++
+config GRKERNSEC_CHROOT
+ bool "Chroot jail restrictions"
+ help
@@ -38504,7 +41102,7 @@ diff -urNp linux-2.6.31.6/grsecurity/Kconfig linux-2.6.31.6/grsecurity/Kconfig
+endmenu
diff -urNp linux-2.6.31.6/grsecurity/Makefile linux-2.6.31.6/grsecurity/Makefile
--- linux-2.6.31.6/grsecurity/Makefile 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/grsecurity/Makefile 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/grsecurity/Makefile 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,29 @@
+# grsecurity's ACL system was originally written in 2001 by Michael Dalton
+# during 2001-2009 it has been completely redesigned by Brad Spengler
@@ -38537,7 +41135,18 @@ diff -urNp linux-2.6.31.6/grsecurity/Makefile linux-2.6.31.6/grsecurity/Makefile
+endif
diff -urNp linux-2.6.31.6/include/acpi/acpi_drivers.h linux-2.6.31.6/include/acpi/acpi_drivers.h
--- linux-2.6.31.6/include/acpi/acpi_drivers.h 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/include/acpi/acpi_drivers.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/acpi/acpi_drivers.h 2009-11-12 17:18:35.000000000 -0500
+@@ -119,8 +119,8 @@ int acpi_processor_set_thermal_limit(acp
+ Dock Station
+ -------------------------------------------------------------------------- */
+ struct acpi_dock_ops {
+- acpi_notify_handler handler;
+- acpi_notify_handler uevent;
++ const acpi_notify_handler handler;
++ const acpi_notify_handler uevent;
+ };
+
+ #if defined(CONFIG_ACPI_DOCK) || defined(CONFIG_ACPI_DOCK_MODULE)
@@ -128,7 +128,7 @@ extern int is_dock_device(acpi_handle ha
extern int register_dock_notifier(struct notifier_block *nb);
extern void unregister_dock_notifier(struct notifier_block *nb);
@@ -38558,7 +41167,7 @@ diff -urNp linux-2.6.31.6/include/acpi/acpi_drivers.h linux-2.6.31.6/include/acp
return -ENODEV;
diff -urNp linux-2.6.31.6/include/asm-generic/atomic.h linux-2.6.31.6/include/asm-generic/atomic.h
--- linux-2.6.31.6/include/asm-generic/atomic.h 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/include/asm-generic/atomic.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/asm-generic/atomic.h 2009-11-12 17:18:17.000000000 -0500
@@ -36,6 +36,15 @@
#define atomic_read(v) ((v)->counter)
@@ -38626,7 +41235,7 @@ diff -urNp linux-2.6.31.6/include/asm-generic/atomic.h linux-2.6.31.6/include/as
atomic_sub_return(1, v);
diff -urNp linux-2.6.31.6/include/asm-generic/dma-mapping-common.h linux-2.6.31.6/include/asm-generic/dma-mapping-common.h
--- linux-2.6.31.6/include/asm-generic/dma-mapping-common.h 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/include/asm-generic/dma-mapping-common.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/asm-generic/dma-mapping-common.h 2009-11-12 17:18:17.000000000 -0500
@@ -11,7 +11,7 @@ static inline dma_addr_t dma_map_single_
enum dma_data_direction dir,
struct dma_attrs *attrs)
@@ -38737,7 +41346,7 @@ diff -urNp linux-2.6.31.6/include/asm-generic/dma-mapping-common.h linux-2.6.31.
if (ops->sync_sg_for_device)
diff -urNp linux-2.6.31.6/include/asm-generic/futex.h linux-2.6.31.6/include/asm-generic/futex.h
--- linux-2.6.31.6/include/asm-generic/futex.h 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/include/asm-generic/futex.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/asm-generic/futex.h 2009-11-12 17:18:17.000000000 -0500
@@ -6,7 +6,7 @@
#include <asm/errno.h>
@@ -38758,7 +41367,7 @@ diff -urNp linux-2.6.31.6/include/asm-generic/futex.h linux-2.6.31.6/include/asm
}
diff -urNp linux-2.6.31.6/include/asm-generic/int-l64.h linux-2.6.31.6/include/asm-generic/int-l64.h
--- linux-2.6.31.6/include/asm-generic/int-l64.h 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/include/asm-generic/int-l64.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/asm-generic/int-l64.h 2009-11-12 17:18:17.000000000 -0500
@@ -46,6 +46,8 @@ typedef unsigned int u32;
typedef signed long s64;
typedef unsigned long u64;
@@ -38770,7 +41379,7 @@ diff -urNp linux-2.6.31.6/include/asm-generic/int-l64.h linux-2.6.31.6/include/a
#define S16_C(x) x
diff -urNp linux-2.6.31.6/include/asm-generic/int-ll64.h linux-2.6.31.6/include/asm-generic/int-ll64.h
--- linux-2.6.31.6/include/asm-generic/int-ll64.h 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/include/asm-generic/int-ll64.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/asm-generic/int-ll64.h 2009-11-12 17:18:17.000000000 -0500
@@ -51,6 +51,8 @@ typedef unsigned int u32;
typedef signed long long s64;
typedef unsigned long long u64;
@@ -38782,7 +41391,7 @@ diff -urNp linux-2.6.31.6/include/asm-generic/int-ll64.h linux-2.6.31.6/include/
#define S16_C(x) x
diff -urNp linux-2.6.31.6/include/asm-generic/kmap_types.h linux-2.6.31.6/include/asm-generic/kmap_types.h
--- linux-2.6.31.6/include/asm-generic/kmap_types.h 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/include/asm-generic/kmap_types.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/asm-generic/kmap_types.h 2009-11-12 17:18:17.000000000 -0500
@@ -27,7 +27,8 @@ D(15) KM_UML_USERCOPY, /* UML specific,
D(16) KM_IRQ_PTE,
D(17) KM_NMI,
@@ -38795,7 +41404,7 @@ diff -urNp linux-2.6.31.6/include/asm-generic/kmap_types.h linux-2.6.31.6/includ
#undef D
diff -urNp linux-2.6.31.6/include/asm-generic/pgtable.h linux-2.6.31.6/include/asm-generic/pgtable.h
--- linux-2.6.31.6/include/asm-generic/pgtable.h 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/include/asm-generic/pgtable.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/asm-generic/pgtable.h 2009-11-12 17:18:17.000000000 -0500
@@ -344,6 +344,14 @@ extern void untrack_pfn_vma(struct vm_ar
unsigned long size);
#endif
@@ -38813,7 +41422,7 @@ diff -urNp linux-2.6.31.6/include/asm-generic/pgtable.h linux-2.6.31.6/include/a
#endif /* _ASM_GENERIC_PGTABLE_H */
diff -urNp linux-2.6.31.6/include/asm-generic/vmlinux.lds.h linux-2.6.31.6/include/asm-generic/vmlinux.lds.h
--- linux-2.6.31.6/include/asm-generic/vmlinux.lds.h 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/include/asm-generic/vmlinux.lds.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/asm-generic/vmlinux.lds.h 2009-11-12 17:18:17.000000000 -0500
@@ -201,6 +201,7 @@
.rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \
VMLINUX_SYMBOL(__start_rodata) = .; \
@@ -38854,7 +41463,7 @@ diff -urNp linux-2.6.31.6/include/asm-generic/vmlinux.lds.h linux-2.6.31.6/inclu
* PERCPU - define output section for percpu area, simple version
diff -urNp linux-2.6.31.6/include/drm/drm_pciids.h linux-2.6.31.6/include/drm/drm_pciids.h
--- linux-2.6.31.6/include/drm/drm_pciids.h 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/include/drm/drm_pciids.h 2009-11-10 18:53:43.000000000 -0500
++++ linux-2.6.31.6/include/drm/drm_pciids.h 2009-11-12 17:18:17.000000000 -0500
@@ -375,7 +375,7 @@
{0x1002, 0x9712, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
{0x1002, 0x9713, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
@@ -38960,7 +41569,7 @@ diff -urNp linux-2.6.31.6/include/drm/drm_pciids.h linux-2.6.31.6/include/drm/dr
+ {0, 0, 0, 0, 0, 0}
diff -urNp linux-2.6.31.6/include/drm/drmP.h linux-2.6.31.6/include/drm/drmP.h
--- linux-2.6.31.6/include/drm/drmP.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/drm/drmP.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/drm/drmP.h 2009-11-12 17:18:17.000000000 -0500
@@ -787,7 +787,7 @@ struct drm_driver {
void (*gem_free_object) (struct drm_gem_object *obj);
@@ -38990,7 +41599,7 @@ diff -urNp linux-2.6.31.6/include/drm/drmP.h linux-2.6.31.6/include/drm/drmP.h
struct list_head filelist;
diff -urNp linux-2.6.31.6/include/linux/agp_backend.h linux-2.6.31.6/include/linux/agp_backend.h
--- linux-2.6.31.6/include/linux/agp_backend.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/agp_backend.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/agp_backend.h 2009-11-12 17:18:17.000000000 -0500
@@ -53,7 +53,7 @@ struct agp_kern_info {
int current_memory;
bool cant_use_aperture;
@@ -39002,7 +41611,7 @@ diff -urNp linux-2.6.31.6/include/linux/agp_backend.h linux-2.6.31.6/include/lin
/*
diff -urNp linux-2.6.31.6/include/linux/a.out.h linux-2.6.31.6/include/linux/a.out.h
--- linux-2.6.31.6/include/linux/a.out.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/a.out.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/a.out.h 2009-11-12 17:18:17.000000000 -0500
@@ -39,6 +39,14 @@ enum machine_type {
M_MIPS2 = 152 /* MIPS R6000/R4000 binary */
};
@@ -39020,7 +41629,7 @@ diff -urNp linux-2.6.31.6/include/linux/a.out.h linux-2.6.31.6/include/linux/a.o
#endif
diff -urNp linux-2.6.31.6/include/linux/atmdev.h linux-2.6.31.6/include/linux/atmdev.h
--- linux-2.6.31.6/include/linux/atmdev.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/atmdev.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/atmdev.h 2009-11-12 17:18:17.000000000 -0500
@@ -237,7 +237,7 @@ struct compat_atm_iobuf {
#endif
@@ -39030,9 +41639,53 @@ diff -urNp linux-2.6.31.6/include/linux/atmdev.h linux-2.6.31.6/include/linux/at
__AAL_STAT_ITEMS
#undef __HANDLE_ITEM
};
+diff -urNp linux-2.6.31.6/include/linux/backlight.h linux-2.6.31.6/include/linux/backlight.h
+--- linux-2.6.31.6/include/linux/backlight.h 2009-11-10 18:45:44.000000000 -0500
++++ linux-2.6.31.6/include/linux/backlight.h 2009-11-12 17:18:35.000000000 -0500
+@@ -31,18 +31,18 @@ struct backlight_device;
+ struct fb_info;
+
+ struct backlight_ops {
+- unsigned int options;
++ const unsigned int options;
+
+ #define BL_CORE_SUSPENDRESUME (1 << 0)
+
+ /* Notify the backlight driver some property has changed */
+- int (*update_status)(struct backlight_device *);
++ int (* const update_status)(struct backlight_device *);
+ /* Return the current backlight brightness (accounting for power,
+ fb_blank etc.) */
+- int (*get_brightness)(struct backlight_device *);
++ int (* const get_brightness)(struct backlight_device *);
+ /* Check if given framebuffer device is the one bound to this backlight;
+ return 0 if not, !=0 if it is. If NULL, backlight always matches the fb. */
+- int (*check_fb)(struct fb_info *);
++ int (* const check_fb)(struct fb_info *);
+ };
+
+ /* This structure defines all the properties of a backlight */
+@@ -81,7 +81,7 @@ struct backlight_device {
+ registered this device has been unloaded, and if class_get_devdata()
+ points to something in the body of that driver, it is also invalid. */
+ struct mutex ops_lock;
+- struct backlight_ops *ops;
++ const struct backlight_ops *ops;
+
+ /* The framebuffer notifier block */
+ struct notifier_block fb_notif;
+@@ -98,7 +98,7 @@ static inline void backlight_update_stat
+ }
+
+ extern struct backlight_device *backlight_device_register(const char *name,
+- struct device *dev, void *devdata, struct backlight_ops *ops);
++ struct device *dev, void *devdata, const struct backlight_ops *ops);
+ extern void backlight_device_unregister(struct backlight_device *bd);
+
+ #define to_backlight_device(obj) container_of(obj, struct backlight_device, dev)
diff -urNp linux-2.6.31.6/include/linux/binfmts.h linux-2.6.31.6/include/linux/binfmts.h
--- linux-2.6.31.6/include/linux/binfmts.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/binfmts.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/binfmts.h 2009-11-12 17:18:17.000000000 -0500
@@ -78,6 +78,7 @@ struct linux_binfmt {
int (*load_binary)(struct linux_binprm *, struct pt_regs * regs);
int (*load_shlib)(struct file *);
@@ -39043,7 +41696,7 @@ diff -urNp linux-2.6.31.6/include/linux/binfmts.h linux-2.6.31.6/include/linux/b
};
diff -urNp linux-2.6.31.6/include/linux/cache.h linux-2.6.31.6/include/linux/cache.h
--- linux-2.6.31.6/include/linux/cache.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/cache.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/cache.h 2009-11-12 17:18:17.000000000 -0500
@@ -16,6 +16,10 @@
#define __read_mostly
#endif
@@ -39057,7 +41710,7 @@ diff -urNp linux-2.6.31.6/include/linux/cache.h linux-2.6.31.6/include/linux/cac
#endif
diff -urNp linux-2.6.31.6/include/linux/capability.h linux-2.6.31.6/include/linux/capability.h
--- linux-2.6.31.6/include/linux/capability.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/capability.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/capability.h 2009-11-12 17:18:17.000000000 -0500
@@ -563,6 +563,7 @@ extern const kernel_cap_t __cap_init_eff
(security_real_capable_noaudit((t), (cap)) == 0)
@@ -39068,7 +41721,7 @@ diff -urNp linux-2.6.31.6/include/linux/capability.h linux-2.6.31.6/include/linu
struct dentry;
diff -urNp linux-2.6.31.6/include/linux/cgroup.h linux-2.6.31.6/include/linux/cgroup.h
--- linux-2.6.31.6/include/linux/cgroup.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/cgroup.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/cgroup.h 2009-11-12 17:18:17.000000000 -0500
@@ -37,7 +37,7 @@ extern void cgroup_exit(struct task_stru
extern int cgroupstats_build(struct cgroupstats *stats,
struct dentry *dentry);
@@ -39080,7 +41733,7 @@ diff -urNp linux-2.6.31.6/include/linux/cgroup.h linux-2.6.31.6/include/linux/cg
#define SUBSYS(_x) _x ## _subsys_id,
diff -urNp linux-2.6.31.6/include/linux/compiler-gcc4.h linux-2.6.31.6/include/linux/compiler-gcc4.h
--- linux-2.6.31.6/include/linux/compiler-gcc4.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/compiler-gcc4.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/compiler-gcc4.h 2009-11-12 17:18:17.000000000 -0500
@@ -36,4 +36,8 @@
the kernel context */
#define __cold __attribute__((__cold__))
@@ -39092,7 +41745,7 @@ diff -urNp linux-2.6.31.6/include/linux/compiler-gcc4.h linux-2.6.31.6/include/l
#endif
diff -urNp linux-2.6.31.6/include/linux/compiler.h linux-2.6.31.6/include/linux/compiler.h
--- linux-2.6.31.6/include/linux/compiler.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/compiler.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/compiler.h 2009-11-12 17:18:17.000000000 -0500
@@ -256,6 +256,22 @@ void ftrace_likely_update(struct ftrace_
#define __cold
#endif
@@ -39118,7 +41771,7 @@ diff -urNp linux-2.6.31.6/include/linux/compiler.h linux-2.6.31.6/include/linux/
# define __section(S) __attribute__ ((__section__(#S)))
diff -urNp linux-2.6.31.6/include/linux/cpumask.h linux-2.6.31.6/include/linux/cpumask.h
--- linux-2.6.31.6/include/linux/cpumask.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/cpumask.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/cpumask.h 2009-11-12 17:18:17.000000000 -0500
@@ -142,7 +142,6 @@
#include <linux/bitmap.h>
@@ -39129,7 +41782,7 @@ diff -urNp linux-2.6.31.6/include/linux/cpumask.h linux-2.6.31.6/include/linux/c
#define cpu_set(cpu, dst) __cpu_set((cpu), &(dst))
diff -urNp linux-2.6.31.6/include/linux/decompress/mm.h linux-2.6.31.6/include/linux/decompress/mm.h
--- linux-2.6.31.6/include/linux/decompress/mm.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/decompress/mm.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/decompress/mm.h 2009-11-12 17:18:17.000000000 -0500
@@ -68,7 +68,7 @@ static void free(void *where)
* warnings when not needed (indeed large_malloc / large_free are not
* needed by inflate */
@@ -39141,7 +41794,7 @@ diff -urNp linux-2.6.31.6/include/linux/decompress/mm.h linux-2.6.31.6/include/l
#define large_malloc(a) vmalloc(a)
diff -urNp linux-2.6.31.6/include/linux/elf.h linux-2.6.31.6/include/linux/elf.h
--- linux-2.6.31.6/include/linux/elf.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/elf.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/elf.h 2009-11-12 17:18:17.000000000 -0500
@@ -49,6 +49,17 @@ typedef __s64 Elf64_Sxword;
#define PT_GNU_EH_FRAME 0x6474e550
@@ -39216,7 +41869,7 @@ diff -urNp linux-2.6.31.6/include/linux/elf.h linux-2.6.31.6/include/linux/elf.h
diff -urNp linux-2.6.31.6/include/linux/fs.h linux-2.6.31.6/include/linux/fs.h
--- linux-2.6.31.6/include/linux/fs.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/fs.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/fs.h 2009-11-12 17:18:35.000000000 -0500
@@ -87,6 +87,10 @@ struct inodes_stat_t {
*/
#define FMODE_NOCMTIME ((__force fmode_t)2048)
@@ -39228,6 +41881,47 @@ diff -urNp linux-2.6.31.6/include/linux/fs.h linux-2.6.31.6/include/linux/fs.h
/*
* The below are the various read and write types that we support. Some of
* them include behavioral modifiers that send information down to the
+@@ -1024,19 +1028,19 @@ static inline int file_check_writeable(s
+ typedef struct files_struct *fl_owner_t;
+
+ struct file_lock_operations {
+- void (*fl_copy_lock)(struct file_lock *, struct file_lock *);
+- void (*fl_release_private)(struct file_lock *);
++ void (* const fl_copy_lock)(struct file_lock *, struct file_lock *);
++ void (* const fl_release_private)(struct file_lock *);
+ };
+
+ struct lock_manager_operations {
+- int (*fl_compare_owner)(struct file_lock *, struct file_lock *);
+- void (*fl_notify)(struct file_lock *); /* unblock callback */
+- int (*fl_grant)(struct file_lock *, struct file_lock *, int);
+- void (*fl_copy_lock)(struct file_lock *, struct file_lock *);
+- void (*fl_release_private)(struct file_lock *);
+- void (*fl_break)(struct file_lock *);
+- int (*fl_mylease)(struct file_lock *, struct file_lock *);
+- int (*fl_change)(struct file_lock **, int);
++ int (* const fl_compare_owner)(struct file_lock *, struct file_lock *);
++ void (* const fl_notify)(struct file_lock *); /* unblock callback */
++ int (* const fl_grant)(struct file_lock *, struct file_lock *, int);
++ void (* const fl_copy_lock)(struct file_lock *, struct file_lock *);
++ void (* const fl_release_private)(struct file_lock *);
++ void (* const fl_break)(struct file_lock *);
++ int (* const fl_mylease)(struct file_lock *, struct file_lock *);
++ int (* const fl_change)(struct file_lock **, int);
+ };
+
+ struct lock_manager {
+@@ -1067,8 +1071,8 @@ struct file_lock {
+ struct fasync_struct * fl_fasync; /* for lease break notifications */
+ unsigned long fl_break_time; /* for nonblocking lease breaks */
+
+- struct file_lock_operations *fl_ops; /* Callbacks for filesystems */
+- struct lock_manager_operations *fl_lmops; /* Callbacks for lockmanagers */
++ const struct file_lock_operations *fl_ops; /* Callbacks for filesystems */
++ const struct lock_manager_operations *fl_lmops; /* Callbacks for lockmanagers */
+ union {
+ struct nfs_lock_info nfs_fl;
+ struct nfs4_lock_info nfs4_fl;
@@ -1435,7 +1439,7 @@ struct fiemap_extent_info {
unsigned int fi_flags; /* Flags as passed from user */
unsigned int fi_extents_mapped; /* Number of mapped extents */
@@ -39248,7 +41942,7 @@ diff -urNp linux-2.6.31.6/include/linux/fs.h linux-2.6.31.6/include/linux/fs.h
.release = simple_attr_release, \
diff -urNp linux-2.6.31.6/include/linux/fs_struct.h linux-2.6.31.6/include/linux/fs_struct.h
--- linux-2.6.31.6/include/linux/fs_struct.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/fs_struct.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/fs_struct.h 2009-11-12 17:18:17.000000000 -0500
@@ -4,7 +4,7 @@
#include <linux/path.h>
@@ -39260,7 +41954,7 @@ diff -urNp linux-2.6.31.6/include/linux/fs_struct.h linux-2.6.31.6/include/linux
int in_exec;
diff -urNp linux-2.6.31.6/include/linux/genhd.h linux-2.6.31.6/include/linux/genhd.h
--- linux-2.6.31.6/include/linux/genhd.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/genhd.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/genhd.h 2009-11-12 17:18:17.000000000 -0500
@@ -161,7 +161,7 @@ struct gendisk {
struct timer_rand_state *random;
@@ -39272,7 +41966,7 @@ diff -urNp linux-2.6.31.6/include/linux/genhd.h linux-2.6.31.6/include/linux/gen
struct blk_integrity *integrity;
diff -urNp linux-2.6.31.6/include/linux/gracl.h linux-2.6.31.6/include/linux/gracl.h
--- linux-2.6.31.6/include/linux/gracl.h 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/include/linux/gracl.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/gracl.h 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,309 @@
+#ifndef GR_ACL_H
+#define GR_ACL_H
@@ -39585,7 +42279,7 @@ diff -urNp linux-2.6.31.6/include/linux/gracl.h linux-2.6.31.6/include/linux/gra
+
diff -urNp linux-2.6.31.6/include/linux/gralloc.h linux-2.6.31.6/include/linux/gralloc.h
--- linux-2.6.31.6/include/linux/gralloc.h 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/include/linux/gralloc.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/gralloc.h 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,9 @@
+#ifndef __GRALLOC_H
+#define __GRALLOC_H
@@ -39598,7 +42292,7 @@ diff -urNp linux-2.6.31.6/include/linux/gralloc.h linux-2.6.31.6/include/linux/g
+#endif
diff -urNp linux-2.6.31.6/include/linux/grdefs.h linux-2.6.31.6/include/linux/grdefs.h
--- linux-2.6.31.6/include/linux/grdefs.h 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/include/linux/grdefs.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/grdefs.h 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1,136 @@
+#ifndef GRDEFS_H
+#define GRDEFS_H
@@ -39738,8 +42432,8 @@ diff -urNp linux-2.6.31.6/include/linux/grdefs.h linux-2.6.31.6/include/linux/gr
+#endif
diff -urNp linux-2.6.31.6/include/linux/grinternal.h linux-2.6.31.6/include/linux/grinternal.h
--- linux-2.6.31.6/include/linux/grinternal.h 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/include/linux/grinternal.h 2009-11-10 18:40:41.000000000 -0500
-@@ -0,0 +1,211 @@
++++ linux-2.6.31.6/include/linux/grinternal.h 2009-11-12 17:23:18.000000000 -0500
+@@ -0,0 +1,212 @@
+#ifndef __GRINTERNAL_H
+#define __GRINTERNAL_H
+
@@ -39785,6 +42479,7 @@ diff -urNp linux-2.6.31.6/include/linux/grinternal.h linux-2.6.31.6/include/linu
+extern int grsec_enable_signal;
+extern int grsec_enable_forkfail;
+extern int grsec_enable_time;
++extern int grsec_enable_rofs;
+extern int grsec_enable_chroot_shmat;
+extern int grsec_enable_chroot_findtask;
+extern int grsec_enable_chroot_mount;
@@ -39953,12 +42648,14 @@ diff -urNp linux-2.6.31.6/include/linux/grinternal.h linux-2.6.31.6/include/linu
+#endif
diff -urNp linux-2.6.31.6/include/linux/grmsg.h linux-2.6.31.6/include/linux/grmsg.h
--- linux-2.6.31.6/include/linux/grmsg.h 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/include/linux/grmsg.h 2009-11-10 19:18:47.000000000 -0500
-@@ -0,0 +1,105 @@
++++ linux-2.6.31.6/include/linux/grmsg.h 2009-11-12 17:23:18.000000000 -0500
+@@ -0,0 +1,107 @@
+#define DEFAULTSECMSG "%.256s[%.16s:%d] uid/euid:%u/%u gid/egid:%u/%u, parent %.256s[%.16s:%d] uid/euid:%u/%u gid/egid:%u/%u"
+#define GR_ACL_PROCACCT_MSG "%.256s[%.16s:%d] IP:%u.%u.%u.%u TTY:%.64s uid/euid:%u/%u gid/egid:%u/%u run time:[%ud %uh %um %us] cpu time:[%ud %uh %um %us] %s with exit code %ld, parent %.256s[%.16s:%d] IP:%u.%u.%u.%u TTY:%.64s uid/euid:%u/%u gid/egid:%u/%u"
+#define GR_PTRACE_ACL_MSG "denied ptrace of %.950s(%.16s:%d) by "
+#define GR_STOPMOD_MSG "denied modification of module state by "
++#define GR_ROFS_BLOCKWRITE_MSG "denied write to block device %.950s by "
++#define GR_ROFS_MOUNT_MSG "denied writable mount of %.950s by "
+#define GR_IOPERM_MSG "denied use of ioperm() by "
+#define GR_IOPL_MSG "denied use of iopl() by "
+#define GR_SHMAT_ACL_MSG "denied attach of shared memory of UID %u, PID %d, ID %u by "
@@ -40062,8 +42759,8 @@ diff -urNp linux-2.6.31.6/include/linux/grmsg.h linux-2.6.31.6/include/linux/grm
+#define GR_VM86_MSG "denied use of vm86 by "
diff -urNp linux-2.6.31.6/include/linux/grsecurity.h linux-2.6.31.6/include/linux/grsecurity.h
--- linux-2.6.31.6/include/linux/grsecurity.h 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/include/linux/grsecurity.h 2009-11-10 18:40:41.000000000 -0500
-@@ -0,0 +1,198 @@
++++ linux-2.6.31.6/include/linux/grsecurity.h 2009-11-12 17:23:18.000000000 -0500
+@@ -0,0 +1,200 @@
+#ifndef GR_SECURITY_H
+#define GR_SECURITY_H
+#include <linux/fs.h>
@@ -40246,6 +42943,8 @@ diff -urNp linux-2.6.31.6/include/linux/grsecurity.h linux-2.6.31.6/include/linu
+void gr_acl_handle_exit(void);
+void gr_acl_handle_psacct(struct task_struct *task, const long code);
+int gr_acl_handle_procpidmem(const struct task_struct *task);
++int gr_handle_rofs_mount(struct dentry *dentry, struct vfsmount *mnt, int mnt_flags);
++int gr_handle_rofs_blockwrite(struct dentry *dentry, struct vfsmount *mnt, int acc_mode);
+
+#ifdef CONFIG_GRKERNSEC
+void gr_log_nonroot_mod_load(const char *modname);
@@ -40264,7 +42963,7 @@ diff -urNp linux-2.6.31.6/include/linux/grsecurity.h linux-2.6.31.6/include/linu
+#endif
diff -urNp linux-2.6.31.6/include/linux/hdpu_features.h linux-2.6.31.6/include/linux/hdpu_features.h
--- linux-2.6.31.6/include/linux/hdpu_features.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/hdpu_features.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/hdpu_features.h 2009-11-12 17:18:17.000000000 -0500
@@ -3,7 +3,7 @@
struct cpustate_t {
spinlock_t lock;
@@ -40276,7 +42975,7 @@ diff -urNp linux-2.6.31.6/include/linux/hdpu_features.h linux-2.6.31.6/include/l
unsigned long *set_addr;
diff -urNp linux-2.6.31.6/include/linux/highmem.h linux-2.6.31.6/include/linux/highmem.h
--- linux-2.6.31.6/include/linux/highmem.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/highmem.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/highmem.h 2009-11-12 17:18:17.000000000 -0500
@@ -137,6 +137,18 @@ static inline void clear_highpage(struct
kunmap_atomic(kaddr, KM_USER0);
}
@@ -40298,7 +42997,7 @@ diff -urNp linux-2.6.31.6/include/linux/highmem.h linux-2.6.31.6/include/linux/h
unsigned start2, unsigned end2)
diff -urNp linux-2.6.31.6/include/linux/hugetlb.h linux-2.6.31.6/include/linux/hugetlb.h
--- linux-2.6.31.6/include/linux/hugetlb.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/hugetlb.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/hugetlb.h 2009-11-12 17:18:17.000000000 -0500
@@ -146,7 +146,7 @@ static inline struct hugetlbfs_sb_info *
}
@@ -40310,7 +43009,7 @@ diff -urNp linux-2.6.31.6/include/linux/hugetlb.h linux-2.6.31.6/include/linux/h
int hugetlb_get_quota(struct address_space *mapping, long delta);
diff -urNp linux-2.6.31.6/include/linux/interrupt.h linux-2.6.31.6/include/linux/interrupt.h
--- linux-2.6.31.6/include/linux/interrupt.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/interrupt.h 2009-11-10 18:44:21.000000000 -0500
++++ linux-2.6.31.6/include/linux/interrupt.h 2009-11-12 17:18:17.000000000 -0500
@@ -355,7 +355,7 @@ enum
/* map softirq index to softirq name. update 'softirq_to_name' in
* kernel/softirq.c when adding a new softirq.
@@ -40322,7 +43021,7 @@ diff -urNp linux-2.6.31.6/include/linux/interrupt.h linux-2.6.31.6/include/linux
* asm/hardirq.h to get better cache usage. KAO
diff -urNp linux-2.6.31.6/include/linux/jbd2.h linux-2.6.31.6/include/linux/jbd2.h
--- linux-2.6.31.6/include/linux/jbd2.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/jbd2.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/jbd2.h 2009-11-12 17:18:17.000000000 -0500
@@ -66,7 +66,7 @@ extern u8 jbd2_journal_enable_debug;
} \
} while (0)
@@ -40334,7 +43033,7 @@ diff -urNp linux-2.6.31.6/include/linux/jbd2.h linux-2.6.31.6/include/linux/jbd2
static inline void *jbd2_alloc(size_t size, gfp_t flags)
diff -urNp linux-2.6.31.6/include/linux/jbd.h linux-2.6.31.6/include/linux/jbd.h
--- linux-2.6.31.6/include/linux/jbd.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/jbd.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/jbd.h 2009-11-12 17:18:17.000000000 -0500
@@ -66,7 +66,7 @@ extern u8 journal_enable_debug;
} \
} while (0)
@@ -40346,7 +43045,7 @@ diff -urNp linux-2.6.31.6/include/linux/jbd.h linux-2.6.31.6/include/linux/jbd.h
static inline void *jbd_alloc(size_t size, gfp_t flags)
diff -urNp linux-2.6.31.6/include/linux/kallsyms.h linux-2.6.31.6/include/linux/kallsyms.h
--- linux-2.6.31.6/include/linux/kallsyms.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/kallsyms.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/kallsyms.h 2009-11-12 17:18:17.000000000 -0500
@@ -15,7 +15,8 @@
struct module;
@@ -40369,7 +43068,7 @@ diff -urNp linux-2.6.31.6/include/linux/kallsyms.h linux-2.6.31.6/include/linux/
static void __check_printsym_format(const char *fmt, ...)
diff -urNp linux-2.6.31.6/include/linux/kgdb.h linux-2.6.31.6/include/linux/kgdb.h
--- linux-2.6.31.6/include/linux/kgdb.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/kgdb.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/kgdb.h 2009-11-12 17:18:17.000000000 -0500
@@ -259,12 +259,12 @@ struct kgdb_io {
void (*post_exception) (void);
};
@@ -40388,7 +43087,7 @@ diff -urNp linux-2.6.31.6/include/linux/kgdb.h linux-2.6.31.6/include/linux/kgdb
extern int kgdb_mem2hex(char *mem, char *buf, int count);
diff -urNp linux-2.6.31.6/include/linux/kmemcheck.h linux-2.6.31.6/include/linux/kmemcheck.h
--- linux-2.6.31.6/include/linux/kmemcheck.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/kmemcheck.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/kmemcheck.h 2009-11-12 17:18:17.000000000 -0500
@@ -137,13 +137,13 @@ static inline void kmemcheck_mark_initia
int name##_end[0];
@@ -40407,7 +43106,7 @@ diff -urNp linux-2.6.31.6/include/linux/kmemcheck.h linux-2.6.31.6/include/linux
do { \
diff -urNp linux-2.6.31.6/include/linux/kobject.h linux-2.6.31.6/include/linux/kobject.h
--- linux-2.6.31.6/include/linux/kobject.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/kobject.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/kobject.h 2009-11-12 17:18:35.000000000 -0500
@@ -106,7 +106,7 @@ extern char *kobject_get_path(struct kob
struct kobj_type {
@@ -40417,6 +43116,19 @@ diff -urNp linux-2.6.31.6/include/linux/kobject.h linux-2.6.31.6/include/linux/k
struct attribute **default_attrs;
};
+@@ -118,9 +118,9 @@ struct kobj_uevent_env {
+ };
+
+ struct kset_uevent_ops {
+- int (*filter)(struct kset *kset, struct kobject *kobj);
+- const char *(*name)(struct kset *kset, struct kobject *kobj);
+- int (*uevent)(struct kset *kset, struct kobject *kobj,
++ int (* const filter)(struct kset *kset, struct kobject *kobj);
++ const char *(* const name)(struct kset *kset, struct kobject *kobj);
++ int (* const uevent)(struct kset *kset, struct kobject *kobj,
+ struct kobj_uevent_env *env);
+ };
+
@@ -132,7 +132,7 @@ struct kobj_attribute {
const char *buf, size_t count);
};
@@ -40426,9 +43138,26 @@ diff -urNp linux-2.6.31.6/include/linux/kobject.h linux-2.6.31.6/include/linux/k
/**
* struct kset - a set of kobjects of a specific type, belonging to a specific subsystem.
+@@ -155,14 +155,14 @@ struct kset {
+ struct list_head list;
+ spinlock_t list_lock;
+ struct kobject kobj;
+- struct kset_uevent_ops *uevent_ops;
++ const struct kset_uevent_ops *uevent_ops;
+ };
+
+ extern void kset_init(struct kset *kset);
+ extern int __must_check kset_register(struct kset *kset);
+ extern void kset_unregister(struct kset *kset);
+ extern struct kset * __must_check kset_create_and_add(const char *name,
+- struct kset_uevent_ops *u,
++ const struct kset_uevent_ops *u,
+ struct kobject *parent_kobj);
+
+ static inline struct kset *to_kset(struct kobject *kobj)
diff -urNp linux-2.6.31.6/include/linux/kvm_host.h linux-2.6.31.6/include/linux/kvm_host.h
--- linux-2.6.31.6/include/linux/kvm_host.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/kvm_host.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/kvm_host.h 2009-11-12 17:18:17.000000000 -0500
@@ -173,7 +173,7 @@ void kvm_vcpu_uninit(struct kvm_vcpu *vc
void vcpu_load(struct kvm_vcpu *vcpu);
void vcpu_put(struct kvm_vcpu *vcpu);
@@ -40449,7 +43178,7 @@ diff -urNp linux-2.6.31.6/include/linux/kvm_host.h linux-2.6.31.6/include/linux/
int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu);
diff -urNp linux-2.6.31.6/include/linux/libata.h linux-2.6.31.6/include/linux/libata.h
--- linux-2.6.31.6/include/linux/libata.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/libata.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/libata.h 2009-11-12 17:18:35.000000000 -0500
@@ -64,11 +64,11 @@
#ifdef ATA_VERBOSE_DEBUG
#define VPRINTK(fmt, args...) printk(KERN_ERR "%s: " fmt, __func__, ## args)
@@ -40465,9 +43194,213 @@ diff -urNp linux-2.6.31.6/include/linux/libata.h linux-2.6.31.6/include/linux/li
#endif /* ATA_DEBUG */
#define BPRINTK(fmt, args...) if (ap->flags & ATA_FLAG_DEBUGMSG) printk(KERN_ERR "%s: " fmt, __func__, ## args)
+@@ -460,10 +460,10 @@ struct ata_queued_cmd;
+
+ /* typedefs */
+ typedef void (*ata_qc_cb_t) (struct ata_queued_cmd *qc);
+-typedef int (*ata_prereset_fn_t)(struct ata_link *link, unsigned long deadline);
+-typedef int (*ata_reset_fn_t)(struct ata_link *link, unsigned int *classes,
++typedef int (* const ata_prereset_fn_t)(struct ata_link *link, unsigned long deadline);
++typedef int (* ata_reset_fn_t)(struct ata_link *link, unsigned int *classes,
+ unsigned long deadline);
+-typedef void (*ata_postreset_fn_t)(struct ata_link *link, unsigned int *classes);
++typedef void (* const ata_postreset_fn_t)(struct ata_link *link, unsigned int *classes);
+
+ /*
+ * host pm policy: If you alter this, you also need to alter libata-scsi.c
+@@ -509,11 +509,11 @@ struct ata_ioports {
+
+ struct ata_host {
+ spinlock_t lock;
+- struct device *dev;
++ struct device *dev;
+ void __iomem * const *iomap;
+ unsigned int n_ports;
+ void *private_data;
+- struct ata_port_operations *ops;
++ const struct ata_port_operations *ops;
+ unsigned long flags;
+ #ifdef CONFIG_ATA_ACPI
+ acpi_handle acpi_handle;
+@@ -693,7 +693,7 @@ struct ata_link {
+
+ struct ata_port {
+ struct Scsi_Host *scsi_host; /* our co-allocated scsi host */
+- struct ata_port_operations *ops;
++ const struct ata_port_operations *ops;
+ spinlock_t *lock;
+ /* Flags owned by the EH context. Only EH should touch these once the
+ port is active */
+@@ -775,26 +775,26 @@ struct ata_port_operations {
+ /*
+ * Command execution
+ */
+- int (*qc_defer)(struct ata_queued_cmd *qc);
+- int (*check_atapi_dma)(struct ata_queued_cmd *qc);
+- void (*qc_prep)(struct ata_queued_cmd *qc);
+- unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
+- bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
++ int (* const qc_defer)(struct ata_queued_cmd *qc);
++ int (* const check_atapi_dma)(struct ata_queued_cmd *qc);
++ void (* const qc_prep)(struct ata_queued_cmd *qc);
++ unsigned int (* const qc_issue)(struct ata_queued_cmd *qc);
++ bool (* const qc_fill_rtf)(struct ata_queued_cmd *qc);
+
+ /*
+ * Configuration and exception handling
+ */
+- int (*cable_detect)(struct ata_port *ap);
+- unsigned long (*mode_filter)(struct ata_device *dev, unsigned long xfer_mask);
+- void (*set_piomode)(struct ata_port *ap, struct ata_device *dev);
+- void (*set_dmamode)(struct ata_port *ap, struct ata_device *dev);
+- int (*set_mode)(struct ata_link *link, struct ata_device **r_failed_dev);
+- unsigned int (*read_id)(struct ata_device *dev, struct ata_taskfile *tf, u16 *id);
++ int (* const cable_detect)(struct ata_port *ap);
++ unsigned long (* const mode_filter)(struct ata_device *dev, unsigned long xfer_mask);
++ void (* const set_piomode)(struct ata_port *ap, struct ata_device *dev);
++ void (* const set_dmamode)(struct ata_port *ap, struct ata_device *dev);
++ int (* const set_mode)(struct ata_link *link, struct ata_device **r_failed_dev);
++ unsigned int (* const read_id)(struct ata_device *dev, struct ata_taskfile *tf, u16 *id);
+
+- void (*dev_config)(struct ata_device *dev);
++ void (* const dev_config)(struct ata_device *dev);
+
+- void (*freeze)(struct ata_port *ap);
+- void (*thaw)(struct ata_port *ap);
++ void (* const freeze)(struct ata_port *ap);
++ void (* const thaw)(struct ata_port *ap);
+ ata_prereset_fn_t prereset;
+ ata_reset_fn_t softreset;
+ ata_reset_fn_t hardreset;
+@@ -803,64 +803,64 @@ struct ata_port_operations {
+ ata_reset_fn_t pmp_softreset;
+ ata_reset_fn_t pmp_hardreset;
+ ata_postreset_fn_t pmp_postreset;
+- void (*error_handler)(struct ata_port *ap);
+- void (*lost_interrupt)(struct ata_port *ap);
+- void (*post_internal_cmd)(struct ata_queued_cmd *qc);
++ void (* const error_handler)(struct ata_port *ap);
++ void (* const lost_interrupt)(struct ata_port *ap);
++ void (* const post_internal_cmd)(struct ata_queued_cmd *qc);
+
+ /*
+ * Optional features
+ */
+- int (*scr_read)(struct ata_link *link, unsigned int sc_reg, u32 *val);
+- int (*scr_write)(struct ata_link *link, unsigned int sc_reg, u32 val);
+- void (*pmp_attach)(struct ata_port *ap);
+- void (*pmp_detach)(struct ata_port *ap);
+- int (*enable_pm)(struct ata_port *ap, enum link_pm policy);
+- void (*disable_pm)(struct ata_port *ap);
++ int (* const scr_read)(struct ata_link *link, unsigned int sc_reg, u32 *val);
++ int (* const scr_write)(struct ata_link *link, unsigned int sc_reg, u32 val);
++ void (* const pmp_attach)(struct ata_port *ap);
++ void (* const pmp_detach)(struct ata_port *ap);
++ int (* const enable_pm)(struct ata_port *ap, enum link_pm policy);
++ void (* const disable_pm)(struct ata_port *ap);
+
+ /*
+ * Start, stop, suspend and resume
+ */
+- int (*port_suspend)(struct ata_port *ap, pm_message_t mesg);
+- int (*port_resume)(struct ata_port *ap);
+- int (*port_start)(struct ata_port *ap);
+- void (*port_stop)(struct ata_port *ap);
+- void (*host_stop)(struct ata_host *host);
++ int (* const port_suspend)(struct ata_port *ap, pm_message_t mesg);
++ int (* const port_resume)(struct ata_port *ap);
++ int (* const port_start)(struct ata_port *ap);
++ void (* const port_stop)(struct ata_port *ap);
++ void (* const host_stop)(struct ata_host *host);
+
+ #ifdef CONFIG_ATA_SFF
+ /*
+ * SFF / taskfile oriented ops
+ */
+- void (*sff_dev_select)(struct ata_port *ap, unsigned int device);
+- u8 (*sff_check_status)(struct ata_port *ap);
+- u8 (*sff_check_altstatus)(struct ata_port *ap);
+- void (*sff_tf_load)(struct ata_port *ap, const struct ata_taskfile *tf);
+- void (*sff_tf_read)(struct ata_port *ap, struct ata_taskfile *tf);
+- void (*sff_exec_command)(struct ata_port *ap,
++ void (* const sff_dev_select)(struct ata_port *ap, unsigned int device);
++ u8 (* sff_check_status)(struct ata_port *ap);
++ u8 (* const sff_check_altstatus)(struct ata_port *ap);
++ void (* sff_tf_load)(struct ata_port *ap, const struct ata_taskfile *tf);
++ void (* sff_tf_read)(struct ata_port *ap, struct ata_taskfile *tf);
++ void (* sff_exec_command)(struct ata_port *ap,
+ const struct ata_taskfile *tf);
+- unsigned int (*sff_data_xfer)(struct ata_device *dev,
++ unsigned int (* sff_data_xfer)(struct ata_device *dev,
+ unsigned char *buf, unsigned int buflen, int rw);
+- u8 (*sff_irq_on)(struct ata_port *);
+- void (*sff_irq_clear)(struct ata_port *);
++ u8 (* const sff_irq_on)(struct ata_port *);
++ void (* const sff_irq_clear)(struct ata_port *);
+
+- void (*bmdma_setup)(struct ata_queued_cmd *qc);
+- void (*bmdma_start)(struct ata_queued_cmd *qc);
+- void (*bmdma_stop)(struct ata_queued_cmd *qc);
+- u8 (*bmdma_status)(struct ata_port *ap);
++ void (* const bmdma_setup)(struct ata_queued_cmd *qc);
++ void (* const bmdma_start)(struct ata_queued_cmd *qc);
++ void (* const bmdma_stop)(struct ata_queued_cmd *qc);
++ u8 (* const bmdma_status)(struct ata_port *ap);
+
+- void (*drain_fifo)(struct ata_queued_cmd *qc);
++ void (* const drain_fifo)(struct ata_queued_cmd *qc);
+ #endif /* CONFIG_ATA_SFF */
+
+- ssize_t (*em_show)(struct ata_port *ap, char *buf);
+- ssize_t (*em_store)(struct ata_port *ap, const char *message,
++ ssize_t (* const em_show)(struct ata_port *ap, char *buf);
++ ssize_t (* const em_store)(struct ata_port *ap, const char *message,
+ size_t size);
+- ssize_t (*sw_activity_show)(struct ata_device *dev, char *buf);
+- ssize_t (*sw_activity_store)(struct ata_device *dev,
++ ssize_t (* const sw_activity_show)(struct ata_device *dev, char *buf);
++ ssize_t (* const sw_activity_store)(struct ata_device *dev,
+ enum sw_activity val);
+ /*
+ * Obsolete
+ */
+- void (*phy_reset)(struct ata_port *ap);
+- void (*eng_timeout)(struct ata_port *ap);
++ void (* const phy_reset)(struct ata_port *ap);
++ void (* const eng_timeout)(struct ata_port *ap);
+
+ /*
+ * ->inherits must be the last field and all the preceding
+@@ -875,7 +875,7 @@ struct ata_port_info {
+ unsigned long pio_mask;
+ unsigned long mwdma_mask;
+ unsigned long udma_mask;
+- struct ata_port_operations *port_ops;
++ const struct ata_port_operations *port_ops;
+ void *private_data;
+ };
+
+@@ -899,7 +899,7 @@ extern const unsigned long sata_deb_timi
+ extern const unsigned long sata_deb_timing_hotplug[];
+ extern const unsigned long sata_deb_timing_long[];
+
+-extern struct ata_port_operations ata_dummy_port_ops;
++extern const struct ata_port_operations ata_dummy_port_ops;
+ extern const struct ata_port_info ata_dummy_port_info;
+
+ static inline const unsigned long *
+@@ -945,7 +945,7 @@ extern int ata_host_activate(struct ata_
+ struct scsi_host_template *sht);
+ extern void ata_host_detach(struct ata_host *host);
+ extern void ata_host_init(struct ata_host *, struct device *,
+- unsigned long, struct ata_port_operations *);
++ unsigned long, const struct ata_port_operations *);
+ extern int ata_scsi_detect(struct scsi_host_template *sht);
+ extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg);
+ extern int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *));
diff -urNp linux-2.6.31.6/include/linux/lockd/bind.h linux-2.6.31.6/include/linux/lockd/bind.h
--- linux-2.6.31.6/include/linux/lockd/bind.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/lockd/bind.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/lockd/bind.h 2009-11-12 17:18:17.000000000 -0500
@@ -29,7 +29,7 @@ struct nlmsvc_binding {
void (*fclose)(struct file *);
};
@@ -40477,9 +43410,21 @@ diff -urNp linux-2.6.31.6/include/linux/lockd/bind.h linux-2.6.31.6/include/linu
/*
* Similar to nfs_client_initdata, but without the NFS-specific
+diff -urNp linux-2.6.31.6/include/linux/lockd/lockd.h linux-2.6.31.6/include/linux/lockd/lockd.h
+--- linux-2.6.31.6/include/linux/lockd/lockd.h 2009-11-10 18:45:44.000000000 -0500
++++ linux-2.6.31.6/include/linux/lockd/lockd.h 2009-11-12 17:18:35.000000000 -0500
+@@ -395,7 +395,7 @@ static inline int nlm_compare_locks(cons
+ &&(fl1->fl_type == fl2->fl_type || fl2->fl_type == F_UNLCK);
+ }
+
+-extern struct lock_manager_operations nlmsvc_lock_operations;
++extern const struct lock_manager_operations nlmsvc_lock_operations;
+
+ #endif /* __KERNEL__ */
+
diff -urNp linux-2.6.31.6/include/linux/mm.h linux-2.6.31.6/include/linux/mm.h
--- linux-2.6.31.6/include/linux/mm.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/mm.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/mm.h 2009-11-12 17:18:17.000000000 -0500
@@ -104,6 +104,10 @@ extern unsigned int kobjsize(const void
#define VM_SAO 0x20000000 /* Strong Access Ordering (powerpc) */
#define VM_PFN_AT_MMAP 0x40000000 /* PFNMAP vma that is fully mapped at mmap time */
@@ -40542,7 +43487,7 @@ diff -urNp linux-2.6.31.6/include/linux/mm.h linux-2.6.31.6/include/linux/mm.h
#endif /* _LINUX_MM_H */
diff -urNp linux-2.6.31.6/include/linux/mm_types.h linux-2.6.31.6/include/linux/mm_types.h
--- linux-2.6.31.6/include/linux/mm_types.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/mm_types.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/mm_types.h 2009-11-12 17:18:17.000000000 -0500
@@ -171,7 +171,7 @@ struct vm_area_struct {
struct anon_vma *anon_vma; /* Serialized by page_table_lock */
@@ -40588,7 +43533,7 @@ diff -urNp linux-2.6.31.6/include/linux/mm_types.h linux-2.6.31.6/include/linux/
/* Future-safe accessor for struct mm_struct's cpu_vm_mask. */
diff -urNp linux-2.6.31.6/include/linux/mmu_notifier.h linux-2.6.31.6/include/linux/mmu_notifier.h
--- linux-2.6.31.6/include/linux/mmu_notifier.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/mmu_notifier.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/mmu_notifier.h 2009-11-12 17:18:17.000000000 -0500
@@ -217,12 +217,12 @@ static inline void mmu_notifier_mm_destr
*/
#define ptep_clear_flush_notify(__vma, __address, __ptep) \
@@ -40607,7 +43552,7 @@ diff -urNp linux-2.6.31.6/include/linux/mmu_notifier.h linux-2.6.31.6/include/li
#define ptep_clear_flush_young_notify(__vma, __address, __ptep) \
diff -urNp linux-2.6.31.6/include/linux/mod_devicetable.h linux-2.6.31.6/include/linux/mod_devicetable.h
--- linux-2.6.31.6/include/linux/mod_devicetable.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/mod_devicetable.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/mod_devicetable.h 2009-11-12 17:18:17.000000000 -0500
@@ -12,7 +12,7 @@
typedef unsigned long kernel_ulong_t;
#endif
@@ -40628,7 +43573,7 @@ diff -urNp linux-2.6.31.6/include/linux/mod_devicetable.h linux-2.6.31.6/include
__u16 bus;
diff -urNp linux-2.6.31.6/include/linux/module.h linux-2.6.31.6/include/linux/module.h
--- linux-2.6.31.6/include/linux/module.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/module.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/module.h 2009-11-12 17:18:17.000000000 -0500
@@ -283,16 +283,16 @@ struct module
int (*init)(void);
@@ -40715,7 +43660,7 @@ diff -urNp linux-2.6.31.6/include/linux/module.h linux-2.6.31.6/include/linux/mo
#endif
diff -urNp linux-2.6.31.6/include/linux/moduleloader.h linux-2.6.31.6/include/linux/moduleloader.h
--- linux-2.6.31.6/include/linux/moduleloader.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/moduleloader.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/moduleloader.h 2009-11-12 17:18:17.000000000 -0500
@@ -20,9 +20,21 @@ unsigned int arch_mod_section_prepend(st
sections. Returns NULL on failure. */
void *module_alloc(unsigned long size);
@@ -40740,7 +43685,7 @@ diff -urNp linux-2.6.31.6/include/linux/moduleloader.h linux-2.6.31.6/include/li
int apply_relocate(Elf_Shdr *sechdrs,
diff -urNp linux-2.6.31.6/include/linux/namei.h linux-2.6.31.6/include/linux/namei.h
--- linux-2.6.31.6/include/linux/namei.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/namei.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/namei.h 2009-11-12 17:18:17.000000000 -0500
@@ -22,7 +22,7 @@ struct nameidata {
unsigned int flags;
int last_type;
@@ -40767,7 +43712,7 @@ diff -urNp linux-2.6.31.6/include/linux/namei.h linux-2.6.31.6/include/linux/nam
}
diff -urNp linux-2.6.31.6/include/linux/nfsd/nfsd.h linux-2.6.31.6/include/linux/nfsd/nfsd.h
--- linux-2.6.31.6/include/linux/nfsd/nfsd.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/nfsd/nfsd.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/nfsd/nfsd.h 2009-11-12 17:18:17.000000000 -0500
@@ -57,7 +57,7 @@ extern u32 nfsd_supported_minorversion
extern struct mutex nfsd_mutex;
extern struct svc_serv *nfsd_serv;
@@ -40779,7 +43724,7 @@ diff -urNp linux-2.6.31.6/include/linux/nfsd/nfsd.h linux-2.6.31.6/include/linux
* Function prototypes.
diff -urNp linux-2.6.31.6/include/linux/nodemask.h linux-2.6.31.6/include/linux/nodemask.h
--- linux-2.6.31.6/include/linux/nodemask.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/nodemask.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/nodemask.h 2009-11-12 17:18:17.000000000 -0500
@@ -464,11 +464,11 @@ static inline int num_node_state(enum no
#define any_online_node(mask) \
@@ -40798,7 +43743,7 @@ diff -urNp linux-2.6.31.6/include/linux/nodemask.h linux-2.6.31.6/include/linux/
#define num_online_nodes() num_node_state(N_ONLINE)
diff -urNp linux-2.6.31.6/include/linux/oprofile.h linux-2.6.31.6/include/linux/oprofile.h
--- linux-2.6.31.6/include/linux/oprofile.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/oprofile.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/oprofile.h 2009-11-12 17:18:17.000000000 -0500
@@ -128,7 +128,7 @@ int oprofilefs_create_ro_ulong(struct su
/** Create a file for read-only access to an atomic_t. */
@@ -40810,7 +43755,7 @@ diff -urNp linux-2.6.31.6/include/linux/oprofile.h linux-2.6.31.6/include/linux/
struct dentry * oprofilefs_mkdir(struct super_block * sb, struct dentry * root,
diff -urNp linux-2.6.31.6/include/linux/pipe_fs_i.h linux-2.6.31.6/include/linux/pipe_fs_i.h
--- linux-2.6.31.6/include/linux/pipe_fs_i.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/pipe_fs_i.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/pipe_fs_i.h 2009-11-12 17:18:17.000000000 -0500
@@ -46,9 +46,9 @@ struct pipe_inode_info {
wait_queue_head_t wait;
unsigned int nrbufs, curbuf;
@@ -40826,7 +43771,7 @@ diff -urNp linux-2.6.31.6/include/linux/pipe_fs_i.h linux-2.6.31.6/include/linux
struct fasync_struct *fasync_readers;
diff -urNp linux-2.6.31.6/include/linux/poison.h linux-2.6.31.6/include/linux/poison.h
--- linux-2.6.31.6/include/linux/poison.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/poison.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/poison.h 2009-11-12 17:18:17.000000000 -0500
@@ -7,8 +7,8 @@
* under normal circumstances, used to verify that nobody uses
* non-initialized list entries.
@@ -40840,7 +43785,7 @@ diff -urNp linux-2.6.31.6/include/linux/poison.h linux-2.6.31.6/include/linux/po
/*
diff -urNp linux-2.6.31.6/include/linux/proc_fs.h linux-2.6.31.6/include/linux/proc_fs.h
--- linux-2.6.31.6/include/linux/proc_fs.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/proc_fs.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/proc_fs.h 2009-11-12 17:18:17.000000000 -0500
@@ -146,6 +146,19 @@ static inline struct proc_dir_entry *pro
return proc_create_data(name, mode, parent, proc_fops, NULL);
}
@@ -40863,7 +43808,7 @@ diff -urNp linux-2.6.31.6/include/linux/proc_fs.h linux-2.6.31.6/include/linux/p
read_proc_t *read_proc, void * data)
diff -urNp linux-2.6.31.6/include/linux/random.h linux-2.6.31.6/include/linux/random.h
--- linux-2.6.31.6/include/linux/random.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/random.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/random.h 2009-11-12 17:18:17.000000000 -0500
@@ -74,6 +74,11 @@ unsigned long randomize_range(unsigned l
u32 random32(void);
void srandom32(u32 seed);
@@ -40878,7 +43823,7 @@ diff -urNp linux-2.6.31.6/include/linux/random.h linux-2.6.31.6/include/linux/ra
#endif /* _LINUX_RANDOM_H */
diff -urNp linux-2.6.31.6/include/linux/reiserfs_fs.h linux-2.6.31.6/include/linux/reiserfs_fs.h
--- linux-2.6.31.6/include/linux/reiserfs_fs.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/reiserfs_fs.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/reiserfs_fs.h 2009-11-12 17:18:35.000000000 -0500
@@ -1326,7 +1326,7 @@ static inline loff_t max_reiserfs_offset
#define REISERFS_USER_MEM 1 /* reiserfs user memory mode */
@@ -40888,9 +43833,46 @@ diff -urNp linux-2.6.31.6/include/linux/reiserfs_fs.h linux-2.6.31.6/include/lin
#define FILESYSTEM_CHANGED_TB(tb) (get_generation((tb)->tb_sb) != (tb)->fs_gen)
#define __fs_changed(gen,s) (gen != get_generation (s))
#define fs_changed(gen,s) ({cond_resched(); __fs_changed(gen, s);})
+@@ -1534,24 +1534,24 @@ static inline struct super_block *sb_fro
+ */
+
+ struct item_operations {
+- int (*bytes_number) (struct item_head * ih, int block_size);
+- void (*decrement_key) (struct cpu_key *);
+- int (*is_left_mergeable) (struct reiserfs_key * ih,
++ int (* const bytes_number) (struct item_head * ih, int block_size);
++ void (* const decrement_key) (struct cpu_key *);
++ int (* const is_left_mergeable) (struct reiserfs_key * ih,
+ unsigned long bsize);
+- void (*print_item) (struct item_head *, char *item);
+- void (*check_item) (struct item_head *, char *item);
++ void (* const print_item) (struct item_head *, char *item);
++ void (* const check_item) (struct item_head *, char *item);
+
+- int (*create_vi) (struct virtual_node * vn, struct virtual_item * vi,
++ int (* const create_vi) (struct virtual_node * vn, struct virtual_item * vi,
+ int is_affected, int insert_size);
+- int (*check_left) (struct virtual_item * vi, int free,
++ int (* const check_left) (struct virtual_item * vi, int free,
+ int start_skip, int end_skip);
+- int (*check_right) (struct virtual_item * vi, int free);
+- int (*part_size) (struct virtual_item * vi, int from, int to);
+- int (*unit_num) (struct virtual_item * vi);
+- void (*print_vi) (struct virtual_item * vi);
++ int (* const check_right) (struct virtual_item * vi, int free);
++ int (* const part_size) (struct virtual_item * vi, int from, int to);
++ int (* const unit_num) (struct virtual_item * vi);
++ void (* const print_vi) (struct virtual_item * vi);
+ };
+
+-extern struct item_operations *item_ops[TYPE_ANY + 1];
++extern const struct item_operations *item_ops[TYPE_ANY + 1];
+
+ #define op_bytes_number(ih,bsize) item_ops[le_ih_k_type (ih)]->bytes_number (ih, bsize)
+ #define op_is_left_mergeable(key,bsize) item_ops[le_key_k_type (le_key_version (key), key)]->is_left_mergeable (key, bsize)
diff -urNp linux-2.6.31.6/include/linux/reiserfs_fs_sb.h linux-2.6.31.6/include/linux/reiserfs_fs_sb.h
--- linux-2.6.31.6/include/linux/reiserfs_fs_sb.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/reiserfs_fs_sb.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/reiserfs_fs_sb.h 2009-11-12 17:18:17.000000000 -0500
@@ -377,7 +377,7 @@ struct reiserfs_sb_info {
/* Comment? -Hans */
wait_queue_head_t s_wait;
@@ -40902,7 +43884,7 @@ diff -urNp linux-2.6.31.6/include/linux/reiserfs_fs_sb.h linux-2.6.31.6/include/
on-disk FS format */
diff -urNp linux-2.6.31.6/include/linux/sched.h linux-2.6.31.6/include/linux/sched.h
--- linux-2.6.31.6/include/linux/sched.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/sched.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/sched.h 2009-11-12 17:18:17.000000000 -0500
@@ -99,6 +99,7 @@ struct bio;
struct fs_struct;
struct bts_context;
@@ -41078,7 +44060,7 @@ diff -urNp linux-2.6.31.6/include/linux/sched.h linux-2.6.31.6/include/linux/sch
diff -urNp linux-2.6.31.6/include/linux/screen_info.h linux-2.6.31.6/include/linux/screen_info.h
--- linux-2.6.31.6/include/linux/screen_info.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/screen_info.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/screen_info.h 2009-11-12 17:18:17.000000000 -0500
@@ -42,7 +42,8 @@ struct screen_info {
__u16 pages; /* 0x32 */
__u16 vesa_attributes; /* 0x34 */
@@ -41091,7 +44073,7 @@ diff -urNp linux-2.6.31.6/include/linux/screen_info.h linux-2.6.31.6/include/lin
#define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */
diff -urNp linux-2.6.31.6/include/linux/security.h linux-2.6.31.6/include/linux/security.h
--- linux-2.6.31.6/include/linux/security.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/security.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/security.h 2009-11-12 17:18:17.000000000 -0500
@@ -34,6 +34,7 @@
#include <linux/key.h>
#include <linux/xfrm.h>
@@ -41102,7 +44084,7 @@ diff -urNp linux-2.6.31.6/include/linux/security.h linux-2.6.31.6/include/linux/
/* Maximum number of letters for an LSM name string */
diff -urNp linux-2.6.31.6/include/linux/shm.h linux-2.6.31.6/include/linux/shm.h
--- linux-2.6.31.6/include/linux/shm.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/shm.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/shm.h 2009-11-12 17:18:17.000000000 -0500
@@ -95,6 +95,10 @@ struct shmid_kernel /* private to the ke
pid_t shm_cprid;
pid_t shm_lprid;
@@ -41116,7 +44098,7 @@ diff -urNp linux-2.6.31.6/include/linux/shm.h linux-2.6.31.6/include/linux/shm.h
/* shm_mode upper byte flags */
diff -urNp linux-2.6.31.6/include/linux/slab.h linux-2.6.31.6/include/linux/slab.h
--- linux-2.6.31.6/include/linux/slab.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/slab.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/slab.h 2009-11-12 17:18:17.000000000 -0500
@@ -11,6 +11,7 @@
#include <linux/gfp.h>
@@ -41190,7 +44172,7 @@ diff -urNp linux-2.6.31.6/include/linux/slab.h linux-2.6.31.6/include/linux/slab
#endif /* _LINUX_SLAB_H */
diff -urNp linux-2.6.31.6/include/linux/slub_def.h linux-2.6.31.6/include/linux/slub_def.h
--- linux-2.6.31.6/include/linux/slub_def.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/slub_def.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/slub_def.h 2009-11-12 17:18:17.000000000 -0500
@@ -86,7 +86,7 @@ struct kmem_cache {
struct kmem_cache_order_objects max;
struct kmem_cache_order_objects min;
@@ -41202,7 +44184,7 @@ diff -urNp linux-2.6.31.6/include/linux/slub_def.h linux-2.6.31.6/include/linux/
int align; /* Alignment */
diff -urNp linux-2.6.31.6/include/linux/sonet.h linux-2.6.31.6/include/linux/sonet.h
--- linux-2.6.31.6/include/linux/sonet.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/sonet.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/sonet.h 2009-11-12 17:18:17.000000000 -0500
@@ -61,7 +61,7 @@ struct sonet_stats {
#include <asm/atomic.h>
@@ -41214,7 +44196,7 @@ diff -urNp linux-2.6.31.6/include/linux/sonet.h linux-2.6.31.6/include/linux/son
};
diff -urNp linux-2.6.31.6/include/linux/suspend.h linux-2.6.31.6/include/linux/suspend.h
--- linux-2.6.31.6/include/linux/suspend.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/suspend.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/suspend.h 2009-11-12 17:18:17.000000000 -0500
@@ -120,7 +120,7 @@ struct platform_suspend_ops {
* suspend_set_ops - set platform dependent suspend operations
* @ops: The new suspend operations to set.
@@ -41244,7 +44226,7 @@ diff -urNp linux-2.6.31.6/include/linux/suspend.h linux-2.6.31.6/include/linux/s
#endif /* CONFIG_HIBERNATION */
diff -urNp linux-2.6.31.6/include/linux/sysctl.h linux-2.6.31.6/include/linux/sysctl.h
--- linux-2.6.31.6/include/linux/sysctl.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/sysctl.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/sysctl.h 2009-11-12 17:18:17.000000000 -0500
@@ -165,7 +165,11 @@ enum
KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */
};
@@ -41258,9 +44240,23 @@ diff -urNp linux-2.6.31.6/include/linux/sysctl.h linux-2.6.31.6/include/linux/sy
/* CTL_VM names: */
enum
+diff -urNp linux-2.6.31.6/include/linux/sysfs.h linux-2.6.31.6/include/linux/sysfs.h
+--- linux-2.6.31.6/include/linux/sysfs.h 2009-11-10 18:45:44.000000000 -0500
++++ linux-2.6.31.6/include/linux/sysfs.h 2009-11-12 17:18:35.000000000 -0500
+@@ -75,8 +75,8 @@ struct bin_attribute {
+ };
+
+ struct sysfs_ops {
+- ssize_t (*show)(struct kobject *, struct attribute *,char *);
+- ssize_t (*store)(struct kobject *,struct attribute *,const char *, size_t);
++ ssize_t (* const show)(struct kobject *, struct attribute *,char *);
++ ssize_t (* const store)(struct kobject *,struct attribute *,const char *, size_t);
+ };
+
+ struct sysfs_dirent;
diff -urNp linux-2.6.31.6/include/linux/thread_info.h linux-2.6.31.6/include/linux/thread_info.h
--- linux-2.6.31.6/include/linux/thread_info.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/thread_info.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/thread_info.h 2009-11-12 17:18:17.000000000 -0500
@@ -23,7 +23,7 @@ struct restart_block {
};
/* For futex_wait and futex_wait_requeue_pi */
@@ -41272,7 +44268,7 @@ diff -urNp linux-2.6.31.6/include/linux/thread_info.h linux-2.6.31.6/include/lin
u32 bitset;
diff -urNp linux-2.6.31.6/include/linux/tty_ldisc.h linux-2.6.31.6/include/linux/tty_ldisc.h
--- linux-2.6.31.6/include/linux/tty_ldisc.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/tty_ldisc.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/tty_ldisc.h 2009-11-12 17:18:17.000000000 -0500
@@ -139,7 +139,7 @@ struct tty_ldisc_ops {
struct module *owner;
@@ -41284,7 +44280,7 @@ diff -urNp linux-2.6.31.6/include/linux/tty_ldisc.h linux-2.6.31.6/include/linux
struct tty_ldisc {
diff -urNp linux-2.6.31.6/include/linux/types.h linux-2.6.31.6/include/linux/types.h
--- linux-2.6.31.6/include/linux/types.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/types.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/types.h 2009-11-12 17:18:17.000000000 -0500
@@ -191,10 +191,26 @@ typedef struct {
volatile int counter;
} atomic_t;
@@ -41314,7 +44310,7 @@ diff -urNp linux-2.6.31.6/include/linux/types.h linux-2.6.31.6/include/linux/typ
struct ustat {
diff -urNp linux-2.6.31.6/include/linux/uaccess.h linux-2.6.31.6/include/linux/uaccess.h
--- linux-2.6.31.6/include/linux/uaccess.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/uaccess.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/uaccess.h 2009-11-12 17:18:17.000000000 -0500
@@ -76,11 +76,11 @@ static inline unsigned long __copy_from_
long ret; \
mm_segment_t old_fs = get_fs(); \
@@ -41348,7 +44344,7 @@ diff -urNp linux-2.6.31.6/include/linux/uaccess.h linux-2.6.31.6/include/linux/u
#endif /* __LINUX_UACCESS_H__ */
diff -urNp linux-2.6.31.6/include/linux/vmalloc.h linux-2.6.31.6/include/linux/vmalloc.h
--- linux-2.6.31.6/include/linux/vmalloc.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/linux/vmalloc.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/linux/vmalloc.h 2009-11-12 17:18:17.000000000 -0500
@@ -13,6 +13,11 @@ struct vm_area_struct; /* vma defining
#define VM_MAP 0x00000004 /* vmap()ed pages */
#define VM_USERMAP 0x00000008 /* suitable for remap_vmalloc_range */
@@ -41445,7 +44441,7 @@ diff -urNp linux-2.6.31.6/include/linux/vmalloc.h linux-2.6.31.6/include/linux/v
#endif /* _LINUX_VMALLOC_H */
diff -urNp linux-2.6.31.6/include/net/irda/ircomm_tty.h linux-2.6.31.6/include/net/irda/ircomm_tty.h
--- linux-2.6.31.6/include/net/irda/ircomm_tty.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/net/irda/ircomm_tty.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/net/irda/ircomm_tty.h 2009-11-12 17:18:17.000000000 -0500
@@ -105,8 +105,8 @@ struct ircomm_tty_cb {
unsigned short close_delay;
unsigned short closing_wait; /* time to wait before closing */
@@ -41459,7 +44455,7 @@ diff -urNp linux-2.6.31.6/include/net/irda/ircomm_tty.h linux-2.6.31.6/include/n
* o self->open_count
diff -urNp linux-2.6.31.6/include/net/sctp/sctp.h linux-2.6.31.6/include/net/sctp/sctp.h
--- linux-2.6.31.6/include/net/sctp/sctp.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/net/sctp/sctp.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/net/sctp/sctp.h 2009-11-12 17:18:17.000000000 -0500
@@ -305,8 +305,8 @@ extern int sctp_debug_flag;
#else /* SCTP_DEBUG */
@@ -41471,9 +44467,49 @@ diff -urNp linux-2.6.31.6/include/net/sctp/sctp.h linux-2.6.31.6/include/net/sct
#define SCTP_ENABLE_DEBUG
#define SCTP_DISABLE_DEBUG
#define SCTP_ASSERT(expr, str, func)
+diff -urNp linux-2.6.31.6/include/net/tcp.h linux-2.6.31.6/include/net/tcp.h
+--- linux-2.6.31.6/include/net/tcp.h 2009-11-10 18:45:45.000000000 -0500
++++ linux-2.6.31.6/include/net/tcp.h 2009-11-12 17:18:35.000000000 -0500
+@@ -667,26 +667,26 @@ struct tcp_congestion_ops {
+ unsigned long flags;
+
+ /* initialize private data (optional) */
+- void (*init)(struct sock *sk);
++ void (* const init)(struct sock *sk);
+ /* cleanup private data (optional) */
+- void (*release)(struct sock *sk);
++ void (* const release)(struct sock *sk);
+
+ /* return slow start threshold (required) */
+- u32 (*ssthresh)(struct sock *sk);
++ u32 (* const ssthresh)(struct sock *sk);
+ /* lower bound for congestion window (optional) */
+- u32 (*min_cwnd)(const struct sock *sk);
++ u32 (* const min_cwnd)(const struct sock *sk);
+ /* do new cwnd calculation (required) */
+- void (*cong_avoid)(struct sock *sk, u32 ack, u32 in_flight);
++ void (* const cong_avoid)(struct sock *sk, u32 ack, u32 in_flight);
+ /* call before changing ca_state (optional) */
+- void (*set_state)(struct sock *sk, u8 new_state);
++ void (* const set_state)(struct sock *sk, u8 new_state);
+ /* call when cwnd event occurs (optional) */
+- void (*cwnd_event)(struct sock *sk, enum tcp_ca_event ev);
++ void (* const cwnd_event)(struct sock *sk, enum tcp_ca_event ev);
+ /* new value of cwnd after loss (optional) */
+- u32 (*undo_cwnd)(struct sock *sk);
++ u32 (* const undo_cwnd)(struct sock *sk);
+ /* hook for packet ack accounting (optional) */
+- void (*pkts_acked)(struct sock *sk, u32 num_acked, s32 rtt_us);
++ void (* const pkts_acked)(struct sock *sk, u32 num_acked, s32 rtt_us);
+ /* get info for inet_diag (optional) */
+- void (*get_info)(struct sock *sk, u32 ext, struct sk_buff *skb);
++ void (* const get_info)(struct sock *sk, u32 ext, struct sk_buff *skb);
+
+ char name[TCP_CA_NAME_MAX];
+ struct module *owner;
diff -urNp linux-2.6.31.6/include/sound/ac97_codec.h linux-2.6.31.6/include/sound/ac97_codec.h
--- linux-2.6.31.6/include/sound/ac97_codec.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/sound/ac97_codec.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/sound/ac97_codec.h 2009-11-12 17:18:17.000000000 -0500
@@ -474,7 +474,7 @@ struct snd_ac97_template {
struct snd_ac97 {
@@ -41485,7 +44521,7 @@ diff -urNp linux-2.6.31.6/include/sound/ac97_codec.h linux-2.6.31.6/include/soun
/* --- */
diff -urNp linux-2.6.31.6/include/sound/core.h linux-2.6.31.6/include/sound/core.h
--- linux-2.6.31.6/include/sound/core.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/sound/core.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/sound/core.h 2009-11-12 17:18:17.000000000 -0500
@@ -430,7 +430,7 @@ static inline int __snd_bug_on(int cond)
*/
#define snd_printdd(format, args...) snd_printk(format, ##args)
@@ -41497,7 +44533,7 @@ diff -urNp linux-2.6.31.6/include/sound/core.h linux-2.6.31.6/include/sound/core
diff -urNp linux-2.6.31.6/include/video/uvesafb.h linux-2.6.31.6/include/video/uvesafb.h
--- linux-2.6.31.6/include/video/uvesafb.h 2009-11-10 18:45:44.000000000 -0500
-+++ linux-2.6.31.6/include/video/uvesafb.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/include/video/uvesafb.h 2009-11-12 17:18:17.000000000 -0500
@@ -177,6 +177,7 @@ struct uvesafb_par {
u8 ypan; /* 0 - nothing, 1 - ypan, 2 - ywrap */
u8 pmi_setpal; /* PMI for palette changes */
@@ -41508,7 +44544,7 @@ diff -urNp linux-2.6.31.6/include/video/uvesafb.h linux-2.6.31.6/include/video/u
u8 *vbe_state_orig; /*
diff -urNp linux-2.6.31.6/init/do_mounts.c linux-2.6.31.6/init/do_mounts.c
--- linux-2.6.31.6/init/do_mounts.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/init/do_mounts.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/init/do_mounts.c 2009-11-12 17:18:17.000000000 -0500
@@ -216,11 +216,11 @@ static void __init get_fs_names(char *pa
static int __init do_mount_root(char *name, char *fs, int flags, void *data)
@@ -41557,7 +44593,7 @@ diff -urNp linux-2.6.31.6/init/do_mounts.c linux-2.6.31.6/init/do_mounts.c
diff -urNp linux-2.6.31.6/init/do_mounts.h linux-2.6.31.6/init/do_mounts.h
--- linux-2.6.31.6/init/do_mounts.h 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/init/do_mounts.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/init/do_mounts.h 2009-11-12 17:18:17.000000000 -0500
@@ -15,15 +15,15 @@ extern int root_mountflags;
static inline int create_dev(char *name, dev_t dev)
@@ -41579,7 +44615,7 @@ diff -urNp linux-2.6.31.6/init/do_mounts.h linux-2.6.31.6/init/do_mounts.h
return 0;
diff -urNp linux-2.6.31.6/init/do_mounts_initrd.c linux-2.6.31.6/init/do_mounts_initrd.c
--- linux-2.6.31.6/init/do_mounts_initrd.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/init/do_mounts_initrd.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/init/do_mounts_initrd.c 2009-11-12 17:18:17.000000000 -0500
@@ -32,7 +32,7 @@ static int __init do_linuxrc(void * shel
sys_close(old_fd);sys_close(root_fd);
sys_close(0);sys_close(1);sys_close(2);
@@ -41665,7 +44701,7 @@ diff -urNp linux-2.6.31.6/init/do_mounts_initrd.c linux-2.6.31.6/init/do_mounts_
}
diff -urNp linux-2.6.31.6/init/do_mounts_md.c linux-2.6.31.6/init/do_mounts_md.c
--- linux-2.6.31.6/init/do_mounts_md.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/init/do_mounts_md.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/init/do_mounts_md.c 2009-11-12 17:18:17.000000000 -0500
@@ -170,7 +170,7 @@ static void __init md_setup_drive(void)
partitioned ? "_d" : "", minor,
md_setup_args[ent].device_names);
@@ -41695,7 +44731,7 @@ diff -urNp linux-2.6.31.6/init/do_mounts_md.c linux-2.6.31.6/init/do_mounts_md.c
sys_close(fd);
diff -urNp linux-2.6.31.6/init/initramfs.c linux-2.6.31.6/init/initramfs.c
--- linux-2.6.31.6/init/initramfs.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/init/initramfs.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/init/initramfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -74,7 +74,7 @@ static void __init free_hash(void)
}
}
@@ -41806,7 +44842,7 @@ diff -urNp linux-2.6.31.6/init/initramfs.c linux-2.6.31.6/init/initramfs.c
return 0;
diff -urNp linux-2.6.31.6/init/Kconfig linux-2.6.31.6/init/Kconfig
--- linux-2.6.31.6/init/Kconfig 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/init/Kconfig 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/init/Kconfig 2009-11-12 17:18:17.000000000 -0500
@@ -1014,7 +1014,7 @@ config STRIP_ASM_SYMS
config COMPAT_BRK
@@ -41830,7 +44866,7 @@ diff -urNp linux-2.6.31.6/init/Kconfig linux-2.6.31.6/init/Kconfig
boolean
diff -urNp linux-2.6.31.6/init/main.c linux-2.6.31.6/init/main.c
--- linux-2.6.31.6/init/main.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/init/main.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/init/main.c 2009-11-12 17:18:17.000000000 -0500
@@ -96,6 +96,7 @@ static inline void mark_rodata_ro(void)
#ifdef CONFIG_TC
extern void tc_init(void);
@@ -41971,7 +45007,7 @@ diff -urNp linux-2.6.31.6/init/main.c linux-2.6.31.6/init/main.c
* we're essentially up and running. Get rid of the
diff -urNp linux-2.6.31.6/init/noinitramfs.c linux-2.6.31.6/init/noinitramfs.c
--- linux-2.6.31.6/init/noinitramfs.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/init/noinitramfs.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/init/noinitramfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -29,7 +29,7 @@ static int __init default_rootfs(void)
{
int err;
@@ -41992,7 +45028,7 @@ diff -urNp linux-2.6.31.6/init/noinitramfs.c linux-2.6.31.6/init/noinitramfs.c
diff -urNp linux-2.6.31.6/ipc/ipc_sysctl.c linux-2.6.31.6/ipc/ipc_sysctl.c
--- linux-2.6.31.6/ipc/ipc_sysctl.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/ipc/ipc_sysctl.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/ipc/ipc_sysctl.c 2009-11-12 17:18:17.000000000 -0500
@@ -267,7 +267,7 @@ static struct ctl_table ipc_kern_table[]
.extra1 = &zero,
.extra2 = &one,
@@ -42013,7 +45049,7 @@ diff -urNp linux-2.6.31.6/ipc/ipc_sysctl.c linux-2.6.31.6/ipc/ipc_sysctl.c
static int __init ipc_sysctl_init(void)
diff -urNp linux-2.6.31.6/ipc/mqueue.c linux-2.6.31.6/ipc/mqueue.c
--- linux-2.6.31.6/ipc/mqueue.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/ipc/mqueue.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/ipc/mqueue.c 2009-11-12 17:18:17.000000000 -0500
@@ -77,7 +77,7 @@ struct mqueue_inode_info {
static const struct inode_operations mqueue_dir_inode_operations;
@@ -42042,7 +45078,7 @@ diff -urNp linux-2.6.31.6/ipc/mqueue.c linux-2.6.31.6/ipc/mqueue.c
.statfs = simple_statfs,
diff -urNp linux-2.6.31.6/ipc/shm.c linux-2.6.31.6/ipc/shm.c
--- linux-2.6.31.6/ipc/shm.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/ipc/shm.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/ipc/shm.c 2009-11-12 17:18:17.000000000 -0500
@@ -55,7 +55,7 @@ struct shm_file_data {
#define shm_file_data(file) (*((struct shm_file_data **)&(file)->private_data))
@@ -42115,7 +45151,7 @@ diff -urNp linux-2.6.31.6/ipc/shm.c linux-2.6.31.6/ipc/shm.c
diff -urNp linux-2.6.31.6/ipc/util.c linux-2.6.31.6/ipc/util.c
--- linux-2.6.31.6/ipc/util.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/ipc/util.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/ipc/util.c 2009-11-12 17:18:17.000000000 -0500
@@ -942,7 +942,7 @@ static int sysvipc_proc_show(struct seq_
return iface->show(s, it);
}
@@ -42127,7 +45163,7 @@ diff -urNp linux-2.6.31.6/ipc/util.c linux-2.6.31.6/ipc/util.c
.next = sysvipc_proc_next,
diff -urNp linux-2.6.31.6/kernel/acct.c linux-2.6.31.6/kernel/acct.c
--- linux-2.6.31.6/kernel/acct.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/acct.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/acct.c 2009-11-12 17:18:17.000000000 -0500
@@ -578,7 +578,7 @@ static void do_acct_process(struct bsd_a
*/
flim = current->signal->rlim[RLIMIT_FSIZE].rlim_cur;
@@ -42139,7 +45175,7 @@ diff -urNp linux-2.6.31.6/kernel/acct.c linux-2.6.31.6/kernel/acct.c
set_fs(fs);
diff -urNp linux-2.6.31.6/kernel/capability.c linux-2.6.31.6/kernel/capability.c
--- linux-2.6.31.6/kernel/capability.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/capability.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/capability.c 2009-11-12 17:18:17.000000000 -0500
@@ -306,10 +306,21 @@ int capable(int cap)
BUG();
}
@@ -42165,7 +45201,7 @@ diff -urNp linux-2.6.31.6/kernel/capability.c linux-2.6.31.6/kernel/capability.c
+EXPORT_SYMBOL(capable_nolog);
diff -urNp linux-2.6.31.6/kernel/cgroup.c linux-2.6.31.6/kernel/cgroup.c
--- linux-2.6.31.6/kernel/cgroup.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/cgroup.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/cgroup.c 2009-11-12 17:18:17.000000000 -0500
@@ -596,8 +596,8 @@ void cgroup_unlock(void)
static int cgroup_mkdir(struct inode *dir, struct dentry *dentry, int mode);
static int cgroup_rmdir(struct inode *unused_dir, struct dentry *dentry);
@@ -42251,7 +45287,7 @@ diff -urNp linux-2.6.31.6/kernel/cgroup.c linux-2.6.31.6/kernel/cgroup.c
.llseek = seq_lseek,
diff -urNp linux-2.6.31.6/kernel/configs.c linux-2.6.31.6/kernel/configs.c
--- linux-2.6.31.6/kernel/configs.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/configs.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/configs.c 2009-11-12 17:18:17.000000000 -0500
@@ -73,8 +73,19 @@ static int __init ikconfig_init(void)
struct proc_dir_entry *entry;
@@ -42274,7 +45310,7 @@ diff -urNp linux-2.6.31.6/kernel/configs.c linux-2.6.31.6/kernel/configs.c
diff -urNp linux-2.6.31.6/kernel/cpu.c linux-2.6.31.6/kernel/cpu.c
--- linux-2.6.31.6/kernel/cpu.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/cpu.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/cpu.c 2009-11-12 17:18:17.000000000 -0500
@@ -19,7 +19,7 @@
/* Serializes the updates to cpu_online_mask, cpu_present_mask */
static DEFINE_MUTEX(cpu_add_remove_lock);
@@ -42286,7 +45322,7 @@ diff -urNp linux-2.6.31.6/kernel/cpu.c linux-2.6.31.6/kernel/cpu.c
* Should always be manipulated under cpu_add_remove_lock
diff -urNp linux-2.6.31.6/kernel/cred.c linux-2.6.31.6/kernel/cred.c
--- linux-2.6.31.6/kernel/cred.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/cred.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/cred.c 2009-11-12 17:18:17.000000000 -0500
@@ -366,6 +366,8 @@ int commit_creds(struct cred *new)
get_cred(new); /* we will require a ref for the subj creds too */
@@ -42298,7 +45334,7 @@ diff -urNp linux-2.6.31.6/kernel/cred.c linux-2.6.31.6/kernel/cred.c
old->egid != new->egid ||
diff -urNp linux-2.6.31.6/kernel/exit.c linux-2.6.31.6/kernel/exit.c
--- linux-2.6.31.6/kernel/exit.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/exit.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/exit.c 2009-11-12 17:18:17.000000000 -0500
@@ -56,6 +56,10 @@
#include <asm/mmu_context.h>
#include "cred-internals.h"
@@ -42390,7 +45426,7 @@ diff -urNp linux-2.6.31.6/kernel/exit.c linux-2.6.31.6/kernel/exit.c
read_unlock(&tasklist_lock);
diff -urNp linux-2.6.31.6/kernel/fork.c linux-2.6.31.6/kernel/fork.c
--- linux-2.6.31.6/kernel/fork.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/fork.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/fork.c 2009-11-12 17:18:17.000000000 -0500
@@ -244,7 +244,7 @@ static struct task_struct *dup_task_stru
*stackend = STACK_END_MAGIC; /* for overflow detection */
@@ -42534,8 +45570,16 @@ diff -urNp linux-2.6.31.6/kernel/fork.c linux-2.6.31.6/kernel/fork.c
new_fs = fs;
diff -urNp linux-2.6.31.6/kernel/futex.c linux-2.6.31.6/kernel/futex.c
--- linux-2.6.31.6/kernel/futex.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/kernel/futex.c 2009-11-10 18:53:47.000000000 -0500
-@@ -222,6 +222,11 @@ get_futex_key(u32 __user *uaddr, int fsh
++++ linux-2.6.31.6/kernel/futex.c 2009-11-15 17:03:05.000000000 -0500
+@@ -54,6 +54,7 @@
+ #include <linux/mount.h>
+ #include <linux/pagemap.h>
+ #include <linux/syscalls.h>
++#include <linux/ptrace.h>
+ #include <linux/signal.h>
+ #include <linux/module.h>
+ #include <linux/magic.h>
+@@ -222,6 +223,11 @@ get_futex_key(u32 __user *uaddr, int fsh
struct page *page;
int err;
@@ -42547,7 +45591,7 @@ diff -urNp linux-2.6.31.6/kernel/futex.c linux-2.6.31.6/kernel/futex.c
/*
* The futex address must be "naturally" aligned.
*/
-@@ -1801,7 +1806,7 @@ retry:
+@@ -1801,7 +1807,7 @@ retry:
restart = &current_thread_info()->restart_block;
restart->fn = futex_wait_restart;
@@ -42556,7 +45600,36 @@ diff -urNp linux-2.6.31.6/kernel/futex.c linux-2.6.31.6/kernel/futex.c
restart->futex.val = val;
restart->futex.time = abs_time->tv64;
restart->futex.bitset = bitset;
-@@ -2419,7 +2424,7 @@ retry:
+@@ -2337,7 +2343,10 @@ SYSCALL_DEFINE3(get_robust_list, int, pi
+ {
+ struct robust_list_head __user *head;
+ unsigned long ret;
+- const struct cred *cred = current_cred(), *pcred;
++ const struct cred *cred = current_cred();
++#ifndef CONFIG_GRKERNSEC_PROC_MEMMAP
++ const struct cred *pcred;
++#endif
+
+ if (!futex_cmpxchg_enabled)
+ return -ENOSYS;
+@@ -2353,11 +2362,16 @@ SYSCALL_DEFINE3(get_robust_list, int, pi
+ if (!p)
+ goto err_unlock;
+ ret = -EPERM;
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++ if (!ptrace_may_access(p, PTRACE_MODE_READ))
++ goto err_unlock;
++#else
+ pcred = __task_cred(p);
+ if (cred->euid != pcred->euid &&
+ cred->euid != pcred->uid &&
+ !capable(CAP_SYS_PTRACE))
+ goto err_unlock;
++#endif
+ head = p->robust_list;
+ rcu_read_unlock();
+ }
+@@ -2419,7 +2433,7 @@ retry:
*/
static inline int fetch_robust_entry(struct robust_list __user **entry,
struct robust_list __user * __user *head,
@@ -42565,9 +45638,49 @@ diff -urNp linux-2.6.31.6/kernel/futex.c linux-2.6.31.6/kernel/futex.c
{
unsigned long uentry;
+diff -urNp linux-2.6.31.6/kernel/futex_compat.c linux-2.6.31.6/kernel/futex_compat.c
+--- linux-2.6.31.6/kernel/futex_compat.c 2009-11-10 18:45:43.000000000 -0500
++++ linux-2.6.31.6/kernel/futex_compat.c 2009-11-15 17:08:21.000000000 -0500
+@@ -10,6 +10,7 @@
+ #include <linux/compat.h>
+ #include <linux/nsproxy.h>
+ #include <linux/futex.h>
++#include <linux/ptrace.h>
+
+ #include <asm/uaccess.h>
+
+@@ -135,7 +136,10 @@ compat_sys_get_robust_list(int pid, comp
+ {
+ struct compat_robust_list_head __user *head;
+ unsigned long ret;
+- const struct cred *cred = current_cred(), *pcred;
++ const struct cred *cred = current_cred();
++#ifndef CONFIG_GRKERNSEC_PROC_MEMMAP
++ const struct cred *pcred;
++#endif
+
+ if (!futex_cmpxchg_enabled)
+ return -ENOSYS;
+@@ -151,11 +155,16 @@ compat_sys_get_robust_list(int pid, comp
+ if (!p)
+ goto err_unlock;
+ ret = -EPERM;
++#ifdef CONFIG_GRKERNSEC_PROC_MEMMAP
++ if (!ptrace_may_access(p, PTRACE_MODE_READ))
++ goto err_unlock;
++#else
+ pcred = __task_cred(p);
+ if (cred->euid != pcred->euid &&
+ cred->euid != pcred->uid &&
+ !capable(CAP_SYS_PTRACE))
+ goto err_unlock;
++#endif
+ head = p->compat_robust_list;
+ read_unlock(&tasklist_lock);
+ }
diff -urNp linux-2.6.31.6/kernel/gcov/base.c linux-2.6.31.6/kernel/gcov/base.c
--- linux-2.6.31.6/kernel/gcov/base.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/gcov/base.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/gcov/base.c 2009-11-12 17:18:17.000000000 -0500
@@ -102,11 +102,6 @@ void gcov_enable_events(void)
}
@@ -42591,7 +45704,7 @@ diff -urNp linux-2.6.31.6/kernel/gcov/base.c linux-2.6.31.6/kernel/gcov/base.c
else
diff -urNp linux-2.6.31.6/kernel/kallsyms.c linux-2.6.31.6/kernel/kallsyms.c
--- linux-2.6.31.6/kernel/kallsyms.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/kallsyms.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/kallsyms.c 2009-11-12 17:18:17.000000000 -0500
@@ -11,6 +11,9 @@
* Changed the compression method from stem compression to "table lookup"
* compression (see scripts/kallsyms.c for a more complete description)
@@ -42661,7 +45774,7 @@ diff -urNp linux-2.6.31.6/kernel/kallsyms.c linux-2.6.31.6/kernel/kallsyms.c
device_initcall(kallsyms_init);
diff -urNp linux-2.6.31.6/kernel/kgdb.c linux-2.6.31.6/kernel/kgdb.c
--- linux-2.6.31.6/kernel/kgdb.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/kgdb.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/kgdb.c 2009-11-12 17:18:17.000000000 -0500
@@ -86,7 +86,7 @@ static int kgdb_io_module_registered;
/* Guard for recursive entry */
static int exception_level;
@@ -42691,7 +45804,7 @@ diff -urNp linux-2.6.31.6/kernel/kgdb.c linux-2.6.31.6/kernel/kgdb.c
diff -urNp linux-2.6.31.6/kernel/kmod.c linux-2.6.31.6/kernel/kmod.c
--- linux-2.6.31.6/kernel/kmod.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/kmod.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/kmod.c 2009-11-12 17:18:17.000000000 -0500
@@ -84,6 +84,18 @@ int __request_module(bool wait, const ch
if (ret >= MODULE_NAME_LEN)
return -ENAMETOOLONG;
@@ -42713,7 +45826,7 @@ diff -urNp linux-2.6.31.6/kernel/kmod.c linux-2.6.31.6/kernel/kmod.c
* MAX_KMOD_CONCURRENT, whichever is the smaller. A cleaner method
diff -urNp linux-2.6.31.6/kernel/kprobes.c linux-2.6.31.6/kernel/kprobes.c
--- linux-2.6.31.6/kernel/kprobes.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/kprobes.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/kprobes.c 2009-11-12 17:18:17.000000000 -0500
@@ -184,7 +184,7 @@ static kprobe_opcode_t __kprobes *__get_
* kernel image and loaded module images reside. This is required
* so x86_64 can correctly handle the %rip-relative fixups.
@@ -42761,7 +45874,7 @@ diff -urNp linux-2.6.31.6/kernel/kprobes.c linux-2.6.31.6/kernel/kprobes.c
};
diff -urNp linux-2.6.31.6/kernel/lockdep.c linux-2.6.31.6/kernel/lockdep.c
--- linux-2.6.31.6/kernel/lockdep.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/lockdep.c 2009-11-10 18:44:21.000000000 -0500
++++ linux-2.6.31.6/kernel/lockdep.c 2009-11-12 17:18:17.000000000 -0500
@@ -630,6 +630,10 @@ static int static_obj(void *obj)
int i;
#endif
@@ -42793,7 +45906,7 @@ diff -urNp linux-2.6.31.6/kernel/lockdep.c linux-2.6.31.6/kernel/lockdep.c
dump_stack();
diff -urNp linux-2.6.31.6/kernel/lockdep_proc.c linux-2.6.31.6/kernel/lockdep_proc.c
--- linux-2.6.31.6/kernel/lockdep_proc.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/lockdep_proc.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/lockdep_proc.c 2009-11-12 17:18:17.000000000 -0500
@@ -670,7 +670,7 @@ static int ls_show(struct seq_file *m, v
return 0;
}
@@ -42805,7 +45918,7 @@ diff -urNp linux-2.6.31.6/kernel/lockdep_proc.c linux-2.6.31.6/kernel/lockdep_pr
.stop = ls_stop,
diff -urNp linux-2.6.31.6/kernel/module.c linux-2.6.31.6/kernel/module.c
--- linux-2.6.31.6/kernel/module.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/module.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/module.c 2009-11-12 17:18:17.000000000 -0500
@@ -83,7 +83,8 @@ static DECLARE_WAIT_QUEUE_HEAD(module_wq
static BLOCKING_NOTIFIER_HEAD(module_notify_list);
@@ -43300,7 +46413,7 @@ diff -urNp linux-2.6.31.6/kernel/module.c linux-2.6.31.6/kernel/module.c
return mod;
diff -urNp linux-2.6.31.6/kernel/panic.c linux-2.6.31.6/kernel/panic.c
--- linux-2.6.31.6/kernel/panic.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/panic.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/panic.c 2009-11-12 17:18:17.000000000 -0500
@@ -391,7 +391,8 @@ EXPORT_SYMBOL(warn_slowpath_null);
*/
void __stack_chk_fail(void)
@@ -43313,7 +46426,7 @@ diff -urNp linux-2.6.31.6/kernel/panic.c linux-2.6.31.6/kernel/panic.c
EXPORT_SYMBOL(__stack_chk_fail);
diff -urNp linux-2.6.31.6/kernel/params.c linux-2.6.31.6/kernel/params.c
--- linux-2.6.31.6/kernel/params.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/kernel/params.c 2009-11-10 18:58:37.000000000 -0500
++++ linux-2.6.31.6/kernel/params.c 2009-11-12 17:18:35.000000000 -0500
@@ -724,7 +724,7 @@ static ssize_t module_attr_store(struct
return ret;
}
@@ -43323,9 +46436,18 @@ diff -urNp linux-2.6.31.6/kernel/params.c linux-2.6.31.6/kernel/params.c
.show = module_attr_show,
.store = module_attr_store,
};
+@@ -738,7 +738,7 @@ static int uevent_filter(struct kset *ks
+ return 0;
+ }
+
+-static struct kset_uevent_ops module_uevent_ops = {
++static const struct kset_uevent_ops module_uevent_ops = {
+ .filter = uevent_filter,
+ };
+
diff -urNp linux-2.6.31.6/kernel/perf_counter.c linux-2.6.31.6/kernel/perf_counter.c
--- linux-2.6.31.6/kernel/perf_counter.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/perf_counter.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/perf_counter.c 2009-11-12 17:18:17.000000000 -0500
@@ -2231,7 +2231,7 @@ static void perf_mmap_close(struct vm_ar
}
}
@@ -43337,7 +46459,7 @@ diff -urNp linux-2.6.31.6/kernel/perf_counter.c linux-2.6.31.6/kernel/perf_count
.fault = perf_mmap_fault,
diff -urNp linux-2.6.31.6/kernel/pid.c linux-2.6.31.6/kernel/pid.c
--- linux-2.6.31.6/kernel/pid.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/pid.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/pid.c 2009-11-12 17:18:17.000000000 -0500
@@ -33,6 +33,7 @@
#include <linux/rculist.h>
#include <linux/bootmem.h>
@@ -43373,7 +46495,7 @@ diff -urNp linux-2.6.31.6/kernel/pid.c linux-2.6.31.6/kernel/pid.c
struct task_struct *find_task_by_vpid(pid_t vnr)
diff -urNp linux-2.6.31.6/kernel/posix-cpu-timers.c linux-2.6.31.6/kernel/posix-cpu-timers.c
--- linux-2.6.31.6/kernel/posix-cpu-timers.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/posix-cpu-timers.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/posix-cpu-timers.c 2009-11-12 17:18:17.000000000 -0500
@@ -6,6 +6,7 @@
#include <linux/posix-timers.h>
#include <linux/errno.h>
@@ -43400,7 +46522,7 @@ diff -urNp linux-2.6.31.6/kernel/posix-cpu-timers.c linux-2.6.31.6/kernel/posix-
* At the soft limit, send a SIGXCPU every second.
diff -urNp linux-2.6.31.6/kernel/power/hibernate.c linux-2.6.31.6/kernel/power/hibernate.c
--- linux-2.6.31.6/kernel/power/hibernate.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/power/hibernate.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/power/hibernate.c 2009-11-12 17:18:17.000000000 -0500
@@ -48,14 +48,14 @@ enum {
static int hibernation_mode = HIBERNATION_SHUTDOWN;
@@ -43420,7 +46542,7 @@ diff -urNp linux-2.6.31.6/kernel/power/hibernate.c linux-2.6.31.6/kernel/power/h
&& ops->prepare && ops->finish && ops->enter && ops->pre_restore
diff -urNp linux-2.6.31.6/kernel/power/poweroff.c linux-2.6.31.6/kernel/power/poweroff.c
--- linux-2.6.31.6/kernel/power/poweroff.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/power/poweroff.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/power/poweroff.c 2009-11-12 17:18:17.000000000 -0500
@@ -37,7 +37,7 @@ static struct sysrq_key_op sysrq_powerof
.enable_mask = SYSRQ_ENABLE_BOOT,
};
@@ -43432,7 +46554,7 @@ diff -urNp linux-2.6.31.6/kernel/power/poweroff.c linux-2.6.31.6/kernel/power/po
return 0;
diff -urNp linux-2.6.31.6/kernel/power/process.c linux-2.6.31.6/kernel/power/process.c
--- linux-2.6.31.6/kernel/power/process.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/power/process.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/power/process.c 2009-11-12 17:18:17.000000000 -0500
@@ -36,12 +36,15 @@ static int try_to_freeze_tasks(bool sig_
struct timeval start, end;
u64 elapsed_csecs64;
@@ -43474,7 +46596,7 @@ diff -urNp linux-2.6.31.6/kernel/power/process.c linux-2.6.31.6/kernel/power/pro
elapsed_csecs64 = timeval_to_ns(&end) - timeval_to_ns(&start);
diff -urNp linux-2.6.31.6/kernel/power/suspend.c linux-2.6.31.6/kernel/power/suspend.c
--- linux-2.6.31.6/kernel/power/suspend.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/power/suspend.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/power/suspend.c 2009-11-12 17:18:17.000000000 -0500
@@ -23,13 +23,13 @@ const char *const pm_states[PM_SUSPEND_M
[PM_SUSPEND_MEM] = "mem",
};
@@ -43493,7 +46615,7 @@ diff -urNp linux-2.6.31.6/kernel/power/suspend.c linux-2.6.31.6/kernel/power/sus
suspend_ops = ops;
diff -urNp linux-2.6.31.6/kernel/printk.c linux-2.6.31.6/kernel/printk.c
--- linux-2.6.31.6/kernel/printk.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/printk.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/printk.c 2009-11-12 17:18:17.000000000 -0500
@@ -272,6 +272,11 @@ int do_syslog(int type, char __user *buf
char c;
int error = 0;
@@ -43508,7 +46630,7 @@ diff -urNp linux-2.6.31.6/kernel/printk.c linux-2.6.31.6/kernel/printk.c
return error;
diff -urNp linux-2.6.31.6/kernel/ptrace.c linux-2.6.31.6/kernel/ptrace.c
--- linux-2.6.31.6/kernel/ptrace.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/ptrace.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/ptrace.c 2009-11-15 17:03:57.000000000 -0500
@@ -141,7 +141,7 @@ int __ptrace_may_access(struct task_stru
cred->gid != tcred->egid ||
cred->gid != tcred->sgid ||
@@ -43581,7 +46703,7 @@ diff -urNp linux-2.6.31.6/kernel/ptrace.c linux-2.6.31.6/kernel/ptrace.c
int generic_ptrace_pokedata(struct task_struct *tsk, long addr, long data)
diff -urNp linux-2.6.31.6/kernel/rcupreempt_trace.c linux-2.6.31.6/kernel/rcupreempt_trace.c
--- linux-2.6.31.6/kernel/rcupreempt_trace.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/rcupreempt_trace.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/rcupreempt_trace.c 2009-11-12 17:18:17.000000000 -0500
@@ -261,17 +261,17 @@ static ssize_t rcuctrs_read(struct file
return bcount;
}
@@ -43605,7 +46727,7 @@ diff -urNp linux-2.6.31.6/kernel/rcupreempt_trace.c linux-2.6.31.6/kernel/rcupre
};
diff -urNp linux-2.6.31.6/kernel/rcutree_trace.c linux-2.6.31.6/kernel/rcutree_trace.c
--- linux-2.6.31.6/kernel/rcutree_trace.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/rcutree_trace.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/rcutree_trace.c 2009-11-12 17:18:17.000000000 -0500
@@ -88,7 +88,7 @@ static int rcudata_open(struct inode *in
return single_open(file, show_rcudata, NULL);
}
@@ -43653,7 +46775,7 @@ diff -urNp linux-2.6.31.6/kernel/rcutree_trace.c linux-2.6.31.6/kernel/rcutree_t
.read = seq_read,
diff -urNp linux-2.6.31.6/kernel/relay.c linux-2.6.31.6/kernel/relay.c
--- linux-2.6.31.6/kernel/relay.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/relay.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/relay.c 2009-11-12 17:18:17.000000000 -0500
@@ -60,7 +60,7 @@ static int relay_buf_fault(struct vm_are
/*
* vm_ops for relay file mappings.
@@ -43674,7 +46796,7 @@ diff -urNp linux-2.6.31.6/kernel/relay.c linux-2.6.31.6/kernel/relay.c
if (read_start + ret == nonpad_end)
diff -urNp linux-2.6.31.6/kernel/resource.c linux-2.6.31.6/kernel/resource.c
--- linux-2.6.31.6/kernel/resource.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/resource.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/resource.c 2009-11-12 17:18:17.000000000 -0500
@@ -132,8 +132,18 @@ static const struct file_operations proc
static int __init ioresources_init(void)
@@ -43696,7 +46818,7 @@ diff -urNp linux-2.6.31.6/kernel/resource.c linux-2.6.31.6/kernel/resource.c
__initcall(ioresources_init);
diff -urNp linux-2.6.31.6/kernel/sched.c linux-2.6.31.6/kernel/sched.c
--- linux-2.6.31.6/kernel/sched.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/sched.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/sched.c 2009-11-12 17:18:17.000000000 -0500
@@ -820,7 +820,7 @@ static int sched_feat_open(struct inode
return single_open(filp, sched_feat_show, NULL);
}
@@ -43754,7 +46876,7 @@ diff -urNp linux-2.6.31.6/kernel/sched.c linux-2.6.31.6/kernel/sched.c
static struct ctl_table *sd_alloc_ctl_entry(int n)
diff -urNp linux-2.6.31.6/kernel/signal.c linux-2.6.31.6/kernel/signal.c
--- linux-2.6.31.6/kernel/signal.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/signal.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/signal.c 2009-11-12 17:18:17.000000000 -0500
@@ -207,6 +207,9 @@ static struct sigqueue *__sigqueue_alloc
*/
user = get_uid(__task_cred(t)->user);
@@ -43816,7 +46938,7 @@ diff -urNp linux-2.6.31.6/kernel/signal.c linux-2.6.31.6/kernel/signal.c
return ret;
diff -urNp linux-2.6.31.6/kernel/smp.c linux-2.6.31.6/kernel/smp.c
--- linux-2.6.31.6/kernel/smp.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/smp.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/smp.c 2009-11-12 17:18:17.000000000 -0500
@@ -451,22 +451,22 @@ int smp_call_function(void (*func)(void
}
EXPORT_SYMBOL(smp_call_function);
@@ -43846,7 +46968,7 @@ diff -urNp linux-2.6.31.6/kernel/smp.c linux-2.6.31.6/kernel/smp.c
}
diff -urNp linux-2.6.31.6/kernel/softirq.c linux-2.6.31.6/kernel/softirq.c
--- linux-2.6.31.6/kernel/softirq.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/softirq.c 2009-11-10 18:44:21.000000000 -0500
++++ linux-2.6.31.6/kernel/softirq.c 2009-11-12 17:18:17.000000000 -0500
@@ -56,7 +56,7 @@ static struct softirq_action softirq_vec
static DEFINE_PER_CPU(struct task_struct *, ksoftirqd);
@@ -43858,7 +46980,7 @@ diff -urNp linux-2.6.31.6/kernel/softirq.c linux-2.6.31.6/kernel/softirq.c
};
diff -urNp linux-2.6.31.6/kernel/sys.c linux-2.6.31.6/kernel/sys.c
--- linux-2.6.31.6/kernel/sys.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/sys.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/sys.c 2009-11-12 17:18:17.000000000 -0500
@@ -133,6 +133,12 @@ static int set_one_prio(struct task_stru
error = -EACCES;
goto out;
@@ -43996,7 +47118,7 @@ diff -urNp linux-2.6.31.6/kernel/sys.c linux-2.6.31.6/kernel/sys.c
}
diff -urNp linux-2.6.31.6/kernel/sysctl.c linux-2.6.31.6/kernel/sysctl.c
--- linux-2.6.31.6/kernel/sysctl.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/sysctl.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/sysctl.c 2009-11-12 17:18:17.000000000 -0500
@@ -65,6 +65,13 @@
static int deprecated_sysctl_warning(struct __sysctl_args *args);
@@ -44120,7 +47242,7 @@ diff -urNp linux-2.6.31.6/kernel/sysctl.c linux-2.6.31.6/kernel/sysctl.c
return error;
diff -urNp linux-2.6.31.6/kernel/taskstats.c linux-2.6.31.6/kernel/taskstats.c
--- linux-2.6.31.6/kernel/taskstats.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/taskstats.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/taskstats.c 2009-11-12 17:18:17.000000000 -0500
@@ -26,9 +26,12 @@
#include <linux/cgroup.h>
#include <linux/fs.h>
@@ -44146,7 +47268,7 @@ diff -urNp linux-2.6.31.6/kernel/taskstats.c linux-2.6.31.6/kernel/taskstats.c
diff -urNp linux-2.6.31.6/kernel/time/tick-broadcast.c linux-2.6.31.6/kernel/time/tick-broadcast.c
--- linux-2.6.31.6/kernel/time/tick-broadcast.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/time/tick-broadcast.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/time/tick-broadcast.c 2009-11-12 17:18:17.000000000 -0500
@@ -116,7 +116,7 @@ int tick_device_uses_broadcast(struct cl
* then clear the broadcast bit.
*/
@@ -44158,7 +47280,7 @@ diff -urNp linux-2.6.31.6/kernel/time/tick-broadcast.c linux-2.6.31.6/kernel/tim
tick_broadcast_clear_oneshot(cpu);
diff -urNp linux-2.6.31.6/kernel/time/timer_list.c linux-2.6.31.6/kernel/time/timer_list.c
--- linux-2.6.31.6/kernel/time/timer_list.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/time/timer_list.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/time/timer_list.c 2009-11-12 17:18:17.000000000 -0500
@@ -275,7 +275,7 @@ static int timer_list_open(struct inode
return single_open(filp, timer_list_show, NULL);
}
@@ -44170,7 +47292,7 @@ diff -urNp linux-2.6.31.6/kernel/time/timer_list.c linux-2.6.31.6/kernel/time/ti
.llseek = seq_lseek,
diff -urNp linux-2.6.31.6/kernel/time/timer_stats.c linux-2.6.31.6/kernel/time/timer_stats.c
--- linux-2.6.31.6/kernel/time/timer_stats.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/time/timer_stats.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/time/timer_stats.c 2009-11-12 17:18:17.000000000 -0500
@@ -395,7 +395,7 @@ static int tstats_open(struct inode *ino
return single_open(filp, tstats_show, NULL);
}
@@ -44182,7 +47304,7 @@ diff -urNp linux-2.6.31.6/kernel/time/timer_stats.c linux-2.6.31.6/kernel/time/t
.write = tstats_write,
diff -urNp linux-2.6.31.6/kernel/time.c linux-2.6.31.6/kernel/time.c
--- linux-2.6.31.6/kernel/time.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/time.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/time.c 2009-11-12 17:18:17.000000000 -0500
@@ -94,6 +94,9 @@ SYSCALL_DEFINE1(stime, time_t __user *,
return err;
@@ -44222,7 +47344,7 @@ diff -urNp linux-2.6.31.6/kernel/time.c linux-2.6.31.6/kernel/time.c
return (USEC_PER_SEC / HZ) * j;
diff -urNp linux-2.6.31.6/kernel/trace/ftrace.c linux-2.6.31.6/kernel/trace/ftrace.c
--- linux-2.6.31.6/kernel/trace/ftrace.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/trace/ftrace.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/trace/ftrace.c 2009-11-12 17:18:17.000000000 -0500
@@ -1562,7 +1562,7 @@ static int t_show(struct seq_file *m, vo
return 0;
}
@@ -44243,7 +47365,7 @@ diff -urNp linux-2.6.31.6/kernel/trace/ftrace.c linux-2.6.31.6/kernel/trace/ftra
.stop = g_stop,
diff -urNp linux-2.6.31.6/kernel/trace/Kconfig linux-2.6.31.6/kernel/trace/Kconfig
--- linux-2.6.31.6/kernel/trace/Kconfig 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/trace/Kconfig 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/trace/Kconfig 2009-11-12 17:18:17.000000000 -0500
@@ -111,6 +111,7 @@ if FTRACE
config FUNCTION_TRACER
bool "Kernel Function Tracer"
@@ -44262,7 +47384,7 @@ diff -urNp linux-2.6.31.6/kernel/trace/Kconfig linux-2.6.31.6/kernel/trace/Kconf
select KALLSYMS
diff -urNp linux-2.6.31.6/kernel/trace/trace.c linux-2.6.31.6/kernel/trace/trace.c
--- linux-2.6.31.6/kernel/trace/trace.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/trace/trace.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/trace/trace.c 2009-11-12 17:18:17.000000000 -0500
@@ -1885,7 +1885,7 @@ static int s_show(struct seq_file *m, vo
return 0;
}
@@ -44348,7 +47470,7 @@ diff -urNp linux-2.6.31.6/kernel/trace/trace.c linux-2.6.31.6/kernel/trace/trace
diff -urNp linux-2.6.31.6/kernel/trace/trace_output.c linux-2.6.31.6/kernel/trace/trace_output.c
--- linux-2.6.31.6/kernel/trace/trace_output.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/trace/trace_output.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/trace/trace_output.c 2009-11-12 17:18:17.000000000 -0500
@@ -234,7 +234,7 @@ int trace_seq_path(struct trace_seq *s,
return 0;
p = d_path(path, s->buffer + s->len, PAGE_SIZE - s->len);
@@ -44360,7 +47482,7 @@ diff -urNp linux-2.6.31.6/kernel/trace/trace_output.c linux-2.6.31.6/kernel/trac
return 1;
diff -urNp linux-2.6.31.6/kernel/utsname_sysctl.c linux-2.6.31.6/kernel/utsname_sysctl.c
--- linux-2.6.31.6/kernel/utsname_sysctl.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/kernel/utsname_sysctl.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/kernel/utsname_sysctl.c 2009-11-12 17:18:17.000000000 -0500
@@ -123,7 +123,7 @@ static struct ctl_table uts_kern_table[]
.proc_handler = proc_do_uts_string,
.strategy = sysctl_uts_string,
@@ -44381,7 +47503,7 @@ diff -urNp linux-2.6.31.6/kernel/utsname_sysctl.c linux-2.6.31.6/kernel/utsname_
static int __init utsname_sysctl_init(void)
diff -urNp linux-2.6.31.6/lib/inflate.c linux-2.6.31.6/lib/inflate.c
--- linux-2.6.31.6/lib/inflate.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/lib/inflate.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/lib/inflate.c 2009-11-12 17:18:17.000000000 -0500
@@ -266,7 +266,7 @@ static void free(void *where)
malloc_ptr = free_mem_ptr;
}
@@ -44393,7 +47515,7 @@ diff -urNp linux-2.6.31.6/lib/inflate.c linux-2.6.31.6/lib/inflate.c
diff -urNp linux-2.6.31.6/lib/Kconfig.debug linux-2.6.31.6/lib/Kconfig.debug
--- linux-2.6.31.6/lib/Kconfig.debug 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/lib/Kconfig.debug 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/lib/Kconfig.debug 2009-11-12 17:18:17.000000000 -0500
@@ -866,7 +866,7 @@ config LATENCYTOP
select STACKTRACE
select SCHEDSTATS
@@ -44405,7 +47527,7 @@ diff -urNp linux-2.6.31.6/lib/Kconfig.debug linux-2.6.31.6/lib/Kconfig.debug
to find out which userspace is blocking on what kernel operations.
diff -urNp linux-2.6.31.6/lib/kobject.c linux-2.6.31.6/lib/kobject.c
--- linux-2.6.31.6/lib/kobject.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/lib/kobject.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/lib/kobject.c 2009-11-12 17:18:35.000000000 -0500
@@ -700,7 +700,7 @@ static ssize_t kobj_attr_store(struct ko
return ret;
}
@@ -44415,9 +47537,39 @@ diff -urNp linux-2.6.31.6/lib/kobject.c linux-2.6.31.6/lib/kobject.c
.show = kobj_attr_show,
.store = kobj_attr_store,
};
+@@ -789,7 +789,7 @@ static struct kobj_type kset_ktype = {
+ * If the kset was not able to be created, NULL will be returned.
+ */
+ static struct kset *kset_create(const char *name,
+- struct kset_uevent_ops *uevent_ops,
++ const struct kset_uevent_ops *uevent_ops,
+ struct kobject *parent_kobj)
+ {
+ struct kset *kset;
+@@ -832,7 +832,7 @@ static struct kset *kset_create(const ch
+ * If the kset was not able to be created, NULL will be returned.
+ */
+ struct kset *kset_create_and_add(const char *name,
+- struct kset_uevent_ops *uevent_ops,
++ const struct kset_uevent_ops *uevent_ops,
+ struct kobject *parent_kobj)
+ {
+ struct kset *kset;
+diff -urNp linux-2.6.31.6/lib/kobject_uevent.c linux-2.6.31.6/lib/kobject_uevent.c
+--- linux-2.6.31.6/lib/kobject_uevent.c 2009-11-10 18:45:52.000000000 -0500
++++ linux-2.6.31.6/lib/kobject_uevent.c 2009-11-12 17:18:35.000000000 -0500
+@@ -95,7 +95,7 @@ int kobject_uevent_env(struct kobject *k
+ const char *subsystem;
+ struct kobject *top_kobj;
+ struct kset *kset;
+- struct kset_uevent_ops *uevent_ops;
++ const struct kset_uevent_ops *uevent_ops;
+ u64 seq;
+ int i = 0;
+ int retval = 0;
diff -urNp linux-2.6.31.6/lib/parser.c linux-2.6.31.6/lib/parser.c
--- linux-2.6.31.6/lib/parser.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/lib/parser.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/lib/parser.c 2009-11-12 17:18:17.000000000 -0500
@@ -126,7 +126,7 @@ static int match_number(substring_t *s,
char *buf;
int ret;
@@ -44429,7 +47581,7 @@ diff -urNp linux-2.6.31.6/lib/parser.c linux-2.6.31.6/lib/parser.c
memcpy(buf, s->from, s->to - s->from);
diff -urNp linux-2.6.31.6/lib/radix-tree.c linux-2.6.31.6/lib/radix-tree.c
--- linux-2.6.31.6/lib/radix-tree.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/lib/radix-tree.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/lib/radix-tree.c 2009-11-12 17:18:17.000000000 -0500
@@ -81,7 +81,7 @@ struct radix_tree_preload {
int nr;
struct radix_tree_node *nodes[RADIX_TREE_MAX_PATH];
@@ -44441,7 +47593,7 @@ diff -urNp linux-2.6.31.6/lib/radix-tree.c linux-2.6.31.6/lib/radix-tree.c
{
diff -urNp linux-2.6.31.6/lib/random32.c linux-2.6.31.6/lib/random32.c
--- linux-2.6.31.6/lib/random32.c 2009-11-10 18:45:52.000000000 -0500
-+++ linux-2.6.31.6/lib/random32.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/lib/random32.c 2009-11-12 17:18:17.000000000 -0500
@@ -61,7 +61,7 @@ static u32 __random32(struct rnd_state *
*/
static inline u32 __seed(u32 x, u32 m)
@@ -44453,12 +47605,12 @@ diff -urNp linux-2.6.31.6/lib/random32.c linux-2.6.31.6/lib/random32.c
/**
diff -urNp linux-2.6.31.6/localversion-grsec linux-2.6.31.6/localversion-grsec
--- linux-2.6.31.6/localversion-grsec 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.31.6/localversion-grsec 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/localversion-grsec 2009-11-12 17:18:17.000000000 -0500
@@ -0,0 +1 @@
+-grsec
diff -urNp linux-2.6.31.6/Makefile linux-2.6.31.6/Makefile
--- linux-2.6.31.6/Makefile 2009-11-10 18:47:56.000000000 -0500
-+++ linux-2.6.31.6/Makefile 2009-11-10 18:53:41.000000000 -0500
++++ linux-2.6.31.6/Makefile 2009-11-12 17:18:17.000000000 -0500
@@ -221,8 +221,8 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH"
HOSTCC = gcc
@@ -44481,7 +47633,7 @@ diff -urNp linux-2.6.31.6/Makefile linux-2.6.31.6/Makefile
$(core-y) $(core-m) $(drivers-y) $(drivers-m) \
diff -urNp linux-2.6.31.6/mm/filemap.c linux-2.6.31.6/mm/filemap.c
--- linux-2.6.31.6/mm/filemap.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/filemap.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/filemap.c 2009-11-12 17:18:17.000000000 -0500
@@ -1648,7 +1648,7 @@ page_not_uptodate:
}
EXPORT_SYMBOL(filemap_fault);
@@ -44510,7 +47662,7 @@ diff -urNp linux-2.6.31.6/mm/filemap.c linux-2.6.31.6/mm/filemap.c
return -EFBIG;
diff -urNp linux-2.6.31.6/mm/filemap_xip.c linux-2.6.31.6/mm/filemap_xip.c
--- linux-2.6.31.6/mm/filemap_xip.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/filemap_xip.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/filemap_xip.c 2009-11-12 17:18:17.000000000 -0500
@@ -296,7 +296,7 @@ out:
}
}
@@ -44522,7 +47674,7 @@ diff -urNp linux-2.6.31.6/mm/filemap_xip.c linux-2.6.31.6/mm/filemap_xip.c
diff -urNp linux-2.6.31.6/mm/fremap.c linux-2.6.31.6/mm/fremap.c
--- linux-2.6.31.6/mm/fremap.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/fremap.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/fremap.c 2009-11-12 17:18:17.000000000 -0500
@@ -153,6 +153,11 @@ SYSCALL_DEFINE5(remap_file_pages, unsign
retry:
vma = find_vma(mm, start);
@@ -44537,7 +47689,7 @@ diff -urNp linux-2.6.31.6/mm/fremap.c linux-2.6.31.6/mm/fremap.c
* and that the remapped range is valid and fully within
diff -urNp linux-2.6.31.6/mm/highmem.c linux-2.6.31.6/mm/highmem.c
--- linux-2.6.31.6/mm/highmem.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/highmem.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/highmem.c 2009-11-12 17:18:17.000000000 -0500
@@ -116,9 +116,10 @@ static void flush_all_zero_pkmaps(void)
* So no dangers, even with speculative execution.
*/
@@ -44565,7 +47717,7 @@ diff -urNp linux-2.6.31.6/mm/highmem.c linux-2.6.31.6/mm/highmem.c
diff -urNp linux-2.6.31.6/mm/hugetlb.c linux-2.6.31.6/mm/hugetlb.c
--- linux-2.6.31.6/mm/hugetlb.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/hugetlb.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/hugetlb.c 2009-11-12 17:18:17.000000000 -0500
@@ -1689,7 +1689,7 @@ static int hugetlb_vm_op_fault(struct vm
return 0;
}
@@ -44656,7 +47808,7 @@ diff -urNp linux-2.6.31.6/mm/hugetlb.c linux-2.6.31.6/mm/hugetlb.c
return VM_FAULT_OOM;
diff -urNp linux-2.6.31.6/mm/Kconfig linux-2.6.31.6/mm/Kconfig
--- linux-2.6.31.6/mm/Kconfig 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/Kconfig 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/Kconfig 2009-11-12 17:18:17.000000000 -0500
@@ -216,7 +216,7 @@ config MMU_NOTIFIER
config DEFAULT_MMAP_MIN_ADDR
@@ -44668,7 +47820,7 @@ diff -urNp linux-2.6.31.6/mm/Kconfig linux-2.6.31.6/mm/Kconfig
from userspace allocation. Keeping a user from writing to low pages
diff -urNp linux-2.6.31.6/mm/maccess.c linux-2.6.31.6/mm/maccess.c
--- linux-2.6.31.6/mm/maccess.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/maccess.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/maccess.c 2009-11-12 17:18:17.000000000 -0500
@@ -14,7 +14,7 @@
* Safely read from address @src to the buffer at @dst. If a kernel fault
* happens, handle that and return -EFAULT.
@@ -44689,7 +47841,7 @@ diff -urNp linux-2.6.31.6/mm/maccess.c linux-2.6.31.6/mm/maccess.c
mm_segment_t old_fs = get_fs();
diff -urNp linux-2.6.31.6/mm/madvise.c linux-2.6.31.6/mm/madvise.c
--- linux-2.6.31.6/mm/madvise.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/madvise.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/madvise.c 2009-11-12 17:18:17.000000000 -0500
@@ -43,6 +43,10 @@ static long madvise_behavior(struct vm_a
pgoff_t pgoff;
int new_flags = vma->vm_flags;
@@ -44752,7 +47904,7 @@ diff -urNp linux-2.6.31.6/mm/madvise.c linux-2.6.31.6/mm/madvise.c
goto out;
diff -urNp linux-2.6.31.6/mm/memory.c linux-2.6.31.6/mm/memory.c
--- linux-2.6.31.6/mm/memory.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/memory.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/memory.c 2009-11-12 17:18:17.000000000 -0500
@@ -47,6 +47,7 @@
#include <linux/pagemap.h>
#include <linux/rmap.h>
@@ -45158,7 +48310,7 @@ diff -urNp linux-2.6.31.6/mm/memory.c linux-2.6.31.6/mm/memory.c
* Dumping its contents makes post-mortem fully interpretable later
diff -urNp linux-2.6.31.6/mm/mempolicy.c linux-2.6.31.6/mm/mempolicy.c
--- linux-2.6.31.6/mm/mempolicy.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/mm/mempolicy.c 2009-11-10 18:53:47.000000000 -0500
++++ linux-2.6.31.6/mm/mempolicy.c 2009-11-12 17:18:17.000000000 -0500
@@ -573,6 +573,10 @@ static int mbind_range(struct vm_area_st
struct vm_area_struct *next;
int err;
@@ -45241,7 +48393,7 @@ diff -urNp linux-2.6.31.6/mm/mempolicy.c linux-2.6.31.6/mm/mempolicy.c
} else if (vma->vm_start <= mm->start_stack &&
diff -urNp linux-2.6.31.6/mm/migrate.c linux-2.6.31.6/mm/migrate.c
--- linux-2.6.31.6/mm/migrate.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/migrate.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/migrate.c 2009-11-12 17:18:17.000000000 -0500
@@ -1087,6 +1087,14 @@ SYSCALL_DEFINE6(move_pages, pid_t, pid,
if (!mm)
return -EINVAL;
@@ -45269,7 +48421,7 @@ diff -urNp linux-2.6.31.6/mm/migrate.c linux-2.6.31.6/mm/migrate.c
goto out;
diff -urNp linux-2.6.31.6/mm/mlock.c linux-2.6.31.6/mm/mlock.c
--- linux-2.6.31.6/mm/mlock.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/mlock.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/mlock.c 2009-11-12 17:18:17.000000000 -0500
@@ -13,6 +13,7 @@
#include <linux/pagemap.h>
#include <linux/mempolicy.h>
@@ -45340,7 +48492,7 @@ diff -urNp linux-2.6.31.6/mm/mlock.c linux-2.6.31.6/mm/mlock.c
ret = do_mlockall(flags);
diff -urNp linux-2.6.31.6/mm/mmap.c linux-2.6.31.6/mm/mmap.c
--- linux-2.6.31.6/mm/mmap.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/mmap.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/mmap.c 2009-11-12 17:18:17.000000000 -0500
@@ -45,6 +45,16 @@
#define arch_rebalance_pgtables(addr, len) (addr)
#endif
@@ -46478,7 +49630,7 @@ diff -urNp linux-2.6.31.6/mm/mmap.c linux-2.6.31.6/mm/mmap.c
diff -urNp linux-2.6.31.6/mm/mprotect.c linux-2.6.31.6/mm/mprotect.c
--- linux-2.6.31.6/mm/mprotect.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/mprotect.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/mprotect.c 2009-11-12 17:18:17.000000000 -0500
@@ -24,10 +24,16 @@
#include <linux/mmu_notifier.h>
#include <linux/migrate.h>
@@ -46671,7 +49823,7 @@ diff -urNp linux-2.6.31.6/mm/mprotect.c linux-2.6.31.6/mm/mprotect.c
if (nstart < prev->vm_end)
diff -urNp linux-2.6.31.6/mm/mremap.c linux-2.6.31.6/mm/mremap.c
--- linux-2.6.31.6/mm/mremap.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/mremap.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/mremap.c 2009-11-12 17:18:17.000000000 -0500
@@ -113,6 +113,12 @@ static void move_ptes(struct vm_area_str
continue;
pte = ptep_clear_flush(vma, old_addr, old_pte);
@@ -46785,7 +49937,7 @@ diff -urNp linux-2.6.31.6/mm/mremap.c linux-2.6.31.6/mm/mremap.c
if (ret & ~PAGE_MASK)
diff -urNp linux-2.6.31.6/mm/nommu.c linux-2.6.31.6/mm/nommu.c
--- linux-2.6.31.6/mm/nommu.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/mm/nommu.c 2009-11-10 18:53:47.000000000 -0500
++++ linux-2.6.31.6/mm/nommu.c 2009-11-12 17:18:17.000000000 -0500
@@ -79,7 +79,7 @@ static struct kmem_cache *vm_region_jar;
struct rb_root nommu_region_tree = RB_ROOT;
DECLARE_RWSEM(nommu_region_sem);
@@ -46813,7 +49965,7 @@ diff -urNp linux-2.6.31.6/mm/nommu.c linux-2.6.31.6/mm/nommu.c
*/
diff -urNp linux-2.6.31.6/mm/page_alloc.c linux-2.6.31.6/mm/page_alloc.c
--- linux-2.6.31.6/mm/page_alloc.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/page_alloc.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/page_alloc.c 2009-11-12 17:18:17.000000000 -0500
@@ -559,6 +559,10 @@ static void __free_pages_ok(struct page
int bad = 0;
int wasMlocked = TestClearPageMlocked(page);
@@ -46863,7 +50015,7 @@ diff -urNp linux-2.6.31.6/mm/page_alloc.c linux-2.6.31.6/mm/page_alloc.c
diff -urNp linux-2.6.31.6/mm/percpu.c linux-2.6.31.6/mm/percpu.c
--- linux-2.6.31.6/mm/percpu.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/percpu.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/percpu.c 2009-11-12 17:18:17.000000000 -0500
@@ -105,7 +105,7 @@ static int pcpu_nr_slots __read_mostly;
static size_t pcpu_chunk_struct_size __read_mostly;
@@ -46875,7 +50027,7 @@ diff -urNp linux-2.6.31.6/mm/percpu.c linux-2.6.31.6/mm/percpu.c
/*
diff -urNp linux-2.6.31.6/mm/rmap.c linux-2.6.31.6/mm/rmap.c
--- linux-2.6.31.6/mm/rmap.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/rmap.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/rmap.c 2009-11-12 17:18:17.000000000 -0500
@@ -103,6 +103,10 @@ int anon_vma_prepare(struct vm_area_stru
struct mm_struct *mm = vma->vm_mm;
struct anon_vma *allocated;
@@ -46905,7 +50057,7 @@ diff -urNp linux-2.6.31.6/mm/rmap.c linux-2.6.31.6/mm/rmap.c
allocated = NULL;
diff -urNp linux-2.6.31.6/mm/shmem.c linux-2.6.31.6/mm/shmem.c
--- linux-2.6.31.6/mm/shmem.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/shmem.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/shmem.c 2009-11-12 17:18:17.000000000 -0500
@@ -31,7 +31,7 @@
#include <linux/swap.h>
#include <linux/ima.h>
@@ -46935,7 +50087,7 @@ diff -urNp linux-2.6.31.6/mm/shmem.c linux-2.6.31.6/mm/shmem.c
.set_policy = shmem_set_policy,
diff -urNp linux-2.6.31.6/mm/slab.c linux-2.6.31.6/mm/slab.c
--- linux-2.6.31.6/mm/slab.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/slab.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/slab.c 2009-11-12 17:18:17.000000000 -0500
@@ -308,7 +308,7 @@ struct kmem_list3 {
* Need this for bootstrapping a per node allocator.
*/
@@ -47039,7 +50191,7 @@ diff -urNp linux-2.6.31.6/mm/slab.c linux-2.6.31.6/mm/slab.c
* @objp: Pointer to the object
diff -urNp linux-2.6.31.6/mm/slob.c linux-2.6.31.6/mm/slob.c
--- linux-2.6.31.6/mm/slob.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/slob.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/slob.c 2009-11-12 17:18:17.000000000 -0500
@@ -29,7 +29,7 @@
* If kmalloc is asked for objects of PAGE_SIZE or larger, it calls
* alloc_pages() directly, allocating compound pages so the page order
@@ -47364,7 +50516,7 @@ diff -urNp linux-2.6.31.6/mm/slob.c linux-2.6.31.6/mm/slob.c
trace_kmem_cache_free(_RET_IP_, b);
diff -urNp linux-2.6.31.6/mm/slub.c linux-2.6.31.6/mm/slub.c
--- linux-2.6.31.6/mm/slub.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/slub.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/slub.c 2009-11-12 17:18:35.000000000 -0500
@@ -1915,7 +1915,7 @@ static int slub_min_objects;
* Merge control. If this is set then no merging of slab caches will occur.
* (Could be removed. This was introduced to pacify the merge skeptics.)
@@ -47496,6 +50648,15 @@ diff -urNp linux-2.6.31.6/mm/slub.c linux-2.6.31.6/mm/slub.c
.show = slab_attr_show,
.store = slab_attr_store,
};
+@@ -4466,7 +4507,7 @@ static int uevent_filter(struct kset *ks
+ return 0;
+ }
+
+-static struct kset_uevent_ops slab_uevent_ops = {
++static const struct kset_uevent_ops slab_uevent_ops = {
+ .filter = uevent_filter,
+ };
+
@@ -4726,7 +4767,9 @@ static const struct file_operations proc
static int __init slab_proc_init(void)
@@ -47508,7 +50669,7 @@ diff -urNp linux-2.6.31.6/mm/slub.c linux-2.6.31.6/mm/slub.c
module_init(slab_proc_init);
diff -urNp linux-2.6.31.6/mm/util.c linux-2.6.31.6/mm/util.c
--- linux-2.6.31.6/mm/util.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/util.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/util.c 2009-11-12 17:18:17.000000000 -0500
@@ -224,6 +224,12 @@ EXPORT_SYMBOL(strndup_user);
void arch_pick_mmap_layout(struct mm_struct *mm)
{
@@ -47524,7 +50685,7 @@ diff -urNp linux-2.6.31.6/mm/util.c linux-2.6.31.6/mm/util.c
}
diff -urNp linux-2.6.31.6/mm/vmalloc.c linux-2.6.31.6/mm/vmalloc.c
--- linux-2.6.31.6/mm/vmalloc.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/mm/vmalloc.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/mm/vmalloc.c 2009-11-12 17:18:17.000000000 -0500
@@ -39,8 +39,19 @@ static void vunmap_pte_range(pmd_t *pmd,
pte = pte_offset_kernel(pmd, addr);
@@ -47737,7 +50898,7 @@ diff -urNp linux-2.6.31.6/mm/vmalloc.c linux-2.6.31.6/mm/vmalloc.c
struct vm_struct *area;
diff -urNp linux-2.6.31.6/net/atm/atm_misc.c linux-2.6.31.6/net/atm/atm_misc.c
--- linux-2.6.31.6/net/atm/atm_misc.c 2009-11-10 18:45:42.000000000 -0500
-+++ linux-2.6.31.6/net/atm/atm_misc.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/atm/atm_misc.c 2009-11-12 17:18:17.000000000 -0500
@@ -19,7 +19,7 @@ int atm_charge(struct atm_vcc *vcc,int t
if (atomic_read(&sk_atm(vcc)->sk_rmem_alloc) <= sk_atm(vcc)->sk_rcvbuf)
return 1;
@@ -47776,7 +50937,7 @@ diff -urNp linux-2.6.31.6/net/atm/atm_misc.c linux-2.6.31.6/net/atm/atm_misc.c
}
diff -urNp linux-2.6.31.6/net/atm/proc.c linux-2.6.31.6/net/atm/proc.c
--- linux-2.6.31.6/net/atm/proc.c 2009-11-10 18:45:42.000000000 -0500
-+++ linux-2.6.31.6/net/atm/proc.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/atm/proc.c 2009-11-12 17:18:17.000000000 -0500
@@ -43,9 +43,9 @@ static void add_stats(struct seq_file *s
const struct k_atm_aal_stats *stats)
{
@@ -47792,7 +50953,7 @@ diff -urNp linux-2.6.31.6/net/atm/proc.c linux-2.6.31.6/net/atm/proc.c
static void atm_dev_info(struct seq_file *seq, const struct atm_dev *dev)
diff -urNp linux-2.6.31.6/net/atm/resources.c linux-2.6.31.6/net/atm/resources.c
--- linux-2.6.31.6/net/atm/resources.c 2009-11-10 18:45:42.000000000 -0500
-+++ linux-2.6.31.6/net/atm/resources.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/atm/resources.c 2009-11-12 17:18:17.000000000 -0500
@@ -161,7 +161,7 @@ void atm_dev_deregister(struct atm_dev *
static void copy_aal_stats(struct k_atm_aal_stats *from,
struct atm_aal_stats *to)
@@ -47813,7 +50974,7 @@ diff -urNp linux-2.6.31.6/net/atm/resources.c linux-2.6.31.6/net/atm/resources.c
}
diff -urNp linux-2.6.31.6/net/bridge/br_private.h linux-2.6.31.6/net/bridge/br_private.h
--- linux-2.6.31.6/net/bridge/br_private.h 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/bridge/br_private.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/bridge/br_private.h 2009-11-12 17:18:17.000000000 -0500
@@ -250,7 +250,7 @@ extern void br_ifinfo_notify(int event,
#ifdef CONFIG_SYSFS
@@ -47825,7 +50986,7 @@ diff -urNp linux-2.6.31.6/net/bridge/br_private.h linux-2.6.31.6/net/bridge/br_p
/* br_sysfs_br.c */
diff -urNp linux-2.6.31.6/net/bridge/br_stp_if.c linux-2.6.31.6/net/bridge/br_stp_if.c
--- linux-2.6.31.6/net/bridge/br_stp_if.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/bridge/br_stp_if.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/bridge/br_stp_if.c 2009-11-12 17:18:17.000000000 -0500
@@ -146,7 +146,7 @@ static void br_stp_stop(struct net_bridg
char *envp[] = { NULL };
@@ -47837,7 +50998,7 @@ diff -urNp linux-2.6.31.6/net/bridge/br_stp_if.c linux-2.6.31.6/net/bridge/br_st
diff -urNp linux-2.6.31.6/net/bridge/br_sysfs_if.c linux-2.6.31.6/net/bridge/br_sysfs_if.c
--- linux-2.6.31.6/net/bridge/br_sysfs_if.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/bridge/br_sysfs_if.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/bridge/br_sysfs_if.c 2009-11-12 17:18:17.000000000 -0500
@@ -203,7 +203,7 @@ static ssize_t brport_store(struct kobje
return ret;
}
@@ -47849,7 +51010,7 @@ diff -urNp linux-2.6.31.6/net/bridge/br_sysfs_if.c linux-2.6.31.6/net/bridge/br_
};
diff -urNp linux-2.6.31.6/net/core/flow.c linux-2.6.31.6/net/core/flow.c
--- linux-2.6.31.6/net/core/flow.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/core/flow.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/core/flow.c 2009-11-12 17:18:17.000000000 -0500
@@ -39,7 +39,7 @@ atomic_t flow_cache_genid = ATOMIC_INIT(
static u32 flow_hash_shift;
@@ -47879,7 +51040,7 @@ diff -urNp linux-2.6.31.6/net/core/flow.c linux-2.6.31.6/net/core/flow.c
diff -urNp linux-2.6.31.6/net/dccp/ccids/ccid3.c linux-2.6.31.6/net/dccp/ccids/ccid3.c
--- linux-2.6.31.6/net/dccp/ccids/ccid3.c 2009-11-10 18:45:42.000000000 -0500
-+++ linux-2.6.31.6/net/dccp/ccids/ccid3.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/dccp/ccids/ccid3.c 2009-11-12 17:18:17.000000000 -0500
@@ -43,7 +43,7 @@
static int ccid3_debug;
#define ccid3_pr_debug(format, a...) DCCP_PR_DEBUG(ccid3_debug, format, ##a)
@@ -47891,7 +51052,7 @@ diff -urNp linux-2.6.31.6/net/dccp/ccids/ccid3.c linux-2.6.31.6/net/dccp/ccids/c
/*
diff -urNp linux-2.6.31.6/net/dccp/dccp.h linux-2.6.31.6/net/dccp/dccp.h
--- linux-2.6.31.6/net/dccp/dccp.h 2009-11-10 18:45:42.000000000 -0500
-+++ linux-2.6.31.6/net/dccp/dccp.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/dccp/dccp.h 2009-11-12 17:18:17.000000000 -0500
@@ -44,9 +44,9 @@ extern int dccp_debug;
#define dccp_pr_debug_cat(format, a...) DCCP_PRINTK(dccp_debug, format, ##a)
#define dccp_debug(fmt, a...) dccp_pr_debug_cat(KERN_DEBUG fmt, ##a)
@@ -47907,7 +51068,7 @@ diff -urNp linux-2.6.31.6/net/dccp/dccp.h linux-2.6.31.6/net/dccp/dccp.h
extern struct inet_hashinfo dccp_hashinfo;
diff -urNp linux-2.6.31.6/net/ipv4/inet_hashtables.c linux-2.6.31.6/net/ipv4/inet_hashtables.c
--- linux-2.6.31.6/net/ipv4/inet_hashtables.c 2009-11-10 18:45:42.000000000 -0500
-+++ linux-2.6.31.6/net/ipv4/inet_hashtables.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/ipv4/inet_hashtables.c 2009-11-12 17:18:17.000000000 -0500
@@ -18,11 +18,14 @@
#include <linux/sched.h>
#include <linux/slab.h>
@@ -47934,7 +51095,7 @@ diff -urNp linux-2.6.31.6/net/ipv4/inet_hashtables.c linux-2.6.31.6/net/ipv4/ine
inet_twsk_put(tw);
diff -urNp linux-2.6.31.6/net/ipv4/netfilter/nf_nat_snmp_basic.c linux-2.6.31.6/net/ipv4/netfilter/nf_nat_snmp_basic.c
--- linux-2.6.31.6/net/ipv4/netfilter/nf_nat_snmp_basic.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/ipv4/netfilter/nf_nat_snmp_basic.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/ipv4/netfilter/nf_nat_snmp_basic.c 2009-11-12 17:18:17.000000000 -0500
@@ -397,7 +397,7 @@ static unsigned char asn1_octets_decode(
*len = 0;
@@ -47946,7 +51107,7 @@ diff -urNp linux-2.6.31.6/net/ipv4/netfilter/nf_nat_snmp_basic.c linux-2.6.31.6/
printk("OOM in bsalg (%d)\n", __LINE__);
diff -urNp linux-2.6.31.6/net/ipv4/tcp_ipv4.c linux-2.6.31.6/net/ipv4/tcp_ipv4.c
--- linux-2.6.31.6/net/ipv4/tcp_ipv4.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/ipv4/tcp_ipv4.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/ipv4/tcp_ipv4.c 2009-11-12 17:18:17.000000000 -0500
@@ -1504,6 +1504,9 @@ int tcp_v4_do_rcv(struct sock *sk, struc
return 0;
@@ -47969,7 +51130,7 @@ diff -urNp linux-2.6.31.6/net/ipv4/tcp_ipv4.c linux-2.6.31.6/net/ipv4/tcp_ipv4.c
diff -urNp linux-2.6.31.6/net/ipv4/tcp_minisocks.c linux-2.6.31.6/net/ipv4/tcp_minisocks.c
--- linux-2.6.31.6/net/ipv4/tcp_minisocks.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/ipv4/tcp_minisocks.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/ipv4/tcp_minisocks.c 2009-11-12 17:18:17.000000000 -0500
@@ -695,8 +695,11 @@ listen_overflow:
embryonic_reset:
@@ -47984,7 +51145,7 @@ diff -urNp linux-2.6.31.6/net/ipv4/tcp_minisocks.c linux-2.6.31.6/net/ipv4/tcp_m
return NULL;
diff -urNp linux-2.6.31.6/net/ipv4/udp.c linux-2.6.31.6/net/ipv4/udp.c
--- linux-2.6.31.6/net/ipv4/udp.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/ipv4/udp.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/ipv4/udp.c 2009-11-12 17:18:17.000000000 -0500
@@ -86,6 +86,7 @@
#include <linux/types.h>
#include <linux/fcntl.h>
@@ -48045,7 +51206,7 @@ diff -urNp linux-2.6.31.6/net/ipv4/udp.c linux-2.6.31.6/net/ipv4/udp.c
/*
diff -urNp linux-2.6.31.6/net/ipv6/exthdrs.c linux-2.6.31.6/net/ipv6/exthdrs.c
--- linux-2.6.31.6/net/ipv6/exthdrs.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/ipv6/exthdrs.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/ipv6/exthdrs.c 2009-11-12 17:18:17.000000000 -0500
@@ -630,7 +630,7 @@ static struct tlvtype_proc tlvprochopopt
.type = IPV6_TLV_JUMBO,
.func = ipv6_hop_jumbo,
@@ -48057,7 +51218,7 @@ diff -urNp linux-2.6.31.6/net/ipv6/exthdrs.c linux-2.6.31.6/net/ipv6/exthdrs.c
int ipv6_parse_hopopts(struct sk_buff *skb)
diff -urNp linux-2.6.31.6/net/ipv6/ip6mr.c linux-2.6.31.6/net/ipv6/ip6mr.c
--- linux-2.6.31.6/net/ipv6/ip6mr.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/ipv6/ip6mr.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/ipv6/ip6mr.c 2009-11-12 17:18:17.000000000 -0500
@@ -204,7 +204,7 @@ static int ip6mr_vif_seq_show(struct seq
return 0;
}
@@ -48096,7 +51257,7 @@ diff -urNp linux-2.6.31.6/net/ipv6/ip6mr.c linux-2.6.31.6/net/ipv6/ip6mr.c
.read = seq_read,
diff -urNp linux-2.6.31.6/net/ipv6/raw.c linux-2.6.31.6/net/ipv6/raw.c
--- linux-2.6.31.6/net/ipv6/raw.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/ipv6/raw.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/ipv6/raw.c 2009-11-12 17:18:17.000000000 -0500
@@ -600,7 +600,7 @@ out:
return err;
}
@@ -48108,7 +51269,7 @@ diff -urNp linux-2.6.31.6/net/ipv6/raw.c linux-2.6.31.6/net/ipv6/raw.c
{
diff -urNp linux-2.6.31.6/net/ipv6/tcp_ipv6.c linux-2.6.31.6/net/ipv6/tcp_ipv6.c
--- linux-2.6.31.6/net/ipv6/tcp_ipv6.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/ipv6/tcp_ipv6.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/ipv6/tcp_ipv6.c 2009-11-12 17:18:17.000000000 -0500
@@ -1577,6 +1577,9 @@ static int tcp_v6_do_rcv(struct sock *sk
return 0;
@@ -48131,7 +51292,7 @@ diff -urNp linux-2.6.31.6/net/ipv6/tcp_ipv6.c linux-2.6.31.6/net/ipv6/tcp_ipv6.c
diff -urNp linux-2.6.31.6/net/ipv6/udp.c linux-2.6.31.6/net/ipv6/udp.c
--- linux-2.6.31.6/net/ipv6/udp.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/ipv6/udp.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/ipv6/udp.c 2009-11-12 17:18:17.000000000 -0500
@@ -589,6 +589,9 @@ int __udp6_lib_rcv(struct sk_buff *skb,
UDP6_INC_STATS_BH(net, UDP_MIB_NOPORTS,
proto == IPPROTO_UDPLITE);
@@ -48144,7 +51305,7 @@ diff -urNp linux-2.6.31.6/net/ipv6/udp.c linux-2.6.31.6/net/ipv6/udp.c
kfree_skb(skb);
diff -urNp linux-2.6.31.6/net/irda/ircomm/ircomm_tty.c linux-2.6.31.6/net/irda/ircomm/ircomm_tty.c
--- linux-2.6.31.6/net/irda/ircomm/ircomm_tty.c 2009-11-10 18:45:42.000000000 -0500
-+++ linux-2.6.31.6/net/irda/ircomm/ircomm_tty.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/irda/ircomm/ircomm_tty.c 2009-11-12 17:18:17.000000000 -0500
@@ -280,16 +280,16 @@ static int ircomm_tty_block_til_ready(st
add_wait_queue(&self->open_wait, &wait);
@@ -48269,7 +51430,7 @@ diff -urNp linux-2.6.31.6/net/irda/ircomm/ircomm_tty.c linux-2.6.31.6/net/irda/i
diff -urNp linux-2.6.31.6/net/key/af_key.c linux-2.6.31.6/net/key/af_key.c
--- linux-2.6.31.6/net/key/af_key.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/key/af_key.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/key/af_key.c 2009-11-12 17:18:17.000000000 -0500
@@ -3705,7 +3705,7 @@ static void pfkey_seq_stop(struct seq_fi
read_unlock(&pfkey_table_lock);
}
@@ -48290,7 +51451,7 @@ diff -urNp linux-2.6.31.6/net/key/af_key.c linux-2.6.31.6/net/key/af_key.c
.llseek = seq_lseek,
diff -urNp linux-2.6.31.6/net/mac80211/ieee80211_i.h linux-2.6.31.6/net/mac80211/ieee80211_i.h
--- linux-2.6.31.6/net/mac80211/ieee80211_i.h 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/mac80211/ieee80211_i.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/mac80211/ieee80211_i.h 2009-11-12 17:18:17.000000000 -0500
@@ -609,7 +609,7 @@ struct ieee80211_local {
spinlock_t queue_stop_reason_lock;
@@ -48302,7 +51463,7 @@ diff -urNp linux-2.6.31.6/net/mac80211/ieee80211_i.h linux-2.6.31.6/net/mac80211
int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss;
diff -urNp linux-2.6.31.6/net/mac80211/iface.c linux-2.6.31.6/net/mac80211/iface.c
--- linux-2.6.31.6/net/mac80211/iface.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/mac80211/iface.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/mac80211/iface.c 2009-11-12 17:18:17.000000000 -0500
@@ -164,7 +164,7 @@ static int ieee80211_open(struct net_dev
break;
}
@@ -48368,7 +51529,7 @@ diff -urNp linux-2.6.31.6/net/mac80211/iface.c linux-2.6.31.6/net/mac80211/iface
diff -urNp linux-2.6.31.6/net/mac80211/main.c linux-2.6.31.6/net/mac80211/main.c
--- linux-2.6.31.6/net/mac80211/main.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/mac80211/main.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/mac80211/main.c 2009-11-12 17:18:17.000000000 -0500
@@ -193,7 +193,7 @@ int ieee80211_hw_config(struct ieee80211
local->hw.conf.power_level = power;
}
@@ -48380,7 +51541,7 @@ diff -urNp linux-2.6.31.6/net/mac80211/main.c linux-2.6.31.6/net/mac80211/main.c
* Goal:
diff -urNp linux-2.6.31.6/net/mac80211/pm.c linux-2.6.31.6/net/mac80211/pm.c
--- linux-2.6.31.6/net/mac80211/pm.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/mac80211/pm.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/mac80211/pm.c 2009-11-12 17:18:17.000000000 -0500
@@ -103,7 +103,7 @@ int __ieee80211_suspend(struct ieee80211
}
@@ -48392,7 +51553,7 @@ diff -urNp linux-2.6.31.6/net/mac80211/pm.c linux-2.6.31.6/net/mac80211/pm.c
}
diff -urNp linux-2.6.31.6/net/mac80211/rate.c linux-2.6.31.6/net/mac80211/rate.c
--- linux-2.6.31.6/net/mac80211/rate.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/mac80211/rate.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/mac80211/rate.c 2009-11-12 17:18:17.000000000 -0500
@@ -258,7 +258,7 @@ int ieee80211_init_rate_ctrl_alg(struct
struct rate_control_ref *ref, *old;
@@ -48404,7 +51565,7 @@ diff -urNp linux-2.6.31.6/net/mac80211/rate.c linux-2.6.31.6/net/mac80211/rate.c
ref = rate_control_alloc(name, local);
diff -urNp linux-2.6.31.6/net/mac80211/rc80211_minstrel_debugfs.c linux-2.6.31.6/net/mac80211/rc80211_minstrel_debugfs.c
--- linux-2.6.31.6/net/mac80211/rc80211_minstrel_debugfs.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/mac80211/rc80211_minstrel_debugfs.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/mac80211/rc80211_minstrel_debugfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -139,7 +139,7 @@ minstrel_stats_release(struct inode *ino
return 0;
}
@@ -48416,7 +51577,7 @@ diff -urNp linux-2.6.31.6/net/mac80211/rc80211_minstrel_debugfs.c linux-2.6.31.6
.read = minstrel_stats_read,
diff -urNp linux-2.6.31.6/net/mac80211/rc80211_pid_debugfs.c linux-2.6.31.6/net/mac80211/rc80211_pid_debugfs.c
--- linux-2.6.31.6/net/mac80211/rc80211_pid_debugfs.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/mac80211/rc80211_pid_debugfs.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/mac80211/rc80211_pid_debugfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -198,7 +198,7 @@ static ssize_t rate_control_pid_events_r
#undef RC_PID_PRINT_BUF_SIZE
@@ -48428,7 +51589,7 @@ diff -urNp linux-2.6.31.6/net/mac80211/rc80211_pid_debugfs.c linux-2.6.31.6/net/
.poll = rate_control_pid_events_poll,
diff -urNp linux-2.6.31.6/net/mac80211/util.c linux-2.6.31.6/net/mac80211/util.c
--- linux-2.6.31.6/net/mac80211/util.c 2009-11-10 18:45:43.000000000 -0500
-+++ linux-2.6.31.6/net/mac80211/util.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/mac80211/util.c 2009-11-12 17:18:17.000000000 -0500
@@ -991,7 +991,7 @@ int ieee80211_reconfig(struct ieee80211_
local->suspended = false;
@@ -48440,7 +51601,7 @@ diff -urNp linux-2.6.31.6/net/mac80211/util.c linux-2.6.31.6/net/mac80211/util.c
ieee80211_led_radio(local, true);
diff -urNp linux-2.6.31.6/net/packet/af_packet.c linux-2.6.31.6/net/packet/af_packet.c
--- linux-2.6.31.6/net/packet/af_packet.c 2009-11-10 18:45:42.000000000 -0500
-+++ linux-2.6.31.6/net/packet/af_packet.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/packet/af_packet.c 2009-11-12 17:18:17.000000000 -0500
@@ -2086,7 +2086,7 @@ static void packet_mm_close(struct vm_ar
atomic_dec(&pkt_sk(sk)->mapped);
}
@@ -48452,7 +51613,7 @@ diff -urNp linux-2.6.31.6/net/packet/af_packet.c linux-2.6.31.6/net/packet/af_pa
};
diff -urNp linux-2.6.31.6/net/sctp/socket.c linux-2.6.31.6/net/sctp/socket.c
--- linux-2.6.31.6/net/sctp/socket.c 2009-11-10 18:45:42.000000000 -0500
-+++ linux-2.6.31.6/net/sctp/socket.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/sctp/socket.c 2009-11-12 17:18:17.000000000 -0500
@@ -1471,7 +1471,7 @@ SCTP_STATIC int sctp_sendmsg(struct kioc
struct sctp_sndrcvinfo *sinfo;
struct sctp_initmsg *sinit;
@@ -48472,7 +51633,7 @@ diff -urNp linux-2.6.31.6/net/sctp/socket.c linux-2.6.31.6/net/sctp/socket.c
if (pp->fastreuse && sk->sk_reuse &&
diff -urNp linux-2.6.31.6/net/socket.c linux-2.6.31.6/net/socket.c
--- linux-2.6.31.6/net/socket.c 2009-11-10 18:45:42.000000000 -0500
-+++ linux-2.6.31.6/net/socket.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/socket.c 2009-11-12 17:18:17.000000000 -0500
@@ -86,6 +86,7 @@
#include <linux/audit.h>
#include <linux/wireless.h>
@@ -48638,7 +51799,7 @@ diff -urNp linux-2.6.31.6/net/socket.c linux-2.6.31.6/net/socket.c
if (err)
diff -urNp linux-2.6.31.6/net/sunrpc/rpc_pipe.c linux-2.6.31.6/net/sunrpc/rpc_pipe.c
--- linux-2.6.31.6/net/sunrpc/rpc_pipe.c 2009-11-10 18:45:42.000000000 -0500
-+++ linux-2.6.31.6/net/sunrpc/rpc_pipe.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/sunrpc/rpc_pipe.c 2009-11-12 17:18:17.000000000 -0500
@@ -858,7 +858,7 @@ EXPORT_SYMBOL_GPL(rpc_unlink);
/*
* populate the filesystem
@@ -48650,7 +51811,7 @@ diff -urNp linux-2.6.31.6/net/sunrpc/rpc_pipe.c linux-2.6.31.6/net/sunrpc/rpc_pi
.statfs = simple_statfs,
diff -urNp linux-2.6.31.6/net/unix/af_unix.c linux-2.6.31.6/net/unix/af_unix.c
--- linux-2.6.31.6/net/unix/af_unix.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/net/unix/af_unix.c 2009-11-10 18:53:47.000000000 -0500
++++ linux-2.6.31.6/net/unix/af_unix.c 2009-11-12 17:18:17.000000000 -0500
@@ -734,6 +734,12 @@ static struct sock *unix_find_other(stru
err = -ECONNREFUSED;
if (!S_ISSOCK(inode->i_mode))
@@ -48710,7 +51871,7 @@ diff -urNp linux-2.6.31.6/net/unix/af_unix.c linux-2.6.31.6/net/unix/af_unix.c
list = &unix_socket_table[dentry->d_inode->i_ino & (UNIX_HASH_SIZE-1)];
diff -urNp linux-2.6.31.6/net/xfrm/xfrm_proc.c linux-2.6.31.6/net/xfrm/xfrm_proc.c
--- linux-2.6.31.6/net/xfrm/xfrm_proc.c 2009-11-10 18:45:42.000000000 -0500
-+++ linux-2.6.31.6/net/xfrm/xfrm_proc.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/net/xfrm/xfrm_proc.c 2009-11-12 17:18:17.000000000 -0500
@@ -60,7 +60,7 @@ static int xfrm_statistics_seq_open(stru
return single_open_net(inode, file, xfrm_statistics_seq_show);
}
@@ -48722,7 +51883,7 @@ diff -urNp linux-2.6.31.6/net/xfrm/xfrm_proc.c linux-2.6.31.6/net/xfrm/xfrm_proc
.read = seq_read,
diff -urNp linux-2.6.31.6/samples/kobject/kset-example.c linux-2.6.31.6/samples/kobject/kset-example.c
--- linux-2.6.31.6/samples/kobject/kset-example.c 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/samples/kobject/kset-example.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/samples/kobject/kset-example.c 2009-11-12 17:18:17.000000000 -0500
@@ -87,7 +87,7 @@ static ssize_t foo_attr_store(struct kob
}
@@ -48734,7 +51895,7 @@ diff -urNp linux-2.6.31.6/samples/kobject/kset-example.c linux-2.6.31.6/samples/
};
diff -urNp linux-2.6.31.6/samples/markers/marker-example.c linux-2.6.31.6/samples/markers/marker-example.c
--- linux-2.6.31.6/samples/markers/marker-example.c 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/samples/markers/marker-example.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/samples/markers/marker-example.c 2009-11-12 17:18:17.000000000 -0500
@@ -26,7 +26,7 @@ static int my_open(struct inode *inode,
return -EPERM;
}
@@ -48746,7 +51907,7 @@ diff -urNp linux-2.6.31.6/samples/markers/marker-example.c linux-2.6.31.6/sample
diff -urNp linux-2.6.31.6/samples/tracepoints/tracepoint-sample.c linux-2.6.31.6/samples/tracepoints/tracepoint-sample.c
--- linux-2.6.31.6/samples/tracepoints/tracepoint-sample.c 2009-11-10 18:45:39.000000000 -0500
-+++ linux-2.6.31.6/samples/tracepoints/tracepoint-sample.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/samples/tracepoints/tracepoint-sample.c 2009-11-12 17:18:17.000000000 -0500
@@ -28,7 +28,7 @@ static int my_open(struct inode *inode,
return -EPERM;
}
@@ -48758,7 +51919,7 @@ diff -urNp linux-2.6.31.6/samples/tracepoints/tracepoint-sample.c linux-2.6.31.6
diff -urNp linux-2.6.31.6/scripts/basic/fixdep.c linux-2.6.31.6/scripts/basic/fixdep.c
--- linux-2.6.31.6/scripts/basic/fixdep.c 2009-11-10 18:45:26.000000000 -0500
-+++ linux-2.6.31.6/scripts/basic/fixdep.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/scripts/basic/fixdep.c 2009-11-12 17:18:17.000000000 -0500
@@ -224,9 +224,9 @@ void use_config(char *m, int slen)
void parse_config_file(char *map, size_t len)
@@ -48782,7 +51943,7 @@ diff -urNp linux-2.6.31.6/scripts/basic/fixdep.c linux-2.6.31.6/scripts/basic/fi
fprintf(stderr, "fixdep: sizeof(int) != 4 or wrong endianess? %#x\n",
diff -urNp linux-2.6.31.6/scripts/kallsyms.c linux-2.6.31.6/scripts/kallsyms.c
--- linux-2.6.31.6/scripts/kallsyms.c 2009-11-10 18:45:26.000000000 -0500
-+++ linux-2.6.31.6/scripts/kallsyms.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/scripts/kallsyms.c 2009-11-12 17:18:17.000000000 -0500
@@ -43,10 +43,10 @@ struct text_range {
static unsigned long long _text;
@@ -48800,7 +51961,7 @@ diff -urNp linux-2.6.31.6/scripts/kallsyms.c linux-2.6.31.6/scripts/kallsyms.c
#define text_range_inittext (&text_ranges[1])
diff -urNp linux-2.6.31.6/scripts/kconfig/lkc.h linux-2.6.31.6/scripts/kconfig/lkc.h
--- linux-2.6.31.6/scripts/kconfig/lkc.h 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/scripts/kconfig/lkc.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/scripts/kconfig/lkc.h 2009-11-12 17:18:17.000000000 -0500
@@ -97,7 +97,7 @@ void menu_add_expr(enum prop_type type,
void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep);
void menu_add_option(int token, char *arg);
@@ -48812,7 +51973,7 @@ diff -urNp linux-2.6.31.6/scripts/kconfig/lkc.h linux-2.6.31.6/scripts/kconfig/l
struct file *file_lookup(const char *name);
diff -urNp linux-2.6.31.6/scripts/kconfig/mconf.c linux-2.6.31.6/scripts/kconfig/mconf.c
--- linux-2.6.31.6/scripts/kconfig/mconf.c 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/scripts/kconfig/mconf.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/scripts/kconfig/mconf.c 2009-11-12 17:18:17.000000000 -0500
@@ -361,7 +361,7 @@ static char filename[PATH_MAX+1];
static void set_config_filename(const char *config_filename)
{
@@ -48824,7 +51985,7 @@ diff -urNp linux-2.6.31.6/scripts/kconfig/mconf.c linux-2.6.31.6/scripts/kconfig
sym = sym_lookup("KERNELVERSION", 0);
diff -urNp linux-2.6.31.6/scripts/kconfig/menu.c linux-2.6.31.6/scripts/kconfig/menu.c
--- linux-2.6.31.6/scripts/kconfig/menu.c 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/scripts/kconfig/menu.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/scripts/kconfig/menu.c 2009-11-12 17:18:17.000000000 -0500
@@ -104,7 +104,7 @@ void menu_add_dep(struct expr *dep)
current_entry->dep = expr_alloc_and(current_entry->dep, menu_check_dep(dep));
}
@@ -48836,7 +51997,7 @@ diff -urNp linux-2.6.31.6/scripts/kconfig/menu.c linux-2.6.31.6/scripts/kconfig/
diff -urNp linux-2.6.31.6/scripts/mod/file2alias.c linux-2.6.31.6/scripts/mod/file2alias.c
--- linux-2.6.31.6/scripts/mod/file2alias.c 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/scripts/mod/file2alias.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/scripts/mod/file2alias.c 2009-11-12 17:18:17.000000000 -0500
@@ -72,7 +72,7 @@ static void device_id_check(const char *
unsigned long size, unsigned long id_size,
void *symval)
@@ -48893,7 +52054,7 @@ diff -urNp linux-2.6.31.6/scripts/mod/file2alias.c linux-2.6.31.6/scripts/mod/fi
diff -urNp linux-2.6.31.6/scripts/mod/modpost.c linux-2.6.31.6/scripts/mod/modpost.c
--- linux-2.6.31.6/scripts/mod/modpost.c 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/scripts/mod/modpost.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/scripts/mod/modpost.c 2009-11-12 17:18:17.000000000 -0500
@@ -835,6 +835,7 @@ enum mismatch {
INIT_TO_EXIT,
EXIT_TO_INIT,
@@ -48963,7 +52124,7 @@ diff -urNp linux-2.6.31.6/scripts/mod/modpost.c linux-2.6.31.6/scripts/mod/modpo
tmp = NOFAIL(malloc(b->pos));
diff -urNp linux-2.6.31.6/scripts/mod/modpost.h linux-2.6.31.6/scripts/mod/modpost.h
--- linux-2.6.31.6/scripts/mod/modpost.h 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/scripts/mod/modpost.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/scripts/mod/modpost.h 2009-11-12 17:18:17.000000000 -0500
@@ -92,15 +92,15 @@ void *do_nofail(void *ptr, const char *e
struct buffer {
@@ -48985,7 +52146,7 @@ diff -urNp linux-2.6.31.6/scripts/mod/modpost.h linux-2.6.31.6/scripts/mod/modpo
struct module *next;
diff -urNp linux-2.6.31.6/scripts/mod/sumversion.c linux-2.6.31.6/scripts/mod/sumversion.c
--- linux-2.6.31.6/scripts/mod/sumversion.c 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/scripts/mod/sumversion.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/scripts/mod/sumversion.c 2009-11-12 17:18:17.000000000 -0500
@@ -457,7 +457,7 @@ static void write_version(const char *fi
goto out;
}
@@ -48997,7 +52158,7 @@ diff -urNp linux-2.6.31.6/scripts/mod/sumversion.c linux-2.6.31.6/scripts/mod/su
goto out;
diff -urNp linux-2.6.31.6/scripts/pnmtologo.c linux-2.6.31.6/scripts/pnmtologo.c
--- linux-2.6.31.6/scripts/pnmtologo.c 2009-11-10 18:45:27.000000000 -0500
-+++ linux-2.6.31.6/scripts/pnmtologo.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/scripts/pnmtologo.c 2009-11-12 17:18:17.000000000 -0500
@@ -237,14 +237,14 @@ static void write_header(void)
fprintf(out, " * Linux logo %s\n", logoname);
fputs(" */\n\n", out);
@@ -49026,7 +52187,7 @@ diff -urNp linux-2.6.31.6/scripts/pnmtologo.c linux-2.6.31.6/scripts/pnmtologo.c
for (i = 0; i < logo_clutsize; i++) {
diff -urNp linux-2.6.31.6/security/commoncap.c linux-2.6.31.6/security/commoncap.c
--- linux-2.6.31.6/security/commoncap.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/security/commoncap.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/security/commoncap.c 2009-11-12 17:18:17.000000000 -0500
@@ -27,7 +27,7 @@
#include <linux/sched.h>
#include <linux/prctl.h>
@@ -49051,7 +52212,7 @@ diff -urNp linux-2.6.31.6/security/commoncap.c linux-2.6.31.6/security/commoncap
diff -urNp linux-2.6.31.6/security/integrity/ima/ima_fs.c linux-2.6.31.6/security/integrity/ima/ima_fs.c
--- linux-2.6.31.6/security/integrity/ima/ima_fs.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/security/integrity/ima/ima_fs.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/security/integrity/ima/ima_fs.c 2009-11-12 17:18:17.000000000 -0500
@@ -43,7 +43,7 @@ static ssize_t ima_show_htable_violation
return ima_show_htable_value(buf, count, ppos, &ima_htable.violations);
}
@@ -49117,7 +52278,7 @@ diff -urNp linux-2.6.31.6/security/integrity/ima/ima_fs.c linux-2.6.31.6/securit
.release = ima_release_policy
diff -urNp linux-2.6.31.6/security/Kconfig linux-2.6.31.6/security/Kconfig
--- linux-2.6.31.6/security/Kconfig 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/security/Kconfig 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/security/Kconfig 2009-11-12 17:18:17.000000000 -0500
@@ -4,6 +4,465 @@
menu "Security options"
@@ -49586,7 +52747,7 @@ diff -urNp linux-2.6.31.6/security/Kconfig linux-2.6.31.6/security/Kconfig
help
diff -urNp linux-2.6.31.6/security/min_addr.c linux-2.6.31.6/security/min_addr.c
--- linux-2.6.31.6/security/min_addr.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/security/min_addr.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/security/min_addr.c 2009-11-12 17:18:17.000000000 -0500
@@ -14,6 +14,7 @@ unsigned long dac_mmap_min_addr = CONFIG
*/
static void update_mmap_min_addr(void)
@@ -49605,7 +52766,7 @@ diff -urNp linux-2.6.31.6/security/min_addr.c linux-2.6.31.6/security/min_addr.c
/*
diff -urNp linux-2.6.31.6/security/smack/smackfs.c linux-2.6.31.6/security/smack/smackfs.c
--- linux-2.6.31.6/security/smack/smackfs.c 2009-11-10 18:45:25.000000000 -0500
-+++ linux-2.6.31.6/security/smack/smackfs.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/security/smack/smackfs.c 2009-11-12 17:18:17.000000000 -0500
@@ -187,7 +187,7 @@ static void load_seq_stop(struct seq_fil
/* No-op */
}
@@ -49635,7 +52796,7 @@ diff -urNp linux-2.6.31.6/security/smack/smackfs.c linux-2.6.31.6/security/smack
.next = netlbladdr_seq_next,
diff -urNp linux-2.6.31.6/sound/aoa/codecs/onyx.c linux-2.6.31.6/sound/aoa/codecs/onyx.c
--- linux-2.6.31.6/sound/aoa/codecs/onyx.c 2009-11-10 18:45:41.000000000 -0500
-+++ linux-2.6.31.6/sound/aoa/codecs/onyx.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/sound/aoa/codecs/onyx.c 2009-11-12 17:18:17.000000000 -0500
@@ -53,7 +53,7 @@ struct onyx {
spdif_locked:1,
analog_locked:1,
@@ -49666,7 +52827,7 @@ diff -urNp linux-2.6.31.6/sound/aoa/codecs/onyx.c linux-2.6.31.6/sound/aoa/codec
diff -urNp linux-2.6.31.6/sound/core/oss/pcm_oss.c linux-2.6.31.6/sound/core/oss/pcm_oss.c
--- linux-2.6.31.6/sound/core/oss/pcm_oss.c 2009-11-10 18:45:41.000000000 -0500
-+++ linux-2.6.31.6/sound/core/oss/pcm_oss.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/sound/core/oss/pcm_oss.c 2009-11-12 17:18:17.000000000 -0500
@@ -2943,8 +2943,8 @@ static void snd_pcm_oss_proc_done(struct
}
}
@@ -49680,7 +52841,7 @@ diff -urNp linux-2.6.31.6/sound/core/oss/pcm_oss.c linux-2.6.31.6/sound/core/oss
/*
diff -urNp linux-2.6.31.6/sound/core/seq/seq_lock.h linux-2.6.31.6/sound/core/seq/seq_lock.h
--- linux-2.6.31.6/sound/core/seq/seq_lock.h 2009-11-10 18:45:41.000000000 -0500
-+++ linux-2.6.31.6/sound/core/seq/seq_lock.h 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/sound/core/seq/seq_lock.h 2009-11-12 17:18:17.000000000 -0500
@@ -23,10 +23,10 @@ void snd_use_lock_sync_helper(snd_use_lo
#else /* SMP || CONFIG_SND_DEBUG */
@@ -49698,7 +52859,7 @@ diff -urNp linux-2.6.31.6/sound/core/seq/seq_lock.h linux-2.6.31.6/sound/core/se
diff -urNp linux-2.6.31.6/sound/drivers/mts64.c linux-2.6.31.6/sound/drivers/mts64.c
--- linux-2.6.31.6/sound/drivers/mts64.c 2009-11-10 18:45:41.000000000 -0500
-+++ linux-2.6.31.6/sound/drivers/mts64.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/sound/drivers/mts64.c 2009-11-12 17:18:17.000000000 -0500
@@ -65,7 +65,7 @@ struct mts64 {
struct pardevice *pardev;
int pardev_claimed;
@@ -49749,7 +52910,7 @@ diff -urNp linux-2.6.31.6/sound/drivers/mts64.c linux-2.6.31.6/sound/drivers/mts
}
diff -urNp linux-2.6.31.6/sound/drivers/portman2x4.c linux-2.6.31.6/sound/drivers/portman2x4.c
--- linux-2.6.31.6/sound/drivers/portman2x4.c 2009-11-10 18:45:41.000000000 -0500
-+++ linux-2.6.31.6/sound/drivers/portman2x4.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/sound/drivers/portman2x4.c 2009-11-12 17:18:17.000000000 -0500
@@ -83,7 +83,7 @@ struct portman {
struct pardevice *pardev;
int pardev_claimed;
@@ -49761,7 +52922,7 @@ diff -urNp linux-2.6.31.6/sound/drivers/portman2x4.c linux-2.6.31.6/sound/driver
};
diff -urNp linux-2.6.31.6/sound/pci/ac97/ac97_codec.c linux-2.6.31.6/sound/pci/ac97/ac97_codec.c
--- linux-2.6.31.6/sound/pci/ac97/ac97_codec.c 2009-11-10 18:45:40.000000000 -0500
-+++ linux-2.6.31.6/sound/pci/ac97/ac97_codec.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/sound/pci/ac97/ac97_codec.c 2009-11-12 17:18:17.000000000 -0500
@@ -1952,7 +1952,7 @@ static int snd_ac97_dev_disconnect(struc
}
@@ -49773,7 +52934,7 @@ diff -urNp linux-2.6.31.6/sound/pci/ac97/ac97_codec.c linux-2.6.31.6/sound/pci/a
static void do_update_power(struct work_struct *work)
diff -urNp linux-2.6.31.6/sound/pci/ac97/ac97_patch.c linux-2.6.31.6/sound/pci/ac97/ac97_patch.c
--- linux-2.6.31.6/sound/pci/ac97/ac97_patch.c 2009-11-10 18:45:41.000000000 -0500
-+++ linux-2.6.31.6/sound/pci/ac97/ac97_patch.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/sound/pci/ac97/ac97_patch.c 2009-11-12 17:18:17.000000000 -0500
@@ -1501,7 +1501,7 @@ static const struct snd_ac97_res_table a
{ AC97_VIDEO, 0x9f1f },
{ AC97_AUX, 0x9f1f },
@@ -49794,7 +52955,7 @@ diff -urNp linux-2.6.31.6/sound/pci/ac97/ac97_patch.c linux-2.6.31.6/sound/pci/a
static int patch_lm4550(struct snd_ac97 *ac97)
diff -urNp linux-2.6.31.6/sound/pci/ens1370.c linux-2.6.31.6/sound/pci/ens1370.c
--- linux-2.6.31.6/sound/pci/ens1370.c 2009-11-10 18:45:40.000000000 -0500
-+++ linux-2.6.31.6/sound/pci/ens1370.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/sound/pci/ens1370.c 2009-11-12 17:18:17.000000000 -0500
@@ -452,7 +452,7 @@ static struct pci_device_id snd_audiopci
{ PCI_VDEVICE(ENSONIQ, 0x5880), 0, }, /* ES1373 - CT5880 */
{ PCI_VDEVICE(ECTIVA, 0x8938), 0, }, /* Ectiva EV1938 */
@@ -49806,7 +52967,7 @@ diff -urNp linux-2.6.31.6/sound/pci/ens1370.c linux-2.6.31.6/sound/pci/ens1370.c
MODULE_DEVICE_TABLE(pci, snd_audiopci_ids);
diff -urNp linux-2.6.31.6/sound/pci/intel8x0.c linux-2.6.31.6/sound/pci/intel8x0.c
--- linux-2.6.31.6/sound/pci/intel8x0.c 2009-11-10 18:45:41.000000000 -0500
-+++ linux-2.6.31.6/sound/pci/intel8x0.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/sound/pci/intel8x0.c 2009-11-12 17:18:17.000000000 -0500
@@ -444,7 +444,7 @@ static struct pci_device_id snd_intel8x0
{ PCI_VDEVICE(AMD, 0x746d), DEVICE_INTEL }, /* AMD8111 */
{ PCI_VDEVICE(AMD, 0x7445), DEVICE_INTEL }, /* AMD768 */
@@ -49827,7 +52988,7 @@ diff -urNp linux-2.6.31.6/sound/pci/intel8x0.c linux-2.6.31.6/sound/pci/intel8x0
static int __devinit snd_intel8x0_mixer(struct intel8x0 *chip, int ac97_clock,
diff -urNp linux-2.6.31.6/sound/pci/intel8x0m.c linux-2.6.31.6/sound/pci/intel8x0m.c
--- linux-2.6.31.6/sound/pci/intel8x0m.c 2009-11-10 18:45:40.000000000 -0500
-+++ linux-2.6.31.6/sound/pci/intel8x0m.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/sound/pci/intel8x0m.c 2009-11-12 17:18:17.000000000 -0500
@@ -239,7 +239,7 @@ static struct pci_device_id snd_intel8x0
{ PCI_VDEVICE(AMD, 0x746d), DEVICE_INTEL }, /* AMD8111 */
{ PCI_VDEVICE(AL, 0x5455), DEVICE_ALI }, /* Ali5455 */
@@ -49848,7 +53009,7 @@ diff -urNp linux-2.6.31.6/sound/pci/intel8x0m.c linux-2.6.31.6/sound/pci/intel8x
static int __devinit snd_intel8x0m_probe(struct pci_dev *pci,
diff -urNp linux-2.6.31.6/sound/usb/usx2y/us122l.c linux-2.6.31.6/sound/usb/usx2y/us122l.c
--- linux-2.6.31.6/sound/usb/usx2y/us122l.c 2009-11-10 18:45:41.000000000 -0500
-+++ linux-2.6.31.6/sound/usb/usx2y/us122l.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/sound/usb/usx2y/us122l.c 2009-11-12 17:18:17.000000000 -0500
@@ -154,7 +154,7 @@ static void usb_stream_hwdep_vm_close(st
snd_printdd(KERN_DEBUG "%i\n", atomic_read(&us122l->mmap_count));
}
@@ -49860,7 +53021,7 @@ diff -urNp linux-2.6.31.6/sound/usb/usx2y/us122l.c linux-2.6.31.6/sound/usb/usx2
.close = usb_stream_hwdep_vm_close,
diff -urNp linux-2.6.31.6/sound/usb/usx2y/usX2Yhwdep.c linux-2.6.31.6/sound/usb/usx2y/usX2Yhwdep.c
--- linux-2.6.31.6/sound/usb/usx2y/usX2Yhwdep.c 2009-11-10 18:45:41.000000000 -0500
-+++ linux-2.6.31.6/sound/usb/usx2y/usX2Yhwdep.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/sound/usb/usx2y/usX2Yhwdep.c 2009-11-12 17:18:17.000000000 -0500
@@ -53,7 +53,7 @@ static int snd_us428ctls_vm_fault(struct
return 0;
}
@@ -49872,7 +53033,7 @@ diff -urNp linux-2.6.31.6/sound/usb/usx2y/usX2Yhwdep.c linux-2.6.31.6/sound/usb/
diff -urNp linux-2.6.31.6/sound/usb/usx2y/usx2yhwdeppcm.c linux-2.6.31.6/sound/usb/usx2y/usx2yhwdeppcm.c
--- linux-2.6.31.6/sound/usb/usx2y/usx2yhwdeppcm.c 2009-11-10 18:45:41.000000000 -0500
-+++ linux-2.6.31.6/sound/usb/usx2y/usx2yhwdeppcm.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/sound/usb/usx2y/usx2yhwdeppcm.c 2009-11-12 17:18:17.000000000 -0500
@@ -697,7 +697,7 @@ static int snd_usX2Y_hwdep_pcm_vm_fault(
}
@@ -49884,7 +53045,7 @@ diff -urNp linux-2.6.31.6/sound/usb/usx2y/usx2yhwdeppcm.c linux-2.6.31.6/sound/u
.fault = snd_usX2Y_hwdep_pcm_vm_fault,
diff -urNp linux-2.6.31.6/usr/gen_init_cpio.c linux-2.6.31.6/usr/gen_init_cpio.c
--- linux-2.6.31.6/usr/gen_init_cpio.c 2009-11-10 18:45:42.000000000 -0500
-+++ linux-2.6.31.6/usr/gen_init_cpio.c 2009-11-10 18:40:41.000000000 -0500
++++ linux-2.6.31.6/usr/gen_init_cpio.c 2009-11-12 17:18:17.000000000 -0500
@@ -299,7 +299,7 @@ static int cpio_mkfile(const char *name,
int retval;
int rc = -1;
@@ -49909,7 +53070,7 @@ diff -urNp linux-2.6.31.6/usr/gen_init_cpio.c linux-2.6.31.6/usr/gen_init_cpio.c
}
diff -urNp linux-2.6.31.6/virt/kvm/kvm_main.c linux-2.6.31.6/virt/kvm/kvm_main.c
--- linux-2.6.31.6/virt/kvm/kvm_main.c 2009-11-10 18:47:57.000000000 -0500
-+++ linux-2.6.31.6/virt/kvm/kvm_main.c 2009-11-10 18:53:47.000000000 -0500
++++ linux-2.6.31.6/virt/kvm/kvm_main.c 2009-11-12 17:18:17.000000000 -0500
@@ -2353,6 +2353,9 @@ static struct miscdevice kvm_dev = {
KVM_MINOR,
"kvm",
diff --git a/main/linux-grsec/kernelconfig.x86 b/main/linux-grsec/kernelconfig.x86
index 6a77c6d53e..023fb73da8 100644
--- a/main/linux-grsec/kernelconfig.x86
+++ b/main/linux-grsec/kernelconfig.x86
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.31.5
-# Mon Nov 2 17:52:49 2009
+# Linux kernel version: 2.6.31.6
+# Wed Nov 18 15:14:39 2009
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -339,9 +339,9 @@ CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
-CONFIG_PHYSICAL_START=0x100000
+CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
-CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
@@ -2228,9 +2228,6 @@ CONFIG_SYNCLINK_GT=m
CONFIG_N_HDLC=m
CONFIG_RISCOM8=m
CONFIG_SPECIALIX=m
-CONFIG_SX=m
-CONFIG_RIO=m
-CONFIG_RIO_OLDPCI=y
CONFIG_STALDRV=y
CONFIG_STALLION=m
CONFIG_ISTALLION=m
@@ -4214,6 +4211,7 @@ CONFIG_GRKERNSEC_PROC_USER=y
CONFIG_GRKERNSEC_PROC_ADD=y
CONFIG_GRKERNSEC_LINK=y
CONFIG_GRKERNSEC_FIFO=y
+# CONFIG_GRKERNSEC_ROFS is not set
CONFIG_GRKERNSEC_CHROOT=y
CONFIG_GRKERNSEC_CHROOT_MOUNT=y
CONFIG_GRKERNSEC_CHROOT_DOUBLE=y