aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-10-18 11:17:20 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2011-10-19 08:17:15 +0000
commitf55a8053e7adcfa44b942421abe7341b4427ddbc (patch)
treea0e3e512ae3075e2e712f2f86d28ecc17125eeb1
parentcc12af423cf3906baaab95e85c6d27f9a68451d1 (diff)
downloadalpine_aports-f55a8053e7adcfa44b942421abe7341b4427ddbc.tar.bz2
alpine_aports-f55a8053e7adcfa44b942421abe7341b4427ddbc.tar.xz
alpine_aports-f55a8053e7adcfa44b942421abe7341b4427ddbc.zip
main/linux-grsec: upgrade to grsecurity-2.2.2-3.0.7-201110172337
-rw-r--r--main/linux-grsec/APKBUILD12
-rw-r--r--main/linux-grsec/grsec-timblogiw-noconst.patch13
-rw-r--r--main/linux-grsec/grsecurity-2.2.2-3.0.7-201110172337.patch (renamed from main/linux-grsec/grsecurity-2.2.2-3.0.4-201109261052.patch)13073
3 files changed, 8371 insertions, 4727 deletions
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index 4767cd9e43..ef4faefea5 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -2,9 +2,9 @@
2 2
3_flavor=grsec 3_flavor=grsec
4pkgname=linux-${_flavor} 4pkgname=linux-${_flavor}
5pkgver=3.0.4 5pkgver=3.0.7
6_kernver=3.0 6_kernver=3.0
7pkgrel=8 7pkgrel=0
8pkgdesc="Linux kernel with grsecurity" 8pkgdesc="Linux kernel with grsecurity"
9url=http://grsecurity.net 9url=http://grsecurity.net
10depends="mkinitfs linux-firmware" 10depends="mkinitfs linux-firmware"
@@ -14,7 +14,8 @@ _config=${config:-kernelconfig.${CARCH}}
14install= 14install=
15source="ftp://ftp.kernel.org/pub/linux/kernel/v3.0/linux-$_kernver.tar.bz2 15source="ftp://ftp.kernel.org/pub/linux/kernel/v3.0/linux-$_kernver.tar.bz2
16 ftp://ftp.kernel.org/pub/linux/kernel/v3.0/patch-$pkgver.bz2 16 ftp://ftp.kernel.org/pub/linux/kernel/v3.0/patch-$pkgver.bz2
17 grsecurity-2.2.2-3.0.4-201109261052.patch 17 grsecurity-2.2.2-3.0.7-201110172337.patch
18 grsec-timblogiw-noconst.patch
18 19
19 0004-arp-flush-arp-cache-on-device-change.patch 20 0004-arp-flush-arp-cache-on-device-change.patch
20 21
@@ -137,8 +138,9 @@ dev() {
137} 138}
138 139
139md5sums="398e95866794def22b12dfbc15ce89c0 linux-3.0.tar.bz2 140md5sums="398e95866794def22b12dfbc15ce89c0 linux-3.0.tar.bz2
14062ca5f3caed233617127b2b3b7a87d15 patch-3.0.4.bz2 141451412dc3b25c60fed80ddd5c49cb855 patch-3.0.7.bz2
141a7729608516e45657d47a0a458117ca1 grsecurity-2.2.2-3.0.4-201109261052.patch 14269b5cb7d7fa679346a6752d8759fa945 grsecurity-2.2.2-3.0.7-201110172337.patch
143c41cf0ee9794f393423c6b2093072260 grsec-timblogiw-noconst.patch
142776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch 144776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch
143bcb5aaabe38627ec887406774d8aeb42 kernelconfig.x86 145bcb5aaabe38627ec887406774d8aeb42 kernelconfig.x86
1449add73a4ee0b1f15b4bf3e3311c3d140 kernelconfig.x86_64" 1469add73a4ee0b1f15b4bf3e3311c3d140 kernelconfig.x86_64"
diff --git a/main/linux-grsec/grsec-timblogiw-noconst.patch b/main/linux-grsec/grsec-timblogiw-noconst.patch
new file mode 100644
index 0000000000..0f402aca93
--- /dev/null
+++ b/main/linux-grsec/grsec-timblogiw-noconst.patch
@@ -0,0 +1,13 @@
1diff --git a/drivers/media/video/timblogiw.c b/drivers/media/video/timblogiw.c
2index 45ccd26..8a0916d 100644
3--- a/drivers/media/video/timblogiw.c
4+++ b/drivers/media/video/timblogiw.c
5@@ -767,7 +767,7 @@ static __devinitconst v4l2_ioctl_ops_no_const timblogiw_ioctl_ops = {
6 .vidioc_enum_framesizes = timblogiw_enum_framesizes,
7 };
8
9-static __devinitconst struct v4l2_file_operations timblogiw_fops = {
10+static __devinitconst v4l2_file_operations_no_const timblogiw_fops = {
11 .owner = THIS_MODULE,
12 .open = timblogiw_open,
13 .release = timblogiw_close,
diff --git a/main/linux-grsec/grsecurity-2.2.2-3.0.4-201109261052.patch b/main/linux-grsec/grsecurity-2.2.2-3.0.7-201110172337.patch
index cce98cf9ed..0fc7b864ec 100644
--- a/main/linux-grsec/grsecurity-2.2.2-3.0.4-201109261052.patch
+++ b/main/linux-grsec/grsecurity-2.2.2-3.0.7-201110172337.patch
@@ -1,6 +1,6 @@
1diff -urNp linux-3.0.4/arch/alpha/include/asm/elf.h linux-3.0.4/arch/alpha/include/asm/elf.h 1diff -urNp linux-3.0.7/arch/alpha/include/asm/elf.h linux-3.0.7/arch/alpha/include/asm/elf.h
2--- linux-3.0.4/arch/alpha/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 2--- linux-3.0.7/arch/alpha/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
3+++ linux-3.0.4/arch/alpha/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 3+++ linux-3.0.7/arch/alpha/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
4@@ -90,6 +90,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N 4@@ -90,6 +90,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N
5 5
6 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x1000000) 6 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x1000000)
@@ -15,9 +15,9 @@ diff -urNp linux-3.0.4/arch/alpha/include/asm/elf.h linux-3.0.4/arch/alpha/inclu
15 /* $0 is set by ld.so to a pointer to a function which might be 15 /* $0 is set by ld.so to a pointer to a function which might be
16 registered using atexit. This provides a mean for the dynamic 16 registered using atexit. This provides a mean for the dynamic
17 linker to call DT_FINI functions for shared libraries that have 17 linker to call DT_FINI functions for shared libraries that have
18diff -urNp linux-3.0.4/arch/alpha/include/asm/pgtable.h linux-3.0.4/arch/alpha/include/asm/pgtable.h 18diff -urNp linux-3.0.7/arch/alpha/include/asm/pgtable.h linux-3.0.7/arch/alpha/include/asm/pgtable.h
19--- linux-3.0.4/arch/alpha/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400 19--- linux-3.0.7/arch/alpha/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400
20+++ linux-3.0.4/arch/alpha/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400 20+++ linux-3.0.7/arch/alpha/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400
21@@ -101,6 +101,17 @@ struct vm_area_struct; 21@@ -101,6 +101,17 @@ struct vm_area_struct;
22 #define PAGE_SHARED __pgprot(_PAGE_VALID | __ACCESS_BITS) 22 #define PAGE_SHARED __pgprot(_PAGE_VALID | __ACCESS_BITS)
23 #define PAGE_COPY __pgprot(_PAGE_VALID | __ACCESS_BITS | _PAGE_FOW) 23 #define PAGE_COPY __pgprot(_PAGE_VALID | __ACCESS_BITS | _PAGE_FOW)
@@ -36,9 +36,9 @@ diff -urNp linux-3.0.4/arch/alpha/include/asm/pgtable.h linux-3.0.4/arch/alpha/i
36 #define PAGE_KERNEL __pgprot(_PAGE_VALID | _PAGE_ASM | _PAGE_KRE | _PAGE_KWE) 36 #define PAGE_KERNEL __pgprot(_PAGE_VALID | _PAGE_ASM | _PAGE_KRE | _PAGE_KWE)
37 37
38 #define _PAGE_NORMAL(x) __pgprot(_PAGE_VALID | __ACCESS_BITS | (x)) 38 #define _PAGE_NORMAL(x) __pgprot(_PAGE_VALID | __ACCESS_BITS | (x))
39diff -urNp linux-3.0.4/arch/alpha/kernel/module.c linux-3.0.4/arch/alpha/kernel/module.c 39diff -urNp linux-3.0.7/arch/alpha/kernel/module.c linux-3.0.7/arch/alpha/kernel/module.c
40--- linux-3.0.4/arch/alpha/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 40--- linux-3.0.7/arch/alpha/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
41+++ linux-3.0.4/arch/alpha/kernel/module.c 2011-08-23 21:47:55.000000000 -0400 41+++ linux-3.0.7/arch/alpha/kernel/module.c 2011-08-23 21:47:55.000000000 -0400
42@@ -182,7 +182,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs, 42@@ -182,7 +182,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs,
43 43
44 /* The small sections were sorted to the end of the segment. 44 /* The small sections were sorted to the end of the segment.
@@ -48,9 +48,9 @@ diff -urNp linux-3.0.4/arch/alpha/kernel/module.c linux-3.0.4/arch/alpha/kernel/
48 got = sechdrs[me->arch.gotsecindex].sh_addr; 48 got = sechdrs[me->arch.gotsecindex].sh_addr;
49 49
50 for (i = 0; i < n; i++) { 50 for (i = 0; i < n; i++) {
51diff -urNp linux-3.0.4/arch/alpha/kernel/osf_sys.c linux-3.0.4/arch/alpha/kernel/osf_sys.c 51diff -urNp linux-3.0.7/arch/alpha/kernel/osf_sys.c linux-3.0.7/arch/alpha/kernel/osf_sys.c
52--- linux-3.0.4/arch/alpha/kernel/osf_sys.c 2011-07-21 22:17:23.000000000 -0400 52--- linux-3.0.7/arch/alpha/kernel/osf_sys.c 2011-07-21 22:17:23.000000000 -0400
53+++ linux-3.0.4/arch/alpha/kernel/osf_sys.c 2011-08-23 21:47:55.000000000 -0400 53+++ linux-3.0.7/arch/alpha/kernel/osf_sys.c 2011-08-23 21:47:55.000000000 -0400
54@@ -1145,7 +1145,7 @@ arch_get_unmapped_area_1(unsigned long a 54@@ -1145,7 +1145,7 @@ arch_get_unmapped_area_1(unsigned long a
55 /* At this point: (!vma || addr < vma->vm_end). */ 55 /* At this point: (!vma || addr < vma->vm_end). */
56 if (limit - len < addr) 56 if (limit - len < addr)
@@ -82,9 +82,9 @@ diff -urNp linux-3.0.4/arch/alpha/kernel/osf_sys.c linux-3.0.4/arch/alpha/kernel
82 if (addr != (unsigned long) -ENOMEM) 82 if (addr != (unsigned long) -ENOMEM)
83 return addr; 83 return addr;
84 84
85diff -urNp linux-3.0.4/arch/alpha/mm/fault.c linux-3.0.4/arch/alpha/mm/fault.c 85diff -urNp linux-3.0.7/arch/alpha/mm/fault.c linux-3.0.7/arch/alpha/mm/fault.c
86--- linux-3.0.4/arch/alpha/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 86--- linux-3.0.7/arch/alpha/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
87+++ linux-3.0.4/arch/alpha/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 87+++ linux-3.0.7/arch/alpha/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
88@@ -54,6 +54,124 @@ __load_new_mm_context(struct mm_struct * 88@@ -54,6 +54,124 @@ __load_new_mm_context(struct mm_struct *
89 __reload_thread(pcb); 89 __reload_thread(pcb);
90 } 90 }
@@ -241,9 +241,9 @@ diff -urNp linux-3.0.4/arch/alpha/mm/fault.c linux-3.0.4/arch/alpha/mm/fault.c
241 } else if (!cause) { 241 } else if (!cause) {
242 /* Allow reads even for write-only mappings */ 242 /* Allow reads even for write-only mappings */
243 if (!(vma->vm_flags & (VM_READ | VM_WRITE))) 243 if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
244diff -urNp linux-3.0.4/arch/arm/include/asm/elf.h linux-3.0.4/arch/arm/include/asm/elf.h 244diff -urNp linux-3.0.7/arch/arm/include/asm/elf.h linux-3.0.7/arch/arm/include/asm/elf.h
245--- linux-3.0.4/arch/arm/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 245--- linux-3.0.7/arch/arm/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
246+++ linux-3.0.4/arch/arm/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 246+++ linux-3.0.7/arch/arm/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
247@@ -116,7 +116,14 @@ int dump_task_regs(struct task_struct *t 247@@ -116,7 +116,14 @@ int dump_task_regs(struct task_struct *t
248 the loader. We need to make sure that it is out of the way of the program 248 the loader. We need to make sure that it is out of the way of the program
249 that it will "exec", and that there is sufficient room for the brk. */ 249 that it will "exec", and that there is sufficient room for the brk. */
@@ -271,9 +271,9 @@ diff -urNp linux-3.0.4/arch/arm/include/asm/elf.h linux-3.0.4/arch/arm/include/a
271 extern int vectors_user_mapping(void); 271 extern int vectors_user_mapping(void);
272 #define arch_setup_additional_pages(bprm, uses_interp) vectors_user_mapping() 272 #define arch_setup_additional_pages(bprm, uses_interp) vectors_user_mapping()
273 #define ARCH_HAS_SETUP_ADDITIONAL_PAGES 273 #define ARCH_HAS_SETUP_ADDITIONAL_PAGES
274diff -urNp linux-3.0.4/arch/arm/include/asm/kmap_types.h linux-3.0.4/arch/arm/include/asm/kmap_types.h 274diff -urNp linux-3.0.7/arch/arm/include/asm/kmap_types.h linux-3.0.7/arch/arm/include/asm/kmap_types.h
275--- linux-3.0.4/arch/arm/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400 275--- linux-3.0.7/arch/arm/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400
276+++ linux-3.0.4/arch/arm/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400 276+++ linux-3.0.7/arch/arm/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400
277@@ -21,6 +21,7 @@ enum km_type { 277@@ -21,6 +21,7 @@ enum km_type {
278 KM_L1_CACHE, 278 KM_L1_CACHE,
279 KM_L2_CACHE, 279 KM_L2_CACHE,
@@ -282,9 +282,9 @@ diff -urNp linux-3.0.4/arch/arm/include/asm/kmap_types.h linux-3.0.4/arch/arm/in
282 KM_TYPE_NR 282 KM_TYPE_NR
283 }; 283 };
284 284
285diff -urNp linux-3.0.4/arch/arm/include/asm/uaccess.h linux-3.0.4/arch/arm/include/asm/uaccess.h 285diff -urNp linux-3.0.7/arch/arm/include/asm/uaccess.h linux-3.0.7/arch/arm/include/asm/uaccess.h
286--- linux-3.0.4/arch/arm/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400 286--- linux-3.0.7/arch/arm/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400
287+++ linux-3.0.4/arch/arm/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400 287+++ linux-3.0.7/arch/arm/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400
288@@ -22,6 +22,8 @@ 288@@ -22,6 +22,8 @@
289 #define VERIFY_READ 0 289 #define VERIFY_READ 0
290 #define VERIFY_WRITE 1 290 #define VERIFY_WRITE 1
@@ -340,9 +340,9 @@ diff -urNp linux-3.0.4/arch/arm/include/asm/uaccess.h linux-3.0.4/arch/arm/inclu
340 if (access_ok(VERIFY_WRITE, to, n)) 340 if (access_ok(VERIFY_WRITE, to, n))
341 n = __copy_to_user(to, from, n); 341 n = __copy_to_user(to, from, n);
342 return n; 342 return n;
343diff -urNp linux-3.0.4/arch/arm/kernel/armksyms.c linux-3.0.4/arch/arm/kernel/armksyms.c 343diff -urNp linux-3.0.7/arch/arm/kernel/armksyms.c linux-3.0.7/arch/arm/kernel/armksyms.c
344--- linux-3.0.4/arch/arm/kernel/armksyms.c 2011-07-21 22:17:23.000000000 -0400 344--- linux-3.0.7/arch/arm/kernel/armksyms.c 2011-07-21 22:17:23.000000000 -0400
345+++ linux-3.0.4/arch/arm/kernel/armksyms.c 2011-08-23 21:47:55.000000000 -0400 345+++ linux-3.0.7/arch/arm/kernel/armksyms.c 2011-08-23 21:47:55.000000000 -0400
346@@ -98,8 +98,8 @@ EXPORT_SYMBOL(__strncpy_from_user); 346@@ -98,8 +98,8 @@ EXPORT_SYMBOL(__strncpy_from_user);
347 #ifdef CONFIG_MMU 347 #ifdef CONFIG_MMU
348 EXPORT_SYMBOL(copy_page); 348 EXPORT_SYMBOL(copy_page);
@@ -354,9 +354,9 @@ diff -urNp linux-3.0.4/arch/arm/kernel/armksyms.c linux-3.0.4/arch/arm/kernel/ar
354 EXPORT_SYMBOL(__clear_user); 354 EXPORT_SYMBOL(__clear_user);
355 355
356 EXPORT_SYMBOL(__get_user_1); 356 EXPORT_SYMBOL(__get_user_1);
357diff -urNp linux-3.0.4/arch/arm/kernel/process.c linux-3.0.4/arch/arm/kernel/process.c 357diff -urNp linux-3.0.7/arch/arm/kernel/process.c linux-3.0.7/arch/arm/kernel/process.c
358--- linux-3.0.4/arch/arm/kernel/process.c 2011-07-21 22:17:23.000000000 -0400 358--- linux-3.0.7/arch/arm/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
359+++ linux-3.0.4/arch/arm/kernel/process.c 2011-08-23 21:47:55.000000000 -0400 359+++ linux-3.0.7/arch/arm/kernel/process.c 2011-08-23 21:47:55.000000000 -0400
360@@ -28,7 +28,6 @@ 360@@ -28,7 +28,6 @@
361 #include <linux/tick.h> 361 #include <linux/tick.h>
362 #include <linux/utsname.h> 362 #include <linux/utsname.h>
@@ -378,9 +378,9 @@ diff -urNp linux-3.0.4/arch/arm/kernel/process.c linux-3.0.4/arch/arm/kernel/pro
378 #ifdef CONFIG_MMU 378 #ifdef CONFIG_MMU
379 /* 379 /*
380 * The vectors page is always readable from user space for the 380 * The vectors page is always readable from user space for the
381diff -urNp linux-3.0.4/arch/arm/kernel/traps.c linux-3.0.4/arch/arm/kernel/traps.c 381diff -urNp linux-3.0.7/arch/arm/kernel/traps.c linux-3.0.7/arch/arm/kernel/traps.c
382--- linux-3.0.4/arch/arm/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400 382--- linux-3.0.7/arch/arm/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400
383+++ linux-3.0.4/arch/arm/kernel/traps.c 2011-08-23 21:48:14.000000000 -0400 383+++ linux-3.0.7/arch/arm/kernel/traps.c 2011-08-23 21:48:14.000000000 -0400
384@@ -257,6 +257,8 @@ static int __die(const char *str, int er 384@@ -257,6 +257,8 @@ static int __die(const char *str, int er
385 385
386 static DEFINE_SPINLOCK(die_lock); 386 static DEFINE_SPINLOCK(die_lock);
@@ -400,9 +400,9 @@ diff -urNp linux-3.0.4/arch/arm/kernel/traps.c linux-3.0.4/arch/arm/kernel/traps
400 if (ret != NOTIFY_STOP) 400 if (ret != NOTIFY_STOP)
401 do_exit(SIGSEGV); 401 do_exit(SIGSEGV);
402 } 402 }
403diff -urNp linux-3.0.4/arch/arm/lib/copy_from_user.S linux-3.0.4/arch/arm/lib/copy_from_user.S 403diff -urNp linux-3.0.7/arch/arm/lib/copy_from_user.S linux-3.0.7/arch/arm/lib/copy_from_user.S
404--- linux-3.0.4/arch/arm/lib/copy_from_user.S 2011-07-21 22:17:23.000000000 -0400 404--- linux-3.0.7/arch/arm/lib/copy_from_user.S 2011-07-21 22:17:23.000000000 -0400
405+++ linux-3.0.4/arch/arm/lib/copy_from_user.S 2011-08-23 21:47:55.000000000 -0400 405+++ linux-3.0.7/arch/arm/lib/copy_from_user.S 2011-08-23 21:47:55.000000000 -0400
406@@ -16,7 +16,7 @@ 406@@ -16,7 +16,7 @@
407 /* 407 /*
408 * Prototype: 408 * Prototype:
@@ -426,9 +426,9 @@ diff -urNp linux-3.0.4/arch/arm/lib/copy_from_user.S linux-3.0.4/arch/arm/lib/co
426 426
427 .pushsection .fixup,"ax" 427 .pushsection .fixup,"ax"
428 .align 0 428 .align 0
429diff -urNp linux-3.0.4/arch/arm/lib/copy_to_user.S linux-3.0.4/arch/arm/lib/copy_to_user.S 429diff -urNp linux-3.0.7/arch/arm/lib/copy_to_user.S linux-3.0.7/arch/arm/lib/copy_to_user.S
430--- linux-3.0.4/arch/arm/lib/copy_to_user.S 2011-07-21 22:17:23.000000000 -0400 430--- linux-3.0.7/arch/arm/lib/copy_to_user.S 2011-07-21 22:17:23.000000000 -0400
431+++ linux-3.0.4/arch/arm/lib/copy_to_user.S 2011-08-23 21:47:55.000000000 -0400 431+++ linux-3.0.7/arch/arm/lib/copy_to_user.S 2011-08-23 21:47:55.000000000 -0400
432@@ -16,7 +16,7 @@ 432@@ -16,7 +16,7 @@
433 /* 433 /*
434 * Prototype: 434 * Prototype:
@@ -452,9 +452,9 @@ diff -urNp linux-3.0.4/arch/arm/lib/copy_to_user.S linux-3.0.4/arch/arm/lib/copy
452 ENDPROC(__copy_to_user_std) 452 ENDPROC(__copy_to_user_std)
453 453
454 .pushsection .fixup,"ax" 454 .pushsection .fixup,"ax"
455diff -urNp linux-3.0.4/arch/arm/lib/uaccess.S linux-3.0.4/arch/arm/lib/uaccess.S 455diff -urNp linux-3.0.7/arch/arm/lib/uaccess.S linux-3.0.7/arch/arm/lib/uaccess.S
456--- linux-3.0.4/arch/arm/lib/uaccess.S 2011-07-21 22:17:23.000000000 -0400 456--- linux-3.0.7/arch/arm/lib/uaccess.S 2011-07-21 22:17:23.000000000 -0400
457+++ linux-3.0.4/arch/arm/lib/uaccess.S 2011-08-23 21:47:55.000000000 -0400 457+++ linux-3.0.7/arch/arm/lib/uaccess.S 2011-08-23 21:47:55.000000000 -0400
458@@ -20,7 +20,7 @@ 458@@ -20,7 +20,7 @@
459 459
460 #define PAGE_SHIFT 12 460 #define PAGE_SHIFT 12
@@ -508,9 +508,9 @@ diff -urNp linux-3.0.4/arch/arm/lib/uaccess.S linux-3.0.4/arch/arm/lib/uaccess.S
508 508
509 .pushsection .fixup,"ax" 509 .pushsection .fixup,"ax"
510 .align 0 510 .align 0
511diff -urNp linux-3.0.4/arch/arm/lib/uaccess_with_memcpy.c linux-3.0.4/arch/arm/lib/uaccess_with_memcpy.c 511diff -urNp linux-3.0.7/arch/arm/lib/uaccess_with_memcpy.c linux-3.0.7/arch/arm/lib/uaccess_with_memcpy.c
512--- linux-3.0.4/arch/arm/lib/uaccess_with_memcpy.c 2011-07-21 22:17:23.000000000 -0400 512--- linux-3.0.7/arch/arm/lib/uaccess_with_memcpy.c 2011-07-21 22:17:23.000000000 -0400
513+++ linux-3.0.4/arch/arm/lib/uaccess_with_memcpy.c 2011-08-23 21:47:55.000000000 -0400 513+++ linux-3.0.7/arch/arm/lib/uaccess_with_memcpy.c 2011-08-23 21:47:55.000000000 -0400
514@@ -103,7 +103,7 @@ out: 514@@ -103,7 +103,7 @@ out:
515 } 515 }
516 516
@@ -520,9 +520,9 @@ diff -urNp linux-3.0.4/arch/arm/lib/uaccess_with_memcpy.c linux-3.0.4/arch/arm/l
520 { 520 {
521 /* 521 /*
522 * This test is stubbed out of the main function above to keep 522 * This test is stubbed out of the main function above to keep
523diff -urNp linux-3.0.4/arch/arm/mach-ux500/mbox-db5500.c linux-3.0.4/arch/arm/mach-ux500/mbox-db5500.c 523diff -urNp linux-3.0.7/arch/arm/mach-ux500/mbox-db5500.c linux-3.0.7/arch/arm/mach-ux500/mbox-db5500.c
524--- linux-3.0.4/arch/arm/mach-ux500/mbox-db5500.c 2011-07-21 22:17:23.000000000 -0400 524--- linux-3.0.7/arch/arm/mach-ux500/mbox-db5500.c 2011-07-21 22:17:23.000000000 -0400
525+++ linux-3.0.4/arch/arm/mach-ux500/mbox-db5500.c 2011-08-23 21:48:14.000000000 -0400 525+++ linux-3.0.7/arch/arm/mach-ux500/mbox-db5500.c 2011-08-23 21:48:14.000000000 -0400
526@@ -168,7 +168,7 @@ static ssize_t mbox_read_fifo(struct dev 526@@ -168,7 +168,7 @@ static ssize_t mbox_read_fifo(struct dev
527 return sprintf(buf, "0x%X\n", mbox_value); 527 return sprintf(buf, "0x%X\n", mbox_value);
528 } 528 }
@@ -532,9 +532,9 @@ diff -urNp linux-3.0.4/arch/arm/mach-ux500/mbox-db5500.c linux-3.0.4/arch/arm/ma
532 532
533 static int mbox_show(struct seq_file *s, void *data) 533 static int mbox_show(struct seq_file *s, void *data)
534 { 534 {
535diff -urNp linux-3.0.4/arch/arm/mm/fault.c linux-3.0.4/arch/arm/mm/fault.c 535diff -urNp linux-3.0.7/arch/arm/mm/fault.c linux-3.0.7/arch/arm/mm/fault.c
536--- linux-3.0.4/arch/arm/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 536--- linux-3.0.7/arch/arm/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
537+++ linux-3.0.4/arch/arm/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 537+++ linux-3.0.7/arch/arm/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
538@@ -182,6 +182,13 @@ __do_user_fault(struct task_struct *tsk, 538@@ -182,6 +182,13 @@ __do_user_fault(struct task_struct *tsk,
539 } 539 }
540 #endif 540 #endif
@@ -583,9 +583,9 @@ diff -urNp linux-3.0.4/arch/arm/mm/fault.c linux-3.0.4/arch/arm/mm/fault.c
583 /* 583 /*
584 * First Level Translation Fault Handler 584 * First Level Translation Fault Handler
585 * 585 *
586diff -urNp linux-3.0.4/arch/arm/mm/mmap.c linux-3.0.4/arch/arm/mm/mmap.c 586diff -urNp linux-3.0.7/arch/arm/mm/mmap.c linux-3.0.7/arch/arm/mm/mmap.c
587--- linux-3.0.4/arch/arm/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 587--- linux-3.0.7/arch/arm/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400
588+++ linux-3.0.4/arch/arm/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 588+++ linux-3.0.7/arch/arm/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400
589@@ -65,6 +65,10 @@ arch_get_unmapped_area(struct file *filp 589@@ -65,6 +65,10 @@ arch_get_unmapped_area(struct file *filp
590 if (len > TASK_SIZE) 590 if (len > TASK_SIZE)
591 return -ENOMEM; 591 return -ENOMEM;
@@ -635,9 +635,9 @@ diff -urNp linux-3.0.4/arch/arm/mm/mmap.c linux-3.0.4/arch/arm/mm/mmap.c
635 /* 635 /*
636 * Remember the place where we stopped the search: 636 * Remember the place where we stopped the search:
637 */ 637 */
638diff -urNp linux-3.0.4/arch/avr32/include/asm/elf.h linux-3.0.4/arch/avr32/include/asm/elf.h 638diff -urNp linux-3.0.7/arch/avr32/include/asm/elf.h linux-3.0.7/arch/avr32/include/asm/elf.h
639--- linux-3.0.4/arch/avr32/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 639--- linux-3.0.7/arch/avr32/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
640+++ linux-3.0.4/arch/avr32/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 640+++ linux-3.0.7/arch/avr32/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
641@@ -84,8 +84,14 @@ typedef struct user_fpu_struct elf_fpreg 641@@ -84,8 +84,14 @@ typedef struct user_fpu_struct elf_fpreg
642 the loader. We need to make sure that it is out of the way of the program 642 the loader. We need to make sure that it is out of the way of the program
643 that it will "exec", and that there is sufficient room for the brk. */ 643 that it will "exec", and that there is sufficient room for the brk. */
@@ -654,9 +654,9 @@ diff -urNp linux-3.0.4/arch/avr32/include/asm/elf.h linux-3.0.4/arch/avr32/inclu
654 654
655 /* This yields a mask that user programs can use to figure out what 655 /* This yields a mask that user programs can use to figure out what
656 instruction set this CPU supports. This could be done in user space, 656 instruction set this CPU supports. This could be done in user space,
657diff -urNp linux-3.0.4/arch/avr32/include/asm/kmap_types.h linux-3.0.4/arch/avr32/include/asm/kmap_types.h 657diff -urNp linux-3.0.7/arch/avr32/include/asm/kmap_types.h linux-3.0.7/arch/avr32/include/asm/kmap_types.h
658--- linux-3.0.4/arch/avr32/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400 658--- linux-3.0.7/arch/avr32/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400
659+++ linux-3.0.4/arch/avr32/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400 659+++ linux-3.0.7/arch/avr32/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400
660@@ -22,7 +22,8 @@ D(10) KM_IRQ0, 660@@ -22,7 +22,8 @@ D(10) KM_IRQ0,
661 D(11) KM_IRQ1, 661 D(11) KM_IRQ1,
662 D(12) KM_SOFTIRQ0, 662 D(12) KM_SOFTIRQ0,
@@ -667,9 +667,9 @@ diff -urNp linux-3.0.4/arch/avr32/include/asm/kmap_types.h linux-3.0.4/arch/avr3
667 }; 667 };
668 668
669 #undef D 669 #undef D
670diff -urNp linux-3.0.4/arch/avr32/mm/fault.c linux-3.0.4/arch/avr32/mm/fault.c 670diff -urNp linux-3.0.7/arch/avr32/mm/fault.c linux-3.0.7/arch/avr32/mm/fault.c
671--- linux-3.0.4/arch/avr32/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 671--- linux-3.0.7/arch/avr32/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
672+++ linux-3.0.4/arch/avr32/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 672+++ linux-3.0.7/arch/avr32/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
673@@ -41,6 +41,23 @@ static inline int notify_page_fault(stru 673@@ -41,6 +41,23 @@ static inline int notify_page_fault(stru
674 674
675 int exception_trace = 1; 675 int exception_trace = 1;
@@ -711,9 +711,9 @@ diff -urNp linux-3.0.4/arch/avr32/mm/fault.c linux-3.0.4/arch/avr32/mm/fault.c
711 if (exception_trace && printk_ratelimit()) 711 if (exception_trace && printk_ratelimit())
712 printk("%s%s[%d]: segfault at %08lx pc %08lx " 712 printk("%s%s[%d]: segfault at %08lx pc %08lx "
713 "sp %08lx ecr %lu\n", 713 "sp %08lx ecr %lu\n",
714diff -urNp linux-3.0.4/arch/frv/include/asm/kmap_types.h linux-3.0.4/arch/frv/include/asm/kmap_types.h 714diff -urNp linux-3.0.7/arch/frv/include/asm/kmap_types.h linux-3.0.7/arch/frv/include/asm/kmap_types.h
715--- linux-3.0.4/arch/frv/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400 715--- linux-3.0.7/arch/frv/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400
716+++ linux-3.0.4/arch/frv/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400 716+++ linux-3.0.7/arch/frv/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400
717@@ -23,6 +23,7 @@ enum km_type { 717@@ -23,6 +23,7 @@ enum km_type {
718 KM_IRQ1, 718 KM_IRQ1,
719 KM_SOFTIRQ0, 719 KM_SOFTIRQ0,
@@ -722,9 +722,9 @@ diff -urNp linux-3.0.4/arch/frv/include/asm/kmap_types.h linux-3.0.4/arch/frv/in
722 KM_TYPE_NR 722 KM_TYPE_NR
723 }; 723 };
724 724
725diff -urNp linux-3.0.4/arch/frv/mm/elf-fdpic.c linux-3.0.4/arch/frv/mm/elf-fdpic.c 725diff -urNp linux-3.0.7/arch/frv/mm/elf-fdpic.c linux-3.0.7/arch/frv/mm/elf-fdpic.c
726--- linux-3.0.4/arch/frv/mm/elf-fdpic.c 2011-07-21 22:17:23.000000000 -0400 726--- linux-3.0.7/arch/frv/mm/elf-fdpic.c 2011-07-21 22:17:23.000000000 -0400
727+++ linux-3.0.4/arch/frv/mm/elf-fdpic.c 2011-08-23 21:47:55.000000000 -0400 727+++ linux-3.0.7/arch/frv/mm/elf-fdpic.c 2011-08-23 21:47:55.000000000 -0400
728@@ -73,8 +73,7 @@ unsigned long arch_get_unmapped_area(str 728@@ -73,8 +73,7 @@ unsigned long arch_get_unmapped_area(str
729 if (addr) { 729 if (addr) {
730 addr = PAGE_ALIGN(addr); 730 addr = PAGE_ALIGN(addr);
@@ -753,9 +753,9 @@ diff -urNp linux-3.0.4/arch/frv/mm/elf-fdpic.c linux-3.0.4/arch/frv/mm/elf-fdpic
753 goto success; 753 goto success;
754 addr = vma->vm_end; 754 addr = vma->vm_end;
755 } 755 }
756diff -urNp linux-3.0.4/arch/ia64/include/asm/elf.h linux-3.0.4/arch/ia64/include/asm/elf.h 756diff -urNp linux-3.0.7/arch/ia64/include/asm/elf.h linux-3.0.7/arch/ia64/include/asm/elf.h
757--- linux-3.0.4/arch/ia64/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 757--- linux-3.0.7/arch/ia64/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
758+++ linux-3.0.4/arch/ia64/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 758+++ linux-3.0.7/arch/ia64/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
759@@ -42,6 +42,13 @@ 759@@ -42,6 +42,13 @@
760 */ 760 */
761 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x800000000UL) 761 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x800000000UL)
@@ -770,9 +770,9 @@ diff -urNp linux-3.0.4/arch/ia64/include/asm/elf.h linux-3.0.4/arch/ia64/include
770 #define PT_IA_64_UNWIND 0x70000001 770 #define PT_IA_64_UNWIND 0x70000001
771 771
772 /* IA-64 relocations: */ 772 /* IA-64 relocations: */
773diff -urNp linux-3.0.4/arch/ia64/include/asm/pgtable.h linux-3.0.4/arch/ia64/include/asm/pgtable.h 773diff -urNp linux-3.0.7/arch/ia64/include/asm/pgtable.h linux-3.0.7/arch/ia64/include/asm/pgtable.h
774--- linux-3.0.4/arch/ia64/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400 774--- linux-3.0.7/arch/ia64/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400
775+++ linux-3.0.4/arch/ia64/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400 775+++ linux-3.0.7/arch/ia64/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400
776@@ -12,7 +12,7 @@ 776@@ -12,7 +12,7 @@
777 * David Mosberger-Tang <davidm@hpl.hp.com> 777 * David Mosberger-Tang <davidm@hpl.hp.com>
778 */ 778 */
@@ -800,9 +800,9 @@ diff -urNp linux-3.0.4/arch/ia64/include/asm/pgtable.h linux-3.0.4/arch/ia64/inc
800 #define PAGE_GATE __pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_X_RX) 800 #define PAGE_GATE __pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_X_RX)
801 #define PAGE_KERNEL __pgprot(__DIRTY_BITS | _PAGE_PL_0 | _PAGE_AR_RWX) 801 #define PAGE_KERNEL __pgprot(__DIRTY_BITS | _PAGE_PL_0 | _PAGE_AR_RWX)
802 #define PAGE_KERNELRX __pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_RX) 802 #define PAGE_KERNELRX __pgprot(__ACCESS_BITS | _PAGE_PL_0 | _PAGE_AR_RX)
803diff -urNp linux-3.0.4/arch/ia64/include/asm/spinlock.h linux-3.0.4/arch/ia64/include/asm/spinlock.h 803diff -urNp linux-3.0.7/arch/ia64/include/asm/spinlock.h linux-3.0.7/arch/ia64/include/asm/spinlock.h
804--- linux-3.0.4/arch/ia64/include/asm/spinlock.h 2011-07-21 22:17:23.000000000 -0400 804--- linux-3.0.7/arch/ia64/include/asm/spinlock.h 2011-07-21 22:17:23.000000000 -0400
805+++ linux-3.0.4/arch/ia64/include/asm/spinlock.h 2011-08-23 21:47:55.000000000 -0400 805+++ linux-3.0.7/arch/ia64/include/asm/spinlock.h 2011-08-23 21:47:55.000000000 -0400
806@@ -72,7 +72,7 @@ static __always_inline void __ticket_spi 806@@ -72,7 +72,7 @@ static __always_inline void __ticket_spi
807 unsigned short *p = (unsigned short *)&lock->lock + 1, tmp; 807 unsigned short *p = (unsigned short *)&lock->lock + 1, tmp;
808 808
@@ -812,9 +812,9 @@ diff -urNp linux-3.0.4/arch/ia64/include/asm/spinlock.h linux-3.0.4/arch/ia64/in
812 } 812 }
813 813
814 static __always_inline void __ticket_spin_unlock_wait(arch_spinlock_t *lock) 814 static __always_inline void __ticket_spin_unlock_wait(arch_spinlock_t *lock)
815diff -urNp linux-3.0.4/arch/ia64/include/asm/uaccess.h linux-3.0.4/arch/ia64/include/asm/uaccess.h 815diff -urNp linux-3.0.7/arch/ia64/include/asm/uaccess.h linux-3.0.7/arch/ia64/include/asm/uaccess.h
816--- linux-3.0.4/arch/ia64/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400 816--- linux-3.0.7/arch/ia64/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400
817+++ linux-3.0.4/arch/ia64/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400 817+++ linux-3.0.7/arch/ia64/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400
818@@ -257,7 +257,7 @@ __copy_from_user (void *to, const void _ 818@@ -257,7 +257,7 @@ __copy_from_user (void *to, const void _
819 const void *__cu_from = (from); \ 819 const void *__cu_from = (from); \
820 long __cu_len = (n); \ 820 long __cu_len = (n); \
@@ -833,9 +833,9 @@ diff -urNp linux-3.0.4/arch/ia64/include/asm/uaccess.h linux-3.0.4/arch/ia64/inc
833 __cu_len = __copy_user((__force void __user *) __cu_to, __cu_from, __cu_len); \ 833 __cu_len = __copy_user((__force void __user *) __cu_to, __cu_from, __cu_len); \
834 __cu_len; \ 834 __cu_len; \
835 }) 835 })
836diff -urNp linux-3.0.4/arch/ia64/kernel/module.c linux-3.0.4/arch/ia64/kernel/module.c 836diff -urNp linux-3.0.7/arch/ia64/kernel/module.c linux-3.0.7/arch/ia64/kernel/module.c
837--- linux-3.0.4/arch/ia64/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 837--- linux-3.0.7/arch/ia64/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
838+++ linux-3.0.4/arch/ia64/kernel/module.c 2011-08-23 21:47:55.000000000 -0400 838+++ linux-3.0.7/arch/ia64/kernel/module.c 2011-08-23 21:47:55.000000000 -0400
839@@ -315,8 +315,7 @@ module_alloc (unsigned long size) 839@@ -315,8 +315,7 @@ module_alloc (unsigned long size)
840 void 840 void
841 module_free (struct module *mod, void *module_region) 841 module_free (struct module *mod, void *module_region)
@@ -924,9 +924,9 @@ diff -urNp linux-3.0.4/arch/ia64/kernel/module.c linux-3.0.4/arch/ia64/kernel/mo
924 mod->arch.gp = gp; 924 mod->arch.gp = gp;
925 DEBUGP("%s: placing gp at 0x%lx\n", __func__, gp); 925 DEBUGP("%s: placing gp at 0x%lx\n", __func__, gp);
926 } 926 }
927diff -urNp linux-3.0.4/arch/ia64/kernel/sys_ia64.c linux-3.0.4/arch/ia64/kernel/sys_ia64.c 927diff -urNp linux-3.0.7/arch/ia64/kernel/sys_ia64.c linux-3.0.7/arch/ia64/kernel/sys_ia64.c
928--- linux-3.0.4/arch/ia64/kernel/sys_ia64.c 2011-07-21 22:17:23.000000000 -0400 928--- linux-3.0.7/arch/ia64/kernel/sys_ia64.c 2011-07-21 22:17:23.000000000 -0400
929+++ linux-3.0.4/arch/ia64/kernel/sys_ia64.c 2011-08-23 21:47:55.000000000 -0400 929+++ linux-3.0.7/arch/ia64/kernel/sys_ia64.c 2011-08-23 21:47:55.000000000 -0400
930@@ -43,6 +43,13 @@ arch_get_unmapped_area (struct file *fil 930@@ -43,6 +43,13 @@ arch_get_unmapped_area (struct file *fil
931 if (REGION_NUMBER(addr) == RGN_HPAGE) 931 if (REGION_NUMBER(addr) == RGN_HPAGE)
932 addr = 0; 932 addr = 0;
@@ -959,9 +959,9 @@ diff -urNp linux-3.0.4/arch/ia64/kernel/sys_ia64.c linux-3.0.4/arch/ia64/kernel/
959 /* Remember the address where we stopped this search: */ 959 /* Remember the address where we stopped this search: */
960 mm->free_area_cache = addr + len; 960 mm->free_area_cache = addr + len;
961 return addr; 961 return addr;
962diff -urNp linux-3.0.4/arch/ia64/kernel/vmlinux.lds.S linux-3.0.4/arch/ia64/kernel/vmlinux.lds.S 962diff -urNp linux-3.0.7/arch/ia64/kernel/vmlinux.lds.S linux-3.0.7/arch/ia64/kernel/vmlinux.lds.S
963--- linux-3.0.4/arch/ia64/kernel/vmlinux.lds.S 2011-07-21 22:17:23.000000000 -0400 963--- linux-3.0.7/arch/ia64/kernel/vmlinux.lds.S 2011-07-21 22:17:23.000000000 -0400
964+++ linux-3.0.4/arch/ia64/kernel/vmlinux.lds.S 2011-08-23 21:47:55.000000000 -0400 964+++ linux-3.0.7/arch/ia64/kernel/vmlinux.lds.S 2011-08-23 21:47:55.000000000 -0400
965@@ -199,7 +199,7 @@ SECTIONS { 965@@ -199,7 +199,7 @@ SECTIONS {
966 /* Per-cpu data: */ 966 /* Per-cpu data: */
967 . = ALIGN(PERCPU_PAGE_SIZE); 967 . = ALIGN(PERCPU_PAGE_SIZE);
@@ -971,9 +971,9 @@ diff -urNp linux-3.0.4/arch/ia64/kernel/vmlinux.lds.S linux-3.0.4/arch/ia64/kern
971 /* 971 /*
972 * ensure percpu data fits 972 * ensure percpu data fits
973 * into percpu page size 973 * into percpu page size
974diff -urNp linux-3.0.4/arch/ia64/mm/fault.c linux-3.0.4/arch/ia64/mm/fault.c 974diff -urNp linux-3.0.7/arch/ia64/mm/fault.c linux-3.0.7/arch/ia64/mm/fault.c
975--- linux-3.0.4/arch/ia64/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 975--- linux-3.0.7/arch/ia64/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
976+++ linux-3.0.4/arch/ia64/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 976+++ linux-3.0.7/arch/ia64/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
977@@ -73,6 +73,23 @@ mapped_kernel_page_is_present (unsigned 977@@ -73,6 +73,23 @@ mapped_kernel_page_is_present (unsigned
978 return pte_present(pte); 978 return pte_present(pte);
979 } 979 }
@@ -1023,9 +1023,9 @@ diff -urNp linux-3.0.4/arch/ia64/mm/fault.c linux-3.0.4/arch/ia64/mm/fault.c
1023 /* 1023 /*
1024 * If for any reason at all we couldn't handle the fault, make 1024 * If for any reason at all we couldn't handle the fault, make
1025 * sure we exit gracefully rather than endlessly redo the 1025 * sure we exit gracefully rather than endlessly redo the
1026diff -urNp linux-3.0.4/arch/ia64/mm/hugetlbpage.c linux-3.0.4/arch/ia64/mm/hugetlbpage.c 1026diff -urNp linux-3.0.7/arch/ia64/mm/hugetlbpage.c linux-3.0.7/arch/ia64/mm/hugetlbpage.c
1027--- linux-3.0.4/arch/ia64/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000 -0400 1027--- linux-3.0.7/arch/ia64/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000 -0400
1028+++ linux-3.0.4/arch/ia64/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000 -0400 1028+++ linux-3.0.7/arch/ia64/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000 -0400
1029@@ -171,7 +171,7 @@ unsigned long hugetlb_get_unmapped_area( 1029@@ -171,7 +171,7 @@ unsigned long hugetlb_get_unmapped_area(
1030 /* At this point: (!vmm || addr < vmm->vm_end). */ 1030 /* At this point: (!vmm || addr < vmm->vm_end). */
1031 if (REGION_OFFSET(addr) + len > RGN_MAP_LIMIT) 1031 if (REGION_OFFSET(addr) + len > RGN_MAP_LIMIT)
@@ -1035,9 +1035,9 @@ diff -urNp linux-3.0.4/arch/ia64/mm/hugetlbpage.c linux-3.0.4/arch/ia64/mm/huget
1035 return addr; 1035 return addr;
1036 addr = ALIGN(vmm->vm_end, HPAGE_SIZE); 1036 addr = ALIGN(vmm->vm_end, HPAGE_SIZE);
1037 } 1037 }
1038diff -urNp linux-3.0.4/arch/ia64/mm/init.c linux-3.0.4/arch/ia64/mm/init.c 1038diff -urNp linux-3.0.7/arch/ia64/mm/init.c linux-3.0.7/arch/ia64/mm/init.c
1039--- linux-3.0.4/arch/ia64/mm/init.c 2011-07-21 22:17:23.000000000 -0400 1039--- linux-3.0.7/arch/ia64/mm/init.c 2011-07-21 22:17:23.000000000 -0400
1040+++ linux-3.0.4/arch/ia64/mm/init.c 2011-08-23 21:47:55.000000000 -0400 1040+++ linux-3.0.7/arch/ia64/mm/init.c 2011-08-23 21:47:55.000000000 -0400
1041@@ -120,6 +120,19 @@ ia64_init_addr_space (void) 1041@@ -120,6 +120,19 @@ ia64_init_addr_space (void)
1042 vma->vm_start = current->thread.rbs_bot & PAGE_MASK; 1042 vma->vm_start = current->thread.rbs_bot & PAGE_MASK;
1043 vma->vm_end = vma->vm_start + PAGE_SIZE; 1043 vma->vm_end = vma->vm_start + PAGE_SIZE;
@@ -1058,9 +1058,9 @@ diff -urNp linux-3.0.4/arch/ia64/mm/init.c linux-3.0.4/arch/ia64/mm/init.c
1058 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); 1058 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
1059 down_write(&current->mm->mmap_sem); 1059 down_write(&current->mm->mmap_sem);
1060 if (insert_vm_struct(current->mm, vma)) { 1060 if (insert_vm_struct(current->mm, vma)) {
1061diff -urNp linux-3.0.4/arch/m32r/lib/usercopy.c linux-3.0.4/arch/m32r/lib/usercopy.c 1061diff -urNp linux-3.0.7/arch/m32r/lib/usercopy.c linux-3.0.7/arch/m32r/lib/usercopy.c
1062--- linux-3.0.4/arch/m32r/lib/usercopy.c 2011-07-21 22:17:23.000000000 -0400 1062--- linux-3.0.7/arch/m32r/lib/usercopy.c 2011-07-21 22:17:23.000000000 -0400
1063+++ linux-3.0.4/arch/m32r/lib/usercopy.c 2011-08-23 21:47:55.000000000 -0400 1063+++ linux-3.0.7/arch/m32r/lib/usercopy.c 2011-08-23 21:47:55.000000000 -0400
1064@@ -14,6 +14,9 @@ 1064@@ -14,6 +14,9 @@
1065 unsigned long 1065 unsigned long
1066 __generic_copy_to_user(void __user *to, const void *from, unsigned long n) 1066 __generic_copy_to_user(void __user *to, const void *from, unsigned long n)
@@ -1081,9 +1081,9 @@ diff -urNp linux-3.0.4/arch/m32r/lib/usercopy.c linux-3.0.4/arch/m32r/lib/userco
1081 prefetchw(to); 1081 prefetchw(to);
1082 if (access_ok(VERIFY_READ, from, n)) 1082 if (access_ok(VERIFY_READ, from, n))
1083 __copy_user_zeroing(to,from,n); 1083 __copy_user_zeroing(to,from,n);
1084diff -urNp linux-3.0.4/arch/mips/include/asm/elf.h linux-3.0.4/arch/mips/include/asm/elf.h 1084diff -urNp linux-3.0.7/arch/mips/include/asm/elf.h linux-3.0.7/arch/mips/include/asm/elf.h
1085--- linux-3.0.4/arch/mips/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 1085--- linux-3.0.7/arch/mips/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
1086+++ linux-3.0.4/arch/mips/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 1086+++ linux-3.0.7/arch/mips/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
1087@@ -372,13 +372,16 @@ extern const char *__elf_platform; 1087@@ -372,13 +372,16 @@ extern const char *__elf_platform;
1088 #define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2) 1088 #define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2)
1089 #endif 1089 #endif
@@ -1105,9 +1105,9 @@ diff -urNp linux-3.0.4/arch/mips/include/asm/elf.h linux-3.0.4/arch/mips/include
1105-#define arch_randomize_brk arch_randomize_brk 1105-#define arch_randomize_brk arch_randomize_brk
1106- 1106-
1107 #endif /* _ASM_ELF_H */ 1107 #endif /* _ASM_ELF_H */
1108diff -urNp linux-3.0.4/arch/mips/include/asm/page.h linux-3.0.4/arch/mips/include/asm/page.h 1108diff -urNp linux-3.0.7/arch/mips/include/asm/page.h linux-3.0.7/arch/mips/include/asm/page.h
1109--- linux-3.0.4/arch/mips/include/asm/page.h 2011-07-21 22:17:23.000000000 -0400 1109--- linux-3.0.7/arch/mips/include/asm/page.h 2011-07-21 22:17:23.000000000 -0400
1110+++ linux-3.0.4/arch/mips/include/asm/page.h 2011-08-23 21:47:55.000000000 -0400 1110+++ linux-3.0.7/arch/mips/include/asm/page.h 2011-08-23 21:47:55.000000000 -0400
1111@@ -93,7 +93,7 @@ extern void copy_user_highpage(struct pa 1111@@ -93,7 +93,7 @@ extern void copy_user_highpage(struct pa
1112 #ifdef CONFIG_CPU_MIPS32 1112 #ifdef CONFIG_CPU_MIPS32
1113 typedef struct { unsigned long pte_low, pte_high; } pte_t; 1113 typedef struct { unsigned long pte_low, pte_high; } pte_t;
@@ -1117,9 +1117,9 @@ diff -urNp linux-3.0.4/arch/mips/include/asm/page.h linux-3.0.4/arch/mips/includ
1117 #else 1117 #else
1118 typedef struct { unsigned long long pte; } pte_t; 1118 typedef struct { unsigned long long pte; } pte_t;
1119 #define pte_val(x) ((x).pte) 1119 #define pte_val(x) ((x).pte)
1120diff -urNp linux-3.0.4/arch/mips/include/asm/system.h linux-3.0.4/arch/mips/include/asm/system.h 1120diff -urNp linux-3.0.7/arch/mips/include/asm/system.h linux-3.0.7/arch/mips/include/asm/system.h
1121--- linux-3.0.4/arch/mips/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400 1121--- linux-3.0.7/arch/mips/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400
1122+++ linux-3.0.4/arch/mips/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400 1122+++ linux-3.0.7/arch/mips/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400
1123@@ -230,6 +230,6 @@ extern void per_cpu_trap_init(void); 1123@@ -230,6 +230,6 @@ extern void per_cpu_trap_init(void);
1124 */ 1124 */
1125 #define __ARCH_WANT_UNLOCKED_CTXSW 1125 #define __ARCH_WANT_UNLOCKED_CTXSW
@@ -1128,9 +1128,9 @@ diff -urNp linux-3.0.4/arch/mips/include/asm/system.h linux-3.0.4/arch/mips/incl
1128+#define arch_align_stack(x) ((x) & ~0xfUL) 1128+#define arch_align_stack(x) ((x) & ~0xfUL)
1129 1129
1130 #endif /* _ASM_SYSTEM_H */ 1130 #endif /* _ASM_SYSTEM_H */
1131diff -urNp linux-3.0.4/arch/mips/kernel/binfmt_elfn32.c linux-3.0.4/arch/mips/kernel/binfmt_elfn32.c 1131diff -urNp linux-3.0.7/arch/mips/kernel/binfmt_elfn32.c linux-3.0.7/arch/mips/kernel/binfmt_elfn32.c
1132--- linux-3.0.4/arch/mips/kernel/binfmt_elfn32.c 2011-07-21 22:17:23.000000000 -0400 1132--- linux-3.0.7/arch/mips/kernel/binfmt_elfn32.c 2011-07-21 22:17:23.000000000 -0400
1133+++ linux-3.0.4/arch/mips/kernel/binfmt_elfn32.c 2011-08-23 21:47:55.000000000 -0400 1133+++ linux-3.0.7/arch/mips/kernel/binfmt_elfn32.c 2011-08-23 21:47:55.000000000 -0400
1134@@ -50,6 +50,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N 1134@@ -50,6 +50,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N
1135 #undef ELF_ET_DYN_BASE 1135 #undef ELF_ET_DYN_BASE
1136 #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2) 1136 #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2)
@@ -1145,9 +1145,9 @@ diff -urNp linux-3.0.4/arch/mips/kernel/binfmt_elfn32.c linux-3.0.4/arch/mips/ke
1145 #include <asm/processor.h> 1145 #include <asm/processor.h>
1146 #include <linux/module.h> 1146 #include <linux/module.h>
1147 #include <linux/elfcore.h> 1147 #include <linux/elfcore.h>
1148diff -urNp linux-3.0.4/arch/mips/kernel/binfmt_elfo32.c linux-3.0.4/arch/mips/kernel/binfmt_elfo32.c 1148diff -urNp linux-3.0.7/arch/mips/kernel/binfmt_elfo32.c linux-3.0.7/arch/mips/kernel/binfmt_elfo32.c
1149--- linux-3.0.4/arch/mips/kernel/binfmt_elfo32.c 2011-07-21 22:17:23.000000000 -0400 1149--- linux-3.0.7/arch/mips/kernel/binfmt_elfo32.c 2011-07-21 22:17:23.000000000 -0400
1150+++ linux-3.0.4/arch/mips/kernel/binfmt_elfo32.c 2011-08-23 21:47:55.000000000 -0400 1150+++ linux-3.0.7/arch/mips/kernel/binfmt_elfo32.c 2011-08-23 21:47:55.000000000 -0400
1151@@ -52,6 +52,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N 1151@@ -52,6 +52,13 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N
1152 #undef ELF_ET_DYN_BASE 1152 #undef ELF_ET_DYN_BASE
1153 #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2) 1153 #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2)
@@ -1162,9 +1162,9 @@ diff -urNp linux-3.0.4/arch/mips/kernel/binfmt_elfo32.c linux-3.0.4/arch/mips/ke
1162 #include <asm/processor.h> 1162 #include <asm/processor.h>
1163 1163
1164 /* 1164 /*
1165diff -urNp linux-3.0.4/arch/mips/kernel/process.c linux-3.0.4/arch/mips/kernel/process.c 1165diff -urNp linux-3.0.7/arch/mips/kernel/process.c linux-3.0.7/arch/mips/kernel/process.c
1166--- linux-3.0.4/arch/mips/kernel/process.c 2011-07-21 22:17:23.000000000 -0400 1166--- linux-3.0.7/arch/mips/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
1167+++ linux-3.0.4/arch/mips/kernel/process.c 2011-08-23 21:47:55.000000000 -0400 1167+++ linux-3.0.7/arch/mips/kernel/process.c 2011-08-23 21:47:55.000000000 -0400
1168@@ -473,15 +473,3 @@ unsigned long get_wchan(struct task_stru 1168@@ -473,15 +473,3 @@ unsigned long get_wchan(struct task_stru
1169 out: 1169 out:
1170 return pc; 1170 return pc;
@@ -1181,9 +1181,9 @@ diff -urNp linux-3.0.4/arch/mips/kernel/process.c linux-3.0.4/arch/mips/kernel/p
1181- 1181-
1182- return sp & ALMASK; 1182- return sp & ALMASK;
1183-} 1183-}
1184diff -urNp linux-3.0.4/arch/mips/mm/fault.c linux-3.0.4/arch/mips/mm/fault.c 1184diff -urNp linux-3.0.7/arch/mips/mm/fault.c linux-3.0.7/arch/mips/mm/fault.c
1185--- linux-3.0.4/arch/mips/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 1185--- linux-3.0.7/arch/mips/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
1186+++ linux-3.0.4/arch/mips/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 1186+++ linux-3.0.7/arch/mips/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
1187@@ -28,6 +28,23 @@ 1187@@ -28,6 +28,23 @@
1188 #include <asm/highmem.h> /* For VMALLOC_END */ 1188 #include <asm/highmem.h> /* For VMALLOC_END */
1189 #include <linux/kdebug.h> 1189 #include <linux/kdebug.h>
@@ -1208,9 +1208,9 @@ diff -urNp linux-3.0.4/arch/mips/mm/fault.c linux-3.0.4/arch/mips/mm/fault.c
1208 /* 1208 /*
1209 * This routine handles page faults. It determines the address, 1209 * This routine handles page faults. It determines the address,
1210 * and the problem, and then passes it off to one of the appropriate 1210 * and the problem, and then passes it off to one of the appropriate
1211diff -urNp linux-3.0.4/arch/mips/mm/mmap.c linux-3.0.4/arch/mips/mm/mmap.c 1211diff -urNp linux-3.0.7/arch/mips/mm/mmap.c linux-3.0.7/arch/mips/mm/mmap.c
1212--- linux-3.0.4/arch/mips/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 1212--- linux-3.0.7/arch/mips/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400
1213+++ linux-3.0.4/arch/mips/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 1213+++ linux-3.0.7/arch/mips/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400
1214@@ -48,14 +48,18 @@ unsigned long arch_get_unmapped_area(str 1214@@ -48,14 +48,18 @@ unsigned long arch_get_unmapped_area(str
1215 do_color_align = 0; 1215 do_color_align = 0;
1216 if (filp || (flags & MAP_SHARED)) 1216 if (filp || (flags & MAP_SHARED))
@@ -1272,9 +1272,9 @@ diff -urNp linux-3.0.4/arch/mips/mm/mmap.c linux-3.0.4/arch/mips/mm/mmap.c
1272- 1272-
1273- return ret; 1273- return ret;
1274-} 1274-}
1275diff -urNp linux-3.0.4/arch/parisc/include/asm/elf.h linux-3.0.4/arch/parisc/include/asm/elf.h 1275diff -urNp linux-3.0.7/arch/parisc/include/asm/elf.h linux-3.0.7/arch/parisc/include/asm/elf.h
1276--- linux-3.0.4/arch/parisc/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 1276--- linux-3.0.7/arch/parisc/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
1277+++ linux-3.0.4/arch/parisc/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 1277+++ linux-3.0.7/arch/parisc/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
1278@@ -342,6 +342,13 @@ struct pt_regs; /* forward declaration.. 1278@@ -342,6 +342,13 @@ struct pt_regs; /* forward declaration..
1279 1279
1280 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x01000000) 1280 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x01000000)
@@ -1289,9 +1289,9 @@ diff -urNp linux-3.0.4/arch/parisc/include/asm/elf.h linux-3.0.4/arch/parisc/inc
1289 /* This yields a mask that user programs can use to figure out what 1289 /* This yields a mask that user programs can use to figure out what
1290 instruction set this CPU supports. This could be done in user space, 1290 instruction set this CPU supports. This could be done in user space,
1291 but it's not easy, and we've already done it here. */ 1291 but it's not easy, and we've already done it here. */
1292diff -urNp linux-3.0.4/arch/parisc/include/asm/pgtable.h linux-3.0.4/arch/parisc/include/asm/pgtable.h 1292diff -urNp linux-3.0.7/arch/parisc/include/asm/pgtable.h linux-3.0.7/arch/parisc/include/asm/pgtable.h
1293--- linux-3.0.4/arch/parisc/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400 1293--- linux-3.0.7/arch/parisc/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400
1294+++ linux-3.0.4/arch/parisc/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400 1294+++ linux-3.0.7/arch/parisc/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400
1295@@ -210,6 +210,17 @@ struct vm_area_struct; 1295@@ -210,6 +210,17 @@ struct vm_area_struct;
1296 #define PAGE_EXECREAD __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_READ | _PAGE_EXEC |_PAGE_ACCESSED) 1296 #define PAGE_EXECREAD __pgprot(_PAGE_PRESENT | _PAGE_USER | _PAGE_READ | _PAGE_EXEC |_PAGE_ACCESSED)
1297 #define PAGE_COPY PAGE_EXECREAD 1297 #define PAGE_COPY PAGE_EXECREAD
@@ -1310,9 +1310,9 @@ diff -urNp linux-3.0.4/arch/parisc/include/asm/pgtable.h linux-3.0.4/arch/parisc
1310 #define PAGE_KERNEL __pgprot(_PAGE_KERNEL) 1310 #define PAGE_KERNEL __pgprot(_PAGE_KERNEL)
1311 #define PAGE_KERNEL_EXEC __pgprot(_PAGE_KERNEL_EXEC) 1311 #define PAGE_KERNEL_EXEC __pgprot(_PAGE_KERNEL_EXEC)
1312 #define PAGE_KERNEL_RWX __pgprot(_PAGE_KERNEL_RWX) 1312 #define PAGE_KERNEL_RWX __pgprot(_PAGE_KERNEL_RWX)
1313diff -urNp linux-3.0.4/arch/parisc/kernel/module.c linux-3.0.4/arch/parisc/kernel/module.c 1313diff -urNp linux-3.0.7/arch/parisc/kernel/module.c linux-3.0.7/arch/parisc/kernel/module.c
1314--- linux-3.0.4/arch/parisc/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 1314--- linux-3.0.7/arch/parisc/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
1315+++ linux-3.0.4/arch/parisc/kernel/module.c 2011-08-23 21:47:55.000000000 -0400 1315+++ linux-3.0.7/arch/parisc/kernel/module.c 2011-08-23 21:47:55.000000000 -0400
1316@@ -98,16 +98,38 @@ 1316@@ -98,16 +98,38 @@
1317 1317
1318 /* three functions to determine where in the module core 1318 /* three functions to determine where in the module core
@@ -1413,9 +1413,9 @@ diff -urNp linux-3.0.4/arch/parisc/kernel/module.c linux-3.0.4/arch/parisc/kerne
1413 1413
1414 DEBUGP("register_unwind_table(), sect = %d at 0x%p - 0x%p (gp=0x%lx)\n", 1414 DEBUGP("register_unwind_table(), sect = %d at 0x%p - 0x%p (gp=0x%lx)\n",
1415 me->arch.unwind_section, table, end, gp); 1415 me->arch.unwind_section, table, end, gp);
1416diff -urNp linux-3.0.4/arch/parisc/kernel/sys_parisc.c linux-3.0.4/arch/parisc/kernel/sys_parisc.c 1416diff -urNp linux-3.0.7/arch/parisc/kernel/sys_parisc.c linux-3.0.7/arch/parisc/kernel/sys_parisc.c
1417--- linux-3.0.4/arch/parisc/kernel/sys_parisc.c 2011-07-21 22:17:23.000000000 -0400 1417--- linux-3.0.7/arch/parisc/kernel/sys_parisc.c 2011-07-21 22:17:23.000000000 -0400
1418+++ linux-3.0.4/arch/parisc/kernel/sys_parisc.c 2011-08-23 21:47:55.000000000 -0400 1418+++ linux-3.0.7/arch/parisc/kernel/sys_parisc.c 2011-08-23 21:47:55.000000000 -0400
1419@@ -43,7 +43,7 @@ static unsigned long get_unshared_area(u 1419@@ -43,7 +43,7 @@ static unsigned long get_unshared_area(u
1420 /* At this point: (!vma || addr < vma->vm_end). */ 1420 /* At this point: (!vma || addr < vma->vm_end). */
1421 if (TASK_SIZE - len < addr) 1421 if (TASK_SIZE - len < addr)
@@ -1443,9 +1443,9 @@ diff -urNp linux-3.0.4/arch/parisc/kernel/sys_parisc.c linux-3.0.4/arch/parisc/k
1443 1443
1444 if (filp) { 1444 if (filp) {
1445 addr = get_shared_area(filp->f_mapping, addr, len, pgoff); 1445 addr = get_shared_area(filp->f_mapping, addr, len, pgoff);
1446diff -urNp linux-3.0.4/arch/parisc/kernel/traps.c linux-3.0.4/arch/parisc/kernel/traps.c 1446diff -urNp linux-3.0.7/arch/parisc/kernel/traps.c linux-3.0.7/arch/parisc/kernel/traps.c
1447--- linux-3.0.4/arch/parisc/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400 1447--- linux-3.0.7/arch/parisc/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400
1448+++ linux-3.0.4/arch/parisc/kernel/traps.c 2011-08-23 21:47:55.000000000 -0400 1448+++ linux-3.0.7/arch/parisc/kernel/traps.c 2011-08-23 21:47:55.000000000 -0400
1449@@ -733,9 +733,7 @@ void notrace handle_interruption(int cod 1449@@ -733,9 +733,7 @@ void notrace handle_interruption(int cod
1450 1450
1451 down_read(&current->mm->mmap_sem); 1451 down_read(&current->mm->mmap_sem);
@@ -1457,9 +1457,9 @@ diff -urNp linux-3.0.4/arch/parisc/kernel/traps.c linux-3.0.4/arch/parisc/kernel
1457 fault_address = regs->iaoq[0]; 1457 fault_address = regs->iaoq[0];
1458 fault_space = regs->iasq[0]; 1458 fault_space = regs->iasq[0];
1459 1459
1460diff -urNp linux-3.0.4/arch/parisc/mm/fault.c linux-3.0.4/arch/parisc/mm/fault.c 1460diff -urNp linux-3.0.7/arch/parisc/mm/fault.c linux-3.0.7/arch/parisc/mm/fault.c
1461--- linux-3.0.4/arch/parisc/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 1461--- linux-3.0.7/arch/parisc/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
1462+++ linux-3.0.4/arch/parisc/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 1462+++ linux-3.0.7/arch/parisc/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
1463@@ -15,6 +15,7 @@ 1463@@ -15,6 +15,7 @@
1464 #include <linux/sched.h> 1464 #include <linux/sched.h>
1465 #include <linux/interrupt.h> 1465 #include <linux/interrupt.h>
@@ -1629,9 +1629,9 @@ diff -urNp linux-3.0.4/arch/parisc/mm/fault.c linux-3.0.4/arch/parisc/mm/fault.c
1629 1629
1630 /* 1630 /*
1631 * If for any reason at all we couldn't handle the fault, make 1631 * If for any reason at all we couldn't handle the fault, make
1632diff -urNp linux-3.0.4/arch/powerpc/include/asm/elf.h linux-3.0.4/arch/powerpc/include/asm/elf.h 1632diff -urNp linux-3.0.7/arch/powerpc/include/asm/elf.h linux-3.0.7/arch/powerpc/include/asm/elf.h
1633--- linux-3.0.4/arch/powerpc/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 1633--- linux-3.0.7/arch/powerpc/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
1634+++ linux-3.0.4/arch/powerpc/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 1634+++ linux-3.0.7/arch/powerpc/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
1635@@ -178,8 +178,19 @@ typedef elf_fpreg_t elf_vsrreghalf_t32[E 1635@@ -178,8 +178,19 @@ typedef elf_fpreg_t elf_vsrreghalf_t32[E
1636 the loader. We need to make sure that it is out of the way of the program 1636 the loader. We need to make sure that it is out of the way of the program
1637 that it will "exec", and that there is sufficient room for the brk. */ 1637 that it will "exec", and that there is sufficient room for the brk. */
@@ -1664,9 +1664,9 @@ diff -urNp linux-3.0.4/arch/powerpc/include/asm/elf.h linux-3.0.4/arch/powerpc/i
1664 #endif /* __KERNEL__ */ 1664 #endif /* __KERNEL__ */
1665 1665
1666 /* 1666 /*
1667diff -urNp linux-3.0.4/arch/powerpc/include/asm/kmap_types.h linux-3.0.4/arch/powerpc/include/asm/kmap_types.h 1667diff -urNp linux-3.0.7/arch/powerpc/include/asm/kmap_types.h linux-3.0.7/arch/powerpc/include/asm/kmap_types.h
1668--- linux-3.0.4/arch/powerpc/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400 1668--- linux-3.0.7/arch/powerpc/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400
1669+++ linux-3.0.4/arch/powerpc/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400 1669+++ linux-3.0.7/arch/powerpc/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400
1670@@ -27,6 +27,7 @@ enum km_type { 1670@@ -27,6 +27,7 @@ enum km_type {
1671 KM_PPC_SYNC_PAGE, 1671 KM_PPC_SYNC_PAGE,
1672 KM_PPC_SYNC_ICACHE, 1672 KM_PPC_SYNC_ICACHE,
@@ -1675,9 +1675,9 @@ diff -urNp linux-3.0.4/arch/powerpc/include/asm/kmap_types.h linux-3.0.4/arch/po
1675 KM_TYPE_NR 1675 KM_TYPE_NR
1676 }; 1676 };
1677 1677
1678diff -urNp linux-3.0.4/arch/powerpc/include/asm/mman.h linux-3.0.4/arch/powerpc/include/asm/mman.h 1678diff -urNp linux-3.0.7/arch/powerpc/include/asm/mman.h linux-3.0.7/arch/powerpc/include/asm/mman.h
1679--- linux-3.0.4/arch/powerpc/include/asm/mman.h 2011-07-21 22:17:23.000000000 -0400 1679--- linux-3.0.7/arch/powerpc/include/asm/mman.h 2011-07-21 22:17:23.000000000 -0400
1680+++ linux-3.0.4/arch/powerpc/include/asm/mman.h 2011-08-23 21:47:55.000000000 -0400 1680+++ linux-3.0.7/arch/powerpc/include/asm/mman.h 2011-08-23 21:47:55.000000000 -0400
1681@@ -44,7 +44,7 @@ static inline unsigned long arch_calc_vm 1681@@ -44,7 +44,7 @@ static inline unsigned long arch_calc_vm
1682 } 1682 }
1683 #define arch_calc_vm_prot_bits(prot) arch_calc_vm_prot_bits(prot) 1683 #define arch_calc_vm_prot_bits(prot) arch_calc_vm_prot_bits(prot)
@@ -1687,9 +1687,9 @@ diff -urNp linux-3.0.4/arch/powerpc/include/asm/mman.h linux-3.0.4/arch/powerpc/
1687 { 1687 {
1688 return (vm_flags & VM_SAO) ? __pgprot(_PAGE_SAO) : __pgprot(0); 1688 return (vm_flags & VM_SAO) ? __pgprot(_PAGE_SAO) : __pgprot(0);
1689 } 1689 }
1690diff -urNp linux-3.0.4/arch/powerpc/include/asm/page_64.h linux-3.0.4/arch/powerpc/include/asm/page_64.h 1690diff -urNp linux-3.0.7/arch/powerpc/include/asm/page_64.h linux-3.0.7/arch/powerpc/include/asm/page_64.h
1691--- linux-3.0.4/arch/powerpc/include/asm/page_64.h 2011-07-21 22:17:23.000000000 -0400 1691--- linux-3.0.7/arch/powerpc/include/asm/page_64.h 2011-07-21 22:17:23.000000000 -0400
1692+++ linux-3.0.4/arch/powerpc/include/asm/page_64.h 2011-08-23 21:47:55.000000000 -0400 1692+++ linux-3.0.7/arch/powerpc/include/asm/page_64.h 2011-08-23 21:47:55.000000000 -0400
1693@@ -155,15 +155,18 @@ do { \ 1693@@ -155,15 +155,18 @@ do { \
1694 * stack by default, so in the absence of a PT_GNU_STACK program header 1694 * stack by default, so in the absence of a PT_GNU_STACK program header
1695 * we turn execute permission off. 1695 * we turn execute permission off.
@@ -1711,9 +1711,9 @@ diff -urNp linux-3.0.4/arch/powerpc/include/asm/page_64.h linux-3.0.4/arch/power
1711 1711
1712 #include <asm-generic/getorder.h> 1712 #include <asm-generic/getorder.h>
1713 1713
1714diff -urNp linux-3.0.4/arch/powerpc/include/asm/page.h linux-3.0.4/arch/powerpc/include/asm/page.h 1714diff -urNp linux-3.0.7/arch/powerpc/include/asm/page.h linux-3.0.7/arch/powerpc/include/asm/page.h
1715--- linux-3.0.4/arch/powerpc/include/asm/page.h 2011-07-21 22:17:23.000000000 -0400 1715--- linux-3.0.7/arch/powerpc/include/asm/page.h 2011-07-21 22:17:23.000000000 -0400
1716+++ linux-3.0.4/arch/powerpc/include/asm/page.h 2011-08-23 21:47:55.000000000 -0400 1716+++ linux-3.0.7/arch/powerpc/include/asm/page.h 2011-08-23 21:47:55.000000000 -0400
1717@@ -129,8 +129,9 @@ extern phys_addr_t kernstart_addr; 1717@@ -129,8 +129,9 @@ extern phys_addr_t kernstart_addr;
1718 * and needs to be executable. This means the whole heap ends 1718 * and needs to be executable. This means the whole heap ends
1719 * up being executable. 1719 * up being executable.
@@ -1736,9 +1736,9 @@ diff -urNp linux-3.0.4/arch/powerpc/include/asm/page.h linux-3.0.4/arch/powerpc/
1736 #ifndef __ASSEMBLY__ 1736 #ifndef __ASSEMBLY__
1737 1737
1738 #undef STRICT_MM_TYPECHECKS 1738 #undef STRICT_MM_TYPECHECKS
1739diff -urNp linux-3.0.4/arch/powerpc/include/asm/pgtable.h linux-3.0.4/arch/powerpc/include/asm/pgtable.h 1739diff -urNp linux-3.0.7/arch/powerpc/include/asm/pgtable.h linux-3.0.7/arch/powerpc/include/asm/pgtable.h
1740--- linux-3.0.4/arch/powerpc/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400 1740--- linux-3.0.7/arch/powerpc/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400
1741+++ linux-3.0.4/arch/powerpc/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400 1741+++ linux-3.0.7/arch/powerpc/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400
1742@@ -2,6 +2,7 @@ 1742@@ -2,6 +2,7 @@
1743 #define _ASM_POWERPC_PGTABLE_H 1743 #define _ASM_POWERPC_PGTABLE_H
1744 #ifdef __KERNEL__ 1744 #ifdef __KERNEL__
@@ -1747,9 +1747,9 @@ diff -urNp linux-3.0.4/arch/powerpc/include/asm/pgtable.h linux-3.0.4/arch/power
1747 #ifndef __ASSEMBLY__ 1747 #ifndef __ASSEMBLY__
1748 #include <asm/processor.h> /* For TASK_SIZE */ 1748 #include <asm/processor.h> /* For TASK_SIZE */
1749 #include <asm/mmu.h> 1749 #include <asm/mmu.h>
1750diff -urNp linux-3.0.4/arch/powerpc/include/asm/pte-hash32.h linux-3.0.4/arch/powerpc/include/asm/pte-hash32.h 1750diff -urNp linux-3.0.7/arch/powerpc/include/asm/pte-hash32.h linux-3.0.7/arch/powerpc/include/asm/pte-hash32.h
1751--- linux-3.0.4/arch/powerpc/include/asm/pte-hash32.h 2011-07-21 22:17:23.000000000 -0400 1751--- linux-3.0.7/arch/powerpc/include/asm/pte-hash32.h 2011-07-21 22:17:23.000000000 -0400
1752+++ linux-3.0.4/arch/powerpc/include/asm/pte-hash32.h 2011-08-23 21:47:55.000000000 -0400 1752+++ linux-3.0.7/arch/powerpc/include/asm/pte-hash32.h 2011-08-23 21:47:55.000000000 -0400
1753@@ -21,6 +21,7 @@ 1753@@ -21,6 +21,7 @@
1754 #define _PAGE_FILE 0x004 /* when !present: nonlinear file mapping */ 1754 #define _PAGE_FILE 0x004 /* when !present: nonlinear file mapping */
1755 #define _PAGE_USER 0x004 /* usermode access allowed */ 1755 #define _PAGE_USER 0x004 /* usermode access allowed */
@@ -1758,9 +1758,9 @@ diff -urNp linux-3.0.4/arch/powerpc/include/asm/pte-hash32.h linux-3.0.4/arch/po
1758 #define _PAGE_COHERENT 0x010 /* M: enforce memory coherence (SMP systems) */ 1758 #define _PAGE_COHERENT 0x010 /* M: enforce memory coherence (SMP systems) */
1759 #define _PAGE_NO_CACHE 0x020 /* I: cache inhibit */ 1759 #define _PAGE_NO_CACHE 0x020 /* I: cache inhibit */
1760 #define _PAGE_WRITETHRU 0x040 /* W: cache write-through */ 1760 #define _PAGE_WRITETHRU 0x040 /* W: cache write-through */
1761diff -urNp linux-3.0.4/arch/powerpc/include/asm/reg.h linux-3.0.4/arch/powerpc/include/asm/reg.h 1761diff -urNp linux-3.0.7/arch/powerpc/include/asm/reg.h linux-3.0.7/arch/powerpc/include/asm/reg.h
1762--- linux-3.0.4/arch/powerpc/include/asm/reg.h 2011-07-21 22:17:23.000000000 -0400 1762--- linux-3.0.7/arch/powerpc/include/asm/reg.h 2011-07-21 22:17:23.000000000 -0400
1763+++ linux-3.0.4/arch/powerpc/include/asm/reg.h 2011-08-23 21:47:55.000000000 -0400 1763+++ linux-3.0.7/arch/powerpc/include/asm/reg.h 2011-08-23 21:47:55.000000000 -0400
1764@@ -209,6 +209,7 @@ 1764@@ -209,6 +209,7 @@
1765 #define SPRN_DBCR 0x136 /* e300 Data Breakpoint Control Reg */ 1765 #define SPRN_DBCR 0x136 /* e300 Data Breakpoint Control Reg */
1766 #define SPRN_DSISR 0x012 /* Data Storage Interrupt Status Register */ 1766 #define SPRN_DSISR 0x012 /* Data Storage Interrupt Status Register */
@@ -1769,9 +1769,9 @@ diff -urNp linux-3.0.4/arch/powerpc/include/asm/reg.h linux-3.0.4/arch/powerpc/i
1769 #define DSISR_PROTFAULT 0x08000000 /* protection fault */ 1769 #define DSISR_PROTFAULT 0x08000000 /* protection fault */
1770 #define DSISR_ISSTORE 0x02000000 /* access was a store */ 1770 #define DSISR_ISSTORE 0x02000000 /* access was a store */
1771 #define DSISR_DABRMATCH 0x00400000 /* hit data breakpoint */ 1771 #define DSISR_DABRMATCH 0x00400000 /* hit data breakpoint */
1772diff -urNp linux-3.0.4/arch/powerpc/include/asm/system.h linux-3.0.4/arch/powerpc/include/asm/system.h 1772diff -urNp linux-3.0.7/arch/powerpc/include/asm/system.h linux-3.0.7/arch/powerpc/include/asm/system.h
1773--- linux-3.0.4/arch/powerpc/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400 1773--- linux-3.0.7/arch/powerpc/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400
1774+++ linux-3.0.4/arch/powerpc/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400 1774+++ linux-3.0.7/arch/powerpc/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400
1775@@ -531,7 +531,7 @@ __cmpxchg_local(volatile void *ptr, unsi 1775@@ -531,7 +531,7 @@ __cmpxchg_local(volatile void *ptr, unsi
1776 #define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n)) 1776 #define cmpxchg64_local(ptr, o, n) __cmpxchg64_local_generic((ptr), (o), (n))
1777 #endif 1777 #endif
@@ -1781,9 +1781,9 @@ diff -urNp linux-3.0.4/arch/powerpc/include/asm/system.h linux-3.0.4/arch/powerp
1781 1781
1782 /* Used in very early kernel initialization. */ 1782 /* Used in very early kernel initialization. */
1783 extern unsigned long reloc_offset(void); 1783 extern unsigned long reloc_offset(void);
1784diff -urNp linux-3.0.4/arch/powerpc/include/asm/uaccess.h linux-3.0.4/arch/powerpc/include/asm/uaccess.h 1784diff -urNp linux-3.0.7/arch/powerpc/include/asm/uaccess.h linux-3.0.7/arch/powerpc/include/asm/uaccess.h
1785--- linux-3.0.4/arch/powerpc/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400 1785--- linux-3.0.7/arch/powerpc/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400
1786+++ linux-3.0.4/arch/powerpc/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400 1786+++ linux-3.0.7/arch/powerpc/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400
1787@@ -13,6 +13,8 @@ 1787@@ -13,6 +13,8 @@
1788 #define VERIFY_READ 0 1788 #define VERIFY_READ 0
1789 #define VERIFY_WRITE 1 1789 #define VERIFY_WRITE 1
@@ -1961,9 +1961,9 @@ diff -urNp linux-3.0.4/arch/powerpc/include/asm/uaccess.h linux-3.0.4/arch/power
1961 extern unsigned long __clear_user(void __user *addr, unsigned long size); 1961 extern unsigned long __clear_user(void __user *addr, unsigned long size);
1962 1962
1963 static inline unsigned long clear_user(void __user *addr, unsigned long size) 1963 static inline unsigned long clear_user(void __user *addr, unsigned long size)
1964diff -urNp linux-3.0.4/arch/powerpc/kernel/exceptions-64e.S linux-3.0.4/arch/powerpc/kernel/exceptions-64e.S 1964diff -urNp linux-3.0.7/arch/powerpc/kernel/exceptions-64e.S linux-3.0.7/arch/powerpc/kernel/exceptions-64e.S
1965--- linux-3.0.4/arch/powerpc/kernel/exceptions-64e.S 2011-07-21 22:17:23.000000000 -0400 1965--- linux-3.0.7/arch/powerpc/kernel/exceptions-64e.S 2011-07-21 22:17:23.000000000 -0400
1966+++ linux-3.0.4/arch/powerpc/kernel/exceptions-64e.S 2011-08-23 21:47:55.000000000 -0400 1966+++ linux-3.0.7/arch/powerpc/kernel/exceptions-64e.S 2011-08-23 21:47:55.000000000 -0400
1967@@ -567,6 +567,7 @@ storage_fault_common: 1967@@ -567,6 +567,7 @@ storage_fault_common:
1968 std r14,_DAR(r1) 1968 std r14,_DAR(r1)
1969 std r15,_DSISR(r1) 1969 std r15,_DSISR(r1)
@@ -1982,9 +1982,9 @@ diff -urNp linux-3.0.4/arch/powerpc/kernel/exceptions-64e.S linux-3.0.4/arch/pow
1982 addi r3,r1,STACK_FRAME_OVERHEAD 1982 addi r3,r1,STACK_FRAME_OVERHEAD
1983 ld r4,_DAR(r1) 1983 ld r4,_DAR(r1)
1984 bl .bad_page_fault 1984 bl .bad_page_fault
1985diff -urNp linux-3.0.4/arch/powerpc/kernel/exceptions-64s.S linux-3.0.4/arch/powerpc/kernel/exceptions-64s.S 1985diff -urNp linux-3.0.7/arch/powerpc/kernel/exceptions-64s.S linux-3.0.7/arch/powerpc/kernel/exceptions-64s.S
1986--- linux-3.0.4/arch/powerpc/kernel/exceptions-64s.S 2011-07-21 22:17:23.000000000 -0400 1986--- linux-3.0.7/arch/powerpc/kernel/exceptions-64s.S 2011-07-21 22:17:23.000000000 -0400
1987+++ linux-3.0.4/arch/powerpc/kernel/exceptions-64s.S 2011-08-23 21:47:55.000000000 -0400 1987+++ linux-3.0.7/arch/powerpc/kernel/exceptions-64s.S 2011-08-23 21:47:55.000000000 -0400
1988@@ -956,10 +956,10 @@ handle_page_fault: 1988@@ -956,10 +956,10 @@ handle_page_fault:
1989 11: ld r4,_DAR(r1) 1989 11: ld r4,_DAR(r1)
1990 ld r5,_DSISR(r1) 1990 ld r5,_DSISR(r1)
@@ -1997,9 +1997,9 @@ diff -urNp linux-3.0.4/arch/powerpc/kernel/exceptions-64s.S linux-3.0.4/arch/pow
1997 mr r5,r3 1997 mr r5,r3
1998 addi r3,r1,STACK_FRAME_OVERHEAD 1998 addi r3,r1,STACK_FRAME_OVERHEAD
1999 lwz r4,_DAR(r1) 1999 lwz r4,_DAR(r1)
2000diff -urNp linux-3.0.4/arch/powerpc/kernel/module_32.c linux-3.0.4/arch/powerpc/kernel/module_32.c 2000diff -urNp linux-3.0.7/arch/powerpc/kernel/module_32.c linux-3.0.7/arch/powerpc/kernel/module_32.c
2001--- linux-3.0.4/arch/powerpc/kernel/module_32.c 2011-07-21 22:17:23.000000000 -0400 2001--- linux-3.0.7/arch/powerpc/kernel/module_32.c 2011-07-21 22:17:23.000000000 -0400
2002+++ linux-3.0.4/arch/powerpc/kernel/module_32.c 2011-08-23 21:47:55.000000000 -0400 2002+++ linux-3.0.7/arch/powerpc/kernel/module_32.c 2011-08-23 21:47:55.000000000 -0400
2003@@ -162,7 +162,7 @@ int module_frob_arch_sections(Elf32_Ehdr 2003@@ -162,7 +162,7 @@ int module_frob_arch_sections(Elf32_Ehdr
2004 me->arch.core_plt_section = i; 2004 me->arch.core_plt_section = i;
2005 } 2005 }
@@ -2029,9 +2029,9 @@ diff -urNp linux-3.0.4/arch/powerpc/kernel/module_32.c linux-3.0.4/arch/powerpc/
2029 2029
2030 /* Find this entry, or if that fails, the next avail. entry */ 2030 /* Find this entry, or if that fails, the next avail. entry */
2031 while (entry->jump[0]) { 2031 while (entry->jump[0]) {
2032diff -urNp linux-3.0.4/arch/powerpc/kernel/module.c linux-3.0.4/arch/powerpc/kernel/module.c 2032diff -urNp linux-3.0.7/arch/powerpc/kernel/module.c linux-3.0.7/arch/powerpc/kernel/module.c
2033--- linux-3.0.4/arch/powerpc/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 2033--- linux-3.0.7/arch/powerpc/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
2034+++ linux-3.0.4/arch/powerpc/kernel/module.c 2011-08-23 21:47:55.000000000 -0400 2034+++ linux-3.0.7/arch/powerpc/kernel/module.c 2011-08-23 21:47:55.000000000 -0400
2035@@ -31,11 +31,24 @@ 2035@@ -31,11 +31,24 @@
2036 2036
2037 LIST_HEAD(module_bug_list); 2037 LIST_HEAD(module_bug_list);
@@ -2071,9 +2071,9 @@ diff -urNp linux-3.0.4/arch/powerpc/kernel/module.c linux-3.0.4/arch/powerpc/ker
2071 static const Elf_Shdr *find_section(const Elf_Ehdr *hdr, 2071 static const Elf_Shdr *find_section(const Elf_Ehdr *hdr,
2072 const Elf_Shdr *sechdrs, 2072 const Elf_Shdr *sechdrs,
2073 const char *name) 2073 const char *name)
2074diff -urNp linux-3.0.4/arch/powerpc/kernel/process.c linux-3.0.4/arch/powerpc/kernel/process.c 2074diff -urNp linux-3.0.7/arch/powerpc/kernel/process.c linux-3.0.7/arch/powerpc/kernel/process.c
2075--- linux-3.0.4/arch/powerpc/kernel/process.c 2011-07-21 22:17:23.000000000 -0400 2075--- linux-3.0.7/arch/powerpc/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
2076+++ linux-3.0.4/arch/powerpc/kernel/process.c 2011-08-23 21:48:14.000000000 -0400 2076+++ linux-3.0.7/arch/powerpc/kernel/process.c 2011-08-23 21:48:14.000000000 -0400
2077@@ -676,8 +676,8 @@ void show_regs(struct pt_regs * regs) 2077@@ -676,8 +676,8 @@ void show_regs(struct pt_regs * regs)
2078 * Lookup NIP late so we have the best change of getting the 2078 * Lookup NIP late so we have the best change of getting the
2079 * above info out without failing 2079 * above info out without failing
@@ -2166,9 +2166,9 @@ diff -urNp linux-3.0.4/arch/powerpc/kernel/process.c linux-3.0.4/arch/powerpc/ke
2166- 2166-
2167- return ret; 2167- return ret;
2168-} 2168-}
2169diff -urNp linux-3.0.4/arch/powerpc/kernel/signal_32.c linux-3.0.4/arch/powerpc/kernel/signal_32.c 2169diff -urNp linux-3.0.7/arch/powerpc/kernel/signal_32.c linux-3.0.7/arch/powerpc/kernel/signal_32.c
2170--- linux-3.0.4/arch/powerpc/kernel/signal_32.c 2011-07-21 22:17:23.000000000 -0400 2170--- linux-3.0.7/arch/powerpc/kernel/signal_32.c 2011-07-21 22:17:23.000000000 -0400
2171+++ linux-3.0.4/arch/powerpc/kernel/signal_32.c 2011-08-23 21:47:55.000000000 -0400 2171+++ linux-3.0.7/arch/powerpc/kernel/signal_32.c 2011-08-23 21:47:55.000000000 -0400
2172@@ -859,7 +859,7 @@ int handle_rt_signal32(unsigned long sig 2172@@ -859,7 +859,7 @@ int handle_rt_signal32(unsigned long sig
2173 /* Save user registers on the stack */ 2173 /* Save user registers on the stack */
2174 frame = &rt_sf->uc.uc_mcontext; 2174 frame = &rt_sf->uc.uc_mcontext;
@@ -2178,9 +2178,9 @@ diff -urNp linux-3.0.4/arch/powerpc/kernel/signal_32.c linux-3.0.4/arch/powerpc/
2178 if (save_user_regs(regs, frame, 0, 1)) 2178 if (save_user_regs(regs, frame, 0, 1))
2179 goto badframe; 2179 goto badframe;
2180 regs->link = current->mm->context.vdso_base + vdso32_rt_sigtramp; 2180 regs->link = current->mm->context.vdso_base + vdso32_rt_sigtramp;
2181diff -urNp linux-3.0.4/arch/powerpc/kernel/signal_64.c linux-3.0.4/arch/powerpc/kernel/signal_64.c 2181diff -urNp linux-3.0.7/arch/powerpc/kernel/signal_64.c linux-3.0.7/arch/powerpc/kernel/signal_64.c
2182--- linux-3.0.4/arch/powerpc/kernel/signal_64.c 2011-07-21 22:17:23.000000000 -0400 2182--- linux-3.0.7/arch/powerpc/kernel/signal_64.c 2011-07-21 22:17:23.000000000 -0400
2183+++ linux-3.0.4/arch/powerpc/kernel/signal_64.c 2011-08-23 21:47:55.000000000 -0400 2183+++ linux-3.0.7/arch/powerpc/kernel/signal_64.c 2011-08-23 21:47:55.000000000 -0400
2184@@ -430,7 +430,7 @@ int handle_rt_signal64(int signr, struct 2184@@ -430,7 +430,7 @@ int handle_rt_signal64(int signr, struct
2185 current->thread.fpscr.val = 0; 2185 current->thread.fpscr.val = 0;
2186 2186
@@ -2190,9 +2190,9 @@ diff -urNp linux-3.0.4/arch/powerpc/kernel/signal_64.c linux-3.0.4/arch/powerpc/
2190 regs->link = current->mm->context.vdso_base + vdso64_rt_sigtramp; 2190 regs->link = current->mm->context.vdso_base + vdso64_rt_sigtramp;
2191 } else { 2191 } else {
2192 err |= setup_trampoline(__NR_rt_sigreturn, &frame->tramp[0]); 2192 err |= setup_trampoline(__NR_rt_sigreturn, &frame->tramp[0]);
2193diff -urNp linux-3.0.4/arch/powerpc/kernel/traps.c linux-3.0.4/arch/powerpc/kernel/traps.c 2193diff -urNp linux-3.0.7/arch/powerpc/kernel/traps.c linux-3.0.7/arch/powerpc/kernel/traps.c
2194--- linux-3.0.4/arch/powerpc/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400 2194--- linux-3.0.7/arch/powerpc/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400
2195+++ linux-3.0.4/arch/powerpc/kernel/traps.c 2011-08-23 21:48:14.000000000 -0400 2195+++ linux-3.0.7/arch/powerpc/kernel/traps.c 2011-08-23 21:48:14.000000000 -0400
2196@@ -98,6 +98,8 @@ static void pmac_backlight_unblank(void) 2196@@ -98,6 +98,8 @@ static void pmac_backlight_unblank(void)
2197 static inline void pmac_backlight_unblank(void) { } 2197 static inline void pmac_backlight_unblank(void) { }
2198 #endif 2198 #endif
@@ -2211,9 +2211,9 @@ diff -urNp linux-3.0.4/arch/powerpc/kernel/traps.c linux-3.0.4/arch/powerpc/kern
2211 oops_exit(); 2211 oops_exit();
2212 do_exit(err); 2212 do_exit(err);
2213 2213
2214diff -urNp linux-3.0.4/arch/powerpc/kernel/vdso.c linux-3.0.4/arch/powerpc/kernel/vdso.c 2214diff -urNp linux-3.0.7/arch/powerpc/kernel/vdso.c linux-3.0.7/arch/powerpc/kernel/vdso.c
2215--- linux-3.0.4/arch/powerpc/kernel/vdso.c 2011-07-21 22:17:23.000000000 -0400 2215--- linux-3.0.7/arch/powerpc/kernel/vdso.c 2011-07-21 22:17:23.000000000 -0400
2216+++ linux-3.0.4/arch/powerpc/kernel/vdso.c 2011-08-23 21:47:55.000000000 -0400 2216+++ linux-3.0.7/arch/powerpc/kernel/vdso.c 2011-08-23 21:47:55.000000000 -0400
2217@@ -36,6 +36,7 @@ 2217@@ -36,6 +36,7 @@
2218 #include <asm/firmware.h> 2218 #include <asm/firmware.h>
2219 #include <asm/vdso.h> 2219 #include <asm/vdso.h>
@@ -2240,9 +2240,9 @@ diff -urNp linux-3.0.4/arch/powerpc/kernel/vdso.c linux-3.0.4/arch/powerpc/kerne
2240 if (IS_ERR_VALUE(vdso_base)) { 2240 if (IS_ERR_VALUE(vdso_base)) {
2241 rc = vdso_base; 2241 rc = vdso_base;
2242 goto fail_mmapsem; 2242 goto fail_mmapsem;
2243diff -urNp linux-3.0.4/arch/powerpc/lib/usercopy_64.c linux-3.0.4/arch/powerpc/lib/usercopy_64.c 2243diff -urNp linux-3.0.7/arch/powerpc/lib/usercopy_64.c linux-3.0.7/arch/powerpc/lib/usercopy_64.c
2244--- linux-3.0.4/arch/powerpc/lib/usercopy_64.c 2011-07-21 22:17:23.000000000 -0400 2244--- linux-3.0.7/arch/powerpc/lib/usercopy_64.c 2011-07-21 22:17:23.000000000 -0400
2245+++ linux-3.0.4/arch/powerpc/lib/usercopy_64.c 2011-08-23 21:47:55.000000000 -0400 2245+++ linux-3.0.7/arch/powerpc/lib/usercopy_64.c 2011-08-23 21:47:55.000000000 -0400
2246@@ -9,22 +9,6 @@ 2246@@ -9,22 +9,6 @@
2247 #include <linux/module.h> 2247 #include <linux/module.h>
2248 #include <asm/uaccess.h> 2248 #include <asm/uaccess.h>
@@ -2274,9 +2274,9 @@ diff -urNp linux-3.0.4/arch/powerpc/lib/usercopy_64.c linux-3.0.4/arch/powerpc/l
2274-EXPORT_SYMBOL(copy_to_user); 2274-EXPORT_SYMBOL(copy_to_user);
2275 EXPORT_SYMBOL(copy_in_user); 2275 EXPORT_SYMBOL(copy_in_user);
2276 2276
2277diff -urNp linux-3.0.4/arch/powerpc/mm/fault.c linux-3.0.4/arch/powerpc/mm/fault.c 2277diff -urNp linux-3.0.7/arch/powerpc/mm/fault.c linux-3.0.7/arch/powerpc/mm/fault.c
2278--- linux-3.0.4/arch/powerpc/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 2278--- linux-3.0.7/arch/powerpc/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
2279+++ linux-3.0.4/arch/powerpc/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 2279+++ linux-3.0.7/arch/powerpc/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
2280@@ -32,6 +32,10 @@ 2280@@ -32,6 +32,10 @@
2281 #include <linux/perf_event.h> 2281 #include <linux/perf_event.h>
2282 #include <linux/magic.h> 2282 #include <linux/magic.h>
@@ -2381,9 +2381,9 @@ diff -urNp linux-3.0.4/arch/powerpc/mm/fault.c linux-3.0.4/arch/powerpc/mm/fault
2381 _exception(SIGSEGV, regs, code, address); 2381 _exception(SIGSEGV, regs, code, address);
2382 return 0; 2382 return 0;
2383 } 2383 }
2384diff -urNp linux-3.0.4/arch/powerpc/mm/mmap_64.c linux-3.0.4/arch/powerpc/mm/mmap_64.c 2384diff -urNp linux-3.0.7/arch/powerpc/mm/mmap_64.c linux-3.0.7/arch/powerpc/mm/mmap_64.c
2385--- linux-3.0.4/arch/powerpc/mm/mmap_64.c 2011-07-21 22:17:23.000000000 -0400 2385--- linux-3.0.7/arch/powerpc/mm/mmap_64.c 2011-07-21 22:17:23.000000000 -0400
2386+++ linux-3.0.4/arch/powerpc/mm/mmap_64.c 2011-08-23 21:47:55.000000000 -0400 2386+++ linux-3.0.7/arch/powerpc/mm/mmap_64.c 2011-08-23 21:47:55.000000000 -0400
2387@@ -99,10 +99,22 @@ void arch_pick_mmap_layout(struct mm_str 2387@@ -99,10 +99,22 @@ void arch_pick_mmap_layout(struct mm_str
2388 */ 2388 */
2389 if (mmap_is_legacy()) { 2389 if (mmap_is_legacy()) {
@@ -2407,9 +2407,9 @@ diff -urNp linux-3.0.4/arch/powerpc/mm/mmap_64.c linux-3.0.4/arch/powerpc/mm/mma
2407 mm->get_unmapped_area = arch_get_unmapped_area_topdown; 2407 mm->get_unmapped_area = arch_get_unmapped_area_topdown;
2408 mm->unmap_area = arch_unmap_area_topdown; 2408 mm->unmap_area = arch_unmap_area_topdown;
2409 } 2409 }
2410diff -urNp linux-3.0.4/arch/powerpc/mm/slice.c linux-3.0.4/arch/powerpc/mm/slice.c 2410diff -urNp linux-3.0.7/arch/powerpc/mm/slice.c linux-3.0.7/arch/powerpc/mm/slice.c
2411--- linux-3.0.4/arch/powerpc/mm/slice.c 2011-07-21 22:17:23.000000000 -0400 2411--- linux-3.0.7/arch/powerpc/mm/slice.c 2011-07-21 22:17:23.000000000 -0400
2412+++ linux-3.0.4/arch/powerpc/mm/slice.c 2011-08-23 21:47:55.000000000 -0400 2412+++ linux-3.0.7/arch/powerpc/mm/slice.c 2011-08-23 21:47:55.000000000 -0400
2413@@ -98,7 +98,7 @@ static int slice_area_is_free(struct mm_ 2413@@ -98,7 +98,7 @@ static int slice_area_is_free(struct mm_
2414 if ((mm->task_size - len) < addr) 2414 if ((mm->task_size - len) < addr)
2415 return 0; 2415 return 0;
@@ -2476,9 +2476,9 @@ diff -urNp linux-3.0.4/arch/powerpc/mm/slice.c linux-3.0.4/arch/powerpc/mm/slice
2476 /* If hint, make sure it matches our alignment restrictions */ 2476 /* If hint, make sure it matches our alignment restrictions */
2477 if (!fixed && addr) { 2477 if (!fixed && addr) {
2478 addr = _ALIGN_UP(addr, 1ul << pshift); 2478 addr = _ALIGN_UP(addr, 1ul << pshift);
2479diff -urNp linux-3.0.4/arch/s390/include/asm/elf.h linux-3.0.4/arch/s390/include/asm/elf.h 2479diff -urNp linux-3.0.7/arch/s390/include/asm/elf.h linux-3.0.7/arch/s390/include/asm/elf.h
2480--- linux-3.0.4/arch/s390/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 2480--- linux-3.0.7/arch/s390/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
2481+++ linux-3.0.4/arch/s390/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 2481+++ linux-3.0.7/arch/s390/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
2482@@ -162,8 +162,14 @@ extern unsigned int vdso_enabled; 2482@@ -162,8 +162,14 @@ extern unsigned int vdso_enabled;
2483 the loader. We need to make sure that it is out of the way of the program 2483 the loader. We need to make sure that it is out of the way of the program
2484 that it will "exec", and that there is sufficient room for the brk. */ 2484 that it will "exec", and that there is sufficient room for the brk. */
@@ -2504,9 +2504,9 @@ diff -urNp linux-3.0.4/arch/s390/include/asm/elf.h linux-3.0.4/arch/s390/include
2504-#define arch_randomize_brk arch_randomize_brk 2504-#define arch_randomize_brk arch_randomize_brk
2505- 2505-
2506 #endif 2506 #endif
2507diff -urNp linux-3.0.4/arch/s390/include/asm/system.h linux-3.0.4/arch/s390/include/asm/system.h 2507diff -urNp linux-3.0.7/arch/s390/include/asm/system.h linux-3.0.7/arch/s390/include/asm/system.h
2508--- linux-3.0.4/arch/s390/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400 2508--- linux-3.0.7/arch/s390/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400
2509+++ linux-3.0.4/arch/s390/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400 2509+++ linux-3.0.7/arch/s390/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400
2510@@ -255,7 +255,7 @@ extern void (*_machine_restart)(char *co 2510@@ -255,7 +255,7 @@ extern void (*_machine_restart)(char *co
2511 extern void (*_machine_halt)(void); 2511 extern void (*_machine_halt)(void);
2512 extern void (*_machine_power_off)(void); 2512 extern void (*_machine_power_off)(void);
@@ -2516,9 +2516,9 @@ diff -urNp linux-3.0.4/arch/s390/include/asm/system.h linux-3.0.4/arch/s390/incl
2516 2516
2517 static inline int tprot(unsigned long addr) 2517 static inline int tprot(unsigned long addr)
2518 { 2518 {
2519diff -urNp linux-3.0.4/arch/s390/include/asm/uaccess.h linux-3.0.4/arch/s390/include/asm/uaccess.h 2519diff -urNp linux-3.0.7/arch/s390/include/asm/uaccess.h linux-3.0.7/arch/s390/include/asm/uaccess.h
2520--- linux-3.0.4/arch/s390/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400 2520--- linux-3.0.7/arch/s390/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400
2521+++ linux-3.0.4/arch/s390/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400 2521+++ linux-3.0.7/arch/s390/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400
2522@@ -235,6 +235,10 @@ static inline unsigned long __must_check 2522@@ -235,6 +235,10 @@ static inline unsigned long __must_check
2523 copy_to_user(void __user *to, const void *from, unsigned long n) 2523 copy_to_user(void __user *to, const void *from, unsigned long n)
2524 { 2524 {
@@ -2551,9 +2551,9 @@ diff -urNp linux-3.0.4/arch/s390/include/asm/uaccess.h linux-3.0.4/arch/s390/inc
2551 if (unlikely(sz != -1 && sz < n)) { 2551 if (unlikely(sz != -1 && sz < n)) {
2552 copy_from_user_overflow(); 2552 copy_from_user_overflow();
2553 return n; 2553 return n;
2554diff -urNp linux-3.0.4/arch/s390/kernel/module.c linux-3.0.4/arch/s390/kernel/module.c 2554diff -urNp linux-3.0.7/arch/s390/kernel/module.c linux-3.0.7/arch/s390/kernel/module.c
2555--- linux-3.0.4/arch/s390/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 2555--- linux-3.0.7/arch/s390/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
2556+++ linux-3.0.4/arch/s390/kernel/module.c 2011-08-23 21:47:55.000000000 -0400 2556+++ linux-3.0.7/arch/s390/kernel/module.c 2011-08-23 21:47:55.000000000 -0400
2557@@ -168,11 +168,11 @@ module_frob_arch_sections(Elf_Ehdr *hdr, 2557@@ -168,11 +168,11 @@ module_frob_arch_sections(Elf_Ehdr *hdr,
2558 2558
2559 /* Increase core size by size of got & plt and set start 2559 /* Increase core size by size of got & plt and set start
@@ -2625,9 +2625,9 @@ diff -urNp linux-3.0.4/arch/s390/kernel/module.c linux-3.0.4/arch/s390/kernel/mo
2625 rela->r_addend - loc; 2625 rela->r_addend - loc;
2626 if (r_type == R_390_GOTPC) 2626 if (r_type == R_390_GOTPC)
2627 *(unsigned int *) loc = val; 2627 *(unsigned int *) loc = val;
2628diff -urNp linux-3.0.4/arch/s390/kernel/process.c linux-3.0.4/arch/s390/kernel/process.c 2628diff -urNp linux-3.0.7/arch/s390/kernel/process.c linux-3.0.7/arch/s390/kernel/process.c
2629--- linux-3.0.4/arch/s390/kernel/process.c 2011-07-21 22:17:23.000000000 -0400 2629--- linux-3.0.7/arch/s390/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
2630+++ linux-3.0.4/arch/s390/kernel/process.c 2011-08-23 21:47:55.000000000 -0400 2630+++ linux-3.0.7/arch/s390/kernel/process.c 2011-08-23 21:47:55.000000000 -0400
2631@@ -319,39 +319,3 @@ unsigned long get_wchan(struct task_stru 2631@@ -319,39 +319,3 @@ unsigned long get_wchan(struct task_stru
2632 } 2632 }
2633 return 0; 2633 return 0;
@@ -2668,9 +2668,9 @@ diff -urNp linux-3.0.4/arch/s390/kernel/process.c linux-3.0.4/arch/s390/kernel/p
2668- return base; 2668- return base;
2669- return ret; 2669- return ret;
2670-} 2670-}
2671diff -urNp linux-3.0.4/arch/s390/kernel/setup.c linux-3.0.4/arch/s390/kernel/setup.c 2671diff -urNp linux-3.0.7/arch/s390/kernel/setup.c linux-3.0.7/arch/s390/kernel/setup.c
2672--- linux-3.0.4/arch/s390/kernel/setup.c 2011-07-21 22:17:23.000000000 -0400 2672--- linux-3.0.7/arch/s390/kernel/setup.c 2011-07-21 22:17:23.000000000 -0400
2673+++ linux-3.0.4/arch/s390/kernel/setup.c 2011-08-23 21:47:55.000000000 -0400 2673+++ linux-3.0.7/arch/s390/kernel/setup.c 2011-08-23 21:47:55.000000000 -0400
2674@@ -271,7 +271,7 @@ static int __init early_parse_mem(char * 2674@@ -271,7 +271,7 @@ static int __init early_parse_mem(char *
2675 } 2675 }
2676 early_param("mem", early_parse_mem); 2676 early_param("mem", early_parse_mem);
@@ -2680,9 +2680,9 @@ diff -urNp linux-3.0.4/arch/s390/kernel/setup.c linux-3.0.4/arch/s390/kernel/set
2680 EXPORT_SYMBOL_GPL(user_mode); 2680 EXPORT_SYMBOL_GPL(user_mode);
2681 2681
2682 static int set_amode_and_uaccess(unsigned long user_amode, 2682 static int set_amode_and_uaccess(unsigned long user_amode,
2683diff -urNp linux-3.0.4/arch/s390/mm/mmap.c linux-3.0.4/arch/s390/mm/mmap.c 2683diff -urNp linux-3.0.7/arch/s390/mm/mmap.c linux-3.0.7/arch/s390/mm/mmap.c
2684--- linux-3.0.4/arch/s390/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 2684--- linux-3.0.7/arch/s390/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400
2685+++ linux-3.0.4/arch/s390/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 2685+++ linux-3.0.7/arch/s390/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400
2686@@ -91,10 +91,22 @@ void arch_pick_mmap_layout(struct mm_str 2686@@ -91,10 +91,22 @@ void arch_pick_mmap_layout(struct mm_str
2687 */ 2687 */
2688 if (mmap_is_legacy()) { 2688 if (mmap_is_legacy()) {
@@ -2729,9 +2729,9 @@ diff -urNp linux-3.0.4/arch/s390/mm/mmap.c linux-3.0.4/arch/s390/mm/mmap.c
2729 mm->get_unmapped_area = s390_get_unmapped_area_topdown; 2729 mm->get_unmapped_area = s390_get_unmapped_area_topdown;
2730 mm->unmap_area = arch_unmap_area_topdown; 2730 mm->unmap_area = arch_unmap_area_topdown;
2731 } 2731 }
2732diff -urNp linux-3.0.4/arch/score/include/asm/system.h linux-3.0.4/arch/score/include/asm/system.h 2732diff -urNp linux-3.0.7/arch/score/include/asm/system.h linux-3.0.7/arch/score/include/asm/system.h
2733--- linux-3.0.4/arch/score/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400 2733--- linux-3.0.7/arch/score/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400
2734+++ linux-3.0.4/arch/score/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400 2734+++ linux-3.0.7/arch/score/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400
2735@@ -17,7 +17,7 @@ do { \ 2735@@ -17,7 +17,7 @@ do { \
2736 #define finish_arch_switch(prev) do {} while (0) 2736 #define finish_arch_switch(prev) do {} while (0)
2737 2737
@@ -2741,9 +2741,9 @@ diff -urNp linux-3.0.4/arch/score/include/asm/system.h linux-3.0.4/arch/score/in
2741 2741
2742 #define mb() barrier() 2742 #define mb() barrier()
2743 #define rmb() barrier() 2743 #define rmb() barrier()
2744diff -urNp linux-3.0.4/arch/score/kernel/process.c linux-3.0.4/arch/score/kernel/process.c 2744diff -urNp linux-3.0.7/arch/score/kernel/process.c linux-3.0.7/arch/score/kernel/process.c
2745--- linux-3.0.4/arch/score/kernel/process.c 2011-07-21 22:17:23.000000000 -0400 2745--- linux-3.0.7/arch/score/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
2746+++ linux-3.0.4/arch/score/kernel/process.c 2011-08-23 21:47:55.000000000 -0400 2746+++ linux-3.0.7/arch/score/kernel/process.c 2011-08-23 21:47:55.000000000 -0400
2747@@ -161,8 +161,3 @@ unsigned long get_wchan(struct task_stru 2747@@ -161,8 +161,3 @@ unsigned long get_wchan(struct task_stru
2748 2748
2749 return task_pt_regs(task)->cp0_epc; 2749 return task_pt_regs(task)->cp0_epc;
@@ -2753,9 +2753,9 @@ diff -urNp linux-3.0.4/arch/score/kernel/process.c linux-3.0.4/arch/score/kernel
2753-{ 2753-{
2754- return sp; 2754- return sp;
2755-} 2755-}
2756diff -urNp linux-3.0.4/arch/sh/mm/mmap.c linux-3.0.4/arch/sh/mm/mmap.c 2756diff -urNp linux-3.0.7/arch/sh/mm/mmap.c linux-3.0.7/arch/sh/mm/mmap.c
2757--- linux-3.0.4/arch/sh/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 2757--- linux-3.0.7/arch/sh/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400
2758+++ linux-3.0.4/arch/sh/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 2758+++ linux-3.0.7/arch/sh/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400
2759@@ -74,8 +74,7 @@ unsigned long arch_get_unmapped_area(str 2759@@ -74,8 +74,7 @@ unsigned long arch_get_unmapped_area(str
2760 addr = PAGE_ALIGN(addr); 2760 addr = PAGE_ALIGN(addr);
2761 2761
@@ -2830,9 +2830,9 @@ diff -urNp linux-3.0.4/arch/sh/mm/mmap.c linux-3.0.4/arch/sh/mm/mmap.c
2830 2830
2831 bottomup: 2831 bottomup:
2832 /* 2832 /*
2833diff -urNp linux-3.0.4/arch/sparc/include/asm/atomic_64.h linux-3.0.4/arch/sparc/include/asm/atomic_64.h 2833diff -urNp linux-3.0.7/arch/sparc/include/asm/atomic_64.h linux-3.0.7/arch/sparc/include/asm/atomic_64.h
2834--- linux-3.0.4/arch/sparc/include/asm/atomic_64.h 2011-07-21 22:17:23.000000000 -0400 2834--- linux-3.0.7/arch/sparc/include/asm/atomic_64.h 2011-07-21 22:17:23.000000000 -0400
2835+++ linux-3.0.4/arch/sparc/include/asm/atomic_64.h 2011-08-23 21:48:14.000000000 -0400 2835+++ linux-3.0.7/arch/sparc/include/asm/atomic_64.h 2011-08-23 21:48:14.000000000 -0400
2836@@ -14,18 +14,40 @@ 2836@@ -14,18 +14,40 @@
2837 #define ATOMIC64_INIT(i) { (i) } 2837 #define ATOMIC64_INIT(i) { (i) }
2838 2838
@@ -3025,9 +3025,9 @@ diff -urNp linux-3.0.4/arch/sparc/include/asm/atomic_64.h linux-3.0.4/arch/sparc
3025 } 3025 }
3026 3026
3027 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) 3027 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
3028diff -urNp linux-3.0.4/arch/sparc/include/asm/cache.h linux-3.0.4/arch/sparc/include/asm/cache.h 3028diff -urNp linux-3.0.7/arch/sparc/include/asm/cache.h linux-3.0.7/arch/sparc/include/asm/cache.h
3029--- linux-3.0.4/arch/sparc/include/asm/cache.h 2011-07-21 22:17:23.000000000 -0400 3029--- linux-3.0.7/arch/sparc/include/asm/cache.h 2011-07-21 22:17:23.000000000 -0400
3030+++ linux-3.0.4/arch/sparc/include/asm/cache.h 2011-08-23 21:47:55.000000000 -0400 3030+++ linux-3.0.7/arch/sparc/include/asm/cache.h 2011-08-23 21:47:55.000000000 -0400
3031@@ -10,7 +10,7 @@ 3031@@ -10,7 +10,7 @@
3032 #define ARCH_SLAB_MINALIGN __alignof__(unsigned long long) 3032 #define ARCH_SLAB_MINALIGN __alignof__(unsigned long long)
3033 3033
@@ -3037,9 +3037,9 @@ diff -urNp linux-3.0.4/arch/sparc/include/asm/cache.h linux-3.0.4/arch/sparc/inc
3037 3037
3038 #ifdef CONFIG_SPARC32 3038 #ifdef CONFIG_SPARC32
3039 #define SMP_CACHE_BYTES_SHIFT 5 3039 #define SMP_CACHE_BYTES_SHIFT 5
3040diff -urNp linux-3.0.4/arch/sparc/include/asm/elf_32.h linux-3.0.4/arch/sparc/include/asm/elf_32.h 3040diff -urNp linux-3.0.7/arch/sparc/include/asm/elf_32.h linux-3.0.7/arch/sparc/include/asm/elf_32.h
3041--- linux-3.0.4/arch/sparc/include/asm/elf_32.h 2011-07-21 22:17:23.000000000 -0400 3041--- linux-3.0.7/arch/sparc/include/asm/elf_32.h 2011-07-21 22:17:23.000000000 -0400
3042+++ linux-3.0.4/arch/sparc/include/asm/elf_32.h 2011-08-23 21:47:55.000000000 -0400 3042+++ linux-3.0.7/arch/sparc/include/asm/elf_32.h 2011-08-23 21:47:55.000000000 -0400
3043@@ -114,6 +114,13 @@ typedef struct { 3043@@ -114,6 +114,13 @@ typedef struct {
3044 3044
3045 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE) 3045 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE)
@@ -3054,9 +3054,9 @@ diff -urNp linux-3.0.4/arch/sparc/include/asm/elf_32.h linux-3.0.4/arch/sparc/in
3054 /* This yields a mask that user programs can use to figure out what 3054 /* This yields a mask that user programs can use to figure out what
3055 instruction set this cpu supports. This can NOT be done in userspace 3055 instruction set this cpu supports. This can NOT be done in userspace
3056 on Sparc. */ 3056 on Sparc. */
3057diff -urNp linux-3.0.4/arch/sparc/include/asm/elf_64.h linux-3.0.4/arch/sparc/include/asm/elf_64.h 3057diff -urNp linux-3.0.7/arch/sparc/include/asm/elf_64.h linux-3.0.7/arch/sparc/include/asm/elf_64.h
3058--- linux-3.0.4/arch/sparc/include/asm/elf_64.h 2011-09-02 18:11:21.000000000 -0400 3058--- linux-3.0.7/arch/sparc/include/asm/elf_64.h 2011-09-02 18:11:21.000000000 -0400
3059+++ linux-3.0.4/arch/sparc/include/asm/elf_64.h 2011-08-23 21:47:55.000000000 -0400 3059+++ linux-3.0.7/arch/sparc/include/asm/elf_64.h 2011-08-23 21:47:55.000000000 -0400
3060@@ -180,6 +180,13 @@ typedef struct { 3060@@ -180,6 +180,13 @@ typedef struct {
3061 #define ELF_ET_DYN_BASE 0x0000010000000000UL 3061 #define ELF_ET_DYN_BASE 0x0000010000000000UL
3062 #define COMPAT_ELF_ET_DYN_BASE 0x0000000070000000UL 3062 #define COMPAT_ELF_ET_DYN_BASE 0x0000000070000000UL
@@ -3071,9 +3071,9 @@ diff -urNp linux-3.0.4/arch/sparc/include/asm/elf_64.h linux-3.0.4/arch/sparc/in
3071 extern unsigned long sparc64_elf_hwcap; 3071 extern unsigned long sparc64_elf_hwcap;
3072 #define ELF_HWCAP sparc64_elf_hwcap 3072 #define ELF_HWCAP sparc64_elf_hwcap
3073 3073
3074diff -urNp linux-3.0.4/arch/sparc/include/asm/pgtable_32.h linux-3.0.4/arch/sparc/include/asm/pgtable_32.h 3074diff -urNp linux-3.0.7/arch/sparc/include/asm/pgtable_32.h linux-3.0.7/arch/sparc/include/asm/pgtable_32.h
3075--- linux-3.0.4/arch/sparc/include/asm/pgtable_32.h 2011-07-21 22:17:23.000000000 -0400 3075--- linux-3.0.7/arch/sparc/include/asm/pgtable_32.h 2011-07-21 22:17:23.000000000 -0400
3076+++ linux-3.0.4/arch/sparc/include/asm/pgtable_32.h 2011-08-23 21:47:55.000000000 -0400 3076+++ linux-3.0.7/arch/sparc/include/asm/pgtable_32.h 2011-08-23 21:47:55.000000000 -0400
3077@@ -45,6 +45,13 @@ BTFIXUPDEF_SIMM13(user_ptrs_per_pgd) 3077@@ -45,6 +45,13 @@ BTFIXUPDEF_SIMM13(user_ptrs_per_pgd)
3078 BTFIXUPDEF_INT(page_none) 3078 BTFIXUPDEF_INT(page_none)
3079 BTFIXUPDEF_INT(page_copy) 3079 BTFIXUPDEF_INT(page_copy)
@@ -3105,9 +3105,9 @@ diff -urNp linux-3.0.4/arch/sparc/include/asm/pgtable_32.h linux-3.0.4/arch/spar
3105 extern unsigned long page_kernel; 3105 extern unsigned long page_kernel;
3106 3106
3107 #ifdef MODULE 3107 #ifdef MODULE
3108diff -urNp linux-3.0.4/arch/sparc/include/asm/pgtsrmmu.h linux-3.0.4/arch/sparc/include/asm/pgtsrmmu.h 3108diff -urNp linux-3.0.7/arch/sparc/include/asm/pgtsrmmu.h linux-3.0.7/arch/sparc/include/asm/pgtsrmmu.h
3109--- linux-3.0.4/arch/sparc/include/asm/pgtsrmmu.h 2011-07-21 22:17:23.000000000 -0400 3109--- linux-3.0.7/arch/sparc/include/asm/pgtsrmmu.h 2011-07-21 22:17:23.000000000 -0400
3110+++ linux-3.0.4/arch/sparc/include/asm/pgtsrmmu.h 2011-08-23 21:47:55.000000000 -0400 3110+++ linux-3.0.7/arch/sparc/include/asm/pgtsrmmu.h 2011-08-23 21:47:55.000000000 -0400
3111@@ -115,6 +115,13 @@ 3111@@ -115,6 +115,13 @@
3112 SRMMU_EXEC | SRMMU_REF) 3112 SRMMU_EXEC | SRMMU_REF)
3113 #define SRMMU_PAGE_RDONLY __pgprot(SRMMU_VALID | SRMMU_CACHE | \ 3113 #define SRMMU_PAGE_RDONLY __pgprot(SRMMU_VALID | SRMMU_CACHE | \
@@ -3122,9 +3122,9 @@ diff -urNp linux-3.0.4/arch/sparc/include/asm/pgtsrmmu.h linux-3.0.4/arch/sparc/
3122 #define SRMMU_PAGE_KERNEL __pgprot(SRMMU_VALID | SRMMU_CACHE | SRMMU_PRIV | \ 3122 #define SRMMU_PAGE_KERNEL __pgprot(SRMMU_VALID | SRMMU_CACHE | SRMMU_PRIV | \
3123 SRMMU_DIRTY | SRMMU_REF) 3123 SRMMU_DIRTY | SRMMU_REF)
3124 3124
3125diff -urNp linux-3.0.4/arch/sparc/include/asm/spinlock_64.h linux-3.0.4/arch/sparc/include/asm/spinlock_64.h 3125diff -urNp linux-3.0.7/arch/sparc/include/asm/spinlock_64.h linux-3.0.7/arch/sparc/include/asm/spinlock_64.h
3126--- linux-3.0.4/arch/sparc/include/asm/spinlock_64.h 2011-07-21 22:17:23.000000000 -0400 3126--- linux-3.0.7/arch/sparc/include/asm/spinlock_64.h 2011-10-16 21:54:53.000000000 -0400
3127+++ linux-3.0.4/arch/sparc/include/asm/spinlock_64.h 2011-08-23 21:47:55.000000000 -0400 3127+++ linux-3.0.7/arch/sparc/include/asm/spinlock_64.h 2011-10-16 21:55:27.000000000 -0400
3128@@ -92,14 +92,19 @@ static inline void arch_spin_lock_flags( 3128@@ -92,14 +92,19 @@ static inline void arch_spin_lock_flags(
3129 3129
3130 /* Multi-reader locks, these are much saner than the 32-bit Sparc ones... */ 3130 /* Multi-reader locks, these are much saner than the 32-bit Sparc ones... */
@@ -3222,9 +3222,9 @@ diff -urNp linux-3.0.4/arch/sparc/include/asm/spinlock_64.h linux-3.0.4/arch/spa
3222 { 3222 {
3223 unsigned long mask, tmp1, tmp2, result; 3223 unsigned long mask, tmp1, tmp2, result;
3224 3224
3225diff -urNp linux-3.0.4/arch/sparc/include/asm/thread_info_32.h linux-3.0.4/arch/sparc/include/asm/thread_info_32.h 3225diff -urNp linux-3.0.7/arch/sparc/include/asm/thread_info_32.h linux-3.0.7/arch/sparc/include/asm/thread_info_32.h
3226--- linux-3.0.4/arch/sparc/include/asm/thread_info_32.h 2011-07-21 22:17:23.000000000 -0400 3226--- linux-3.0.7/arch/sparc/include/asm/thread_info_32.h 2011-07-21 22:17:23.000000000 -0400
3227+++ linux-3.0.4/arch/sparc/include/asm/thread_info_32.h 2011-08-23 21:47:55.000000000 -0400 3227+++ linux-3.0.7/arch/sparc/include/asm/thread_info_32.h 2011-08-23 21:47:55.000000000 -0400
3228@@ -50,6 +50,8 @@ struct thread_info { 3228@@ -50,6 +50,8 @@ struct thread_info {
3229 unsigned long w_saved; 3229 unsigned long w_saved;
3230 3230
@@ -3234,9 +3234,9 @@ diff -urNp linux-3.0.4/arch/sparc/include/asm/thread_info_32.h linux-3.0.4/arch/
3234 }; 3234 };
3235 3235
3236 /* 3236 /*
3237diff -urNp linux-3.0.4/arch/sparc/include/asm/thread_info_64.h linux-3.0.4/arch/sparc/include/asm/thread_info_64.h 3237diff -urNp linux-3.0.7/arch/sparc/include/asm/thread_info_64.h linux-3.0.7/arch/sparc/include/asm/thread_info_64.h
3238--- linux-3.0.4/arch/sparc/include/asm/thread_info_64.h 2011-07-21 22:17:23.000000000 -0400 3238--- linux-3.0.7/arch/sparc/include/asm/thread_info_64.h 2011-07-21 22:17:23.000000000 -0400
3239+++ linux-3.0.4/arch/sparc/include/asm/thread_info_64.h 2011-08-23 21:47:55.000000000 -0400 3239+++ linux-3.0.7/arch/sparc/include/asm/thread_info_64.h 2011-08-23 21:47:55.000000000 -0400
3240@@ -63,6 +63,8 @@ struct thread_info { 3240@@ -63,6 +63,8 @@ struct thread_info {
3241 struct pt_regs *kern_una_regs; 3241 struct pt_regs *kern_una_regs;
3242 unsigned int kern_una_insn; 3242 unsigned int kern_una_insn;
@@ -3246,9 +3246,9 @@ diff -urNp linux-3.0.4/arch/sparc/include/asm/thread_info_64.h linux-3.0.4/arch/
3246 unsigned long fpregs[0] __attribute__ ((aligned(64))); 3246 unsigned long fpregs[0] __attribute__ ((aligned(64)));
3247 }; 3247 };
3248 3248
3249diff -urNp linux-3.0.4/arch/sparc/include/asm/uaccess_32.h linux-3.0.4/arch/sparc/include/asm/uaccess_32.h 3249diff -urNp linux-3.0.7/arch/sparc/include/asm/uaccess_32.h linux-3.0.7/arch/sparc/include/asm/uaccess_32.h
3250--- linux-3.0.4/arch/sparc/include/asm/uaccess_32.h 2011-07-21 22:17:23.000000000 -0400 3250--- linux-3.0.7/arch/sparc/include/asm/uaccess_32.h 2011-07-21 22:17:23.000000000 -0400
3251+++ linux-3.0.4/arch/sparc/include/asm/uaccess_32.h 2011-08-23 21:47:55.000000000 -0400 3251+++ linux-3.0.7/arch/sparc/include/asm/uaccess_32.h 2011-08-23 21:47:55.000000000 -0400
3252@@ -249,27 +249,46 @@ extern unsigned long __copy_user(void __ 3252@@ -249,27 +249,46 @@ extern unsigned long __copy_user(void __
3253 3253
3254 static inline unsigned long copy_to_user(void __user *to, const void *from, unsigned long n) 3254 static inline unsigned long copy_to_user(void __user *to, const void *from, unsigned long n)
@@ -3300,9 +3300,9 @@ diff -urNp linux-3.0.4/arch/sparc/include/asm/uaccess_32.h linux-3.0.4/arch/spar
3300 return __copy_user((__force void __user *) to, from, n); 3300 return __copy_user((__force void __user *) to, from, n);
3301 } 3301 }
3302 3302
3303diff -urNp linux-3.0.4/arch/sparc/include/asm/uaccess_64.h linux-3.0.4/arch/sparc/include/asm/uaccess_64.h 3303diff -urNp linux-3.0.7/arch/sparc/include/asm/uaccess_64.h linux-3.0.7/arch/sparc/include/asm/uaccess_64.h
3304--- linux-3.0.4/arch/sparc/include/asm/uaccess_64.h 2011-07-21 22:17:23.000000000 -0400 3304--- linux-3.0.7/arch/sparc/include/asm/uaccess_64.h 2011-07-21 22:17:23.000000000 -0400
3305+++ linux-3.0.4/arch/sparc/include/asm/uaccess_64.h 2011-08-23 21:47:55.000000000 -0400 3305+++ linux-3.0.7/arch/sparc/include/asm/uaccess_64.h 2011-08-23 21:47:55.000000000 -0400
3306@@ -10,6 +10,7 @@ 3306@@ -10,6 +10,7 @@
3307 #include <linux/compiler.h> 3307 #include <linux/compiler.h>
3308 #include <linux/string.h> 3308 #include <linux/string.h>
@@ -3345,9 +3345,9 @@ diff -urNp linux-3.0.4/arch/sparc/include/asm/uaccess_64.h linux-3.0.4/arch/spar
3345 if (unlikely(ret)) 3345 if (unlikely(ret))
3346 ret = copy_to_user_fixup(to, from, size); 3346 ret = copy_to_user_fixup(to, from, size);
3347 return ret; 3347 return ret;
3348diff -urNp linux-3.0.4/arch/sparc/include/asm/uaccess.h linux-3.0.4/arch/sparc/include/asm/uaccess.h 3348diff -urNp linux-3.0.7/arch/sparc/include/asm/uaccess.h linux-3.0.7/arch/sparc/include/asm/uaccess.h
3349--- linux-3.0.4/arch/sparc/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400 3349--- linux-3.0.7/arch/sparc/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400
3350+++ linux-3.0.4/arch/sparc/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400 3350+++ linux-3.0.7/arch/sparc/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400
3351@@ -1,5 +1,13 @@ 3351@@ -1,5 +1,13 @@
3352 #ifndef ___ASM_SPARC_UACCESS_H 3352 #ifndef ___ASM_SPARC_UACCESS_H
3353 #define ___ASM_SPARC_UACCESS_H 3353 #define ___ASM_SPARC_UACCESS_H
@@ -3362,9 +3362,9 @@ diff -urNp linux-3.0.4/arch/sparc/include/asm/uaccess.h linux-3.0.4/arch/sparc/i
3362 #if defined(__sparc__) && defined(__arch64__) 3362 #if defined(__sparc__) && defined(__arch64__)
3363 #include <asm/uaccess_64.h> 3363 #include <asm/uaccess_64.h>
3364 #else 3364 #else
3365diff -urNp linux-3.0.4/arch/sparc/kernel/Makefile linux-3.0.4/arch/sparc/kernel/Makefile 3365diff -urNp linux-3.0.7/arch/sparc/kernel/Makefile linux-3.0.7/arch/sparc/kernel/Makefile
3366--- linux-3.0.4/arch/sparc/kernel/Makefile 2011-07-21 22:17:23.000000000 -0400 3366--- linux-3.0.7/arch/sparc/kernel/Makefile 2011-10-16 21:54:53.000000000 -0400
3367+++ linux-3.0.4/arch/sparc/kernel/Makefile 2011-08-23 21:47:55.000000000 -0400 3367+++ linux-3.0.7/arch/sparc/kernel/Makefile 2011-10-16 21:55:27.000000000 -0400
3368@@ -3,7 +3,7 @@ 3368@@ -3,7 +3,7 @@
3369 # 3369 #
3370 3370
@@ -3374,9 +3374,9 @@ diff -urNp linux-3.0.4/arch/sparc/kernel/Makefile linux-3.0.4/arch/sparc/kernel/
3374 3374
3375 extra-y := head_$(BITS).o 3375 extra-y := head_$(BITS).o
3376 extra-y += init_task.o 3376 extra-y += init_task.o
3377diff -urNp linux-3.0.4/arch/sparc/kernel/process_32.c linux-3.0.4/arch/sparc/kernel/process_32.c 3377diff -urNp linux-3.0.7/arch/sparc/kernel/process_32.c linux-3.0.7/arch/sparc/kernel/process_32.c
3378--- linux-3.0.4/arch/sparc/kernel/process_32.c 2011-07-21 22:17:23.000000000 -0400 3378--- linux-3.0.7/arch/sparc/kernel/process_32.c 2011-07-21 22:17:23.000000000 -0400
3379+++ linux-3.0.4/arch/sparc/kernel/process_32.c 2011-08-23 21:48:14.000000000 -0400 3379+++ linux-3.0.7/arch/sparc/kernel/process_32.c 2011-08-23 21:48:14.000000000 -0400
3380@@ -204,7 +204,7 @@ void __show_backtrace(unsigned long fp) 3380@@ -204,7 +204,7 @@ void __show_backtrace(unsigned long fp)
3381 rw->ins[4], rw->ins[5], 3381 rw->ins[4], rw->ins[5],
3382 rw->ins[6], 3382 rw->ins[6],
@@ -3412,9 +3412,9 @@ diff -urNp linux-3.0.4/arch/sparc/kernel/process_32.c linux-3.0.4/arch/sparc/ker
3412 fp = rw->ins[6]; 3412 fp = rw->ins[6];
3413 } while (++count < 16); 3413 } while (++count < 16);
3414 printk("\n"); 3414 printk("\n");
3415diff -urNp linux-3.0.4/arch/sparc/kernel/process_64.c linux-3.0.4/arch/sparc/kernel/process_64.c 3415diff -urNp linux-3.0.7/arch/sparc/kernel/process_64.c linux-3.0.7/arch/sparc/kernel/process_64.c
3416--- linux-3.0.4/arch/sparc/kernel/process_64.c 2011-07-21 22:17:23.000000000 -0400 3416--- linux-3.0.7/arch/sparc/kernel/process_64.c 2011-07-21 22:17:23.000000000 -0400
3417+++ linux-3.0.4/arch/sparc/kernel/process_64.c 2011-08-23 21:48:14.000000000 -0400 3417+++ linux-3.0.7/arch/sparc/kernel/process_64.c 2011-08-23 21:48:14.000000000 -0400
3418@@ -180,14 +180,14 @@ static void show_regwindow(struct pt_reg 3418@@ -180,14 +180,14 @@ static void show_regwindow(struct pt_reg
3419 printk("i4: %016lx i5: %016lx i6: %016lx i7: %016lx\n", 3419 printk("i4: %016lx i5: %016lx i6: %016lx i7: %016lx\n",
3420 rwk->ins[4], rwk->ins[5], rwk->ins[6], rwk->ins[7]); 3420 rwk->ins[4], rwk->ins[5], rwk->ins[6], rwk->ins[7]);
@@ -3450,9 +3450,9 @@ diff -urNp linux-3.0.4/arch/sparc/kernel/process_64.c linux-3.0.4/arch/sparc/ker
3450 (void *) gp->tpc, 3450 (void *) gp->tpc,
3451 (void *) gp->o7, 3451 (void *) gp->o7,
3452 (void *) gp->i7, 3452 (void *) gp->i7,
3453diff -urNp linux-3.0.4/arch/sparc/kernel/sys_sparc_32.c linux-3.0.4/arch/sparc/kernel/sys_sparc_32.c 3453diff -urNp linux-3.0.7/arch/sparc/kernel/sys_sparc_32.c linux-3.0.7/arch/sparc/kernel/sys_sparc_32.c
3454--- linux-3.0.4/arch/sparc/kernel/sys_sparc_32.c 2011-07-21 22:17:23.000000000 -0400 3454--- linux-3.0.7/arch/sparc/kernel/sys_sparc_32.c 2011-07-21 22:17:23.000000000 -0400
3455+++ linux-3.0.4/arch/sparc/kernel/sys_sparc_32.c 2011-08-23 21:47:55.000000000 -0400 3455+++ linux-3.0.7/arch/sparc/kernel/sys_sparc_32.c 2011-08-23 21:47:55.000000000 -0400
3456@@ -56,7 +56,7 @@ unsigned long arch_get_unmapped_area(str 3456@@ -56,7 +56,7 @@ unsigned long arch_get_unmapped_area(str
3457 if (ARCH_SUN4C && len > 0x20000000) 3457 if (ARCH_SUN4C && len > 0x20000000)
3458 return -ENOMEM; 3458 return -ENOMEM;
@@ -3471,9 +3471,9 @@ diff -urNp linux-3.0.4/arch/sparc/kernel/sys_sparc_32.c linux-3.0.4/arch/sparc/k
3471 return addr; 3471 return addr;
3472 addr = vmm->vm_end; 3472 addr = vmm->vm_end;
3473 if (flags & MAP_SHARED) 3473 if (flags & MAP_SHARED)
3474diff -urNp linux-3.0.4/arch/sparc/kernel/sys_sparc_64.c linux-3.0.4/arch/sparc/kernel/sys_sparc_64.c 3474diff -urNp linux-3.0.7/arch/sparc/kernel/sys_sparc_64.c linux-3.0.7/arch/sparc/kernel/sys_sparc_64.c
3475--- linux-3.0.4/arch/sparc/kernel/sys_sparc_64.c 2011-07-21 22:17:23.000000000 -0400 3475--- linux-3.0.7/arch/sparc/kernel/sys_sparc_64.c 2011-07-21 22:17:23.000000000 -0400
3476+++ linux-3.0.4/arch/sparc/kernel/sys_sparc_64.c 2011-08-23 21:47:55.000000000 -0400 3476+++ linux-3.0.7/arch/sparc/kernel/sys_sparc_64.c 2011-08-23 21:47:55.000000000 -0400
3477@@ -124,7 +124,7 @@ unsigned long arch_get_unmapped_area(str 3477@@ -124,7 +124,7 @@ unsigned long arch_get_unmapped_area(str
3478 /* We do not accept a shared mapping if it would violate 3478 /* We do not accept a shared mapping if it would violate
3479 * cache aliasing constraints. 3479 * cache aliasing constraints.
@@ -3621,9 +3621,9 @@ diff -urNp linux-3.0.4/arch/sparc/kernel/sys_sparc_64.c linux-3.0.4/arch/sparc/k
3621 mm->get_unmapped_area = arch_get_unmapped_area_topdown; 3621 mm->get_unmapped_area = arch_get_unmapped_area_topdown;
3622 mm->unmap_area = arch_unmap_area_topdown; 3622 mm->unmap_area = arch_unmap_area_topdown;
3623 } 3623 }
3624diff -urNp linux-3.0.4/arch/sparc/kernel/traps_32.c linux-3.0.4/arch/sparc/kernel/traps_32.c 3624diff -urNp linux-3.0.7/arch/sparc/kernel/traps_32.c linux-3.0.7/arch/sparc/kernel/traps_32.c
3625--- linux-3.0.4/arch/sparc/kernel/traps_32.c 2011-07-21 22:17:23.000000000 -0400 3625--- linux-3.0.7/arch/sparc/kernel/traps_32.c 2011-07-21 22:17:23.000000000 -0400
3626+++ linux-3.0.4/arch/sparc/kernel/traps_32.c 2011-08-23 21:48:14.000000000 -0400 3626+++ linux-3.0.7/arch/sparc/kernel/traps_32.c 2011-08-23 21:48:14.000000000 -0400
3627@@ -44,6 +44,8 @@ static void instruction_dump(unsigned lo 3627@@ -44,6 +44,8 @@ static void instruction_dump(unsigned lo
3628 #define __SAVE __asm__ __volatile__("save %sp, -0x40, %sp\n\t") 3628 #define __SAVE __asm__ __volatile__("save %sp, -0x40, %sp\n\t")
3629 #define __RESTORE __asm__ __volatile__("restore %g0, %g0, %g0\n\t") 3629 #define __RESTORE __asm__ __volatile__("restore %g0, %g0, %g0\n\t")
@@ -3653,9 +3653,9 @@ diff -urNp linux-3.0.4/arch/sparc/kernel/traps_32.c linux-3.0.4/arch/sparc/kerne
3653 do_exit(SIGSEGV); 3653 do_exit(SIGSEGV);
3654 } 3654 }
3655 3655
3656diff -urNp linux-3.0.4/arch/sparc/kernel/traps_64.c linux-3.0.4/arch/sparc/kernel/traps_64.c 3656diff -urNp linux-3.0.7/arch/sparc/kernel/traps_64.c linux-3.0.7/arch/sparc/kernel/traps_64.c
3657--- linux-3.0.4/arch/sparc/kernel/traps_64.c 2011-07-21 22:17:23.000000000 -0400 3657--- linux-3.0.7/arch/sparc/kernel/traps_64.c 2011-07-21 22:17:23.000000000 -0400
3658+++ linux-3.0.4/arch/sparc/kernel/traps_64.c 2011-08-23 21:48:14.000000000 -0400 3658+++ linux-3.0.7/arch/sparc/kernel/traps_64.c 2011-08-23 21:48:14.000000000 -0400
3659@@ -75,7 +75,7 @@ static void dump_tl1_traplog(struct tl1_ 3659@@ -75,7 +75,7 @@ static void dump_tl1_traplog(struct tl1_
3660 i + 1, 3660 i + 1,
3661 p->trapstack[i].tstate, p->trapstack[i].tpc, 3661 p->trapstack[i].tstate, p->trapstack[i].tpc,
@@ -3793,9 +3793,9 @@ diff -urNp linux-3.0.4/arch/sparc/kernel/traps_64.c linux-3.0.4/arch/sparc/kerne
3793 do_exit(SIGSEGV); 3793 do_exit(SIGSEGV);
3794 } 3794 }
3795 EXPORT_SYMBOL(die_if_kernel); 3795 EXPORT_SYMBOL(die_if_kernel);
3796diff -urNp linux-3.0.4/arch/sparc/kernel/unaligned_64.c linux-3.0.4/arch/sparc/kernel/unaligned_64.c 3796diff -urNp linux-3.0.7/arch/sparc/kernel/unaligned_64.c linux-3.0.7/arch/sparc/kernel/unaligned_64.c
3797--- linux-3.0.4/arch/sparc/kernel/unaligned_64.c 2011-09-02 18:11:21.000000000 -0400 3797--- linux-3.0.7/arch/sparc/kernel/unaligned_64.c 2011-09-02 18:11:21.000000000 -0400
3798+++ linux-3.0.4/arch/sparc/kernel/unaligned_64.c 2011-08-23 21:48:14.000000000 -0400 3798+++ linux-3.0.7/arch/sparc/kernel/unaligned_64.c 2011-08-23 21:48:14.000000000 -0400
3799@@ -279,7 +279,7 @@ static void log_unaligned(struct pt_regs 3799@@ -279,7 +279,7 @@ static void log_unaligned(struct pt_regs
3800 static DEFINE_RATELIMIT_STATE(ratelimit, 5 * HZ, 5); 3800 static DEFINE_RATELIMIT_STATE(ratelimit, 5 * HZ, 5);
3801 3801
@@ -3805,9 +3805,9 @@ diff -urNp linux-3.0.4/arch/sparc/kernel/unaligned_64.c linux-3.0.4/arch/sparc/k
3805 regs->tpc, (void *) regs->tpc); 3805 regs->tpc, (void *) regs->tpc);
3806 } 3806 }
3807 } 3807 }
3808diff -urNp linux-3.0.4/arch/sparc/lib/atomic_64.S linux-3.0.4/arch/sparc/lib/atomic_64.S 3808diff -urNp linux-3.0.7/arch/sparc/lib/atomic_64.S linux-3.0.7/arch/sparc/lib/atomic_64.S
3809--- linux-3.0.4/arch/sparc/lib/atomic_64.S 2011-07-21 22:17:23.000000000 -0400 3809--- linux-3.0.7/arch/sparc/lib/atomic_64.S 2011-07-21 22:17:23.000000000 -0400
3810+++ linux-3.0.4/arch/sparc/lib/atomic_64.S 2011-08-23 21:47:55.000000000 -0400 3810+++ linux-3.0.7/arch/sparc/lib/atomic_64.S 2011-08-23 21:47:55.000000000 -0400
3811@@ -18,7 +18,12 @@ 3811@@ -18,7 +18,12 @@
3812 atomic_add: /* %o0 = increment, %o1 = atomic_ptr */ 3812 atomic_add: /* %o0 = increment, %o1 = atomic_ptr */
3813 BACKOFF_SETUP(%o2) 3813 BACKOFF_SETUP(%o2)
@@ -4042,9 +4042,9 @@ diff -urNp linux-3.0.4/arch/sparc/lib/atomic_64.S linux-3.0.4/arch/sparc/lib/ato
4042 casx [%o1], %g1, %g7 4042 casx [%o1], %g1, %g7
4043 cmp %g1, %g7 4043 cmp %g1, %g7
4044 bne,pn %xcc, BACKOFF_LABEL(2f, 1b) 4044 bne,pn %xcc, BACKOFF_LABEL(2f, 1b)
4045diff -urNp linux-3.0.4/arch/sparc/lib/ksyms.c linux-3.0.4/arch/sparc/lib/ksyms.c 4045diff -urNp linux-3.0.7/arch/sparc/lib/ksyms.c linux-3.0.7/arch/sparc/lib/ksyms.c
4046--- linux-3.0.4/arch/sparc/lib/ksyms.c 2011-07-21 22:17:23.000000000 -0400 4046--- linux-3.0.7/arch/sparc/lib/ksyms.c 2011-07-21 22:17:23.000000000 -0400
4047+++ linux-3.0.4/arch/sparc/lib/ksyms.c 2011-08-23 21:48:14.000000000 -0400 4047+++ linux-3.0.7/arch/sparc/lib/ksyms.c 2011-08-23 21:48:14.000000000 -0400
4048@@ -142,12 +142,18 @@ EXPORT_SYMBOL(__downgrade_write); 4048@@ -142,12 +142,18 @@ EXPORT_SYMBOL(__downgrade_write);
4049 4049
4050 /* Atomic counter implementation. */ 4050 /* Atomic counter implementation. */
@@ -4064,9 +4064,9 @@ diff -urNp linux-3.0.4/arch/sparc/lib/ksyms.c linux-3.0.4/arch/sparc/lib/ksyms.c
4064 EXPORT_SYMBOL(atomic64_sub_ret); 4064 EXPORT_SYMBOL(atomic64_sub_ret);
4065 4065
4066 /* Atomic bit operations. */ 4066 /* Atomic bit operations. */
4067diff -urNp linux-3.0.4/arch/sparc/lib/Makefile linux-3.0.4/arch/sparc/lib/Makefile 4067diff -urNp linux-3.0.7/arch/sparc/lib/Makefile linux-3.0.7/arch/sparc/lib/Makefile
4068--- linux-3.0.4/arch/sparc/lib/Makefile 2011-09-02 18:11:21.000000000 -0400 4068--- linux-3.0.7/arch/sparc/lib/Makefile 2011-09-02 18:11:21.000000000 -0400
4069+++ linux-3.0.4/arch/sparc/lib/Makefile 2011-08-23 21:47:55.000000000 -0400 4069+++ linux-3.0.7/arch/sparc/lib/Makefile 2011-08-23 21:47:55.000000000 -0400
4070@@ -2,7 +2,7 @@ 4070@@ -2,7 +2,7 @@
4071 # 4071 #
4072 4072
@@ -4076,9 +4076,9 @@ diff -urNp linux-3.0.4/arch/sparc/lib/Makefile linux-3.0.4/arch/sparc/lib/Makefi
4076 4076
4077 lib-$(CONFIG_SPARC32) += mul.o rem.o sdiv.o udiv.o umul.o urem.o ashrdi3.o 4077 lib-$(CONFIG_SPARC32) += mul.o rem.o sdiv.o udiv.o umul.o urem.o ashrdi3.o
4078 lib-$(CONFIG_SPARC32) += memcpy.o memset.o 4078 lib-$(CONFIG_SPARC32) += memcpy.o memset.o
4079diff -urNp linux-3.0.4/arch/sparc/Makefile linux-3.0.4/arch/sparc/Makefile 4079diff -urNp linux-3.0.7/arch/sparc/Makefile linux-3.0.7/arch/sparc/Makefile
4080--- linux-3.0.4/arch/sparc/Makefile 2011-07-21 22:17:23.000000000 -0400 4080--- linux-3.0.7/arch/sparc/Makefile 2011-07-21 22:17:23.000000000 -0400
4081+++ linux-3.0.4/arch/sparc/Makefile 2011-08-23 21:48:14.000000000 -0400 4081+++ linux-3.0.7/arch/sparc/Makefile 2011-08-23 21:48:14.000000000 -0400
4082@@ -75,7 +75,7 @@ drivers-$(CONFIG_OPROFILE) += arch/sparc 4082@@ -75,7 +75,7 @@ drivers-$(CONFIG_OPROFILE) += arch/sparc
4083 # Export what is needed by arch/sparc/boot/Makefile 4083 # Export what is needed by arch/sparc/boot/Makefile
4084 export VMLINUX_INIT VMLINUX_MAIN 4084 export VMLINUX_INIT VMLINUX_MAIN
@@ -4088,9 +4088,9 @@ diff -urNp linux-3.0.4/arch/sparc/Makefile linux-3.0.4/arch/sparc/Makefile
4088 VMLINUX_MAIN += $(patsubst %/, %/lib.a, $(libs-y)) $(libs-y) 4088 VMLINUX_MAIN += $(patsubst %/, %/lib.a, $(libs-y)) $(libs-y)
4089 VMLINUX_MAIN += $(drivers-y) $(net-y) 4089 VMLINUX_MAIN += $(drivers-y) $(net-y)
4090 4090
4091diff -urNp linux-3.0.4/arch/sparc/mm/fault_32.c linux-3.0.4/arch/sparc/mm/fault_32.c 4091diff -urNp linux-3.0.7/arch/sparc/mm/fault_32.c linux-3.0.7/arch/sparc/mm/fault_32.c
4092--- linux-3.0.4/arch/sparc/mm/fault_32.c 2011-07-21 22:17:23.000000000 -0400 4092--- linux-3.0.7/arch/sparc/mm/fault_32.c 2011-07-21 22:17:23.000000000 -0400
4093+++ linux-3.0.4/arch/sparc/mm/fault_32.c 2011-08-23 21:47:55.000000000 -0400 4093+++ linux-3.0.7/arch/sparc/mm/fault_32.c 2011-08-23 21:47:55.000000000 -0400
4094@@ -22,6 +22,9 @@ 4094@@ -22,6 +22,9 @@
4095 #include <linux/interrupt.h> 4095 #include <linux/interrupt.h>
4096 #include <linux/module.h> 4096 #include <linux/module.h>
@@ -4395,9 +4395,9 @@ diff -urNp linux-3.0.4/arch/sparc/mm/fault_32.c linux-3.0.4/arch/sparc/mm/fault_
4395 /* Allow reads even for write-only mappings */ 4395 /* Allow reads even for write-only mappings */
4396 if(!(vma->vm_flags & (VM_READ | VM_EXEC))) 4396 if(!(vma->vm_flags & (VM_READ | VM_EXEC)))
4397 goto bad_area; 4397 goto bad_area;
4398diff -urNp linux-3.0.4/arch/sparc/mm/fault_64.c linux-3.0.4/arch/sparc/mm/fault_64.c 4398diff -urNp linux-3.0.7/arch/sparc/mm/fault_64.c linux-3.0.7/arch/sparc/mm/fault_64.c
4399--- linux-3.0.4/arch/sparc/mm/fault_64.c 2011-07-21 22:17:23.000000000 -0400 4399--- linux-3.0.7/arch/sparc/mm/fault_64.c 2011-07-21 22:17:23.000000000 -0400
4400+++ linux-3.0.4/arch/sparc/mm/fault_64.c 2011-08-23 21:48:14.000000000 -0400 4400+++ linux-3.0.7/arch/sparc/mm/fault_64.c 2011-08-23 21:48:14.000000000 -0400
4401@@ -21,6 +21,9 @@ 4401@@ -21,6 +21,9 @@
4402 #include <linux/kprobes.h> 4402 #include <linux/kprobes.h>
4403 #include <linux/kdebug.h> 4403 #include <linux/kdebug.h>
@@ -4905,9 +4905,9 @@ diff -urNp linux-3.0.4/arch/sparc/mm/fault_64.c linux-3.0.4/arch/sparc/mm/fault_
4905 /* Pure DTLB misses do not tell us whether the fault causing 4905 /* Pure DTLB misses do not tell us whether the fault causing
4906 * load/store/atomic was a write or not, it only says that there 4906 * load/store/atomic was a write or not, it only says that there
4907 * was no match. So in such a case we (carefully) read the 4907 * was no match. So in such a case we (carefully) read the
4908diff -urNp linux-3.0.4/arch/sparc/mm/hugetlbpage.c linux-3.0.4/arch/sparc/mm/hugetlbpage.c 4908diff -urNp linux-3.0.7/arch/sparc/mm/hugetlbpage.c linux-3.0.7/arch/sparc/mm/hugetlbpage.c
4909--- linux-3.0.4/arch/sparc/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000 -0400 4909--- linux-3.0.7/arch/sparc/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000 -0400
4910+++ linux-3.0.4/arch/sparc/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000 -0400 4910+++ linux-3.0.7/arch/sparc/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000 -0400
4911@@ -68,7 +68,7 @@ full_search: 4911@@ -68,7 +68,7 @@ full_search:
4912 } 4912 }
4913 return -ENOMEM; 4913 return -ENOMEM;
@@ -4967,9 +4967,9 @@ diff -urNp linux-3.0.4/arch/sparc/mm/hugetlbpage.c linux-3.0.4/arch/sparc/mm/hug
4967 return addr; 4967 return addr;
4968 } 4968 }
4969 if (mm->get_unmapped_area == arch_get_unmapped_area) 4969 if (mm->get_unmapped_area == arch_get_unmapped_area)
4970diff -urNp linux-3.0.4/arch/sparc/mm/init_32.c linux-3.0.4/arch/sparc/mm/init_32.c 4970diff -urNp linux-3.0.7/arch/sparc/mm/init_32.c linux-3.0.7/arch/sparc/mm/init_32.c
4971--- linux-3.0.4/arch/sparc/mm/init_32.c 2011-07-21 22:17:23.000000000 -0400 4971--- linux-3.0.7/arch/sparc/mm/init_32.c 2011-07-21 22:17:23.000000000 -0400
4972+++ linux-3.0.4/arch/sparc/mm/init_32.c 2011-08-23 21:47:55.000000000 -0400 4972+++ linux-3.0.7/arch/sparc/mm/init_32.c 2011-08-23 21:47:55.000000000 -0400
4973@@ -316,6 +316,9 @@ extern void device_scan(void); 4973@@ -316,6 +316,9 @@ extern void device_scan(void);
4974 pgprot_t PAGE_SHARED __read_mostly; 4974 pgprot_t PAGE_SHARED __read_mostly;
4975 EXPORT_SYMBOL(PAGE_SHARED); 4975 EXPORT_SYMBOL(PAGE_SHARED);
@@ -5004,9 +5004,9 @@ diff -urNp linux-3.0.4/arch/sparc/mm/init_32.c linux-3.0.4/arch/sparc/mm/init_32
5004 protection_map[12] = PAGE_READONLY; 5004 protection_map[12] = PAGE_READONLY;
5005 protection_map[13] = PAGE_READONLY; 5005 protection_map[13] = PAGE_READONLY;
5006 protection_map[14] = PAGE_SHARED; 5006 protection_map[14] = PAGE_SHARED;
5007diff -urNp linux-3.0.4/arch/sparc/mm/Makefile linux-3.0.4/arch/sparc/mm/Makefile 5007diff -urNp linux-3.0.7/arch/sparc/mm/Makefile linux-3.0.7/arch/sparc/mm/Makefile
5008--- linux-3.0.4/arch/sparc/mm/Makefile 2011-07-21 22:17:23.000000000 -0400 5008--- linux-3.0.7/arch/sparc/mm/Makefile 2011-07-21 22:17:23.000000000 -0400
5009+++ linux-3.0.4/arch/sparc/mm/Makefile 2011-08-23 21:47:55.000000000 -0400 5009+++ linux-3.0.7/arch/sparc/mm/Makefile 2011-08-23 21:47:55.000000000 -0400
5010@@ -2,7 +2,7 @@ 5010@@ -2,7 +2,7 @@
5011 # 5011 #
5012 5012
@@ -5016,9 +5016,9 @@ diff -urNp linux-3.0.4/arch/sparc/mm/Makefile linux-3.0.4/arch/sparc/mm/Makefile
5016 5016
5017 obj-$(CONFIG_SPARC64) += ultra.o tlb.o tsb.o 5017 obj-$(CONFIG_SPARC64) += ultra.o tlb.o tsb.o
5018 obj-y += fault_$(BITS).o 5018 obj-y += fault_$(BITS).o
5019diff -urNp linux-3.0.4/arch/sparc/mm/srmmu.c linux-3.0.4/arch/sparc/mm/srmmu.c 5019diff -urNp linux-3.0.7/arch/sparc/mm/srmmu.c linux-3.0.7/arch/sparc/mm/srmmu.c
5020--- linux-3.0.4/arch/sparc/mm/srmmu.c 2011-07-21 22:17:23.000000000 -0400 5020--- linux-3.0.7/arch/sparc/mm/srmmu.c 2011-07-21 22:17:23.000000000 -0400
5021+++ linux-3.0.4/arch/sparc/mm/srmmu.c 2011-08-23 21:47:55.000000000 -0400 5021+++ linux-3.0.7/arch/sparc/mm/srmmu.c 2011-08-23 21:47:55.000000000 -0400
5022@@ -2200,6 +2200,13 @@ void __init ld_mmu_srmmu(void) 5022@@ -2200,6 +2200,13 @@ void __init ld_mmu_srmmu(void)
5023 PAGE_SHARED = pgprot_val(SRMMU_PAGE_SHARED); 5023 PAGE_SHARED = pgprot_val(SRMMU_PAGE_SHARED);
5024 BTFIXUPSET_INT(page_copy, pgprot_val(SRMMU_PAGE_COPY)); 5024 BTFIXUPSET_INT(page_copy, pgprot_val(SRMMU_PAGE_COPY));
@@ -5033,9 +5033,9 @@ diff -urNp linux-3.0.4/arch/sparc/mm/srmmu.c linux-3.0.4/arch/sparc/mm/srmmu.c
5033 BTFIXUPSET_INT(page_kernel, pgprot_val(SRMMU_PAGE_KERNEL)); 5033 BTFIXUPSET_INT(page_kernel, pgprot_val(SRMMU_PAGE_KERNEL));
5034 page_kernel = pgprot_val(SRMMU_PAGE_KERNEL); 5034 page_kernel = pgprot_val(SRMMU_PAGE_KERNEL);
5035 5035
5036diff -urNp linux-3.0.4/arch/um/include/asm/kmap_types.h linux-3.0.4/arch/um/include/asm/kmap_types.h 5036diff -urNp linux-3.0.7/arch/um/include/asm/kmap_types.h linux-3.0.7/arch/um/include/asm/kmap_types.h
5037--- linux-3.0.4/arch/um/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400 5037--- linux-3.0.7/arch/um/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400
5038+++ linux-3.0.4/arch/um/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400 5038+++ linux-3.0.7/arch/um/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400
5039@@ -23,6 +23,7 @@ enum km_type { 5039@@ -23,6 +23,7 @@ enum km_type {
5040 KM_IRQ1, 5040 KM_IRQ1,
5041 KM_SOFTIRQ0, 5041 KM_SOFTIRQ0,
@@ -5044,9 +5044,9 @@ diff -urNp linux-3.0.4/arch/um/include/asm/kmap_types.h linux-3.0.4/arch/um/incl
5044 KM_TYPE_NR 5044 KM_TYPE_NR
5045 }; 5045 };
5046 5046
5047diff -urNp linux-3.0.4/arch/um/include/asm/page.h linux-3.0.4/arch/um/include/asm/page.h 5047diff -urNp linux-3.0.7/arch/um/include/asm/page.h linux-3.0.7/arch/um/include/asm/page.h
5048--- linux-3.0.4/arch/um/include/asm/page.h 2011-07-21 22:17:23.000000000 -0400 5048--- linux-3.0.7/arch/um/include/asm/page.h 2011-07-21 22:17:23.000000000 -0400
5049+++ linux-3.0.4/arch/um/include/asm/page.h 2011-08-23 21:47:55.000000000 -0400 5049+++ linux-3.0.7/arch/um/include/asm/page.h 2011-08-23 21:47:55.000000000 -0400
5050@@ -14,6 +14,9 @@ 5050@@ -14,6 +14,9 @@
5051 #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT) 5051 #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
5052 #define PAGE_MASK (~(PAGE_SIZE-1)) 5052 #define PAGE_MASK (~(PAGE_SIZE-1))
@@ -5057,9 +5057,9 @@ diff -urNp linux-3.0.4/arch/um/include/asm/page.h linux-3.0.4/arch/um/include/as
5057 #ifndef __ASSEMBLY__ 5057 #ifndef __ASSEMBLY__
5058 5058
5059 struct page; 5059 struct page;
5060diff -urNp linux-3.0.4/arch/um/kernel/process.c linux-3.0.4/arch/um/kernel/process.c 5060diff -urNp linux-3.0.7/arch/um/kernel/process.c linux-3.0.7/arch/um/kernel/process.c
5061--- linux-3.0.4/arch/um/kernel/process.c 2011-07-21 22:17:23.000000000 -0400 5061--- linux-3.0.7/arch/um/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
5062+++ linux-3.0.4/arch/um/kernel/process.c 2011-08-23 21:47:55.000000000 -0400 5062+++ linux-3.0.7/arch/um/kernel/process.c 2011-08-23 21:47:55.000000000 -0400
5063@@ -404,22 +404,6 @@ int singlestepping(void * t) 5063@@ -404,22 +404,6 @@ int singlestepping(void * t)
5064 return 2; 5064 return 2;
5065 } 5065 }
@@ -5083,9 +5083,9 @@ diff -urNp linux-3.0.4/arch/um/kernel/process.c linux-3.0.4/arch/um/kernel/proce
5083 unsigned long get_wchan(struct task_struct *p) 5083 unsigned long get_wchan(struct task_struct *p)
5084 { 5084 {
5085 unsigned long stack_page, sp, ip; 5085 unsigned long stack_page, sp, ip;
5086diff -urNp linux-3.0.4/arch/um/sys-i386/syscalls.c linux-3.0.4/arch/um/sys-i386/syscalls.c 5086diff -urNp linux-3.0.7/arch/um/sys-i386/syscalls.c linux-3.0.7/arch/um/sys-i386/syscalls.c
5087--- linux-3.0.4/arch/um/sys-i386/syscalls.c 2011-07-21 22:17:23.000000000 -0400 5087--- linux-3.0.7/arch/um/sys-i386/syscalls.c 2011-07-21 22:17:23.000000000 -0400
5088+++ linux-3.0.4/arch/um/sys-i386/syscalls.c 2011-08-23 21:47:55.000000000 -0400 5088+++ linux-3.0.7/arch/um/sys-i386/syscalls.c 2011-08-23 21:47:55.000000000 -0400
5089@@ -11,6 +11,21 @@ 5089@@ -11,6 +11,21 @@
5090 #include "asm/uaccess.h" 5090 #include "asm/uaccess.h"
5091 #include "asm/unistd.h" 5091 #include "asm/unistd.h"
@@ -5108,9 +5108,9 @@ diff -urNp linux-3.0.4/arch/um/sys-i386/syscalls.c linux-3.0.4/arch/um/sys-i386/
5108 /* 5108 /*
5109 * The prototype on i386 is: 5109 * The prototype on i386 is:
5110 * 5110 *
5111diff -urNp linux-3.0.4/arch/x86/boot/bitops.h linux-3.0.4/arch/x86/boot/bitops.h 5111diff -urNp linux-3.0.7/arch/x86/boot/bitops.h linux-3.0.7/arch/x86/boot/bitops.h
5112--- linux-3.0.4/arch/x86/boot/bitops.h 2011-07-21 22:17:23.000000000 -0400 5112--- linux-3.0.7/arch/x86/boot/bitops.h 2011-07-21 22:17:23.000000000 -0400
5113+++ linux-3.0.4/arch/x86/boot/bitops.h 2011-08-23 21:47:55.000000000 -0400 5113+++ linux-3.0.7/arch/x86/boot/bitops.h 2011-08-23 21:47:55.000000000 -0400
5114@@ -26,7 +26,7 @@ static inline int variable_test_bit(int 5114@@ -26,7 +26,7 @@ static inline int variable_test_bit(int
5115 u8 v; 5115 u8 v;
5116 const u32 *p = (const u32 *)addr; 5116 const u32 *p = (const u32 *)addr;
@@ -5129,9 +5129,9 @@ diff -urNp linux-3.0.4/arch/x86/boot/bitops.h linux-3.0.4/arch/x86/boot/bitops.h
5129 } 5129 }
5130 5130
5131 #endif /* BOOT_BITOPS_H */ 5131 #endif /* BOOT_BITOPS_H */
5132diff -urNp linux-3.0.4/arch/x86/boot/boot.h linux-3.0.4/arch/x86/boot/boot.h 5132diff -urNp linux-3.0.7/arch/x86/boot/boot.h linux-3.0.7/arch/x86/boot/boot.h
5133--- linux-3.0.4/arch/x86/boot/boot.h 2011-07-21 22:17:23.000000000 -0400 5133--- linux-3.0.7/arch/x86/boot/boot.h 2011-07-21 22:17:23.000000000 -0400
5134+++ linux-3.0.4/arch/x86/boot/boot.h 2011-08-23 21:47:55.000000000 -0400 5134+++ linux-3.0.7/arch/x86/boot/boot.h 2011-08-23 21:47:55.000000000 -0400
5135@@ -85,7 +85,7 @@ static inline void io_delay(void) 5135@@ -85,7 +85,7 @@ static inline void io_delay(void)
5136 static inline u16 ds(void) 5136 static inline u16 ds(void)
5137 { 5137 {
@@ -5150,9 +5150,9 @@ diff -urNp linux-3.0.4/arch/x86/boot/boot.h linux-3.0.4/arch/x86/boot/boot.h
5150 : "=qm" (diff), "+D" (s1), "+S" (s2), "+c" (len)); 5150 : "=qm" (diff), "+D" (s1), "+S" (s2), "+c" (len));
5151 return diff; 5151 return diff;
5152 } 5152 }
5153diff -urNp linux-3.0.4/arch/x86/boot/compressed/head_32.S linux-3.0.4/arch/x86/boot/compressed/head_32.S 5153diff -urNp linux-3.0.7/arch/x86/boot/compressed/head_32.S linux-3.0.7/arch/x86/boot/compressed/head_32.S
5154--- linux-3.0.4/arch/x86/boot/compressed/head_32.S 2011-07-21 22:17:23.000000000 -0400 5154--- linux-3.0.7/arch/x86/boot/compressed/head_32.S 2011-07-21 22:17:23.000000000 -0400
5155+++ linux-3.0.4/arch/x86/boot/compressed/head_32.S 2011-08-23 21:47:55.000000000 -0400 5155+++ linux-3.0.7/arch/x86/boot/compressed/head_32.S 2011-08-23 21:47:55.000000000 -0400
5156@@ -76,7 +76,7 @@ ENTRY(startup_32) 5156@@ -76,7 +76,7 @@ ENTRY(startup_32)
5157 notl %eax 5157 notl %eax
5158 andl %eax, %ebx 5158 andl %eax, %ebx
@@ -5181,9 +5181,9 @@ diff -urNp linux-3.0.4/arch/x86/boot/compressed/head_32.S linux-3.0.4/arch/x86/b
5181 addl %ebx, -__PAGE_OFFSET(%ebx, %ecx) 5181 addl %ebx, -__PAGE_OFFSET(%ebx, %ecx)
5182 jmp 1b 5182 jmp 1b
5183 2: 5183 2:
5184diff -urNp linux-3.0.4/arch/x86/boot/compressed/head_64.S linux-3.0.4/arch/x86/boot/compressed/head_64.S 5184diff -urNp linux-3.0.7/arch/x86/boot/compressed/head_64.S linux-3.0.7/arch/x86/boot/compressed/head_64.S
5185--- linux-3.0.4/arch/x86/boot/compressed/head_64.S 2011-07-21 22:17:23.000000000 -0400 5185--- linux-3.0.7/arch/x86/boot/compressed/head_64.S 2011-07-21 22:17:23.000000000 -0400
5186+++ linux-3.0.4/arch/x86/boot/compressed/head_64.S 2011-08-23 21:47:55.000000000 -0400 5186+++ linux-3.0.7/arch/x86/boot/compressed/head_64.S 2011-08-23 21:47:55.000000000 -0400
5187@@ -91,7 +91,7 @@ ENTRY(startup_32) 5187@@ -91,7 +91,7 @@ ENTRY(startup_32)
5188 notl %eax 5188 notl %eax
5189 andl %eax, %ebx 5189 andl %eax, %ebx
@@ -5202,9 +5202,9 @@ diff -urNp linux-3.0.4/arch/x86/boot/compressed/head_64.S linux-3.0.4/arch/x86/b
5202 #endif 5202 #endif
5203 5203
5204 /* Target address to relocate to for decompression */ 5204 /* Target address to relocate to for decompression */
5205diff -urNp linux-3.0.4/arch/x86/boot/compressed/Makefile linux-3.0.4/arch/x86/boot/compressed/Makefile 5205diff -urNp linux-3.0.7/arch/x86/boot/compressed/Makefile linux-3.0.7/arch/x86/boot/compressed/Makefile
5206--- linux-3.0.4/arch/x86/boot/compressed/Makefile 2011-07-21 22:17:23.000000000 -0400 5206--- linux-3.0.7/arch/x86/boot/compressed/Makefile 2011-07-21 22:17:23.000000000 -0400
5207+++ linux-3.0.4/arch/x86/boot/compressed/Makefile 2011-08-23 21:47:55.000000000 -0400 5207+++ linux-3.0.7/arch/x86/boot/compressed/Makefile 2011-08-23 21:47:55.000000000 -0400
5208@@ -14,6 +14,9 @@ cflags-$(CONFIG_X86_64) := -mcmodel=smal 5208@@ -14,6 +14,9 @@ cflags-$(CONFIG_X86_64) := -mcmodel=smal
5209 KBUILD_CFLAGS += $(cflags-y) 5209 KBUILD_CFLAGS += $(cflags-y)
5210 KBUILD_CFLAGS += $(call cc-option,-ffreestanding) 5210 KBUILD_CFLAGS += $(call cc-option,-ffreestanding)
@@ -5215,9 +5215,9 @@ diff -urNp linux-3.0.4/arch/x86/boot/compressed/Makefile linux-3.0.4/arch/x86/bo
5215 5215
5216 KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__ 5216 KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
5217 GCOV_PROFILE := n 5217 GCOV_PROFILE := n
5218diff -urNp linux-3.0.4/arch/x86/boot/compressed/misc.c linux-3.0.4/arch/x86/boot/compressed/misc.c 5218diff -urNp linux-3.0.7/arch/x86/boot/compressed/misc.c linux-3.0.7/arch/x86/boot/compressed/misc.c
5219--- linux-3.0.4/arch/x86/boot/compressed/misc.c 2011-07-21 22:17:23.000000000 -0400 5219--- linux-3.0.7/arch/x86/boot/compressed/misc.c 2011-07-21 22:17:23.000000000 -0400
5220+++ linux-3.0.4/arch/x86/boot/compressed/misc.c 2011-08-23 21:47:55.000000000 -0400 5220+++ linux-3.0.7/arch/x86/boot/compressed/misc.c 2011-08-23 21:47:55.000000000 -0400
5221@@ -310,7 +310,7 @@ static void parse_elf(void *output) 5221@@ -310,7 +310,7 @@ static void parse_elf(void *output)
5222 case PT_LOAD: 5222 case PT_LOAD:
5223 #ifdef CONFIG_RELOCATABLE 5223 #ifdef CONFIG_RELOCATABLE
@@ -5236,9 +5236,9 @@ diff -urNp linux-3.0.4/arch/x86/boot/compressed/misc.c linux-3.0.4/arch/x86/boot
5236 error("Wrong destination address"); 5236 error("Wrong destination address");
5237 #endif 5237 #endif
5238 5238
5239diff -urNp linux-3.0.4/arch/x86/boot/compressed/relocs.c linux-3.0.4/arch/x86/boot/compressed/relocs.c 5239diff -urNp linux-3.0.7/arch/x86/boot/compressed/relocs.c linux-3.0.7/arch/x86/boot/compressed/relocs.c
5240--- linux-3.0.4/arch/x86/boot/compressed/relocs.c 2011-07-21 22:17:23.000000000 -0400 5240--- linux-3.0.7/arch/x86/boot/compressed/relocs.c 2011-07-21 22:17:23.000000000 -0400
5241+++ linux-3.0.4/arch/x86/boot/compressed/relocs.c 2011-08-23 21:47:55.000000000 -0400 5241+++ linux-3.0.7/arch/x86/boot/compressed/relocs.c 2011-08-23 21:47:55.000000000 -0400
5242@@ -13,8 +13,11 @@ 5242@@ -13,8 +13,11 @@
5243 5243
5244 static void die(char *fmt, ...); 5244 static void die(char *fmt, ...);
@@ -5431,9 +5431,9 @@ diff -urNp linux-3.0.4/arch/x86/boot/compressed/relocs.c linux-3.0.4/arch/x86/bo
5431 read_shdrs(fp); 5431 read_shdrs(fp);
5432 read_strtabs(fp); 5432 read_strtabs(fp);
5433 read_symtabs(fp); 5433 read_symtabs(fp);
5434diff -urNp linux-3.0.4/arch/x86/boot/cpucheck.c linux-3.0.4/arch/x86/boot/cpucheck.c 5434diff -urNp linux-3.0.7/arch/x86/boot/cpucheck.c linux-3.0.7/arch/x86/boot/cpucheck.c
5435--- linux-3.0.4/arch/x86/boot/cpucheck.c 2011-07-21 22:17:23.000000000 -0400 5435--- linux-3.0.7/arch/x86/boot/cpucheck.c 2011-07-21 22:17:23.000000000 -0400
5436+++ linux-3.0.4/arch/x86/boot/cpucheck.c 2011-08-23 21:47:55.000000000 -0400 5436+++ linux-3.0.7/arch/x86/boot/cpucheck.c 2011-08-23 21:47:55.000000000 -0400
5437@@ -74,7 +74,7 @@ static int has_fpu(void) 5437@@ -74,7 +74,7 @@ static int has_fpu(void)
5438 u16 fcw = -1, fsw = -1; 5438 u16 fcw = -1, fsw = -1;
5439 u32 cr0; 5439 u32 cr0;
@@ -5529,9 +5529,9 @@ diff -urNp linux-3.0.4/arch/x86/boot/cpucheck.c linux-3.0.4/arch/x86/boot/cpuche
5529 5529
5530 err = check_flags(); 5530 err = check_flags();
5531 } 5531 }
5532diff -urNp linux-3.0.4/arch/x86/boot/header.S linux-3.0.4/arch/x86/boot/header.S 5532diff -urNp linux-3.0.7/arch/x86/boot/header.S linux-3.0.7/arch/x86/boot/header.S
5533--- linux-3.0.4/arch/x86/boot/header.S 2011-07-21 22:17:23.000000000 -0400 5533--- linux-3.0.7/arch/x86/boot/header.S 2011-07-21 22:17:23.000000000 -0400
5534+++ linux-3.0.4/arch/x86/boot/header.S 2011-08-23 21:47:55.000000000 -0400 5534+++ linux-3.0.7/arch/x86/boot/header.S 2011-08-23 21:47:55.000000000 -0400
5535@@ -224,7 +224,7 @@ setup_data: .quad 0 # 64-bit physical 5535@@ -224,7 +224,7 @@ setup_data: .quad 0 # 64-bit physical
5536 # single linked list of 5536 # single linked list of
5537 # struct setup_data 5537 # struct setup_data
@@ -5541,9 +5541,9 @@ diff -urNp linux-3.0.4/arch/x86/boot/header.S linux-3.0.4/arch/x86/boot/header.S
5541 5541
5542 #define ZO_INIT_SIZE (ZO__end - ZO_startup_32 + ZO_z_extract_offset) 5542 #define ZO_INIT_SIZE (ZO__end - ZO_startup_32 + ZO_z_extract_offset)
5543 #define VO_INIT_SIZE (VO__end - VO__text) 5543 #define VO_INIT_SIZE (VO__end - VO__text)
5544diff -urNp linux-3.0.4/arch/x86/boot/Makefile linux-3.0.4/arch/x86/boot/Makefile 5544diff -urNp linux-3.0.7/arch/x86/boot/Makefile linux-3.0.7/arch/x86/boot/Makefile
5545--- linux-3.0.4/arch/x86/boot/Makefile 2011-07-21 22:17:23.000000000 -0400 5545--- linux-3.0.7/arch/x86/boot/Makefile 2011-07-21 22:17:23.000000000 -0400
5546+++ linux-3.0.4/arch/x86/boot/Makefile 2011-08-23 21:47:55.000000000 -0400 5546+++ linux-3.0.7/arch/x86/boot/Makefile 2011-08-23 21:47:55.000000000 -0400
5547@@ -69,6 +69,9 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os 5547@@ -69,6 +69,9 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
5548 $(call cc-option, -fno-stack-protector) \ 5548 $(call cc-option, -fno-stack-protector) \
5549 $(call cc-option, -mpreferred-stack-boundary=2) 5549 $(call cc-option, -mpreferred-stack-boundary=2)
@@ -5554,9 +5554,9 @@ diff -urNp linux-3.0.4/arch/x86/boot/Makefile linux-3.0.4/arch/x86/boot/Makefile
5554 KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__ 5554 KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
5555 GCOV_PROFILE := n 5555 GCOV_PROFILE := n
5556 5556
5557diff -urNp linux-3.0.4/arch/x86/boot/memory.c linux-3.0.4/arch/x86/boot/memory.c 5557diff -urNp linux-3.0.7/arch/x86/boot/memory.c linux-3.0.7/arch/x86/boot/memory.c
5558--- linux-3.0.4/arch/x86/boot/memory.c 2011-07-21 22:17:23.000000000 -0400 5558--- linux-3.0.7/arch/x86/boot/memory.c 2011-07-21 22:17:23.000000000 -0400
5559+++ linux-3.0.4/arch/x86/boot/memory.c 2011-08-23 21:47:55.000000000 -0400 5559+++ linux-3.0.7/arch/x86/boot/memory.c 2011-08-23 21:47:55.000000000 -0400
5560@@ -19,7 +19,7 @@ 5560@@ -19,7 +19,7 @@
5561 5561
5562 static int detect_memory_e820(void) 5562 static int detect_memory_e820(void)
@@ -5566,9 +5566,9 @@ diff -urNp linux-3.0.4/arch/x86/boot/memory.c linux-3.0.4/arch/x86/boot/memory.c
5566 struct biosregs ireg, oreg; 5566 struct biosregs ireg, oreg;
5567 struct e820entry *desc = boot_params.e820_map; 5567 struct e820entry *desc = boot_params.e820_map;
5568 static struct e820entry buf; /* static so it is zeroed */ 5568 static struct e820entry buf; /* static so it is zeroed */
5569diff -urNp linux-3.0.4/arch/x86/boot/video.c linux-3.0.4/arch/x86/boot/video.c 5569diff -urNp linux-3.0.7/arch/x86/boot/video.c linux-3.0.7/arch/x86/boot/video.c
5570--- linux-3.0.4/arch/x86/boot/video.c 2011-07-21 22:17:23.000000000 -0400 5570--- linux-3.0.7/arch/x86/boot/video.c 2011-07-21 22:17:23.000000000 -0400
5571+++ linux-3.0.4/arch/x86/boot/video.c 2011-08-23 21:47:55.000000000 -0400 5571+++ linux-3.0.7/arch/x86/boot/video.c 2011-08-23 21:47:55.000000000 -0400
5572@@ -96,7 +96,7 @@ static void store_mode_params(void) 5572@@ -96,7 +96,7 @@ static void store_mode_params(void)
5573 static unsigned int get_entry(void) 5573 static unsigned int get_entry(void)
5574 { 5574 {
@@ -5578,9 +5578,9 @@ diff -urNp linux-3.0.4/arch/x86/boot/video.c linux-3.0.4/arch/x86/boot/video.c
5578 int key; 5578 int key;
5579 unsigned int v; 5579 unsigned int v;
5580 5580
5581diff -urNp linux-3.0.4/arch/x86/boot/video-vesa.c linux-3.0.4/arch/x86/boot/video-vesa.c 5581diff -urNp linux-3.0.7/arch/x86/boot/video-vesa.c linux-3.0.7/arch/x86/boot/video-vesa.c
5582--- linux-3.0.4/arch/x86/boot/video-vesa.c 2011-07-21 22:17:23.000000000 -0400 5582--- linux-3.0.7/arch/x86/boot/video-vesa.c 2011-07-21 22:17:23.000000000 -0400
5583+++ linux-3.0.4/arch/x86/boot/video-vesa.c 2011-08-23 21:47:55.000000000 -0400 5583+++ linux-3.0.7/arch/x86/boot/video-vesa.c 2011-08-23 21:47:55.000000000 -0400
5584@@ -200,6 +200,7 @@ static void vesa_store_pm_info(void) 5584@@ -200,6 +200,7 @@ static void vesa_store_pm_info(void)
5585 5585
5586 boot_params.screen_info.vesapm_seg = oreg.es; 5586 boot_params.screen_info.vesapm_seg = oreg.es;
@@ -5589,77 +5589,86 @@ diff -urNp linux-3.0.4/arch/x86/boot/video-vesa.c linux-3.0.4/arch/x86/boot/vide
5589 } 5589 }
5590 5590
5591 /* 5591 /*
5592diff -urNp linux-3.0.4/arch/x86/crypto/aes-x86_64-asm_64.S linux-3.0.4/arch/x86/crypto/aes-x86_64-asm_64.S 5592diff -urNp linux-3.0.7/arch/x86/crypto/aes-x86_64-asm_64.S linux-3.0.7/arch/x86/crypto/aes-x86_64-asm_64.S
5593--- linux-3.0.4/arch/x86/crypto/aes-x86_64-asm_64.S 2011-07-21 22:17:23.000000000 -0400 5593--- linux-3.0.7/arch/x86/crypto/aes-x86_64-asm_64.S 2011-07-21 22:17:23.000000000 -0400
5594+++ linux-3.0.4/arch/x86/crypto/aes-x86_64-asm_64.S 2011-09-17 18:31:51.000000000 -0400 5594+++ linux-3.0.7/arch/x86/crypto/aes-x86_64-asm_64.S 2011-10-06 04:17:55.000000000 -0400
5595@@ -71,6 +71,12 @@ FUNC: movq r1,r2; \ 5595@@ -8,6 +8,8 @@
5596 * including this sentence is retained in full.
5597 */
5598
5599+#include <asm/alternative-asm.h>
5600+
5601 .extern crypto_ft_tab
5602 .extern crypto_it_tab
5603 .extern crypto_fl_tab
5604@@ -71,6 +73,8 @@ FUNC: movq r1,r2; \
5596 je B192; \ 5605 je B192; \
5597 leaq 32(r9),r9; 5606 leaq 32(r9),r9;
5598 5607
5599+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 5608+#define ret pax_force_retaddr; ret
5600+#define ret orb $0x80, 0x7(%rsp); ret
5601+#else
5602+#define ret ret
5603+#endif
5604+ 5609+
5605 #define epilogue(r1,r2,r3,r4,r5,r6,r7,r8,r9) \ 5610 #define epilogue(r1,r2,r3,r4,r5,r6,r7,r8,r9) \
5606 movq r1,r2; \ 5611 movq r1,r2; \
5607 movq r3,r4; \ 5612 movq r3,r4; \
5608diff -urNp linux-3.0.4/arch/x86/crypto/salsa20-x86_64-asm_64.S linux-3.0.4/arch/x86/crypto/salsa20-x86_64-asm_64.S 5613diff -urNp linux-3.0.7/arch/x86/crypto/salsa20-x86_64-asm_64.S linux-3.0.7/arch/x86/crypto/salsa20-x86_64-asm_64.S
5609--- linux-3.0.4/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-07-21 22:17:23.000000000 -0400 5614--- linux-3.0.7/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-07-21 22:17:23.000000000 -0400
5610+++ linux-3.0.4/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-09-17 18:31:51.000000000 -0400 5615+++ linux-3.0.7/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-10-06 04:17:55.000000000 -0400
5611@@ -790,6 +790,9 @@ ECRYPT_encrypt_bytes: 5616@@ -1,3 +1,5 @@
5617+#include <asm/alternative-asm.h>
5618+
5619 # enter ECRYPT_encrypt_bytes
5620 .text
5621 .p2align 5
5622@@ -790,6 +792,7 @@ ECRYPT_encrypt_bytes:
5612 add %r11,%rsp 5623 add %r11,%rsp
5613 mov %rdi,%rax 5624 mov %rdi,%rax
5614 mov %rsi,%rdx 5625 mov %rsi,%rdx
5615+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 5626+ pax_force_retaddr
5616+ orb $0x80, 0x7(%rsp)
5617+#endif
5618 ret 5627 ret
5619 # bytesatleast65: 5628 # bytesatleast65:
5620 ._bytesatleast65: 5629 ._bytesatleast65:
5621@@ -891,6 +894,9 @@ ECRYPT_keysetup: 5630@@ -891,6 +894,7 @@ ECRYPT_keysetup:
5622 add %r11,%rsp 5631 add %r11,%rsp
5623 mov %rdi,%rax 5632 mov %rdi,%rax
5624 mov %rsi,%rdx 5633 mov %rsi,%rdx
5625+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 5634+ pax_force_retaddr
5626+ orb $0x80, 0x7(%rsp)
5627+#endif
5628 ret 5635 ret
5629 # enter ECRYPT_ivsetup 5636 # enter ECRYPT_ivsetup
5630 .text 5637 .text
5631@@ -917,4 +923,7 @@ ECRYPT_ivsetup: 5638@@ -917,4 +921,5 @@ ECRYPT_ivsetup:
5632 add %r11,%rsp 5639 add %r11,%rsp
5633 mov %rdi,%rax 5640 mov %rdi,%rax
5634 mov %rsi,%rdx 5641 mov %rsi,%rdx
5635+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 5642+ pax_force_retaddr
5636+ orb $0x80, 0x7(%rsp)
5637+#endif
5638 ret 5643 ret
5639diff -urNp linux-3.0.4/arch/x86/crypto/twofish-x86_64-asm_64.S linux-3.0.4/arch/x86/crypto/twofish-x86_64-asm_64.S 5644diff -urNp linux-3.0.7/arch/x86/crypto/twofish-x86_64-asm_64.S linux-3.0.7/arch/x86/crypto/twofish-x86_64-asm_64.S
5640--- linux-3.0.4/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-07-21 22:17:23.000000000 -0400 5645--- linux-3.0.7/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-07-21 22:17:23.000000000 -0400
5641+++ linux-3.0.4/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-09-17 18:31:51.000000000 -0400 5646+++ linux-3.0.7/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-10-06 04:17:55.000000000 -0400
5642@@ -269,6 +269,9 @@ twofish_enc_blk: 5647@@ -21,6 +21,7 @@
5648 .text
5649
5650 #include <asm/asm-offsets.h>
5651+#include <asm/alternative-asm.h>
5652
5653 #define a_offset 0
5654 #define b_offset 4
5655@@ -269,6 +270,7 @@ twofish_enc_blk:
5643 5656
5644 popq R1 5657 popq R1
5645 movq $1,%rax 5658 movq $1,%rax
5646+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 5659+ pax_force_retaddr
5647+ orb $0x80, 0x7(%rsp)
5648+#endif
5649 ret 5660 ret
5650 5661
5651 twofish_dec_blk: 5662 twofish_dec_blk:
5652@@ -321,4 +324,7 @@ twofish_dec_blk: 5663@@ -321,4 +323,5 @@ twofish_dec_blk:
5653 5664
5654 popq R1 5665 popq R1
5655 movq $1,%rax 5666 movq $1,%rax
5656+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 5667+ pax_force_retaddr
5657+ orb $0x80, 0x7(%rsp)
5658+#endif
5659 ret 5668 ret
5660diff -urNp linux-3.0.4/arch/x86/ia32/ia32_aout.c linux-3.0.4/arch/x86/ia32/ia32_aout.c 5669diff -urNp linux-3.0.7/arch/x86/ia32/ia32_aout.c linux-3.0.7/arch/x86/ia32/ia32_aout.c
5661--- linux-3.0.4/arch/x86/ia32/ia32_aout.c 2011-07-21 22:17:23.000000000 -0400 5670--- linux-3.0.7/arch/x86/ia32/ia32_aout.c 2011-07-21 22:17:23.000000000 -0400
5662+++ linux-3.0.4/arch/x86/ia32/ia32_aout.c 2011-08-23 21:48:14.000000000 -0400 5671+++ linux-3.0.7/arch/x86/ia32/ia32_aout.c 2011-08-23 21:48:14.000000000 -0400
5663@@ -162,6 +162,8 @@ static int aout_core_dump(long signr, st 5672@@ -162,6 +162,8 @@ static int aout_core_dump(long signr, st
5664 unsigned long dump_start, dump_size; 5673 unsigned long dump_start, dump_size;
5665 struct user32 dump; 5674 struct user32 dump;
@@ -5669,18 +5678,20 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32_aout.c linux-3.0.4/arch/x86/ia32/ia32_
5669 fs = get_fs(); 5678 fs = get_fs();
5670 set_fs(KERNEL_DS); 5679 set_fs(KERNEL_DS);
5671 has_dumped = 1; 5680 has_dumped = 1;
5672diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32entry.S 5681diff -urNp linux-3.0.7/arch/x86/ia32/ia32entry.S linux-3.0.7/arch/x86/ia32/ia32entry.S
5673--- linux-3.0.4/arch/x86/ia32/ia32entry.S 2011-07-21 22:17:23.000000000 -0400 5682--- linux-3.0.7/arch/x86/ia32/ia32entry.S 2011-07-21 22:17:23.000000000 -0400
5674+++ linux-3.0.4/arch/x86/ia32/ia32entry.S 2011-08-25 17:36:37.000000000 -0400 5683+++ linux-3.0.7/arch/x86/ia32/ia32entry.S 2011-10-11 10:44:33.000000000 -0400
5675@@ -13,6 +13,7 @@ 5684@@ -13,7 +13,9 @@
5676 #include <asm/thread_info.h> 5685 #include <asm/thread_info.h>
5677 #include <asm/segment.h> 5686 #include <asm/segment.h>
5678 #include <asm/irqflags.h> 5687 #include <asm/irqflags.h>
5679+#include <asm/pgtable.h> 5688+#include <asm/pgtable.h>
5680 #include <linux/linkage.h> 5689 #include <linux/linkage.h>
5690+#include <asm/alternative-asm.h>
5681 5691
5682 /* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this. */ 5692 /* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this. */
5683@@ -95,6 +96,29 @@ ENTRY(native_irq_enable_sysexit) 5693 #include <linux/elf-em.h>
5694@@ -95,6 +97,29 @@ ENTRY(native_irq_enable_sysexit)
5684 ENDPROC(native_irq_enable_sysexit) 5695 ENDPROC(native_irq_enable_sysexit)
5685 #endif 5696 #endif
5686 5697
@@ -5710,7 +5721,7 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32e
5710 /* 5721 /*
5711 * 32bit SYSENTER instruction entry. 5722 * 32bit SYSENTER instruction entry.
5712 * 5723 *
5713@@ -121,7 +145,7 @@ ENTRY(ia32_sysenter_target) 5724@@ -121,7 +146,7 @@ ENTRY(ia32_sysenter_target)
5714 CFI_REGISTER rsp,rbp 5725 CFI_REGISTER rsp,rbp
5715 SWAPGS_UNSAFE_STACK 5726 SWAPGS_UNSAFE_STACK
5716 movq PER_CPU_VAR(kernel_stack), %rsp 5727 movq PER_CPU_VAR(kernel_stack), %rsp
@@ -5719,7 +5730,7 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32e
5719 /* 5730 /*
5720 * No need to follow this irqs on/off section: the syscall 5731 * No need to follow this irqs on/off section: the syscall
5721 * disabled irqs, here we enable it straight after entry: 5732 * disabled irqs, here we enable it straight after entry:
5722@@ -134,7 +158,8 @@ ENTRY(ia32_sysenter_target) 5733@@ -134,7 +159,8 @@ ENTRY(ia32_sysenter_target)
5723 CFI_REL_OFFSET rsp,0 5734 CFI_REL_OFFSET rsp,0
5724 pushfq_cfi 5735 pushfq_cfi
5725 /*CFI_REL_OFFSET rflags,0*/ 5736 /*CFI_REL_OFFSET rflags,0*/
@@ -5729,7 +5740,7 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32e
5729 CFI_REGISTER rip,r10 5740 CFI_REGISTER rip,r10
5730 pushq_cfi $__USER32_CS 5741 pushq_cfi $__USER32_CS
5731 /*CFI_REL_OFFSET cs,0*/ 5742 /*CFI_REL_OFFSET cs,0*/
5732@@ -146,6 +171,12 @@ ENTRY(ia32_sysenter_target) 5743@@ -146,6 +172,12 @@ ENTRY(ia32_sysenter_target)
5733 SAVE_ARGS 0,0,1 5744 SAVE_ARGS 0,0,1
5734 /* no need to do an access_ok check here because rbp has been 5745 /* no need to do an access_ok check here because rbp has been
5735 32bit zero extended */ 5746 32bit zero extended */
@@ -5742,7 +5753,7 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32e
5742 1: movl (%rbp),%ebp 5753 1: movl (%rbp),%ebp
5743 .section __ex_table,"a" 5754 .section __ex_table,"a"
5744 .quad 1b,ia32_badarg 5755 .quad 1b,ia32_badarg
5745@@ -168,6 +199,8 @@ sysenter_dispatch: 5756@@ -168,6 +200,8 @@ sysenter_dispatch:
5746 testl $_TIF_ALLWORK_MASK,TI_flags(%r10) 5757 testl $_TIF_ALLWORK_MASK,TI_flags(%r10)
5747 jnz sysexit_audit 5758 jnz sysexit_audit
5748 sysexit_from_sys_call: 5759 sysexit_from_sys_call:
@@ -5751,7 +5762,7 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32e
5751 andl $~TS_COMPAT,TI_status(%r10) 5762 andl $~TS_COMPAT,TI_status(%r10)
5752 /* clear IF, that popfq doesn't enable interrupts early */ 5763 /* clear IF, that popfq doesn't enable interrupts early */
5753 andl $~0x200,EFLAGS-R11(%rsp) 5764 andl $~0x200,EFLAGS-R11(%rsp)
5754@@ -194,6 +227,9 @@ sysexit_from_sys_call: 5765@@ -194,6 +228,9 @@ sysexit_from_sys_call:
5755 movl %eax,%esi /* 2nd arg: syscall number */ 5766 movl %eax,%esi /* 2nd arg: syscall number */
5756 movl $AUDIT_ARCH_I386,%edi /* 1st arg: audit arch */ 5767 movl $AUDIT_ARCH_I386,%edi /* 1st arg: audit arch */
5757 call audit_syscall_entry 5768 call audit_syscall_entry
@@ -5761,7 +5772,7 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32e
5761 movl RAX-ARGOFFSET(%rsp),%eax /* reload syscall number */ 5772 movl RAX-ARGOFFSET(%rsp),%eax /* reload syscall number */
5762 cmpq $(IA32_NR_syscalls-1),%rax 5773 cmpq $(IA32_NR_syscalls-1),%rax
5763 ja ia32_badsys 5774 ja ia32_badsys
5764@@ -246,6 +282,9 @@ sysenter_tracesys: 5775@@ -246,6 +283,9 @@ sysenter_tracesys:
5765 movq $-ENOSYS,RAX(%rsp)/* ptrace can change this for a bad syscall */ 5776 movq $-ENOSYS,RAX(%rsp)/* ptrace can change this for a bad syscall */
5766 movq %rsp,%rdi /* &pt_regs -> arg1 */ 5777 movq %rsp,%rdi /* &pt_regs -> arg1 */
5767 call syscall_trace_enter 5778 call syscall_trace_enter
@@ -5771,7 +5782,7 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32e
5771 LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */ 5782 LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */
5772 RESTORE_REST 5783 RESTORE_REST
5773 cmpq $(IA32_NR_syscalls-1),%rax 5784 cmpq $(IA32_NR_syscalls-1),%rax
5774@@ -277,19 +316,24 @@ ENDPROC(ia32_sysenter_target) 5785@@ -277,19 +317,24 @@ ENDPROC(ia32_sysenter_target)
5775 ENTRY(ia32_cstar_target) 5786 ENTRY(ia32_cstar_target)
5776 CFI_STARTPROC32 simple 5787 CFI_STARTPROC32 simple
5777 CFI_SIGNAL_FRAME 5788 CFI_SIGNAL_FRAME
@@ -5798,7 +5809,7 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32e
5798 movl %eax,%eax /* zero extension */ 5809 movl %eax,%eax /* zero extension */
5799 movq %rax,ORIG_RAX-ARGOFFSET(%rsp) 5810 movq %rax,ORIG_RAX-ARGOFFSET(%rsp)
5800 movq %rcx,RIP-ARGOFFSET(%rsp) 5811 movq %rcx,RIP-ARGOFFSET(%rsp)
5801@@ -305,6 +349,12 @@ ENTRY(ia32_cstar_target) 5812@@ -305,6 +350,12 @@ ENTRY(ia32_cstar_target)
5802 /* no need to do an access_ok check here because r8 has been 5813 /* no need to do an access_ok check here because r8 has been
5803 32bit zero extended */ 5814 32bit zero extended */
5804 /* hardware stack frame is complete now */ 5815 /* hardware stack frame is complete now */
@@ -5811,7 +5822,7 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32e
5811 1: movl (%r8),%r9d 5822 1: movl (%r8),%r9d
5812 .section __ex_table,"a" 5823 .section __ex_table,"a"
5813 .quad 1b,ia32_badarg 5824 .quad 1b,ia32_badarg
5814@@ -327,6 +377,8 @@ cstar_dispatch: 5825@@ -327,6 +378,8 @@ cstar_dispatch:
5815 testl $_TIF_ALLWORK_MASK,TI_flags(%r10) 5826 testl $_TIF_ALLWORK_MASK,TI_flags(%r10)
5816 jnz sysretl_audit 5827 jnz sysretl_audit
5817 sysretl_from_sys_call: 5828 sysretl_from_sys_call:
@@ -5820,7 +5831,7 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32e
5820 andl $~TS_COMPAT,TI_status(%r10) 5831 andl $~TS_COMPAT,TI_status(%r10)
5821 RESTORE_ARGS 1,-ARG_SKIP,1,1,1 5832 RESTORE_ARGS 1,-ARG_SKIP,1,1,1
5822 movl RIP-ARGOFFSET(%rsp),%ecx 5833 movl RIP-ARGOFFSET(%rsp),%ecx
5823@@ -364,6 +416,9 @@ cstar_tracesys: 5834@@ -364,6 +417,9 @@ cstar_tracesys:
5824 movq $-ENOSYS,RAX(%rsp) /* ptrace can change this for a bad syscall */ 5835 movq $-ENOSYS,RAX(%rsp) /* ptrace can change this for a bad syscall */
5825 movq %rsp,%rdi /* &pt_regs -> arg1 */ 5836 movq %rsp,%rdi /* &pt_regs -> arg1 */
5826 call syscall_trace_enter 5837 call syscall_trace_enter
@@ -5830,7 +5841,7 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32e
5830 LOAD_ARGS32 ARGOFFSET, 1 /* reload args from stack in case ptrace changed it */ 5841 LOAD_ARGS32 ARGOFFSET, 1 /* reload args from stack in case ptrace changed it */
5831 RESTORE_REST 5842 RESTORE_REST
5832 xchgl %ebp,%r9d 5843 xchgl %ebp,%r9d
5833@@ -409,6 +464,7 @@ ENTRY(ia32_syscall) 5844@@ -409,6 +465,7 @@ ENTRY(ia32_syscall)
5834 CFI_REL_OFFSET rip,RIP-RIP 5845 CFI_REL_OFFSET rip,RIP-RIP
5835 PARAVIRT_ADJUST_EXCEPTION_FRAME 5846 PARAVIRT_ADJUST_EXCEPTION_FRAME
5836 SWAPGS 5847 SWAPGS
@@ -5838,7 +5849,7 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32e
5838 /* 5849 /*
5839 * No need to follow this irqs on/off section: the syscall 5850 * No need to follow this irqs on/off section: the syscall
5840 * disabled irqs and here we enable it straight after entry: 5851 * disabled irqs and here we enable it straight after entry:
5841@@ -441,6 +497,9 @@ ia32_tracesys: 5852@@ -441,6 +498,9 @@ ia32_tracesys:
5842 movq $-ENOSYS,RAX(%rsp) /* ptrace can change this for a bad syscall */ 5853 movq $-ENOSYS,RAX(%rsp) /* ptrace can change this for a bad syscall */
5843 movq %rsp,%rdi /* &pt_regs -> arg1 */ 5854 movq %rsp,%rdi /* &pt_regs -> arg1 */
5844 call syscall_trace_enter 5855 call syscall_trace_enter
@@ -5848,9 +5859,44 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32entry.S linux-3.0.4/arch/x86/ia32/ia32e
5848 LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */ 5859 LOAD_ARGS32 ARGOFFSET /* reload args from stack in case ptrace changed it */
5849 RESTORE_REST 5860 RESTORE_REST
5850 cmpq $(IA32_NR_syscalls-1),%rax 5861 cmpq $(IA32_NR_syscalls-1),%rax
5851diff -urNp linux-3.0.4/arch/x86/ia32/ia32_signal.c linux-3.0.4/arch/x86/ia32/ia32_signal.c 5862@@ -455,6 +515,7 @@ ia32_badsys:
5852--- linux-3.0.4/arch/x86/ia32/ia32_signal.c 2011-07-21 22:17:23.000000000 -0400 5863
5853+++ linux-3.0.4/arch/x86/ia32/ia32_signal.c 2011-08-23 21:47:55.000000000 -0400 5864 quiet_ni_syscall:
5865 movq $-ENOSYS,%rax
5866+ pax_force_retaddr
5867 ret
5868 CFI_ENDPROC
5869
5870diff -urNp linux-3.0.7/arch/x86/ia32/ia32_signal.c linux-3.0.7/arch/x86/ia32/ia32_signal.c
5871--- linux-3.0.7/arch/x86/ia32/ia32_signal.c 2011-07-21 22:17:23.000000000 -0400
5872+++ linux-3.0.7/arch/x86/ia32/ia32_signal.c 2011-10-06 04:17:55.000000000 -0400
5873@@ -167,7 +167,7 @@ asmlinkage long sys32_sigaltstack(const
5874 }
5875 seg = get_fs();
5876 set_fs(KERNEL_DS);
5877- ret = do_sigaltstack(uss_ptr ? &uss : NULL, &uoss, regs->sp);
5878+ ret = do_sigaltstack(uss_ptr ? (const stack_t __force_user *)&uss : NULL, (stack_t __force_user *)&uoss, regs->sp);
5879 set_fs(seg);
5880 if (ret >= 0 && uoss_ptr) {
5881 if (!access_ok(VERIFY_WRITE, uoss_ptr, sizeof(stack_ia32_t)))
5882@@ -374,7 +374,7 @@ static int ia32_setup_sigcontext(struct
5883 */
5884 static void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
5885 size_t frame_size,
5886- void **fpstate)
5887+ void __user **fpstate)
5888 {
5889 unsigned long sp;
5890
5891@@ -395,7 +395,7 @@ static void __user *get_sigframe(struct
5892
5893 if (used_math()) {
5894 sp = sp - sig_xstate_ia32_size;
5895- *fpstate = (struct _fpstate_ia32 *) sp;
5896+ *fpstate = (struct _fpstate_ia32 __user *) sp;
5897 if (save_i387_xstate_ia32(*fpstate) < 0)
5898 return (void __user *) -1L;
5899 }
5854@@ -403,7 +403,7 @@ static void __user *get_sigframe(struct 5900@@ -403,7 +403,7 @@ static void __user *get_sigframe(struct
5855 sp -= frame_size; 5901 sp -= frame_size;
5856 /* Align the stack pointer according to the i386 ABI, 5902 /* Align the stack pointer according to the i386 ABI,
@@ -5865,7 +5911,7 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32_signal.c linux-3.0.4/arch/x86/ia32/ia3
5865 * gdb versions depend on them as a marker. 5911 * gdb versions depend on them as a marker.
5866 */ 5912 */
5867- put_user_ex(*((u64 *)&code), (u64 *)frame->retcode); 5913- put_user_ex(*((u64 *)&code), (u64 *)frame->retcode);
5868+ put_user_ex(*((const u64 *)&code), (u64 *)frame->retcode); 5914+ put_user_ex(*((const u64 *)&code), (u64 __user *)frame->retcode);
5869 } put_user_catch(err); 5915 } put_user_catch(err);
5870 5916
5871 if (err) 5917 if (err)
@@ -5896,13 +5942,107 @@ diff -urNp linux-3.0.4/arch/x86/ia32/ia32_signal.c linux-3.0.4/arch/x86/ia32/ia3
5896 * versions need it. 5942 * versions need it.
5897 */ 5943 */
5898- put_user_ex(*((u64 *)&code), (u64 *)frame->retcode); 5944- put_user_ex(*((u64 *)&code), (u64 *)frame->retcode);
5899+ put_user_ex(*((const u64 *)&code), (u64 *)frame->retcode); 5945+ put_user_ex(*((const u64 *)&code), (u64 __user *)frame->retcode);
5900 } put_user_catch(err); 5946 } put_user_catch(err);
5901 5947
5902 if (err) 5948 if (err)
5903diff -urNp linux-3.0.4/arch/x86/include/asm/alternative.h linux-3.0.4/arch/x86/include/asm/alternative.h 5949diff -urNp linux-3.0.7/arch/x86/ia32/sys_ia32.c linux-3.0.7/arch/x86/ia32/sys_ia32.c
5904--- linux-3.0.4/arch/x86/include/asm/alternative.h 2011-07-21 22:17:23.000000000 -0400 5950--- linux-3.0.7/arch/x86/ia32/sys_ia32.c 2011-07-21 22:17:23.000000000 -0400
5905+++ linux-3.0.4/arch/x86/include/asm/alternative.h 2011-08-23 21:47:55.000000000 -0400 5951+++ linux-3.0.7/arch/x86/ia32/sys_ia32.c 2011-10-06 04:17:55.000000000 -0400
5952@@ -69,8 +69,8 @@ asmlinkage long sys32_ftruncate64(unsign
5953 */
5954 static int cp_stat64(struct stat64 __user *ubuf, struct kstat *stat)
5955 {
5956- typeof(ubuf->st_uid) uid = 0;
5957- typeof(ubuf->st_gid) gid = 0;
5958+ typeof(((struct stat64 *)0)->st_uid) uid = 0;
5959+ typeof(((struct stat64 *)0)->st_gid) gid = 0;
5960 SET_UID(uid, stat->uid);
5961 SET_GID(gid, stat->gid);
5962 if (!access_ok(VERIFY_WRITE, ubuf, sizeof(struct stat64)) ||
5963@@ -308,8 +308,8 @@ asmlinkage long sys32_rt_sigprocmask(int
5964 }
5965 set_fs(KERNEL_DS);
5966 ret = sys_rt_sigprocmask(how,
5967- set ? (sigset_t __user *)&s : NULL,
5968- oset ? (sigset_t __user *)&s : NULL,
5969+ set ? (sigset_t __force_user *)&s : NULL,
5970+ oset ? (sigset_t __force_user *)&s : NULL,
5971 sigsetsize);
5972 set_fs(old_fs);
5973 if (ret)
5974@@ -332,7 +332,7 @@ asmlinkage long sys32_alarm(unsigned int
5975 return alarm_setitimer(seconds);
5976 }
5977
5978-asmlinkage long sys32_waitpid(compat_pid_t pid, unsigned int *stat_addr,
5979+asmlinkage long sys32_waitpid(compat_pid_t pid, unsigned int __user *stat_addr,
5980 int options)
5981 {
5982 return compat_sys_wait4(pid, stat_addr, options, NULL);
5983@@ -353,7 +353,7 @@ asmlinkage long sys32_sched_rr_get_inter
5984 mm_segment_t old_fs = get_fs();
5985
5986 set_fs(KERNEL_DS);
5987- ret = sys_sched_rr_get_interval(pid, (struct timespec __user *)&t);
5988+ ret = sys_sched_rr_get_interval(pid, (struct timespec __force_user *)&t);
5989 set_fs(old_fs);
5990 if (put_compat_timespec(&t, interval))
5991 return -EFAULT;
5992@@ -369,7 +369,7 @@ asmlinkage long sys32_rt_sigpending(comp
5993 mm_segment_t old_fs = get_fs();
5994
5995 set_fs(KERNEL_DS);
5996- ret = sys_rt_sigpending((sigset_t __user *)&s, sigsetsize);
5997+ ret = sys_rt_sigpending((sigset_t __force_user *)&s, sigsetsize);
5998 set_fs(old_fs);
5999 if (!ret) {
6000 switch (_NSIG_WORDS) {
6001@@ -394,7 +394,7 @@ asmlinkage long sys32_rt_sigqueueinfo(in
6002 if (copy_siginfo_from_user32(&info, uinfo))
6003 return -EFAULT;
6004 set_fs(KERNEL_DS);
6005- ret = sys_rt_sigqueueinfo(pid, sig, (siginfo_t __user *)&info);
6006+ ret = sys_rt_sigqueueinfo(pid, sig, (siginfo_t __force_user *)&info);
6007 set_fs(old_fs);
6008 return ret;
6009 }
6010@@ -439,7 +439,7 @@ asmlinkage long sys32_sendfile(int out_f
6011 return -EFAULT;
6012
6013 set_fs(KERNEL_DS);
6014- ret = sys_sendfile(out_fd, in_fd, offset ? (off_t __user *)&of : NULL,
6015+ ret = sys_sendfile(out_fd, in_fd, offset ? (off_t __force_user *)&of : NULL,
6016 count);
6017 set_fs(old_fs);
6018
6019diff -urNp linux-3.0.7/arch/x86/include/asm/alternative-asm.h linux-3.0.7/arch/x86/include/asm/alternative-asm.h
6020--- linux-3.0.7/arch/x86/include/asm/alternative-asm.h 2011-07-21 22:17:23.000000000 -0400
6021+++ linux-3.0.7/arch/x86/include/asm/alternative-asm.h 2011-10-07 19:07:23.000000000 -0400
6022@@ -15,6 +15,20 @@
6023 .endm
6024 #endif
6025
6026+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN
6027+ .macro pax_force_retaddr rip=0
6028+ btsq $63,\rip(%rsp)
6029+ .endm
6030+ .macro pax_force_fptr ptr
6031+ btsq $63,\ptr
6032+ .endm
6033+#else
6034+ .macro pax_force_retaddr rip=0
6035+ .endm
6036+ .macro pax_force_fptr ptr
6037+ .endm
6038+#endif
6039+
6040 .macro altinstruction_entry orig alt feature orig_len alt_len
6041 .align 8
6042 .quad \orig
6043diff -urNp linux-3.0.7/arch/x86/include/asm/alternative.h linux-3.0.7/arch/x86/include/asm/alternative.h
6044--- linux-3.0.7/arch/x86/include/asm/alternative.h 2011-07-21 22:17:23.000000000 -0400
6045+++ linux-3.0.7/arch/x86/include/asm/alternative.h 2011-08-23 21:47:55.000000000 -0400
5906@@ -93,7 +93,7 @@ static inline int alternatives_text_rese 6046@@ -93,7 +93,7 @@ static inline int alternatives_text_rese
5907 ".section .discard,\"aw\",@progbits\n" \ 6047 ".section .discard,\"aw\",@progbits\n" \
5908 " .byte 0xff + (664f-663f) - (662b-661b)\n" /* rlen <= slen */ \ 6048 " .byte 0xff + (664f-663f) - (662b-661b)\n" /* rlen <= slen */ \
@@ -5912,9 +6052,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/alternative.h linux-3.0.4/arch/x86/i
5912 "663:\n\t" newinstr "\n664:\n" /* replacement */ \ 6052 "663:\n\t" newinstr "\n664:\n" /* replacement */ \
5913 ".previous" 6053 ".previous"
5914 6054
5915diff -urNp linux-3.0.4/arch/x86/include/asm/apic.h linux-3.0.4/arch/x86/include/asm/apic.h 6055diff -urNp linux-3.0.7/arch/x86/include/asm/apic.h linux-3.0.7/arch/x86/include/asm/apic.h
5916--- linux-3.0.4/arch/x86/include/asm/apic.h 2011-07-21 22:17:23.000000000 -0400 6056--- linux-3.0.7/arch/x86/include/asm/apic.h 2011-07-21 22:17:23.000000000 -0400
5917+++ linux-3.0.4/arch/x86/include/asm/apic.h 2011-08-23 21:48:14.000000000 -0400 6057+++ linux-3.0.7/arch/x86/include/asm/apic.h 2011-08-23 21:48:14.000000000 -0400
5918@@ -45,7 +45,7 @@ static inline void generic_apic_probe(vo 6058@@ -45,7 +45,7 @@ static inline void generic_apic_probe(vo
5919 6059
5920 #ifdef CONFIG_X86_LOCAL_APIC 6060 #ifdef CONFIG_X86_LOCAL_APIC
@@ -5924,9 +6064,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/apic.h linux-3.0.4/arch/x86/include/
5924 extern int local_apic_timer_c2_ok; 6064 extern int local_apic_timer_c2_ok;
5925 6065
5926 extern int disable_apic; 6066 extern int disable_apic;
5927diff -urNp linux-3.0.4/arch/x86/include/asm/apm.h linux-3.0.4/arch/x86/include/asm/apm.h 6067diff -urNp linux-3.0.7/arch/x86/include/asm/apm.h linux-3.0.7/arch/x86/include/asm/apm.h
5928--- linux-3.0.4/arch/x86/include/asm/apm.h 2011-07-21 22:17:23.000000000 -0400 6068--- linux-3.0.7/arch/x86/include/asm/apm.h 2011-07-21 22:17:23.000000000 -0400
5929+++ linux-3.0.4/arch/x86/include/asm/apm.h 2011-08-23 21:47:55.000000000 -0400 6069+++ linux-3.0.7/arch/x86/include/asm/apm.h 2011-08-23 21:47:55.000000000 -0400
5930@@ -34,7 +34,7 @@ static inline void apm_bios_call_asm(u32 6070@@ -34,7 +34,7 @@ static inline void apm_bios_call_asm(u32
5931 __asm__ __volatile__(APM_DO_ZERO_SEGS 6071 __asm__ __volatile__(APM_DO_ZERO_SEGS
5932 "pushl %%edi\n\t" 6072 "pushl %%edi\n\t"
@@ -5945,9 +6085,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/apm.h linux-3.0.4/arch/x86/include/a
5945 "setc %%bl\n\t" 6085 "setc %%bl\n\t"
5946 "popl %%ebp\n\t" 6086 "popl %%ebp\n\t"
5947 "popl %%edi\n\t" 6087 "popl %%edi\n\t"
5948diff -urNp linux-3.0.4/arch/x86/include/asm/atomic64_32.h linux-3.0.4/arch/x86/include/asm/atomic64_32.h 6088diff -urNp linux-3.0.7/arch/x86/include/asm/atomic64_32.h linux-3.0.7/arch/x86/include/asm/atomic64_32.h
5949--- linux-3.0.4/arch/x86/include/asm/atomic64_32.h 2011-07-21 22:17:23.000000000 -0400 6089--- linux-3.0.7/arch/x86/include/asm/atomic64_32.h 2011-07-21 22:17:23.000000000 -0400
5950+++ linux-3.0.4/arch/x86/include/asm/atomic64_32.h 2011-08-23 21:47:55.000000000 -0400 6090+++ linux-3.0.7/arch/x86/include/asm/atomic64_32.h 2011-08-23 21:47:55.000000000 -0400
5951@@ -12,6 +12,14 @@ typedef struct { 6091@@ -12,6 +12,14 @@ typedef struct {
5952 u64 __aligned(8) counter; 6092 u64 __aligned(8) counter;
5953 } atomic64_t; 6093 } atomic64_t;
@@ -6097,9 +6237,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/atomic64_32.h linux-3.0.4/arch/x86/i
6097 * atomic64_sub - subtract the atomic64 variable 6237 * atomic64_sub - subtract the atomic64 variable
6098 * @i: integer value to subtract 6238 * @i: integer value to subtract
6099 * @v: pointer to type atomic64_t 6239 * @v: pointer to type atomic64_t
6100diff -urNp linux-3.0.4/arch/x86/include/asm/atomic64_64.h linux-3.0.4/arch/x86/include/asm/atomic64_64.h 6240diff -urNp linux-3.0.7/arch/x86/include/asm/atomic64_64.h linux-3.0.7/arch/x86/include/asm/atomic64_64.h
6101--- linux-3.0.4/arch/x86/include/asm/atomic64_64.h 2011-07-21 22:17:23.000000000 -0400 6241--- linux-3.0.7/arch/x86/include/asm/atomic64_64.h 2011-07-21 22:17:23.000000000 -0400
6102+++ linux-3.0.4/arch/x86/include/asm/atomic64_64.h 2011-08-23 21:47:55.000000000 -0400 6242+++ linux-3.0.7/arch/x86/include/asm/atomic64_64.h 2011-08-23 21:47:55.000000000 -0400
6103@@ -18,7 +18,19 @@ 6243@@ -18,7 +18,19 @@
6104 */ 6244 */
6105 static inline long atomic64_read(const atomic64_t *v) 6245 static inline long atomic64_read(const atomic64_t *v)
@@ -6421,9 +6561,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/atomic64_64.h linux-3.0.4/arch/x86/i
6421 } 6561 }
6422 6562
6423 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) 6563 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
6424diff -urNp linux-3.0.4/arch/x86/include/asm/atomic.h linux-3.0.4/arch/x86/include/asm/atomic.h 6564diff -urNp linux-3.0.7/arch/x86/include/asm/atomic.h linux-3.0.7/arch/x86/include/asm/atomic.h
6425--- linux-3.0.4/arch/x86/include/asm/atomic.h 2011-07-21 22:17:23.000000000 -0400 6565--- linux-3.0.7/arch/x86/include/asm/atomic.h 2011-07-21 22:17:23.000000000 -0400
6426+++ linux-3.0.4/arch/x86/include/asm/atomic.h 2011-08-23 21:47:55.000000000 -0400 6566+++ linux-3.0.7/arch/x86/include/asm/atomic.h 2011-08-23 21:47:55.000000000 -0400
6427@@ -22,7 +22,18 @@ 6567@@ -22,7 +22,18 @@
6428 */ 6568 */
6429 static inline int atomic_read(const atomic_t *v) 6569 static inline int atomic_read(const atomic_t *v)
@@ -6836,9 +6976,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/atomic.h linux-3.0.4/arch/x86/includ
6836 /* 6976 /*
6837 * atomic_dec_if_positive - decrement by 1 if old value positive 6977 * atomic_dec_if_positive - decrement by 1 if old value positive
6838 * @v: pointer of type atomic_t 6978 * @v: pointer of type atomic_t
6839diff -urNp linux-3.0.4/arch/x86/include/asm/bitops.h linux-3.0.4/arch/x86/include/asm/bitops.h 6979diff -urNp linux-3.0.7/arch/x86/include/asm/bitops.h linux-3.0.7/arch/x86/include/asm/bitops.h
6840--- linux-3.0.4/arch/x86/include/asm/bitops.h 2011-07-21 22:17:23.000000000 -0400 6980--- linux-3.0.7/arch/x86/include/asm/bitops.h 2011-07-21 22:17:23.000000000 -0400
6841+++ linux-3.0.4/arch/x86/include/asm/bitops.h 2011-08-23 21:47:55.000000000 -0400 6981+++ linux-3.0.7/arch/x86/include/asm/bitops.h 2011-08-23 21:47:55.000000000 -0400
6842@@ -38,7 +38,7 @@ 6982@@ -38,7 +38,7 @@
6843 * a mask operation on a byte. 6983 * a mask operation on a byte.
6844 */ 6984 */
@@ -6848,9 +6988,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/bitops.h linux-3.0.4/arch/x86/includ
6848 #define CONST_MASK(nr) (1 << ((nr) & 7)) 6988 #define CONST_MASK(nr) (1 << ((nr) & 7))
6849 6989
6850 /** 6990 /**
6851diff -urNp linux-3.0.4/arch/x86/include/asm/boot.h linux-3.0.4/arch/x86/include/asm/boot.h 6991diff -urNp linux-3.0.7/arch/x86/include/asm/boot.h linux-3.0.7/arch/x86/include/asm/boot.h
6852--- linux-3.0.4/arch/x86/include/asm/boot.h 2011-07-21 22:17:23.000000000 -0400 6992--- linux-3.0.7/arch/x86/include/asm/boot.h 2011-07-21 22:17:23.000000000 -0400
6853+++ linux-3.0.4/arch/x86/include/asm/boot.h 2011-08-23 21:47:55.000000000 -0400 6993+++ linux-3.0.7/arch/x86/include/asm/boot.h 2011-08-23 21:47:55.000000000 -0400
6854@@ -11,10 +11,15 @@ 6994@@ -11,10 +11,15 @@
6855 #include <asm/pgtable_types.h> 6995 #include <asm/pgtable_types.h>
6856 6996
@@ -6868,9 +7008,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/boot.h linux-3.0.4/arch/x86/include/
6868 /* Minimum kernel alignment, as a power of two */ 7008 /* Minimum kernel alignment, as a power of two */
6869 #ifdef CONFIG_X86_64 7009 #ifdef CONFIG_X86_64
6870 #define MIN_KERNEL_ALIGN_LG2 PMD_SHIFT 7010 #define MIN_KERNEL_ALIGN_LG2 PMD_SHIFT
6871diff -urNp linux-3.0.4/arch/x86/include/asm/cacheflush.h linux-3.0.4/arch/x86/include/asm/cacheflush.h 7011diff -urNp linux-3.0.7/arch/x86/include/asm/cacheflush.h linux-3.0.7/arch/x86/include/asm/cacheflush.h
6872--- linux-3.0.4/arch/x86/include/asm/cacheflush.h 2011-07-21 22:17:23.000000000 -0400 7012--- linux-3.0.7/arch/x86/include/asm/cacheflush.h 2011-07-21 22:17:23.000000000 -0400
6873+++ linux-3.0.4/arch/x86/include/asm/cacheflush.h 2011-08-23 21:47:55.000000000 -0400 7013+++ linux-3.0.7/arch/x86/include/asm/cacheflush.h 2011-08-23 21:47:55.000000000 -0400
6874@@ -26,7 +26,7 @@ static inline unsigned long get_page_mem 7014@@ -26,7 +26,7 @@ static inline unsigned long get_page_mem
6875 unsigned long pg_flags = pg->flags & _PGMT_MASK; 7015 unsigned long pg_flags = pg->flags & _PGMT_MASK;
6876 7016
@@ -6880,9 +7020,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/cacheflush.h linux-3.0.4/arch/x86/in
6880 else if (pg_flags == _PGMT_WC) 7020 else if (pg_flags == _PGMT_WC)
6881 return _PAGE_CACHE_WC; 7021 return _PAGE_CACHE_WC;
6882 else if (pg_flags == _PGMT_UC_MINUS) 7022 else if (pg_flags == _PGMT_UC_MINUS)
6883diff -urNp linux-3.0.4/arch/x86/include/asm/cache.h linux-3.0.4/arch/x86/include/asm/cache.h 7023diff -urNp linux-3.0.7/arch/x86/include/asm/cache.h linux-3.0.7/arch/x86/include/asm/cache.h
6884--- linux-3.0.4/arch/x86/include/asm/cache.h 2011-07-21 22:17:23.000000000 -0400 7024--- linux-3.0.7/arch/x86/include/asm/cache.h 2011-07-21 22:17:23.000000000 -0400
6885+++ linux-3.0.4/arch/x86/include/asm/cache.h 2011-08-23 21:47:55.000000000 -0400 7025+++ linux-3.0.7/arch/x86/include/asm/cache.h 2011-08-23 21:47:55.000000000 -0400
6886@@ -5,12 +5,13 @@ 7026@@ -5,12 +5,13 @@
6887 7027
6888 /* L1 cache line size */ 7028 /* L1 cache line size */
@@ -6899,9 +7039,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/cache.h linux-3.0.4/arch/x86/include
6899 7039
6900 #ifdef CONFIG_X86_VSMP 7040 #ifdef CONFIG_X86_VSMP
6901 #ifdef CONFIG_SMP 7041 #ifdef CONFIG_SMP
6902diff -urNp linux-3.0.4/arch/x86/include/asm/checksum_32.h linux-3.0.4/arch/x86/include/asm/checksum_32.h 7042diff -urNp linux-3.0.7/arch/x86/include/asm/checksum_32.h linux-3.0.7/arch/x86/include/asm/checksum_32.h
6903--- linux-3.0.4/arch/x86/include/asm/checksum_32.h 2011-07-21 22:17:23.000000000 -0400 7043--- linux-3.0.7/arch/x86/include/asm/checksum_32.h 2011-07-21 22:17:23.000000000 -0400
6904+++ linux-3.0.4/arch/x86/include/asm/checksum_32.h 2011-08-23 21:47:55.000000000 -0400 7044+++ linux-3.0.7/arch/x86/include/asm/checksum_32.h 2011-08-23 21:47:55.000000000 -0400
6905@@ -31,6 +31,14 @@ asmlinkage __wsum csum_partial_copy_gene 7045@@ -31,6 +31,14 @@ asmlinkage __wsum csum_partial_copy_gene
6906 int len, __wsum sum, 7046 int len, __wsum sum,
6907 int *src_err_ptr, int *dst_err_ptr); 7047 int *src_err_ptr, int *dst_err_ptr);
@@ -6935,9 +7075,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/checksum_32.h linux-3.0.4/arch/x86/i
6935 len, sum, NULL, err_ptr); 7075 len, sum, NULL, err_ptr);
6936 7076
6937 if (len) 7077 if (len)
6938diff -urNp linux-3.0.4/arch/x86/include/asm/cpufeature.h linux-3.0.4/arch/x86/include/asm/cpufeature.h 7078diff -urNp linux-3.0.7/arch/x86/include/asm/cpufeature.h linux-3.0.7/arch/x86/include/asm/cpufeature.h
6939--- linux-3.0.4/arch/x86/include/asm/cpufeature.h 2011-07-21 22:17:23.000000000 -0400 7079--- linux-3.0.7/arch/x86/include/asm/cpufeature.h 2011-07-21 22:17:23.000000000 -0400
6940+++ linux-3.0.4/arch/x86/include/asm/cpufeature.h 2011-08-23 21:47:55.000000000 -0400 7080+++ linux-3.0.7/arch/x86/include/asm/cpufeature.h 2011-08-23 21:47:55.000000000 -0400
6941@@ -358,7 +358,7 @@ static __always_inline __pure bool __sta 7081@@ -358,7 +358,7 @@ static __always_inline __pure bool __sta
6942 ".section .discard,\"aw\",@progbits\n" 7082 ".section .discard,\"aw\",@progbits\n"
6943 " .byte 0xff + (4f-3f) - (2b-1b)\n" /* size check */ 7083 " .byte 0xff + (4f-3f) - (2b-1b)\n" /* size check */
@@ -6947,9 +7087,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/cpufeature.h linux-3.0.4/arch/x86/in
6947 "3: movb $1,%0\n" 7087 "3: movb $1,%0\n"
6948 "4:\n" 7088 "4:\n"
6949 ".previous\n" 7089 ".previous\n"
6950diff -urNp linux-3.0.4/arch/x86/include/asm/desc_defs.h linux-3.0.4/arch/x86/include/asm/desc_defs.h 7090diff -urNp linux-3.0.7/arch/x86/include/asm/desc_defs.h linux-3.0.7/arch/x86/include/asm/desc_defs.h
6951--- linux-3.0.4/arch/x86/include/asm/desc_defs.h 2011-07-21 22:17:23.000000000 -0400 7091--- linux-3.0.7/arch/x86/include/asm/desc_defs.h 2011-07-21 22:17:23.000000000 -0400
6952+++ linux-3.0.4/arch/x86/include/asm/desc_defs.h 2011-08-23 21:47:55.000000000 -0400 7092+++ linux-3.0.7/arch/x86/include/asm/desc_defs.h 2011-08-23 21:47:55.000000000 -0400
6953@@ -31,6 +31,12 @@ struct desc_struct { 7093@@ -31,6 +31,12 @@ struct desc_struct {
6954 unsigned base1: 8, type: 4, s: 1, dpl: 2, p: 1; 7094 unsigned base1: 8, type: 4, s: 1, dpl: 2, p: 1;
6955 unsigned limit: 4, avl: 1, l: 1, d: 1, g: 1, base2: 8; 7095 unsigned limit: 4, avl: 1, l: 1, d: 1, g: 1, base2: 8;
@@ -6963,9 +7103,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/desc_defs.h linux-3.0.4/arch/x86/inc
6963 }; 7103 };
6964 } __attribute__((packed)); 7104 } __attribute__((packed));
6965 7105
6966diff -urNp linux-3.0.4/arch/x86/include/asm/desc.h linux-3.0.4/arch/x86/include/asm/desc.h 7106diff -urNp linux-3.0.7/arch/x86/include/asm/desc.h linux-3.0.7/arch/x86/include/asm/desc.h
6967--- linux-3.0.4/arch/x86/include/asm/desc.h 2011-07-21 22:17:23.000000000 -0400 7107--- linux-3.0.7/arch/x86/include/asm/desc.h 2011-07-21 22:17:23.000000000 -0400
6968+++ linux-3.0.4/arch/x86/include/asm/desc.h 2011-08-23 21:47:55.000000000 -0400 7108+++ linux-3.0.7/arch/x86/include/asm/desc.h 2011-08-23 21:47:55.000000000 -0400
6969@@ -4,6 +4,7 @@ 7109@@ -4,6 +4,7 @@
6970 #include <asm/desc_defs.h> 7110 #include <asm/desc_defs.h>
6971 #include <asm/ldt.h> 7111 #include <asm/ldt.h>
@@ -7144,9 +7284,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/desc.h linux-3.0.4/arch/x86/include/
7144+#endif 7284+#endif
7145+ 7285+
7146 #endif /* _ASM_X86_DESC_H */ 7286 #endif /* _ASM_X86_DESC_H */
7147diff -urNp linux-3.0.4/arch/x86/include/asm/e820.h linux-3.0.4/arch/x86/include/asm/e820.h 7287diff -urNp linux-3.0.7/arch/x86/include/asm/e820.h linux-3.0.7/arch/x86/include/asm/e820.h
7148--- linux-3.0.4/arch/x86/include/asm/e820.h 2011-07-21 22:17:23.000000000 -0400 7288--- linux-3.0.7/arch/x86/include/asm/e820.h 2011-07-21 22:17:23.000000000 -0400
7149+++ linux-3.0.4/arch/x86/include/asm/e820.h 2011-08-23 21:47:55.000000000 -0400 7289+++ linux-3.0.7/arch/x86/include/asm/e820.h 2011-08-23 21:47:55.000000000 -0400
7150@@ -69,7 +69,7 @@ struct e820map { 7290@@ -69,7 +69,7 @@ struct e820map {
7151 #define ISA_START_ADDRESS 0xa0000 7291 #define ISA_START_ADDRESS 0xa0000
7152 #define ISA_END_ADDRESS 0x100000 7292 #define ISA_END_ADDRESS 0x100000
@@ -7156,9 +7296,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/e820.h linux-3.0.4/arch/x86/include/
7156 #define BIOS_END 0x00100000 7296 #define BIOS_END 0x00100000
7157 7297
7158 #define BIOS_ROM_BASE 0xffe00000 7298 #define BIOS_ROM_BASE 0xffe00000
7159diff -urNp linux-3.0.4/arch/x86/include/asm/elf.h linux-3.0.4/arch/x86/include/asm/elf.h 7299diff -urNp linux-3.0.7/arch/x86/include/asm/elf.h linux-3.0.7/arch/x86/include/asm/elf.h
7160--- linux-3.0.4/arch/x86/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 7300--- linux-3.0.7/arch/x86/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
7161+++ linux-3.0.4/arch/x86/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 7301+++ linux-3.0.7/arch/x86/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
7162@@ -237,7 +237,25 @@ extern int force_personality32; 7302@@ -237,7 +237,25 @@ extern int force_personality32;
7163 the loader. We need to make sure that it is out of the way of the program 7303 the loader. We need to make sure that it is out of the way of the program
7164 that it will "exec", and that there is sufficient room for the brk. */ 7304 that it will "exec", and that there is sufficient room for the brk. */
@@ -7213,9 +7353,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/elf.h linux-3.0.4/arch/x86/include/a
7213-#define arch_randomize_brk arch_randomize_brk 7353-#define arch_randomize_brk arch_randomize_brk
7214- 7354-
7215 #endif /* _ASM_X86_ELF_H */ 7355 #endif /* _ASM_X86_ELF_H */
7216diff -urNp linux-3.0.4/arch/x86/include/asm/emergency-restart.h linux-3.0.4/arch/x86/include/asm/emergency-restart.h 7356diff -urNp linux-3.0.7/arch/x86/include/asm/emergency-restart.h linux-3.0.7/arch/x86/include/asm/emergency-restart.h
7217--- linux-3.0.4/arch/x86/include/asm/emergency-restart.h 2011-07-21 22:17:23.000000000 -0400 7357--- linux-3.0.7/arch/x86/include/asm/emergency-restart.h 2011-07-21 22:17:23.000000000 -0400
7218+++ linux-3.0.4/arch/x86/include/asm/emergency-restart.h 2011-08-23 21:47:55.000000000 -0400 7358+++ linux-3.0.7/arch/x86/include/asm/emergency-restart.h 2011-08-23 21:47:55.000000000 -0400
7219@@ -15,6 +15,6 @@ enum reboot_type { 7359@@ -15,6 +15,6 @@ enum reboot_type {
7220 7360
7221 extern enum reboot_type reboot_type; 7361 extern enum reboot_type reboot_type;
@@ -7224,14 +7364,14 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/emergency-restart.h linux-3.0.4/arch
7224+extern void machine_emergency_restart(void) __noreturn; 7364+extern void machine_emergency_restart(void) __noreturn;
7225 7365
7226 #endif /* _ASM_X86_EMERGENCY_RESTART_H */ 7366 #endif /* _ASM_X86_EMERGENCY_RESTART_H */
7227diff -urNp linux-3.0.4/arch/x86/include/asm/futex.h linux-3.0.4/arch/x86/include/asm/futex.h 7367diff -urNp linux-3.0.7/arch/x86/include/asm/futex.h linux-3.0.7/arch/x86/include/asm/futex.h
7228--- linux-3.0.4/arch/x86/include/asm/futex.h 2011-07-21 22:17:23.000000000 -0400 7368--- linux-3.0.7/arch/x86/include/asm/futex.h 2011-07-21 22:17:23.000000000 -0400
7229+++ linux-3.0.4/arch/x86/include/asm/futex.h 2011-08-23 21:47:55.000000000 -0400 7369+++ linux-3.0.7/arch/x86/include/asm/futex.h 2011-10-06 04:17:55.000000000 -0400
7230@@ -12,16 +12,18 @@ 7370@@ -12,16 +12,18 @@
7231 #include <asm/system.h> 7371 #include <asm/system.h>
7232 7372
7233 #define __futex_atomic_op1(insn, ret, oldval, uaddr, oparg) \ 7373 #define __futex_atomic_op1(insn, ret, oldval, uaddr, oparg) \
7234+ typecheck(u32 *, uaddr); \ 7374+ typecheck(u32 __user *, uaddr); \
7235 asm volatile("1:\t" insn "\n" \ 7375 asm volatile("1:\t" insn "\n" \
7236 "2:\t.section .fixup,\"ax\"\n" \ 7376 "2:\t.section .fixup,\"ax\"\n" \
7237 "3:\tmov\t%3, %1\n" \ 7377 "3:\tmov\t%3, %1\n" \
@@ -7239,11 +7379,11 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/futex.h linux-3.0.4/arch/x86/include
7239 "\t.previous\n" \ 7379 "\t.previous\n" \
7240 _ASM_EXTABLE(1b, 3b) \ 7380 _ASM_EXTABLE(1b, 3b) \
7241- : "=r" (oldval), "=r" (ret), "+m" (*uaddr) \ 7381- : "=r" (oldval), "=r" (ret), "+m" (*uaddr) \
7242+ : "=r" (oldval), "=r" (ret), "+m" (*(u32 *)____m(uaddr))\ 7382+ : "=r" (oldval), "=r" (ret), "+m" (*(u32 __user *)____m(uaddr))\
7243 : "i" (-EFAULT), "0" (oparg), "1" (0)) 7383 : "i" (-EFAULT), "0" (oparg), "1" (0))
7244 7384
7245 #define __futex_atomic_op2(insn, ret, oldval, uaddr, oparg) \ 7385 #define __futex_atomic_op2(insn, ret, oldval, uaddr, oparg) \
7246+ typecheck(u32 *, uaddr); \ 7386+ typecheck(u32 __user *, uaddr); \
7247 asm volatile("1:\tmovl %2, %0\n" \ 7387 asm volatile("1:\tmovl %2, %0\n" \
7248 "\tmovl\t%0, %3\n" \ 7388 "\tmovl\t%0, %3\n" \
7249 "\t" insn "\n" \ 7389 "\t" insn "\n" \
@@ -7252,7 +7392,7 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/futex.h linux-3.0.4/arch/x86/include
7252 _ASM_EXTABLE(2b, 4b) \ 7392 _ASM_EXTABLE(2b, 4b) \
7253 : "=&a" (oldval), "=&r" (ret), \ 7393 : "=&a" (oldval), "=&r" (ret), \
7254- "+m" (*uaddr), "=&r" (tem) \ 7394- "+m" (*uaddr), "=&r" (tem) \
7255+ "+m" (*(u32 *)____m(uaddr)), "=&r" (tem) \ 7395+ "+m" (*(u32 __user *)____m(uaddr)), "=&r" (tem) \
7256 : "r" (oparg), "i" (-EFAULT), "1" (0)) 7396 : "r" (oparg), "i" (-EFAULT), "1" (0))
7257 7397
7258 static inline int futex_atomic_op_inuser(int encoded_op, u32 __user *uaddr) 7398 static inline int futex_atomic_op_inuser(int encoded_op, u32 __user *uaddr)
@@ -7281,13 +7421,13 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/futex.h linux-3.0.4/arch/x86/include
7281 "\t.previous\n" 7421 "\t.previous\n"
7282 _ASM_EXTABLE(1b, 3b) 7422 _ASM_EXTABLE(1b, 3b)
7283- : "+r" (ret), "=a" (oldval), "+m" (*uaddr) 7423- : "+r" (ret), "=a" (oldval), "+m" (*uaddr)
7284+ : "+r" (ret), "=a" (oldval), "+m" (*(u32 *)____m(uaddr)) 7424+ : "+r" (ret), "=a" (oldval), "+m" (*(u32 __user *)____m(uaddr))
7285 : "i" (-EFAULT), "r" (newval), "1" (oldval) 7425 : "i" (-EFAULT), "r" (newval), "1" (oldval)
7286 : "memory" 7426 : "memory"
7287 ); 7427 );
7288diff -urNp linux-3.0.4/arch/x86/include/asm/hw_irq.h linux-3.0.4/arch/x86/include/asm/hw_irq.h 7428diff -urNp linux-3.0.7/arch/x86/include/asm/hw_irq.h linux-3.0.7/arch/x86/include/asm/hw_irq.h
7289--- linux-3.0.4/arch/x86/include/asm/hw_irq.h 2011-07-21 22:17:23.000000000 -0400 7429--- linux-3.0.7/arch/x86/include/asm/hw_irq.h 2011-07-21 22:17:23.000000000 -0400
7290+++ linux-3.0.4/arch/x86/include/asm/hw_irq.h 2011-08-23 21:47:55.000000000 -0400 7430+++ linux-3.0.7/arch/x86/include/asm/hw_irq.h 2011-08-23 21:47:55.000000000 -0400
7291@@ -137,8 +137,8 @@ extern void setup_ioapic_dest(void); 7431@@ -137,8 +137,8 @@ extern void setup_ioapic_dest(void);
7292 extern void enable_IO_APIC(void); 7432 extern void enable_IO_APIC(void);
7293 7433
@@ -7299,16 +7439,16 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/hw_irq.h linux-3.0.4/arch/x86/includ
7299 7439
7300 /* EISA */ 7440 /* EISA */
7301 extern void eisa_set_level_irq(unsigned int irq); 7441 extern void eisa_set_level_irq(unsigned int irq);
7302diff -urNp linux-3.0.4/arch/x86/include/asm/i387.h linux-3.0.4/arch/x86/include/asm/i387.h 7442diff -urNp linux-3.0.7/arch/x86/include/asm/i387.h linux-3.0.7/arch/x86/include/asm/i387.h
7303--- linux-3.0.4/arch/x86/include/asm/i387.h 2011-07-21 22:17:23.000000000 -0400 7443--- linux-3.0.7/arch/x86/include/asm/i387.h 2011-07-21 22:17:23.000000000 -0400
7304+++ linux-3.0.4/arch/x86/include/asm/i387.h 2011-08-23 21:47:55.000000000 -0400 7444+++ linux-3.0.7/arch/x86/include/asm/i387.h 2011-10-06 04:17:55.000000000 -0400
7305@@ -92,6 +92,11 @@ static inline int fxrstor_checking(struc 7445@@ -92,6 +92,11 @@ static inline int fxrstor_checking(struc
7306 { 7446 {
7307 int err; 7447 int err;
7308 7448
7309+#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF) 7449+#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF)
7310+ if ((unsigned long)fx < PAX_USER_SHADOW_BASE) 7450+ if ((unsigned long)fx < PAX_USER_SHADOW_BASE)
7311+ fx = (struct i387_fxsave_struct *)((void *)fx + PAX_USER_SHADOW_BASE); 7451+ fx = (struct i387_fxsave_struct __user *)((void *)fx + PAX_USER_SHADOW_BASE);
7312+#endif 7452+#endif
7313+ 7453+
7314 /* See comment in fxsave() below. */ 7454 /* See comment in fxsave() below. */
@@ -7351,9 +7491,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/i387.h linux-3.0.4/arch/x86/include/
7351 else 7491 else
7352 clts(); 7492 clts();
7353 } 7493 }
7354diff -urNp linux-3.0.4/arch/x86/include/asm/io.h linux-3.0.4/arch/x86/include/asm/io.h 7494diff -urNp linux-3.0.7/arch/x86/include/asm/io.h linux-3.0.7/arch/x86/include/asm/io.h
7355--- linux-3.0.4/arch/x86/include/asm/io.h 2011-07-21 22:17:23.000000000 -0400 7495--- linux-3.0.7/arch/x86/include/asm/io.h 2011-07-21 22:17:23.000000000 -0400
7356+++ linux-3.0.4/arch/x86/include/asm/io.h 2011-08-23 21:47:55.000000000 -0400 7496+++ linux-3.0.7/arch/x86/include/asm/io.h 2011-08-23 21:47:55.000000000 -0400
7357@@ -196,6 +196,17 @@ extern void set_iounmap_nonlazy(void); 7497@@ -196,6 +196,17 @@ extern void set_iounmap_nonlazy(void);
7358 7498
7359 #include <linux/vmalloc.h> 7499 #include <linux/vmalloc.h>
@@ -7372,9 +7512,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/io.h linux-3.0.4/arch/x86/include/as
7372 /* 7512 /*
7373 * Convert a virtual cached pointer to an uncached pointer 7513 * Convert a virtual cached pointer to an uncached pointer
7374 */ 7514 */
7375diff -urNp linux-3.0.4/arch/x86/include/asm/irqflags.h linux-3.0.4/arch/x86/include/asm/irqflags.h 7515diff -urNp linux-3.0.7/arch/x86/include/asm/irqflags.h linux-3.0.7/arch/x86/include/asm/irqflags.h
7376--- linux-3.0.4/arch/x86/include/asm/irqflags.h 2011-07-21 22:17:23.000000000 -0400 7516--- linux-3.0.7/arch/x86/include/asm/irqflags.h 2011-07-21 22:17:23.000000000 -0400
7377+++ linux-3.0.4/arch/x86/include/asm/irqflags.h 2011-08-23 21:47:55.000000000 -0400 7517+++ linux-3.0.7/arch/x86/include/asm/irqflags.h 2011-08-23 21:47:55.000000000 -0400
7378@@ -140,6 +140,11 @@ static inline unsigned long arch_local_i 7518@@ -140,6 +140,11 @@ static inline unsigned long arch_local_i
7379 sti; \ 7519 sti; \
7380 sysexit 7520 sysexit
@@ -7387,9 +7527,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/irqflags.h linux-3.0.4/arch/x86/incl
7387 #else 7527 #else
7388 #define INTERRUPT_RETURN iret 7528 #define INTERRUPT_RETURN iret
7389 #define ENABLE_INTERRUPTS_SYSEXIT sti; sysexit 7529 #define ENABLE_INTERRUPTS_SYSEXIT sti; sysexit
7390diff -urNp linux-3.0.4/arch/x86/include/asm/kprobes.h linux-3.0.4/arch/x86/include/asm/kprobes.h 7530diff -urNp linux-3.0.7/arch/x86/include/asm/kprobes.h linux-3.0.7/arch/x86/include/asm/kprobes.h
7391--- linux-3.0.4/arch/x86/include/asm/kprobes.h 2011-07-21 22:17:23.000000000 -0400 7531--- linux-3.0.7/arch/x86/include/asm/kprobes.h 2011-07-21 22:17:23.000000000 -0400
7392+++ linux-3.0.4/arch/x86/include/asm/kprobes.h 2011-08-23 21:47:55.000000000 -0400 7532+++ linux-3.0.7/arch/x86/include/asm/kprobes.h 2011-08-23 21:47:55.000000000 -0400
7393@@ -37,13 +37,8 @@ typedef u8 kprobe_opcode_t; 7533@@ -37,13 +37,8 @@ typedef u8 kprobe_opcode_t;
7394 #define RELATIVEJUMP_SIZE 5 7534 #define RELATIVEJUMP_SIZE 5
7395 #define RELATIVECALL_OPCODE 0xe8 7535 #define RELATIVECALL_OPCODE 0xe8
@@ -7406,9 +7546,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/kprobes.h linux-3.0.4/arch/x86/inclu
7406 7546
7407 #define flush_insn_slot(p) do { } while (0) 7547 #define flush_insn_slot(p) do { } while (0)
7408 7548
7409diff -urNp linux-3.0.4/arch/x86/include/asm/kvm_host.h linux-3.0.4/arch/x86/include/asm/kvm_host.h 7549diff -urNp linux-3.0.7/arch/x86/include/asm/kvm_host.h linux-3.0.7/arch/x86/include/asm/kvm_host.h
7410--- linux-3.0.4/arch/x86/include/asm/kvm_host.h 2011-07-21 22:17:23.000000000 -0400 7550--- linux-3.0.7/arch/x86/include/asm/kvm_host.h 2011-07-21 22:17:23.000000000 -0400
7411+++ linux-3.0.4/arch/x86/include/asm/kvm_host.h 2011-08-26 19:49:56.000000000 -0400 7551+++ linux-3.0.7/arch/x86/include/asm/kvm_host.h 2011-08-26 19:49:56.000000000 -0400
7412@@ -441,7 +441,7 @@ struct kvm_arch { 7552@@ -441,7 +441,7 @@ struct kvm_arch {
7413 unsigned int n_used_mmu_pages; 7553 unsigned int n_used_mmu_pages;
7414 unsigned int n_requested_mmu_pages; 7554 unsigned int n_requested_mmu_pages;
@@ -7427,9 +7567,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/kvm_host.h linux-3.0.4/arch/x86/incl
7427 7567
7428 struct kvm_arch_async_pf { 7568 struct kvm_arch_async_pf {
7429 u32 token; 7569 u32 token;
7430diff -urNp linux-3.0.4/arch/x86/include/asm/local.h linux-3.0.4/arch/x86/include/asm/local.h 7570diff -urNp linux-3.0.7/arch/x86/include/asm/local.h linux-3.0.7/arch/x86/include/asm/local.h
7431--- linux-3.0.4/arch/x86/include/asm/local.h 2011-07-21 22:17:23.000000000 -0400 7571--- linux-3.0.7/arch/x86/include/asm/local.h 2011-07-21 22:17:23.000000000 -0400
7432+++ linux-3.0.4/arch/x86/include/asm/local.h 2011-08-23 21:47:55.000000000 -0400 7572+++ linux-3.0.7/arch/x86/include/asm/local.h 2011-08-23 21:47:55.000000000 -0400
7433@@ -18,26 +18,58 @@ typedef struct { 7573@@ -18,26 +18,58 @@ typedef struct {
7434 7574
7435 static inline void local_inc(local_t *l) 7575 static inline void local_inc(local_t *l)
@@ -7582,9 +7722,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/local.h linux-3.0.4/arch/x86/include
7582 : "+r" (i), "+m" (l->a.counter) 7722 : "+r" (i), "+m" (l->a.counter)
7583 : : "memory"); 7723 : : "memory");
7584 return i + __i; 7724 return i + __i;
7585diff -urNp linux-3.0.4/arch/x86/include/asm/mman.h linux-3.0.4/arch/x86/include/asm/mman.h 7725diff -urNp linux-3.0.7/arch/x86/include/asm/mman.h linux-3.0.7/arch/x86/include/asm/mman.h
7586--- linux-3.0.4/arch/x86/include/asm/mman.h 2011-07-21 22:17:23.000000000 -0400 7726--- linux-3.0.7/arch/x86/include/asm/mman.h 2011-07-21 22:17:23.000000000 -0400
7587+++ linux-3.0.4/arch/x86/include/asm/mman.h 2011-08-23 21:47:55.000000000 -0400 7727+++ linux-3.0.7/arch/x86/include/asm/mman.h 2011-08-23 21:47:55.000000000 -0400
7588@@ -5,4 +5,14 @@ 7728@@ -5,4 +5,14 @@
7589 7729
7590 #include <asm-generic/mman.h> 7730 #include <asm-generic/mman.h>
@@ -7600,9 +7740,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/mman.h linux-3.0.4/arch/x86/include/
7600+#endif 7740+#endif
7601+ 7741+
7602 #endif /* _ASM_X86_MMAN_H */ 7742 #endif /* _ASM_X86_MMAN_H */
7603diff -urNp linux-3.0.4/arch/x86/include/asm/mmu_context.h linux-3.0.4/arch/x86/include/asm/mmu_context.h 7743diff -urNp linux-3.0.7/arch/x86/include/asm/mmu_context.h linux-3.0.7/arch/x86/include/asm/mmu_context.h
7604--- linux-3.0.4/arch/x86/include/asm/mmu_context.h 2011-07-21 22:17:23.000000000 -0400 7744--- linux-3.0.7/arch/x86/include/asm/mmu_context.h 2011-07-21 22:17:23.000000000 -0400
7605+++ linux-3.0.4/arch/x86/include/asm/mmu_context.h 2011-08-23 21:48:14.000000000 -0400 7745+++ linux-3.0.7/arch/x86/include/asm/mmu_context.h 2011-08-23 21:48:14.000000000 -0400
7606@@ -24,6 +24,18 @@ void destroy_context(struct mm_struct *m 7746@@ -24,6 +24,18 @@ void destroy_context(struct mm_struct *m
7607 7747
7608 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) 7748 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
@@ -7723,9 +7863,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/mmu_context.h linux-3.0.4/arch/x86/i
7723 } 7863 }
7724 7864
7725 #define activate_mm(prev, next) \ 7865 #define activate_mm(prev, next) \
7726diff -urNp linux-3.0.4/arch/x86/include/asm/mmu.h linux-3.0.4/arch/x86/include/asm/mmu.h 7866diff -urNp linux-3.0.7/arch/x86/include/asm/mmu.h linux-3.0.7/arch/x86/include/asm/mmu.h
7727--- linux-3.0.4/arch/x86/include/asm/mmu.h 2011-07-21 22:17:23.000000000 -0400 7867--- linux-3.0.7/arch/x86/include/asm/mmu.h 2011-07-21 22:17:23.000000000 -0400
7728+++ linux-3.0.4/arch/x86/include/asm/mmu.h 2011-08-23 21:47:55.000000000 -0400 7868+++ linux-3.0.7/arch/x86/include/asm/mmu.h 2011-08-23 21:47:55.000000000 -0400
7729@@ -9,7 +9,7 @@ 7869@@ -9,7 +9,7 @@
7730 * we put the segment information here. 7870 * we put the segment information here.
7731 */ 7871 */
@@ -7756,9 +7896,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/mmu.h linux-3.0.4/arch/x86/include/a
7756 } mm_context_t; 7896 } mm_context_t;
7757 7897
7758 #ifdef CONFIG_SMP 7898 #ifdef CONFIG_SMP
7759diff -urNp linux-3.0.4/arch/x86/include/asm/module.h linux-3.0.4/arch/x86/include/asm/module.h 7899diff -urNp linux-3.0.7/arch/x86/include/asm/module.h linux-3.0.7/arch/x86/include/asm/module.h
7760--- linux-3.0.4/arch/x86/include/asm/module.h 2011-07-21 22:17:23.000000000 -0400 7900--- linux-3.0.7/arch/x86/include/asm/module.h 2011-07-21 22:17:23.000000000 -0400
7761+++ linux-3.0.4/arch/x86/include/asm/module.h 2011-08-23 21:48:14.000000000 -0400 7901+++ linux-3.0.7/arch/x86/include/asm/module.h 2011-10-07 19:24:31.000000000 -0400
7762@@ -5,6 +5,7 @@ 7902@@ -5,6 +5,7 @@
7763 7903
7764 #ifdef CONFIG_X86_64 7904 #ifdef CONFIG_X86_64
@@ -7767,42 +7907,30 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/module.h linux-3.0.4/arch/x86/includ
7767 #elif defined CONFIG_M386 7907 #elif defined CONFIG_M386
7768 #define MODULE_PROC_FAMILY "386 " 7908 #define MODULE_PROC_FAMILY "386 "
7769 #elif defined CONFIG_M486 7909 #elif defined CONFIG_M486
7770@@ -59,8 +60,30 @@ 7910@@ -59,8 +60,18 @@
7771 #error unknown processor family 7911 #error unknown processor family
7772 #endif 7912 #endif
7773 7913
7774-#ifdef CONFIG_X86_32 7914-#ifdef CONFIG_X86_32
7775-# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY 7915-# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY
7776+#ifdef CONFIG_PAX_MEMORY_UDEREF
7777+#define MODULE_PAX_UDEREF "UDEREF "
7778+#else
7779+#define MODULE_PAX_UDEREF ""
7780+#endif
7781+
7782+#ifdef CONFIG_PAX_KERNEXEC 7916+#ifdef CONFIG_PAX_KERNEXEC
7783+#define MODULE_PAX_KERNEXEC "KERNEXEC " 7917+#define MODULE_PAX_KERNEXEC "KERNEXEC "
7784+#else 7918+#else
7785+#define MODULE_PAX_KERNEXEC "" 7919+#define MODULE_PAX_KERNEXEC ""
7786 #endif 7920 #endif
7787 7921
7788+#ifdef CONFIG_PAX_REFCOUNT 7922+#ifdef CONFIG_PAX_MEMORY_UDEREF
7789+#define MODULE_PAX_REFCOUNT "REFCOUNT " 7923+#define MODULE_PAX_UDEREF "UDEREF "
7790+#else
7791+#define MODULE_PAX_REFCOUNT ""
7792+#endif
7793+
7794+#ifdef CONFIG_GRKERNSEC
7795+#define MODULE_GRSEC "GRSECURITY "
7796+#else 7924+#else
7797+#define MODULE_GRSEC "" 7925+#define MODULE_PAX_UDEREF ""
7798+#endif 7926+#endif
7799+ 7927+
7800+#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_GRSEC MODULE_PAX_KERNEXEC MODULE_PAX_UDEREF MODULE_PAX_REFCOUNT 7928+#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_PAX_KERNEXEC MODULE_PAX_UDEREF
7801+ 7929+
7802 #endif /* _ASM_X86_MODULE_H */ 7930 #endif /* _ASM_X86_MODULE_H */
7803diff -urNp linux-3.0.4/arch/x86/include/asm/page_64_types.h linux-3.0.4/arch/x86/include/asm/page_64_types.h 7931diff -urNp linux-3.0.7/arch/x86/include/asm/page_64_types.h linux-3.0.7/arch/x86/include/asm/page_64_types.h
7804--- linux-3.0.4/arch/x86/include/asm/page_64_types.h 2011-07-21 22:17:23.000000000 -0400 7932--- linux-3.0.7/arch/x86/include/asm/page_64_types.h 2011-07-21 22:17:23.000000000 -0400
7805+++ linux-3.0.4/arch/x86/include/asm/page_64_types.h 2011-08-23 21:47:55.000000000 -0400 7933+++ linux-3.0.7/arch/x86/include/asm/page_64_types.h 2011-08-23 21:47:55.000000000 -0400
7806@@ -56,7 +56,7 @@ void copy_page(void *to, void *from); 7934@@ -56,7 +56,7 @@ void copy_page(void *to, void *from);
7807 7935
7808 /* duplicated to the one in bootmem.h */ 7936 /* duplicated to the one in bootmem.h */
@@ -7812,9 +7940,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/page_64_types.h linux-3.0.4/arch/x86
7812 7940
7813 extern unsigned long __phys_addr(unsigned long); 7941 extern unsigned long __phys_addr(unsigned long);
7814 #define __phys_reloc_hide(x) (x) 7942 #define __phys_reloc_hide(x) (x)
7815diff -urNp linux-3.0.4/arch/x86/include/asm/paravirt.h linux-3.0.4/arch/x86/include/asm/paravirt.h 7943diff -urNp linux-3.0.7/arch/x86/include/asm/paravirt.h linux-3.0.7/arch/x86/include/asm/paravirt.h
7816--- linux-3.0.4/arch/x86/include/asm/paravirt.h 2011-07-21 22:17:23.000000000 -0400 7944--- linux-3.0.7/arch/x86/include/asm/paravirt.h 2011-07-21 22:17:23.000000000 -0400
7817+++ linux-3.0.4/arch/x86/include/asm/paravirt.h 2011-08-23 21:47:55.000000000 -0400 7945+++ linux-3.0.7/arch/x86/include/asm/paravirt.h 2011-08-23 21:47:55.000000000 -0400
7818@@ -658,6 +658,18 @@ static inline void set_pgd(pgd_t *pgdp, 7946@@ -658,6 +658,18 @@ static inline void set_pgd(pgd_t *pgdp,
7819 val); 7947 val);
7820 } 7948 }
@@ -7887,9 +8015,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/paravirt.h linux-3.0.4/arch/x86/incl
7887 #endif /* CONFIG_X86_32 */ 8015 #endif /* CONFIG_X86_32 */
7888 8016
7889 #endif /* __ASSEMBLY__ */ 8017 #endif /* __ASSEMBLY__ */
7890diff -urNp linux-3.0.4/arch/x86/include/asm/paravirt_types.h linux-3.0.4/arch/x86/include/asm/paravirt_types.h 8018diff -urNp linux-3.0.7/arch/x86/include/asm/paravirt_types.h linux-3.0.7/arch/x86/include/asm/paravirt_types.h
7891--- linux-3.0.4/arch/x86/include/asm/paravirt_types.h 2011-07-21 22:17:23.000000000 -0400 8019--- linux-3.0.7/arch/x86/include/asm/paravirt_types.h 2011-07-21 22:17:23.000000000 -0400
7892+++ linux-3.0.4/arch/x86/include/asm/paravirt_types.h 2011-08-23 21:47:55.000000000 -0400 8020+++ linux-3.0.7/arch/x86/include/asm/paravirt_types.h 2011-08-23 21:47:55.000000000 -0400
7893@@ -78,19 +78,19 @@ struct pv_init_ops { 8021@@ -78,19 +78,19 @@ struct pv_init_ops {
7894 */ 8022 */
7895 unsigned (*patch)(u8 type, u16 clobber, void *insnbuf, 8023 unsigned (*patch)(u8 type, u16 clobber, void *insnbuf,
@@ -7961,9 +8089,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/paravirt_types.h linux-3.0.4/arch/x8
7961 8089
7962 /* This contains all the paravirt structures: we get a convenient 8090 /* This contains all the paravirt structures: we get a convenient
7963 * number for each function using the offset which we use to indicate 8091 * number for each function using the offset which we use to indicate
7964diff -urNp linux-3.0.4/arch/x86/include/asm/pgalloc.h linux-3.0.4/arch/x86/include/asm/pgalloc.h 8092diff -urNp linux-3.0.7/arch/x86/include/asm/pgalloc.h linux-3.0.7/arch/x86/include/asm/pgalloc.h
7965--- linux-3.0.4/arch/x86/include/asm/pgalloc.h 2011-07-21 22:17:23.000000000 -0400 8093--- linux-3.0.7/arch/x86/include/asm/pgalloc.h 2011-07-21 22:17:23.000000000 -0400
7966+++ linux-3.0.4/arch/x86/include/asm/pgalloc.h 2011-08-23 21:47:55.000000000 -0400 8094+++ linux-3.0.7/arch/x86/include/asm/pgalloc.h 2011-08-23 21:47:55.000000000 -0400
7967@@ -63,6 +63,13 @@ static inline void pmd_populate_kernel(s 8095@@ -63,6 +63,13 @@ static inline void pmd_populate_kernel(s
7968 pmd_t *pmd, pte_t *pte) 8096 pmd_t *pmd, pte_t *pte)
7969 { 8097 {
@@ -7978,9 +8106,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/pgalloc.h linux-3.0.4/arch/x86/inclu
7978 set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE)); 8106 set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE));
7979 } 8107 }
7980 8108
7981diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable-2level.h linux-3.0.4/arch/x86/include/asm/pgtable-2level.h 8109diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable-2level.h linux-3.0.7/arch/x86/include/asm/pgtable-2level.h
7982--- linux-3.0.4/arch/x86/include/asm/pgtable-2level.h 2011-07-21 22:17:23.000000000 -0400 8110--- linux-3.0.7/arch/x86/include/asm/pgtable-2level.h 2011-07-21 22:17:23.000000000 -0400
7983+++ linux-3.0.4/arch/x86/include/asm/pgtable-2level.h 2011-08-23 21:47:55.000000000 -0400 8111+++ linux-3.0.7/arch/x86/include/asm/pgtable-2level.h 2011-08-23 21:47:55.000000000 -0400
7984@@ -18,7 +18,9 @@ static inline void native_set_pte(pte_t 8112@@ -18,7 +18,9 @@ static inline void native_set_pte(pte_t
7985 8113
7986 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) 8114 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd)
@@ -7991,9 +8119,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable-2level.h linux-3.0.4/arch/x8
7991 } 8119 }
7992 8120
7993 static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte) 8121 static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte)
7994diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable_32.h linux-3.0.4/arch/x86/include/asm/pgtable_32.h 8122diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable_32.h linux-3.0.7/arch/x86/include/asm/pgtable_32.h
7995--- linux-3.0.4/arch/x86/include/asm/pgtable_32.h 2011-07-21 22:17:23.000000000 -0400 8123--- linux-3.0.7/arch/x86/include/asm/pgtable_32.h 2011-07-21 22:17:23.000000000 -0400
7996+++ linux-3.0.4/arch/x86/include/asm/pgtable_32.h 2011-08-23 21:47:55.000000000 -0400 8124+++ linux-3.0.7/arch/x86/include/asm/pgtable_32.h 2011-08-23 21:47:55.000000000 -0400
7997@@ -25,9 +25,6 @@ 8125@@ -25,9 +25,6 @@
7998 struct mm_struct; 8126 struct mm_struct;
7999 struct vm_area_struct; 8127 struct vm_area_struct;
@@ -8037,9 +8165,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable_32.h linux-3.0.4/arch/x86/in
8037 /* 8165 /*
8038 * kern_addr_valid() is (1) for FLATMEM and (0) for 8166 * kern_addr_valid() is (1) for FLATMEM and (0) for
8039 * SPARSEMEM and DISCONTIGMEM 8167 * SPARSEMEM and DISCONTIGMEM
8040diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable_32_types.h linux-3.0.4/arch/x86/include/asm/pgtable_32_types.h 8168diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable_32_types.h linux-3.0.7/arch/x86/include/asm/pgtable_32_types.h
8041--- linux-3.0.4/arch/x86/include/asm/pgtable_32_types.h 2011-07-21 22:17:23.000000000 -0400 8169--- linux-3.0.7/arch/x86/include/asm/pgtable_32_types.h 2011-07-21 22:17:23.000000000 -0400
8042+++ linux-3.0.4/arch/x86/include/asm/pgtable_32_types.h 2011-08-23 21:47:55.000000000 -0400 8170+++ linux-3.0.7/arch/x86/include/asm/pgtable_32_types.h 2011-08-23 21:47:55.000000000 -0400
8043@@ -8,7 +8,7 @@ 8171@@ -8,7 +8,7 @@
8044 */ 8172 */
8045 #ifdef CONFIG_X86_PAE 8173 #ifdef CONFIG_X86_PAE
@@ -8069,9 +8197,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable_32_types.h linux-3.0.4/arch/
8069 #define MODULES_VADDR VMALLOC_START 8197 #define MODULES_VADDR VMALLOC_START
8070 #define MODULES_END VMALLOC_END 8198 #define MODULES_END VMALLOC_END
8071 #define MODULES_LEN (MODULES_VADDR - MODULES_END) 8199 #define MODULES_LEN (MODULES_VADDR - MODULES_END)
8072diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable-3level.h linux-3.0.4/arch/x86/include/asm/pgtable-3level.h 8200diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable-3level.h linux-3.0.7/arch/x86/include/asm/pgtable-3level.h
8073--- linux-3.0.4/arch/x86/include/asm/pgtable-3level.h 2011-07-21 22:17:23.000000000 -0400 8201--- linux-3.0.7/arch/x86/include/asm/pgtable-3level.h 2011-07-21 22:17:23.000000000 -0400
8074+++ linux-3.0.4/arch/x86/include/asm/pgtable-3level.h 2011-08-23 21:47:55.000000000 -0400 8202+++ linux-3.0.7/arch/x86/include/asm/pgtable-3level.h 2011-08-23 21:47:55.000000000 -0400
8075@@ -38,12 +38,16 @@ static inline void native_set_pte_atomic 8203@@ -38,12 +38,16 @@ static inline void native_set_pte_atomic
8076 8204
8077 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) 8205 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd)
@@ -8089,9 +8217,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable-3level.h linux-3.0.4/arch/x8
8089 } 8217 }
8090 8218
8091 /* 8219 /*
8092diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable_64.h linux-3.0.4/arch/x86/include/asm/pgtable_64.h 8220diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable_64.h linux-3.0.7/arch/x86/include/asm/pgtable_64.h
8093--- linux-3.0.4/arch/x86/include/asm/pgtable_64.h 2011-07-21 22:17:23.000000000 -0400 8221--- linux-3.0.7/arch/x86/include/asm/pgtable_64.h 2011-07-21 22:17:23.000000000 -0400
8094+++ linux-3.0.4/arch/x86/include/asm/pgtable_64.h 2011-08-23 21:47:55.000000000 -0400 8222+++ linux-3.0.7/arch/x86/include/asm/pgtable_64.h 2011-08-23 21:47:55.000000000 -0400
8095@@ -16,10 +16,13 @@ 8223@@ -16,10 +16,13 @@
8096 8224
8097 extern pud_t level3_kernel_pgt[512]; 8225 extern pud_t level3_kernel_pgt[512];
@@ -8132,9 +8260,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable_64.h linux-3.0.4/arch/x86/in
8132 *pgdp = pgd; 8260 *pgdp = pgd;
8133 } 8261 }
8134 8262
8135diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable_64_types.h linux-3.0.4/arch/x86/include/asm/pgtable_64_types.h 8263diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable_64_types.h linux-3.0.7/arch/x86/include/asm/pgtable_64_types.h
8136--- linux-3.0.4/arch/x86/include/asm/pgtable_64_types.h 2011-07-21 22:17:23.000000000 -0400 8264--- linux-3.0.7/arch/x86/include/asm/pgtable_64_types.h 2011-07-21 22:17:23.000000000 -0400
8137+++ linux-3.0.4/arch/x86/include/asm/pgtable_64_types.h 2011-08-23 21:47:55.000000000 -0400 8265+++ linux-3.0.7/arch/x86/include/asm/pgtable_64_types.h 2011-08-23 21:47:55.000000000 -0400
8138@@ -59,5 +59,10 @@ typedef struct { pteval_t pte; } pte_t; 8266@@ -59,5 +59,10 @@ typedef struct { pteval_t pte; } pte_t;
8139 #define MODULES_VADDR _AC(0xffffffffa0000000, UL) 8267 #define MODULES_VADDR _AC(0xffffffffa0000000, UL)
8140 #define MODULES_END _AC(0xffffffffff000000, UL) 8268 #define MODULES_END _AC(0xffffffffff000000, UL)
@@ -8146,9 +8274,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable_64_types.h linux-3.0.4/arch/
8146+#define ktva_ktla(addr) (addr) 8274+#define ktva_ktla(addr) (addr)
8147 8275
8148 #endif /* _ASM_X86_PGTABLE_64_DEFS_H */ 8276 #endif /* _ASM_X86_PGTABLE_64_DEFS_H */
8149diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable.h linux-3.0.4/arch/x86/include/asm/pgtable.h 8277diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable.h linux-3.0.7/arch/x86/include/asm/pgtable.h
8150--- linux-3.0.4/arch/x86/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400 8278--- linux-3.0.7/arch/x86/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400
8151+++ linux-3.0.4/arch/x86/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400 8279+++ linux-3.0.7/arch/x86/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400
8152@@ -44,6 +44,7 @@ extern struct mm_struct *pgd_page_get_mm 8280@@ -44,6 +44,7 @@ extern struct mm_struct *pgd_page_get_mm
8153 8281
8154 #ifndef __PAGETABLE_PUD_FOLDED 8282 #ifndef __PAGETABLE_PUD_FOLDED
@@ -8326,9 +8454,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable.h linux-3.0.4/arch/x86/inclu
8326 8454
8327 #include <asm-generic/pgtable.h> 8455 #include <asm-generic/pgtable.h>
8328 #endif /* __ASSEMBLY__ */ 8456 #endif /* __ASSEMBLY__ */
8329diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable_types.h linux-3.0.4/arch/x86/include/asm/pgtable_types.h 8457diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable_types.h linux-3.0.7/arch/x86/include/asm/pgtable_types.h
8330--- linux-3.0.4/arch/x86/include/asm/pgtable_types.h 2011-07-21 22:17:23.000000000 -0400 8458--- linux-3.0.7/arch/x86/include/asm/pgtable_types.h 2011-07-21 22:17:23.000000000 -0400
8331+++ linux-3.0.4/arch/x86/include/asm/pgtable_types.h 2011-08-23 21:47:55.000000000 -0400 8459+++ linux-3.0.7/arch/x86/include/asm/pgtable_types.h 2011-08-23 21:47:55.000000000 -0400
8332@@ -16,13 +16,12 @@ 8460@@ -16,13 +16,12 @@
8333 #define _PAGE_BIT_PSE 7 /* 4 MB (or 2MB) page */ 8461 #define _PAGE_BIT_PSE 7 /* 4 MB (or 2MB) page */
8334 #define _PAGE_BIT_PAT 7 /* on 4KB pages */ 8462 #define _PAGE_BIT_PAT 7 /* on 4KB pages */
@@ -8442,9 +8570,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/pgtable_types.h linux-3.0.4/arch/x86
8442 8570
8443 #define pgprot_writecombine pgprot_writecombine 8571 #define pgprot_writecombine pgprot_writecombine
8444 extern pgprot_t pgprot_writecombine(pgprot_t prot); 8572 extern pgprot_t pgprot_writecombine(pgprot_t prot);
8445diff -urNp linux-3.0.4/arch/x86/include/asm/processor.h linux-3.0.4/arch/x86/include/asm/processor.h 8573diff -urNp linux-3.0.7/arch/x86/include/asm/processor.h linux-3.0.7/arch/x86/include/asm/processor.h
8446--- linux-3.0.4/arch/x86/include/asm/processor.h 2011-07-21 22:17:23.000000000 -0400 8574--- linux-3.0.7/arch/x86/include/asm/processor.h 2011-07-21 22:17:23.000000000 -0400
8447+++ linux-3.0.4/arch/x86/include/asm/processor.h 2011-08-23 21:47:55.000000000 -0400 8575+++ linux-3.0.7/arch/x86/include/asm/processor.h 2011-08-23 21:47:55.000000000 -0400
8448@@ -266,7 +266,7 @@ struct tss_struct { 8576@@ -266,7 +266,7 @@ struct tss_struct {
8449 8577
8450 } ____cacheline_aligned; 8578 } ____cacheline_aligned;
@@ -8547,9 +8675,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/processor.h linux-3.0.4/arch/x86/inc
8547 #define KSTK_EIP(task) (task_pt_regs(task)->ip) 8675 #define KSTK_EIP(task) (task_pt_regs(task)->ip)
8548 8676
8549 /* Get/set a process' ability to use the timestamp counter instruction */ 8677 /* Get/set a process' ability to use the timestamp counter instruction */
8550diff -urNp linux-3.0.4/arch/x86/include/asm/ptrace.h linux-3.0.4/arch/x86/include/asm/ptrace.h 8678diff -urNp linux-3.0.7/arch/x86/include/asm/ptrace.h linux-3.0.7/arch/x86/include/asm/ptrace.h
8551--- linux-3.0.4/arch/x86/include/asm/ptrace.h 2011-07-21 22:17:23.000000000 -0400 8679--- linux-3.0.7/arch/x86/include/asm/ptrace.h 2011-07-21 22:17:23.000000000 -0400
8552+++ linux-3.0.4/arch/x86/include/asm/ptrace.h 2011-08-23 21:47:55.000000000 -0400 8680+++ linux-3.0.7/arch/x86/include/asm/ptrace.h 2011-08-23 21:47:55.000000000 -0400
8553@@ -153,28 +153,29 @@ static inline unsigned long regs_return_ 8681@@ -153,28 +153,29 @@ static inline unsigned long regs_return_
8554 } 8682 }
8555 8683
@@ -8586,9 +8714,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/ptrace.h linux-3.0.4/arch/x86/includ
8586 #endif 8714 #endif
8587 } 8715 }
8588 8716
8589diff -urNp linux-3.0.4/arch/x86/include/asm/reboot.h linux-3.0.4/arch/x86/include/asm/reboot.h 8717diff -urNp linux-3.0.7/arch/x86/include/asm/reboot.h linux-3.0.7/arch/x86/include/asm/reboot.h
8590--- linux-3.0.4/arch/x86/include/asm/reboot.h 2011-07-21 22:17:23.000000000 -0400 8718--- linux-3.0.7/arch/x86/include/asm/reboot.h 2011-07-21 22:17:23.000000000 -0400
8591+++ linux-3.0.4/arch/x86/include/asm/reboot.h 2011-08-23 21:47:55.000000000 -0400 8719+++ linux-3.0.7/arch/x86/include/asm/reboot.h 2011-08-23 21:47:55.000000000 -0400
8592@@ -6,19 +6,19 @@ 8720@@ -6,19 +6,19 @@
8593 struct pt_regs; 8721 struct pt_regs;
8594 8722
@@ -8615,9 +8743,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/reboot.h linux-3.0.4/arch/x86/includ
8615 /* These must match dispatch_table in reboot_32.S */ 8743 /* These must match dispatch_table in reboot_32.S */
8616 #define MRR_BIOS 0 8744 #define MRR_BIOS 0
8617 #define MRR_APM 1 8745 #define MRR_APM 1
8618diff -urNp linux-3.0.4/arch/x86/include/asm/rwsem.h linux-3.0.4/arch/x86/include/asm/rwsem.h 8746diff -urNp linux-3.0.7/arch/x86/include/asm/rwsem.h linux-3.0.7/arch/x86/include/asm/rwsem.h
8619--- linux-3.0.4/arch/x86/include/asm/rwsem.h 2011-07-21 22:17:23.000000000 -0400 8747--- linux-3.0.7/arch/x86/include/asm/rwsem.h 2011-07-21 22:17:23.000000000 -0400
8620+++ linux-3.0.4/arch/x86/include/asm/rwsem.h 2011-08-23 21:47:55.000000000 -0400 8748+++ linux-3.0.7/arch/x86/include/asm/rwsem.h 2011-08-23 21:47:55.000000000 -0400
8621@@ -64,6 +64,14 @@ static inline void __down_read(struct rw 8749@@ -64,6 +64,14 @@ static inline void __down_read(struct rw
8622 { 8750 {
8623 asm volatile("# beginning down_read\n\t" 8751 asm volatile("# beginning down_read\n\t"
@@ -8742,9 +8870,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/rwsem.h linux-3.0.4/arch/x86/include
8742 : "+r" (tmp), "+m" (sem->count) 8870 : "+r" (tmp), "+m" (sem->count)
8743 : : "memory"); 8871 : : "memory");
8744 8872
8745diff -urNp linux-3.0.4/arch/x86/include/asm/segment.h linux-3.0.4/arch/x86/include/asm/segment.h 8873diff -urNp linux-3.0.7/arch/x86/include/asm/segment.h linux-3.0.7/arch/x86/include/asm/segment.h
8746--- linux-3.0.4/arch/x86/include/asm/segment.h 2011-07-21 22:17:23.000000000 -0400 8874--- linux-3.0.7/arch/x86/include/asm/segment.h 2011-07-21 22:17:23.000000000 -0400
8747+++ linux-3.0.4/arch/x86/include/asm/segment.h 2011-09-17 00:53:42.000000000 -0400 8875+++ linux-3.0.7/arch/x86/include/asm/segment.h 2011-09-17 00:53:42.000000000 -0400
8748@@ -64,10 +64,15 @@ 8876@@ -64,10 +64,15 @@
8749 * 26 - ESPFIX small SS 8877 * 26 - ESPFIX small SS
8750 * 27 - per-cpu [ offset to per-cpu data area ] 8878 * 27 - per-cpu [ offset to per-cpu data area ]
@@ -8811,9 +8939,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/segment.h linux-3.0.4/arch/x86/inclu
8811 #define __KERNEL_DS (GDT_ENTRY_KERNEL_DS*8) 8939 #define __KERNEL_DS (GDT_ENTRY_KERNEL_DS*8)
8812 #define __USER_DS (GDT_ENTRY_DEFAULT_USER_DS*8+3) 8940 #define __USER_DS (GDT_ENTRY_DEFAULT_USER_DS*8+3)
8813 #define __USER_CS (GDT_ENTRY_DEFAULT_USER_CS*8+3) 8941 #define __USER_CS (GDT_ENTRY_DEFAULT_USER_CS*8+3)
8814diff -urNp linux-3.0.4/arch/x86/include/asm/smp.h linux-3.0.4/arch/x86/include/asm/smp.h 8942diff -urNp linux-3.0.7/arch/x86/include/asm/smp.h linux-3.0.7/arch/x86/include/asm/smp.h
8815--- linux-3.0.4/arch/x86/include/asm/smp.h 2011-07-21 22:17:23.000000000 -0400 8943--- linux-3.0.7/arch/x86/include/asm/smp.h 2011-07-21 22:17:23.000000000 -0400
8816+++ linux-3.0.4/arch/x86/include/asm/smp.h 2011-08-23 21:47:55.000000000 -0400 8944+++ linux-3.0.7/arch/x86/include/asm/smp.h 2011-08-23 21:47:55.000000000 -0400
8817@@ -36,7 +36,7 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_ 8945@@ -36,7 +36,7 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_
8818 /* cpus sharing the last level cache: */ 8946 /* cpus sharing the last level cache: */
8819 DECLARE_PER_CPU(cpumask_var_t, cpu_llc_shared_map); 8947 DECLARE_PER_CPU(cpumask_var_t, cpu_llc_shared_map);
@@ -8849,9 +8977,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/smp.h linux-3.0.4/arch/x86/include/a
8849 #define safe_smp_processor_id() smp_processor_id() 8977 #define safe_smp_processor_id() smp_processor_id()
8850 8978
8851 #endif 8979 #endif
8852diff -urNp linux-3.0.4/arch/x86/include/asm/spinlock.h linux-3.0.4/arch/x86/include/asm/spinlock.h 8980diff -urNp linux-3.0.7/arch/x86/include/asm/spinlock.h linux-3.0.7/arch/x86/include/asm/spinlock.h
8853--- linux-3.0.4/arch/x86/include/asm/spinlock.h 2011-07-21 22:17:23.000000000 -0400 8981--- linux-3.0.7/arch/x86/include/asm/spinlock.h 2011-07-21 22:17:23.000000000 -0400
8854+++ linux-3.0.4/arch/x86/include/asm/spinlock.h 2011-08-23 21:47:55.000000000 -0400 8982+++ linux-3.0.7/arch/x86/include/asm/spinlock.h 2011-08-23 21:47:55.000000000 -0400
8855@@ -249,6 +249,14 @@ static inline int arch_write_can_lock(ar 8983@@ -249,6 +249,14 @@ static inline int arch_write_can_lock(ar
8856 static inline void arch_read_lock(arch_rwlock_t *rw) 8984 static inline void arch_read_lock(arch_rwlock_t *rw)
8857 { 8985 {
@@ -8914,9 +9042,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/spinlock.h linux-3.0.4/arch/x86/incl
8914 : "+m" (rw->lock) : "i" (RW_LOCK_BIAS) : "memory"); 9042 : "+m" (rw->lock) : "i" (RW_LOCK_BIAS) : "memory");
8915 } 9043 }
8916 9044
8917diff -urNp linux-3.0.4/arch/x86/include/asm/stackprotector.h linux-3.0.4/arch/x86/include/asm/stackprotector.h 9045diff -urNp linux-3.0.7/arch/x86/include/asm/stackprotector.h linux-3.0.7/arch/x86/include/asm/stackprotector.h
8918--- linux-3.0.4/arch/x86/include/asm/stackprotector.h 2011-07-21 22:17:23.000000000 -0400 9046--- linux-3.0.7/arch/x86/include/asm/stackprotector.h 2011-07-21 22:17:23.000000000 -0400
8919+++ linux-3.0.4/arch/x86/include/asm/stackprotector.h 2011-08-23 21:47:55.000000000 -0400 9047+++ linux-3.0.7/arch/x86/include/asm/stackprotector.h 2011-08-23 21:47:55.000000000 -0400
8920@@ -48,7 +48,7 @@ 9048@@ -48,7 +48,7 @@
8921 * head_32 for boot CPU and setup_per_cpu_areas() for others. 9049 * head_32 for boot CPU and setup_per_cpu_areas() for others.
8922 */ 9050 */
@@ -8935,9 +9063,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/stackprotector.h linux-3.0.4/arch/x8
8935 asm volatile ("mov %0, %%gs" : : "r" (0)); 9063 asm volatile ("mov %0, %%gs" : : "r" (0));
8936 #endif 9064 #endif
8937 } 9065 }
8938diff -urNp linux-3.0.4/arch/x86/include/asm/stacktrace.h linux-3.0.4/arch/x86/include/asm/stacktrace.h 9066diff -urNp linux-3.0.7/arch/x86/include/asm/stacktrace.h linux-3.0.7/arch/x86/include/asm/stacktrace.h
8939--- linux-3.0.4/arch/x86/include/asm/stacktrace.h 2011-07-21 22:17:23.000000000 -0400 9067--- linux-3.0.7/arch/x86/include/asm/stacktrace.h 2011-07-21 22:17:23.000000000 -0400
8940+++ linux-3.0.4/arch/x86/include/asm/stacktrace.h 2011-08-23 21:47:55.000000000 -0400 9068+++ linux-3.0.7/arch/x86/include/asm/stacktrace.h 2011-08-23 21:47:55.000000000 -0400
8941@@ -11,28 +11,20 @@ 9069@@ -11,28 +11,20 @@
8942 9070
8943 extern int kstack_depth_to_print; 9071 extern int kstack_depth_to_print;
@@ -8988,9 +9116,21 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/stacktrace.h linux-3.0.4/arch/x86/in
8988 }; 9116 };
8989 9117
8990 void dump_trace(struct task_struct *tsk, struct pt_regs *regs, 9118 void dump_trace(struct task_struct *tsk, struct pt_regs *regs,
8991diff -urNp linux-3.0.4/arch/x86/include/asm/system.h linux-3.0.4/arch/x86/include/asm/system.h 9119diff -urNp linux-3.0.7/arch/x86/include/asm/sys_ia32.h linux-3.0.7/arch/x86/include/asm/sys_ia32.h
8992--- linux-3.0.4/arch/x86/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400 9120--- linux-3.0.7/arch/x86/include/asm/sys_ia32.h 2011-07-21 22:17:23.000000000 -0400
8993+++ linux-3.0.4/arch/x86/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400 9121+++ linux-3.0.7/arch/x86/include/asm/sys_ia32.h 2011-10-06 04:17:55.000000000 -0400
9122@@ -40,7 +40,7 @@ asmlinkage long sys32_rt_sigprocmask(int
9123 compat_sigset_t __user *, unsigned int);
9124 asmlinkage long sys32_alarm(unsigned int);
9125
9126-asmlinkage long sys32_waitpid(compat_pid_t, unsigned int *, int);
9127+asmlinkage long sys32_waitpid(compat_pid_t, unsigned int __user *, int);
9128 asmlinkage long sys32_sysfs(int, u32, u32);
9129
9130 asmlinkage long sys32_sched_rr_get_interval(compat_pid_t,
9131diff -urNp linux-3.0.7/arch/x86/include/asm/system.h linux-3.0.7/arch/x86/include/asm/system.h
9132--- linux-3.0.7/arch/x86/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400
9133+++ linux-3.0.7/arch/x86/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400
8994@@ -129,7 +129,7 @@ do { \ 9134@@ -129,7 +129,7 @@ do { \
8995 "call __switch_to\n\t" \ 9135 "call __switch_to\n\t" \
8996 "movq "__percpu_arg([current_task])",%%rsi\n\t" \ 9136 "movq "__percpu_arg([current_task])",%%rsi\n\t" \
@@ -9033,9 +9173,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/system.h linux-3.0.4/arch/x86/includ
9033 9173
9034 /* 9174 /*
9035 * Force strict CPU ordering. 9175 * Force strict CPU ordering.
9036diff -urNp linux-3.0.4/arch/x86/include/asm/thread_info.h linux-3.0.4/arch/x86/include/asm/thread_info.h 9176diff -urNp linux-3.0.7/arch/x86/include/asm/thread_info.h linux-3.0.7/arch/x86/include/asm/thread_info.h
9037--- linux-3.0.4/arch/x86/include/asm/thread_info.h 2011-07-21 22:17:23.000000000 -0400 9177--- linux-3.0.7/arch/x86/include/asm/thread_info.h 2011-07-21 22:17:23.000000000 -0400
9038+++ linux-3.0.4/arch/x86/include/asm/thread_info.h 2011-08-23 21:47:55.000000000 -0400 9178+++ linux-3.0.7/arch/x86/include/asm/thread_info.h 2011-08-23 21:47:55.000000000 -0400
9039@@ -10,6 +10,7 @@ 9179@@ -10,6 +10,7 @@
9040 #include <linux/compiler.h> 9180 #include <linux/compiler.h>
9041 #include <asm/page.h> 9181 #include <asm/page.h>
@@ -9183,9 +9323,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/thread_info.h linux-3.0.4/arch/x86/i
9183+ 9323+
9184 #endif 9324 #endif
9185 #endif /* _ASM_X86_THREAD_INFO_H */ 9325 #endif /* _ASM_X86_THREAD_INFO_H */
9186diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_32.h linux-3.0.4/arch/x86/include/asm/uaccess_32.h 9326diff -urNp linux-3.0.7/arch/x86/include/asm/uaccess_32.h linux-3.0.7/arch/x86/include/asm/uaccess_32.h
9187--- linux-3.0.4/arch/x86/include/asm/uaccess_32.h 2011-07-21 22:17:23.000000000 -0400 9327--- linux-3.0.7/arch/x86/include/asm/uaccess_32.h 2011-07-21 22:17:23.000000000 -0400
9188+++ linux-3.0.4/arch/x86/include/asm/uaccess_32.h 2011-08-23 21:48:14.000000000 -0400 9328+++ linux-3.0.7/arch/x86/include/asm/uaccess_32.h 2011-08-23 21:48:14.000000000 -0400
9189@@ -43,6 +43,11 @@ unsigned long __must_check __copy_from_u 9329@@ -43,6 +43,11 @@ unsigned long __must_check __copy_from_u
9190 static __always_inline unsigned long __must_check 9330 static __always_inline unsigned long __must_check
9191 __copy_to_user_inatomic(void __user *to, const void *from, unsigned long n) 9331 __copy_to_user_inatomic(void __user *to, const void *from, unsigned long n)
@@ -9353,9 +9493,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_32.h linux-3.0.4/arch/x86/in
9353 return n; 9493 return n;
9354 } 9494 }
9355 9495
9356diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/include/asm/uaccess_64.h 9496diff -urNp linux-3.0.7/arch/x86/include/asm/uaccess_64.h linux-3.0.7/arch/x86/include/asm/uaccess_64.h
9357--- linux-3.0.4/arch/x86/include/asm/uaccess_64.h 2011-07-21 22:17:23.000000000 -0400 9497--- linux-3.0.7/arch/x86/include/asm/uaccess_64.h 2011-07-21 22:17:23.000000000 -0400
9358+++ linux-3.0.4/arch/x86/include/asm/uaccess_64.h 2011-08-23 21:48:14.000000000 -0400 9498+++ linux-3.0.7/arch/x86/include/asm/uaccess_64.h 2011-10-06 04:17:55.000000000 -0400
9359@@ -10,6 +10,9 @@ 9499@@ -10,6 +10,9 @@
9360 #include <asm/alternative.h> 9500 #include <asm/alternative.h>
9361 #include <asm/cpufeature.h> 9501 #include <asm/cpufeature.h>
@@ -9453,7 +9593,7 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/in
9453+ src += PAX_USER_SHADOW_BASE; 9593+ src += PAX_USER_SHADOW_BASE;
9454+#endif 9594+#endif
9455+ 9595+
9456+ return copy_user_generic(dst, (__force const void *)src, size); 9596+ return copy_user_generic(dst, (__force_kernel const void *)src, size);
9457+ } 9597+ }
9458 switch (size) { 9598 switch (size) {
9459- case 1:__get_user_asm(*(u8 *)dst, (u8 __user *)src, 9599- case 1:__get_user_asm(*(u8 *)dst, (u8 __user *)src,
@@ -9502,7 +9642,7 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/in
9502+ src += PAX_USER_SHADOW_BASE; 9642+ src += PAX_USER_SHADOW_BASE;
9503+#endif 9643+#endif
9504+ 9644+
9505+ return copy_user_generic(dst, (__force const void *)src, size); 9645+ return copy_user_generic(dst, (__force_kernel const void *)src, size);
9506 } 9646 }
9507 } 9647 }
9508 9648
@@ -9516,6 +9656,7 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/in
9516 9656
9517 might_fault(); 9657 might_fault();
9518- if (!__builtin_constant_p(size)) 9658- if (!__builtin_constant_p(size))
9659- return copy_user_generic((__force void *)dst, src, size);
9519+ 9660+
9520+ pax_track_stack(); 9661+ pax_track_stack();
9521+ 9662+
@@ -9542,7 +9683,7 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/in
9542+ dst += PAX_USER_SHADOW_BASE; 9683+ dst += PAX_USER_SHADOW_BASE;
9543+#endif 9684+#endif
9544+ 9685+
9545 return copy_user_generic((__force void *)dst, src, size); 9686+ return copy_user_generic((__force_kernel void *)dst, src, size);
9546+ } 9687+ }
9547 switch (size) { 9688 switch (size) {
9548- case 1:__put_user_asm(*(u8 *)src, (u8 __user *)dst, 9689- case 1:__put_user_asm(*(u8 *)src, (u8 __user *)dst,
@@ -9584,13 +9725,14 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/in
9584 ret, "q", "", "er", 8); 9725 ret, "q", "", "er", 8);
9585 return ret; 9726 return ret;
9586 default: 9727 default:
9728- return copy_user_generic((__force void *)dst, src, size);
9587+ 9729+
9588+#ifdef CONFIG_PAX_MEMORY_UDEREF 9730+#ifdef CONFIG_PAX_MEMORY_UDEREF
9589+ if ((unsigned long)dst < PAX_USER_SHADOW_BASE) 9731+ if ((unsigned long)dst < PAX_USER_SHADOW_BASE)
9590+ dst += PAX_USER_SHADOW_BASE; 9732+ dst += PAX_USER_SHADOW_BASE;
9591+#endif 9733+#endif
9592+ 9734+
9593 return copy_user_generic((__force void *)dst, src, size); 9735+ return copy_user_generic((__force_kernel void *)dst, src, size);
9594 } 9736 }
9595 } 9737 }
9596 9738
@@ -9603,6 +9745,8 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/in
9603 9745
9604 might_fault(); 9746 might_fault();
9605- if (!__builtin_constant_p(size)) 9747- if (!__builtin_constant_p(size))
9748- return copy_user_generic((__force void *)dst,
9749- (__force void *)src, size);
9606+ 9750+
9607+ if ((int)size < 0) 9751+ if ((int)size < 0)
9608+ return size; 9752+ return size;
@@ -9623,9 +9767,8 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/in
9623+ dst += PAX_USER_SHADOW_BASE; 9767+ dst += PAX_USER_SHADOW_BASE;
9624+#endif 9768+#endif
9625+ 9769+
9626 return copy_user_generic((__force void *)dst, 9770+ return copy_user_generic((__force_kernel void *)dst,
9627- (__force void *)src, size); 9771+ (__force_kernel const void *)src, size);
9628+ (__force const void *)src, size);
9629+ } 9772+ }
9630 switch (size) { 9773 switch (size) {
9631 case 1: { 9774 case 1: {
@@ -9666,6 +9809,8 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/in
9666 return ret; 9809 return ret;
9667 } 9810 }
9668 default: 9811 default:
9812- return copy_user_generic((__force void *)dst,
9813- (__force void *)src, size);
9669+ 9814+
9670+#ifdef CONFIG_PAX_MEMORY_UDEREF 9815+#ifdef CONFIG_PAX_MEMORY_UDEREF
9671+ if ((unsigned long)src < PAX_USER_SHADOW_BASE) 9816+ if ((unsigned long)src < PAX_USER_SHADOW_BASE)
@@ -9674,9 +9819,8 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/in
9674+ dst += PAX_USER_SHADOW_BASE; 9819+ dst += PAX_USER_SHADOW_BASE;
9675+#endif 9820+#endif
9676+ 9821+
9677 return copy_user_generic((__force void *)dst, 9822+ return copy_user_generic((__force_kernel void *)dst,
9678- (__force void *)src, size); 9823+ (__force_kernel const void *)src, size);
9679+ (__force const void *)src, size);
9680 } 9824 }
9681 } 9825 }
9682 9826
@@ -9684,6 +9828,7 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/in
9684 static __must_check __always_inline int 9828 static __must_check __always_inline int
9685 __copy_from_user_inatomic(void *dst, const void __user *src, unsigned size) 9829 __copy_from_user_inatomic(void *dst, const void __user *src, unsigned size)
9686 { 9830 {
9831- return copy_user_generic(dst, (__force const void *)src, size);
9687+ pax_track_stack(); 9832+ pax_track_stack();
9688+ 9833+
9689+ if ((int)size < 0) 9834+ if ((int)size < 0)
@@ -9697,13 +9842,14 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/in
9697+ src += PAX_USER_SHADOW_BASE; 9842+ src += PAX_USER_SHADOW_BASE;
9698+#endif 9843+#endif
9699+ 9844+
9700 return copy_user_generic(dst, (__force const void *)src, size); 9845+ return copy_user_generic(dst, (__force_kernel const void *)src, size);
9701 } 9846 }
9702 9847
9703-static __must_check __always_inline int 9848-static __must_check __always_inline int
9704+static __must_check __always_inline unsigned long 9849+static __must_check __always_inline unsigned long
9705 __copy_to_user_inatomic(void __user *dst, const void *src, unsigned size) 9850 __copy_to_user_inatomic(void __user *dst, const void *src, unsigned size)
9706 { 9851 {
9852- return copy_user_generic((__force void *)dst, src, size);
9707+ if ((int)size < 0) 9853+ if ((int)size < 0)
9708+ return size; 9854+ return size;
9709+ 9855+
@@ -9715,7 +9861,7 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/in
9715+ dst += PAX_USER_SHADOW_BASE; 9861+ dst += PAX_USER_SHADOW_BASE;
9716+#endif 9862+#endif
9717+ 9863+
9718 return copy_user_generic((__force void *)dst, src, size); 9864+ return copy_user_generic((__force_kernel void *)dst, src, size);
9719 } 9865 }
9720 9866
9721-extern long __copy_user_nocache(void *dst, const void __user *src, 9867-extern long __copy_user_nocache(void *dst, const void __user *src,
@@ -9756,13 +9902,14 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess_64.h linux-3.0.4/arch/x86/in
9756 } 9902 }
9757 9903
9758-unsigned long 9904-unsigned long
9905-copy_user_handle_tail(char *to, char *from, unsigned len, unsigned zerorest);
9759+extern unsigned long 9906+extern unsigned long
9760 copy_user_handle_tail(char *to, char *from, unsigned len, unsigned zerorest); 9907+copy_user_handle_tail(char __user *to, char __user *from, unsigned len, unsigned zerorest);
9761 9908
9762 #endif /* _ASM_X86_UACCESS_64_H */ 9909 #endif /* _ASM_X86_UACCESS_64_H */
9763diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess.h linux-3.0.4/arch/x86/include/asm/uaccess.h 9910diff -urNp linux-3.0.7/arch/x86/include/asm/uaccess.h linux-3.0.7/arch/x86/include/asm/uaccess.h
9764--- linux-3.0.4/arch/x86/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400 9911--- linux-3.0.7/arch/x86/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400
9765+++ linux-3.0.4/arch/x86/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400 9912+++ linux-3.0.7/arch/x86/include/asm/uaccess.h 2011-10-06 04:17:55.000000000 -0400
9766@@ -7,12 +7,15 @@ 9913@@ -7,12 +7,15 @@
9767 #include <linux/compiler.h> 9914 #include <linux/compiler.h>
9768 #include <linux/thread_info.h> 9915 #include <linux/thread_info.h>
@@ -9862,6 +10009,15 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess.h linux-3.0.4/arch/x86/inclu
9862 "3:\n" \ 10009 "3:\n" \
9863 _ASM_EXTABLE(1b, 2b - 1b) \ 10010 _ASM_EXTABLE(1b, 2b - 1b) \
9864 _ASM_EXTABLE(2b, 3b - 2b) \ 10011 _ASM_EXTABLE(2b, 3b - 2b) \
10012@@ -252,7 +294,7 @@ extern void __put_user_8(void);
10013 __typeof__(*(ptr)) __pu_val; \
10014 __chk_user_ptr(ptr); \
10015 might_fault(); \
10016- __pu_val = x; \
10017+ __pu_val = (x); \
10018 switch (sizeof(*(ptr))) { \
10019 case 1: \
10020 __put_user_x(1, __pu_val, ptr, __ret_pu); \
9865@@ -373,7 +415,7 @@ do { \ 10021@@ -373,7 +415,7 @@ do { \
9866 } while (0) 10022 } while (0)
9867 10023
@@ -9973,9 +10129,21 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/uaccess.h linux-3.0.4/arch/x86/inclu
9973 } while (0) 10129 } while (0)
9974 10130
9975 #ifdef CONFIG_X86_WP_WORKS_OK 10131 #ifdef CONFIG_X86_WP_WORKS_OK
9976diff -urNp linux-3.0.4/arch/x86/include/asm/x86_init.h linux-3.0.4/arch/x86/include/asm/x86_init.h 10132diff -urNp linux-3.0.7/arch/x86/include/asm/vdso.h linux-3.0.7/arch/x86/include/asm/vdso.h
9977--- linux-3.0.4/arch/x86/include/asm/x86_init.h 2011-07-21 22:17:23.000000000 -0400 10133--- linux-3.0.7/arch/x86/include/asm/vdso.h 2011-07-21 22:17:23.000000000 -0400
9978+++ linux-3.0.4/arch/x86/include/asm/x86_init.h 2011-08-23 21:47:55.000000000 -0400 10134+++ linux-3.0.7/arch/x86/include/asm/vdso.h 2011-10-06 04:17:55.000000000 -0400
10135@@ -11,7 +11,7 @@ extern const char VDSO32_PRELINK[];
10136 #define VDSO32_SYMBOL(base, name) \
10137 ({ \
10138 extern const char VDSO32_##name[]; \
10139- (void *)(VDSO32_##name - VDSO32_PRELINK + (unsigned long)(base)); \
10140+ (void __user *)(VDSO32_##name - VDSO32_PRELINK + (unsigned long)(base)); \
10141 })
10142 #endif
10143
10144diff -urNp linux-3.0.7/arch/x86/include/asm/x86_init.h linux-3.0.7/arch/x86/include/asm/x86_init.h
10145--- linux-3.0.7/arch/x86/include/asm/x86_init.h 2011-07-21 22:17:23.000000000 -0400
10146+++ linux-3.0.7/arch/x86/include/asm/x86_init.h 2011-08-23 21:47:55.000000000 -0400
9979@@ -28,7 +28,7 @@ struct x86_init_mpparse { 10147@@ -28,7 +28,7 @@ struct x86_init_mpparse {
9980 void (*mpc_oem_bus_info)(struct mpc_bus *m, char *name); 10148 void (*mpc_oem_bus_info)(struct mpc_bus *m, char *name);
9981 void (*find_smp_config)(void); 10149 void (*find_smp_config)(void);
@@ -10093,9 +10261,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/x86_init.h linux-3.0.4/arch/x86/incl
10093 10261
10094 extern struct x86_init_ops x86_init; 10262 extern struct x86_init_ops x86_init;
10095 extern struct x86_cpuinit_ops x86_cpuinit; 10263 extern struct x86_cpuinit_ops x86_cpuinit;
10096diff -urNp linux-3.0.4/arch/x86/include/asm/xsave.h linux-3.0.4/arch/x86/include/asm/xsave.h 10264diff -urNp linux-3.0.7/arch/x86/include/asm/xsave.h linux-3.0.7/arch/x86/include/asm/xsave.h
10097--- linux-3.0.4/arch/x86/include/asm/xsave.h 2011-07-21 22:17:23.000000000 -0400 10265--- linux-3.0.7/arch/x86/include/asm/xsave.h 2011-07-21 22:17:23.000000000 -0400
10098+++ linux-3.0.4/arch/x86/include/asm/xsave.h 2011-08-23 21:47:55.000000000 -0400 10266+++ linux-3.0.7/arch/x86/include/asm/xsave.h 2011-10-06 04:17:55.000000000 -0400
10099@@ -65,6 +65,11 @@ static inline int xsave_user(struct xsav 10267@@ -65,6 +65,11 @@ static inline int xsave_user(struct xsav
10100 { 10268 {
10101 int err; 10269 int err;
@@ -10108,7 +10276,12 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/xsave.h linux-3.0.4/arch/x86/include
10108 /* 10276 /*
10109 * Clear the xsave header first, so that reserved fields are 10277 * Clear the xsave header first, so that reserved fields are
10110 * initialized to zero. 10278 * initialized to zero.
10111@@ -100,6 +105,11 @@ static inline int xrestore_user(struct x 10279@@ -96,10 +101,15 @@ static inline int xsave_user(struct xsav
10280 static inline int xrestore_user(struct xsave_struct __user *buf, u64 mask)
10281 {
10282 int err;
10283- struct xsave_struct *xstate = ((__force struct xsave_struct *)buf);
10284+ struct xsave_struct *xstate = ((__force_kernel struct xsave_struct *)buf);
10112 u32 lmask = mask; 10285 u32 lmask = mask;
10113 u32 hmask = mask >> 32; 10286 u32 hmask = mask >> 32;
10114 10287
@@ -10120,9 +10293,9 @@ diff -urNp linux-3.0.4/arch/x86/include/asm/xsave.h linux-3.0.4/arch/x86/include
10120 __asm__ __volatile__("1: .byte " REX_PREFIX "0x0f,0xae,0x2f\n" 10293 __asm__ __volatile__("1: .byte " REX_PREFIX "0x0f,0xae,0x2f\n"
10121 "2:\n" 10294 "2:\n"
10122 ".section .fixup,\"ax\"\n" 10295 ".section .fixup,\"ax\"\n"
10123diff -urNp linux-3.0.4/arch/x86/Kconfig linux-3.0.4/arch/x86/Kconfig 10296diff -urNp linux-3.0.7/arch/x86/Kconfig linux-3.0.7/arch/x86/Kconfig
10124--- linux-3.0.4/arch/x86/Kconfig 2011-07-21 22:17:23.000000000 -0400 10297--- linux-3.0.7/arch/x86/Kconfig 2011-07-21 22:17:23.000000000 -0400
10125+++ linux-3.0.4/arch/x86/Kconfig 2011-09-17 00:58:36.000000000 -0400 10298+++ linux-3.0.7/arch/x86/Kconfig 2011-09-17 00:58:36.000000000 -0400
10126@@ -229,7 +229,7 @@ config X86_HT 10299@@ -229,7 +229,7 @@ config X86_HT
10127 10300
10128 config X86_32_LAZY_GS 10301 config X86_32_LAZY_GS
@@ -10195,9 +10368,9 @@ diff -urNp linux-3.0.4/arch/x86/Kconfig linux-3.0.4/arch/x86/Kconfig
10195 ---help--- 10368 ---help---
10196 Map the 32-bit VDSO to the predictable old-style address too. 10369 Map the 32-bit VDSO to the predictable old-style address too.
10197 10370
10198diff -urNp linux-3.0.4/arch/x86/Kconfig.cpu linux-3.0.4/arch/x86/Kconfig.cpu 10371diff -urNp linux-3.0.7/arch/x86/Kconfig.cpu linux-3.0.7/arch/x86/Kconfig.cpu
10199--- linux-3.0.4/arch/x86/Kconfig.cpu 2011-07-21 22:17:23.000000000 -0400 10372--- linux-3.0.7/arch/x86/Kconfig.cpu 2011-07-21 22:17:23.000000000 -0400
10200+++ linux-3.0.4/arch/x86/Kconfig.cpu 2011-08-23 21:47:55.000000000 -0400 10373+++ linux-3.0.7/arch/x86/Kconfig.cpu 2011-08-23 21:47:55.000000000 -0400
10201@@ -338,7 +338,7 @@ config X86_PPRO_FENCE 10374@@ -338,7 +338,7 @@ config X86_PPRO_FENCE
10202 10375
10203 config X86_F00F_BUG 10376 config X86_F00F_BUG
@@ -10225,9 +10398,9 @@ diff -urNp linux-3.0.4/arch/x86/Kconfig.cpu linux-3.0.4/arch/x86/Kconfig.cpu
10225 10398
10226 config X86_MINIMUM_CPU_FAMILY 10399 config X86_MINIMUM_CPU_FAMILY
10227 int 10400 int
10228diff -urNp linux-3.0.4/arch/x86/Kconfig.debug linux-3.0.4/arch/x86/Kconfig.debug 10401diff -urNp linux-3.0.7/arch/x86/Kconfig.debug linux-3.0.7/arch/x86/Kconfig.debug
10229--- linux-3.0.4/arch/x86/Kconfig.debug 2011-07-21 22:17:23.000000000 -0400 10402--- linux-3.0.7/arch/x86/Kconfig.debug 2011-07-21 22:17:23.000000000 -0400
10230+++ linux-3.0.4/arch/x86/Kconfig.debug 2011-08-23 21:47:55.000000000 -0400 10403+++ linux-3.0.7/arch/x86/Kconfig.debug 2011-08-23 21:47:55.000000000 -0400
10231@@ -81,7 +81,7 @@ config X86_PTDUMP 10404@@ -81,7 +81,7 @@ config X86_PTDUMP
10232 config DEBUG_RODATA 10405 config DEBUG_RODATA
10233 bool "Write protect kernel read-only data structures" 10406 bool "Write protect kernel read-only data structures"
@@ -10246,9 +10419,9 @@ diff -urNp linux-3.0.4/arch/x86/Kconfig.debug linux-3.0.4/arch/x86/Kconfig.debug
10246 ---help--- 10419 ---help---
10247 This option helps catch unintended modifications to loadable 10420 This option helps catch unintended modifications to loadable
10248 kernel module's text and read-only data. It also prevents execution 10421 kernel module's text and read-only data. It also prevents execution
10249diff -urNp linux-3.0.4/arch/x86/kernel/acpi/realmode/Makefile linux-3.0.4/arch/x86/kernel/acpi/realmode/Makefile 10422diff -urNp linux-3.0.7/arch/x86/kernel/acpi/realmode/Makefile linux-3.0.7/arch/x86/kernel/acpi/realmode/Makefile
10250--- linux-3.0.4/arch/x86/kernel/acpi/realmode/Makefile 2011-07-21 22:17:23.000000000 -0400 10423--- linux-3.0.7/arch/x86/kernel/acpi/realmode/Makefile 2011-07-21 22:17:23.000000000 -0400
10251+++ linux-3.0.4/arch/x86/kernel/acpi/realmode/Makefile 2011-08-23 21:47:55.000000000 -0400 10424+++ linux-3.0.7/arch/x86/kernel/acpi/realmode/Makefile 2011-08-23 21:47:55.000000000 -0400
10252@@ -41,6 +41,9 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os 10425@@ -41,6 +41,9 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
10253 $(call cc-option, -fno-stack-protector) \ 10426 $(call cc-option, -fno-stack-protector) \
10254 $(call cc-option, -mpreferred-stack-boundary=2) 10427 $(call cc-option, -mpreferred-stack-boundary=2)
@@ -10259,9 +10432,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/acpi/realmode/Makefile linux-3.0.4/arch/x
10259 KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__ 10432 KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
10260 GCOV_PROFILE := n 10433 GCOV_PROFILE := n
10261 10434
10262diff -urNp linux-3.0.4/arch/x86/kernel/acpi/realmode/wakeup.S linux-3.0.4/arch/x86/kernel/acpi/realmode/wakeup.S 10435diff -urNp linux-3.0.7/arch/x86/kernel/acpi/realmode/wakeup.S linux-3.0.7/arch/x86/kernel/acpi/realmode/wakeup.S
10263--- linux-3.0.4/arch/x86/kernel/acpi/realmode/wakeup.S 2011-07-21 22:17:23.000000000 -0400 10436--- linux-3.0.7/arch/x86/kernel/acpi/realmode/wakeup.S 2011-07-21 22:17:23.000000000 -0400
10264+++ linux-3.0.4/arch/x86/kernel/acpi/realmode/wakeup.S 2011-08-23 21:48:14.000000000 -0400 10437+++ linux-3.0.7/arch/x86/kernel/acpi/realmode/wakeup.S 2011-08-23 21:48:14.000000000 -0400
10265@@ -108,6 +108,9 @@ wakeup_code: 10438@@ -108,6 +108,9 @@ wakeup_code:
10266 /* Do any other stuff... */ 10439 /* Do any other stuff... */
10267 10440
@@ -10280,9 +10453,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/acpi/realmode/wakeup.S linux-3.0.4/arch/x
10280 #else 10453 #else
10281 pushw $0 10454 pushw $0
10282 pushw trampoline_segment 10455 pushw trampoline_segment
10283diff -urNp linux-3.0.4/arch/x86/kernel/acpi/sleep.c linux-3.0.4/arch/x86/kernel/acpi/sleep.c 10456diff -urNp linux-3.0.7/arch/x86/kernel/acpi/sleep.c linux-3.0.7/arch/x86/kernel/acpi/sleep.c
10284--- linux-3.0.4/arch/x86/kernel/acpi/sleep.c 2011-07-21 22:17:23.000000000 -0400 10457--- linux-3.0.7/arch/x86/kernel/acpi/sleep.c 2011-07-21 22:17:23.000000000 -0400
10285+++ linux-3.0.4/arch/x86/kernel/acpi/sleep.c 2011-08-23 21:47:55.000000000 -0400 10458+++ linux-3.0.7/arch/x86/kernel/acpi/sleep.c 2011-08-23 21:47:55.000000000 -0400
10286@@ -94,8 +94,12 @@ int acpi_suspend_lowlevel(void) 10459@@ -94,8 +94,12 @@ int acpi_suspend_lowlevel(void)
10287 header->trampoline_segment = trampoline_address() >> 4; 10460 header->trampoline_segment = trampoline_address() >> 4;
10288 #ifdef CONFIG_SMP 10461 #ifdef CONFIG_SMP
@@ -10296,9 +10469,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/acpi/sleep.c linux-3.0.4/arch/x86/kernel/
10296 initial_gs = per_cpu_offset(smp_processor_id()); 10469 initial_gs = per_cpu_offset(smp_processor_id());
10297 #endif 10470 #endif
10298 initial_code = (unsigned long)wakeup_long64; 10471 initial_code = (unsigned long)wakeup_long64;
10299diff -urNp linux-3.0.4/arch/x86/kernel/acpi/wakeup_32.S linux-3.0.4/arch/x86/kernel/acpi/wakeup_32.S 10472diff -urNp linux-3.0.7/arch/x86/kernel/acpi/wakeup_32.S linux-3.0.7/arch/x86/kernel/acpi/wakeup_32.S
10300--- linux-3.0.4/arch/x86/kernel/acpi/wakeup_32.S 2011-07-21 22:17:23.000000000 -0400 10473--- linux-3.0.7/arch/x86/kernel/acpi/wakeup_32.S 2011-07-21 22:17:23.000000000 -0400
10301+++ linux-3.0.4/arch/x86/kernel/acpi/wakeup_32.S 2011-08-23 21:47:55.000000000 -0400 10474+++ linux-3.0.7/arch/x86/kernel/acpi/wakeup_32.S 2011-08-23 21:47:55.000000000 -0400
10302@@ -30,13 +30,11 @@ wakeup_pmode_return: 10475@@ -30,13 +30,11 @@ wakeup_pmode_return:
10303 # and restore the stack ... but you need gdt for this to work 10476 # and restore the stack ... but you need gdt for this to work
10304 movl saved_context_esp, %esp 10477 movl saved_context_esp, %esp
@@ -10315,9 +10488,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/acpi/wakeup_32.S linux-3.0.4/arch/x86/ker
10315 10488
10316 bogus_magic: 10489 bogus_magic:
10317 jmp bogus_magic 10490 jmp bogus_magic
10318diff -urNp linux-3.0.4/arch/x86/kernel/alternative.c linux-3.0.4/arch/x86/kernel/alternative.c 10491diff -urNp linux-3.0.7/arch/x86/kernel/alternative.c linux-3.0.7/arch/x86/kernel/alternative.c
10319--- linux-3.0.4/arch/x86/kernel/alternative.c 2011-07-21 22:17:23.000000000 -0400 10492--- linux-3.0.7/arch/x86/kernel/alternative.c 2011-07-21 22:17:23.000000000 -0400
10320+++ linux-3.0.4/arch/x86/kernel/alternative.c 2011-08-23 21:47:55.000000000 -0400 10493+++ linux-3.0.7/arch/x86/kernel/alternative.c 2011-08-23 21:47:55.000000000 -0400
10321@@ -313,7 +313,7 @@ static void alternatives_smp_lock(const 10494@@ -313,7 +313,7 @@ static void alternatives_smp_lock(const
10322 if (!*poff || ptr < text || ptr >= text_end) 10495 if (!*poff || ptr < text || ptr >= text_end)
10323 continue; 10496 continue;
@@ -10419,9 +10592,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/alternative.c linux-3.0.4/arch/x86/kernel
10419 return addr; 10592 return addr;
10420 } 10593 }
10421 10594
10422diff -urNp linux-3.0.4/arch/x86/kernel/apic/apic.c linux-3.0.4/arch/x86/kernel/apic/apic.c 10595diff -urNp linux-3.0.7/arch/x86/kernel/apic/apic.c linux-3.0.7/arch/x86/kernel/apic/apic.c
10423--- linux-3.0.4/arch/x86/kernel/apic/apic.c 2011-07-21 22:17:23.000000000 -0400 10596--- linux-3.0.7/arch/x86/kernel/apic/apic.c 2011-07-21 22:17:23.000000000 -0400
10424+++ linux-3.0.4/arch/x86/kernel/apic/apic.c 2011-08-23 21:48:14.000000000 -0400 10597+++ linux-3.0.7/arch/x86/kernel/apic/apic.c 2011-08-23 21:48:14.000000000 -0400
10425@@ -173,7 +173,7 @@ int first_system_vector = 0xfe; 10598@@ -173,7 +173,7 @@ int first_system_vector = 0xfe;
10426 /* 10599 /*
10427 * Debug level, exported for io_apic.c 10600 * Debug level, exported for io_apic.c
@@ -10449,9 +10622,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/apic/apic.c linux-3.0.4/arch/x86/kernel/a
10449 bios_cpu_apicid = early_per_cpu_ptr(x86_bios_cpu_apicid); 10622 bios_cpu_apicid = early_per_cpu_ptr(x86_bios_cpu_apicid);
10450 bitmap_zero(clustermap, NUM_APIC_CLUSTERS); 10623 bitmap_zero(clustermap, NUM_APIC_CLUSTERS);
10451 10624
10452diff -urNp linux-3.0.4/arch/x86/kernel/apic/io_apic.c linux-3.0.4/arch/x86/kernel/apic/io_apic.c 10625diff -urNp linux-3.0.7/arch/x86/kernel/apic/io_apic.c linux-3.0.7/arch/x86/kernel/apic/io_apic.c
10453--- linux-3.0.4/arch/x86/kernel/apic/io_apic.c 2011-07-21 22:17:23.000000000 -0400 10626--- linux-3.0.7/arch/x86/kernel/apic/io_apic.c 2011-07-21 22:17:23.000000000 -0400
10454+++ linux-3.0.4/arch/x86/kernel/apic/io_apic.c 2011-08-23 21:47:55.000000000 -0400 10627+++ linux-3.0.7/arch/x86/kernel/apic/io_apic.c 2011-08-23 21:47:55.000000000 -0400
10455@@ -1028,7 +1028,7 @@ int IO_APIC_get_PCI_irq_vector(int bus, 10628@@ -1028,7 +1028,7 @@ int IO_APIC_get_PCI_irq_vector(int bus,
10456 } 10629 }
10457 EXPORT_SYMBOL(IO_APIC_get_PCI_irq_vector); 10630 EXPORT_SYMBOL(IO_APIC_get_PCI_irq_vector);
@@ -10488,9 +10661,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/apic/io_apic.c linux-3.0.4/arch/x86/kerne
10488 10661
10489 eoi_ioapic_irq(irq, cfg); 10662 eoi_ioapic_irq(irq, cfg);
10490 } 10663 }
10491diff -urNp linux-3.0.4/arch/x86/kernel/apm_32.c linux-3.0.4/arch/x86/kernel/apm_32.c 10664diff -urNp linux-3.0.7/arch/x86/kernel/apm_32.c linux-3.0.7/arch/x86/kernel/apm_32.c
10492--- linux-3.0.4/arch/x86/kernel/apm_32.c 2011-07-21 22:17:23.000000000 -0400 10665--- linux-3.0.7/arch/x86/kernel/apm_32.c 2011-07-21 22:17:23.000000000 -0400
10493+++ linux-3.0.4/arch/x86/kernel/apm_32.c 2011-08-23 21:47:55.000000000 -0400 10666+++ linux-3.0.7/arch/x86/kernel/apm_32.c 2011-08-23 21:47:55.000000000 -0400
10494@@ -413,7 +413,7 @@ static DEFINE_MUTEX(apm_mutex); 10667@@ -413,7 +413,7 @@ static DEFINE_MUTEX(apm_mutex);
10495 * This is for buggy BIOS's that refer to (real mode) segment 0x40 10668 * This is for buggy BIOS's that refer to (real mode) segment 0x40
10496 * even though they are called in protected mode. 10669 * even though they are called in protected mode.
@@ -10562,9 +10735,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/apm_32.c linux-3.0.4/arch/x86/kernel/apm_
10562 10735
10563 proc_create("apm", 0, NULL, &apm_file_ops); 10736 proc_create("apm", 0, NULL, &apm_file_ops);
10564 10737
10565diff -urNp linux-3.0.4/arch/x86/kernel/asm-offsets_64.c linux-3.0.4/arch/x86/kernel/asm-offsets_64.c 10738diff -urNp linux-3.0.7/arch/x86/kernel/asm-offsets_64.c linux-3.0.7/arch/x86/kernel/asm-offsets_64.c
10566--- linux-3.0.4/arch/x86/kernel/asm-offsets_64.c 2011-07-21 22:17:23.000000000 -0400 10739--- linux-3.0.7/arch/x86/kernel/asm-offsets_64.c 2011-07-21 22:17:23.000000000 -0400
10567+++ linux-3.0.4/arch/x86/kernel/asm-offsets_64.c 2011-08-23 21:47:55.000000000 -0400 10740+++ linux-3.0.7/arch/x86/kernel/asm-offsets_64.c 2011-08-23 21:47:55.000000000 -0400
10568@@ -69,6 +69,7 @@ int main(void) 10741@@ -69,6 +69,7 @@ int main(void)
10569 BLANK(); 10742 BLANK();
10570 #undef ENTRY 10743 #undef ENTRY
@@ -10573,9 +10746,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/asm-offsets_64.c linux-3.0.4/arch/x86/ker
10573 OFFSET(TSS_ist, tss_struct, x86_tss.ist); 10746 OFFSET(TSS_ist, tss_struct, x86_tss.ist);
10574 BLANK(); 10747 BLANK();
10575 10748
10576diff -urNp linux-3.0.4/arch/x86/kernel/asm-offsets.c linux-3.0.4/arch/x86/kernel/asm-offsets.c 10749diff -urNp linux-3.0.7/arch/x86/kernel/asm-offsets.c linux-3.0.7/arch/x86/kernel/asm-offsets.c
10577--- linux-3.0.4/arch/x86/kernel/asm-offsets.c 2011-07-21 22:17:23.000000000 -0400 10750--- linux-3.0.7/arch/x86/kernel/asm-offsets.c 2011-07-21 22:17:23.000000000 -0400
10578+++ linux-3.0.4/arch/x86/kernel/asm-offsets.c 2011-08-23 21:47:55.000000000 -0400 10751+++ linux-3.0.7/arch/x86/kernel/asm-offsets.c 2011-08-23 21:47:55.000000000 -0400
10579@@ -33,6 +33,8 @@ void common(void) { 10752@@ -33,6 +33,8 @@ void common(void) {
10580 OFFSET(TI_status, thread_info, status); 10753 OFFSET(TI_status, thread_info, status);
10581 OFFSET(TI_addr_limit, thread_info, addr_limit); 10754 OFFSET(TI_addr_limit, thread_info, addr_limit);
@@ -10612,9 +10785,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/asm-offsets.c linux-3.0.4/arch/x86/kernel
10612 #ifdef CONFIG_XEN 10785 #ifdef CONFIG_XEN
10613 BLANK(); 10786 BLANK();
10614 OFFSET(XEN_vcpu_info_mask, vcpu_info, evtchn_upcall_mask); 10787 OFFSET(XEN_vcpu_info_mask, vcpu_info, evtchn_upcall_mask);
10615diff -urNp linux-3.0.4/arch/x86/kernel/cpu/amd.c linux-3.0.4/arch/x86/kernel/cpu/amd.c 10788diff -urNp linux-3.0.7/arch/x86/kernel/cpu/amd.c linux-3.0.7/arch/x86/kernel/cpu/amd.c
10616--- linux-3.0.4/arch/x86/kernel/cpu/amd.c 2011-07-21 22:17:23.000000000 -0400 10789--- linux-3.0.7/arch/x86/kernel/cpu/amd.c 2011-07-21 22:17:23.000000000 -0400
10617+++ linux-3.0.4/arch/x86/kernel/cpu/amd.c 2011-08-23 21:47:55.000000000 -0400 10790+++ linux-3.0.7/arch/x86/kernel/cpu/amd.c 2011-08-23 21:47:55.000000000 -0400
10618@@ -647,7 +647,7 @@ static unsigned int __cpuinit amd_size_c 10791@@ -647,7 +647,7 @@ static unsigned int __cpuinit amd_size_c
10619 unsigned int size) 10792 unsigned int size)
10620 { 10793 {
@@ -10624,9 +10797,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/cpu/amd.c linux-3.0.4/arch/x86/kernel/cpu
10624 /* Duron Rev A0 */ 10797 /* Duron Rev A0 */
10625 if (c->x86_model == 3 && c->x86_mask == 0) 10798 if (c->x86_model == 3 && c->x86_mask == 0)
10626 size = 64; 10799 size = 64;
10627diff -urNp linux-3.0.4/arch/x86/kernel/cpu/common.c linux-3.0.4/arch/x86/kernel/cpu/common.c 10800diff -urNp linux-3.0.7/arch/x86/kernel/cpu/common.c linux-3.0.7/arch/x86/kernel/cpu/common.c
10628--- linux-3.0.4/arch/x86/kernel/cpu/common.c 2011-07-21 22:17:23.000000000 -0400 10801--- linux-3.0.7/arch/x86/kernel/cpu/common.c 2011-07-21 22:17:23.000000000 -0400
10629+++ linux-3.0.4/arch/x86/kernel/cpu/common.c 2011-08-23 21:47:55.000000000 -0400 10802+++ linux-3.0.7/arch/x86/kernel/cpu/common.c 2011-08-23 21:47:55.000000000 -0400
10630@@ -83,60 +83,6 @@ static const struct cpu_dev __cpuinitcon 10803@@ -83,60 +83,6 @@ static const struct cpu_dev __cpuinitcon
10631 10804
10632 static const struct cpu_dev *this_cpu __cpuinitdata = &default_cpu; 10805 static const struct cpu_dev *this_cpu __cpuinitdata = &default_cpu;
@@ -10771,9 +10944,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/cpu/common.c linux-3.0.4/arch/x86/kernel/
10771 struct thread_struct *thread = &curr->thread; 10944 struct thread_struct *thread = &curr->thread;
10772 10945
10773 if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) { 10946 if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) {
10774diff -urNp linux-3.0.4/arch/x86/kernel/cpu/intel.c linux-3.0.4/arch/x86/kernel/cpu/intel.c 10947diff -urNp linux-3.0.7/arch/x86/kernel/cpu/intel.c linux-3.0.7/arch/x86/kernel/cpu/intel.c
10775--- linux-3.0.4/arch/x86/kernel/cpu/intel.c 2011-09-02 18:11:26.000000000 -0400 10948--- linux-3.0.7/arch/x86/kernel/cpu/intel.c 2011-09-02 18:11:26.000000000 -0400
10776+++ linux-3.0.4/arch/x86/kernel/cpu/intel.c 2011-08-29 23:30:14.000000000 -0400 10949+++ linux-3.0.7/arch/x86/kernel/cpu/intel.c 2011-08-29 23:30:14.000000000 -0400
10777@@ -172,7 +172,7 @@ static void __cpuinit trap_init_f00f_bug 10950@@ -172,7 +172,7 @@ static void __cpuinit trap_init_f00f_bug
10778 * Update the IDT descriptor and reload the IDT so that 10951 * Update the IDT descriptor and reload the IDT so that
10779 * it uses the read-only mapped virtual address. 10952 * it uses the read-only mapped virtual address.
@@ -10783,9 +10956,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/cpu/intel.c linux-3.0.4/arch/x86/kernel/c
10783 load_idt(&idt_descr); 10956 load_idt(&idt_descr);
10784 } 10957 }
10785 #endif 10958 #endif
10786diff -urNp linux-3.0.4/arch/x86/kernel/cpu/Makefile linux-3.0.4/arch/x86/kernel/cpu/Makefile 10959diff -urNp linux-3.0.7/arch/x86/kernel/cpu/Makefile linux-3.0.7/arch/x86/kernel/cpu/Makefile
10787--- linux-3.0.4/arch/x86/kernel/cpu/Makefile 2011-07-21 22:17:23.000000000 -0400 10960--- linux-3.0.7/arch/x86/kernel/cpu/Makefile 2011-07-21 22:17:23.000000000 -0400
10788+++ linux-3.0.4/arch/x86/kernel/cpu/Makefile 2011-08-23 21:47:55.000000000 -0400 10961+++ linux-3.0.7/arch/x86/kernel/cpu/Makefile 2011-08-23 21:47:55.000000000 -0400
10789@@ -8,10 +8,6 @@ CFLAGS_REMOVE_common.o = -pg 10962@@ -8,10 +8,6 @@ CFLAGS_REMOVE_common.o = -pg
10790 CFLAGS_REMOVE_perf_event.o = -pg 10963 CFLAGS_REMOVE_perf_event.o = -pg
10791 endif 10964 endif
@@ -10797,9 +10970,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/cpu/Makefile linux-3.0.4/arch/x86/kernel/
10797 obj-y := intel_cacheinfo.o scattered.o topology.o 10970 obj-y := intel_cacheinfo.o scattered.o topology.o
10798 obj-y += proc.o capflags.o powerflags.o common.o 10971 obj-y += proc.o capflags.o powerflags.o common.o
10799 obj-y += vmware.o hypervisor.o sched.o mshyperv.o 10972 obj-y += vmware.o hypervisor.o sched.o mshyperv.o
10800diff -urNp linux-3.0.4/arch/x86/kernel/cpu/mcheck/mce.c linux-3.0.4/arch/x86/kernel/cpu/mcheck/mce.c 10973diff -urNp linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce.c linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce.c
10801--- linux-3.0.4/arch/x86/kernel/cpu/mcheck/mce.c 2011-07-21 22:17:23.000000000 -0400 10974--- linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce.c 2011-07-21 22:17:23.000000000 -0400
10802+++ linux-3.0.4/arch/x86/kernel/cpu/mcheck/mce.c 2011-08-23 21:47:55.000000000 -0400 10975+++ linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce.c 2011-08-23 21:47:55.000000000 -0400
10803@@ -46,6 +46,7 @@ 10976@@ -46,6 +46,7 @@
10804 #include <asm/ipi.h> 10977 #include <asm/ipi.h>
10805 #include <asm/mce.h> 10978 #include <asm/mce.h>
@@ -10901,9 +11074,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/cpu/mcheck/mce.c linux-3.0.4/arch/x86/ker
10901 atomic_set(&mce_executing, 0); 11074 atomic_set(&mce_executing, 0);
10902 atomic_set(&mce_callin, 0); 11075 atomic_set(&mce_callin, 0);
10903 atomic_set(&global_nwo, 0); 11076 atomic_set(&global_nwo, 0);
10904diff -urNp linux-3.0.4/arch/x86/kernel/cpu/mcheck/mce-inject.c linux-3.0.4/arch/x86/kernel/cpu/mcheck/mce-inject.c 11077diff -urNp linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce-inject.c linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce-inject.c
10905--- linux-3.0.4/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-07-21 22:17:23.000000000 -0400 11078--- linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-07-21 22:17:23.000000000 -0400
10906+++ linux-3.0.4/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-08-23 21:47:55.000000000 -0400 11079+++ linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-08-23 21:47:55.000000000 -0400
10907@@ -215,7 +215,9 @@ static int inject_init(void) 11080@@ -215,7 +215,9 @@ static int inject_init(void)
10908 if (!alloc_cpumask_var(&mce_inject_cpumask, GFP_KERNEL)) 11081 if (!alloc_cpumask_var(&mce_inject_cpumask, GFP_KERNEL))
10909 return -ENOMEM; 11082 return -ENOMEM;
@@ -10915,9 +11088,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/cpu/mcheck/mce-inject.c linux-3.0.4/arch/
10915 register_die_notifier(&mce_raise_nb); 11088 register_die_notifier(&mce_raise_nb);
10916 return 0; 11089 return 0;
10917 } 11090 }
10918diff -urNp linux-3.0.4/arch/x86/kernel/cpu/mtrr/main.c linux-3.0.4/arch/x86/kernel/cpu/mtrr/main.c 11091diff -urNp linux-3.0.7/arch/x86/kernel/cpu/mtrr/main.c linux-3.0.7/arch/x86/kernel/cpu/mtrr/main.c
10919--- linux-3.0.4/arch/x86/kernel/cpu/mtrr/main.c 2011-09-02 18:11:26.000000000 -0400 11092--- linux-3.0.7/arch/x86/kernel/cpu/mtrr/main.c 2011-09-02 18:11:26.000000000 -0400
10920+++ linux-3.0.4/arch/x86/kernel/cpu/mtrr/main.c 2011-08-29 23:26:21.000000000 -0400 11093+++ linux-3.0.7/arch/x86/kernel/cpu/mtrr/main.c 2011-08-29 23:26:21.000000000 -0400
10921@@ -62,7 +62,7 @@ static DEFINE_MUTEX(mtrr_mutex); 11094@@ -62,7 +62,7 @@ static DEFINE_MUTEX(mtrr_mutex);
10922 u64 size_or_mask, size_and_mask; 11095 u64 size_or_mask, size_and_mask;
10923 static bool mtrr_aps_delayed_init; 11096 static bool mtrr_aps_delayed_init;
@@ -10927,9 +11100,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/cpu/mtrr/main.c linux-3.0.4/arch/x86/kern
10927 11100
10928 const struct mtrr_ops *mtrr_if; 11101 const struct mtrr_ops *mtrr_if;
10929 11102
10930diff -urNp linux-3.0.4/arch/x86/kernel/cpu/mtrr/mtrr.h linux-3.0.4/arch/x86/kernel/cpu/mtrr/mtrr.h 11103diff -urNp linux-3.0.7/arch/x86/kernel/cpu/mtrr/mtrr.h linux-3.0.7/arch/x86/kernel/cpu/mtrr/mtrr.h
10931--- linux-3.0.4/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-07-21 22:17:23.000000000 -0400 11104--- linux-3.0.7/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-07-21 22:17:23.000000000 -0400
10932+++ linux-3.0.4/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-08-26 19:49:56.000000000 -0400 11105+++ linux-3.0.7/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-08-26 19:49:56.000000000 -0400
10933@@ -25,7 +25,7 @@ struct mtrr_ops { 11106@@ -25,7 +25,7 @@ struct mtrr_ops {
10934 int (*validate_add_page)(unsigned long base, unsigned long size, 11107 int (*validate_add_page)(unsigned long base, unsigned long size,
10935 unsigned int type); 11108 unsigned int type);
@@ -10939,9 +11112,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/cpu/mtrr/mtrr.h linux-3.0.4/arch/x86/kern
10939 11112
10940 extern int generic_get_free_region(unsigned long base, unsigned long size, 11113 extern int generic_get_free_region(unsigned long base, unsigned long size,
10941 int replace_reg); 11114 int replace_reg);
10942diff -urNp linux-3.0.4/arch/x86/kernel/cpu/perf_event.c linux-3.0.4/arch/x86/kernel/cpu/perf_event.c 11115diff -urNp linux-3.0.7/arch/x86/kernel/cpu/perf_event.c linux-3.0.7/arch/x86/kernel/cpu/perf_event.c
10943--- linux-3.0.4/arch/x86/kernel/cpu/perf_event.c 2011-07-21 22:17:23.000000000 -0400 11116--- linux-3.0.7/arch/x86/kernel/cpu/perf_event.c 2011-10-16 21:54:53.000000000 -0400
10944+++ linux-3.0.4/arch/x86/kernel/cpu/perf_event.c 2011-08-23 21:48:14.000000000 -0400 11117+++ linux-3.0.7/arch/x86/kernel/cpu/perf_event.c 2011-10-16 21:55:27.000000000 -0400
10945@@ -781,6 +781,8 @@ static int x86_schedule_events(struct cp 11118@@ -781,6 +781,8 @@ static int x86_schedule_events(struct cp
10946 int i, j, w, wmax, num = 0; 11119 int i, j, w, wmax, num = 0;
10947 struct hw_perf_event *hwc; 11120 struct hw_perf_event *hwc;
@@ -10951,18 +11124,18 @@ diff -urNp linux-3.0.4/arch/x86/kernel/cpu/perf_event.c linux-3.0.4/arch/x86/ker
10951 bitmap_zero(used_mask, X86_PMC_IDX_MAX); 11124 bitmap_zero(used_mask, X86_PMC_IDX_MAX);
10952 11125
10953 for (i = 0; i < n; i++) { 11126 for (i = 0; i < n; i++) {
10954@@ -1872,7 +1874,7 @@ perf_callchain_user(struct perf_callchai 11127@@ -1875,7 +1877,7 @@ perf_callchain_user(struct perf_callchai
10955 break; 11128 break;
10956 11129
10957 perf_callchain_store(entry, frame.return_address); 11130 perf_callchain_store(entry, frame.return_address);
10958- fp = frame.next_frame; 11131- fp = frame.next_frame;
10959+ fp = (__force const void __user *)frame.next_frame; 11132+ fp = (const void __force_user *)frame.next_frame;
10960 } 11133 }
10961 } 11134 }
10962 11135
10963diff -urNp linux-3.0.4/arch/x86/kernel/crash.c linux-3.0.4/arch/x86/kernel/crash.c 11136diff -urNp linux-3.0.7/arch/x86/kernel/crash.c linux-3.0.7/arch/x86/kernel/crash.c
10964--- linux-3.0.4/arch/x86/kernel/crash.c 2011-07-21 22:17:23.000000000 -0400 11137--- linux-3.0.7/arch/x86/kernel/crash.c 2011-07-21 22:17:23.000000000 -0400
10965+++ linux-3.0.4/arch/x86/kernel/crash.c 2011-08-23 21:47:55.000000000 -0400 11138+++ linux-3.0.7/arch/x86/kernel/crash.c 2011-08-23 21:47:55.000000000 -0400
10966@@ -42,7 +42,7 @@ static void kdump_nmi_callback(int cpu, 11139@@ -42,7 +42,7 @@ static void kdump_nmi_callback(int cpu,
10967 regs = args->regs; 11140 regs = args->regs;
10968 11141
@@ -10972,9 +11145,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/crash.c linux-3.0.4/arch/x86/kernel/crash
10972 crash_fixup_ss_esp(&fixed_regs, regs); 11145 crash_fixup_ss_esp(&fixed_regs, regs);
10973 regs = &fixed_regs; 11146 regs = &fixed_regs;
10974 } 11147 }
10975diff -urNp linux-3.0.4/arch/x86/kernel/doublefault_32.c linux-3.0.4/arch/x86/kernel/doublefault_32.c 11148diff -urNp linux-3.0.7/arch/x86/kernel/doublefault_32.c linux-3.0.7/arch/x86/kernel/doublefault_32.c
10976--- linux-3.0.4/arch/x86/kernel/doublefault_32.c 2011-07-21 22:17:23.000000000 -0400 11149--- linux-3.0.7/arch/x86/kernel/doublefault_32.c 2011-07-21 22:17:23.000000000 -0400
10977+++ linux-3.0.4/arch/x86/kernel/doublefault_32.c 2011-08-23 21:47:55.000000000 -0400 11150+++ linux-3.0.7/arch/x86/kernel/doublefault_32.c 2011-08-23 21:47:55.000000000 -0400
10978@@ -11,7 +11,7 @@ 11151@@ -11,7 +11,7 @@
10979 11152
10980 #define DOUBLEFAULT_STACKSIZE (1024) 11153 #define DOUBLEFAULT_STACKSIZE (1024)
@@ -11006,9 +11179,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/doublefault_32.c linux-3.0.4/arch/x86/ker
11006 .fs = __KERNEL_PERCPU, 11179 .fs = __KERNEL_PERCPU,
11007 11180
11008 .__cr3 = __pa_nodebug(swapper_pg_dir), 11181 .__cr3 = __pa_nodebug(swapper_pg_dir),
11009diff -urNp linux-3.0.4/arch/x86/kernel/dumpstack_32.c linux-3.0.4/arch/x86/kernel/dumpstack_32.c 11182diff -urNp linux-3.0.7/arch/x86/kernel/dumpstack_32.c linux-3.0.7/arch/x86/kernel/dumpstack_32.c
11010--- linux-3.0.4/arch/x86/kernel/dumpstack_32.c 2011-07-21 22:17:23.000000000 -0400 11183--- linux-3.0.7/arch/x86/kernel/dumpstack_32.c 2011-07-21 22:17:23.000000000 -0400
11011+++ linux-3.0.4/arch/x86/kernel/dumpstack_32.c 2011-08-23 21:47:55.000000000 -0400 11184+++ linux-3.0.7/arch/x86/kernel/dumpstack_32.c 2011-08-23 21:47:55.000000000 -0400
11012@@ -38,15 +38,13 @@ void dump_trace(struct task_struct *task 11185@@ -38,15 +38,13 @@ void dump_trace(struct task_struct *task
11013 bp = stack_frame(task, regs); 11186 bp = stack_frame(task, regs);
11014 11187
@@ -11072,9 +11245,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/dumpstack_32.c linux-3.0.4/arch/x86/kerne
11072 if (ip < PAGE_OFFSET) 11245 if (ip < PAGE_OFFSET)
11073 return 0; 11246 return 0;
11074 if (probe_kernel_address((unsigned short *)ip, ud2)) 11247 if (probe_kernel_address((unsigned short *)ip, ud2))
11075diff -urNp linux-3.0.4/arch/x86/kernel/dumpstack_64.c linux-3.0.4/arch/x86/kernel/dumpstack_64.c 11248diff -urNp linux-3.0.7/arch/x86/kernel/dumpstack_64.c linux-3.0.7/arch/x86/kernel/dumpstack_64.c
11076--- linux-3.0.4/arch/x86/kernel/dumpstack_64.c 2011-07-21 22:17:23.000000000 -0400 11249--- linux-3.0.7/arch/x86/kernel/dumpstack_64.c 2011-07-21 22:17:23.000000000 -0400
11077+++ linux-3.0.4/arch/x86/kernel/dumpstack_64.c 2011-08-23 21:47:55.000000000 -0400 11250+++ linux-3.0.7/arch/x86/kernel/dumpstack_64.c 2011-08-23 21:47:55.000000000 -0400
11078@@ -147,9 +147,9 @@ void dump_trace(struct task_struct *task 11251@@ -147,9 +147,9 @@ void dump_trace(struct task_struct *task
11079 unsigned long *irq_stack_end = 11252 unsigned long *irq_stack_end =
11080 (unsigned long *)per_cpu(irq_stack_ptr, cpu); 11253 (unsigned long *)per_cpu(irq_stack_ptr, cpu);
@@ -11126,9 +11299,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/dumpstack_64.c linux-3.0.4/arch/x86/kerne
11126 put_cpu(); 11299 put_cpu();
11127 } 11300 }
11128 EXPORT_SYMBOL(dump_trace); 11301 EXPORT_SYMBOL(dump_trace);
11129diff -urNp linux-3.0.4/arch/x86/kernel/dumpstack.c linux-3.0.4/arch/x86/kernel/dumpstack.c 11302diff -urNp linux-3.0.7/arch/x86/kernel/dumpstack.c linux-3.0.7/arch/x86/kernel/dumpstack.c
11130--- linux-3.0.4/arch/x86/kernel/dumpstack.c 2011-07-21 22:17:23.000000000 -0400 11303--- linux-3.0.7/arch/x86/kernel/dumpstack.c 2011-07-21 22:17:23.000000000 -0400
11131+++ linux-3.0.4/arch/x86/kernel/dumpstack.c 2011-08-23 21:48:14.000000000 -0400 11304+++ linux-3.0.7/arch/x86/kernel/dumpstack.c 2011-08-23 21:48:14.000000000 -0400
11132@@ -2,6 +2,9 @@ 11305@@ -2,6 +2,9 @@
11133 * Copyright (C) 1991, 1992 Linus Torvalds 11306 * Copyright (C) 1991, 1992 Linus Torvalds
11134 * Copyright (C) 2000, 2001, 2002 Andi Kleen, SuSE Labs 11307 * Copyright (C) 2000, 2001, 2002 Andi Kleen, SuSE Labs
@@ -11272,9 +11445,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/dumpstack.c linux-3.0.4/arch/x86/kernel/d
11272 report_bug(regs->ip, regs); 11445 report_bug(regs->ip, regs);
11273 11446
11274 if (__die(str, regs, err)) 11447 if (__die(str, regs, err))
11275diff -urNp linux-3.0.4/arch/x86/kernel/early_printk.c linux-3.0.4/arch/x86/kernel/early_printk.c 11448diff -urNp linux-3.0.7/arch/x86/kernel/early_printk.c linux-3.0.7/arch/x86/kernel/early_printk.c
11276--- linux-3.0.4/arch/x86/kernel/early_printk.c 2011-07-21 22:17:23.000000000 -0400 11449--- linux-3.0.7/arch/x86/kernel/early_printk.c 2011-07-21 22:17:23.000000000 -0400
11277+++ linux-3.0.4/arch/x86/kernel/early_printk.c 2011-08-23 21:48:14.000000000 -0400 11450+++ linux-3.0.7/arch/x86/kernel/early_printk.c 2011-08-23 21:48:14.000000000 -0400
11278@@ -7,6 +7,7 @@ 11451@@ -7,6 +7,7 @@
11279 #include <linux/pci_regs.h> 11452 #include <linux/pci_regs.h>
11280 #include <linux/pci_ids.h> 11453 #include <linux/pci_ids.h>
@@ -11292,9 +11465,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/early_printk.c linux-3.0.4/arch/x86/kerne
11292 va_start(ap, fmt); 11465 va_start(ap, fmt);
11293 n = vscnprintf(buf, sizeof(buf), fmt, ap); 11466 n = vscnprintf(buf, sizeof(buf), fmt, ap);
11294 early_console->write(early_console, buf, n); 11467 early_console->write(early_console, buf, n);
11295diff -urNp linux-3.0.4/arch/x86/kernel/entry_32.S linux-3.0.4/arch/x86/kernel/entry_32.S 11468diff -urNp linux-3.0.7/arch/x86/kernel/entry_32.S linux-3.0.7/arch/x86/kernel/entry_32.S
11296--- linux-3.0.4/arch/x86/kernel/entry_32.S 2011-07-21 22:17:23.000000000 -0400 11469--- linux-3.0.7/arch/x86/kernel/entry_32.S 2011-07-21 22:17:23.000000000 -0400
11297+++ linux-3.0.4/arch/x86/kernel/entry_32.S 2011-08-30 18:23:52.000000000 -0400 11470+++ linux-3.0.7/arch/x86/kernel/entry_32.S 2011-08-30 18:23:52.000000000 -0400
11298@@ -185,13 +185,146 @@ 11471@@ -185,13 +185,146 @@
11299 /*CFI_REL_OFFSET gs, PT_GS*/ 11472 /*CFI_REL_OFFSET gs, PT_GS*/
11300 .endm 11473 .endm
@@ -11792,18 +11965,67 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_32.S linux-3.0.4/arch/x86/kernel/en
11792 RESTORE_REGS 11965 RESTORE_REGS
11793 lss 12+4(%esp), %esp # back to espfix stack 11966 lss 12+4(%esp), %esp # back to espfix stack
11794 CFI_ADJUST_CFA_OFFSET -24 11967 CFI_ADJUST_CFA_OFFSET -24
11795diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/entry_64.S 11968diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/entry_64.S
11796--- linux-3.0.4/arch/x86/kernel/entry_64.S 2011-07-21 22:17:23.000000000 -0400 11969--- linux-3.0.7/arch/x86/kernel/entry_64.S 2011-07-21 22:17:23.000000000 -0400
11797+++ linux-3.0.4/arch/x86/kernel/entry_64.S 2011-09-17 18:31:51.000000000 -0400 11970+++ linux-3.0.7/arch/x86/kernel/entry_64.S 2011-10-11 10:44:33.000000000 -0400
11798@@ -53,6 +53,7 @@ 11971@@ -53,6 +53,8 @@
11799 #include <asm/paravirt.h> 11972 #include <asm/paravirt.h>
11800 #include <asm/ftrace.h> 11973 #include <asm/ftrace.h>
11801 #include <asm/percpu.h> 11974 #include <asm/percpu.h>
11802+#include <asm/pgtable.h> 11975+#include <asm/pgtable.h>
11976+#include <asm/alternative-asm.h>
11803 11977
11804 /* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this. */ 11978 /* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this. */
11805 #include <linux/elf-em.h> 11979 #include <linux/elf-em.h>
11806@@ -176,6 +177,264 @@ ENTRY(native_usergs_sysret64) 11980@@ -66,6 +68,7 @@
11981 #ifdef CONFIG_FUNCTION_TRACER
11982 #ifdef CONFIG_DYNAMIC_FTRACE
11983 ENTRY(mcount)
11984+ pax_force_retaddr
11985 retq
11986 END(mcount)
11987
11988@@ -90,6 +93,7 @@ GLOBAL(ftrace_graph_call)
11989 #endif
11990
11991 GLOBAL(ftrace_stub)
11992+ pax_force_retaddr
11993 retq
11994 END(ftrace_caller)
11995
11996@@ -110,6 +114,7 @@ ENTRY(mcount)
11997 #endif
11998
11999 GLOBAL(ftrace_stub)
12000+ pax_force_retaddr
12001 retq
12002
12003 trace:
12004@@ -119,6 +124,7 @@ trace:
12005 movq 8(%rbp), %rsi
12006 subq $MCOUNT_INSN_SIZE, %rdi
12007
12008+ pax_force_fptr ftrace_trace_function
12009 call *ftrace_trace_function
12010
12011 MCOUNT_RESTORE_FRAME
12012@@ -144,6 +150,7 @@ ENTRY(ftrace_graph_caller)
12013
12014 MCOUNT_RESTORE_FRAME
12015
12016+ pax_force_retaddr
12017 retq
12018 END(ftrace_graph_caller)
12019
12020@@ -161,6 +168,7 @@ GLOBAL(return_to_handler)
12021 movq 8(%rsp), %rdx
12022 movq (%rsp), %rax
12023 addq $24, %rsp
12024+ pax_force_fptr %rdi
12025 jmp *%rdi
12026 #endif
12027
12028@@ -176,6 +184,269 @@ ENTRY(native_usergs_sysret64)
11807 ENDPROC(native_usergs_sysret64) 12029 ENDPROC(native_usergs_sysret64)
11808 #endif /* CONFIG_PARAVIRT */ 12030 #endif /* CONFIG_PARAVIRT */
11809 12031
@@ -11857,6 +12079,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
11857+#endif 12079+#endif
11858+ 12080+
11859+ popq %rdi 12081+ popq %rdi
12082+ pax_force_retaddr
11860+ retq 12083+ retq
11861+ENDPROC(pax_enter_kernel) 12084+ENDPROC(pax_enter_kernel)
11862+ 12085+
@@ -11881,6 +12104,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
11881+#endif 12104+#endif
11882+ 12105+
11883+ popq %rdi 12106+ popq %rdi
12107+ pax_force_retaddr
11884+ retq 12108+ retq
11885+ENDPROC(pax_exit_kernel) 12109+ENDPROC(pax_exit_kernel)
11886+#endif 12110+#endif
@@ -11955,6 +12179,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
11955+ 12179+
11956+ popq %rbx 12180+ popq %rbx
11957+ popq %rdi 12181+ popq %rdi
12182+ pax_force_retaddr
11958+ retq 12183+ retq
11959+ENDPROC(pax_enter_kernel_user) 12184+ENDPROC(pax_enter_kernel_user)
11960+ 12185+
@@ -12004,6 +12229,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12004+#endif 12229+#endif
12005+ 12230+
12006+ popq %rdi 12231+ popq %rdi
12232+ pax_force_retaddr
12007+ retq 12233+ retq
12008+ENDPROC(pax_exit_kernel_user) 12234+ENDPROC(pax_exit_kernel_user)
12009+#endif 12235+#endif
@@ -12062,13 +12288,14 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12062+ popq %r10 12288+ popq %r10
12063+ popq %rax 12289+ popq %rax
12064+ popq %rdi 12290+ popq %rdi
12291+ pax_force_retaddr
12065+ ret 12292+ ret
12066+ENDPROC(pax_erase_kstack) 12293+ENDPROC(pax_erase_kstack)
12067+#endif 12294+#endif
12068 12295
12069 .macro TRACE_IRQS_IRETQ offset=ARGOFFSET 12296 .macro TRACE_IRQS_IRETQ offset=ARGOFFSET
12070 #ifdef CONFIG_TRACE_IRQFLAGS 12297 #ifdef CONFIG_TRACE_IRQFLAGS
12071@@ -318,7 +577,7 @@ ENTRY(save_args) 12298@@ -318,7 +589,7 @@ ENTRY(save_args)
12072 leaq -RBP+8(%rsp),%rdi /* arg1 for handler */ 12299 leaq -RBP+8(%rsp),%rdi /* arg1 for handler */
12073 movq_cfi rbp, 8 /* push %rbp */ 12300 movq_cfi rbp, 8 /* push %rbp */
12074 leaq 8(%rsp), %rbp /* mov %rsp, %ebp */ 12301 leaq 8(%rsp), %rbp /* mov %rsp, %ebp */
@@ -12077,7 +12304,33 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12077 je 1f 12304 je 1f
12078 SWAPGS 12305 SWAPGS
12079 /* 12306 /*
12080@@ -409,7 +668,7 @@ ENTRY(ret_from_fork) 12307@@ -338,6 +609,7 @@ ENTRY(save_args)
12308 * We entered an interrupt context - irqs are off:
12309 */
12310 2: TRACE_IRQS_OFF
12311+ pax_force_retaddr
12312 ret
12313 CFI_ENDPROC
12314 END(save_args)
12315@@ -354,6 +626,7 @@ ENTRY(save_rest)
12316 movq_cfi r15, R15+16
12317 movq %r11, 8(%rsp) /* return address */
12318 FIXUP_TOP_OF_STACK %r11, 16
12319+ pax_force_retaddr
12320 ret
12321 CFI_ENDPROC
12322 END(save_rest)
12323@@ -385,7 +658,8 @@ ENTRY(save_paranoid)
12324 js 1f /* negative -> in kernel */
12325 SWAPGS
12326 xorl %ebx,%ebx
12327-1: ret
12328+1: pax_force_retaddr
12329+ ret
12330 CFI_ENDPROC
12331 END(save_paranoid)
12332 .popsection
12333@@ -409,7 +683,7 @@ ENTRY(ret_from_fork)
12081 12334
12082 RESTORE_REST 12335 RESTORE_REST
12083 12336
@@ -12086,7 +12339,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12086 je int_ret_from_sys_call 12339 je int_ret_from_sys_call
12087 12340
12088 testl $_TIF_IA32, TI_flags(%rcx) # 32-bit compat task needs IRET 12341 testl $_TIF_IA32, TI_flags(%rcx) # 32-bit compat task needs IRET
12089@@ -455,7 +714,7 @@ END(ret_from_fork) 12342@@ -455,7 +729,7 @@ END(ret_from_fork)
12090 ENTRY(system_call) 12343 ENTRY(system_call)
12091 CFI_STARTPROC simple 12344 CFI_STARTPROC simple
12092 CFI_SIGNAL_FRAME 12345 CFI_SIGNAL_FRAME
@@ -12095,7 +12348,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12095 CFI_REGISTER rip,rcx 12348 CFI_REGISTER rip,rcx
12096 /*CFI_REGISTER rflags,r11*/ 12349 /*CFI_REGISTER rflags,r11*/
12097 SWAPGS_UNSAFE_STACK 12350 SWAPGS_UNSAFE_STACK
12098@@ -468,12 +727,13 @@ ENTRY(system_call_after_swapgs) 12351@@ -468,12 +742,13 @@ ENTRY(system_call_after_swapgs)
12099 12352
12100 movq %rsp,PER_CPU_VAR(old_rsp) 12353 movq %rsp,PER_CPU_VAR(old_rsp)
12101 movq PER_CPU_VAR(kernel_stack),%rsp 12354 movq PER_CPU_VAR(kernel_stack),%rsp
@@ -12110,7 +12363,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12110 movq %rax,ORIG_RAX-ARGOFFSET(%rsp) 12363 movq %rax,ORIG_RAX-ARGOFFSET(%rsp)
12111 movq %rcx,RIP-ARGOFFSET(%rsp) 12364 movq %rcx,RIP-ARGOFFSET(%rsp)
12112 CFI_REL_OFFSET rip,RIP-ARGOFFSET 12365 CFI_REL_OFFSET rip,RIP-ARGOFFSET
12113@@ -502,6 +762,8 @@ sysret_check: 12366@@ -502,6 +777,8 @@ sysret_check:
12114 andl %edi,%edx 12367 andl %edi,%edx
12115 jnz sysret_careful 12368 jnz sysret_careful
12116 CFI_REMEMBER_STATE 12369 CFI_REMEMBER_STATE
@@ -12119,7 +12372,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12119 /* 12372 /*
12120 * sysretq will re-enable interrupts: 12373 * sysretq will re-enable interrupts:
12121 */ 12374 */
12122@@ -560,6 +822,9 @@ auditsys: 12375@@ -560,6 +837,9 @@ auditsys:
12123 movq %rax,%rsi /* 2nd arg: syscall number */ 12376 movq %rax,%rsi /* 2nd arg: syscall number */
12124 movl $AUDIT_ARCH_X86_64,%edi /* 1st arg: audit arch */ 12377 movl $AUDIT_ARCH_X86_64,%edi /* 1st arg: audit arch */
12125 call audit_syscall_entry 12378 call audit_syscall_entry
@@ -12129,7 +12382,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12129 LOAD_ARGS 0 /* reload call-clobbered registers */ 12382 LOAD_ARGS 0 /* reload call-clobbered registers */
12130 jmp system_call_fastpath 12383 jmp system_call_fastpath
12131 12384
12132@@ -590,6 +855,9 @@ tracesys: 12385@@ -590,6 +870,9 @@ tracesys:
12133 FIXUP_TOP_OF_STACK %rdi 12386 FIXUP_TOP_OF_STACK %rdi
12134 movq %rsp,%rdi 12387 movq %rsp,%rdi
12135 call syscall_trace_enter 12388 call syscall_trace_enter
@@ -12139,7 +12392,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12139 /* 12392 /*
12140 * Reload arg registers from stack in case ptrace changed them. 12393 * Reload arg registers from stack in case ptrace changed them.
12141 * We don't reload %rax because syscall_trace_enter() returned 12394 * We don't reload %rax because syscall_trace_enter() returned
12142@@ -611,7 +879,7 @@ tracesys: 12395@@ -611,7 +894,7 @@ tracesys:
12143 GLOBAL(int_ret_from_sys_call) 12396 GLOBAL(int_ret_from_sys_call)
12144 DISABLE_INTERRUPTS(CLBR_NONE) 12397 DISABLE_INTERRUPTS(CLBR_NONE)
12145 TRACE_IRQS_OFF 12398 TRACE_IRQS_OFF
@@ -12148,7 +12401,15 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12148 je retint_restore_args 12401 je retint_restore_args
12149 movl $_TIF_ALLWORK_MASK,%edi 12402 movl $_TIF_ALLWORK_MASK,%edi
12150 /* edi: mask to check */ 12403 /* edi: mask to check */
12151@@ -793,6 +1061,16 @@ END(interrupt) 12404@@ -702,6 +985,7 @@ ENTRY(ptregscall_common)
12405 movq_cfi_restore R12+8, r12
12406 movq_cfi_restore RBP+8, rbp
12407 movq_cfi_restore RBX+8, rbx
12408+ pax_force_retaddr
12409 ret $REST_SKIP /* pop extended registers */
12410 CFI_ENDPROC
12411 END(ptregscall_common)
12412@@ -793,6 +1077,16 @@ END(interrupt)
12152 CFI_ADJUST_CFA_OFFSET ORIG_RAX-RBP 12413 CFI_ADJUST_CFA_OFFSET ORIG_RAX-RBP
12153 call save_args 12414 call save_args
12154 PARTIAL_FRAME 0 12415 PARTIAL_FRAME 0
@@ -12165,7 +12426,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12165 call \func 12426 call \func
12166 .endm 12427 .endm
12167 12428
12168@@ -825,7 +1103,7 @@ ret_from_intr: 12429@@ -825,7 +1119,7 @@ ret_from_intr:
12169 CFI_ADJUST_CFA_OFFSET -8 12430 CFI_ADJUST_CFA_OFFSET -8
12170 exit_intr: 12431 exit_intr:
12171 GET_THREAD_INFO(%rcx) 12432 GET_THREAD_INFO(%rcx)
@@ -12174,7 +12435,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12174 je retint_kernel 12435 je retint_kernel
12175 12436
12176 /* Interrupt came from user space */ 12437 /* Interrupt came from user space */
12177@@ -847,12 +1125,18 @@ retint_swapgs: /* return to user-space 12438@@ -847,12 +1141,16 @@ retint_swapgs: /* return to user-space
12178 * The iretq could re-enable interrupts: 12439 * The iretq could re-enable interrupts:
12179 */ 12440 */
12180 DISABLE_INTERRUPTS(CLBR_ANY) 12441 DISABLE_INTERRUPTS(CLBR_ANY)
@@ -12187,13 +12448,11 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12187 retint_restore_args: /* return to kernel space */ 12448 retint_restore_args: /* return to kernel space */
12188 DISABLE_INTERRUPTS(CLBR_ANY) 12449 DISABLE_INTERRUPTS(CLBR_ANY)
12189+ pax_exit_kernel 12450+ pax_exit_kernel
12190+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 12451+ pax_force_retaddr RIP-ARGOFFSET
12191+ orb $0x80,0x7+RIP-ARGOFFSET(%rsp)
12192+#endif
12193 /* 12452 /*
12194 * The iretq could re-enable interrupts: 12453 * The iretq could re-enable interrupts:
12195 */ 12454 */
12196@@ -1027,6 +1311,16 @@ ENTRY(\sym) 12455@@ -1027,6 +1325,16 @@ ENTRY(\sym)
12197 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 12456 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
12198 call error_entry 12457 call error_entry
12199 DEFAULT_FRAME 0 12458 DEFAULT_FRAME 0
@@ -12210,7 +12469,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12210 movq %rsp,%rdi /* pt_regs pointer */ 12469 movq %rsp,%rdi /* pt_regs pointer */
12211 xorl %esi,%esi /* no error code */ 12470 xorl %esi,%esi /* no error code */
12212 call \do_sym 12471 call \do_sym
12213@@ -1044,6 +1338,16 @@ ENTRY(\sym) 12472@@ -1044,6 +1352,16 @@ ENTRY(\sym)
12214 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 12473 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
12215 call save_paranoid 12474 call save_paranoid
12216 TRACE_IRQS_OFF 12475 TRACE_IRQS_OFF
@@ -12227,7 +12486,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12227 movq %rsp,%rdi /* pt_regs pointer */ 12486 movq %rsp,%rdi /* pt_regs pointer */
12228 xorl %esi,%esi /* no error code */ 12487 xorl %esi,%esi /* no error code */
12229 call \do_sym 12488 call \do_sym
12230@@ -1052,7 +1356,7 @@ ENTRY(\sym) 12489@@ -1052,7 +1370,7 @@ ENTRY(\sym)
12231 END(\sym) 12490 END(\sym)
12232 .endm 12491 .endm
12233 12492
@@ -12236,7 +12495,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12236 .macro paranoidzeroentry_ist sym do_sym ist 12495 .macro paranoidzeroentry_ist sym do_sym ist
12237 ENTRY(\sym) 12496 ENTRY(\sym)
12238 INTR_FRAME 12497 INTR_FRAME
12239@@ -1062,8 +1366,24 @@ ENTRY(\sym) 12498@@ -1062,8 +1380,24 @@ ENTRY(\sym)
12240 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 12499 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
12241 call save_paranoid 12500 call save_paranoid
12242 TRACE_IRQS_OFF 12501 TRACE_IRQS_OFF
@@ -12261,7 +12520,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12261 subq $EXCEPTION_STKSZ, INIT_TSS_IST(\ist) 12520 subq $EXCEPTION_STKSZ, INIT_TSS_IST(\ist)
12262 call \do_sym 12521 call \do_sym
12263 addq $EXCEPTION_STKSZ, INIT_TSS_IST(\ist) 12522 addq $EXCEPTION_STKSZ, INIT_TSS_IST(\ist)
12264@@ -1080,6 +1400,16 @@ ENTRY(\sym) 12523@@ -1080,6 +1414,16 @@ ENTRY(\sym)
12265 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 12524 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
12266 call error_entry 12525 call error_entry
12267 DEFAULT_FRAME 0 12526 DEFAULT_FRAME 0
@@ -12278,7 +12537,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12278 movq %rsp,%rdi /* pt_regs pointer */ 12537 movq %rsp,%rdi /* pt_regs pointer */
12279 movq ORIG_RAX(%rsp),%rsi /* get error code */ 12538 movq ORIG_RAX(%rsp),%rsi /* get error code */
12280 movq $-1,ORIG_RAX(%rsp) /* no syscall to restart */ 12539 movq $-1,ORIG_RAX(%rsp) /* no syscall to restart */
12281@@ -1099,6 +1429,16 @@ ENTRY(\sym) 12540@@ -1099,6 +1443,16 @@ ENTRY(\sym)
12282 call save_paranoid 12541 call save_paranoid
12283 DEFAULT_FRAME 0 12542 DEFAULT_FRAME 0
12284 TRACE_IRQS_OFF 12543 TRACE_IRQS_OFF
@@ -12295,7 +12554,47 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12295 movq %rsp,%rdi /* pt_regs pointer */ 12554 movq %rsp,%rdi /* pt_regs pointer */
12296 movq ORIG_RAX(%rsp),%rsi /* get error code */ 12555 movq ORIG_RAX(%rsp),%rsi /* get error code */
12297 movq $-1,ORIG_RAX(%rsp) /* no syscall to restart */ 12556 movq $-1,ORIG_RAX(%rsp) /* no syscall to restart */
12298@@ -1361,16 +1701,35 @@ ENTRY(paranoid_exit) 12557@@ -1134,6 +1488,7 @@ gs_change:
12558 2: mfence /* workaround */
12559 SWAPGS
12560 popfq_cfi
12561+ pax_force_retaddr
12562 ret
12563 CFI_ENDPROC
12564 END(native_load_gs_index)
12565@@ -1158,6 +1513,7 @@ ENTRY(kernel_thread_helper)
12566 * Here we are in the child and the registers are set as they were
12567 * at kernel_thread() invocation in the parent.
12568 */
12569+ pax_force_fptr %rsi
12570 call *%rsi
12571 # exit
12572 mov %eax, %edi
12573@@ -1193,9 +1549,10 @@ ENTRY(kernel_execve)
12574 je int_ret_from_sys_call
12575 RESTORE_ARGS
12576 UNFAKE_STACK_FRAME
12577+ pax_force_retaddr
12578 ret
12579 CFI_ENDPROC
12580-END(kernel_execve)
12581+ENDPROC(kernel_execve)
12582
12583 /* Call softirq on interrupt stack. Interrupts are off. */
12584 ENTRY(call_softirq)
12585@@ -1213,9 +1570,10 @@ ENTRY(call_softirq)
12586 CFI_DEF_CFA_REGISTER rsp
12587 CFI_ADJUST_CFA_OFFSET -8
12588 decl PER_CPU_VAR(irq_count)
12589+ pax_force_retaddr
12590 ret
12591 CFI_ENDPROC
12592-END(call_softirq)
12593+ENDPROC(call_softirq)
12594
12595 #ifdef CONFIG_XEN
12596 zeroentry xen_hypervisor_callback xen_do_hypervisor_callback
12597@@ -1361,16 +1719,31 @@ ENTRY(paranoid_exit)
12299 TRACE_IRQS_OFF 12598 TRACE_IRQS_OFF
12300 testl %ebx,%ebx /* swapgs needed? */ 12599 testl %ebx,%ebx /* swapgs needed? */
12301 jnz paranoid_restore 12600 jnz paranoid_restore
@@ -12307,9 +12606,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12307+ TRACE_IRQS_IRETQ 0 12606+ TRACE_IRQS_IRETQ 0
12308+ SWAPGS_UNSAFE_STACK 12607+ SWAPGS_UNSAFE_STACK
12309+ RESTORE_ALL 8 12608+ RESTORE_ALL 8
12310+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 12609+ pax_force_retaddr
12311+ orb $0x80,0x7(%rsp)
12312+#endif
12313+ jmp irq_return 12610+ jmp irq_return
12314+#endif 12611+#endif
12315 paranoid_swapgs: 12612 paranoid_swapgs:
@@ -12326,13 +12623,11 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12326+ pax_exit_kernel 12623+ pax_exit_kernel
12327 TRACE_IRQS_IRETQ 0 12624 TRACE_IRQS_IRETQ 0
12328 RESTORE_ALL 8 12625 RESTORE_ALL 8
12329+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 12626+ pax_force_retaddr
12330+ orb $0x80,0x7(%rsp)
12331+#endif
12332 jmp irq_return 12627 jmp irq_return
12333 paranoid_userspace: 12628 paranoid_userspace:
12334 GET_THREAD_INFO(%rcx) 12629 GET_THREAD_INFO(%rcx)
12335@@ -1426,7 +1785,7 @@ ENTRY(error_entry) 12630@@ -1426,12 +1799,13 @@ ENTRY(error_entry)
12336 movq_cfi r14, R14+8 12631 movq_cfi r14, R14+8
12337 movq_cfi r15, R15+8 12632 movq_cfi r15, R15+8
12338 xorl %ebx,%ebx 12633 xorl %ebx,%ebx
@@ -12341,7 +12636,13 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12341 je error_kernelspace 12636 je error_kernelspace
12342 error_swapgs: 12637 error_swapgs:
12343 SWAPGS 12638 SWAPGS
12344@@ -1490,6 +1849,16 @@ ENTRY(nmi) 12639 error_sti:
12640 TRACE_IRQS_OFF
12641+ pax_force_retaddr
12642 ret
12643
12644 /*
12645@@ -1490,6 +1864,16 @@ ENTRY(nmi)
12345 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 12646 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
12346 call save_paranoid 12647 call save_paranoid
12347 DEFAULT_FRAME 0 12648 DEFAULT_FRAME 0
@@ -12358,7 +12659,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12358 /* paranoidentry do_nmi, 0; without TRACE_IRQS_OFF */ 12659 /* paranoidentry do_nmi, 0; without TRACE_IRQS_OFF */
12359 movq %rsp,%rdi 12660 movq %rsp,%rdi
12360 movq $-1,%rsi 12661 movq $-1,%rsi
12361@@ -1500,12 +1869,32 @@ ENTRY(nmi) 12662@@ -1500,12 +1884,28 @@ ENTRY(nmi)
12362 DISABLE_INTERRUPTS(CLBR_NONE) 12663 DISABLE_INTERRUPTS(CLBR_NONE)
12363 testl %ebx,%ebx /* swapgs needed? */ 12664 testl %ebx,%ebx /* swapgs needed? */
12364 jnz nmi_restore 12665 jnz nmi_restore
@@ -12369,9 +12670,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12369+ pax_exit_kernel 12670+ pax_exit_kernel
12370+ SWAPGS_UNSAFE_STACK 12671+ SWAPGS_UNSAFE_STACK
12371+ RESTORE_ALL 8 12672+ RESTORE_ALL 8
12372+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 12673+ pax_force_retaddr
12373+ orb $0x80,0x7(%rsp)
12374+#endif
12375+ jmp irq_return 12674+ jmp irq_return
12376+#endif 12675+#endif
12377 nmi_swapgs: 12676 nmi_swapgs:
@@ -12386,15 +12685,13 @@ diff -urNp linux-3.0.4/arch/x86/kernel/entry_64.S linux-3.0.4/arch/x86/kernel/en
12386 nmi_restore: 12685 nmi_restore:
12387+ pax_exit_kernel 12686+ pax_exit_kernel
12388 RESTORE_ALL 8 12687 RESTORE_ALL 8
12389+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 12688+ pax_force_retaddr
12390+ orb $0x80,0x7(%rsp)
12391+#endif
12392 jmp irq_return 12689 jmp irq_return
12393 nmi_userspace: 12690 nmi_userspace:
12394 GET_THREAD_INFO(%rcx) 12691 GET_THREAD_INFO(%rcx)
12395diff -urNp linux-3.0.4/arch/x86/kernel/ftrace.c linux-3.0.4/arch/x86/kernel/ftrace.c 12692diff -urNp linux-3.0.7/arch/x86/kernel/ftrace.c linux-3.0.7/arch/x86/kernel/ftrace.c
12396--- linux-3.0.4/arch/x86/kernel/ftrace.c 2011-07-21 22:17:23.000000000 -0400 12693--- linux-3.0.7/arch/x86/kernel/ftrace.c 2011-07-21 22:17:23.000000000 -0400
12397+++ linux-3.0.4/arch/x86/kernel/ftrace.c 2011-08-23 21:47:55.000000000 -0400 12694+++ linux-3.0.7/arch/x86/kernel/ftrace.c 2011-08-23 21:47:55.000000000 -0400
12398@@ -126,7 +126,7 @@ static void *mod_code_ip; /* holds the 12695@@ -126,7 +126,7 @@ static void *mod_code_ip; /* holds the
12399 static const void *mod_code_newcode; /* holds the text to write to the IP */ 12696 static const void *mod_code_newcode; /* holds the text to write to the IP */
12400 12697
@@ -12452,9 +12749,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/ftrace.c linux-3.0.4/arch/x86/kernel/ftra
12452 if (probe_kernel_read(code, (void *)ip, MCOUNT_INSN_SIZE)) 12749 if (probe_kernel_read(code, (void *)ip, MCOUNT_INSN_SIZE))
12453 return -EFAULT; 12750 return -EFAULT;
12454 12751
12455diff -urNp linux-3.0.4/arch/x86/kernel/head32.c linux-3.0.4/arch/x86/kernel/head32.c 12752diff -urNp linux-3.0.7/arch/x86/kernel/head32.c linux-3.0.7/arch/x86/kernel/head32.c
12456--- linux-3.0.4/arch/x86/kernel/head32.c 2011-07-21 22:17:23.000000000 -0400 12753--- linux-3.0.7/arch/x86/kernel/head32.c 2011-07-21 22:17:23.000000000 -0400
12457+++ linux-3.0.4/arch/x86/kernel/head32.c 2011-08-23 21:47:55.000000000 -0400 12754+++ linux-3.0.7/arch/x86/kernel/head32.c 2011-08-23 21:47:55.000000000 -0400
12458@@ -19,6 +19,7 @@ 12755@@ -19,6 +19,7 @@
12459 #include <asm/io_apic.h> 12756 #include <asm/io_apic.h>
12460 #include <asm/bios_ebda.h> 12757 #include <asm/bios_ebda.h>
@@ -12472,9 +12769,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/head32.c linux-3.0.4/arch/x86/kernel/head
12472 12769
12473 #ifdef CONFIG_BLK_DEV_INITRD 12770 #ifdef CONFIG_BLK_DEV_INITRD
12474 /* Reserve INITRD */ 12771 /* Reserve INITRD */
12475diff -urNp linux-3.0.4/arch/x86/kernel/head_32.S linux-3.0.4/arch/x86/kernel/head_32.S 12772diff -urNp linux-3.0.7/arch/x86/kernel/head_32.S linux-3.0.7/arch/x86/kernel/head_32.S
12476--- linux-3.0.4/arch/x86/kernel/head_32.S 2011-07-21 22:17:23.000000000 -0400 12773--- linux-3.0.7/arch/x86/kernel/head_32.S 2011-07-21 22:17:23.000000000 -0400
12477+++ linux-3.0.4/arch/x86/kernel/head_32.S 2011-08-23 21:47:55.000000000 -0400 12774+++ linux-3.0.7/arch/x86/kernel/head_32.S 2011-08-23 21:47:55.000000000 -0400
12478@@ -25,6 +25,12 @@ 12775@@ -25,6 +25,12 @@
12479 /* Physical address */ 12776 /* Physical address */
12480 #define pa(X) ((X) - __PAGE_OFFSET) 12777 #define pa(X) ((X) - __PAGE_OFFSET)
@@ -12909,9 +13206,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/head_32.S linux-3.0.4/arch/x86/kernel/hea
12909+ /* Be sure this is zeroed to avoid false validations in Xen */ 13206+ /* Be sure this is zeroed to avoid false validations in Xen */
12910+ .fill PAGE_SIZE_asm - GDT_SIZE,1,0 13207+ .fill PAGE_SIZE_asm - GDT_SIZE,1,0
12911+ .endr 13208+ .endr
12912diff -urNp linux-3.0.4/arch/x86/kernel/head_64.S linux-3.0.4/arch/x86/kernel/head_64.S 13209diff -urNp linux-3.0.7/arch/x86/kernel/head_64.S linux-3.0.7/arch/x86/kernel/head_64.S
12913--- linux-3.0.4/arch/x86/kernel/head_64.S 2011-07-21 22:17:23.000000000 -0400 13210--- linux-3.0.7/arch/x86/kernel/head_64.S 2011-07-21 22:17:23.000000000 -0400
12914+++ linux-3.0.4/arch/x86/kernel/head_64.S 2011-08-23 21:47:55.000000000 -0400 13211+++ linux-3.0.7/arch/x86/kernel/head_64.S 2011-08-23 21:47:55.000000000 -0400
12915@@ -19,6 +19,7 @@ 13212@@ -19,6 +19,7 @@
12916 #include <asm/cache.h> 13213 #include <asm/cache.h>
12917 #include <asm/processor-flags.h> 13214 #include <asm/processor-flags.h>
@@ -13181,9 +13478,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/head_64.S linux-3.0.4/arch/x86/kernel/hea
13181 13478
13182 __PAGE_ALIGNED_BSS 13479 __PAGE_ALIGNED_BSS
13183 .align PAGE_SIZE 13480 .align PAGE_SIZE
13184diff -urNp linux-3.0.4/arch/x86/kernel/i386_ksyms_32.c linux-3.0.4/arch/x86/kernel/i386_ksyms_32.c 13481diff -urNp linux-3.0.7/arch/x86/kernel/i386_ksyms_32.c linux-3.0.7/arch/x86/kernel/i386_ksyms_32.c
13185--- linux-3.0.4/arch/x86/kernel/i386_ksyms_32.c 2011-07-21 22:17:23.000000000 -0400 13482--- linux-3.0.7/arch/x86/kernel/i386_ksyms_32.c 2011-07-21 22:17:23.000000000 -0400
13186+++ linux-3.0.4/arch/x86/kernel/i386_ksyms_32.c 2011-08-23 21:47:55.000000000 -0400 13483+++ linux-3.0.7/arch/x86/kernel/i386_ksyms_32.c 2011-08-23 21:47:55.000000000 -0400
13187@@ -20,8 +20,12 @@ extern void cmpxchg8b_emu(void); 13484@@ -20,8 +20,12 @@ extern void cmpxchg8b_emu(void);
13188 EXPORT_SYMBOL(cmpxchg8b_emu); 13485 EXPORT_SYMBOL(cmpxchg8b_emu);
13189 #endif 13486 #endif
@@ -13205,9 +13502,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/i386_ksyms_32.c linux-3.0.4/arch/x86/kern
13205+#ifdef CONFIG_PAX_KERNEXEC 13502+#ifdef CONFIG_PAX_KERNEXEC
13206+EXPORT_SYMBOL(__LOAD_PHYSICAL_ADDR); 13503+EXPORT_SYMBOL(__LOAD_PHYSICAL_ADDR);
13207+#endif 13504+#endif
13208diff -urNp linux-3.0.4/arch/x86/kernel/i8259.c linux-3.0.4/arch/x86/kernel/i8259.c 13505diff -urNp linux-3.0.7/arch/x86/kernel/i8259.c linux-3.0.7/arch/x86/kernel/i8259.c
13209--- linux-3.0.4/arch/x86/kernel/i8259.c 2011-07-21 22:17:23.000000000 -0400 13506--- linux-3.0.7/arch/x86/kernel/i8259.c 2011-07-21 22:17:23.000000000 -0400
13210+++ linux-3.0.4/arch/x86/kernel/i8259.c 2011-08-23 21:47:55.000000000 -0400 13507+++ linux-3.0.7/arch/x86/kernel/i8259.c 2011-08-23 21:47:55.000000000 -0400
13211@@ -210,7 +210,7 @@ spurious_8259A_irq: 13508@@ -210,7 +210,7 @@ spurious_8259A_irq:
13212 "spurious 8259A interrupt: IRQ%d.\n", irq); 13509 "spurious 8259A interrupt: IRQ%d.\n", irq);
13213 spurious_irq_mask |= irqmask; 13510 spurious_irq_mask |= irqmask;
@@ -13217,9 +13514,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/i8259.c linux-3.0.4/arch/x86/kernel/i8259
13217 /* 13514 /*
13218 * Theoretically we do not have to handle this IRQ, 13515 * Theoretically we do not have to handle this IRQ,
13219 * but in Linux this does not cause problems and is 13516 * but in Linux this does not cause problems and is
13220diff -urNp linux-3.0.4/arch/x86/kernel/init_task.c linux-3.0.4/arch/x86/kernel/init_task.c 13517diff -urNp linux-3.0.7/arch/x86/kernel/init_task.c linux-3.0.7/arch/x86/kernel/init_task.c
13221--- linux-3.0.4/arch/x86/kernel/init_task.c 2011-07-21 22:17:23.000000000 -0400 13518--- linux-3.0.7/arch/x86/kernel/init_task.c 2011-07-21 22:17:23.000000000 -0400
13222+++ linux-3.0.4/arch/x86/kernel/init_task.c 2011-08-23 21:47:55.000000000 -0400 13519+++ linux-3.0.7/arch/x86/kernel/init_task.c 2011-08-23 21:47:55.000000000 -0400
13223@@ -20,8 +20,7 @@ static struct sighand_struct init_sighan 13520@@ -20,8 +20,7 @@ static struct sighand_struct init_sighan
13224 * way process stacks are handled. This is done by having a special 13521 * way process stacks are handled. This is done by having a special
13225 * "init_task" linker map entry.. 13522 * "init_task" linker map entry..
@@ -13238,9 +13535,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/init_task.c linux-3.0.4/arch/x86/kernel/i
13238- 13535-
13239+struct tss_struct init_tss[NR_CPUS] ____cacheline_internodealigned_in_smp = { [0 ... NR_CPUS-1] = INIT_TSS }; 13536+struct tss_struct init_tss[NR_CPUS] ____cacheline_internodealigned_in_smp = { [0 ... NR_CPUS-1] = INIT_TSS };
13240+EXPORT_SYMBOL(init_tss); 13537+EXPORT_SYMBOL(init_tss);
13241diff -urNp linux-3.0.4/arch/x86/kernel/ioport.c linux-3.0.4/arch/x86/kernel/ioport.c 13538diff -urNp linux-3.0.7/arch/x86/kernel/ioport.c linux-3.0.7/arch/x86/kernel/ioport.c
13242--- linux-3.0.4/arch/x86/kernel/ioport.c 2011-07-21 22:17:23.000000000 -0400 13539--- linux-3.0.7/arch/x86/kernel/ioport.c 2011-07-21 22:17:23.000000000 -0400
13243+++ linux-3.0.4/arch/x86/kernel/ioport.c 2011-08-23 21:48:14.000000000 -0400 13540+++ linux-3.0.7/arch/x86/kernel/ioport.c 2011-08-23 21:48:14.000000000 -0400
13244@@ -6,6 +6,7 @@ 13541@@ -6,6 +6,7 @@
13245 #include <linux/sched.h> 13542 #include <linux/sched.h>
13246 #include <linux/kernel.h> 13543 #include <linux/kernel.h>
@@ -13284,9 +13581,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/ioport.c linux-3.0.4/arch/x86/kernel/iopo
13284 if (!capable(CAP_SYS_RAWIO)) 13581 if (!capable(CAP_SYS_RAWIO))
13285 return -EPERM; 13582 return -EPERM;
13286 } 13583 }
13287diff -urNp linux-3.0.4/arch/x86/kernel/irq_32.c linux-3.0.4/arch/x86/kernel/irq_32.c 13584diff -urNp linux-3.0.7/arch/x86/kernel/irq_32.c linux-3.0.7/arch/x86/kernel/irq_32.c
13288--- linux-3.0.4/arch/x86/kernel/irq_32.c 2011-07-21 22:17:23.000000000 -0400 13585--- linux-3.0.7/arch/x86/kernel/irq_32.c 2011-07-21 22:17:23.000000000 -0400
13289+++ linux-3.0.4/arch/x86/kernel/irq_32.c 2011-08-23 21:47:55.000000000 -0400 13586+++ linux-3.0.7/arch/x86/kernel/irq_32.c 2011-08-23 21:47:55.000000000 -0400
13290@@ -36,7 +36,7 @@ static int check_stack_overflow(void) 13587@@ -36,7 +36,7 @@ static int check_stack_overflow(void)
13291 __asm__ __volatile__("andl %%esp,%0" : 13588 __asm__ __volatile__("andl %%esp,%0" :
13292 "=r" (sp) : "0" (THREAD_SIZE - 1)); 13589 "=r" (sp) : "0" (THREAD_SIZE - 1));
@@ -13426,9 +13723,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/irq_32.c linux-3.0.4/arch/x86/kernel/irq_
13426 /* 13723 /*
13427 * Shouldn't happen, we returned above if in_interrupt(): 13724 * Shouldn't happen, we returned above if in_interrupt():
13428 */ 13725 */
13429diff -urNp linux-3.0.4/arch/x86/kernel/irq.c linux-3.0.4/arch/x86/kernel/irq.c 13726diff -urNp linux-3.0.7/arch/x86/kernel/irq.c linux-3.0.7/arch/x86/kernel/irq.c
13430--- linux-3.0.4/arch/x86/kernel/irq.c 2011-07-21 22:17:23.000000000 -0400 13727--- linux-3.0.7/arch/x86/kernel/irq.c 2011-07-21 22:17:23.000000000 -0400
13431+++ linux-3.0.4/arch/x86/kernel/irq.c 2011-08-23 21:47:55.000000000 -0400 13728+++ linux-3.0.7/arch/x86/kernel/irq.c 2011-08-23 21:47:55.000000000 -0400
13432@@ -17,7 +17,7 @@ 13729@@ -17,7 +17,7 @@
13433 #include <asm/mce.h> 13730 #include <asm/mce.h>
13434 #include <asm/hw_irq.h> 13731 #include <asm/hw_irq.h>
@@ -13463,9 +13760,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/irq.c linux-3.0.4/arch/x86/kernel/irq.c
13463 #endif 13760 #endif
13464 return sum; 13761 return sum;
13465 } 13762 }
13466diff -urNp linux-3.0.4/arch/x86/kernel/kgdb.c linux-3.0.4/arch/x86/kernel/kgdb.c 13763diff -urNp linux-3.0.7/arch/x86/kernel/kgdb.c linux-3.0.7/arch/x86/kernel/kgdb.c
13467--- linux-3.0.4/arch/x86/kernel/kgdb.c 2011-07-21 22:17:23.000000000 -0400 13764--- linux-3.0.7/arch/x86/kernel/kgdb.c 2011-07-21 22:17:23.000000000 -0400
13468+++ linux-3.0.4/arch/x86/kernel/kgdb.c 2011-08-23 21:47:55.000000000 -0400 13765+++ linux-3.0.7/arch/x86/kernel/kgdb.c 2011-08-23 21:47:55.000000000 -0400
13469@@ -124,11 +124,11 @@ char *dbg_get_reg(int regno, void *mem, 13766@@ -124,11 +124,11 @@ char *dbg_get_reg(int regno, void *mem,
13470 #ifdef CONFIG_X86_32 13767 #ifdef CONFIG_X86_32
13471 switch (regno) { 13768 switch (regno) {
@@ -13504,9 +13801,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/kgdb.c linux-3.0.4/arch/x86/kernel/kgdb.c
13504 if (user_mode(regs)) 13801 if (user_mode(regs))
13505 return single_step_cont(regs, args); 13802 return single_step_cont(regs, args);
13506 break; 13803 break;
13507diff -urNp linux-3.0.4/arch/x86/kernel/kprobes.c linux-3.0.4/arch/x86/kernel/kprobes.c 13804diff -urNp linux-3.0.7/arch/x86/kernel/kprobes.c linux-3.0.7/arch/x86/kernel/kprobes.c
13508--- linux-3.0.4/arch/x86/kernel/kprobes.c 2011-07-21 22:17:23.000000000 -0400 13805--- linux-3.0.7/arch/x86/kernel/kprobes.c 2011-07-21 22:17:23.000000000 -0400
13509+++ linux-3.0.4/arch/x86/kernel/kprobes.c 2011-08-23 21:47:55.000000000 -0400 13806+++ linux-3.0.7/arch/x86/kernel/kprobes.c 2011-10-11 10:44:33.000000000 -0400
13510@@ -115,8 +115,11 @@ static void __kprobes __synthesize_relat 13807@@ -115,8 +115,11 @@ static void __kprobes __synthesize_relat
13511 } __attribute__((packed)) *insn; 13808 } __attribute__((packed)) *insn;
13512 13809
@@ -13590,7 +13887,17 @@ diff -urNp linux-3.0.4/arch/x86/kernel/kprobes.c linux-3.0.4/arch/x86/kernel/kpr
13590 /* 13887 /*
13591 * The breakpoint instruction was removed right 13888 * The breakpoint instruction was removed right
13592 * after we hit it. Another cpu has removed 13889 * after we hit it. Another cpu has removed
13593@@ -817,7 +824,7 @@ static void __kprobes resume_execution(s 13890@@ -680,6 +687,9 @@ static void __used __kprobes kretprobe_t
13891 " movq %rax, 152(%rsp)\n"
13892 RESTORE_REGS_STRING
13893 " popfq\n"
13894+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN
13895+ " btsq $63,(%rsp)\n"
13896+#endif
13897 #else
13898 " pushf\n"
13899 SAVE_REGS_STRING
13900@@ -817,7 +827,7 @@ static void __kprobes resume_execution(s
13594 struct pt_regs *regs, struct kprobe_ctlblk *kcb) 13901 struct pt_regs *regs, struct kprobe_ctlblk *kcb)
13595 { 13902 {
13596 unsigned long *tos = stack_addr(regs); 13903 unsigned long *tos = stack_addr(regs);
@@ -13599,7 +13906,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/kprobes.c linux-3.0.4/arch/x86/kernel/kpr
13599 unsigned long orig_ip = (unsigned long)p->addr; 13906 unsigned long orig_ip = (unsigned long)p->addr;
13600 kprobe_opcode_t *insn = p->ainsn.insn; 13907 kprobe_opcode_t *insn = p->ainsn.insn;
13601 13908
13602@@ -999,7 +1006,7 @@ int __kprobes kprobe_exceptions_notify(s 13909@@ -999,7 +1009,7 @@ int __kprobes kprobe_exceptions_notify(s
13603 struct die_args *args = data; 13910 struct die_args *args = data;
13604 int ret = NOTIFY_DONE; 13911 int ret = NOTIFY_DONE;
13605 13912
@@ -13608,7 +13915,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/kprobes.c linux-3.0.4/arch/x86/kernel/kpr
13608 return ret; 13915 return ret;
13609 13916
13610 switch (val) { 13917 switch (val) {
13611@@ -1381,7 +1388,7 @@ int __kprobes arch_prepare_optimized_kpr 13918@@ -1381,7 +1391,7 @@ int __kprobes arch_prepare_optimized_kpr
13612 * Verify if the address gap is in 2GB range, because this uses 13919 * Verify if the address gap is in 2GB range, because this uses
13613 * a relative jump. 13920 * a relative jump.
13614 */ 13921 */
@@ -13617,7 +13924,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/kprobes.c linux-3.0.4/arch/x86/kernel/kpr
13617 if (abs(rel) > 0x7fffffff) 13924 if (abs(rel) > 0x7fffffff)
13618 return -ERANGE; 13925 return -ERANGE;
13619 13926
13620@@ -1402,11 +1409,11 @@ int __kprobes arch_prepare_optimized_kpr 13927@@ -1402,11 +1412,11 @@ int __kprobes arch_prepare_optimized_kpr
13621 synthesize_set_arg1(buf + TMPL_MOVE_IDX, (unsigned long)op); 13928 synthesize_set_arg1(buf + TMPL_MOVE_IDX, (unsigned long)op);
13622 13929
13623 /* Set probe function call */ 13930 /* Set probe function call */
@@ -13631,7 +13938,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/kprobes.c linux-3.0.4/arch/x86/kernel/kpr
13631 13938
13632 flush_icache_range((unsigned long) buf, 13939 flush_icache_range((unsigned long) buf,
13633 (unsigned long) buf + TMPL_END_IDX + 13940 (unsigned long) buf + TMPL_END_IDX +
13634@@ -1428,7 +1435,7 @@ static void __kprobes setup_optimize_kpr 13941@@ -1428,7 +1438,7 @@ static void __kprobes setup_optimize_kpr
13635 ((long)op->kp.addr + RELATIVEJUMP_SIZE)); 13942 ((long)op->kp.addr + RELATIVEJUMP_SIZE));
13636 13943
13637 /* Backup instructions which will be replaced by jump address */ 13944 /* Backup instructions which will be replaced by jump address */
@@ -13640,9 +13947,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/kprobes.c linux-3.0.4/arch/x86/kernel/kpr
13640 RELATIVE_ADDR_SIZE); 13947 RELATIVE_ADDR_SIZE);
13641 13948
13642 insn_buf[0] = RELATIVEJUMP_OPCODE; 13949 insn_buf[0] = RELATIVEJUMP_OPCODE;
13643diff -urNp linux-3.0.4/arch/x86/kernel/kvm.c linux-3.0.4/arch/x86/kernel/kvm.c 13950diff -urNp linux-3.0.7/arch/x86/kernel/kvm.c linux-3.0.7/arch/x86/kernel/kvm.c
13644--- linux-3.0.4/arch/x86/kernel/kvm.c 2011-07-21 22:17:23.000000000 -0400 13951--- linux-3.0.7/arch/x86/kernel/kvm.c 2011-07-21 22:17:23.000000000 -0400
13645+++ linux-3.0.4/arch/x86/kernel/kvm.c 2011-08-24 18:10:12.000000000 -0400 13952+++ linux-3.0.7/arch/x86/kernel/kvm.c 2011-08-24 18:10:12.000000000 -0400
13646@@ -426,6 +426,7 @@ static void __init paravirt_ops_setup(vo 13953@@ -426,6 +426,7 @@ static void __init paravirt_ops_setup(vo
13647 pv_mmu_ops.set_pud = kvm_set_pud; 13954 pv_mmu_ops.set_pud = kvm_set_pud;
13648 #if PAGETABLE_LEVELS == 4 13955 #if PAGETABLE_LEVELS == 4
@@ -13651,9 +13958,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/kvm.c linux-3.0.4/arch/x86/kernel/kvm.c
13651 #endif 13958 #endif
13652 #endif 13959 #endif
13653 pv_mmu_ops.flush_tlb_user = kvm_flush_tlb; 13960 pv_mmu_ops.flush_tlb_user = kvm_flush_tlb;
13654diff -urNp linux-3.0.4/arch/x86/kernel/ldt.c linux-3.0.4/arch/x86/kernel/ldt.c 13961diff -urNp linux-3.0.7/arch/x86/kernel/ldt.c linux-3.0.7/arch/x86/kernel/ldt.c
13655--- linux-3.0.4/arch/x86/kernel/ldt.c 2011-07-21 22:17:23.000000000 -0400 13962--- linux-3.0.7/arch/x86/kernel/ldt.c 2011-07-21 22:17:23.000000000 -0400
13656+++ linux-3.0.4/arch/x86/kernel/ldt.c 2011-08-23 21:47:55.000000000 -0400 13963+++ linux-3.0.7/arch/x86/kernel/ldt.c 2011-08-23 21:47:55.000000000 -0400
13657@@ -67,13 +67,13 @@ static int alloc_ldt(mm_context_t *pc, i 13964@@ -67,13 +67,13 @@ static int alloc_ldt(mm_context_t *pc, i
13658 if (reload) { 13965 if (reload) {
13659 #ifdef CONFIG_SMP 13966 #ifdef CONFIG_SMP
@@ -13718,9 +14025,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/ldt.c linux-3.0.4/arch/x86/kernel/ldt.c
13718 fill_ldt(&ldt, &ldt_info); 14025 fill_ldt(&ldt, &ldt_info);
13719 if (oldmode) 14026 if (oldmode)
13720 ldt.avl = 0; 14027 ldt.avl = 0;
13721diff -urNp linux-3.0.4/arch/x86/kernel/machine_kexec_32.c linux-3.0.4/arch/x86/kernel/machine_kexec_32.c 14028diff -urNp linux-3.0.7/arch/x86/kernel/machine_kexec_32.c linux-3.0.7/arch/x86/kernel/machine_kexec_32.c
13722--- linux-3.0.4/arch/x86/kernel/machine_kexec_32.c 2011-07-21 22:17:23.000000000 -0400 14029--- linux-3.0.7/arch/x86/kernel/machine_kexec_32.c 2011-07-21 22:17:23.000000000 -0400
13723+++ linux-3.0.4/arch/x86/kernel/machine_kexec_32.c 2011-08-23 21:47:55.000000000 -0400 14030+++ linux-3.0.7/arch/x86/kernel/machine_kexec_32.c 2011-08-23 21:47:55.000000000 -0400
13724@@ -27,7 +27,7 @@ 14031@@ -27,7 +27,7 @@
13725 #include <asm/cacheflush.h> 14032 #include <asm/cacheflush.h>
13726 #include <asm/debugreg.h> 14033 #include <asm/debugreg.h>
@@ -13748,28 +14055,28 @@ diff -urNp linux-3.0.4/arch/x86/kernel/machine_kexec_32.c linux-3.0.4/arch/x86/k
13748 14055
13749 relocate_kernel_ptr = control_page; 14056 relocate_kernel_ptr = control_page;
13750 page_list[PA_CONTROL_PAGE] = __pa(control_page); 14057 page_list[PA_CONTROL_PAGE] = __pa(control_page);
13751diff -urNp linux-3.0.4/arch/x86/kernel/microcode_intel.c linux-3.0.4/arch/x86/kernel/microcode_intel.c 14058diff -urNp linux-3.0.7/arch/x86/kernel/microcode_intel.c linux-3.0.7/arch/x86/kernel/microcode_intel.c
13752--- linux-3.0.4/arch/x86/kernel/microcode_intel.c 2011-07-21 22:17:23.000000000 -0400 14059--- linux-3.0.7/arch/x86/kernel/microcode_intel.c 2011-07-21 22:17:23.000000000 -0400
13753+++ linux-3.0.4/arch/x86/kernel/microcode_intel.c 2011-08-23 21:47:55.000000000 -0400 14060+++ linux-3.0.7/arch/x86/kernel/microcode_intel.c 2011-10-06 04:17:55.000000000 -0400
13754@@ -440,13 +440,13 @@ static enum ucode_state request_microcod 14061@@ -440,13 +440,13 @@ static enum ucode_state request_microcod
13755 14062
13756 static int get_ucode_user(void *to, const void *from, size_t n) 14063 static int get_ucode_user(void *to, const void *from, size_t n)
13757 { 14064 {
13758- return copy_from_user(to, from, n); 14065- return copy_from_user(to, from, n);
13759+ return copy_from_user(to, (__force const void __user *)from, n); 14066+ return copy_from_user(to, (const void __force_user *)from, n);
13760 } 14067 }
13761 14068
13762 static enum ucode_state 14069 static enum ucode_state
13763 request_microcode_user(int cpu, const void __user *buf, size_t size) 14070 request_microcode_user(int cpu, const void __user *buf, size_t size)
13764 { 14071 {
13765- return generic_load_microcode(cpu, (void *)buf, size, &get_ucode_user); 14072- return generic_load_microcode(cpu, (void *)buf, size, &get_ucode_user);
13766+ return generic_load_microcode(cpu, (__force void *)buf, size, &get_ucode_user); 14073+ return generic_load_microcode(cpu, (__force_kernel void *)buf, size, &get_ucode_user);
13767 } 14074 }
13768 14075
13769 static void microcode_fini_cpu(int cpu) 14076 static void microcode_fini_cpu(int cpu)
13770diff -urNp linux-3.0.4/arch/x86/kernel/module.c linux-3.0.4/arch/x86/kernel/module.c 14077diff -urNp linux-3.0.7/arch/x86/kernel/module.c linux-3.0.7/arch/x86/kernel/module.c
13771--- linux-3.0.4/arch/x86/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 14078--- linux-3.0.7/arch/x86/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
13772+++ linux-3.0.4/arch/x86/kernel/module.c 2011-08-23 21:47:55.000000000 -0400 14079+++ linux-3.0.7/arch/x86/kernel/module.c 2011-08-23 21:47:55.000000000 -0400
13773@@ -36,21 +36,66 @@ 14080@@ -36,21 +36,66 @@
13774 #define DEBUGP(fmt...) 14081 #define DEBUGP(fmt...)
13775 #endif 14082 #endif
@@ -13908,9 +14215,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/module.c linux-3.0.4/arch/x86/kernel/modu
13908 #if 0 14215 #if 0
13909 if ((s64)val != *(s32 *)loc) 14216 if ((s64)val != *(s32 *)loc)
13910 goto overflow; 14217 goto overflow;
13911diff -urNp linux-3.0.4/arch/x86/kernel/paravirt.c linux-3.0.4/arch/x86/kernel/paravirt.c 14218diff -urNp linux-3.0.7/arch/x86/kernel/paravirt.c linux-3.0.7/arch/x86/kernel/paravirt.c
13912--- linux-3.0.4/arch/x86/kernel/paravirt.c 2011-07-21 22:17:23.000000000 -0400 14219--- linux-3.0.7/arch/x86/kernel/paravirt.c 2011-07-21 22:17:23.000000000 -0400
13913+++ linux-3.0.4/arch/x86/kernel/paravirt.c 2011-08-23 21:48:14.000000000 -0400 14220+++ linux-3.0.7/arch/x86/kernel/paravirt.c 2011-08-23 21:48:14.000000000 -0400
13914@@ -53,6 +53,9 @@ u64 _paravirt_ident_64(u64 x) 14221@@ -53,6 +53,9 @@ u64 _paravirt_ident_64(u64 x)
13915 { 14222 {
13916 return x; 14223 return x;
@@ -14059,9 +14366,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/paravirt.c linux-3.0.4/arch/x86/kernel/pa
14059 }; 14366 };
14060 14367
14061 EXPORT_SYMBOL_GPL(pv_time_ops); 14368 EXPORT_SYMBOL_GPL(pv_time_ops);
14062diff -urNp linux-3.0.4/arch/x86/kernel/paravirt-spinlocks.c linux-3.0.4/arch/x86/kernel/paravirt-spinlocks.c 14369diff -urNp linux-3.0.7/arch/x86/kernel/paravirt-spinlocks.c linux-3.0.7/arch/x86/kernel/paravirt-spinlocks.c
14063--- linux-3.0.4/arch/x86/kernel/paravirt-spinlocks.c 2011-07-21 22:17:23.000000000 -0400 14370--- linux-3.0.7/arch/x86/kernel/paravirt-spinlocks.c 2011-07-21 22:17:23.000000000 -0400
14064+++ linux-3.0.4/arch/x86/kernel/paravirt-spinlocks.c 2011-08-23 21:47:55.000000000 -0400 14371+++ linux-3.0.7/arch/x86/kernel/paravirt-spinlocks.c 2011-08-23 21:47:55.000000000 -0400
14065@@ -13,7 +13,7 @@ default_spin_lock_flags(arch_spinlock_t 14372@@ -13,7 +13,7 @@ default_spin_lock_flags(arch_spinlock_t
14066 arch_spin_lock(lock); 14373 arch_spin_lock(lock);
14067 } 14374 }
@@ -14071,9 +14378,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/paravirt-spinlocks.c linux-3.0.4/arch/x86
14071 #ifdef CONFIG_SMP 14378 #ifdef CONFIG_SMP
14072 .spin_is_locked = __ticket_spin_is_locked, 14379 .spin_is_locked = __ticket_spin_is_locked,
14073 .spin_is_contended = __ticket_spin_is_contended, 14380 .spin_is_contended = __ticket_spin_is_contended,
14074diff -urNp linux-3.0.4/arch/x86/kernel/pci-iommu_table.c linux-3.0.4/arch/x86/kernel/pci-iommu_table.c 14381diff -urNp linux-3.0.7/arch/x86/kernel/pci-iommu_table.c linux-3.0.7/arch/x86/kernel/pci-iommu_table.c
14075--- linux-3.0.4/arch/x86/kernel/pci-iommu_table.c 2011-07-21 22:17:23.000000000 -0400 14382--- linux-3.0.7/arch/x86/kernel/pci-iommu_table.c 2011-07-21 22:17:23.000000000 -0400
14076+++ linux-3.0.4/arch/x86/kernel/pci-iommu_table.c 2011-08-23 21:48:14.000000000 -0400 14383+++ linux-3.0.7/arch/x86/kernel/pci-iommu_table.c 2011-08-23 21:48:14.000000000 -0400
14077@@ -2,7 +2,7 @@ 14384@@ -2,7 +2,7 @@
14078 #include <asm/iommu_table.h> 14385 #include <asm/iommu_table.h>
14079 #include <linux/string.h> 14386 #include <linux/string.h>
@@ -14092,9 +14399,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/pci-iommu_table.c linux-3.0.4/arch/x86/ke
14092 /* Simple cyclic dependency checker. */ 14399 /* Simple cyclic dependency checker. */
14093 for (p = start; p < finish; p++) { 14400 for (p = start; p < finish; p++) {
14094 q = find_dependents_of(start, finish, p); 14401 q = find_dependents_of(start, finish, p);
14095diff -urNp linux-3.0.4/arch/x86/kernel/process_32.c linux-3.0.4/arch/x86/kernel/process_32.c 14402diff -urNp linux-3.0.7/arch/x86/kernel/process_32.c linux-3.0.7/arch/x86/kernel/process_32.c
14096--- linux-3.0.4/arch/x86/kernel/process_32.c 2011-07-21 22:17:23.000000000 -0400 14403--- linux-3.0.7/arch/x86/kernel/process_32.c 2011-07-21 22:17:23.000000000 -0400
14097+++ linux-3.0.4/arch/x86/kernel/process_32.c 2011-08-23 21:47:55.000000000 -0400 14404+++ linux-3.0.7/arch/x86/kernel/process_32.c 2011-08-23 21:47:55.000000000 -0400
14098@@ -65,6 +65,7 @@ asmlinkage void ret_from_fork(void) __as 14405@@ -65,6 +65,7 @@ asmlinkage void ret_from_fork(void) __as
14099 unsigned long thread_saved_pc(struct task_struct *tsk) 14406 unsigned long thread_saved_pc(struct task_struct *tsk)
14100 { 14407 {
@@ -14181,9 +14488,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/process_32.c linux-3.0.4/arch/x86/kernel/
14181 return 0; 14488 return 0;
14182 } 14489 }
14183- 14490-
14184diff -urNp linux-3.0.4/arch/x86/kernel/process_64.c linux-3.0.4/arch/x86/kernel/process_64.c 14491diff -urNp linux-3.0.7/arch/x86/kernel/process_64.c linux-3.0.7/arch/x86/kernel/process_64.c
14185--- linux-3.0.4/arch/x86/kernel/process_64.c 2011-07-21 22:17:23.000000000 -0400 14492--- linux-3.0.7/arch/x86/kernel/process_64.c 2011-07-21 22:17:23.000000000 -0400
14186+++ linux-3.0.4/arch/x86/kernel/process_64.c 2011-08-23 21:47:55.000000000 -0400 14493+++ linux-3.0.7/arch/x86/kernel/process_64.c 2011-08-23 21:47:55.000000000 -0400
14187@@ -87,7 +87,7 @@ static void __exit_idle(void) 14494@@ -87,7 +87,7 @@ static void __exit_idle(void)
14188 void exit_idle(void) 14495 void exit_idle(void)
14189 { 14496 {
@@ -14248,9 +14555,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/process_64.c linux-3.0.4/arch/x86/kernel/
14248 return 0; 14555 return 0;
14249 ip = *(u64 *)(fp+8); 14556 ip = *(u64 *)(fp+8);
14250 if (!in_sched_functions(ip)) 14557 if (!in_sched_functions(ip))
14251diff -urNp linux-3.0.4/arch/x86/kernel/process.c linux-3.0.4/arch/x86/kernel/process.c 14558diff -urNp linux-3.0.7/arch/x86/kernel/process.c linux-3.0.7/arch/x86/kernel/process.c
14252--- linux-3.0.4/arch/x86/kernel/process.c 2011-07-21 22:17:23.000000000 -0400 14559--- linux-3.0.7/arch/x86/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
14253+++ linux-3.0.4/arch/x86/kernel/process.c 2011-08-30 18:23:52.000000000 -0400 14560+++ linux-3.0.7/arch/x86/kernel/process.c 2011-08-30 18:23:52.000000000 -0400
14254@@ -48,16 +48,33 @@ void free_thread_xstate(struct task_stru 14561@@ -48,16 +48,33 @@ void free_thread_xstate(struct task_stru
14255 14562
14256 void free_thread_info(struct thread_info *ti) 14563 void free_thread_info(struct thread_info *ti)
@@ -14388,9 +14695,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/process.c linux-3.0.4/arch/x86/kernel/pro
14388+#endif 14695+#endif
14389+} 14696+}
14390+#endif 14697+#endif
14391diff -urNp linux-3.0.4/arch/x86/kernel/ptrace.c linux-3.0.4/arch/x86/kernel/ptrace.c 14698diff -urNp linux-3.0.7/arch/x86/kernel/ptrace.c linux-3.0.7/arch/x86/kernel/ptrace.c
14392--- linux-3.0.4/arch/x86/kernel/ptrace.c 2011-07-21 22:17:23.000000000 -0400 14699--- linux-3.0.7/arch/x86/kernel/ptrace.c 2011-07-21 22:17:23.000000000 -0400
14393+++ linux-3.0.4/arch/x86/kernel/ptrace.c 2011-08-23 21:47:55.000000000 -0400 14700+++ linux-3.0.7/arch/x86/kernel/ptrace.c 2011-08-23 21:47:55.000000000 -0400
14394@@ -821,7 +821,7 @@ long arch_ptrace(struct task_struct *chi 14701@@ -821,7 +821,7 @@ long arch_ptrace(struct task_struct *chi
14395 unsigned long addr, unsigned long data) 14702 unsigned long addr, unsigned long data)
14396 { 14703 {
@@ -14426,9 +14733,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/ptrace.c linux-3.0.4/arch/x86/kernel/ptra
14426 } 14733 }
14427 14734
14428 void user_single_step_siginfo(struct task_struct *tsk, 14735 void user_single_step_siginfo(struct task_struct *tsk,
14429diff -urNp linux-3.0.4/arch/x86/kernel/pvclock.c linux-3.0.4/arch/x86/kernel/pvclock.c 14736diff -urNp linux-3.0.7/arch/x86/kernel/pvclock.c linux-3.0.7/arch/x86/kernel/pvclock.c
14430--- linux-3.0.4/arch/x86/kernel/pvclock.c 2011-07-21 22:17:23.000000000 -0400 14737--- linux-3.0.7/arch/x86/kernel/pvclock.c 2011-07-21 22:17:23.000000000 -0400
14431+++ linux-3.0.4/arch/x86/kernel/pvclock.c 2011-08-23 21:47:55.000000000 -0400 14738+++ linux-3.0.7/arch/x86/kernel/pvclock.c 2011-08-23 21:47:55.000000000 -0400
14432@@ -81,11 +81,11 @@ unsigned long pvclock_tsc_khz(struct pvc 14739@@ -81,11 +81,11 @@ unsigned long pvclock_tsc_khz(struct pvc
14433 return pv_tsc_khz; 14740 return pv_tsc_khz;
14434 } 14741 }
@@ -14457,9 +14764,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/pvclock.c linux-3.0.4/arch/x86/kernel/pvc
14457 } while (unlikely(last != ret)); 14764 } while (unlikely(last != ret));
14458 14765
14459 return ret; 14766 return ret;
14460diff -urNp linux-3.0.4/arch/x86/kernel/reboot.c linux-3.0.4/arch/x86/kernel/reboot.c 14767diff -urNp linux-3.0.7/arch/x86/kernel/reboot.c linux-3.0.7/arch/x86/kernel/reboot.c
14461--- linux-3.0.4/arch/x86/kernel/reboot.c 2011-07-21 22:17:23.000000000 -0400 14768--- linux-3.0.7/arch/x86/kernel/reboot.c 2011-07-21 22:17:23.000000000 -0400
14462+++ linux-3.0.4/arch/x86/kernel/reboot.c 2011-08-23 21:47:55.000000000 -0400 14769+++ linux-3.0.7/arch/x86/kernel/reboot.c 2011-08-23 21:47:55.000000000 -0400
14463@@ -35,7 +35,7 @@ void (*pm_power_off)(void); 14770@@ -35,7 +35,7 @@ void (*pm_power_off)(void);
14464 EXPORT_SYMBOL(pm_power_off); 14771 EXPORT_SYMBOL(pm_power_off);
14465 14772
@@ -14591,9 +14898,18 @@ diff -urNp linux-3.0.4/arch/x86/kernel/reboot.c linux-3.0.4/arch/x86/kernel/rebo
14591 } 14898 }
14592 14899
14593 struct machine_ops machine_ops = { 14900 struct machine_ops machine_ops = {
14594diff -urNp linux-3.0.4/arch/x86/kernel/setup.c linux-3.0.4/arch/x86/kernel/setup.c 14901diff -urNp linux-3.0.7/arch/x86/kernel/setup.c linux-3.0.7/arch/x86/kernel/setup.c
14595--- linux-3.0.4/arch/x86/kernel/setup.c 2011-07-21 22:17:23.000000000 -0400 14902--- linux-3.0.7/arch/x86/kernel/setup.c 2011-07-21 22:17:23.000000000 -0400
14596+++ linux-3.0.4/arch/x86/kernel/setup.c 2011-08-23 21:47:55.000000000 -0400 14903+++ linux-3.0.7/arch/x86/kernel/setup.c 2011-10-06 04:17:55.000000000 -0400
14904@@ -447,7 +447,7 @@ static void __init parse_setup_data(void
14905
14906 switch (data->type) {
14907 case SETUP_E820_EXT:
14908- parse_e820_ext(data);
14909+ parse_e820_ext((struct setup_data __force_kernel *)data);
14910 break;
14911 case SETUP_DTB:
14912 add_dtb(pa_data);
14597@@ -650,7 +650,7 @@ static void __init trim_bios_range(void) 14913@@ -650,7 +650,7 @@ static void __init trim_bios_range(void)
14598 * area (640->1Mb) as ram even though it is not. 14914 * area (640->1Mb) as ram even though it is not.
14599 * take them out. 14915 * take them out.
@@ -14623,9 +14939,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/setup.c linux-3.0.4/arch/x86/kernel/setup
14623 data_resource.end = virt_to_phys(_edata)-1; 14939 data_resource.end = virt_to_phys(_edata)-1;
14624 bss_resource.start = virt_to_phys(&__bss_start); 14940 bss_resource.start = virt_to_phys(&__bss_start);
14625 bss_resource.end = virt_to_phys(&__bss_stop)-1; 14941 bss_resource.end = virt_to_phys(&__bss_stop)-1;
14626diff -urNp linux-3.0.4/arch/x86/kernel/setup_percpu.c linux-3.0.4/arch/x86/kernel/setup_percpu.c 14942diff -urNp linux-3.0.7/arch/x86/kernel/setup_percpu.c linux-3.0.7/arch/x86/kernel/setup_percpu.c
14627--- linux-3.0.4/arch/x86/kernel/setup_percpu.c 2011-07-21 22:17:23.000000000 -0400 14943--- linux-3.0.7/arch/x86/kernel/setup_percpu.c 2011-07-21 22:17:23.000000000 -0400
14628+++ linux-3.0.4/arch/x86/kernel/setup_percpu.c 2011-08-23 21:47:55.000000000 -0400 14944+++ linux-3.0.7/arch/x86/kernel/setup_percpu.c 2011-08-23 21:47:55.000000000 -0400
14629@@ -21,19 +21,17 @@ 14945@@ -21,19 +21,17 @@
14630 #include <asm/cpu.h> 14946 #include <asm/cpu.h>
14631 #include <asm/stackprotector.h> 14947 #include <asm/stackprotector.h>
@@ -14689,9 +15005,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/setup_percpu.c linux-3.0.4/arch/x86/kerne
14689 /* 15005 /*
14690 * Up to this point, the boot CPU has been using .init.data 15006 * Up to this point, the boot CPU has been using .init.data
14691 * area. Reload any changed state for the boot CPU. 15007 * area. Reload any changed state for the boot CPU.
14692diff -urNp linux-3.0.4/arch/x86/kernel/signal.c linux-3.0.4/arch/x86/kernel/signal.c 15008diff -urNp linux-3.0.7/arch/x86/kernel/signal.c linux-3.0.7/arch/x86/kernel/signal.c
14693--- linux-3.0.4/arch/x86/kernel/signal.c 2011-07-21 22:17:23.000000000 -0400 15009--- linux-3.0.7/arch/x86/kernel/signal.c 2011-07-21 22:17:23.000000000 -0400
14694+++ linux-3.0.4/arch/x86/kernel/signal.c 2011-08-23 21:48:14.000000000 -0400 15010+++ linux-3.0.7/arch/x86/kernel/signal.c 2011-08-23 21:48:14.000000000 -0400
14695@@ -198,7 +198,7 @@ static unsigned long align_sigframe(unsi 15011@@ -198,7 +198,7 @@ static unsigned long align_sigframe(unsi
14696 * Align the stack pointer according to the i386 ABI, 15012 * Align the stack pointer according to the i386 ABI,
14697 * i.e. so that on function entry ((sp + 4) & 15) == 0. 15013 * i.e. so that on function entry ((sp + 4) & 15) == 0.
@@ -14775,9 +15091,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/signal.c linux-3.0.4/arch/x86/kernel/sign
14775 return; 15091 return;
14776 15092
14777 if (current_thread_info()->status & TS_RESTORE_SIGMASK) 15093 if (current_thread_info()->status & TS_RESTORE_SIGMASK)
14778diff -urNp linux-3.0.4/arch/x86/kernel/smpboot.c linux-3.0.4/arch/x86/kernel/smpboot.c 15094diff -urNp linux-3.0.7/arch/x86/kernel/smpboot.c linux-3.0.7/arch/x86/kernel/smpboot.c
14779--- linux-3.0.4/arch/x86/kernel/smpboot.c 2011-07-21 22:17:23.000000000 -0400 15095--- linux-3.0.7/arch/x86/kernel/smpboot.c 2011-07-21 22:17:23.000000000 -0400
14780+++ linux-3.0.4/arch/x86/kernel/smpboot.c 2011-08-23 21:47:55.000000000 -0400 15096+++ linux-3.0.7/arch/x86/kernel/smpboot.c 2011-08-23 21:47:55.000000000 -0400
14781@@ -709,17 +709,20 @@ static int __cpuinit do_boot_cpu(int api 15097@@ -709,17 +709,20 @@ static int __cpuinit do_boot_cpu(int api
14782 set_idle_for_cpu(cpu, c_idle.idle); 15098 set_idle_for_cpu(cpu, c_idle.idle);
14783 do_rest: 15099 do_rest:
@@ -14815,9 +15131,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/smpboot.c linux-3.0.4/arch/x86/kernel/smp
14815 err = do_boot_cpu(apicid, cpu); 15131 err = do_boot_cpu(apicid, cpu);
14816 if (err) { 15132 if (err) {
14817 pr_debug("do_boot_cpu failed %d\n", err); 15133 pr_debug("do_boot_cpu failed %d\n", err);
14818diff -urNp linux-3.0.4/arch/x86/kernel/step.c linux-3.0.4/arch/x86/kernel/step.c 15134diff -urNp linux-3.0.7/arch/x86/kernel/step.c linux-3.0.7/arch/x86/kernel/step.c
14819--- linux-3.0.4/arch/x86/kernel/step.c 2011-07-21 22:17:23.000000000 -0400 15135--- linux-3.0.7/arch/x86/kernel/step.c 2011-07-21 22:17:23.000000000 -0400
14820+++ linux-3.0.4/arch/x86/kernel/step.c 2011-08-23 21:47:55.000000000 -0400 15136+++ linux-3.0.7/arch/x86/kernel/step.c 2011-08-23 21:47:55.000000000 -0400
14821@@ -27,10 +27,10 @@ unsigned long convert_ip_to_linear(struc 15137@@ -27,10 +27,10 @@ unsigned long convert_ip_to_linear(struc
14822 struct desc_struct *desc; 15138 struct desc_struct *desc;
14823 unsigned long base; 15139 unsigned long base;
@@ -14860,17 +15176,17 @@ diff -urNp linux-3.0.4/arch/x86/kernel/step.c linux-3.0.4/arch/x86/kernel/step.c
14860 /* 32-bit mode: register increment */ 15176 /* 32-bit mode: register increment */
14861 return 0; 15177 return 0;
14862 /* 64-bit mode: REX prefix */ 15178 /* 64-bit mode: REX prefix */
14863diff -urNp linux-3.0.4/arch/x86/kernel/syscall_table_32.S linux-3.0.4/arch/x86/kernel/syscall_table_32.S 15179diff -urNp linux-3.0.7/arch/x86/kernel/syscall_table_32.S linux-3.0.7/arch/x86/kernel/syscall_table_32.S
14864--- linux-3.0.4/arch/x86/kernel/syscall_table_32.S 2011-07-21 22:17:23.000000000 -0400 15180--- linux-3.0.7/arch/x86/kernel/syscall_table_32.S 2011-07-21 22:17:23.000000000 -0400
14865+++ linux-3.0.4/arch/x86/kernel/syscall_table_32.S 2011-08-23 21:47:55.000000000 -0400 15181+++ linux-3.0.7/arch/x86/kernel/syscall_table_32.S 2011-08-23 21:47:55.000000000 -0400
14866@@ -1,3 +1,4 @@ 15182@@ -1,3 +1,4 @@
14867+.section .rodata,"a",@progbits 15183+.section .rodata,"a",@progbits
14868 ENTRY(sys_call_table) 15184 ENTRY(sys_call_table)
14869 .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */ 15185 .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */
14870 .long sys_exit 15186 .long sys_exit
14871diff -urNp linux-3.0.4/arch/x86/kernel/sys_i386_32.c linux-3.0.4/arch/x86/kernel/sys_i386_32.c 15187diff -urNp linux-3.0.7/arch/x86/kernel/sys_i386_32.c linux-3.0.7/arch/x86/kernel/sys_i386_32.c
14872--- linux-3.0.4/arch/x86/kernel/sys_i386_32.c 2011-07-21 22:17:23.000000000 -0400 15188--- linux-3.0.7/arch/x86/kernel/sys_i386_32.c 2011-07-21 22:17:23.000000000 -0400
14873+++ linux-3.0.4/arch/x86/kernel/sys_i386_32.c 2011-08-23 21:47:55.000000000 -0400 15189+++ linux-3.0.7/arch/x86/kernel/sys_i386_32.c 2011-08-23 21:47:55.000000000 -0400
14874@@ -24,17 +24,224 @@ 15190@@ -24,17 +24,224 @@
14875 15191
14876 #include <asm/syscalls.h> 15192 #include <asm/syscalls.h>
@@ -15108,9 +15424,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/sys_i386_32.c linux-3.0.4/arch/x86/kernel
15108+ 15424+
15109+ return addr; 15425+ return addr;
15110 } 15426 }
15111diff -urNp linux-3.0.4/arch/x86/kernel/sys_x86_64.c linux-3.0.4/arch/x86/kernel/sys_x86_64.c 15427diff -urNp linux-3.0.7/arch/x86/kernel/sys_x86_64.c linux-3.0.7/arch/x86/kernel/sys_x86_64.c
15112--- linux-3.0.4/arch/x86/kernel/sys_x86_64.c 2011-07-21 22:17:23.000000000 -0400 15428--- linux-3.0.7/arch/x86/kernel/sys_x86_64.c 2011-07-21 22:17:23.000000000 -0400
15113+++ linux-3.0.4/arch/x86/kernel/sys_x86_64.c 2011-08-23 21:47:55.000000000 -0400 15429+++ linux-3.0.7/arch/x86/kernel/sys_x86_64.c 2011-08-23 21:47:55.000000000 -0400
15114@@ -32,8 +32,8 @@ out: 15430@@ -32,8 +32,8 @@ out:
15115 return error; 15431 return error;
15116 } 15432 }
@@ -15248,9 +15564,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/sys_x86_64.c linux-3.0.4/arch/x86/kernel/
15248 mm->cached_hole_size = ~0UL; 15564 mm->cached_hole_size = ~0UL;
15249 15565
15250 return addr; 15566 return addr;
15251diff -urNp linux-3.0.4/arch/x86/kernel/tboot.c linux-3.0.4/arch/x86/kernel/tboot.c 15567diff -urNp linux-3.0.7/arch/x86/kernel/tboot.c linux-3.0.7/arch/x86/kernel/tboot.c
15252--- linux-3.0.4/arch/x86/kernel/tboot.c 2011-07-21 22:17:23.000000000 -0400 15568--- linux-3.0.7/arch/x86/kernel/tboot.c 2011-07-21 22:17:23.000000000 -0400
15253+++ linux-3.0.4/arch/x86/kernel/tboot.c 2011-08-23 21:47:55.000000000 -0400 15569+++ linux-3.0.7/arch/x86/kernel/tboot.c 2011-08-23 21:47:55.000000000 -0400
15254@@ -217,7 +217,7 @@ static int tboot_setup_sleep(void) 15570@@ -217,7 +217,7 @@ static int tboot_setup_sleep(void)
15255 15571
15256 void tboot_shutdown(u32 shutdown_type) 15572 void tboot_shutdown(u32 shutdown_type)
@@ -15299,9 +15615,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/tboot.c linux-3.0.4/arch/x86/kernel/tboot
15299 register_hotcpu_notifier(&tboot_cpu_notifier); 15615 register_hotcpu_notifier(&tboot_cpu_notifier);
15300 return 0; 15616 return 0;
15301 } 15617 }
15302diff -urNp linux-3.0.4/arch/x86/kernel/time.c linux-3.0.4/arch/x86/kernel/time.c 15618diff -urNp linux-3.0.7/arch/x86/kernel/time.c linux-3.0.7/arch/x86/kernel/time.c
15303--- linux-3.0.4/arch/x86/kernel/time.c 2011-07-21 22:17:23.000000000 -0400 15619--- linux-3.0.7/arch/x86/kernel/time.c 2011-07-21 22:17:23.000000000 -0400
15304+++ linux-3.0.4/arch/x86/kernel/time.c 2011-08-23 21:47:55.000000000 -0400 15620+++ linux-3.0.7/arch/x86/kernel/time.c 2011-08-23 21:47:55.000000000 -0400
15305@@ -30,9 +30,9 @@ unsigned long profile_pc(struct pt_regs 15621@@ -30,9 +30,9 @@ unsigned long profile_pc(struct pt_regs
15306 { 15622 {
15307 unsigned long pc = instruction_pointer(regs); 15623 unsigned long pc = instruction_pointer(regs);
@@ -15332,9 +15648,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/time.c linux-3.0.4/arch/x86/kernel/time.c
15332 } 15648 }
15333 return pc; 15649 return pc;
15334 } 15650 }
15335diff -urNp linux-3.0.4/arch/x86/kernel/tls.c linux-3.0.4/arch/x86/kernel/tls.c 15651diff -urNp linux-3.0.7/arch/x86/kernel/tls.c linux-3.0.7/arch/x86/kernel/tls.c
15336--- linux-3.0.4/arch/x86/kernel/tls.c 2011-07-21 22:17:23.000000000 -0400 15652--- linux-3.0.7/arch/x86/kernel/tls.c 2011-07-21 22:17:23.000000000 -0400
15337+++ linux-3.0.4/arch/x86/kernel/tls.c 2011-08-23 21:47:55.000000000 -0400 15653+++ linux-3.0.7/arch/x86/kernel/tls.c 2011-08-23 21:47:55.000000000 -0400
15338@@ -85,6 +85,11 @@ int do_set_thread_area(struct task_struc 15654@@ -85,6 +85,11 @@ int do_set_thread_area(struct task_struc
15339 if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX) 15655 if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX)
15340 return -EINVAL; 15656 return -EINVAL;
@@ -15347,9 +15663,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/tls.c linux-3.0.4/arch/x86/kernel/tls.c
15347 set_tls_desc(p, idx, &info, 1); 15663 set_tls_desc(p, idx, &info, 1);
15348 15664
15349 return 0; 15665 return 0;
15350diff -urNp linux-3.0.4/arch/x86/kernel/trampoline_32.S linux-3.0.4/arch/x86/kernel/trampoline_32.S 15666diff -urNp linux-3.0.7/arch/x86/kernel/trampoline_32.S linux-3.0.7/arch/x86/kernel/trampoline_32.S
15351--- linux-3.0.4/arch/x86/kernel/trampoline_32.S 2011-07-21 22:17:23.000000000 -0400 15667--- linux-3.0.7/arch/x86/kernel/trampoline_32.S 2011-07-21 22:17:23.000000000 -0400
15352+++ linux-3.0.4/arch/x86/kernel/trampoline_32.S 2011-08-23 21:47:55.000000000 -0400 15668+++ linux-3.0.7/arch/x86/kernel/trampoline_32.S 2011-08-23 21:47:55.000000000 -0400
15353@@ -32,6 +32,12 @@ 15669@@ -32,6 +32,12 @@
15354 #include <asm/segment.h> 15670 #include <asm/segment.h>
15355 #include <asm/page_types.h> 15671 #include <asm/page_types.h>
@@ -15372,9 +15688,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/trampoline_32.S linux-3.0.4/arch/x86/kern
15372 15688
15373 # These need to be in the same 64K segment as the above; 15689 # These need to be in the same 64K segment as the above;
15374 # hence we don't use the boot_gdt_descr defined in head.S 15690 # hence we don't use the boot_gdt_descr defined in head.S
15375diff -urNp linux-3.0.4/arch/x86/kernel/trampoline_64.S linux-3.0.4/arch/x86/kernel/trampoline_64.S 15691diff -urNp linux-3.0.7/arch/x86/kernel/trampoline_64.S linux-3.0.7/arch/x86/kernel/trampoline_64.S
15376--- linux-3.0.4/arch/x86/kernel/trampoline_64.S 2011-07-21 22:17:23.000000000 -0400 15692--- linux-3.0.7/arch/x86/kernel/trampoline_64.S 2011-07-21 22:17:23.000000000 -0400
15377+++ linux-3.0.4/arch/x86/kernel/trampoline_64.S 2011-08-23 21:47:55.000000000 -0400 15693+++ linux-3.0.7/arch/x86/kernel/trampoline_64.S 2011-08-23 21:47:55.000000000 -0400
15378@@ -90,7 +90,7 @@ startup_32: 15694@@ -90,7 +90,7 @@ startup_32:
15379 movl $__KERNEL_DS, %eax # Initialize the %ds segment register 15695 movl $__KERNEL_DS, %eax # Initialize the %ds segment register
15380 movl %eax, %ds 15696 movl %eax, %ds
@@ -15393,9 +15709,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/trampoline_64.S linux-3.0.4/arch/x86/kern
15393 .long tgdt - r_base 15709 .long tgdt - r_base
15394 .short 0 15710 .short 0
15395 .quad 0x00cf9b000000ffff # __KERNEL32_CS 15711 .quad 0x00cf9b000000ffff # __KERNEL32_CS
15396diff -urNp linux-3.0.4/arch/x86/kernel/traps.c linux-3.0.4/arch/x86/kernel/traps.c 15712diff -urNp linux-3.0.7/arch/x86/kernel/traps.c linux-3.0.7/arch/x86/kernel/traps.c
15397--- linux-3.0.4/arch/x86/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400 15713--- linux-3.0.7/arch/x86/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400
15398+++ linux-3.0.4/arch/x86/kernel/traps.c 2011-08-23 21:47:55.000000000 -0400 15714+++ linux-3.0.7/arch/x86/kernel/traps.c 2011-08-23 21:47:55.000000000 -0400
15399@@ -70,12 +70,6 @@ asmlinkage int system_call(void); 15715@@ -70,12 +70,6 @@ asmlinkage int system_call(void);
15400 15716
15401 /* Do we ignore FPU interrupts ? */ 15717 /* Do we ignore FPU interrupts ? */
@@ -15575,9 +15891,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/traps.c linux-3.0.4/arch/x86/kernel/traps
15575 15891
15576 if (!tsk_used_math(tsk)) { 15892 if (!tsk_used_math(tsk)) {
15577 local_irq_enable(); 15893 local_irq_enable();
15578diff -urNp linux-3.0.4/arch/x86/kernel/verify_cpu.S linux-3.0.4/arch/x86/kernel/verify_cpu.S 15894diff -urNp linux-3.0.7/arch/x86/kernel/verify_cpu.S linux-3.0.7/arch/x86/kernel/verify_cpu.S
15579--- linux-3.0.4/arch/x86/kernel/verify_cpu.S 2011-07-21 22:17:23.000000000 -0400 15895--- linux-3.0.7/arch/x86/kernel/verify_cpu.S 2011-07-21 22:17:23.000000000 -0400
15580+++ linux-3.0.4/arch/x86/kernel/verify_cpu.S 2011-08-23 21:48:14.000000000 -0400 15896+++ linux-3.0.7/arch/x86/kernel/verify_cpu.S 2011-08-23 21:48:14.000000000 -0400
15581@@ -20,6 +20,7 @@ 15897@@ -20,6 +20,7 @@
15582 * arch/x86/boot/compressed/head_64.S: Boot cpu verification 15898 * arch/x86/boot/compressed/head_64.S: Boot cpu verification
15583 * arch/x86/kernel/trampoline_64.S: secondary processor verification 15899 * arch/x86/kernel/trampoline_64.S: secondary processor verification
@@ -15586,9 +15902,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/verify_cpu.S linux-3.0.4/arch/x86/kernel/
15586 * 15902 *
15587 * verify_cpu, returns the status of longmode and SSE in register %eax. 15903 * verify_cpu, returns the status of longmode and SSE in register %eax.
15588 * 0: Success 1: Failure 15904 * 0: Success 1: Failure
15589diff -urNp linux-3.0.4/arch/x86/kernel/vm86_32.c linux-3.0.4/arch/x86/kernel/vm86_32.c 15905diff -urNp linux-3.0.7/arch/x86/kernel/vm86_32.c linux-3.0.7/arch/x86/kernel/vm86_32.c
15590--- linux-3.0.4/arch/x86/kernel/vm86_32.c 2011-07-21 22:17:23.000000000 -0400 15906--- linux-3.0.7/arch/x86/kernel/vm86_32.c 2011-07-21 22:17:23.000000000 -0400
15591+++ linux-3.0.4/arch/x86/kernel/vm86_32.c 2011-08-23 21:48:14.000000000 -0400 15907+++ linux-3.0.7/arch/x86/kernel/vm86_32.c 2011-08-23 21:48:14.000000000 -0400
15592@@ -41,6 +41,7 @@ 15908@@ -41,6 +41,7 @@
15593 #include <linux/ptrace.h> 15909 #include <linux/ptrace.h>
15594 #include <linux/audit.h> 15910 #include <linux/audit.h>
@@ -15653,9 +15969,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/vm86_32.c linux-3.0.4/arch/x86/kernel/vm8
15653 if (get_user(segoffs, intr_ptr)) 15969 if (get_user(segoffs, intr_ptr))
15654 goto cannot_handle; 15970 goto cannot_handle;
15655 if ((segoffs >> 16) == BIOSSEG) 15971 if ((segoffs >> 16) == BIOSSEG)
15656diff -urNp linux-3.0.4/arch/x86/kernel/vmlinux.lds.S linux-3.0.4/arch/x86/kernel/vmlinux.lds.S 15972diff -urNp linux-3.0.7/arch/x86/kernel/vmlinux.lds.S linux-3.0.7/arch/x86/kernel/vmlinux.lds.S
15657--- linux-3.0.4/arch/x86/kernel/vmlinux.lds.S 2011-07-21 22:17:23.000000000 -0400 15973--- linux-3.0.7/arch/x86/kernel/vmlinux.lds.S 2011-07-21 22:17:23.000000000 -0400
15658+++ linux-3.0.4/arch/x86/kernel/vmlinux.lds.S 2011-08-23 21:47:55.000000000 -0400 15974+++ linux-3.0.7/arch/x86/kernel/vmlinux.lds.S 2011-08-23 21:47:55.000000000 -0400
15659@@ -26,6 +26,13 @@ 15975@@ -26,6 +26,13 @@
15660 #include <asm/page_types.h> 15976 #include <asm/page_types.h>
15661 #include <asm/cache.h> 15977 #include <asm/cache.h>
@@ -15918,9 +16234,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/vmlinux.lds.S linux-3.0.4/arch/x86/kernel
15918 "kernel image bigger than KERNEL_IMAGE_SIZE"); 16234 "kernel image bigger than KERNEL_IMAGE_SIZE");
15919 16235
15920 #ifdef CONFIG_SMP 16236 #ifdef CONFIG_SMP
15921diff -urNp linux-3.0.4/arch/x86/kernel/vsyscall_64.c linux-3.0.4/arch/x86/kernel/vsyscall_64.c 16237diff -urNp linux-3.0.7/arch/x86/kernel/vsyscall_64.c linux-3.0.7/arch/x86/kernel/vsyscall_64.c
15922--- linux-3.0.4/arch/x86/kernel/vsyscall_64.c 2011-07-21 22:17:23.000000000 -0400 16238--- linux-3.0.7/arch/x86/kernel/vsyscall_64.c 2011-07-21 22:17:23.000000000 -0400
15923+++ linux-3.0.4/arch/x86/kernel/vsyscall_64.c 2011-08-23 21:47:55.000000000 -0400 16239+++ linux-3.0.7/arch/x86/kernel/vsyscall_64.c 2011-08-23 21:47:55.000000000 -0400
15924@@ -53,7 +53,7 @@ DEFINE_VVAR(int, vgetcpu_mode); 16240@@ -53,7 +53,7 @@ DEFINE_VVAR(int, vgetcpu_mode);
15925 DEFINE_VVAR(struct vsyscall_gtod_data, vsyscall_gtod_data) = 16241 DEFINE_VVAR(struct vsyscall_gtod_data, vsyscall_gtod_data) =
15926 { 16242 {
@@ -15939,9 +16255,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/vsyscall_64.c linux-3.0.4/arch/x86/kernel
15939 .proc_handler = proc_dointvec }, 16255 .proc_handler = proc_dointvec },
15940 {} 16256 {}
15941 }; 16257 };
15942diff -urNp linux-3.0.4/arch/x86/kernel/x8664_ksyms_64.c linux-3.0.4/arch/x86/kernel/x8664_ksyms_64.c 16258diff -urNp linux-3.0.7/arch/x86/kernel/x8664_ksyms_64.c linux-3.0.7/arch/x86/kernel/x8664_ksyms_64.c
15943--- linux-3.0.4/arch/x86/kernel/x8664_ksyms_64.c 2011-07-21 22:17:23.000000000 -0400 16259--- linux-3.0.7/arch/x86/kernel/x8664_ksyms_64.c 2011-07-21 22:17:23.000000000 -0400
15944+++ linux-3.0.4/arch/x86/kernel/x8664_ksyms_64.c 2011-08-23 21:47:55.000000000 -0400 16260+++ linux-3.0.7/arch/x86/kernel/x8664_ksyms_64.c 2011-08-23 21:47:55.000000000 -0400
15945@@ -29,8 +29,6 @@ EXPORT_SYMBOL(__put_user_8); 16261@@ -29,8 +29,6 @@ EXPORT_SYMBOL(__put_user_8);
15946 EXPORT_SYMBOL(copy_user_generic_string); 16262 EXPORT_SYMBOL(copy_user_generic_string);
15947 EXPORT_SYMBOL(copy_user_generic_unrolled); 16263 EXPORT_SYMBOL(copy_user_generic_unrolled);
@@ -15951,9 +16267,9 @@ diff -urNp linux-3.0.4/arch/x86/kernel/x8664_ksyms_64.c linux-3.0.4/arch/x86/ker
15951 16267
15952 EXPORT_SYMBOL(copy_page); 16268 EXPORT_SYMBOL(copy_page);
15953 EXPORT_SYMBOL(clear_page); 16269 EXPORT_SYMBOL(clear_page);
15954diff -urNp linux-3.0.4/arch/x86/kernel/xsave.c linux-3.0.4/arch/x86/kernel/xsave.c 16270diff -urNp linux-3.0.7/arch/x86/kernel/xsave.c linux-3.0.7/arch/x86/kernel/xsave.c
15955--- linux-3.0.4/arch/x86/kernel/xsave.c 2011-07-21 22:17:23.000000000 -0400 16271--- linux-3.0.7/arch/x86/kernel/xsave.c 2011-07-21 22:17:23.000000000 -0400
15956+++ linux-3.0.4/arch/x86/kernel/xsave.c 2011-08-23 21:47:55.000000000 -0400 16272+++ linux-3.0.7/arch/x86/kernel/xsave.c 2011-10-06 04:17:55.000000000 -0400
15957@@ -130,7 +130,7 @@ int check_for_xstate(struct i387_fxsave_ 16273@@ -130,7 +130,7 @@ int check_for_xstate(struct i387_fxsave_
15958 fx_sw_user->xstate_size > fx_sw_user->extended_size) 16274 fx_sw_user->xstate_size > fx_sw_user->extended_size)
15959 return -EINVAL; 16275 return -EINVAL;
@@ -15968,7 +16284,7 @@ diff -urNp linux-3.0.4/arch/x86/kernel/xsave.c linux-3.0.4/arch/x86/kernel/xsave
15968 */ 16284 */
15969 xrstor_state(init_xstate_buf, pcntxt_mask & ~XSTATE_FPSSE); 16285 xrstor_state(init_xstate_buf, pcntxt_mask & ~XSTATE_FPSSE);
15970- return fxrstor_checking((__force struct i387_fxsave_struct *)buf); 16286- return fxrstor_checking((__force struct i387_fxsave_struct *)buf);
15971+ return fxrstor_checking((struct i387_fxsave_struct __user *)buf); 16287+ return fxrstor_checking((struct i387_fxsave_struct __force_kernel *)buf);
15972 } 16288 }
15973 16289
15974 /* 16290 /*
@@ -15977,13 +16293,13 @@ diff -urNp linux-3.0.4/arch/x86/kernel/xsave.c linux-3.0.4/arch/x86/kernel/xsave
15977 err = restore_user_xstate(buf); 16293 err = restore_user_xstate(buf);
15978 else 16294 else
15979- err = fxrstor_checking((__force struct i387_fxsave_struct *) 16295- err = fxrstor_checking((__force struct i387_fxsave_struct *)
15980+ err = fxrstor_checking((struct i387_fxsave_struct __user *) 16296+ err = fxrstor_checking((struct i387_fxsave_struct __force_kernel *)
15981 buf); 16297 buf);
15982 if (unlikely(err)) { 16298 if (unlikely(err)) {
15983 /* 16299 /*
15984diff -urNp linux-3.0.4/arch/x86/kvm/emulate.c linux-3.0.4/arch/x86/kvm/emulate.c 16300diff -urNp linux-3.0.7/arch/x86/kvm/emulate.c linux-3.0.7/arch/x86/kvm/emulate.c
15985--- linux-3.0.4/arch/x86/kvm/emulate.c 2011-07-21 22:17:23.000000000 -0400 16301--- linux-3.0.7/arch/x86/kvm/emulate.c 2011-07-21 22:17:23.000000000 -0400
15986+++ linux-3.0.4/arch/x86/kvm/emulate.c 2011-08-23 21:47:55.000000000 -0400 16302+++ linux-3.0.7/arch/x86/kvm/emulate.c 2011-08-23 21:47:55.000000000 -0400
15987@@ -96,7 +96,7 @@ 16303@@ -96,7 +96,7 @@
15988 #define Src2ImmByte (2<<29) 16304 #define Src2ImmByte (2<<29)
15989 #define Src2One (3<<29) 16305 #define Src2One (3<<29)
@@ -16018,9 +16334,9 @@ diff -urNp linux-3.0.4/arch/x86/kvm/emulate.c linux-3.0.4/arch/x86/kvm/emulate.c
16018 switch ((_dst).bytes) { \ 16334 switch ((_dst).bytes) { \
16019 case 1: \ 16335 case 1: \
16020 ____emulate_2op(_op,_src,_dst,_eflags,_bx,_by,"b",u8); \ 16336 ____emulate_2op(_op,_src,_dst,_eflags,_bx,_by,"b",u8); \
16021diff -urNp linux-3.0.4/arch/x86/kvm/lapic.c linux-3.0.4/arch/x86/kvm/lapic.c 16337diff -urNp linux-3.0.7/arch/x86/kvm/lapic.c linux-3.0.7/arch/x86/kvm/lapic.c
16022--- linux-3.0.4/arch/x86/kvm/lapic.c 2011-07-21 22:17:23.000000000 -0400 16338--- linux-3.0.7/arch/x86/kvm/lapic.c 2011-07-21 22:17:23.000000000 -0400
16023+++ linux-3.0.4/arch/x86/kvm/lapic.c 2011-08-23 21:47:55.000000000 -0400 16339+++ linux-3.0.7/arch/x86/kvm/lapic.c 2011-08-23 21:47:55.000000000 -0400
16024@@ -53,7 +53,7 @@ 16340@@ -53,7 +53,7 @@
16025 #define APIC_BUS_CYCLE_NS 1 16341 #define APIC_BUS_CYCLE_NS 1
16026 16342
@@ -16030,9 +16346,9 @@ diff -urNp linux-3.0.4/arch/x86/kvm/lapic.c linux-3.0.4/arch/x86/kvm/lapic.c
16030 16346
16031 #define APIC_LVT_NUM 6 16347 #define APIC_LVT_NUM 6
16032 /* 14 is the version for Xeon and Pentium 8.4.8*/ 16348 /* 14 is the version for Xeon and Pentium 8.4.8*/
16033diff -urNp linux-3.0.4/arch/x86/kvm/mmu.c linux-3.0.4/arch/x86/kvm/mmu.c 16349diff -urNp linux-3.0.7/arch/x86/kvm/mmu.c linux-3.0.7/arch/x86/kvm/mmu.c
16034--- linux-3.0.4/arch/x86/kvm/mmu.c 2011-07-21 22:17:23.000000000 -0400 16350--- linux-3.0.7/arch/x86/kvm/mmu.c 2011-07-21 22:17:23.000000000 -0400
16035+++ linux-3.0.4/arch/x86/kvm/mmu.c 2011-08-23 21:47:55.000000000 -0400 16351+++ linux-3.0.7/arch/x86/kvm/mmu.c 2011-08-23 21:47:55.000000000 -0400
16036@@ -3238,7 +3238,7 @@ void kvm_mmu_pte_write(struct kvm_vcpu * 16352@@ -3238,7 +3238,7 @@ void kvm_mmu_pte_write(struct kvm_vcpu *
16037 16353
16038 pgprintk("%s: gpa %llx bytes %d\n", __func__, gpa, bytes); 16354 pgprintk("%s: gpa %llx bytes %d\n", __func__, gpa, bytes);
@@ -16051,9 +16367,18 @@ diff -urNp linux-3.0.4/arch/x86/kvm/mmu.c linux-3.0.4/arch/x86/kvm/mmu.c
16051 gentry = 0; 16367 gentry = 0;
16052 kvm_mmu_free_some_pages(vcpu); 16368 kvm_mmu_free_some_pages(vcpu);
16053 ++vcpu->kvm->stat.mmu_pte_write; 16369 ++vcpu->kvm->stat.mmu_pte_write;
16054diff -urNp linux-3.0.4/arch/x86/kvm/paging_tmpl.h linux-3.0.4/arch/x86/kvm/paging_tmpl.h 16370diff -urNp linux-3.0.7/arch/x86/kvm/paging_tmpl.h linux-3.0.7/arch/x86/kvm/paging_tmpl.h
16055--- linux-3.0.4/arch/x86/kvm/paging_tmpl.h 2011-07-21 22:17:23.000000000 -0400 16371--- linux-3.0.7/arch/x86/kvm/paging_tmpl.h 2011-07-21 22:17:23.000000000 -0400
16056+++ linux-3.0.4/arch/x86/kvm/paging_tmpl.h 2011-08-23 21:48:14.000000000 -0400 16372+++ linux-3.0.7/arch/x86/kvm/paging_tmpl.h 2011-10-06 04:17:55.000000000 -0400
16373@@ -182,7 +182,7 @@ walk:
16374 break;
16375 }
16376
16377- ptep_user = (pt_element_t __user *)((void *)host_addr + offset);
16378+ ptep_user = (pt_element_t __force_user *)((void *)host_addr + offset);
16379 if (unlikely(__copy_from_user(&pte, ptep_user, sizeof(pte)))) {
16380 present = false;
16381 break;
16057@@ -583,6 +583,8 @@ static int FNAME(page_fault)(struct kvm_ 16382@@ -583,6 +583,8 @@ static int FNAME(page_fault)(struct kvm_
16058 unsigned long mmu_seq; 16383 unsigned long mmu_seq;
16059 bool map_writable; 16384 bool map_writable;
@@ -16072,9 +16397,9 @@ diff -urNp linux-3.0.4/arch/x86/kvm/paging_tmpl.h linux-3.0.4/arch/x86/kvm/pagin
16072 16397
16073 spin_unlock(&vcpu->kvm->mmu_lock); 16398 spin_unlock(&vcpu->kvm->mmu_lock);
16074 16399
16075diff -urNp linux-3.0.4/arch/x86/kvm/svm.c linux-3.0.4/arch/x86/kvm/svm.c 16400diff -urNp linux-3.0.7/arch/x86/kvm/svm.c linux-3.0.7/arch/x86/kvm/svm.c
16076--- linux-3.0.4/arch/x86/kvm/svm.c 2011-07-21 22:17:23.000000000 -0400 16401--- linux-3.0.7/arch/x86/kvm/svm.c 2011-07-21 22:17:23.000000000 -0400
16077+++ linux-3.0.4/arch/x86/kvm/svm.c 2011-08-23 21:47:55.000000000 -0400 16402+++ linux-3.0.7/arch/x86/kvm/svm.c 2011-08-23 21:47:55.000000000 -0400
16078@@ -3377,7 +3377,11 @@ static void reload_tss(struct kvm_vcpu * 16403@@ -3377,7 +3377,11 @@ static void reload_tss(struct kvm_vcpu *
16079 int cpu = raw_smp_processor_id(); 16404 int cpu = raw_smp_processor_id();
16080 16405
@@ -16098,9 +16423,9 @@ diff -urNp linux-3.0.4/arch/x86/kvm/svm.c linux-3.0.4/arch/x86/kvm/svm.c
16098 reload_tss(vcpu); 16423 reload_tss(vcpu);
16099 16424
16100 local_irq_disable(); 16425 local_irq_disable();
16101diff -urNp linux-3.0.4/arch/x86/kvm/vmx.c linux-3.0.4/arch/x86/kvm/vmx.c 16426diff -urNp linux-3.0.7/arch/x86/kvm/vmx.c linux-3.0.7/arch/x86/kvm/vmx.c
16102--- linux-3.0.4/arch/x86/kvm/vmx.c 2011-07-21 22:17:23.000000000 -0400 16427--- linux-3.0.7/arch/x86/kvm/vmx.c 2011-07-21 22:17:23.000000000 -0400
16103+++ linux-3.0.4/arch/x86/kvm/vmx.c 2011-08-23 21:47:55.000000000 -0400 16428+++ linux-3.0.7/arch/x86/kvm/vmx.c 2011-08-23 21:47:55.000000000 -0400
16104@@ -797,7 +797,11 @@ static void reload_tss(void) 16429@@ -797,7 +797,11 @@ static void reload_tss(void)
16105 struct desc_struct *descs; 16430 struct desc_struct *descs;
16106 16431
@@ -16179,9 +16504,20 @@ diff -urNp linux-3.0.4/arch/x86/kvm/vmx.c linux-3.0.4/arch/x86/kvm/vmx.c
16179 vmx->launched = 1; 16504 vmx->launched = 1;
16180 16505
16181 vmx->exit_reason = vmcs_read32(VM_EXIT_REASON); 16506 vmx->exit_reason = vmcs_read32(VM_EXIT_REASON);
16182diff -urNp linux-3.0.4/arch/x86/kvm/x86.c linux-3.0.4/arch/x86/kvm/x86.c 16507diff -urNp linux-3.0.7/arch/x86/kvm/x86.c linux-3.0.7/arch/x86/kvm/x86.c
16183--- linux-3.0.4/arch/x86/kvm/x86.c 2011-07-21 22:17:23.000000000 -0400 16508--- linux-3.0.7/arch/x86/kvm/x86.c 2011-07-21 22:17:23.000000000 -0400
16184+++ linux-3.0.4/arch/x86/kvm/x86.c 2011-08-23 21:47:55.000000000 -0400 16509+++ linux-3.0.7/arch/x86/kvm/x86.c 2011-10-06 04:17:55.000000000 -0400
16510@@ -1313,8 +1313,8 @@ static int xen_hvm_config(struct kvm_vcp
16511 {
16512 struct kvm *kvm = vcpu->kvm;
16513 int lm = is_long_mode(vcpu);
16514- u8 *blob_addr = lm ? (u8 *)(long)kvm->arch.xen_hvm_config.blob_addr_64
16515- : (u8 *)(long)kvm->arch.xen_hvm_config.blob_addr_32;
16516+ u8 __user *blob_addr = lm ? (u8 __user *)(long)kvm->arch.xen_hvm_config.blob_addr_64
16517+ : (u8 __user *)(long)kvm->arch.xen_hvm_config.blob_addr_32;
16518 u8 blob_size = lm ? kvm->arch.xen_hvm_config.blob_size_64
16519 : kvm->arch.xen_hvm_config.blob_size_32;
16520 u32 page_num = data & ~PAGE_MASK;
16185@@ -2057,6 +2057,8 @@ long kvm_arch_dev_ioctl(struct file *fil 16521@@ -2057,6 +2057,8 @@ long kvm_arch_dev_ioctl(struct file *fil
16186 if (n < msr_list.nmsrs) 16522 if (n < msr_list.nmsrs)
16187 goto out; 16523 goto out;
@@ -16256,9 +16592,9 @@ diff -urNp linux-3.0.4/arch/x86/kvm/x86.c linux-3.0.4/arch/x86/kvm/x86.c
16256 { 16592 {
16257 int r; 16593 int r;
16258 struct kvm_x86_ops *ops = (struct kvm_x86_ops *)opaque; 16594 struct kvm_x86_ops *ops = (struct kvm_x86_ops *)opaque;
16259diff -urNp linux-3.0.4/arch/x86/lguest/boot.c linux-3.0.4/arch/x86/lguest/boot.c 16595diff -urNp linux-3.0.7/arch/x86/lguest/boot.c linux-3.0.7/arch/x86/lguest/boot.c
16260--- linux-3.0.4/arch/x86/lguest/boot.c 2011-07-21 22:17:23.000000000 -0400 16596--- linux-3.0.7/arch/x86/lguest/boot.c 2011-07-21 22:17:23.000000000 -0400
16261+++ linux-3.0.4/arch/x86/lguest/boot.c 2011-08-23 21:47:55.000000000 -0400 16597+++ linux-3.0.7/arch/x86/lguest/boot.c 2011-08-23 21:47:55.000000000 -0400
16262@@ -1176,9 +1176,10 @@ static __init int early_put_chars(u32 vt 16598@@ -1176,9 +1176,10 @@ static __init int early_put_chars(u32 vt
16263 * Rebooting also tells the Host we're finished, but the RESTART flag tells the 16599 * Rebooting also tells the Host we're finished, but the RESTART flag tells the
16264 * Launcher to reboot us. 16600 * Launcher to reboot us.
@@ -16271,9 +16607,9 @@ diff -urNp linux-3.0.4/arch/x86/lguest/boot.c linux-3.0.4/arch/x86/lguest/boot.c
16271 } 16607 }
16272 16608
16273 /*G:050 16609 /*G:050
16274diff -urNp linux-3.0.4/arch/x86/lib/atomic64_32.c linux-3.0.4/arch/x86/lib/atomic64_32.c 16610diff -urNp linux-3.0.7/arch/x86/lib/atomic64_32.c linux-3.0.7/arch/x86/lib/atomic64_32.c
16275--- linux-3.0.4/arch/x86/lib/atomic64_32.c 2011-07-21 22:17:23.000000000 -0400 16611--- linux-3.0.7/arch/x86/lib/atomic64_32.c 2011-07-21 22:17:23.000000000 -0400
16276+++ linux-3.0.4/arch/x86/lib/atomic64_32.c 2011-08-23 21:47:55.000000000 -0400 16612+++ linux-3.0.7/arch/x86/lib/atomic64_32.c 2011-08-23 21:47:55.000000000 -0400
16277@@ -8,18 +8,30 @@ 16613@@ -8,18 +8,30 @@
16278 16614
16279 long long atomic64_read_cx8(long long, const atomic64_t *v); 16615 long long atomic64_read_cx8(long long, const atomic64_t *v);
@@ -16352,9 +16688,9 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_32.c linux-3.0.4/arch/x86/lib/atomi
16352 long long atomic64_dec_if_positive_386(atomic64_t *v); 16688 long long atomic64_dec_if_positive_386(atomic64_t *v);
16353 EXPORT_SYMBOL(atomic64_dec_if_positive_386); 16689 EXPORT_SYMBOL(atomic64_dec_if_positive_386);
16354 int atomic64_inc_not_zero_386(atomic64_t *v); 16690 int atomic64_inc_not_zero_386(atomic64_t *v);
16355diff -urNp linux-3.0.4/arch/x86/lib/atomic64_386_32.S linux-3.0.4/arch/x86/lib/atomic64_386_32.S 16691diff -urNp linux-3.0.7/arch/x86/lib/atomic64_386_32.S linux-3.0.7/arch/x86/lib/atomic64_386_32.S
16356--- linux-3.0.4/arch/x86/lib/atomic64_386_32.S 2011-07-21 22:17:23.000000000 -0400 16692--- linux-3.0.7/arch/x86/lib/atomic64_386_32.S 2011-07-21 22:17:23.000000000 -0400
16357+++ linux-3.0.4/arch/x86/lib/atomic64_386_32.S 2011-08-23 21:47:55.000000000 -0400 16693+++ linux-3.0.7/arch/x86/lib/atomic64_386_32.S 2011-08-23 21:47:55.000000000 -0400
16358@@ -48,6 +48,10 @@ BEGIN(read) 16694@@ -48,6 +48,10 @@ BEGIN(read)
16359 movl (v), %eax 16695 movl (v), %eax
16360 movl 4(v), %edx 16696 movl 4(v), %edx
@@ -16610,16 +16946,14 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_386_32.S linux-3.0.4/arch/x86/lib/a
16610 js 1f 16946 js 1f
16611 movl %eax, (v) 16947 movl %eax, (v)
16612 movl %edx, 4(v) 16948 movl %edx, 4(v)
16613diff -urNp linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S 16949diff -urNp linux-3.0.7/arch/x86/lib/atomic64_cx8_32.S linux-3.0.7/arch/x86/lib/atomic64_cx8_32.S
16614--- linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S 2011-07-21 22:17:23.000000000 -0400 16950--- linux-3.0.7/arch/x86/lib/atomic64_cx8_32.S 2011-07-21 22:17:23.000000000 -0400
16615+++ linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S 2011-09-17 18:31:51.000000000 -0400 16951+++ linux-3.0.7/arch/x86/lib/atomic64_cx8_32.S 2011-10-06 04:17:55.000000000 -0400
16616@@ -35,10 +35,24 @@ ENTRY(atomic64_read_cx8) 16952@@ -35,10 +35,20 @@ ENTRY(atomic64_read_cx8)
16617 CFI_STARTPROC 16953 CFI_STARTPROC
16618 16954
16619 read64 %ecx 16955 read64 %ecx
16620+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 16956+ pax_force_retaddr
16621+ orb $0x80, 0x7(%rsp)
16622+#endif
16623 ret 16957 ret
16624 CFI_ENDPROC 16958 CFI_ENDPROC
16625 ENDPROC(atomic64_read_cx8) 16959 ENDPROC(atomic64_read_cx8)
@@ -16628,9 +16962,7 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S linux-3.0.4/arch/x86/lib/a
16628+ CFI_STARTPROC 16962+ CFI_STARTPROC
16629+ 16963+
16630+ read64 %ecx 16964+ read64 %ecx
16631+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 16965+ pax_force_retaddr
16632+ orb $0x80, 0x7(%rsp)
16633+#endif
16634+ ret 16966+ ret
16635+ CFI_ENDPROC 16967+ CFI_ENDPROC
16636+ENDPROC(atomic64_read_unchecked_cx8) 16968+ENDPROC(atomic64_read_unchecked_cx8)
@@ -16638,13 +16970,11 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S linux-3.0.4/arch/x86/lib/a
16638 ENTRY(atomic64_set_cx8) 16970 ENTRY(atomic64_set_cx8)
16639 CFI_STARTPROC 16971 CFI_STARTPROC
16640 16972
16641@@ -48,10 +62,29 @@ ENTRY(atomic64_set_cx8) 16973@@ -48,10 +58,25 @@ ENTRY(atomic64_set_cx8)
16642 cmpxchg8b (%esi) 16974 cmpxchg8b (%esi)
16643 jne 1b 16975 jne 1b
16644 16976
16645+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 16977+ pax_force_retaddr
16646+ orb $0x80, 0x7(%rsp)
16647+#endif
16648 ret 16978 ret
16649 CFI_ENDPROC 16979 CFI_ENDPROC
16650 ENDPROC(atomic64_set_cx8) 16980 ENDPROC(atomic64_set_cx8)
@@ -16658,9 +16988,7 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S linux-3.0.4/arch/x86/lib/a
16658+ cmpxchg8b (%esi) 16988+ cmpxchg8b (%esi)
16659+ jne 1b 16989+ jne 1b
16660+ 16990+
16661+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 16991+ pax_force_retaddr
16662+ orb $0x80, 0x7(%rsp)
16663+#endif
16664+ ret 16992+ ret
16665+ CFI_ENDPROC 16993+ CFI_ENDPROC
16666+ENDPROC(atomic64_set_unchecked_cx8) 16994+ENDPROC(atomic64_set_unchecked_cx8)
@@ -16668,13 +16996,11 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S linux-3.0.4/arch/x86/lib/a
16668 ENTRY(atomic64_xchg_cx8) 16996 ENTRY(atomic64_xchg_cx8)
16669 CFI_STARTPROC 16997 CFI_STARTPROC
16670 16998
16671@@ -62,12 +95,15 @@ ENTRY(atomic64_xchg_cx8) 16999@@ -62,12 +87,13 @@ ENTRY(atomic64_xchg_cx8)
16672 cmpxchg8b (%esi) 17000 cmpxchg8b (%esi)
16673 jne 1b 17001 jne 1b
16674 17002
16675+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17003+ pax_force_retaddr
16676+ orb $0x80, 0x7(%rsp)
16677+#endif
16678 ret 17004 ret
16679 CFI_ENDPROC 17005 CFI_ENDPROC
16680 ENDPROC(atomic64_xchg_cx8) 17006 ENDPROC(atomic64_xchg_cx8)
@@ -16686,7 +17012,7 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S linux-3.0.4/arch/x86/lib/a
16686 CFI_STARTPROC 17012 CFI_STARTPROC
16687 SAVE ebp 17013 SAVE ebp
16688 SAVE ebx 17014 SAVE ebx
16689@@ -84,27 +120,46 @@ ENTRY(atomic64_\func\()_return_cx8) 17015@@ -84,27 +110,44 @@ ENTRY(atomic64_\func\()_return_cx8)
16690 movl %edx, %ecx 17016 movl %edx, %ecx
16691 \ins\()l %esi, %ebx 17017 \ins\()l %esi, %ebx
16692 \insc\()l %edi, %ecx 17018 \insc\()l %edi, %ecx
@@ -16717,9 +17043,7 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S linux-3.0.4/arch/x86/lib/a
16717 RESTORE esi 17043 RESTORE esi
16718 RESTORE ebx 17044 RESTORE ebx
16719 RESTORE ebp 17045 RESTORE ebp
16720+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17046+ pax_force_retaddr
16721+ orb $0x80, 0x7(%rsp)
16722+#endif
16723 ret 17047 ret
16724 CFI_ENDPROC 17048 CFI_ENDPROC
16725-ENDPROC(atomic64_\func\()_return_cx8) 17049-ENDPROC(atomic64_\func\()_return_cx8)
@@ -16738,7 +17062,7 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S linux-3.0.4/arch/x86/lib/a
16738 CFI_STARTPROC 17062 CFI_STARTPROC
16739 SAVE ebx 17063 SAVE ebx
16740 17064
16741@@ -114,21 +169,41 @@ ENTRY(atomic64_\func\()_return_cx8) 17065@@ -114,21 +157,39 @@ ENTRY(atomic64_\func\()_return_cx8)
16742 movl %edx, %ecx 17066 movl %edx, %ecx
16743 \ins\()l $1, %ebx 17067 \ins\()l $1, %ebx
16744 \insc\()l $0, %ecx 17068 \insc\()l $0, %ecx
@@ -16766,9 +17090,7 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S linux-3.0.4/arch/x86/lib/a
16766+.endif 17090+.endif
16767+ 17091+
16768 RESTORE ebx 17092 RESTORE ebx
16769+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17093+ pax_force_retaddr
16770+ orb $0x80, 0x7(%rsp)
16771+#endif
16772 ret 17094 ret
16773 CFI_ENDPROC 17095 CFI_ENDPROC
16774-ENDPROC(atomic64_\func\()_return_cx8) 17096-ENDPROC(atomic64_\func\()_return_cx8)
@@ -16782,7 +17104,7 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S linux-3.0.4/arch/x86/lib/a
16782 17104
16783 ENTRY(atomic64_dec_if_positive_cx8) 17105 ENTRY(atomic64_dec_if_positive_cx8)
16784 CFI_STARTPROC 17106 CFI_STARTPROC
16785@@ -140,6 +215,13 @@ ENTRY(atomic64_dec_if_positive_cx8) 17107@@ -140,6 +201,13 @@ ENTRY(atomic64_dec_if_positive_cx8)
16786 movl %edx, %ecx 17108 movl %edx, %ecx
16787 subl $1, %ebx 17109 subl $1, %ebx
16788 sbb $0, %ecx 17110 sbb $0, %ecx
@@ -16796,17 +17118,15 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S linux-3.0.4/arch/x86/lib/a
16796 js 2f 17118 js 2f
16797 LOCK_PREFIX 17119 LOCK_PREFIX
16798 cmpxchg8b (%esi) 17120 cmpxchg8b (%esi)
16799@@ -149,6 +231,9 @@ ENTRY(atomic64_dec_if_positive_cx8) 17121@@ -149,6 +217,7 @@ ENTRY(atomic64_dec_if_positive_cx8)
16800 movl %ebx, %eax 17122 movl %ebx, %eax
16801 movl %ecx, %edx 17123 movl %ecx, %edx
16802 RESTORE ebx 17124 RESTORE ebx
16803+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17125+ pax_force_retaddr
16804+ orb $0x80, 0x7(%rsp)
16805+#endif
16806 ret 17126 ret
16807 CFI_ENDPROC 17127 CFI_ENDPROC
16808 ENDPROC(atomic64_dec_if_positive_cx8) 17128 ENDPROC(atomic64_dec_if_positive_cx8)
16809@@ -174,6 +259,13 @@ ENTRY(atomic64_add_unless_cx8) 17129@@ -174,6 +243,13 @@ ENTRY(atomic64_add_unless_cx8)
16810 movl %edx, %ecx 17130 movl %edx, %ecx
16811 addl %esi, %ebx 17131 addl %esi, %ebx
16812 adcl %edi, %ecx 17132 adcl %edi, %ecx
@@ -16820,17 +17140,15 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S linux-3.0.4/arch/x86/lib/a
16820 LOCK_PREFIX 17140 LOCK_PREFIX
16821 cmpxchg8b (%ebp) 17141 cmpxchg8b (%ebp)
16822 jne 1b 17142 jne 1b
16823@@ -184,6 +276,9 @@ ENTRY(atomic64_add_unless_cx8) 17143@@ -184,6 +260,7 @@ ENTRY(atomic64_add_unless_cx8)
16824 CFI_ADJUST_CFA_OFFSET -8 17144 CFI_ADJUST_CFA_OFFSET -8
16825 RESTORE ebx 17145 RESTORE ebx
16826 RESTORE ebp 17146 RESTORE ebp
16827+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17147+ pax_force_retaddr
16828+ orb $0x80, 0x7(%rsp)
16829+#endif
16830 ret 17148 ret
16831 4: 17149 4:
16832 cmpl %edx, 4(%esp) 17150 cmpl %edx, 4(%esp)
16833@@ -206,6 +301,13 @@ ENTRY(atomic64_inc_not_zero_cx8) 17151@@ -206,6 +283,13 @@ ENTRY(atomic64_inc_not_zero_cx8)
16834 movl %edx, %ecx 17152 movl %edx, %ecx
16835 addl $1, %ebx 17153 addl $1, %ebx
16836 adcl $0, %ecx 17154 adcl $0, %ecx
@@ -16844,19 +17162,17 @@ diff -urNp linux-3.0.4/arch/x86/lib/atomic64_cx8_32.S linux-3.0.4/arch/x86/lib/a
16844 LOCK_PREFIX 17162 LOCK_PREFIX
16845 cmpxchg8b (%esi) 17163 cmpxchg8b (%esi)
16846 jne 1b 17164 jne 1b
16847@@ -213,6 +315,9 @@ ENTRY(atomic64_inc_not_zero_cx8) 17165@@ -213,6 +297,7 @@ ENTRY(atomic64_inc_not_zero_cx8)
16848 movl $1, %eax 17166 movl $1, %eax
16849 3: 17167 3:
16850 RESTORE ebx 17168 RESTORE ebx
16851+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17169+ pax_force_retaddr
16852+ orb $0x80, 0x7(%rsp)
16853+#endif
16854 ret 17170 ret
16855 4: 17171 4:
16856 testl %edx, %edx 17172 testl %edx, %edx
16857diff -urNp linux-3.0.4/arch/x86/lib/checksum_32.S linux-3.0.4/arch/x86/lib/checksum_32.S 17173diff -urNp linux-3.0.7/arch/x86/lib/checksum_32.S linux-3.0.7/arch/x86/lib/checksum_32.S
16858--- linux-3.0.4/arch/x86/lib/checksum_32.S 2011-07-21 22:17:23.000000000 -0400 17174--- linux-3.0.7/arch/x86/lib/checksum_32.S 2011-07-21 22:17:23.000000000 -0400
16859+++ linux-3.0.4/arch/x86/lib/checksum_32.S 2011-08-23 21:47:55.000000000 -0400 17175+++ linux-3.0.7/arch/x86/lib/checksum_32.S 2011-08-23 21:47:55.000000000 -0400
16860@@ -28,7 +28,8 @@ 17176@@ -28,7 +28,8 @@
16861 #include <linux/linkage.h> 17177 #include <linux/linkage.h>
16862 #include <asm/dwarf2.h> 17178 #include <asm/dwarf2.h>
@@ -17101,40 +17417,34 @@ diff -urNp linux-3.0.4/arch/x86/lib/checksum_32.S linux-3.0.4/arch/x86/lib/check
17101 17417
17102 #undef ROUND 17418 #undef ROUND
17103 #undef ROUND1 17419 #undef ROUND1
17104diff -urNp linux-3.0.4/arch/x86/lib/clear_page_64.S linux-3.0.4/arch/x86/lib/clear_page_64.S 17420diff -urNp linux-3.0.7/arch/x86/lib/clear_page_64.S linux-3.0.7/arch/x86/lib/clear_page_64.S
17105--- linux-3.0.4/arch/x86/lib/clear_page_64.S 2011-07-21 22:17:23.000000000 -0400 17421--- linux-3.0.7/arch/x86/lib/clear_page_64.S 2011-07-21 22:17:23.000000000 -0400
17106+++ linux-3.0.4/arch/x86/lib/clear_page_64.S 2011-09-17 18:31:51.000000000 -0400 17422+++ linux-3.0.7/arch/x86/lib/clear_page_64.S 2011-10-06 04:17:55.000000000 -0400
17107@@ -11,6 +11,9 @@ ENTRY(clear_page_c) 17423@@ -11,6 +11,7 @@ ENTRY(clear_page_c)
17108 movl $4096/8,%ecx 17424 movl $4096/8,%ecx
17109 xorl %eax,%eax 17425 xorl %eax,%eax
17110 rep stosq 17426 rep stosq
17111+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17427+ pax_force_retaddr
17112+ orb $0x80, 0x7(%rsp)
17113+#endif
17114 ret 17428 ret
17115 CFI_ENDPROC 17429 CFI_ENDPROC
17116 ENDPROC(clear_page_c) 17430 ENDPROC(clear_page_c)
17117@@ -20,6 +23,9 @@ ENTRY(clear_page_c_e) 17431@@ -20,6 +21,7 @@ ENTRY(clear_page_c_e)
17118 movl $4096,%ecx 17432 movl $4096,%ecx
17119 xorl %eax,%eax 17433 xorl %eax,%eax
17120 rep stosb 17434 rep stosb
17121+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17435+ pax_force_retaddr
17122+ orb $0x80, 0x7(%rsp)
17123+#endif
17124 ret 17436 ret
17125 CFI_ENDPROC 17437 CFI_ENDPROC
17126 ENDPROC(clear_page_c_e) 17438 ENDPROC(clear_page_c_e)
17127@@ -43,6 +49,9 @@ ENTRY(clear_page) 17439@@ -43,6 +45,7 @@ ENTRY(clear_page)
17128 leaq 64(%rdi),%rdi 17440 leaq 64(%rdi),%rdi
17129 jnz .Lloop 17441 jnz .Lloop
17130 nop 17442 nop
17131+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17443+ pax_force_retaddr
17132+ orb $0x80, 0x7(%rsp)
17133+#endif
17134 ret 17444 ret
17135 CFI_ENDPROC 17445 CFI_ENDPROC
17136 .Lclear_page_end: 17446 .Lclear_page_end:
17137@@ -58,7 +67,7 @@ ENDPROC(clear_page) 17447@@ -58,7 +61,7 @@ ENDPROC(clear_page)
17138 17448
17139 #include <asm/cpufeature.h> 17449 #include <asm/cpufeature.h>
17140 17450
@@ -17143,30 +17453,50 @@ diff -urNp linux-3.0.4/arch/x86/lib/clear_page_64.S linux-3.0.4/arch/x86/lib/cle
17143 1: .byte 0xeb /* jmp <disp8> */ 17453 1: .byte 0xeb /* jmp <disp8> */
17144 .byte (clear_page_c - clear_page) - (2f - 1b) /* offset */ 17454 .byte (clear_page_c - clear_page) - (2f - 1b) /* offset */
17145 2: .byte 0xeb /* jmp <disp8> */ 17455 2: .byte 0xeb /* jmp <disp8> */
17146diff -urNp linux-3.0.4/arch/x86/lib/copy_page_64.S linux-3.0.4/arch/x86/lib/copy_page_64.S 17456diff -urNp linux-3.0.7/arch/x86/lib/cmpxchg16b_emu.S linux-3.0.7/arch/x86/lib/cmpxchg16b_emu.S
17147--- linux-3.0.4/arch/x86/lib/copy_page_64.S 2011-07-21 22:17:23.000000000 -0400 17457--- linux-3.0.7/arch/x86/lib/cmpxchg16b_emu.S 2011-07-21 22:17:23.000000000 -0400
17148+++ linux-3.0.4/arch/x86/lib/copy_page_64.S 2011-09-17 18:31:51.000000000 -0400 17458+++ linux-3.0.7/arch/x86/lib/cmpxchg16b_emu.S 2011-10-07 19:07:28.000000000 -0400
17149@@ -8,6 +8,9 @@ copy_page_c: 17459@@ -53,11 +53,13 @@ this_cpu_cmpxchg16b_emu:
17460
17461 popf
17462 mov $1, %al
17463+ pax_force_retaddr
17464 ret
17465
17466 not_same:
17467 popf
17468 xor %al,%al
17469+ pax_force_retaddr
17470 ret
17471
17472 CFI_ENDPROC
17473diff -urNp linux-3.0.7/arch/x86/lib/copy_page_64.S linux-3.0.7/arch/x86/lib/copy_page_64.S
17474--- linux-3.0.7/arch/x86/lib/copy_page_64.S 2011-07-21 22:17:23.000000000 -0400
17475+++ linux-3.0.7/arch/x86/lib/copy_page_64.S 2011-10-06 04:17:55.000000000 -0400
17476@@ -2,12 +2,14 @@
17477
17478 #include <linux/linkage.h>
17479 #include <asm/dwarf2.h>
17480+#include <asm/alternative-asm.h>
17481
17482 ALIGN
17483 copy_page_c:
17150 CFI_STARTPROC 17484 CFI_STARTPROC
17151 movl $4096/8,%ecx 17485 movl $4096/8,%ecx
17152 rep movsq 17486 rep movsq
17153+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17487+ pax_force_retaddr
17154+ orb $0x80, 0x7(%rsp)
17155+#endif
17156 ret 17488 ret
17157 CFI_ENDPROC 17489 CFI_ENDPROC
17158 ENDPROC(copy_page_c) 17490 ENDPROC(copy_page_c)
17159@@ -94,6 +97,9 @@ ENTRY(copy_page) 17491@@ -94,6 +96,7 @@ ENTRY(copy_page)
17160 CFI_RESTORE r13 17492 CFI_RESTORE r13
17161 addq $3*8,%rsp 17493 addq $3*8,%rsp
17162 CFI_ADJUST_CFA_OFFSET -3*8 17494 CFI_ADJUST_CFA_OFFSET -3*8
17163+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17495+ pax_force_retaddr
17164+ orb $0x80, 0x7(%rsp)
17165+#endif
17166 ret 17496 ret
17167 .Lcopy_page_end: 17497 .Lcopy_page_end:
17168 CFI_ENDPROC 17498 CFI_ENDPROC
17169@@ -104,7 +110,7 @@ ENDPROC(copy_page) 17499@@ -104,7 +107,7 @@ ENDPROC(copy_page)
17170 17500
17171 #include <asm/cpufeature.h> 17501 #include <asm/cpufeature.h>
17172 17502
@@ -17175,9 +17505,9 @@ diff -urNp linux-3.0.4/arch/x86/lib/copy_page_64.S linux-3.0.4/arch/x86/lib/copy
17175 1: .byte 0xeb /* jmp <disp8> */ 17505 1: .byte 0xeb /* jmp <disp8> */
17176 .byte (copy_page_c - copy_page) - (2f - 1b) /* offset */ 17506 .byte (copy_page_c - copy_page) - (2f - 1b) /* offset */
17177 2: 17507 2:
17178diff -urNp linux-3.0.4/arch/x86/lib/copy_user_64.S linux-3.0.4/arch/x86/lib/copy_user_64.S 17508diff -urNp linux-3.0.7/arch/x86/lib/copy_user_64.S linux-3.0.7/arch/x86/lib/copy_user_64.S
17179--- linux-3.0.4/arch/x86/lib/copy_user_64.S 2011-07-21 22:17:23.000000000 -0400 17509--- linux-3.0.7/arch/x86/lib/copy_user_64.S 2011-07-21 22:17:23.000000000 -0400
17180+++ linux-3.0.4/arch/x86/lib/copy_user_64.S 2011-09-17 18:31:51.000000000 -0400 17510+++ linux-3.0.7/arch/x86/lib/copy_user_64.S 2011-10-06 04:17:55.000000000 -0400
17181@@ -16,6 +16,7 @@ 17511@@ -16,6 +16,7 @@
17182 #include <asm/thread_info.h> 17512 #include <asm/thread_info.h>
17183 #include <asm/cpufeature.h> 17513 #include <asm/cpufeature.h>
@@ -17195,7 +17525,7 @@ diff -urNp linux-3.0.4/arch/x86/lib/copy_user_64.S linux-3.0.4/arch/x86/lib/copy
17195 2: .byte 0xe9 /* near jump with 32bit immediate */ 17525 2: .byte 0xe9 /* near jump with 32bit immediate */
17196 .long \alt1-1b /* offset */ /* or alternatively to alt1 */ 17526 .long \alt1-1b /* offset */ /* or alternatively to alt1 */
17197 3: .byte 0xe9 /* near jump with 32bit immediate */ 17527 3: .byte 0xe9 /* near jump with 32bit immediate */
17198@@ -71,47 +72,22 @@ 17528@@ -71,47 +72,20 @@
17199 #endif 17529 #endif
17200 .endm 17530 .endm
17201 17531
@@ -17242,46 +17572,45 @@ diff -urNp linux-3.0.4/arch/x86/lib/copy_user_64.S linux-3.0.4/arch/x86/lib/copy
17242 stosb 17572 stosb
17243 bad_to_user: 17573 bad_to_user:
17244 movl %edx,%eax 17574 movl %edx,%eax
17245+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17575+ pax_force_retaddr
17246+ orb $0x80, 0x7(%rsp)
17247+#endif
17248 ret 17576 ret
17249 CFI_ENDPROC 17577 CFI_ENDPROC
17250 ENDPROC(bad_from_user) 17578 ENDPROC(bad_from_user)
17251@@ -179,6 +155,9 @@ ENTRY(copy_user_generic_unrolled) 17579@@ -179,6 +153,7 @@ ENTRY(copy_user_generic_unrolled)
17252 decl %ecx 17580 decl %ecx
17253 jnz 21b 17581 jnz 21b
17254 23: xor %eax,%eax 17582 23: xor %eax,%eax
17255+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17583+ pax_force_retaddr
17256+ orb $0x80, 0x7(%rsp)
17257+#endif
17258 ret 17584 ret
17259 17585
17260 .section .fixup,"ax" 17586 .section .fixup,"ax"
17261@@ -251,6 +230,9 @@ ENTRY(copy_user_generic_string) 17587@@ -251,6 +226,7 @@ ENTRY(copy_user_generic_string)
17262 3: rep 17588 3: rep
17263 movsb 17589 movsb
17264 4: xorl %eax,%eax 17590 4: xorl %eax,%eax
17265+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17591+ pax_force_retaddr
17266+ orb $0x80, 0x7(%rsp)
17267+#endif
17268 ret 17592 ret
17269 17593
17270 .section .fixup,"ax" 17594 .section .fixup,"ax"
17271@@ -287,6 +269,9 @@ ENTRY(copy_user_enhanced_fast_string) 17595@@ -287,6 +263,7 @@ ENTRY(copy_user_enhanced_fast_string)
17272 1: rep 17596 1: rep
17273 movsb 17597 movsb
17274 2: xorl %eax,%eax 17598 2: xorl %eax,%eax
17275+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17599+ pax_force_retaddr
17276+ orb $0x80, 0x7(%rsp)
17277+#endif
17278 ret 17600 ret
17279 17601
17280 .section .fixup,"ax" 17602 .section .fixup,"ax"
17281diff -urNp linux-3.0.4/arch/x86/lib/copy_user_nocache_64.S linux-3.0.4/arch/x86/lib/copy_user_nocache_64.S 17603diff -urNp linux-3.0.7/arch/x86/lib/copy_user_nocache_64.S linux-3.0.7/arch/x86/lib/copy_user_nocache_64.S
17282--- linux-3.0.4/arch/x86/lib/copy_user_nocache_64.S 2011-07-21 22:17:23.000000000 -0400 17604--- linux-3.0.7/arch/x86/lib/copy_user_nocache_64.S 2011-07-21 22:17:23.000000000 -0400
17283+++ linux-3.0.4/arch/x86/lib/copy_user_nocache_64.S 2011-09-17 18:31:51.000000000 -0400 17605+++ linux-3.0.7/arch/x86/lib/copy_user_nocache_64.S 2011-10-06 04:17:55.000000000 -0400
17284@@ -14,6 +14,7 @@ 17606@@ -8,12 +8,14 @@
17607
17608 #include <linux/linkage.h>
17609 #include <asm/dwarf2.h>
17610+#include <asm/alternative-asm.h>
17611
17612 #define FIX_ALIGNMENT 1
17613
17285 #include <asm/current.h> 17614 #include <asm/current.h>
17286 #include <asm/asm-offsets.h> 17615 #include <asm/asm-offsets.h>
17287 #include <asm/thread_info.h> 17616 #include <asm/thread_info.h>
@@ -17289,7 +17618,7 @@ diff -urNp linux-3.0.4/arch/x86/lib/copy_user_nocache_64.S linux-3.0.4/arch/x86/
17289 17618
17290 .macro ALIGN_DESTINATION 17619 .macro ALIGN_DESTINATION
17291 #ifdef FIX_ALIGNMENT 17620 #ifdef FIX_ALIGNMENT
17292@@ -50,6 +51,15 @@ 17621@@ -50,6 +52,15 @@
17293 */ 17622 */
17294 ENTRY(__copy_user_nocache) 17623 ENTRY(__copy_user_nocache)
17295 CFI_STARTPROC 17624 CFI_STARTPROC
@@ -17305,67 +17634,76 @@ diff -urNp linux-3.0.4/arch/x86/lib/copy_user_nocache_64.S linux-3.0.4/arch/x86/
17305 cmpl $8,%edx 17634 cmpl $8,%edx
17306 jb 20f /* less then 8 bytes, go to byte copy loop */ 17635 jb 20f /* less then 8 bytes, go to byte copy loop */
17307 ALIGN_DESTINATION 17636 ALIGN_DESTINATION
17308@@ -98,6 +108,9 @@ ENTRY(__copy_user_nocache) 17637@@ -98,6 +109,7 @@ ENTRY(__copy_user_nocache)
17309 jnz 21b 17638 jnz 21b
17310 23: xorl %eax,%eax 17639 23: xorl %eax,%eax
17311 sfence 17640 sfence
17312+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17641+ pax_force_retaddr
17313+ orb $0x80, 0x7(%rsp)
17314+#endif
17315 ret 17642 ret
17316 17643
17317 .section .fixup,"ax" 17644 .section .fixup,"ax"
17318diff -urNp linux-3.0.4/arch/x86/lib/csum-copy_64.S linux-3.0.4/arch/x86/lib/csum-copy_64.S 17645diff -urNp linux-3.0.7/arch/x86/lib/csum-copy_64.S linux-3.0.7/arch/x86/lib/csum-copy_64.S
17319--- linux-3.0.4/arch/x86/lib/csum-copy_64.S 2011-07-21 22:17:23.000000000 -0400 17646--- linux-3.0.7/arch/x86/lib/csum-copy_64.S 2011-07-21 22:17:23.000000000 -0400
17320+++ linux-3.0.4/arch/x86/lib/csum-copy_64.S 2011-09-17 18:31:51.000000000 -0400 17647+++ linux-3.0.7/arch/x86/lib/csum-copy_64.S 2011-10-06 04:17:55.000000000 -0400
17321@@ -228,6 +228,9 @@ ENTRY(csum_partial_copy_generic) 17648@@ -8,6 +8,7 @@
17649 #include <linux/linkage.h>
17650 #include <asm/dwarf2.h>
17651 #include <asm/errno.h>
17652+#include <asm/alternative-asm.h>
17653
17654 /*
17655 * Checksum copy with exception handling.
17656@@ -228,6 +229,7 @@ ENTRY(csum_partial_copy_generic)
17322 CFI_RESTORE rbp 17657 CFI_RESTORE rbp
17323 addq $7*8, %rsp 17658 addq $7*8, %rsp
17324 CFI_ADJUST_CFA_OFFSET -7*8 17659 CFI_ADJUST_CFA_OFFSET -7*8
17325+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17660+ pax_force_retaddr
17326+ orb $0x80, 0x7(%rsp)
17327+#endif
17328 ret 17661 ret
17329 CFI_RESTORE_STATE 17662 CFI_RESTORE_STATE
17330 17663
17331diff -urNp linux-3.0.4/arch/x86/lib/csum-wrappers_64.c linux-3.0.4/arch/x86/lib/csum-wrappers_64.c 17664diff -urNp linux-3.0.7/arch/x86/lib/csum-wrappers_64.c linux-3.0.7/arch/x86/lib/csum-wrappers_64.c
17332--- linux-3.0.4/arch/x86/lib/csum-wrappers_64.c 2011-07-21 22:17:23.000000000 -0400 17665--- linux-3.0.7/arch/x86/lib/csum-wrappers_64.c 2011-07-21 22:17:23.000000000 -0400
17333+++ linux-3.0.4/arch/x86/lib/csum-wrappers_64.c 2011-08-23 21:47:55.000000000 -0400 17666+++ linux-3.0.7/arch/x86/lib/csum-wrappers_64.c 2011-10-06 04:17:55.000000000 -0400
17334@@ -52,6 +52,12 @@ csum_partial_copy_from_user(const void _ 17667@@ -52,7 +52,13 @@ csum_partial_copy_from_user(const void _
17335 len -= 2; 17668 len -= 2;
17336 } 17669 }
17337 } 17670 }
17671- isum = csum_partial_copy_generic((__force const void *)src,
17338+ 17672+
17339+#ifdef CONFIG_PAX_MEMORY_UDEREF 17673+#ifdef CONFIG_PAX_MEMORY_UDEREF
17340+ if ((unsigned long)src < PAX_USER_SHADOW_BASE) 17674+ if ((unsigned long)src < PAX_USER_SHADOW_BASE)
17341+ src += PAX_USER_SHADOW_BASE; 17675+ src += PAX_USER_SHADOW_BASE;
17342+#endif 17676+#endif
17343+ 17677+
17344 isum = csum_partial_copy_generic((__force const void *)src, 17678+ isum = csum_partial_copy_generic((const void __force_kernel *)src,
17345 dst, len, isum, errp, NULL); 17679 dst, len, isum, errp, NULL);
17346 if (unlikely(*errp)) 17680 if (unlikely(*errp))
17347@@ -105,6 +111,12 @@ csum_partial_copy_to_user(const void *sr 17681 goto out_err;
17682@@ -105,7 +111,13 @@ csum_partial_copy_to_user(const void *sr
17348 } 17683 }
17349 17684
17350 *errp = 0; 17685 *errp = 0;
17686- return csum_partial_copy_generic(src, (void __force *)dst,
17351+ 17687+
17352+#ifdef CONFIG_PAX_MEMORY_UDEREF 17688+#ifdef CONFIG_PAX_MEMORY_UDEREF
17353+ if ((unsigned long)dst < PAX_USER_SHADOW_BASE) 17689+ if ((unsigned long)dst < PAX_USER_SHADOW_BASE)
17354+ dst += PAX_USER_SHADOW_BASE; 17690+ dst += PAX_USER_SHADOW_BASE;
17355+#endif 17691+#endif
17356+ 17692+
17357 return csum_partial_copy_generic(src, (void __force *)dst, 17693+ return csum_partial_copy_generic(src, (void __force_kernel *)dst,
17358 len, isum, NULL, errp); 17694 len, isum, NULL, errp);
17359 } 17695 }
17360diff -urNp linux-3.0.4/arch/x86/lib/getuser.S linux-3.0.4/arch/x86/lib/getuser.S 17696 EXPORT_SYMBOL(csum_partial_copy_to_user);
17361--- linux-3.0.4/arch/x86/lib/getuser.S 2011-07-21 22:17:23.000000000 -0400 17697diff -urNp linux-3.0.7/arch/x86/lib/getuser.S linux-3.0.7/arch/x86/lib/getuser.S
17362+++ linux-3.0.4/arch/x86/lib/getuser.S 2011-08-23 21:47:55.000000000 -0400 17698--- linux-3.0.7/arch/x86/lib/getuser.S 2011-07-21 22:17:23.000000000 -0400
17363@@ -33,14 +33,35 @@ 17699+++ linux-3.0.7/arch/x86/lib/getuser.S 2011-10-07 19:07:23.000000000 -0400
17700@@ -33,15 +33,38 @@
17364 #include <asm/asm-offsets.h> 17701 #include <asm/asm-offsets.h>
17365 #include <asm/thread_info.h> 17702 #include <asm/thread_info.h>
17366 #include <asm/asm.h> 17703 #include <asm/asm.h>
17367+#include <asm/segment.h> 17704+#include <asm/segment.h>
17368+#include <asm/pgtable.h> 17705+#include <asm/pgtable.h>
17706+#include <asm/alternative-asm.h>
17369+ 17707+
17370+#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_MEMORY_UDEREF) 17708+#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_MEMORY_UDEREF)
17371+#define __copyuser_seg gs; 17709+#define __copyuser_seg gs;
@@ -17395,9 +17733,11 @@ diff -urNp linux-3.0.4/arch/x86/lib/getuser.S linux-3.0.4/arch/x86/lib/getuser.S
17395+ 17733+
17396+1: __copyuser_seg movzb (%_ASM_AX),%edx 17734+1: __copyuser_seg movzb (%_ASM_AX),%edx
17397 xor %eax,%eax 17735 xor %eax,%eax
17736+ pax_force_retaddr
17398 ret 17737 ret
17399 CFI_ENDPROC 17738 CFI_ENDPROC
17400@@ -49,11 +70,24 @@ ENDPROC(__get_user_1) 17739 ENDPROC(__get_user_1)
17740@@ -49,12 +72,26 @@ ENDPROC(__get_user_1)
17401 ENTRY(__get_user_2) 17741 ENTRY(__get_user_2)
17402 CFI_STARTPROC 17742 CFI_STARTPROC
17403 add $1,%_ASM_AX 17743 add $1,%_ASM_AX
@@ -17421,9 +17761,11 @@ diff -urNp linux-3.0.4/arch/x86/lib/getuser.S linux-3.0.4/arch/x86/lib/getuser.S
17421+ 17761+
17422+2: __copyuser_seg movzwl -1(%_ASM_AX),%edx 17762+2: __copyuser_seg movzwl -1(%_ASM_AX),%edx
17423 xor %eax,%eax 17763 xor %eax,%eax
17764+ pax_force_retaddr
17424 ret 17765 ret
17425 CFI_ENDPROC 17766 CFI_ENDPROC
17426@@ -62,11 +96,24 @@ ENDPROC(__get_user_2) 17767 ENDPROC(__get_user_2)
17768@@ -62,12 +99,26 @@ ENDPROC(__get_user_2)
17427 ENTRY(__get_user_4) 17769 ENTRY(__get_user_4)
17428 CFI_STARTPROC 17770 CFI_STARTPROC
17429 add $3,%_ASM_AX 17771 add $3,%_ASM_AX
@@ -17447,9 +17789,11 @@ diff -urNp linux-3.0.4/arch/x86/lib/getuser.S linux-3.0.4/arch/x86/lib/getuser.S
17447+ 17789+
17448+3: __copyuser_seg mov -3(%_ASM_AX),%edx 17790+3: __copyuser_seg mov -3(%_ASM_AX),%edx
17449 xor %eax,%eax 17791 xor %eax,%eax
17792+ pax_force_retaddr
17450 ret 17793 ret
17451 CFI_ENDPROC 17794 CFI_ENDPROC
17452@@ -80,6 +127,15 @@ ENTRY(__get_user_8) 17795 ENDPROC(__get_user_4)
17796@@ -80,8 +131,18 @@ ENTRY(__get_user_8)
17453 GET_THREAD_INFO(%_ASM_DX) 17797 GET_THREAD_INFO(%_ASM_DX)
17454 cmp TI_addr_limit(%_ASM_DX),%_ASM_AX 17798 cmp TI_addr_limit(%_ASM_DX),%_ASM_AX
17455 jae bad_get_user 17799 jae bad_get_user
@@ -17464,10 +17808,21 @@ diff -urNp linux-3.0.4/arch/x86/lib/getuser.S linux-3.0.4/arch/x86/lib/getuser.S
17464+ 17808+
17465 4: movq -7(%_ASM_AX),%_ASM_DX 17809 4: movq -7(%_ASM_AX),%_ASM_DX
17466 xor %eax,%eax 17810 xor %eax,%eax
17811+ pax_force_retaddr
17812 ret
17813 CFI_ENDPROC
17814 ENDPROC(__get_user_8)
17815@@ -91,6 +152,7 @@ bad_get_user:
17816 CFI_STARTPROC
17817 xor %edx,%edx
17818 mov $(-EFAULT),%_ASM_AX
17819+ pax_force_retaddr
17467 ret 17820 ret
17468diff -urNp linux-3.0.4/arch/x86/lib/insn.c linux-3.0.4/arch/x86/lib/insn.c 17821 CFI_ENDPROC
17469--- linux-3.0.4/arch/x86/lib/insn.c 2011-07-21 22:17:23.000000000 -0400 17822 END(bad_get_user)
17470+++ linux-3.0.4/arch/x86/lib/insn.c 2011-08-23 21:47:55.000000000 -0400 17823diff -urNp linux-3.0.7/arch/x86/lib/insn.c linux-3.0.7/arch/x86/lib/insn.c
17824--- linux-3.0.7/arch/x86/lib/insn.c 2011-07-21 22:17:23.000000000 -0400
17825+++ linux-3.0.7/arch/x86/lib/insn.c 2011-08-23 21:47:55.000000000 -0400
17471@@ -21,6 +21,11 @@ 17826@@ -21,6 +21,11 @@
17472 #include <linux/string.h> 17827 #include <linux/string.h>
17473 #include <asm/inat.h> 17828 #include <asm/inat.h>
@@ -17491,141 +17846,133 @@ diff -urNp linux-3.0.4/arch/x86/lib/insn.c linux-3.0.4/arch/x86/lib/insn.c
17491 insn->x86_64 = x86_64 ? 1 : 0; 17846 insn->x86_64 = x86_64 ? 1 : 0;
17492 insn->opnd_bytes = 4; 17847 insn->opnd_bytes = 4;
17493 if (x86_64) 17848 if (x86_64)
17494diff -urNp linux-3.0.4/arch/x86/lib/iomap_copy_64.S linux-3.0.4/arch/x86/lib/iomap_copy_64.S 17849diff -urNp linux-3.0.7/arch/x86/lib/iomap_copy_64.S linux-3.0.7/arch/x86/lib/iomap_copy_64.S
17495--- linux-3.0.4/arch/x86/lib/iomap_copy_64.S 2011-07-21 22:17:23.000000000 -0400 17850--- linux-3.0.7/arch/x86/lib/iomap_copy_64.S 2011-07-21 22:17:23.000000000 -0400
17496+++ linux-3.0.4/arch/x86/lib/iomap_copy_64.S 2011-09-17 18:31:51.000000000 -0400 17851+++ linux-3.0.7/arch/x86/lib/iomap_copy_64.S 2011-10-06 04:17:55.000000000 -0400
17497@@ -25,6 +25,9 @@ ENTRY(__iowrite32_copy) 17852@@ -17,6 +17,7 @@
17853
17854 #include <linux/linkage.h>
17855 #include <asm/dwarf2.h>
17856+#include <asm/alternative-asm.h>
17857
17858 /*
17859 * override generic version in lib/iomap_copy.c
17860@@ -25,6 +26,7 @@ ENTRY(__iowrite32_copy)
17498 CFI_STARTPROC 17861 CFI_STARTPROC
17499 movl %edx,%ecx 17862 movl %edx,%ecx
17500 rep movsd 17863 rep movsd
17501+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17864+ pax_force_retaddr
17502+ orb $0x80, 0x7(%rsp)
17503+#endif
17504 ret 17865 ret
17505 CFI_ENDPROC 17866 CFI_ENDPROC
17506 ENDPROC(__iowrite32_copy) 17867 ENDPROC(__iowrite32_copy)
17507diff -urNp linux-3.0.4/arch/x86/lib/memcpy_64.S linux-3.0.4/arch/x86/lib/memcpy_64.S 17868diff -urNp linux-3.0.7/arch/x86/lib/memcpy_64.S linux-3.0.7/arch/x86/lib/memcpy_64.S
17508--- linux-3.0.4/arch/x86/lib/memcpy_64.S 2011-07-21 22:17:23.000000000 -0400 17869--- linux-3.0.7/arch/x86/lib/memcpy_64.S 2011-07-21 22:17:23.000000000 -0400
17509+++ linux-3.0.4/arch/x86/lib/memcpy_64.S 2011-09-17 18:31:51.000000000 -0400 17870+++ linux-3.0.7/arch/x86/lib/memcpy_64.S 2011-10-06 04:17:55.000000000 -0400
17510@@ -34,6 +34,9 @@ 17871@@ -34,6 +34,7 @@
17511 rep movsq 17872 rep movsq
17512 movl %edx, %ecx 17873 movl %edx, %ecx
17513 rep movsb 17874 rep movsb
17514+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17875+ pax_force_retaddr
17515+ orb $0x80, 0x7(%rsp)
17516+#endif
17517 ret 17876 ret
17518 .Lmemcpy_e: 17877 .Lmemcpy_e:
17519 .previous 17878 .previous
17520@@ -51,6 +54,9 @@ 17879@@ -51,6 +52,7 @@
17521 17880
17522 movl %edx, %ecx 17881 movl %edx, %ecx
17523 rep movsb 17882 rep movsb
17524+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17883+ pax_force_retaddr
17525+ orb $0x80, 0x7(%rsp)
17526+#endif
17527 ret 17884 ret
17528 .Lmemcpy_e_e: 17885 .Lmemcpy_e_e:
17529 .previous 17886 .previous
17530@@ -141,6 +147,9 @@ ENTRY(memcpy) 17887@@ -141,6 +143,7 @@ ENTRY(memcpy)
17531 movq %r9, 1*8(%rdi) 17888 movq %r9, 1*8(%rdi)
17532 movq %r10, -2*8(%rdi, %rdx) 17889 movq %r10, -2*8(%rdi, %rdx)
17533 movq %r11, -1*8(%rdi, %rdx) 17890 movq %r11, -1*8(%rdi, %rdx)
17534+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17891+ pax_force_retaddr
17535+ orb $0x80, 0x7(%rsp)
17536+#endif
17537 retq 17892 retq
17538 .p2align 4 17893 .p2align 4
17539 .Lless_16bytes: 17894 .Lless_16bytes:
17540@@ -153,6 +162,9 @@ ENTRY(memcpy) 17895@@ -153,6 +156,7 @@ ENTRY(memcpy)
17541 movq -1*8(%rsi, %rdx), %r9 17896 movq -1*8(%rsi, %rdx), %r9
17542 movq %r8, 0*8(%rdi) 17897 movq %r8, 0*8(%rdi)
17543 movq %r9, -1*8(%rdi, %rdx) 17898 movq %r9, -1*8(%rdi, %rdx)
17544+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17899+ pax_force_retaddr
17545+ orb $0x80, 0x7(%rsp)
17546+#endif
17547 retq 17900 retq
17548 .p2align 4 17901 .p2align 4
17549 .Lless_8bytes: 17902 .Lless_8bytes:
17550@@ -166,6 +178,9 @@ ENTRY(memcpy) 17903@@ -166,6 +170,7 @@ ENTRY(memcpy)
17551 movl -4(%rsi, %rdx), %r8d 17904 movl -4(%rsi, %rdx), %r8d
17552 movl %ecx, (%rdi) 17905 movl %ecx, (%rdi)
17553 movl %r8d, -4(%rdi, %rdx) 17906 movl %r8d, -4(%rdi, %rdx)
17554+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17907+ pax_force_retaddr
17555+ orb $0x80, 0x7(%rsp)
17556+#endif
17557 retq 17908 retq
17558 .p2align 4 17909 .p2align 4
17559 .Lless_3bytes: 17910 .Lless_3bytes:
17560@@ -183,6 +198,9 @@ ENTRY(memcpy) 17911@@ -183,6 +188,7 @@ ENTRY(memcpy)
17561 jnz .Lloop_1 17912 jnz .Lloop_1
17562 17913
17563 .Lend: 17914 .Lend:
17564+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17915+ pax_force_retaddr
17565+ orb $0x80, 0x7(%rsp)
17566+#endif
17567 retq 17916 retq
17568 CFI_ENDPROC 17917 CFI_ENDPROC
17569 ENDPROC(memcpy) 17918 ENDPROC(memcpy)
17570diff -urNp linux-3.0.4/arch/x86/lib/memmove_64.S linux-3.0.4/arch/x86/lib/memmove_64.S 17919diff -urNp linux-3.0.7/arch/x86/lib/memmove_64.S linux-3.0.7/arch/x86/lib/memmove_64.S
17571--- linux-3.0.4/arch/x86/lib/memmove_64.S 2011-07-21 22:17:23.000000000 -0400 17920--- linux-3.0.7/arch/x86/lib/memmove_64.S 2011-07-21 22:17:23.000000000 -0400
17572+++ linux-3.0.4/arch/x86/lib/memmove_64.S 2011-09-17 18:31:51.000000000 -0400 17921+++ linux-3.0.7/arch/x86/lib/memmove_64.S 2011-10-06 04:17:55.000000000 -0400
17573@@ -201,6 +201,9 @@ ENTRY(memmove) 17922@@ -9,6 +9,7 @@
17923 #include <linux/linkage.h>
17924 #include <asm/dwarf2.h>
17925 #include <asm/cpufeature.h>
17926+#include <asm/alternative-asm.h>
17927
17928 #undef memmove
17929
17930@@ -201,6 +202,7 @@ ENTRY(memmove)
17574 movb (%rsi), %r11b 17931 movb (%rsi), %r11b
17575 movb %r11b, (%rdi) 17932 movb %r11b, (%rdi)
17576 13: 17933 13:
17577+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17934+ pax_force_retaddr
17578+ orb $0x80, 0x7(%rsp)
17579+#endif
17580 retq 17935 retq
17581 CFI_ENDPROC 17936 CFI_ENDPROC
17582 17937
17583@@ -209,6 +212,9 @@ ENTRY(memmove) 17938@@ -209,6 +211,7 @@ ENTRY(memmove)
17584 /* Forward moving data. */ 17939 /* Forward moving data. */
17585 movq %rdx, %rcx 17940 movq %rdx, %rcx
17586 rep movsb 17941 rep movsb
17587+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17942+ pax_force_retaddr
17588+ orb $0x80, 0x7(%rsp)
17589+#endif
17590 retq 17943 retq
17591 .Lmemmove_end_forward_efs: 17944 .Lmemmove_end_forward_efs:
17592 .previous 17945 .previous
17593diff -urNp linux-3.0.4/arch/x86/lib/memset_64.S linux-3.0.4/arch/x86/lib/memset_64.S 17946diff -urNp linux-3.0.7/arch/x86/lib/memset_64.S linux-3.0.7/arch/x86/lib/memset_64.S
17594--- linux-3.0.4/arch/x86/lib/memset_64.S 2011-07-21 22:17:23.000000000 -0400 17947--- linux-3.0.7/arch/x86/lib/memset_64.S 2011-07-21 22:17:23.000000000 -0400
17595+++ linux-3.0.4/arch/x86/lib/memset_64.S 2011-09-17 18:31:51.000000000 -0400 17948+++ linux-3.0.7/arch/x86/lib/memset_64.S 2011-10-06 04:17:55.000000000 -0400
17596@@ -31,6 +31,9 @@ 17949@@ -31,6 +31,7 @@
17597 movl %r8d,%ecx 17950 movl %r8d,%ecx
17598 rep stosb 17951 rep stosb
17599 movq %r9,%rax 17952 movq %r9,%rax
17600+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17953+ pax_force_retaddr
17601+ orb $0x80, 0x7(%rsp)
17602+#endif
17603 ret 17954 ret
17604 .Lmemset_e: 17955 .Lmemset_e:
17605 .previous 17956 .previous
17606@@ -53,6 +56,9 @@ 17957@@ -53,6 +54,7 @@
17607 movl %edx,%ecx 17958 movl %edx,%ecx
17608 rep stosb 17959 rep stosb
17609 movq %r9,%rax 17960 movq %r9,%rax
17610+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17961+ pax_force_retaddr
17611+ orb $0x80, 0x7(%rsp)
17612+#endif
17613 ret 17962 ret
17614 .Lmemset_e_e: 17963 .Lmemset_e_e:
17615 .previous 17964 .previous
17616@@ -121,6 +127,9 @@ ENTRY(__memset) 17965@@ -121,6 +123,7 @@ ENTRY(__memset)
17617 17966
17618 .Lende: 17967 .Lende:
17619 movq %r10,%rax 17968 movq %r10,%rax
17620+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 17969+ pax_force_retaddr
17621+ orb $0x80, 0x7(%rsp)
17622+#endif
17623 ret 17970 ret
17624 17971
17625 CFI_RESTORE_STATE 17972 CFI_RESTORE_STATE
17626diff -urNp linux-3.0.4/arch/x86/lib/mmx_32.c linux-3.0.4/arch/x86/lib/mmx_32.c 17973diff -urNp linux-3.0.7/arch/x86/lib/mmx_32.c linux-3.0.7/arch/x86/lib/mmx_32.c
17627--- linux-3.0.4/arch/x86/lib/mmx_32.c 2011-07-21 22:17:23.000000000 -0400 17974--- linux-3.0.7/arch/x86/lib/mmx_32.c 2011-07-21 22:17:23.000000000 -0400
17628+++ linux-3.0.4/arch/x86/lib/mmx_32.c 2011-08-23 21:47:55.000000000 -0400 17975+++ linux-3.0.7/arch/x86/lib/mmx_32.c 2011-08-23 21:47:55.000000000 -0400
17629@@ -29,6 +29,7 @@ void *_mmx_memcpy(void *to, const void * 17976@@ -29,6 +29,7 @@ void *_mmx_memcpy(void *to, const void *
17630 { 17977 {
17631 void *p; 17978 void *p;
@@ -17941,27 +18288,48 @@ diff -urNp linux-3.0.4/arch/x86/lib/mmx_32.c linux-3.0.4/arch/x86/lib/mmx_32.c
17941 18288
17942 from += 64; 18289 from += 64;
17943 to += 64; 18290 to += 64;
17944diff -urNp linux-3.0.4/arch/x86/lib/putuser.S linux-3.0.4/arch/x86/lib/putuser.S 18291diff -urNp linux-3.0.7/arch/x86/lib/msr-reg.S linux-3.0.7/arch/x86/lib/msr-reg.S
17945--- linux-3.0.4/arch/x86/lib/putuser.S 2011-07-21 22:17:23.000000000 -0400 18292--- linux-3.0.7/arch/x86/lib/msr-reg.S 2011-07-21 22:17:23.000000000 -0400
17946+++ linux-3.0.4/arch/x86/lib/putuser.S 2011-08-23 21:47:55.000000000 -0400 18293+++ linux-3.0.7/arch/x86/lib/msr-reg.S 2011-10-07 19:07:28.000000000 -0400
17947@@ -15,7 +15,8 @@ 18294@@ -3,6 +3,7 @@
18295 #include <asm/dwarf2.h>
18296 #include <asm/asm.h>
18297 #include <asm/msr.h>
18298+#include <asm/alternative-asm.h>
18299
18300 #ifdef CONFIG_X86_64
18301 /*
18302@@ -37,6 +38,7 @@ ENTRY(native_\op\()_safe_regs)
18303 movl %edi, 28(%r10)
18304 popq_cfi %rbp
18305 popq_cfi %rbx
18306+ pax_force_retaddr
18307 ret
18308 3:
18309 CFI_RESTORE_STATE
18310diff -urNp linux-3.0.7/arch/x86/lib/putuser.S linux-3.0.7/arch/x86/lib/putuser.S
18311--- linux-3.0.7/arch/x86/lib/putuser.S 2011-07-21 22:17:23.000000000 -0400
18312+++ linux-3.0.7/arch/x86/lib/putuser.S 2011-10-07 19:07:23.000000000 -0400
18313@@ -15,7 +15,9 @@
17948 #include <asm/thread_info.h> 18314 #include <asm/thread_info.h>
17949 #include <asm/errno.h> 18315 #include <asm/errno.h>
17950 #include <asm/asm.h> 18316 #include <asm/asm.h>
17951- 18317-
17952+#include <asm/segment.h> 18318+#include <asm/segment.h>
17953+#include <asm/pgtable.h> 18319+#include <asm/pgtable.h>
18320+#include <asm/alternative-asm.h>
17954 18321
17955 /* 18322 /*
17956 * __put_user_X 18323 * __put_user_X
17957@@ -29,52 +30,119 @@ 18324@@ -29,52 +31,119 @@
17958 * as they get called from within inline assembly. 18325 * as they get called from within inline assembly.
17959 */ 18326 */
17960 18327
17961-#define ENTER CFI_STARTPROC ; \ 18328-#define ENTER CFI_STARTPROC ; \
17962- GET_THREAD_INFO(%_ASM_BX) 18329- GET_THREAD_INFO(%_ASM_BX)
18330-#define EXIT ret ; \
17963+#define ENTER CFI_STARTPROC 18331+#define ENTER CFI_STARTPROC
17964 #define EXIT ret ; \ 18332+#define EXIT pax_force_retaddr; ret ; \
17965 CFI_ENDPROC 18333 CFI_ENDPROC
17966 18334
17967+#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF) 18335+#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF)
@@ -18081,87 +18449,86 @@ diff -urNp linux-3.0.4/arch/x86/lib/putuser.S linux-3.0.4/arch/x86/lib/putuser.S
18081 #endif 18449 #endif
18082 xor %eax,%eax 18450 xor %eax,%eax
18083 EXIT 18451 EXIT
18084diff -urNp linux-3.0.4/arch/x86/lib/rwlock_64.S linux-3.0.4/arch/x86/lib/rwlock_64.S 18452diff -urNp linux-3.0.7/arch/x86/lib/rwlock_64.S linux-3.0.7/arch/x86/lib/rwlock_64.S
18085--- linux-3.0.4/arch/x86/lib/rwlock_64.S 2011-07-21 22:17:23.000000000 -0400 18453--- linux-3.0.7/arch/x86/lib/rwlock_64.S 2011-07-21 22:17:23.000000000 -0400
18086+++ linux-3.0.4/arch/x86/lib/rwlock_64.S 2011-09-17 18:31:51.000000000 -0400 18454+++ linux-3.0.7/arch/x86/lib/rwlock_64.S 2011-10-06 04:17:55.000000000 -0400
18087@@ -17,6 +17,9 @@ ENTRY(__write_lock_failed) 18455@@ -17,6 +17,7 @@ ENTRY(__write_lock_failed)
18088 LOCK_PREFIX 18456 LOCK_PREFIX
18089 subl $RW_LOCK_BIAS,(%rdi) 18457 subl $RW_LOCK_BIAS,(%rdi)
18090 jnz __write_lock_failed 18458 jnz __write_lock_failed
18091+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 18459+ pax_force_retaddr
18092+ orb $0x80, 0x7(%rsp)
18093+#endif
18094 ret 18460 ret
18095 CFI_ENDPROC 18461 CFI_ENDPROC
18096 END(__write_lock_failed) 18462 END(__write_lock_failed)
18097@@ -33,6 +36,9 @@ ENTRY(__read_lock_failed) 18463@@ -33,6 +34,7 @@ ENTRY(__read_lock_failed)
18098 LOCK_PREFIX 18464 LOCK_PREFIX
18099 decl (%rdi) 18465 decl (%rdi)
18100 js __read_lock_failed 18466 js __read_lock_failed
18101+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 18467+ pax_force_retaddr
18102+ orb $0x80, 0x7(%rsp)
18103+#endif
18104 ret 18468 ret
18105 CFI_ENDPROC 18469 CFI_ENDPROC
18106 END(__read_lock_failed) 18470 END(__read_lock_failed)
18107diff -urNp linux-3.0.4/arch/x86/lib/rwsem_64.S linux-3.0.4/arch/x86/lib/rwsem_64.S 18471diff -urNp linux-3.0.7/arch/x86/lib/rwsem_64.S linux-3.0.7/arch/x86/lib/rwsem_64.S
18108--- linux-3.0.4/arch/x86/lib/rwsem_64.S 2011-07-21 22:17:23.000000000 -0400 18472--- linux-3.0.7/arch/x86/lib/rwsem_64.S 2011-07-21 22:17:23.000000000 -0400
18109+++ linux-3.0.4/arch/x86/lib/rwsem_64.S 2011-09-17 18:31:51.000000000 -0400 18473+++ linux-3.0.7/arch/x86/lib/rwsem_64.S 2011-10-07 10:46:47.000000000 -0400
18110@@ -51,6 +51,9 @@ ENTRY(call_rwsem_down_read_failed) 18474@@ -51,6 +51,7 @@ ENTRY(call_rwsem_down_read_failed)
18111 popq_cfi %rdx 18475 popq_cfi %rdx
18112 CFI_RESTORE rdx 18476 CFI_RESTORE rdx
18113 restore_common_regs 18477 restore_common_regs
18114+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 18478+ pax_force_retaddr
18115+ orb $0x80, 0x7(%rsp)
18116+#endif
18117 ret 18479 ret
18118 CFI_ENDPROC 18480 CFI_ENDPROC
18119 ENDPROC(call_rwsem_down_read_failed) 18481 ENDPROC(call_rwsem_down_read_failed)
18120@@ -61,6 +64,9 @@ ENTRY(call_rwsem_down_write_failed) 18482@@ -61,6 +62,7 @@ ENTRY(call_rwsem_down_write_failed)
18121 movq %rax,%rdi 18483 movq %rax,%rdi
18122 call rwsem_down_write_failed 18484 call rwsem_down_write_failed
18123 restore_common_regs 18485 restore_common_regs
18124+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 18486+ pax_force_retaddr
18125+ orb $0x80, 0x7(%rsp)
18126+#endif
18127 ret 18487 ret
18128 CFI_ENDPROC 18488 CFI_ENDPROC
18129 ENDPROC(call_rwsem_down_write_failed) 18489 ENDPROC(call_rwsem_down_write_failed)
18130@@ -73,6 +79,9 @@ ENTRY(call_rwsem_wake) 18490@@ -73,7 +75,8 @@ ENTRY(call_rwsem_wake)
18131 movq %rax,%rdi 18491 movq %rax,%rdi
18132 call rwsem_wake 18492 call rwsem_wake
18133 restore_common_regs 18493 restore_common_regs
18134+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 18494-1: ret
18135+ orb $0x80, 0x7(%rsp) 18495+1: pax_force_retaddr
18136+#endif 18496+ ret
18137 1: ret
18138 CFI_ENDPROC 18497 CFI_ENDPROC
18139 ENDPROC(call_rwsem_wake) 18498 ENDPROC(call_rwsem_wake)
18140@@ -88,6 +97,9 @@ ENTRY(call_rwsem_downgrade_wake) 18499
18500@@ -88,6 +91,7 @@ ENTRY(call_rwsem_downgrade_wake)
18141 popq_cfi %rdx 18501 popq_cfi %rdx
18142 CFI_RESTORE rdx 18502 CFI_RESTORE rdx
18143 restore_common_regs 18503 restore_common_regs
18144+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 18504+ pax_force_retaddr
18145+ orb $0x80, 0x7(%rsp)
18146+#endif
18147 ret 18505 ret
18148 CFI_ENDPROC 18506 CFI_ENDPROC
18149 ENDPROC(call_rwsem_downgrade_wake) 18507 ENDPROC(call_rwsem_downgrade_wake)
18150diff -urNp linux-3.0.4/arch/x86/lib/thunk_64.S linux-3.0.4/arch/x86/lib/thunk_64.S 18508diff -urNp linux-3.0.7/arch/x86/lib/thunk_64.S linux-3.0.7/arch/x86/lib/thunk_64.S
18151--- linux-3.0.4/arch/x86/lib/thunk_64.S 2011-07-21 22:17:23.000000000 -0400 18509--- linux-3.0.7/arch/x86/lib/thunk_64.S 2011-07-21 22:17:23.000000000 -0400
18152+++ linux-3.0.4/arch/x86/lib/thunk_64.S 2011-09-17 18:31:51.000000000 -0400 18510+++ linux-3.0.7/arch/x86/lib/thunk_64.S 2011-10-06 04:17:55.000000000 -0400
18153@@ -50,5 +50,8 @@ 18511@@ -10,7 +10,8 @@
18512 #include <asm/dwarf2.h>
18513 #include <asm/calling.h>
18514 #include <asm/rwlock.h>
18515-
18516+ #include <asm/alternative-asm.h>
18517+
18518 /* rdi: arg1 ... normal C conventions. rax is saved/restored. */
18519 .macro thunk name,func
18520 .globl \name
18521@@ -50,5 +51,6 @@
18154 SAVE_ARGS 18522 SAVE_ARGS
18155 restore: 18523 restore:
18156 RESTORE_ARGS 18524 RESTORE_ARGS
18157+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 18525- ret
18158+ orb $0x80, 0x7(%rsp) 18526+ pax_force_retaddr
18159+#endif 18527+ ret
18160 ret
18161 CFI_ENDPROC 18528 CFI_ENDPROC
18162diff -urNp linux-3.0.4/arch/x86/lib/usercopy_32.c linux-3.0.4/arch/x86/lib/usercopy_32.c 18529diff -urNp linux-3.0.7/arch/x86/lib/usercopy_32.c linux-3.0.7/arch/x86/lib/usercopy_32.c
18163--- linux-3.0.4/arch/x86/lib/usercopy_32.c 2011-07-21 22:17:23.000000000 -0400 18530--- linux-3.0.7/arch/x86/lib/usercopy_32.c 2011-07-21 22:17:23.000000000 -0400
18164+++ linux-3.0.4/arch/x86/lib/usercopy_32.c 2011-08-23 21:47:55.000000000 -0400 18531+++ linux-3.0.7/arch/x86/lib/usercopy_32.c 2011-08-23 21:47:55.000000000 -0400
18165@@ -43,7 +43,7 @@ do { \ 18532@@ -43,7 +43,7 @@ do { \
18166 __asm__ __volatile__( \ 18533 __asm__ __volatile__( \
18167 " testl %1,%1\n" \ 18534 " testl %1,%1\n" \
@@ -18782,9 +19149,9 @@ diff -urNp linux-3.0.4/arch/x86/lib/usercopy_32.c linux-3.0.4/arch/x86/lib/userc
18782+} 19149+}
18783+EXPORT_SYMBOL(set_fs); 19150+EXPORT_SYMBOL(set_fs);
18784+#endif 19151+#endif
18785diff -urNp linux-3.0.4/arch/x86/lib/usercopy_64.c linux-3.0.4/arch/x86/lib/usercopy_64.c 19152diff -urNp linux-3.0.7/arch/x86/lib/usercopy_64.c linux-3.0.7/arch/x86/lib/usercopy_64.c
18786--- linux-3.0.4/arch/x86/lib/usercopy_64.c 2011-07-21 22:17:23.000000000 -0400 19153--- linux-3.0.7/arch/x86/lib/usercopy_64.c 2011-07-21 22:17:23.000000000 -0400
18787+++ linux-3.0.4/arch/x86/lib/usercopy_64.c 2011-08-23 21:47:55.000000000 -0400 19154+++ linux-3.0.7/arch/x86/lib/usercopy_64.c 2011-10-06 04:17:55.000000000 -0400
18788@@ -42,6 +42,12 @@ long 19155@@ -42,6 +42,12 @@ long
18789 __strncpy_from_user(char *dst, const char __user *src, long count) 19156 __strncpy_from_user(char *dst, const char __user *src, long count)
18790 { 19157 {
@@ -18816,6 +19183,9 @@ diff -urNp linux-3.0.4/arch/x86/lib/usercopy_64.c linux-3.0.4/arch/x86/lib/userc
18816 unsigned long copy_in_user(void __user *to, const void __user *from, unsigned len) 19183 unsigned long copy_in_user(void __user *to, const void __user *from, unsigned len)
18817 { 19184 {
18818- if (access_ok(VERIFY_WRITE, to, len) && access_ok(VERIFY_READ, from, len)) { 19185- if (access_ok(VERIFY_WRITE, to, len) && access_ok(VERIFY_READ, from, len)) {
19186- return copy_user_generic((__force void *)to, (__force void *)from, len);
19187- }
19188- return len;
18819+ if (access_ok(VERIFY_WRITE, to, len) && access_ok(VERIFY_READ, from, len)) { 19189+ if (access_ok(VERIFY_WRITE, to, len) && access_ok(VERIFY_READ, from, len)) {
18820+ 19190+
18821+#ifdef CONFIG_PAX_MEMORY_UDEREF 19191+#ifdef CONFIG_PAX_MEMORY_UDEREF
@@ -18825,17 +19195,24 @@ diff -urNp linux-3.0.4/arch/x86/lib/usercopy_64.c linux-3.0.4/arch/x86/lib/userc
18825+ from += PAX_USER_SHADOW_BASE; 19195+ from += PAX_USER_SHADOW_BASE;
18826+#endif 19196+#endif
18827+ 19197+
18828 return copy_user_generic((__force void *)to, (__force void *)from, len); 19198+ return copy_user_generic((void __force_kernel *)to, (void __force_kernel *)from, len);
18829- }
18830- return len;
18831+ } 19199+ }
18832+ return len; 19200+ return len;
18833 } 19201 }
18834 EXPORT_SYMBOL(copy_in_user); 19202 EXPORT_SYMBOL(copy_in_user);
18835 19203
18836diff -urNp linux-3.0.4/arch/x86/Makefile linux-3.0.4/arch/x86/Makefile 19204@@ -164,7 +184,7 @@ EXPORT_SYMBOL(copy_in_user);
18837--- linux-3.0.4/arch/x86/Makefile 2011-07-21 22:17:23.000000000 -0400 19205 * it is not necessary to optimize tail handling.
18838+++ linux-3.0.4/arch/x86/Makefile 2011-08-23 21:48:14.000000000 -0400 19206 */
19207 unsigned long
19208-copy_user_handle_tail(char *to, char *from, unsigned len, unsigned zerorest)
19209+copy_user_handle_tail(char __user *to, char __user *from, unsigned len, unsigned zerorest)
19210 {
19211 char c;
19212 unsigned zero_len;
19213diff -urNp linux-3.0.7/arch/x86/Makefile linux-3.0.7/arch/x86/Makefile
19214--- linux-3.0.7/arch/x86/Makefile 2011-07-21 22:17:23.000000000 -0400
19215+++ linux-3.0.7/arch/x86/Makefile 2011-08-23 21:48:14.000000000 -0400
18839@@ -44,6 +44,7 @@ ifeq ($(CONFIG_X86_32),y) 19216@@ -44,6 +44,7 @@ ifeq ($(CONFIG_X86_32),y)
18840 else 19217 else
18841 BITS := 64 19218 BITS := 64
@@ -18857,9 +19234,9 @@ diff -urNp linux-3.0.4/arch/x86/Makefile linux-3.0.4/arch/x86/Makefile
18857+ 19234+
18858+archprepare: 19235+archprepare:
18859+ $(if $(LDFLAGS_BUILD_ID),,$(error $(OLD_LD))) 19236+ $(if $(LDFLAGS_BUILD_ID),,$(error $(OLD_LD)))
18860diff -urNp linux-3.0.4/arch/x86/mm/extable.c linux-3.0.4/arch/x86/mm/extable.c 19237diff -urNp linux-3.0.7/arch/x86/mm/extable.c linux-3.0.7/arch/x86/mm/extable.c
18861--- linux-3.0.4/arch/x86/mm/extable.c 2011-07-21 22:17:23.000000000 -0400 19238--- linux-3.0.7/arch/x86/mm/extable.c 2011-07-21 22:17:23.000000000 -0400
18862+++ linux-3.0.4/arch/x86/mm/extable.c 2011-08-23 21:47:55.000000000 -0400 19239+++ linux-3.0.7/arch/x86/mm/extable.c 2011-08-23 21:47:55.000000000 -0400
18863@@ -8,7 +8,7 @@ int fixup_exception(struct pt_regs *regs 19240@@ -8,7 +8,7 @@ int fixup_exception(struct pt_regs *regs
18864 const struct exception_table_entry *fixup; 19241 const struct exception_table_entry *fixup;
18865 19242
@@ -18869,9 +19246,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/extable.c linux-3.0.4/arch/x86/mm/extable.c
18869 extern u32 pnp_bios_fault_eip, pnp_bios_fault_esp; 19246 extern u32 pnp_bios_fault_eip, pnp_bios_fault_esp;
18870 extern u32 pnp_bios_is_utter_crap; 19247 extern u32 pnp_bios_is_utter_crap;
18871 pnp_bios_is_utter_crap = 1; 19248 pnp_bios_is_utter_crap = 1;
18872diff -urNp linux-3.0.4/arch/x86/mm/fault.c linux-3.0.4/arch/x86/mm/fault.c 19249diff -urNp linux-3.0.7/arch/x86/mm/fault.c linux-3.0.7/arch/x86/mm/fault.c
18873--- linux-3.0.4/arch/x86/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 19250--- linux-3.0.7/arch/x86/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
18874+++ linux-3.0.4/arch/x86/mm/fault.c 2011-08-23 21:48:14.000000000 -0400 19251+++ linux-3.0.7/arch/x86/mm/fault.c 2011-10-06 04:17:55.000000000 -0400
18875@@ -13,10 +13,18 @@ 19252@@ -13,10 +13,18 @@
18876 #include <linux/perf_event.h> /* perf_sw_event */ 19253 #include <linux/perf_event.h> /* perf_sw_event */
18877 #include <linux/hugetlb.h> /* hstate_index_to_shift */ 19254 #include <linux/hugetlb.h> /* hstate_index_to_shift */
@@ -18906,7 +19283,7 @@ diff -urNp linux-3.0.4/arch/x86/mm/fault.c linux-3.0.4/arch/x86/mm/fault.c
18906 /* Prefetch instruction is 0x0F0D or 0x0F18 */ 19283 /* Prefetch instruction is 0x0F0D or 0x0F18 */
18907- if (probe_kernel_address(instr, opcode)) 19284- if (probe_kernel_address(instr, opcode))
18908+ if (user_mode(regs)) { 19285+ if (user_mode(regs)) {
18909+ if (__copy_from_user_inatomic(&opcode, (__force unsigned char __user *)(instr), 1)) 19286+ if (__copy_from_user_inatomic(&opcode, (unsigned char __force_user *)(instr), 1))
18910+ return 0; 19287+ return 0;
18911+ } else if (probe_kernel_address(instr, opcode)) 19288+ } else if (probe_kernel_address(instr, opcode))
18912 return 0; 19289 return 0;
@@ -18918,7 +19295,7 @@ diff -urNp linux-3.0.4/arch/x86/mm/fault.c linux-3.0.4/arch/x86/mm/fault.c
18918 19295
18919- if (probe_kernel_address(instr, opcode)) 19296- if (probe_kernel_address(instr, opcode))
18920+ if (user_mode(regs)) { 19297+ if (user_mode(regs)) {
18921+ if (__copy_from_user_inatomic(&opcode, (__force unsigned char __user *)(instr), 1)) 19298+ if (__copy_from_user_inatomic(&opcode, (unsigned char __force_user *)(instr), 1))
18922+ break; 19299+ break;
18923+ } else if (probe_kernel_address(instr, opcode)) 19300+ } else if (probe_kernel_address(instr, opcode))
18924 break; 19301 break;
@@ -19491,7 +19868,7 @@ diff -urNp linux-3.0.4/arch/x86/mm/fault.c linux-3.0.4/arch/x86/mm/fault.c
19491+ printk(KERN_ERR "PAX: bytes at PC: "); 19868+ printk(KERN_ERR "PAX: bytes at PC: ");
19492+ for (i = 0; i < 20; i++) { 19869+ for (i = 0; i < 20; i++) {
19493+ unsigned char c; 19870+ unsigned char c;
19494+ if (get_user(c, (__force unsigned char __user *)pc+i)) 19871+ if (get_user(c, (unsigned char __force_user *)pc+i))
19495+ printk(KERN_CONT "?? "); 19872+ printk(KERN_CONT "?? ");
19496+ else 19873+ else
19497+ printk(KERN_CONT "%02x ", c); 19874+ printk(KERN_CONT "%02x ", c);
@@ -19501,7 +19878,7 @@ diff -urNp linux-3.0.4/arch/x86/mm/fault.c linux-3.0.4/arch/x86/mm/fault.c
19501+ printk(KERN_ERR "PAX: bytes at SP-%lu: ", (unsigned long)sizeof(long)); 19878+ printk(KERN_ERR "PAX: bytes at SP-%lu: ", (unsigned long)sizeof(long));
19502+ for (i = -1; i < 80 / (long)sizeof(long); i++) { 19879+ for (i = -1; i < 80 / (long)sizeof(long); i++) {
19503+ unsigned long c; 19880+ unsigned long c;
19504+ if (get_user(c, (__force unsigned long __user *)sp+i)) 19881+ if (get_user(c, (unsigned long __force_user *)sp+i))
19505+#ifdef CONFIG_X86_32 19882+#ifdef CONFIG_X86_32
19506+ printk(KERN_CONT "???????? "); 19883+ printk(KERN_CONT "???????? ");
19507+#else 19884+#else
@@ -19531,16 +19908,16 @@ diff -urNp linux-3.0.4/arch/x86/mm/fault.c linux-3.0.4/arch/x86/mm/fault.c
19531+ set_fs(KERNEL_DS); 19908+ set_fs(KERNEL_DS);
19532+ pagefault_disable(); 19909+ pagefault_disable();
19533+ pax_open_kernel(); 19910+ pax_open_kernel();
19534+ ret = __copy_to_user_inatomic((__force void __user *)dst, src, size); 19911+ ret = __copy_to_user_inatomic((void __force_user *)dst, src, size);
19535+ pax_close_kernel(); 19912+ pax_close_kernel();
19536+ pagefault_enable(); 19913+ pagefault_enable();
19537+ set_fs(old_fs); 19914+ set_fs(old_fs);
19538+ 19915+
19539+ return ret ? -EFAULT : 0; 19916+ return ret ? -EFAULT : 0;
19540+} 19917+}
19541diff -urNp linux-3.0.4/arch/x86/mm/gup.c linux-3.0.4/arch/x86/mm/gup.c 19918diff -urNp linux-3.0.7/arch/x86/mm/gup.c linux-3.0.7/arch/x86/mm/gup.c
19542--- linux-3.0.4/arch/x86/mm/gup.c 2011-07-21 22:17:23.000000000 -0400 19919--- linux-3.0.7/arch/x86/mm/gup.c 2011-07-21 22:17:23.000000000 -0400
19543+++ linux-3.0.4/arch/x86/mm/gup.c 2011-08-23 21:47:55.000000000 -0400 19920+++ linux-3.0.7/arch/x86/mm/gup.c 2011-08-23 21:47:55.000000000 -0400
19544@@ -263,7 +263,7 @@ int __get_user_pages_fast(unsigned long 19921@@ -263,7 +263,7 @@ int __get_user_pages_fast(unsigned long
19545 addr = start; 19922 addr = start;
19546 len = (unsigned long) nr_pages << PAGE_SHIFT; 19923 len = (unsigned long) nr_pages << PAGE_SHIFT;
@@ -19550,9 +19927,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/gup.c linux-3.0.4/arch/x86/mm/gup.c
19550 (void __user *)start, len))) 19927 (void __user *)start, len)))
19551 return 0; 19928 return 0;
19552 19929
19553diff -urNp linux-3.0.4/arch/x86/mm/highmem_32.c linux-3.0.4/arch/x86/mm/highmem_32.c 19930diff -urNp linux-3.0.7/arch/x86/mm/highmem_32.c linux-3.0.7/arch/x86/mm/highmem_32.c
19554--- linux-3.0.4/arch/x86/mm/highmem_32.c 2011-07-21 22:17:23.000000000 -0400 19931--- linux-3.0.7/arch/x86/mm/highmem_32.c 2011-07-21 22:17:23.000000000 -0400
19555+++ linux-3.0.4/arch/x86/mm/highmem_32.c 2011-08-23 21:47:55.000000000 -0400 19932+++ linux-3.0.7/arch/x86/mm/highmem_32.c 2011-08-23 21:47:55.000000000 -0400
19556@@ -44,7 +44,10 @@ void *kmap_atomic_prot(struct page *page 19933@@ -44,7 +44,10 @@ void *kmap_atomic_prot(struct page *page
19557 idx = type + KM_TYPE_NR*smp_processor_id(); 19934 idx = type + KM_TYPE_NR*smp_processor_id();
19558 vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); 19935 vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
@@ -19564,9 +19941,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/highmem_32.c linux-3.0.4/arch/x86/mm/highmem_
19564 19941
19565 return (void *)vaddr; 19942 return (void *)vaddr;
19566 } 19943 }
19567diff -urNp linux-3.0.4/arch/x86/mm/hugetlbpage.c linux-3.0.4/arch/x86/mm/hugetlbpage.c 19944diff -urNp linux-3.0.7/arch/x86/mm/hugetlbpage.c linux-3.0.7/arch/x86/mm/hugetlbpage.c
19568--- linux-3.0.4/arch/x86/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000 -0400 19945--- linux-3.0.7/arch/x86/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000 -0400
19569+++ linux-3.0.4/arch/x86/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000 -0400 19946+++ linux-3.0.7/arch/x86/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000 -0400
19570@@ -266,13 +266,20 @@ static unsigned long hugetlb_get_unmappe 19947@@ -266,13 +266,20 @@ static unsigned long hugetlb_get_unmappe
19571 struct hstate *h = hstate_file(file); 19948 struct hstate *h = hstate_file(file);
19572 struct mm_struct *mm = current->mm; 19949 struct mm_struct *mm = current->mm;
@@ -19774,9 +20151,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/hugetlbpage.c linux-3.0.4/arch/x86/mm/hugetlb
19774 return addr; 20151 return addr;
19775 } 20152 }
19776 if (mm->get_unmapped_area == arch_get_unmapped_area) 20153 if (mm->get_unmapped_area == arch_get_unmapped_area)
19777diff -urNp linux-3.0.4/arch/x86/mm/init_32.c linux-3.0.4/arch/x86/mm/init_32.c 20154diff -urNp linux-3.0.7/arch/x86/mm/init_32.c linux-3.0.7/arch/x86/mm/init_32.c
19778--- linux-3.0.4/arch/x86/mm/init_32.c 2011-07-21 22:17:23.000000000 -0400 20155--- linux-3.0.7/arch/x86/mm/init_32.c 2011-07-21 22:17:23.000000000 -0400
19779+++ linux-3.0.4/arch/x86/mm/init_32.c 2011-08-23 21:47:55.000000000 -0400 20156+++ linux-3.0.7/arch/x86/mm/init_32.c 2011-08-23 21:47:55.000000000 -0400
19780@@ -74,36 +74,6 @@ static __init void *alloc_low_page(void) 20157@@ -74,36 +74,6 @@ static __init void *alloc_low_page(void)
19781 } 20158 }
19782 20159
@@ -20051,9 +20428,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/init_32.c linux-3.0.4/arch/x86/mm/init_32.c
20051 set_pages_ro(virt_to_page(start), size >> PAGE_SHIFT); 20428 set_pages_ro(virt_to_page(start), size >> PAGE_SHIFT);
20052 printk(KERN_INFO "Write protecting the kernel text: %luk\n", 20429 printk(KERN_INFO "Write protecting the kernel text: %luk\n",
20053 size >> 10); 20430 size >> 10);
20054diff -urNp linux-3.0.4/arch/x86/mm/init_64.c linux-3.0.4/arch/x86/mm/init_64.c 20431diff -urNp linux-3.0.7/arch/x86/mm/init_64.c linux-3.0.7/arch/x86/mm/init_64.c
20055--- linux-3.0.4/arch/x86/mm/init_64.c 2011-07-21 22:17:23.000000000 -0400 20432--- linux-3.0.7/arch/x86/mm/init_64.c 2011-07-21 22:17:23.000000000 -0400
20056+++ linux-3.0.4/arch/x86/mm/init_64.c 2011-08-23 21:47:55.000000000 -0400 20433+++ linux-3.0.7/arch/x86/mm/init_64.c 2011-10-06 04:17:55.000000000 -0400
20057@@ -75,7 +75,7 @@ early_param("gbpages", parse_direct_gbpa 20434@@ -75,7 +75,7 @@ early_param("gbpages", parse_direct_gbpa
20058 * around without checking the pgd every time. 20435 * around without checking the pgd every time.
20059 */ 20436 */
@@ -20132,6 +20509,24 @@ diff -urNp linux-3.0.4/arch/x86/mm/init_64.c linux-3.0.4/arch/x86/mm/init_64.c
20132 } 20509 }
20133 pmd = pmd_offset(pud, phys); 20510 pmd = pmd_offset(pud, phys);
20134 BUG_ON(!pmd_none(*pmd)); 20511 BUG_ON(!pmd_none(*pmd));
20512@@ -330,7 +344,7 @@ static __ref void *alloc_low_page(unsign
20513 if (pfn >= pgt_buf_top)
20514 panic("alloc_low_page: ran out of memory");
20515
20516- adr = early_memremap(pfn * PAGE_SIZE, PAGE_SIZE);
20517+ adr = (void __force_kernel *)early_memremap(pfn * PAGE_SIZE, PAGE_SIZE);
20518 clear_page(adr);
20519 *phys = pfn * PAGE_SIZE;
20520 return adr;
20521@@ -346,7 +360,7 @@ static __ref void *map_low_page(void *vi
20522
20523 phys = __pa(virt);
20524 left = phys & (PAGE_SIZE - 1);
20525- adr = early_memremap(phys & PAGE_MASK, PAGE_SIZE);
20526+ adr = (void __force_kernel *)early_memremap(phys & PAGE_MASK, PAGE_SIZE);
20527 adr = (void *)(((unsigned long)adr) | left);
20528
20529 return adr;
20135@@ -693,6 +707,12 @@ void __init mem_init(void) 20530@@ -693,6 +707,12 @@ void __init mem_init(void)
20136 20531
20137 pci_iommu_alloc(); 20532 pci_iommu_alloc();
@@ -20165,9 +20560,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/init_64.c linux-3.0.4/arch/x86/mm/init_64.c
20165 return "[vdso]"; 20560 return "[vdso]";
20166 if (vma == &gate_vma) 20561 if (vma == &gate_vma)
20167 return "[vsyscall]"; 20562 return "[vsyscall]";
20168diff -urNp linux-3.0.4/arch/x86/mm/init.c linux-3.0.4/arch/x86/mm/init.c 20563diff -urNp linux-3.0.7/arch/x86/mm/init.c linux-3.0.7/arch/x86/mm/init.c
20169--- linux-3.0.4/arch/x86/mm/init.c 2011-07-21 22:17:23.000000000 -0400 20564--- linux-3.0.7/arch/x86/mm/init.c 2011-07-21 22:17:23.000000000 -0400
20170+++ linux-3.0.4/arch/x86/mm/init.c 2011-08-23 21:48:14.000000000 -0400 20565+++ linux-3.0.7/arch/x86/mm/init.c 2011-08-23 21:48:14.000000000 -0400
20171@@ -31,7 +31,7 @@ int direct_gbpages 20566@@ -31,7 +31,7 @@ int direct_gbpages
20172 static void __init find_early_table_space(unsigned long end, int use_pse, 20567 static void __init find_early_table_space(unsigned long end, int use_pse,
20173 int use_gbpages) 20568 int use_gbpages)
@@ -20300,9 +20695,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/init.c linux-3.0.4/arch/x86/mm/init.c
20300 free_init_pages("unused kernel memory", 20695 free_init_pages("unused kernel memory",
20301 (unsigned long)(&__init_begin), 20696 (unsigned long)(&__init_begin),
20302 (unsigned long)(&__init_end)); 20697 (unsigned long)(&__init_end));
20303diff -urNp linux-3.0.4/arch/x86/mm/iomap_32.c linux-3.0.4/arch/x86/mm/iomap_32.c 20698diff -urNp linux-3.0.7/arch/x86/mm/iomap_32.c linux-3.0.7/arch/x86/mm/iomap_32.c
20304--- linux-3.0.4/arch/x86/mm/iomap_32.c 2011-07-21 22:17:23.000000000 -0400 20699--- linux-3.0.7/arch/x86/mm/iomap_32.c 2011-07-21 22:17:23.000000000 -0400
20305+++ linux-3.0.4/arch/x86/mm/iomap_32.c 2011-08-23 21:47:55.000000000 -0400 20700+++ linux-3.0.7/arch/x86/mm/iomap_32.c 2011-08-23 21:47:55.000000000 -0400
20306@@ -64,7 +64,11 @@ void *kmap_atomic_prot_pfn(unsigned long 20701@@ -64,7 +64,11 @@ void *kmap_atomic_prot_pfn(unsigned long
20307 type = kmap_atomic_idx_push(); 20702 type = kmap_atomic_idx_push();
20308 idx = type + KM_TYPE_NR * smp_processor_id(); 20703 idx = type + KM_TYPE_NR * smp_processor_id();
@@ -20315,9 +20710,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/iomap_32.c linux-3.0.4/arch/x86/mm/iomap_32.c
20315 arch_flush_lazy_mmu_mode(); 20710 arch_flush_lazy_mmu_mode();
20316 20711
20317 return (void *)vaddr; 20712 return (void *)vaddr;
20318diff -urNp linux-3.0.4/arch/x86/mm/ioremap.c linux-3.0.4/arch/x86/mm/ioremap.c 20713diff -urNp linux-3.0.7/arch/x86/mm/ioremap.c linux-3.0.7/arch/x86/mm/ioremap.c
20319--- linux-3.0.4/arch/x86/mm/ioremap.c 2011-07-21 22:17:23.000000000 -0400 20714--- linux-3.0.7/arch/x86/mm/ioremap.c 2011-07-21 22:17:23.000000000 -0400
20320+++ linux-3.0.4/arch/x86/mm/ioremap.c 2011-08-23 21:47:55.000000000 -0400 20715+++ linux-3.0.7/arch/x86/mm/ioremap.c 2011-08-23 21:47:55.000000000 -0400
20321@@ -97,7 +97,7 @@ static void __iomem *__ioremap_caller(re 20716@@ -97,7 +97,7 @@ static void __iomem *__ioremap_caller(re
20322 for (pfn = phys_addr >> PAGE_SHIFT; pfn <= last_pfn; pfn++) { 20717 for (pfn = phys_addr >> PAGE_SHIFT; pfn <= last_pfn; pfn++) {
20323 int is_ram = page_is_ram(pfn); 20718 int is_ram = page_is_ram(pfn);
@@ -20346,9 +20741,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/ioremap.c linux-3.0.4/arch/x86/mm/ioremap.c
20346 20741
20347 /* 20742 /*
20348 * The boot-ioremap range spans multiple pmds, for which 20743 * The boot-ioremap range spans multiple pmds, for which
20349diff -urNp linux-3.0.4/arch/x86/mm/kmemcheck/kmemcheck.c linux-3.0.4/arch/x86/mm/kmemcheck/kmemcheck.c 20744diff -urNp linux-3.0.7/arch/x86/mm/kmemcheck/kmemcheck.c linux-3.0.7/arch/x86/mm/kmemcheck/kmemcheck.c
20350--- linux-3.0.4/arch/x86/mm/kmemcheck/kmemcheck.c 2011-07-21 22:17:23.000000000 -0400 20745--- linux-3.0.7/arch/x86/mm/kmemcheck/kmemcheck.c 2011-07-21 22:17:23.000000000 -0400
20351+++ linux-3.0.4/arch/x86/mm/kmemcheck/kmemcheck.c 2011-08-23 21:47:55.000000000 -0400 20746+++ linux-3.0.7/arch/x86/mm/kmemcheck/kmemcheck.c 2011-08-23 21:47:55.000000000 -0400
20352@@ -622,9 +622,9 @@ bool kmemcheck_fault(struct pt_regs *reg 20747@@ -622,9 +622,9 @@ bool kmemcheck_fault(struct pt_regs *reg
20353 * memory (e.g. tracked pages)? For now, we need this to avoid 20748 * memory (e.g. tracked pages)? For now, we need this to avoid
20354 * invoking kmemcheck for PnP BIOS calls. 20749 * invoking kmemcheck for PnP BIOS calls.
@@ -20361,9 +20756,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/kmemcheck/kmemcheck.c linux-3.0.4/arch/x86/mm
20361 return false; 20756 return false;
20362 20757
20363 pte = kmemcheck_pte_lookup(address); 20758 pte = kmemcheck_pte_lookup(address);
20364diff -urNp linux-3.0.4/arch/x86/mm/mmap.c linux-3.0.4/arch/x86/mm/mmap.c 20759diff -urNp linux-3.0.7/arch/x86/mm/mmap.c linux-3.0.7/arch/x86/mm/mmap.c
20365--- linux-3.0.4/arch/x86/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 20760--- linux-3.0.7/arch/x86/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400
20366+++ linux-3.0.4/arch/x86/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 20761+++ linux-3.0.7/arch/x86/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400
20367@@ -49,7 +49,7 @@ static unsigned int stack_maxrandom_size 20762@@ -49,7 +49,7 @@ static unsigned int stack_maxrandom_size
20368 * Leave an at least ~128 MB hole with possible stack randomization. 20763 * Leave an at least ~128 MB hole with possible stack randomization.
20369 */ 20764 */
@@ -20445,9 +20840,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/mmap.c linux-3.0.4/arch/x86/mm/mmap.c
20445 mm->get_unmapped_area = arch_get_unmapped_area_topdown; 20840 mm->get_unmapped_area = arch_get_unmapped_area_topdown;
20446 mm->unmap_area = arch_unmap_area_topdown; 20841 mm->unmap_area = arch_unmap_area_topdown;
20447 } 20842 }
20448diff -urNp linux-3.0.4/arch/x86/mm/mmio-mod.c linux-3.0.4/arch/x86/mm/mmio-mod.c 20843diff -urNp linux-3.0.7/arch/x86/mm/mmio-mod.c linux-3.0.7/arch/x86/mm/mmio-mod.c
20449--- linux-3.0.4/arch/x86/mm/mmio-mod.c 2011-07-21 22:17:23.000000000 -0400 20844--- linux-3.0.7/arch/x86/mm/mmio-mod.c 2011-07-21 22:17:23.000000000 -0400
20450+++ linux-3.0.4/arch/x86/mm/mmio-mod.c 2011-08-23 21:47:55.000000000 -0400 20845+++ linux-3.0.7/arch/x86/mm/mmio-mod.c 2011-08-23 21:47:55.000000000 -0400
20451@@ -195,7 +195,7 @@ static void pre(struct kmmio_probe *p, s 20846@@ -195,7 +195,7 @@ static void pre(struct kmmio_probe *p, s
20452 break; 20847 break;
20453 default: 20848 default:
@@ -20475,9 +20870,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/mmio-mod.c linux-3.0.4/arch/x86/mm/mmio-mod.c
20475 }; 20870 };
20476 map.map_id = trace->id; 20871 map.map_id = trace->id;
20477 20872
20478diff -urNp linux-3.0.4/arch/x86/mm/pageattr.c linux-3.0.4/arch/x86/mm/pageattr.c 20873diff -urNp linux-3.0.7/arch/x86/mm/pageattr.c linux-3.0.7/arch/x86/mm/pageattr.c
20479--- linux-3.0.4/arch/x86/mm/pageattr.c 2011-07-21 22:17:23.000000000 -0400 20874--- linux-3.0.7/arch/x86/mm/pageattr.c 2011-07-21 22:17:23.000000000 -0400
20480+++ linux-3.0.4/arch/x86/mm/pageattr.c 2011-08-23 21:47:55.000000000 -0400 20875+++ linux-3.0.7/arch/x86/mm/pageattr.c 2011-08-23 21:47:55.000000000 -0400
20481@@ -261,7 +261,7 @@ static inline pgprot_t static_protection 20876@@ -261,7 +261,7 @@ static inline pgprot_t static_protection
20482 */ 20877 */
20483 #ifdef CONFIG_PCI_BIOS 20878 #ifdef CONFIG_PCI_BIOS
@@ -20562,9 +20957,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/pageattr.c linux-3.0.4/arch/x86/mm/pageattr.c
20562 } 20957 }
20563 20958
20564 static int 20959 static int
20565diff -urNp linux-3.0.4/arch/x86/mm/pageattr-test.c linux-3.0.4/arch/x86/mm/pageattr-test.c 20960diff -urNp linux-3.0.7/arch/x86/mm/pageattr-test.c linux-3.0.7/arch/x86/mm/pageattr-test.c
20566--- linux-3.0.4/arch/x86/mm/pageattr-test.c 2011-07-21 22:17:23.000000000 -0400 20961--- linux-3.0.7/arch/x86/mm/pageattr-test.c 2011-07-21 22:17:23.000000000 -0400
20567+++ linux-3.0.4/arch/x86/mm/pageattr-test.c 2011-08-23 21:47:55.000000000 -0400 20962+++ linux-3.0.7/arch/x86/mm/pageattr-test.c 2011-08-23 21:47:55.000000000 -0400
20568@@ -36,7 +36,7 @@ enum { 20963@@ -36,7 +36,7 @@ enum {
20569 20964
20570 static int pte_testbit(pte_t pte) 20965 static int pte_testbit(pte_t pte)
@@ -20574,9 +20969,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/pageattr-test.c linux-3.0.4/arch/x86/mm/pagea
20574 } 20969 }
20575 20970
20576 struct split_state { 20971 struct split_state {
20577diff -urNp linux-3.0.4/arch/x86/mm/pat.c linux-3.0.4/arch/x86/mm/pat.c 20972diff -urNp linux-3.0.7/arch/x86/mm/pat.c linux-3.0.7/arch/x86/mm/pat.c
20578--- linux-3.0.4/arch/x86/mm/pat.c 2011-07-21 22:17:23.000000000 -0400 20973--- linux-3.0.7/arch/x86/mm/pat.c 2011-07-21 22:17:23.000000000 -0400
20579+++ linux-3.0.4/arch/x86/mm/pat.c 2011-08-23 21:47:55.000000000 -0400 20974+++ linux-3.0.7/arch/x86/mm/pat.c 2011-08-23 21:47:55.000000000 -0400
20580@@ -361,7 +361,7 @@ int free_memtype(u64 start, u64 end) 20975@@ -361,7 +361,7 @@ int free_memtype(u64 start, u64 end)
20581 20976
20582 if (!entry) { 20977 if (!entry) {
@@ -20624,9 +21019,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/pat.c linux-3.0.4/arch/x86/mm/pat.c
20624 cattr_name(want_flags), 21019 cattr_name(want_flags),
20625 (unsigned long long)paddr, 21020 (unsigned long long)paddr,
20626 (unsigned long long)(paddr + size), 21021 (unsigned long long)(paddr + size),
20627diff -urNp linux-3.0.4/arch/x86/mm/pf_in.c linux-3.0.4/arch/x86/mm/pf_in.c 21022diff -urNp linux-3.0.7/arch/x86/mm/pf_in.c linux-3.0.7/arch/x86/mm/pf_in.c
20628--- linux-3.0.4/arch/x86/mm/pf_in.c 2011-07-21 22:17:23.000000000 -0400 21023--- linux-3.0.7/arch/x86/mm/pf_in.c 2011-07-21 22:17:23.000000000 -0400
20629+++ linux-3.0.4/arch/x86/mm/pf_in.c 2011-08-23 21:47:55.000000000 -0400 21024+++ linux-3.0.7/arch/x86/mm/pf_in.c 2011-08-23 21:47:55.000000000 -0400
20630@@ -148,7 +148,7 @@ enum reason_type get_ins_type(unsigned l 21025@@ -148,7 +148,7 @@ enum reason_type get_ins_type(unsigned l
20631 int i; 21026 int i;
20632 enum reason_type rv = OTHERS; 21027 enum reason_type rv = OTHERS;
@@ -20672,9 +21067,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/pf_in.c linux-3.0.4/arch/x86/mm/pf_in.c
20672 p += skip_prefix(p, &prf); 21067 p += skip_prefix(p, &prf);
20673 p += get_opcode(p, &opcode); 21068 p += get_opcode(p, &opcode);
20674 for (i = 0; i < ARRAY_SIZE(imm_wop); i++) 21069 for (i = 0; i < ARRAY_SIZE(imm_wop); i++)
20675diff -urNp linux-3.0.4/arch/x86/mm/pgtable_32.c linux-3.0.4/arch/x86/mm/pgtable_32.c 21070diff -urNp linux-3.0.7/arch/x86/mm/pgtable_32.c linux-3.0.7/arch/x86/mm/pgtable_32.c
20676--- linux-3.0.4/arch/x86/mm/pgtable_32.c 2011-07-21 22:17:23.000000000 -0400 21071--- linux-3.0.7/arch/x86/mm/pgtable_32.c 2011-07-21 22:17:23.000000000 -0400
20677+++ linux-3.0.4/arch/x86/mm/pgtable_32.c 2011-08-23 21:47:55.000000000 -0400 21072+++ linux-3.0.7/arch/x86/mm/pgtable_32.c 2011-08-23 21:47:55.000000000 -0400
20678@@ -48,10 +48,13 @@ void set_pte_vaddr(unsigned long vaddr, 21073@@ -48,10 +48,13 @@ void set_pte_vaddr(unsigned long vaddr,
20679 return; 21074 return;
20680 } 21075 }
@@ -20689,9 +21084,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/pgtable_32.c linux-3.0.4/arch/x86/mm/pgtable_
20689 21084
20690 /* 21085 /*
20691 * It's enough to flush this one mapping. 21086 * It's enough to flush this one mapping.
20692diff -urNp linux-3.0.4/arch/x86/mm/pgtable.c linux-3.0.4/arch/x86/mm/pgtable.c 21087diff -urNp linux-3.0.7/arch/x86/mm/pgtable.c linux-3.0.7/arch/x86/mm/pgtable.c
20693--- linux-3.0.4/arch/x86/mm/pgtable.c 2011-07-21 22:17:23.000000000 -0400 21088--- linux-3.0.7/arch/x86/mm/pgtable.c 2011-07-21 22:17:23.000000000 -0400
20694+++ linux-3.0.4/arch/x86/mm/pgtable.c 2011-08-23 21:47:55.000000000 -0400 21089+++ linux-3.0.7/arch/x86/mm/pgtable.c 2011-08-23 21:47:55.000000000 -0400
20695@@ -84,10 +84,52 @@ static inline void pgd_list_del(pgd_t *p 21090@@ -84,10 +84,52 @@ static inline void pgd_list_del(pgd_t *p
20696 list_del(&page->lru); 21091 list_del(&page->lru);
20697 } 21092 }
@@ -20937,9 +21332,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/pgtable.c linux-3.0.4/arch/x86/mm/pgtable.c
20937 pgd_dtor(pgd); 21332 pgd_dtor(pgd);
20938 paravirt_pgd_free(mm, pgd); 21333 paravirt_pgd_free(mm, pgd);
20939 free_page((unsigned long)pgd); 21334 free_page((unsigned long)pgd);
20940diff -urNp linux-3.0.4/arch/x86/mm/setup_nx.c linux-3.0.4/arch/x86/mm/setup_nx.c 21335diff -urNp linux-3.0.7/arch/x86/mm/setup_nx.c linux-3.0.7/arch/x86/mm/setup_nx.c
20941--- linux-3.0.4/arch/x86/mm/setup_nx.c 2011-07-21 22:17:23.000000000 -0400 21336--- linux-3.0.7/arch/x86/mm/setup_nx.c 2011-07-21 22:17:23.000000000 -0400
20942+++ linux-3.0.4/arch/x86/mm/setup_nx.c 2011-08-23 21:47:55.000000000 -0400 21337+++ linux-3.0.7/arch/x86/mm/setup_nx.c 2011-08-23 21:47:55.000000000 -0400
20943@@ -5,8 +5,10 @@ 21338@@ -5,8 +5,10 @@
20944 #include <asm/pgtable.h> 21339 #include <asm/pgtable.h>
20945 #include <asm/proto.h> 21340 #include <asm/proto.h>
@@ -20969,9 +21364,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/setup_nx.c linux-3.0.4/arch/x86/mm/setup_nx.c
20969 __supported_pte_mask &= ~_PAGE_NX; 21364 __supported_pte_mask &= ~_PAGE_NX;
20970 } 21365 }
20971 21366
20972diff -urNp linux-3.0.4/arch/x86/mm/tlb.c linux-3.0.4/arch/x86/mm/tlb.c 21367diff -urNp linux-3.0.7/arch/x86/mm/tlb.c linux-3.0.7/arch/x86/mm/tlb.c
20973--- linux-3.0.4/arch/x86/mm/tlb.c 2011-07-21 22:17:23.000000000 -0400 21368--- linux-3.0.7/arch/x86/mm/tlb.c 2011-07-21 22:17:23.000000000 -0400
20974+++ linux-3.0.4/arch/x86/mm/tlb.c 2011-08-23 21:47:55.000000000 -0400 21369+++ linux-3.0.7/arch/x86/mm/tlb.c 2011-08-23 21:47:55.000000000 -0400
20975@@ -65,7 +65,11 @@ void leave_mm(int cpu) 21370@@ -65,7 +65,11 @@ void leave_mm(int cpu)
20976 BUG(); 21371 BUG();
20977 cpumask_clear_cpu(cpu, 21372 cpumask_clear_cpu(cpu,
@@ -20984,9 +21379,9 @@ diff -urNp linux-3.0.4/arch/x86/mm/tlb.c linux-3.0.4/arch/x86/mm/tlb.c
20984 } 21379 }
20985 EXPORT_SYMBOL_GPL(leave_mm); 21380 EXPORT_SYMBOL_GPL(leave_mm);
20986 21381
20987diff -urNp linux-3.0.4/arch/x86/net/bpf_jit_comp.c linux-3.0.4/arch/x86/net/bpf_jit_comp.c 21382diff -urNp linux-3.0.7/arch/x86/net/bpf_jit_comp.c linux-3.0.7/arch/x86/net/bpf_jit_comp.c
20988--- linux-3.0.4/arch/x86/net/bpf_jit_comp.c 2011-07-21 22:17:23.000000000 -0400 21383--- linux-3.0.7/arch/x86/net/bpf_jit_comp.c 2011-07-21 22:17:23.000000000 -0400
20989+++ linux-3.0.4/arch/x86/net/bpf_jit_comp.c 2011-08-23 21:47:55.000000000 -0400 21384+++ linux-3.0.7/arch/x86/net/bpf_jit_comp.c 2011-08-23 21:47:55.000000000 -0400
20990@@ -589,7 +589,9 @@ cond_branch: f_offset = addrs[i + filt 21385@@ -589,7 +589,9 @@ cond_branch: f_offset = addrs[i + filt
20991 module_free(NULL, image); 21386 module_free(NULL, image);
20992 return; 21387 return;
@@ -21006,9 +21401,112 @@ diff -urNp linux-3.0.4/arch/x86/net/bpf_jit_comp.c linux-3.0.4/arch/x86/net/bpf_
21006 proglen, 21401 proglen,
21007 sizeof(struct work_struct))); 21402 sizeof(struct work_struct)));
21008 if (!image) 21403 if (!image)
21009diff -urNp linux-3.0.4/arch/x86/oprofile/backtrace.c linux-3.0.4/arch/x86/oprofile/backtrace.c 21404diff -urNp linux-3.0.7/arch/x86/net/bpf_jit.S linux-3.0.7/arch/x86/net/bpf_jit.S
21010--- linux-3.0.4/arch/x86/oprofile/backtrace.c 2011-09-02 18:11:21.000000000 -0400 21405--- linux-3.0.7/arch/x86/net/bpf_jit.S 2011-07-21 22:17:23.000000000 -0400
21011+++ linux-3.0.4/arch/x86/oprofile/backtrace.c 2011-08-23 21:47:55.000000000 -0400 21406+++ linux-3.0.7/arch/x86/net/bpf_jit.S 2011-10-07 19:07:28.000000000 -0400
21407@@ -9,6 +9,7 @@
21408 */
21409 #include <linux/linkage.h>
21410 #include <asm/dwarf2.h>
21411+#include <asm/alternative-asm.h>
21412
21413 /*
21414 * Calling convention :
21415@@ -35,6 +36,7 @@ sk_load_word:
21416 jle bpf_slow_path_word
21417 mov (SKBDATA,%rsi),%eax
21418 bswap %eax /* ntohl() */
21419+ pax_force_retaddr
21420 ret
21421
21422
21423@@ -53,6 +55,7 @@ sk_load_half:
21424 jle bpf_slow_path_half
21425 movzwl (SKBDATA,%rsi),%eax
21426 rol $8,%ax # ntohs()
21427+ pax_force_retaddr
21428 ret
21429
21430 sk_load_byte_ind:
21431@@ -66,6 +69,7 @@ sk_load_byte:
21432 cmp %esi,%r9d /* if (offset >= hlen) goto bpf_slow_path_byte */
21433 jle bpf_slow_path_byte
21434 movzbl (SKBDATA,%rsi),%eax
21435+ pax_force_retaddr
21436 ret
21437
21438 /**
21439@@ -82,6 +86,7 @@ ENTRY(sk_load_byte_msh)
21440 movzbl (SKBDATA,%rsi),%ebx
21441 and $15,%bl
21442 shl $2,%bl
21443+ pax_force_retaddr
21444 ret
21445 CFI_ENDPROC
21446 ENDPROC(sk_load_byte_msh)
21447@@ -91,6 +96,7 @@ bpf_error:
21448 xor %eax,%eax
21449 mov -8(%rbp),%rbx
21450 leaveq
21451+ pax_force_retaddr
21452 ret
21453
21454 /* rsi contains offset and can be scratched */
21455@@ -113,6 +119,7 @@ bpf_slow_path_word:
21456 js bpf_error
21457 mov -12(%rbp),%eax
21458 bswap %eax
21459+ pax_force_retaddr
21460 ret
21461
21462 bpf_slow_path_half:
21463@@ -121,12 +128,14 @@ bpf_slow_path_half:
21464 mov -12(%rbp),%ax
21465 rol $8,%ax
21466 movzwl %ax,%eax
21467+ pax_force_retaddr
21468 ret
21469
21470 bpf_slow_path_byte:
21471 bpf_slow_path_common(1)
21472 js bpf_error
21473 movzbl -12(%rbp),%eax
21474+ pax_force_retaddr
21475 ret
21476
21477 bpf_slow_path_byte_msh:
21478@@ -137,4 +146,5 @@ bpf_slow_path_byte_msh:
21479 and $15,%al
21480 shl $2,%al
21481 xchg %eax,%ebx
21482+ pax_force_retaddr
21483 ret
21484diff -urNp linux-3.0.7/arch/x86/oprofile/backtrace.c linux-3.0.7/arch/x86/oprofile/backtrace.c
21485--- linux-3.0.7/arch/x86/oprofile/backtrace.c 2011-09-02 18:11:21.000000000 -0400
21486+++ linux-3.0.7/arch/x86/oprofile/backtrace.c 2011-10-06 04:17:55.000000000 -0400
21487@@ -83,11 +83,11 @@ dump_user_backtrace_32(struct stack_fram
21488 struct stack_frame_ia32 *fp;
21489 unsigned long bytes;
21490
21491- bytes = copy_from_user_nmi(bufhead, head, sizeof(bufhead));
21492+ bytes = copy_from_user_nmi(bufhead, (const char __force_user *)head, sizeof(bufhead));
21493 if (bytes != sizeof(bufhead))
21494 return NULL;
21495
21496- fp = (struct stack_frame_ia32 *) compat_ptr(bufhead[0].next_frame);
21497+ fp = (struct stack_frame_ia32 __force_kernel *) compat_ptr(bufhead[0].next_frame);
21498
21499 oprofile_add_trace(bufhead[0].return_address);
21500
21501@@ -129,7 +129,7 @@ static struct stack_frame *dump_user_bac
21502 struct stack_frame bufhead[2];
21503 unsigned long bytes;
21504
21505- bytes = copy_from_user_nmi(bufhead, head, sizeof(bufhead));
21506+ bytes = copy_from_user_nmi(bufhead, (const char __force_user *)head, sizeof(bufhead));
21507 if (bytes != sizeof(bufhead))
21508 return NULL;
21509
21012@@ -148,7 +148,7 @@ x86_backtrace(struct pt_regs * const reg 21510@@ -148,7 +148,7 @@ x86_backtrace(struct pt_regs * const reg
21013 { 21511 {
21014 struct stack_frame *head = (struct stack_frame *)frame_pointer(regs); 21512 struct stack_frame *head = (struct stack_frame *)frame_pointer(regs);
@@ -21018,9 +21516,9 @@ diff -urNp linux-3.0.4/arch/x86/oprofile/backtrace.c linux-3.0.4/arch/x86/oprofi
21018 unsigned long stack = kernel_stack_pointer(regs); 21516 unsigned long stack = kernel_stack_pointer(regs);
21019 if (depth) 21517 if (depth)
21020 dump_trace(NULL, regs, (unsigned long *)stack, 0, 21518 dump_trace(NULL, regs, (unsigned long *)stack, 0,
21021diff -urNp linux-3.0.4/arch/x86/pci/mrst.c linux-3.0.4/arch/x86/pci/mrst.c 21519diff -urNp linux-3.0.7/arch/x86/pci/mrst.c linux-3.0.7/arch/x86/pci/mrst.c
21022--- linux-3.0.4/arch/x86/pci/mrst.c 2011-07-21 22:17:23.000000000 -0400 21520--- linux-3.0.7/arch/x86/pci/mrst.c 2011-07-21 22:17:23.000000000 -0400
21023+++ linux-3.0.4/arch/x86/pci/mrst.c 2011-08-23 21:47:55.000000000 -0400 21521+++ linux-3.0.7/arch/x86/pci/mrst.c 2011-08-23 21:47:55.000000000 -0400
21024@@ -234,7 +234,9 @@ int __init pci_mrst_init(void) 21522@@ -234,7 +234,9 @@ int __init pci_mrst_init(void)
21025 printk(KERN_INFO "Moorestown platform detected, using MRST PCI ops\n"); 21523 printk(KERN_INFO "Moorestown platform detected, using MRST PCI ops\n");
21026 pci_mmcfg_late_init(); 21524 pci_mmcfg_late_init();
@@ -21032,9 +21530,9 @@ diff -urNp linux-3.0.4/arch/x86/pci/mrst.c linux-3.0.4/arch/x86/pci/mrst.c
21032 /* Continue with standard init */ 21530 /* Continue with standard init */
21033 return 1; 21531 return 1;
21034 } 21532 }
21035diff -urNp linux-3.0.4/arch/x86/pci/pcbios.c linux-3.0.4/arch/x86/pci/pcbios.c 21533diff -urNp linux-3.0.7/arch/x86/pci/pcbios.c linux-3.0.7/arch/x86/pci/pcbios.c
21036--- linux-3.0.4/arch/x86/pci/pcbios.c 2011-07-21 22:17:23.000000000 -0400 21534--- linux-3.0.7/arch/x86/pci/pcbios.c 2011-07-21 22:17:23.000000000 -0400
21037+++ linux-3.0.4/arch/x86/pci/pcbios.c 2011-08-23 21:47:55.000000000 -0400 21535+++ linux-3.0.7/arch/x86/pci/pcbios.c 2011-08-23 21:47:55.000000000 -0400
21038@@ -79,50 +79,93 @@ union bios32 { 21536@@ -79,50 +79,93 @@ union bios32 {
21039 static struct { 21537 static struct {
21040 unsigned long address; 21538 unsigned long address;
@@ -21339,9 +21837,9 @@ diff -urNp linux-3.0.4/arch/x86/pci/pcbios.c linux-3.0.4/arch/x86/pci/pcbios.c
21339 return !(ret & 0xff00); 21837 return !(ret & 0xff00);
21340 } 21838 }
21341 EXPORT_SYMBOL(pcibios_set_irq_routing); 21839 EXPORT_SYMBOL(pcibios_set_irq_routing);
21342diff -urNp linux-3.0.4/arch/x86/platform/efi/efi_32.c linux-3.0.4/arch/x86/platform/efi/efi_32.c 21840diff -urNp linux-3.0.7/arch/x86/platform/efi/efi_32.c linux-3.0.7/arch/x86/platform/efi/efi_32.c
21343--- linux-3.0.4/arch/x86/platform/efi/efi_32.c 2011-07-21 22:17:23.000000000 -0400 21841--- linux-3.0.7/arch/x86/platform/efi/efi_32.c 2011-07-21 22:17:23.000000000 -0400
21344+++ linux-3.0.4/arch/x86/platform/efi/efi_32.c 2011-09-19 09:16:58.000000000 -0400 21842+++ linux-3.0.7/arch/x86/platform/efi/efi_32.c 2011-10-06 04:17:55.000000000 -0400
21345@@ -38,70 +38,56 @@ 21843@@ -38,70 +38,56 @@
21346 */ 21844 */
21347 21845
@@ -21396,9 +21894,9 @@ diff -urNp linux-3.0.4/arch/x86/platform/efi/efi_32.c linux-3.0.4/arch/x86/platf
21396 21894
21397+#ifdef CONFIG_PAX_KERNEXEC 21895+#ifdef CONFIG_PAX_KERNEXEC
21398+ pack_descriptor(&d, 0, 0xFFFFF, 0x9B, 0xC); 21896+ pack_descriptor(&d, 0, 0xFFFFF, 0x9B, 0xC);
21399+ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_EFI_CS, &d, DESCTYPE_S); 21897+ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_KERNEXEC_EFI_CS, &d, DESCTYPE_S);
21400+ pack_descriptor(&d, 0, 0xFFFFF, 0x93, 0xC); 21898+ pack_descriptor(&d, 0, 0xFFFFF, 0x93, 0xC);
21401+ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_EFI_DS, &d, DESCTYPE_S); 21899+ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_KERNEXEC_EFI_DS, &d, DESCTYPE_S);
21402+#endif 21900+#endif
21403+ 21901+
21404 gdt_descr.address = __pa(get_cpu_gdt_table(0)); 21902 gdt_descr.address = __pa(get_cpu_gdt_table(0));
@@ -21416,8 +21914,8 @@ diff -urNp linux-3.0.4/arch/x86/platform/efi/efi_32.c linux-3.0.4/arch/x86/platf
21416+ struct desc_struct d; 21914+ struct desc_struct d;
21417+ 21915+
21418+ memset(&d, 0, sizeof d); 21916+ memset(&d, 0, sizeof d);
21419+ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_EFI_CS, &d, DESCTYPE_S); 21917+ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_KERNEXEC_EFI_CS, &d, DESCTYPE_S);
21420+ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_EFI_DS, &d, DESCTYPE_S); 21918+ write_gdt_entry(get_cpu_gdt_table(0), GDT_ENTRY_KERNEXEC_EFI_DS, &d, DESCTYPE_S);
21421+#endif 21919+#endif
21422+ 21920+
21423 gdt_descr.address = (unsigned long)get_cpu_gdt_table(0); 21921 gdt_descr.address = (unsigned long)get_cpu_gdt_table(0);
@@ -21439,9 +21937,9 @@ diff -urNp linux-3.0.4/arch/x86/platform/efi/efi_32.c linux-3.0.4/arch/x86/platf
21439 21937
21440 /* 21938 /*
21441 * After the lock is released, the original page table is restored. 21939 * After the lock is released, the original page table is restored.
21442diff -urNp linux-3.0.4/arch/x86/platform/efi/efi_stub_32.S linux-3.0.4/arch/x86/platform/efi/efi_stub_32.S 21940diff -urNp linux-3.0.7/arch/x86/platform/efi/efi_stub_32.S linux-3.0.7/arch/x86/platform/efi/efi_stub_32.S
21443--- linux-3.0.4/arch/x86/platform/efi/efi_stub_32.S 2011-07-21 22:17:23.000000000 -0400 21941--- linux-3.0.7/arch/x86/platform/efi/efi_stub_32.S 2011-07-21 22:17:23.000000000 -0400
21444+++ linux-3.0.4/arch/x86/platform/efi/efi_stub_32.S 2011-09-19 09:16:58.000000000 -0400 21942+++ linux-3.0.7/arch/x86/platform/efi/efi_stub_32.S 2011-09-19 09:16:58.000000000 -0400
21445@@ -6,7 +6,9 @@ 21943@@ -6,7 +6,9 @@
21446 */ 21944 */
21447 21945
@@ -21550,81 +22048,75 @@ diff -urNp linux-3.0.4/arch/x86/platform/efi/efi_stub_32.S linux-3.0.4/arch/x86/
21550 saved_return_addr: 22048 saved_return_addr:
21551 .long 0 22049 .long 0
21552 efi_rt_function_ptr: 22050 efi_rt_function_ptr:
21553diff -urNp linux-3.0.4/arch/x86/platform/efi/efi_stub_64.S linux-3.0.4/arch/x86/platform/efi/efi_stub_64.S 22051diff -urNp linux-3.0.7/arch/x86/platform/efi/efi_stub_64.S linux-3.0.7/arch/x86/platform/efi/efi_stub_64.S
21554--- linux-3.0.4/arch/x86/platform/efi/efi_stub_64.S 2011-07-21 22:17:23.000000000 -0400 22052--- linux-3.0.7/arch/x86/platform/efi/efi_stub_64.S 2011-07-21 22:17:23.000000000 -0400
21555+++ linux-3.0.4/arch/x86/platform/efi/efi_stub_64.S 2011-09-17 18:31:51.000000000 -0400 22053+++ linux-3.0.7/arch/x86/platform/efi/efi_stub_64.S 2011-10-06 04:17:55.000000000 -0400
21556@@ -40,6 +40,9 @@ ENTRY(efi_call0) 22054@@ -7,6 +7,7 @@
22055 */
22056
22057 #include <linux/linkage.h>
22058+#include <asm/alternative-asm.h>
22059
22060 #define SAVE_XMM \
22061 mov %rsp, %rax; \
22062@@ -40,6 +41,7 @@ ENTRY(efi_call0)
21557 call *%rdi 22063 call *%rdi
21558 addq $32, %rsp 22064 addq $32, %rsp
21559 RESTORE_XMM 22065 RESTORE_XMM
21560+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 22066+ pax_force_retaddr
21561+ orb $0x80, 0x7(%rsp)
21562+#endif
21563 ret 22067 ret
21564 ENDPROC(efi_call0) 22068 ENDPROC(efi_call0)
21565 22069
21566@@ -50,6 +53,9 @@ ENTRY(efi_call1) 22070@@ -50,6 +52,7 @@ ENTRY(efi_call1)
21567 call *%rdi 22071 call *%rdi
21568 addq $32, %rsp 22072 addq $32, %rsp
21569 RESTORE_XMM 22073 RESTORE_XMM
21570+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 22074+ pax_force_retaddr
21571+ orb $0x80, 0x7(%rsp)
21572+#endif
21573 ret 22075 ret
21574 ENDPROC(efi_call1) 22076 ENDPROC(efi_call1)
21575 22077
21576@@ -60,6 +66,9 @@ ENTRY(efi_call2) 22078@@ -60,6 +63,7 @@ ENTRY(efi_call2)
21577 call *%rdi 22079 call *%rdi
21578 addq $32, %rsp 22080 addq $32, %rsp
21579 RESTORE_XMM 22081 RESTORE_XMM
21580+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 22082+ pax_force_retaddr
21581+ orb $0x80, 0x7(%rsp)
21582+#endif
21583 ret 22083 ret
21584 ENDPROC(efi_call2) 22084 ENDPROC(efi_call2)
21585 22085
21586@@ -71,6 +80,9 @@ ENTRY(efi_call3) 22086@@ -71,6 +75,7 @@ ENTRY(efi_call3)
21587 call *%rdi 22087 call *%rdi
21588 addq $32, %rsp 22088 addq $32, %rsp
21589 RESTORE_XMM 22089 RESTORE_XMM
21590+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 22090+ pax_force_retaddr
21591+ orb $0x80, 0x7(%rsp)
21592+#endif
21593 ret 22091 ret
21594 ENDPROC(efi_call3) 22092 ENDPROC(efi_call3)
21595 22093
21596@@ -83,6 +95,9 @@ ENTRY(efi_call4) 22094@@ -83,6 +88,7 @@ ENTRY(efi_call4)
21597 call *%rdi 22095 call *%rdi
21598 addq $32, %rsp 22096 addq $32, %rsp
21599 RESTORE_XMM 22097 RESTORE_XMM
21600+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 22098+ pax_force_retaddr
21601+ orb $0x80, 0x7(%rsp)
21602+#endif
21603 ret 22099 ret
21604 ENDPROC(efi_call4) 22100 ENDPROC(efi_call4)
21605 22101
21606@@ -96,6 +111,9 @@ ENTRY(efi_call5) 22102@@ -96,6 +102,7 @@ ENTRY(efi_call5)
21607 call *%rdi 22103 call *%rdi
21608 addq $48, %rsp 22104 addq $48, %rsp
21609 RESTORE_XMM 22105 RESTORE_XMM
21610+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 22106+ pax_force_retaddr
21611+ orb $0x80, 0x7(%rsp)
21612+#endif
21613 ret 22107 ret
21614 ENDPROC(efi_call5) 22108 ENDPROC(efi_call5)
21615 22109
21616@@ -112,5 +130,8 @@ ENTRY(efi_call6) 22110@@ -112,5 +119,6 @@ ENTRY(efi_call6)
21617 call *%rdi 22111 call *%rdi
21618 addq $48, %rsp 22112 addq $48, %rsp
21619 RESTORE_XMM 22113 RESTORE_XMM
21620+#ifdef CONFIG_PAX_KERNEXEC_PLUGIN 22114+ pax_force_retaddr
21621+ orb $0x80, 0x7(%rsp)
21622+#endif
21623 ret 22115 ret
21624 ENDPROC(efi_call6) 22116 ENDPROC(efi_call6)
21625diff -urNp linux-3.0.4/arch/x86/platform/mrst/mrst.c linux-3.0.4/arch/x86/platform/mrst/mrst.c 22117diff -urNp linux-3.0.7/arch/x86/platform/mrst/mrst.c linux-3.0.7/arch/x86/platform/mrst/mrst.c
21626--- linux-3.0.4/arch/x86/platform/mrst/mrst.c 2011-07-21 22:17:23.000000000 -0400 22118--- linux-3.0.7/arch/x86/platform/mrst/mrst.c 2011-07-21 22:17:23.000000000 -0400
21627+++ linux-3.0.4/arch/x86/platform/mrst/mrst.c 2011-08-23 21:47:55.000000000 -0400 22119+++ linux-3.0.7/arch/x86/platform/mrst/mrst.c 2011-08-23 21:47:55.000000000 -0400
21628@@ -239,14 +239,16 @@ static int mrst_i8042_detect(void) 22120@@ -239,14 +239,16 @@ static int mrst_i8042_detect(void)
21629 } 22121 }
21630 22122
@@ -21644,9 +22136,9 @@ diff -urNp linux-3.0.4/arch/x86/platform/mrst/mrst.c linux-3.0.4/arch/x86/platfo
21644 } 22136 }
21645 22137
21646 /* 22138 /*
21647diff -urNp linux-3.0.4/arch/x86/platform/uv/tlb_uv.c linux-3.0.4/arch/x86/platform/uv/tlb_uv.c 22139diff -urNp linux-3.0.7/arch/x86/platform/uv/tlb_uv.c linux-3.0.7/arch/x86/platform/uv/tlb_uv.c
21648--- linux-3.0.4/arch/x86/platform/uv/tlb_uv.c 2011-07-21 22:17:23.000000000 -0400 22140--- linux-3.0.7/arch/x86/platform/uv/tlb_uv.c 2011-07-21 22:17:23.000000000 -0400
21649+++ linux-3.0.4/arch/x86/platform/uv/tlb_uv.c 2011-08-23 21:48:14.000000000 -0400 22141+++ linux-3.0.7/arch/x86/platform/uv/tlb_uv.c 2011-08-23 21:48:14.000000000 -0400
21650@@ -373,6 +373,8 @@ static void reset_with_ipi(struct bau_ta 22142@@ -373,6 +373,8 @@ static void reset_with_ipi(struct bau_ta
21651 cpumask_t mask; 22143 cpumask_t mask;
21652 struct reset_args reset_args; 22144 struct reset_args reset_args;
@@ -21656,9 +22148,9 @@ diff -urNp linux-3.0.4/arch/x86/platform/uv/tlb_uv.c linux-3.0.4/arch/x86/platfo
21656 reset_args.sender = sender; 22148 reset_args.sender = sender;
21657 cpus_clear(mask); 22149 cpus_clear(mask);
21658 /* find a single cpu for each uvhub in this distribution mask */ 22150 /* find a single cpu for each uvhub in this distribution mask */
21659diff -urNp linux-3.0.4/arch/x86/power/cpu.c linux-3.0.4/arch/x86/power/cpu.c 22151diff -urNp linux-3.0.7/arch/x86/power/cpu.c linux-3.0.7/arch/x86/power/cpu.c
21660--- linux-3.0.4/arch/x86/power/cpu.c 2011-07-21 22:17:23.000000000 -0400 22152--- linux-3.0.7/arch/x86/power/cpu.c 2011-07-21 22:17:23.000000000 -0400
21661+++ linux-3.0.4/arch/x86/power/cpu.c 2011-08-23 21:47:55.000000000 -0400 22153+++ linux-3.0.7/arch/x86/power/cpu.c 2011-08-23 21:47:55.000000000 -0400
21662@@ -130,7 +130,7 @@ static void do_fpu_end(void) 22154@@ -130,7 +130,7 @@ static void do_fpu_end(void)
21663 static void fix_processor_context(void) 22155 static void fix_processor_context(void)
21664 { 22156 {
@@ -21678,9 +22170,9 @@ diff -urNp linux-3.0.4/arch/x86/power/cpu.c linux-3.0.4/arch/x86/power/cpu.c
21678 22170
21679 syscall_init(); /* This sets MSR_*STAR and related */ 22171 syscall_init(); /* This sets MSR_*STAR and related */
21680 #endif 22172 #endif
21681diff -urNp linux-3.0.4/arch/x86/vdso/Makefile linux-3.0.4/arch/x86/vdso/Makefile 22173diff -urNp linux-3.0.7/arch/x86/vdso/Makefile linux-3.0.7/arch/x86/vdso/Makefile
21682--- linux-3.0.4/arch/x86/vdso/Makefile 2011-07-21 22:17:23.000000000 -0400 22174--- linux-3.0.7/arch/x86/vdso/Makefile 2011-07-21 22:17:23.000000000 -0400
21683+++ linux-3.0.4/arch/x86/vdso/Makefile 2011-08-23 21:47:55.000000000 -0400 22175+++ linux-3.0.7/arch/x86/vdso/Makefile 2011-08-23 21:47:55.000000000 -0400
21684@@ -136,7 +136,7 @@ quiet_cmd_vdso = VDSO $@ 22176@@ -136,7 +136,7 @@ quiet_cmd_vdso = VDSO $@
21685 -Wl,-T,$(filter %.lds,$^) $(filter %.o,$^) && \ 22177 -Wl,-T,$(filter %.lds,$^) $(filter %.o,$^) && \
21686 sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@' 22178 sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@'
@@ -21690,9 +22182,9 @@ diff -urNp linux-3.0.4/arch/x86/vdso/Makefile linux-3.0.4/arch/x86/vdso/Makefile
21690 GCOV_PROFILE := n 22182 GCOV_PROFILE := n
21691 22183
21692 # 22184 #
21693diff -urNp linux-3.0.4/arch/x86/vdso/vdso32-setup.c linux-3.0.4/arch/x86/vdso/vdso32-setup.c 22185diff -urNp linux-3.0.7/arch/x86/vdso/vdso32-setup.c linux-3.0.7/arch/x86/vdso/vdso32-setup.c
21694--- linux-3.0.4/arch/x86/vdso/vdso32-setup.c 2011-07-21 22:17:23.000000000 -0400 22186--- linux-3.0.7/arch/x86/vdso/vdso32-setup.c 2011-07-21 22:17:23.000000000 -0400
21695+++ linux-3.0.4/arch/x86/vdso/vdso32-setup.c 2011-08-23 21:47:55.000000000 -0400 22187+++ linux-3.0.7/arch/x86/vdso/vdso32-setup.c 2011-08-23 21:47:55.000000000 -0400
21696@@ -25,6 +25,7 @@ 22188@@ -25,6 +25,7 @@
21697 #include <asm/tlbflush.h> 22189 #include <asm/tlbflush.h>
21698 #include <asm/vdso.h> 22190 #include <asm/vdso.h>
@@ -21775,9 +22267,9 @@ diff -urNp linux-3.0.4/arch/x86/vdso/vdso32-setup.c linux-3.0.4/arch/x86/vdso/vd
21775 return &gate_vma; 22267 return &gate_vma;
21776 return NULL; 22268 return NULL;
21777 } 22269 }
21778diff -urNp linux-3.0.4/arch/x86/vdso/vma.c linux-3.0.4/arch/x86/vdso/vma.c 22270diff -urNp linux-3.0.7/arch/x86/vdso/vma.c linux-3.0.7/arch/x86/vdso/vma.c
21779--- linux-3.0.4/arch/x86/vdso/vma.c 2011-07-21 22:17:23.000000000 -0400 22271--- linux-3.0.7/arch/x86/vdso/vma.c 2011-07-21 22:17:23.000000000 -0400
21780+++ linux-3.0.4/arch/x86/vdso/vma.c 2011-08-23 21:47:55.000000000 -0400 22272+++ linux-3.0.7/arch/x86/vdso/vma.c 2011-08-23 21:47:55.000000000 -0400
21781@@ -15,18 +15,19 @@ 22273@@ -15,18 +15,19 @@
21782 #include <asm/proto.h> 22274 #include <asm/proto.h>
21783 #include <asm/vdso.h> 22275 #include <asm/vdso.h>
@@ -21880,9 +22372,9 @@ diff -urNp linux-3.0.4/arch/x86/vdso/vma.c linux-3.0.4/arch/x86/vdso/vma.c
21880- return 0; 22372- return 0;
21881-} 22373-}
21882-__setup("vdso=", vdso_setup); 22374-__setup("vdso=", vdso_setup);
21883diff -urNp linux-3.0.4/arch/x86/xen/enlighten.c linux-3.0.4/arch/x86/xen/enlighten.c 22375diff -urNp linux-3.0.7/arch/x86/xen/enlighten.c linux-3.0.7/arch/x86/xen/enlighten.c
21884--- linux-3.0.4/arch/x86/xen/enlighten.c 2011-09-02 18:11:26.000000000 -0400 22376--- linux-3.0.7/arch/x86/xen/enlighten.c 2011-09-02 18:11:26.000000000 -0400
21885+++ linux-3.0.4/arch/x86/xen/enlighten.c 2011-08-29 23:26:21.000000000 -0400 22377+++ linux-3.0.7/arch/x86/xen/enlighten.c 2011-08-29 23:26:21.000000000 -0400
21886@@ -85,8 +85,6 @@ EXPORT_SYMBOL_GPL(xen_start_info); 22378@@ -85,8 +85,6 @@ EXPORT_SYMBOL_GPL(xen_start_info);
21887 22379
21888 struct shared_info xen_dummy_shared_info; 22380 struct shared_info xen_dummy_shared_info;
@@ -21955,9 +22447,9 @@ diff -urNp linux-3.0.4/arch/x86/xen/enlighten.c linux-3.0.4/arch/x86/xen/enlight
21955 xen_smp_init(); 22447 xen_smp_init();
21956 22448
21957 #ifdef CONFIG_ACPI_NUMA 22449 #ifdef CONFIG_ACPI_NUMA
21958diff -urNp linux-3.0.4/arch/x86/xen/mmu.c linux-3.0.4/arch/x86/xen/mmu.c 22450diff -urNp linux-3.0.7/arch/x86/xen/mmu.c linux-3.0.7/arch/x86/xen/mmu.c
21959--- linux-3.0.4/arch/x86/xen/mmu.c 2011-09-02 18:11:26.000000000 -0400 22451--- linux-3.0.7/arch/x86/xen/mmu.c 2011-09-02 18:11:26.000000000 -0400
21960+++ linux-3.0.4/arch/x86/xen/mmu.c 2011-08-29 23:26:21.000000000 -0400 22452+++ linux-3.0.7/arch/x86/xen/mmu.c 2011-08-29 23:26:21.000000000 -0400
21961@@ -1683,6 +1683,8 @@ pgd_t * __init xen_setup_kernel_pagetabl 22453@@ -1683,6 +1683,8 @@ pgd_t * __init xen_setup_kernel_pagetabl
21962 convert_pfn_mfn(init_level4_pgt); 22454 convert_pfn_mfn(init_level4_pgt);
21963 convert_pfn_mfn(level3_ident_pgt); 22455 convert_pfn_mfn(level3_ident_pgt);
@@ -21994,10 +22486,10 @@ diff -urNp linux-3.0.4/arch/x86/xen/mmu.c linux-3.0.4/arch/x86/xen/mmu.c
21994 22486
21995 .alloc_pud = xen_alloc_pmd_init, 22487 .alloc_pud = xen_alloc_pmd_init,
21996 .release_pud = xen_release_pmd_init, 22488 .release_pud = xen_release_pmd_init,
21997diff -urNp linux-3.0.4/arch/x86/xen/smp.c linux-3.0.4/arch/x86/xen/smp.c 22489diff -urNp linux-3.0.7/arch/x86/xen/smp.c linux-3.0.7/arch/x86/xen/smp.c
21998--- linux-3.0.4/arch/x86/xen/smp.c 2011-09-02 18:11:26.000000000 -0400 22490--- linux-3.0.7/arch/x86/xen/smp.c 2011-10-16 21:54:53.000000000 -0400
21999+++ linux-3.0.4/arch/x86/xen/smp.c 2011-08-29 23:26:21.000000000 -0400 22491+++ linux-3.0.7/arch/x86/xen/smp.c 2011-10-16 21:55:27.000000000 -0400
22000@@ -193,11 +193,6 @@ static void __init xen_smp_prepare_boot_ 22492@@ -194,11 +194,6 @@ static void __init xen_smp_prepare_boot_
22001 { 22493 {
22002 BUG_ON(smp_processor_id() != 0); 22494 BUG_ON(smp_processor_id() != 0);
22003 native_smp_prepare_boot_cpu(); 22495 native_smp_prepare_boot_cpu();
@@ -22009,7 +22501,7 @@ diff -urNp linux-3.0.4/arch/x86/xen/smp.c linux-3.0.4/arch/x86/xen/smp.c
22009 xen_filter_cpu_maps(); 22501 xen_filter_cpu_maps();
22010 xen_setup_vcpu_info_placement(); 22502 xen_setup_vcpu_info_placement();
22011 } 22503 }
22012@@ -265,12 +260,12 @@ cpu_initialize_context(unsigned int cpu, 22504@@ -275,12 +270,12 @@ cpu_initialize_context(unsigned int cpu,
22013 gdt = get_cpu_gdt_table(cpu); 22505 gdt = get_cpu_gdt_table(cpu);
22014 22506
22015 ctxt->flags = VGCF_IN_KERNEL; 22507 ctxt->flags = VGCF_IN_KERNEL;
@@ -22025,7 +22517,7 @@ diff -urNp linux-3.0.4/arch/x86/xen/smp.c linux-3.0.4/arch/x86/xen/smp.c
22025 #else 22517 #else
22026 ctxt->gs_base_kernel = per_cpu_offset(cpu); 22518 ctxt->gs_base_kernel = per_cpu_offset(cpu);
22027 #endif 22519 #endif
22028@@ -321,13 +316,12 @@ static int __cpuinit xen_cpu_up(unsigned 22520@@ -331,13 +326,12 @@ static int __cpuinit xen_cpu_up(unsigned
22029 int rc; 22521 int rc;
22030 22522
22031 per_cpu(current_task, cpu) = idle; 22523 per_cpu(current_task, cpu) = idle;
@@ -22041,9 +22533,9 @@ diff -urNp linux-3.0.4/arch/x86/xen/smp.c linux-3.0.4/arch/x86/xen/smp.c
22041 #endif 22533 #endif
22042 xen_setup_runstate_info(cpu); 22534 xen_setup_runstate_info(cpu);
22043 xen_setup_timer(cpu); 22535 xen_setup_timer(cpu);
22044diff -urNp linux-3.0.4/arch/x86/xen/xen-asm_32.S linux-3.0.4/arch/x86/xen/xen-asm_32.S 22536diff -urNp linux-3.0.7/arch/x86/xen/xen-asm_32.S linux-3.0.7/arch/x86/xen/xen-asm_32.S
22045--- linux-3.0.4/arch/x86/xen/xen-asm_32.S 2011-07-21 22:17:23.000000000 -0400 22537--- linux-3.0.7/arch/x86/xen/xen-asm_32.S 2011-10-16 21:54:53.000000000 -0400
22046+++ linux-3.0.4/arch/x86/xen/xen-asm_32.S 2011-08-23 21:47:55.000000000 -0400 22538+++ linux-3.0.7/arch/x86/xen/xen-asm_32.S 2011-10-16 21:55:27.000000000 -0400
22047@@ -83,14 +83,14 @@ ENTRY(xen_iret) 22539@@ -83,14 +83,14 @@ ENTRY(xen_iret)
22048 ESP_OFFSET=4 # bytes pushed onto stack 22540 ESP_OFFSET=4 # bytes pushed onto stack
22049 22541
@@ -22065,9 +22557,9 @@ diff -urNp linux-3.0.4/arch/x86/xen/xen-asm_32.S linux-3.0.4/arch/x86/xen/xen-as
22065 #else 22557 #else
22066 movl xen_vcpu, %eax 22558 movl xen_vcpu, %eax
22067 #endif 22559 #endif
22068diff -urNp linux-3.0.4/arch/x86/xen/xen-head.S linux-3.0.4/arch/x86/xen/xen-head.S 22560diff -urNp linux-3.0.7/arch/x86/xen/xen-head.S linux-3.0.7/arch/x86/xen/xen-head.S
22069--- linux-3.0.4/arch/x86/xen/xen-head.S 2011-07-21 22:17:23.000000000 -0400 22561--- linux-3.0.7/arch/x86/xen/xen-head.S 2011-07-21 22:17:23.000000000 -0400
22070+++ linux-3.0.4/arch/x86/xen/xen-head.S 2011-08-23 21:47:55.000000000 -0400 22562+++ linux-3.0.7/arch/x86/xen/xen-head.S 2011-08-23 21:47:55.000000000 -0400
22071@@ -19,6 +19,17 @@ ENTRY(startup_xen) 22563@@ -19,6 +19,17 @@ ENTRY(startup_xen)
22072 #ifdef CONFIG_X86_32 22564 #ifdef CONFIG_X86_32
22073 mov %esi,xen_start_info 22565 mov %esi,xen_start_info
@@ -22086,9 +22578,9 @@ diff -urNp linux-3.0.4/arch/x86/xen/xen-head.S linux-3.0.4/arch/x86/xen/xen-head
22086 #else 22578 #else
22087 mov %rsi,xen_start_info 22579 mov %rsi,xen_start_info
22088 mov $init_thread_union+THREAD_SIZE,%rsp 22580 mov $init_thread_union+THREAD_SIZE,%rsp
22089diff -urNp linux-3.0.4/arch/x86/xen/xen-ops.h linux-3.0.4/arch/x86/xen/xen-ops.h 22581diff -urNp linux-3.0.7/arch/x86/xen/xen-ops.h linux-3.0.7/arch/x86/xen/xen-ops.h
22090--- linux-3.0.4/arch/x86/xen/xen-ops.h 2011-09-02 18:11:21.000000000 -0400 22582--- linux-3.0.7/arch/x86/xen/xen-ops.h 2011-09-02 18:11:21.000000000 -0400
22091+++ linux-3.0.4/arch/x86/xen/xen-ops.h 2011-08-23 21:47:55.000000000 -0400 22583+++ linux-3.0.7/arch/x86/xen/xen-ops.h 2011-08-23 21:47:55.000000000 -0400
22092@@ -10,8 +10,6 @@ 22584@@ -10,8 +10,6 @@
22093 extern const char xen_hypervisor_callback[]; 22585 extern const char xen_hypervisor_callback[];
22094 extern const char xen_failsafe_callback[]; 22586 extern const char xen_failsafe_callback[];
@@ -22098,9 +22590,9 @@ diff -urNp linux-3.0.4/arch/x86/xen/xen-ops.h linux-3.0.4/arch/x86/xen/xen-ops.h
22098 struct trap_info; 22590 struct trap_info;
22099 void xen_copy_trap_info(struct trap_info *traps); 22591 void xen_copy_trap_info(struct trap_info *traps);
22100 22592
22101diff -urNp linux-3.0.4/block/blk-iopoll.c linux-3.0.4/block/blk-iopoll.c 22593diff -urNp linux-3.0.7/block/blk-iopoll.c linux-3.0.7/block/blk-iopoll.c
22102--- linux-3.0.4/block/blk-iopoll.c 2011-07-21 22:17:23.000000000 -0400 22594--- linux-3.0.7/block/blk-iopoll.c 2011-07-21 22:17:23.000000000 -0400
22103+++ linux-3.0.4/block/blk-iopoll.c 2011-08-23 21:47:55.000000000 -0400 22595+++ linux-3.0.7/block/blk-iopoll.c 2011-08-23 21:47:55.000000000 -0400
22104@@ -77,7 +77,7 @@ void blk_iopoll_complete(struct blk_iopo 22596@@ -77,7 +77,7 @@ void blk_iopoll_complete(struct blk_iopo
22105 } 22597 }
22106 EXPORT_SYMBOL(blk_iopoll_complete); 22598 EXPORT_SYMBOL(blk_iopoll_complete);
@@ -22110,9 +22602,9 @@ diff -urNp linux-3.0.4/block/blk-iopoll.c linux-3.0.4/block/blk-iopoll.c
22110 { 22602 {
22111 struct list_head *list = &__get_cpu_var(blk_cpu_iopoll); 22603 struct list_head *list = &__get_cpu_var(blk_cpu_iopoll);
22112 int rearm = 0, budget = blk_iopoll_budget; 22604 int rearm = 0, budget = blk_iopoll_budget;
22113diff -urNp linux-3.0.4/block/blk-map.c linux-3.0.4/block/blk-map.c 22605diff -urNp linux-3.0.7/block/blk-map.c linux-3.0.7/block/blk-map.c
22114--- linux-3.0.4/block/blk-map.c 2011-07-21 22:17:23.000000000 -0400 22606--- linux-3.0.7/block/blk-map.c 2011-07-21 22:17:23.000000000 -0400
22115+++ linux-3.0.4/block/blk-map.c 2011-08-23 21:47:55.000000000 -0400 22607+++ linux-3.0.7/block/blk-map.c 2011-08-23 21:47:55.000000000 -0400
22116@@ -301,7 +301,7 @@ int blk_rq_map_kern(struct request_queue 22608@@ -301,7 +301,7 @@ int blk_rq_map_kern(struct request_queue
22117 if (!len || !kbuf) 22609 if (!len || !kbuf)
22118 return -EINVAL; 22610 return -EINVAL;
@@ -22122,9 +22614,9 @@ diff -urNp linux-3.0.4/block/blk-map.c linux-3.0.4/block/blk-map.c
22122 if (do_copy) 22614 if (do_copy)
22123 bio = bio_copy_kern(q, kbuf, len, gfp_mask, reading); 22615 bio = bio_copy_kern(q, kbuf, len, gfp_mask, reading);
22124 else 22616 else
22125diff -urNp linux-3.0.4/block/blk-softirq.c linux-3.0.4/block/blk-softirq.c 22617diff -urNp linux-3.0.7/block/blk-softirq.c linux-3.0.7/block/blk-softirq.c
22126--- linux-3.0.4/block/blk-softirq.c 2011-07-21 22:17:23.000000000 -0400 22618--- linux-3.0.7/block/blk-softirq.c 2011-07-21 22:17:23.000000000 -0400
22127+++ linux-3.0.4/block/blk-softirq.c 2011-08-23 21:47:55.000000000 -0400 22619+++ linux-3.0.7/block/blk-softirq.c 2011-08-23 21:47:55.000000000 -0400
22128@@ -17,7 +17,7 @@ static DEFINE_PER_CPU(struct list_head, 22620@@ -17,7 +17,7 @@ static DEFINE_PER_CPU(struct list_head,
22129 * Softirq action handler - move entries to local list and loop over them 22621 * Softirq action handler - move entries to local list and loop over them
22130 * while passing them to the queue registered handler. 22622 * while passing them to the queue registered handler.
@@ -22134,9 +22626,9 @@ diff -urNp linux-3.0.4/block/blk-softirq.c linux-3.0.4/block/blk-softirq.c
22134 { 22626 {
22135 struct list_head *cpu_list, local_list; 22627 struct list_head *cpu_list, local_list;
22136 22628
22137diff -urNp linux-3.0.4/block/bsg.c linux-3.0.4/block/bsg.c 22629diff -urNp linux-3.0.7/block/bsg.c linux-3.0.7/block/bsg.c
22138--- linux-3.0.4/block/bsg.c 2011-07-21 22:17:23.000000000 -0400 22630--- linux-3.0.7/block/bsg.c 2011-07-21 22:17:23.000000000 -0400
22139+++ linux-3.0.4/block/bsg.c 2011-08-23 21:47:55.000000000 -0400 22631+++ linux-3.0.7/block/bsg.c 2011-10-06 04:17:55.000000000 -0400
22140@@ -176,16 +176,24 @@ static int blk_fill_sgv4_hdr_rq(struct r 22632@@ -176,16 +176,24 @@ static int blk_fill_sgv4_hdr_rq(struct r
22141 struct sg_io_v4 *hdr, struct bsg_device *bd, 22633 struct sg_io_v4 *hdr, struct bsg_device *bd,
22142 fmode_t has_write_perm) 22634 fmode_t has_write_perm)
@@ -22154,7 +22646,7 @@ diff -urNp linux-3.0.4/block/bsg.c linux-3.0.4/block/bsg.c
22154+ cmdptr = tmpcmd; 22646+ cmdptr = tmpcmd;
22155 22647
22156- if (copy_from_user(rq->cmd, (void *)(unsigned long)hdr->request, 22648- if (copy_from_user(rq->cmd, (void *)(unsigned long)hdr->request,
22157+ if (copy_from_user(cmdptr, (void *)(unsigned long)hdr->request, 22649+ if (copy_from_user(cmdptr, (void __user *)(unsigned long)hdr->request,
22158 hdr->request_len)) 22650 hdr->request_len))
22159 return -EFAULT; 22651 return -EFAULT;
22160 22652
@@ -22164,9 +22656,61 @@ diff -urNp linux-3.0.4/block/bsg.c linux-3.0.4/block/bsg.c
22164 if (hdr->subprotocol == BSG_SUB_PROTOCOL_SCSI_CMD) { 22656 if (hdr->subprotocol == BSG_SUB_PROTOCOL_SCSI_CMD) {
22165 if (blk_verify_command(rq->cmd, has_write_perm)) 22657 if (blk_verify_command(rq->cmd, has_write_perm))
22166 return -EPERM; 22658 return -EPERM;
22167diff -urNp linux-3.0.4/block/scsi_ioctl.c linux-3.0.4/block/scsi_ioctl.c 22659@@ -249,7 +257,7 @@ bsg_map_hdr(struct bsg_device *bd, struc
22168--- linux-3.0.4/block/scsi_ioctl.c 2011-07-21 22:17:23.000000000 -0400 22660 struct request *rq, *next_rq = NULL;
22169+++ linux-3.0.4/block/scsi_ioctl.c 2011-08-23 21:47:55.000000000 -0400 22661 int ret, rw;
22662 unsigned int dxfer_len;
22663- void *dxferp = NULL;
22664+ void __user *dxferp = NULL;
22665 struct bsg_class_device *bcd = &q->bsg_dev;
22666
22667 /* if the LLD has been removed then the bsg_unregister_queue will
22668@@ -291,7 +299,7 @@ bsg_map_hdr(struct bsg_device *bd, struc
22669 rq->next_rq = next_rq;
22670 next_rq->cmd_type = rq->cmd_type;
22671
22672- dxferp = (void*)(unsigned long)hdr->din_xferp;
22673+ dxferp = (void __user *)(unsigned long)hdr->din_xferp;
22674 ret = blk_rq_map_user(q, next_rq, NULL, dxferp,
22675 hdr->din_xfer_len, GFP_KERNEL);
22676 if (ret)
22677@@ -300,10 +308,10 @@ bsg_map_hdr(struct bsg_device *bd, struc
22678
22679 if (hdr->dout_xfer_len) {
22680 dxfer_len = hdr->dout_xfer_len;
22681- dxferp = (void*)(unsigned long)hdr->dout_xferp;
22682+ dxferp = (void __user *)(unsigned long)hdr->dout_xferp;
22683 } else if (hdr->din_xfer_len) {
22684 dxfer_len = hdr->din_xfer_len;
22685- dxferp = (void*)(unsigned long)hdr->din_xferp;
22686+ dxferp = (void __user *)(unsigned long)hdr->din_xferp;
22687 } else
22688 dxfer_len = 0;
22689
22690@@ -445,7 +453,7 @@ static int blk_complete_sgv4_hdr_rq(stru
22691 int len = min_t(unsigned int, hdr->max_response_len,
22692 rq->sense_len);
22693
22694- ret = copy_to_user((void*)(unsigned long)hdr->response,
22695+ ret = copy_to_user((void __user *)(unsigned long)hdr->response,
22696 rq->sense, len);
22697 if (!ret)
22698 hdr->response_len = len;
22699diff -urNp linux-3.0.7/block/compat_ioctl.c linux-3.0.7/block/compat_ioctl.c
22700--- linux-3.0.7/block/compat_ioctl.c 2011-07-21 22:17:23.000000000 -0400
22701+++ linux-3.0.7/block/compat_ioctl.c 2011-10-06 04:17:55.000000000 -0400
22702@@ -354,7 +354,7 @@ static int compat_fd_ioctl(struct block_
22703 err |= __get_user(f->spec1, &uf->spec1);
22704 err |= __get_user(f->fmt_gap, &uf->fmt_gap);
22705 err |= __get_user(name, &uf->name);
22706- f->name = compat_ptr(name);
22707+ f->name = (void __force_kernel *)compat_ptr(name);
22708 if (err) {
22709 err = -EFAULT;
22710 goto out;
22711diff -urNp linux-3.0.7/block/scsi_ioctl.c linux-3.0.7/block/scsi_ioctl.c
22712--- linux-3.0.7/block/scsi_ioctl.c 2011-07-21 22:17:23.000000000 -0400
22713+++ linux-3.0.7/block/scsi_ioctl.c 2011-08-23 21:47:55.000000000 -0400
22170@@ -222,8 +222,20 @@ EXPORT_SYMBOL(blk_verify_command); 22714@@ -222,8 +222,20 @@ EXPORT_SYMBOL(blk_verify_command);
22171 static int blk_fill_sghdr_rq(struct request_queue *q, struct request *rq, 22715 static int blk_fill_sghdr_rq(struct request_queue *q, struct request *rq,
22172 struct sg_io_hdr *hdr, fmode_t mode) 22716 struct sg_io_hdr *hdr, fmode_t mode)
@@ -22218,9 +22762,9 @@ diff -urNp linux-3.0.4/block/scsi_ioctl.c linux-3.0.4/block/scsi_ioctl.c
22218 if (in_len && copy_from_user(buffer, sic->data + cmdlen, in_len)) 22762 if (in_len && copy_from_user(buffer, sic->data + cmdlen, in_len))
22219 goto error; 22763 goto error;
22220 22764
22221diff -urNp linux-3.0.4/crypto/cryptd.c linux-3.0.4/crypto/cryptd.c 22765diff -urNp linux-3.0.7/crypto/cryptd.c linux-3.0.7/crypto/cryptd.c
22222--- linux-3.0.4/crypto/cryptd.c 2011-07-21 22:17:23.000000000 -0400 22766--- linux-3.0.7/crypto/cryptd.c 2011-07-21 22:17:23.000000000 -0400
22223+++ linux-3.0.4/crypto/cryptd.c 2011-08-23 21:47:55.000000000 -0400 22767+++ linux-3.0.7/crypto/cryptd.c 2011-08-23 21:47:55.000000000 -0400
22224@@ -63,7 +63,7 @@ struct cryptd_blkcipher_ctx { 22768@@ -63,7 +63,7 @@ struct cryptd_blkcipher_ctx {
22225 22769
22226 struct cryptd_blkcipher_request_ctx { 22770 struct cryptd_blkcipher_request_ctx {
@@ -22239,9 +22783,9 @@ diff -urNp linux-3.0.4/crypto/cryptd.c linux-3.0.4/crypto/cryptd.c
22239 22783
22240 static void cryptd_queue_worker(struct work_struct *work); 22784 static void cryptd_queue_worker(struct work_struct *work);
22241 22785
22242diff -urNp linux-3.0.4/crypto/gf128mul.c linux-3.0.4/crypto/gf128mul.c 22786diff -urNp linux-3.0.7/crypto/gf128mul.c linux-3.0.7/crypto/gf128mul.c
22243--- linux-3.0.4/crypto/gf128mul.c 2011-07-21 22:17:23.000000000 -0400 22787--- linux-3.0.7/crypto/gf128mul.c 2011-07-21 22:17:23.000000000 -0400
22244+++ linux-3.0.4/crypto/gf128mul.c 2011-08-23 21:47:55.000000000 -0400 22788+++ linux-3.0.7/crypto/gf128mul.c 2011-08-23 21:47:55.000000000 -0400
22245@@ -182,7 +182,7 @@ void gf128mul_lle(be128 *r, const be128 22789@@ -182,7 +182,7 @@ void gf128mul_lle(be128 *r, const be128
22246 for (i = 0; i < 7; ++i) 22790 for (i = 0; i < 7; ++i)
22247 gf128mul_x_lle(&p[i + 1], &p[i]); 22791 gf128mul_x_lle(&p[i + 1], &p[i]);
@@ -22260,9 +22804,9 @@ diff -urNp linux-3.0.4/crypto/gf128mul.c linux-3.0.4/crypto/gf128mul.c
22260 for (i = 0;;) { 22804 for (i = 0;;) {
22261 u8 ch = ((u8 *)b)[i]; 22805 u8 ch = ((u8 *)b)[i];
22262 22806
22263diff -urNp linux-3.0.4/crypto/serpent.c linux-3.0.4/crypto/serpent.c 22807diff -urNp linux-3.0.7/crypto/serpent.c linux-3.0.7/crypto/serpent.c
22264--- linux-3.0.4/crypto/serpent.c 2011-07-21 22:17:23.000000000 -0400 22808--- linux-3.0.7/crypto/serpent.c 2011-07-21 22:17:23.000000000 -0400
22265+++ linux-3.0.4/crypto/serpent.c 2011-08-23 21:48:14.000000000 -0400 22809+++ linux-3.0.7/crypto/serpent.c 2011-08-23 21:48:14.000000000 -0400
22266@@ -224,6 +224,8 @@ static int serpent_setkey(struct crypto_ 22810@@ -224,6 +224,8 @@ static int serpent_setkey(struct crypto_
22267 u32 r0,r1,r2,r3,r4; 22811 u32 r0,r1,r2,r3,r4;
22268 int i; 22812 int i;
@@ -22272,9 +22816,9 @@ diff -urNp linux-3.0.4/crypto/serpent.c linux-3.0.4/crypto/serpent.c
22272 /* Copy key, add padding */ 22816 /* Copy key, add padding */
22273 22817
22274 for (i = 0; i < keylen; ++i) 22818 for (i = 0; i < keylen; ++i)
22275diff -urNp linux-3.0.4/Documentation/dontdiff linux-3.0.4/Documentation/dontdiff 22819diff -urNp linux-3.0.7/Documentation/dontdiff linux-3.0.7/Documentation/dontdiff
22276--- linux-3.0.4/Documentation/dontdiff 2011-07-21 22:17:23.000000000 -0400 22820--- linux-3.0.7/Documentation/dontdiff 2011-07-21 22:17:23.000000000 -0400
22277+++ linux-3.0.4/Documentation/dontdiff 2011-08-23 21:47:55.000000000 -0400 22821+++ linux-3.0.7/Documentation/dontdiff 2011-10-07 19:07:23.000000000 -0400
22278@@ -5,6 +5,7 @@ 22822@@ -5,6 +5,7 @@
22279 *.cis 22823 *.cis
22280 *.cpio 22824 *.cpio
@@ -22343,7 +22887,15 @@ diff -urNp linux-3.0.4/Documentation/dontdiff linux-3.0.4/Documentation/dontdiff
22343 logo_*.c 22887 logo_*.c
22344 logo_*_clut224.c 22888 logo_*_clut224.c
22345 logo_*_mono.c 22889 logo_*_mono.c
22346@@ -174,6 +180,7 @@ mkboot 22890@@ -166,7 +172,6 @@ machtypes.h
22891 map
22892 map_hugetlb
22893 maui_boot.h
22894-media
22895 mconf
22896 miboot*
22897 mk_elfconfig
22898@@ -174,6 +179,7 @@ mkboot
22347 mkbugboot 22899 mkbugboot
22348 mkcpustr 22900 mkcpustr
22349 mkdep 22901 mkdep
@@ -22351,7 +22903,7 @@ diff -urNp linux-3.0.4/Documentation/dontdiff linux-3.0.4/Documentation/dontdiff
22351 mkprep 22903 mkprep
22352 mkregtable 22904 mkregtable
22353 mktables 22905 mktables
22354@@ -209,6 +216,7 @@ r300_reg_safe.h 22906@@ -209,6 +215,7 @@ r300_reg_safe.h
22355 r420_reg_safe.h 22907 r420_reg_safe.h
22356 r600_reg_safe.h 22908 r600_reg_safe.h
22357 recordmcount 22909 recordmcount
@@ -22359,7 +22911,7 @@ diff -urNp linux-3.0.4/Documentation/dontdiff linux-3.0.4/Documentation/dontdiff
22359 relocs 22911 relocs
22360 rlim_names.h 22912 rlim_names.h
22361 rn50_reg_safe.h 22913 rn50_reg_safe.h
22362@@ -219,6 +227,7 @@ setup 22914@@ -219,6 +226,7 @@ setup
22363 setup.bin 22915 setup.bin
22364 setup.elf 22916 setup.elf
22365 sImage 22917 sImage
@@ -22367,7 +22919,7 @@ diff -urNp linux-3.0.4/Documentation/dontdiff linux-3.0.4/Documentation/dontdiff
22367 sm_tbl* 22919 sm_tbl*
22368 split-include 22920 split-include
22369 syscalltab.h 22921 syscalltab.h
22370@@ -246,7 +255,9 @@ vmlinux 22922@@ -246,7 +254,9 @@ vmlinux
22371 vmlinux-* 22923 vmlinux-*
22372 vmlinux.aout 22924 vmlinux.aout
22373 vmlinux.bin.all 22925 vmlinux.bin.all
@@ -22377,7 +22929,7 @@ diff -urNp linux-3.0.4/Documentation/dontdiff linux-3.0.4/Documentation/dontdiff
22377 vmlinuz 22929 vmlinuz
22378 voffset.h 22930 voffset.h
22379 vsyscall.lds 22931 vsyscall.lds
22380@@ -254,6 +265,7 @@ vsyscall_32.lds 22932@@ -254,6 +264,7 @@ vsyscall_32.lds
22381 wanxlfw.inc 22933 wanxlfw.inc
22382 uImage 22934 uImage
22383 unifdef 22935 unifdef
@@ -22385,9 +22937,9 @@ diff -urNp linux-3.0.4/Documentation/dontdiff linux-3.0.4/Documentation/dontdiff
22385 wakeup.bin 22937 wakeup.bin
22386 wakeup.elf 22938 wakeup.elf
22387 wakeup.lds 22939 wakeup.lds
22388diff -urNp linux-3.0.4/Documentation/kernel-parameters.txt linux-3.0.4/Documentation/kernel-parameters.txt 22940diff -urNp linux-3.0.7/Documentation/kernel-parameters.txt linux-3.0.7/Documentation/kernel-parameters.txt
22389--- linux-3.0.4/Documentation/kernel-parameters.txt 2011-07-21 22:17:23.000000000 -0400 22941--- linux-3.0.7/Documentation/kernel-parameters.txt 2011-07-21 22:17:23.000000000 -0400
22390+++ linux-3.0.4/Documentation/kernel-parameters.txt 2011-08-23 21:47:55.000000000 -0400 22942+++ linux-3.0.7/Documentation/kernel-parameters.txt 2011-08-23 21:47:55.000000000 -0400
22391@@ -1883,6 +1883,13 @@ bytes respectively. Such letter suffixes 22943@@ -1883,6 +1883,13 @@ bytes respectively. Such letter suffixes
22392 the specified number of seconds. This is to be used if 22944 the specified number of seconds. This is to be used if
22393 your oopses keep scrolling off the screen. 22945 your oopses keep scrolling off the screen.
@@ -22402,9 +22954,9 @@ diff -urNp linux-3.0.4/Documentation/kernel-parameters.txt linux-3.0.4/Documenta
22402 pcbit= [HW,ISDN] 22954 pcbit= [HW,ISDN]
22403 22955
22404 pcd. [PARIDE] 22956 pcd. [PARIDE]
22405diff -urNp linux-3.0.4/drivers/acpi/apei/cper.c linux-3.0.4/drivers/acpi/apei/cper.c 22957diff -urNp linux-3.0.7/drivers/acpi/apei/cper.c linux-3.0.7/drivers/acpi/apei/cper.c
22406--- linux-3.0.4/drivers/acpi/apei/cper.c 2011-07-21 22:17:23.000000000 -0400 22958--- linux-3.0.7/drivers/acpi/apei/cper.c 2011-07-21 22:17:23.000000000 -0400
22407+++ linux-3.0.4/drivers/acpi/apei/cper.c 2011-08-23 21:47:55.000000000 -0400 22959+++ linux-3.0.7/drivers/acpi/apei/cper.c 2011-08-23 21:47:55.000000000 -0400
22408@@ -38,12 +38,12 @@ 22960@@ -38,12 +38,12 @@
22409 */ 22961 */
22410 u64 cper_next_record_id(void) 22962 u64 cper_next_record_id(void)
@@ -22422,9 +22974,9 @@ diff -urNp linux-3.0.4/drivers/acpi/apei/cper.c linux-3.0.4/drivers/acpi/apei/cp
22422 } 22974 }
22423 EXPORT_SYMBOL_GPL(cper_next_record_id); 22975 EXPORT_SYMBOL_GPL(cper_next_record_id);
22424 22976
22425diff -urNp linux-3.0.4/drivers/acpi/ec_sys.c linux-3.0.4/drivers/acpi/ec_sys.c 22977diff -urNp linux-3.0.7/drivers/acpi/ec_sys.c linux-3.0.7/drivers/acpi/ec_sys.c
22426--- linux-3.0.4/drivers/acpi/ec_sys.c 2011-07-21 22:17:23.000000000 -0400 22978--- linux-3.0.7/drivers/acpi/ec_sys.c 2011-07-21 22:17:23.000000000 -0400
22427+++ linux-3.0.4/drivers/acpi/ec_sys.c 2011-08-24 19:06:55.000000000 -0400 22979+++ linux-3.0.7/drivers/acpi/ec_sys.c 2011-08-24 19:06:55.000000000 -0400
22428@@ -11,6 +11,7 @@ 22980@@ -11,6 +11,7 @@
22429 #include <linux/kernel.h> 22981 #include <linux/kernel.h>
22430 #include <linux/acpi.h> 22982 #include <linux/acpi.h>
@@ -22474,9 +23026,9 @@ diff -urNp linux-3.0.4/drivers/acpi/ec_sys.c linux-3.0.4/drivers/acpi/ec_sys.c
22474 err = ec_write(*off, byte_write); 23026 err = ec_write(*off, byte_write);
22475 if (err) 23027 if (err)
22476 return err; 23028 return err;
22477diff -urNp linux-3.0.4/drivers/acpi/proc.c linux-3.0.4/drivers/acpi/proc.c 23029diff -urNp linux-3.0.7/drivers/acpi/proc.c linux-3.0.7/drivers/acpi/proc.c
22478--- linux-3.0.4/drivers/acpi/proc.c 2011-07-21 22:17:23.000000000 -0400 23030--- linux-3.0.7/drivers/acpi/proc.c 2011-07-21 22:17:23.000000000 -0400
22479+++ linux-3.0.4/drivers/acpi/proc.c 2011-08-23 21:47:55.000000000 -0400 23031+++ linux-3.0.7/drivers/acpi/proc.c 2011-08-23 21:47:55.000000000 -0400
22480@@ -342,19 +342,13 @@ acpi_system_write_wakeup_device(struct f 23032@@ -342,19 +342,13 @@ acpi_system_write_wakeup_device(struct f
22481 size_t count, loff_t * ppos) 23033 size_t count, loff_t * ppos)
22482 { 23034 {
@@ -22511,9 +23063,9 @@ diff -urNp linux-3.0.4/drivers/acpi/proc.c linux-3.0.4/drivers/acpi/proc.c
22511 if (device_can_wakeup(&dev->dev)) { 23063 if (device_can_wakeup(&dev->dev)) {
22512 bool enable = !device_may_wakeup(&dev->dev); 23064 bool enable = !device_may_wakeup(&dev->dev);
22513 device_set_wakeup_enable(&dev->dev, enable); 23065 device_set_wakeup_enable(&dev->dev, enable);
22514diff -urNp linux-3.0.4/drivers/acpi/processor_driver.c linux-3.0.4/drivers/acpi/processor_driver.c 23066diff -urNp linux-3.0.7/drivers/acpi/processor_driver.c linux-3.0.7/drivers/acpi/processor_driver.c
22515--- linux-3.0.4/drivers/acpi/processor_driver.c 2011-07-21 22:17:23.000000000 -0400 23067--- linux-3.0.7/drivers/acpi/processor_driver.c 2011-07-21 22:17:23.000000000 -0400
22516+++ linux-3.0.4/drivers/acpi/processor_driver.c 2011-08-23 21:47:55.000000000 -0400 23068+++ linux-3.0.7/drivers/acpi/processor_driver.c 2011-08-23 21:47:55.000000000 -0400
22517@@ -473,7 +473,7 @@ static int __cpuinit acpi_processor_add( 23069@@ -473,7 +473,7 @@ static int __cpuinit acpi_processor_add(
22518 return 0; 23070 return 0;
22519 #endif 23071 #endif
@@ -22523,9 +23075,9 @@ diff -urNp linux-3.0.4/drivers/acpi/processor_driver.c linux-3.0.4/drivers/acpi/
22523 23075
22524 /* 23076 /*
22525 * Buggy BIOS check 23077 * Buggy BIOS check
22526diff -urNp linux-3.0.4/drivers/ata/libata-core.c linux-3.0.4/drivers/ata/libata-core.c 23078diff -urNp linux-3.0.7/drivers/ata/libata-core.c linux-3.0.7/drivers/ata/libata-core.c
22527--- linux-3.0.4/drivers/ata/libata-core.c 2011-07-21 22:17:23.000000000 -0400 23079--- linux-3.0.7/drivers/ata/libata-core.c 2011-07-21 22:17:23.000000000 -0400
22528+++ linux-3.0.4/drivers/ata/libata-core.c 2011-08-23 21:47:55.000000000 -0400 23080+++ linux-3.0.7/drivers/ata/libata-core.c 2011-08-23 21:47:55.000000000 -0400
22529@@ -4753,7 +4753,7 @@ void ata_qc_free(struct ata_queued_cmd * 23081@@ -4753,7 +4753,7 @@ void ata_qc_free(struct ata_queued_cmd *
22530 struct ata_port *ap; 23082 struct ata_port *ap;
22531 unsigned int tag; 23083 unsigned int tag;
@@ -22563,9 +23115,9 @@ diff -urNp linux-3.0.4/drivers/ata/libata-core.c linux-3.0.4/drivers/ata/libata-
22563 spin_unlock(&lock); 23115 spin_unlock(&lock);
22564 } 23116 }
22565 23117
22566diff -urNp linux-3.0.4/drivers/ata/libata-eh.c linux-3.0.4/drivers/ata/libata-eh.c 23118diff -urNp linux-3.0.7/drivers/ata/libata-eh.c linux-3.0.7/drivers/ata/libata-eh.c
22567--- linux-3.0.4/drivers/ata/libata-eh.c 2011-07-21 22:17:23.000000000 -0400 23119--- linux-3.0.7/drivers/ata/libata-eh.c 2011-07-21 22:17:23.000000000 -0400
22568+++ linux-3.0.4/drivers/ata/libata-eh.c 2011-08-23 21:48:14.000000000 -0400 23120+++ linux-3.0.7/drivers/ata/libata-eh.c 2011-08-23 21:48:14.000000000 -0400
22569@@ -2518,6 +2518,8 @@ void ata_eh_report(struct ata_port *ap) 23121@@ -2518,6 +2518,8 @@ void ata_eh_report(struct ata_port *ap)
22570 { 23122 {
22571 struct ata_link *link; 23123 struct ata_link *link;
@@ -22575,9 +23127,9 @@ diff -urNp linux-3.0.4/drivers/ata/libata-eh.c linux-3.0.4/drivers/ata/libata-eh
22575 ata_for_each_link(link, ap, HOST_FIRST) 23127 ata_for_each_link(link, ap, HOST_FIRST)
22576 ata_eh_link_report(link); 23128 ata_eh_link_report(link);
22577 } 23129 }
22578diff -urNp linux-3.0.4/drivers/ata/pata_arasan_cf.c linux-3.0.4/drivers/ata/pata_arasan_cf.c 23130diff -urNp linux-3.0.7/drivers/ata/pata_arasan_cf.c linux-3.0.7/drivers/ata/pata_arasan_cf.c
22579--- linux-3.0.4/drivers/ata/pata_arasan_cf.c 2011-07-21 22:17:23.000000000 -0400 23131--- linux-3.0.7/drivers/ata/pata_arasan_cf.c 2011-07-21 22:17:23.000000000 -0400
22580+++ linux-3.0.4/drivers/ata/pata_arasan_cf.c 2011-08-23 21:47:55.000000000 -0400 23132+++ linux-3.0.7/drivers/ata/pata_arasan_cf.c 2011-08-23 21:47:55.000000000 -0400
22581@@ -862,7 +862,9 @@ static int __devinit arasan_cf_probe(str 23133@@ -862,7 +862,9 @@ static int __devinit arasan_cf_probe(str
22582 /* Handle platform specific quirks */ 23134 /* Handle platform specific quirks */
22583 if (pdata->quirk) { 23135 if (pdata->quirk) {
@@ -22589,9 +23141,9 @@ diff -urNp linux-3.0.4/drivers/ata/pata_arasan_cf.c linux-3.0.4/drivers/ata/pata
22589 ap->pio_mask = 0; 23141 ap->pio_mask = 0;
22590 } 23142 }
22591 if (pdata->quirk & CF_BROKEN_MWDMA) 23143 if (pdata->quirk & CF_BROKEN_MWDMA)
22592diff -urNp linux-3.0.4/drivers/atm/adummy.c linux-3.0.4/drivers/atm/adummy.c 23144diff -urNp linux-3.0.7/drivers/atm/adummy.c linux-3.0.7/drivers/atm/adummy.c
22593--- linux-3.0.4/drivers/atm/adummy.c 2011-07-21 22:17:23.000000000 -0400 23145--- linux-3.0.7/drivers/atm/adummy.c 2011-07-21 22:17:23.000000000 -0400
22594+++ linux-3.0.4/drivers/atm/adummy.c 2011-08-23 21:47:55.000000000 -0400 23146+++ linux-3.0.7/drivers/atm/adummy.c 2011-08-23 21:47:55.000000000 -0400
22595@@ -114,7 +114,7 @@ adummy_send(struct atm_vcc *vcc, struct 23147@@ -114,7 +114,7 @@ adummy_send(struct atm_vcc *vcc, struct
22596 vcc->pop(vcc, skb); 23148 vcc->pop(vcc, skb);
22597 else 23149 else
@@ -22601,9 +23153,9 @@ diff -urNp linux-3.0.4/drivers/atm/adummy.c linux-3.0.4/drivers/atm/adummy.c
22601 23153
22602 return 0; 23154 return 0;
22603 } 23155 }
22604diff -urNp linux-3.0.4/drivers/atm/ambassador.c linux-3.0.4/drivers/atm/ambassador.c 23156diff -urNp linux-3.0.7/drivers/atm/ambassador.c linux-3.0.7/drivers/atm/ambassador.c
22605--- linux-3.0.4/drivers/atm/ambassador.c 2011-07-21 22:17:23.000000000 -0400 23157--- linux-3.0.7/drivers/atm/ambassador.c 2011-07-21 22:17:23.000000000 -0400
22606+++ linux-3.0.4/drivers/atm/ambassador.c 2011-08-23 21:47:55.000000000 -0400 23158+++ linux-3.0.7/drivers/atm/ambassador.c 2011-08-23 21:47:55.000000000 -0400
22607@@ -454,7 +454,7 @@ static void tx_complete (amb_dev * dev, 23159@@ -454,7 +454,7 @@ static void tx_complete (amb_dev * dev,
22608 PRINTD (DBG_FLOW|DBG_TX, "tx_complete %p %p", dev, tx); 23160 PRINTD (DBG_FLOW|DBG_TX, "tx_complete %p %p", dev, tx);
22609 23161
@@ -22640,9 +23192,9 @@ diff -urNp linux-3.0.4/drivers/atm/ambassador.c linux-3.0.4/drivers/atm/ambassad
22640 return -ENOMEM; // ? 23192 return -ENOMEM; // ?
22641 } 23193 }
22642 23194
22643diff -urNp linux-3.0.4/drivers/atm/atmtcp.c linux-3.0.4/drivers/atm/atmtcp.c 23195diff -urNp linux-3.0.7/drivers/atm/atmtcp.c linux-3.0.7/drivers/atm/atmtcp.c
22644--- linux-3.0.4/drivers/atm/atmtcp.c 2011-07-21 22:17:23.000000000 -0400 23196--- linux-3.0.7/drivers/atm/atmtcp.c 2011-07-21 22:17:23.000000000 -0400
22645+++ linux-3.0.4/drivers/atm/atmtcp.c 2011-08-23 21:47:55.000000000 -0400 23197+++ linux-3.0.7/drivers/atm/atmtcp.c 2011-08-23 21:47:55.000000000 -0400
22646@@ -207,7 +207,7 @@ static int atmtcp_v_send(struct atm_vcc 23198@@ -207,7 +207,7 @@ static int atmtcp_v_send(struct atm_vcc
22647 if (vcc->pop) vcc->pop(vcc,skb); 23199 if (vcc->pop) vcc->pop(vcc,skb);
22648 else dev_kfree_skb(skb); 23200 else dev_kfree_skb(skb);
@@ -22692,9 +23244,9 @@ diff -urNp linux-3.0.4/drivers/atm/atmtcp.c linux-3.0.4/drivers/atm/atmtcp.c
22692 done: 23244 done:
22693 if (vcc->pop) vcc->pop(vcc,skb); 23245 if (vcc->pop) vcc->pop(vcc,skb);
22694 else dev_kfree_skb(skb); 23246 else dev_kfree_skb(skb);
22695diff -urNp linux-3.0.4/drivers/atm/eni.c linux-3.0.4/drivers/atm/eni.c 23247diff -urNp linux-3.0.7/drivers/atm/eni.c linux-3.0.7/drivers/atm/eni.c
22696--- linux-3.0.4/drivers/atm/eni.c 2011-07-21 22:17:23.000000000 -0400 23248--- linux-3.0.7/drivers/atm/eni.c 2011-07-21 22:17:23.000000000 -0400
22697+++ linux-3.0.4/drivers/atm/eni.c 2011-08-23 21:47:55.000000000 -0400 23249+++ linux-3.0.7/drivers/atm/eni.c 2011-10-11 10:44:33.000000000 -0400
22698@@ -526,7 +526,7 @@ static int rx_aal0(struct atm_vcc *vcc) 23250@@ -526,7 +526,7 @@ static int rx_aal0(struct atm_vcc *vcc)
22699 DPRINTK(DEV_LABEL "(itf %d): trashing empty cell\n", 23251 DPRINTK(DEV_LABEL "(itf %d): trashing empty cell\n",
22700 vcc->dev->number); 23252 vcc->dev->number);
@@ -22740,9 +23292,18 @@ diff -urNp linux-3.0.4/drivers/atm/eni.c linux-3.0.4/drivers/atm/eni.c
22740 wake_up(&eni_dev->tx_wait); 23292 wake_up(&eni_dev->tx_wait);
22741 dma_complete++; 23293 dma_complete++;
22742 } 23294 }
22743diff -urNp linux-3.0.4/drivers/atm/firestream.c linux-3.0.4/drivers/atm/firestream.c 23295@@ -1568,7 +1568,7 @@ tx_complete++;
22744--- linux-3.0.4/drivers/atm/firestream.c 2011-07-21 22:17:23.000000000 -0400 23296 /*--------------------------------- entries ---------------------------------*/
22745+++ linux-3.0.4/drivers/atm/firestream.c 2011-08-23 21:47:55.000000000 -0400 23297
23298
23299-static const char *media_name[] __devinitdata = {
23300+static const char *media_name[] __devinitconst = {
23301 "MMF", "SMF", "MMF", "03?", /* 0- 3 */
23302 "UTP", "05?", "06?", "07?", /* 4- 7 */
23303 "TAXI","09?", "10?", "11?", /* 8-11 */
23304diff -urNp linux-3.0.7/drivers/atm/firestream.c linux-3.0.7/drivers/atm/firestream.c
23305--- linux-3.0.7/drivers/atm/firestream.c 2011-07-21 22:17:23.000000000 -0400
23306+++ linux-3.0.7/drivers/atm/firestream.c 2011-08-23 21:47:55.000000000 -0400
22746@@ -749,7 +749,7 @@ static void process_txdone_queue (struct 23307@@ -749,7 +749,7 @@ static void process_txdone_queue (struct
22747 } 23308 }
22748 } 23309 }
@@ -22776,9 +23337,9 @@ diff -urNp linux-3.0.4/drivers/atm/firestream.c linux-3.0.4/drivers/atm/firestre
22776 break; 23337 break;
22777 default: /* Hmm. Haven't written the code to handle the others yet... -- REW */ 23338 default: /* Hmm. Haven't written the code to handle the others yet... -- REW */
22778 printk (KERN_WARNING "Don't know what to do with RX status %x: %s.\n", 23339 printk (KERN_WARNING "Don't know what to do with RX status %x: %s.\n",
22779diff -urNp linux-3.0.4/drivers/atm/fore200e.c linux-3.0.4/drivers/atm/fore200e.c 23340diff -urNp linux-3.0.7/drivers/atm/fore200e.c linux-3.0.7/drivers/atm/fore200e.c
22780--- linux-3.0.4/drivers/atm/fore200e.c 2011-07-21 22:17:23.000000000 -0400 23341--- linux-3.0.7/drivers/atm/fore200e.c 2011-07-21 22:17:23.000000000 -0400
22781+++ linux-3.0.4/drivers/atm/fore200e.c 2011-08-23 21:47:55.000000000 -0400 23342+++ linux-3.0.7/drivers/atm/fore200e.c 2011-08-23 21:47:55.000000000 -0400
22782@@ -933,9 +933,9 @@ fore200e_tx_irq(struct fore200e* fore200 23343@@ -933,9 +933,9 @@ fore200e_tx_irq(struct fore200e* fore200
22783 #endif 23344 #endif
22784 /* check error condition */ 23345 /* check error condition */
@@ -22835,9 +23396,9 @@ diff -urNp linux-3.0.4/drivers/atm/fore200e.c linux-3.0.4/drivers/atm/fore200e.c
22835 23396
22836 fore200e->tx_sat++; 23397 fore200e->tx_sat++;
22837 DPRINTK(2, "tx queue of device %s is saturated, PDU dropped - heartbeat is %08x\n", 23398 DPRINTK(2, "tx queue of device %s is saturated, PDU dropped - heartbeat is %08x\n",
22838diff -urNp linux-3.0.4/drivers/atm/he.c linux-3.0.4/drivers/atm/he.c 23399diff -urNp linux-3.0.7/drivers/atm/he.c linux-3.0.7/drivers/atm/he.c
22839--- linux-3.0.4/drivers/atm/he.c 2011-07-21 22:17:23.000000000 -0400 23400--- linux-3.0.7/drivers/atm/he.c 2011-07-21 22:17:23.000000000 -0400
22840+++ linux-3.0.4/drivers/atm/he.c 2011-08-23 21:47:55.000000000 -0400 23401+++ linux-3.0.7/drivers/atm/he.c 2011-08-23 21:47:55.000000000 -0400
22841@@ -1709,7 +1709,7 @@ he_service_rbrq(struct he_dev *he_dev, i 23402@@ -1709,7 +1709,7 @@ he_service_rbrq(struct he_dev *he_dev, i
22842 23403
22843 if (RBRQ_HBUF_ERR(he_dev->rbrq_head)) { 23404 if (RBRQ_HBUF_ERR(he_dev->rbrq_head)) {
@@ -22919,9 +23480,9 @@ diff -urNp linux-3.0.4/drivers/atm/he.c linux-3.0.4/drivers/atm/he.c
22919 23480
22920 return 0; 23481 return 0;
22921 } 23482 }
22922diff -urNp linux-3.0.4/drivers/atm/horizon.c linux-3.0.4/drivers/atm/horizon.c 23483diff -urNp linux-3.0.7/drivers/atm/horizon.c linux-3.0.7/drivers/atm/horizon.c
22923--- linux-3.0.4/drivers/atm/horizon.c 2011-07-21 22:17:23.000000000 -0400 23484--- linux-3.0.7/drivers/atm/horizon.c 2011-07-21 22:17:23.000000000 -0400
22924+++ linux-3.0.4/drivers/atm/horizon.c 2011-08-23 21:47:55.000000000 -0400 23485+++ linux-3.0.7/drivers/atm/horizon.c 2011-08-23 21:47:55.000000000 -0400
22925@@ -1034,7 +1034,7 @@ static void rx_schedule (hrz_dev * dev, 23486@@ -1034,7 +1034,7 @@ static void rx_schedule (hrz_dev * dev,
22926 { 23487 {
22927 struct atm_vcc * vcc = ATM_SKB(skb)->vcc; 23488 struct atm_vcc * vcc = ATM_SKB(skb)->vcc;
@@ -22940,9 +23501,9 @@ diff -urNp linux-3.0.4/drivers/atm/horizon.c linux-3.0.4/drivers/atm/horizon.c
22940 23501
22941 // free the skb 23502 // free the skb
22942 hrz_kfree_skb (skb); 23503 hrz_kfree_skb (skb);
22943diff -urNp linux-3.0.4/drivers/atm/idt77252.c linux-3.0.4/drivers/atm/idt77252.c 23504diff -urNp linux-3.0.7/drivers/atm/idt77252.c linux-3.0.7/drivers/atm/idt77252.c
22944--- linux-3.0.4/drivers/atm/idt77252.c 2011-07-21 22:17:23.000000000 -0400 23505--- linux-3.0.7/drivers/atm/idt77252.c 2011-07-21 22:17:23.000000000 -0400
22945+++ linux-3.0.4/drivers/atm/idt77252.c 2011-08-23 21:47:55.000000000 -0400 23506+++ linux-3.0.7/drivers/atm/idt77252.c 2011-08-23 21:47:55.000000000 -0400
22946@@ -811,7 +811,7 @@ drain_scq(struct idt77252_dev *card, str 23507@@ -811,7 +811,7 @@ drain_scq(struct idt77252_dev *card, str
22947 else 23508 else
22948 dev_kfree_skb(skb); 23509 dev_kfree_skb(skb);
@@ -23097,9 +23658,9 @@ diff -urNp linux-3.0.4/drivers/atm/idt77252.c linux-3.0.4/drivers/atm/idt77252.c
23097 return -ENOMEM; 23658 return -ENOMEM;
23098 } 23659 }
23099 atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc); 23660 atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc);
23100diff -urNp linux-3.0.4/drivers/atm/iphase.c linux-3.0.4/drivers/atm/iphase.c 23661diff -urNp linux-3.0.7/drivers/atm/iphase.c linux-3.0.7/drivers/atm/iphase.c
23101--- linux-3.0.4/drivers/atm/iphase.c 2011-07-21 22:17:23.000000000 -0400 23662--- linux-3.0.7/drivers/atm/iphase.c 2011-07-21 22:17:23.000000000 -0400
23102+++ linux-3.0.4/drivers/atm/iphase.c 2011-08-23 21:47:55.000000000 -0400 23663+++ linux-3.0.7/drivers/atm/iphase.c 2011-08-23 21:47:55.000000000 -0400
23103@@ -1120,7 +1120,7 @@ static int rx_pkt(struct atm_dev *dev) 23664@@ -1120,7 +1120,7 @@ static int rx_pkt(struct atm_dev *dev)
23104 status = (u_short) (buf_desc_ptr->desc_mode); 23665 status = (u_short) (buf_desc_ptr->desc_mode);
23105 if (status & (RX_CER | RX_PTE | RX_OFL)) 23666 if (status & (RX_CER | RX_PTE | RX_OFL))
@@ -23196,9 +23757,9 @@ diff -urNp linux-3.0.4/drivers/atm/iphase.c linux-3.0.4/drivers/atm/iphase.c
23196 if (iavcc->vc_desc_cnt > 10) { 23757 if (iavcc->vc_desc_cnt > 10) {
23197 vcc->tx_quota = vcc->tx_quota * 3 / 4; 23758 vcc->tx_quota = vcc->tx_quota * 3 / 4;
23198 printk("Tx1: vcc->tx_quota = %d \n", (u32)vcc->tx_quota ); 23759 printk("Tx1: vcc->tx_quota = %d \n", (u32)vcc->tx_quota );
23199diff -urNp linux-3.0.4/drivers/atm/lanai.c linux-3.0.4/drivers/atm/lanai.c 23760diff -urNp linux-3.0.7/drivers/atm/lanai.c linux-3.0.7/drivers/atm/lanai.c
23200--- linux-3.0.4/drivers/atm/lanai.c 2011-07-21 22:17:23.000000000 -0400 23761--- linux-3.0.7/drivers/atm/lanai.c 2011-07-21 22:17:23.000000000 -0400
23201+++ linux-3.0.4/drivers/atm/lanai.c 2011-08-23 21:47:55.000000000 -0400 23762+++ linux-3.0.7/drivers/atm/lanai.c 2011-08-23 21:47:55.000000000 -0400
23202@@ -1303,7 +1303,7 @@ static void lanai_send_one_aal5(struct l 23763@@ -1303,7 +1303,7 @@ static void lanai_send_one_aal5(struct l
23203 vcc_tx_add_aal5_trailer(lvcc, skb->len, 0, 0); 23764 vcc_tx_add_aal5_trailer(lvcc, skb->len, 0, 0);
23204 lanai_endtx(lanai, lvcc); 23765 lanai_endtx(lanai, lvcc);
@@ -23253,9 +23814,9 @@ diff -urNp linux-3.0.4/drivers/atm/lanai.c linux-3.0.4/drivers/atm/lanai.c
23253 lvcc->stats.x.aal5.service_rxcrc++; 23814 lvcc->stats.x.aal5.service_rxcrc++;
23254 lvcc->rx.buf.ptr = &lvcc->rx.buf.start[SERVICE_GET_END(s) * 4]; 23815 lvcc->rx.buf.ptr = &lvcc->rx.buf.start[SERVICE_GET_END(s) * 4];
23255 cardvcc_write(lvcc, SERVICE_GET_END(s), vcc_rxreadptr); 23816 cardvcc_write(lvcc, SERVICE_GET_END(s), vcc_rxreadptr);
23256diff -urNp linux-3.0.4/drivers/atm/nicstar.c linux-3.0.4/drivers/atm/nicstar.c 23817diff -urNp linux-3.0.7/drivers/atm/nicstar.c linux-3.0.7/drivers/atm/nicstar.c
23257--- linux-3.0.4/drivers/atm/nicstar.c 2011-07-21 22:17:23.000000000 -0400 23818--- linux-3.0.7/drivers/atm/nicstar.c 2011-07-21 22:17:23.000000000 -0400
23258+++ linux-3.0.4/drivers/atm/nicstar.c 2011-08-23 21:47:55.000000000 -0400 23819+++ linux-3.0.7/drivers/atm/nicstar.c 2011-08-23 21:47:55.000000000 -0400
23259@@ -1654,7 +1654,7 @@ static int ns_send(struct atm_vcc *vcc, 23820@@ -1654,7 +1654,7 @@ static int ns_send(struct atm_vcc *vcc,
23260 if ((vc = (vc_map *) vcc->dev_data) == NULL) { 23821 if ((vc = (vc_map *) vcc->dev_data) == NULL) {
23261 printk("nicstar%d: vcc->dev_data == NULL on ns_send().\n", 23822 printk("nicstar%d: vcc->dev_data == NULL on ns_send().\n",
@@ -23457,9 +24018,9 @@ diff -urNp linux-3.0.4/drivers/atm/nicstar.c linux-3.0.4/drivers/atm/nicstar.c
23457 } 24018 }
23458 } 24019 }
23459 24020
23460diff -urNp linux-3.0.4/drivers/atm/solos-pci.c linux-3.0.4/drivers/atm/solos-pci.c 24021diff -urNp linux-3.0.7/drivers/atm/solos-pci.c linux-3.0.7/drivers/atm/solos-pci.c
23461--- linux-3.0.4/drivers/atm/solos-pci.c 2011-07-21 22:17:23.000000000 -0400 24022--- linux-3.0.7/drivers/atm/solos-pci.c 2011-07-21 22:17:23.000000000 -0400
23462+++ linux-3.0.4/drivers/atm/solos-pci.c 2011-08-23 21:48:14.000000000 -0400 24023+++ linux-3.0.7/drivers/atm/solos-pci.c 2011-08-23 21:48:14.000000000 -0400
23463@@ -714,7 +714,7 @@ void solos_bh(unsigned long card_arg) 24024@@ -714,7 +714,7 @@ void solos_bh(unsigned long card_arg)
23464 } 24025 }
23465 atm_charge(vcc, skb->truesize); 24026 atm_charge(vcc, skb->truesize);
@@ -23487,9 +24048,9 @@ diff -urNp linux-3.0.4/drivers/atm/solos-pci.c linux-3.0.4/drivers/atm/solos-pci
23487 solos_pop(vcc, oldskb); 24048 solos_pop(vcc, oldskb);
23488 } else 24049 } else
23489 dev_kfree_skb_irq(oldskb); 24050 dev_kfree_skb_irq(oldskb);
23490diff -urNp linux-3.0.4/drivers/atm/suni.c linux-3.0.4/drivers/atm/suni.c 24051diff -urNp linux-3.0.7/drivers/atm/suni.c linux-3.0.7/drivers/atm/suni.c
23491--- linux-3.0.4/drivers/atm/suni.c 2011-07-21 22:17:23.000000000 -0400 24052--- linux-3.0.7/drivers/atm/suni.c 2011-07-21 22:17:23.000000000 -0400
23492+++ linux-3.0.4/drivers/atm/suni.c 2011-08-23 21:47:55.000000000 -0400 24053+++ linux-3.0.7/drivers/atm/suni.c 2011-08-23 21:47:55.000000000 -0400
23493@@ -50,8 +50,8 @@ static DEFINE_SPINLOCK(sunis_lock); 24054@@ -50,8 +50,8 @@ static DEFINE_SPINLOCK(sunis_lock);
23494 24055
23495 24056
@@ -23501,9 +24062,9 @@ diff -urNp linux-3.0.4/drivers/atm/suni.c linux-3.0.4/drivers/atm/suni.c
23501 24062
23502 24063
23503 static void suni_hz(unsigned long from_timer) 24064 static void suni_hz(unsigned long from_timer)
23504diff -urNp linux-3.0.4/drivers/atm/uPD98402.c linux-3.0.4/drivers/atm/uPD98402.c 24065diff -urNp linux-3.0.7/drivers/atm/uPD98402.c linux-3.0.7/drivers/atm/uPD98402.c
23505--- linux-3.0.4/drivers/atm/uPD98402.c 2011-07-21 22:17:23.000000000 -0400 24066--- linux-3.0.7/drivers/atm/uPD98402.c 2011-07-21 22:17:23.000000000 -0400
23506+++ linux-3.0.4/drivers/atm/uPD98402.c 2011-08-23 21:47:55.000000000 -0400 24067+++ linux-3.0.7/drivers/atm/uPD98402.c 2011-08-23 21:47:55.000000000 -0400
23507@@ -42,7 +42,7 @@ static int fetch_stats(struct atm_dev *d 24068@@ -42,7 +42,7 @@ static int fetch_stats(struct atm_dev *d
23508 struct sonet_stats tmp; 24069 struct sonet_stats tmp;
23509 int error = 0; 24070 int error = 0;
@@ -23548,9 +24109,9 @@ diff -urNp linux-3.0.4/drivers/atm/uPD98402.c linux-3.0.4/drivers/atm/uPD98402.c
23548 return 0; 24109 return 0;
23549 } 24110 }
23550 24111
23551diff -urNp linux-3.0.4/drivers/atm/zatm.c linux-3.0.4/drivers/atm/zatm.c 24112diff -urNp linux-3.0.7/drivers/atm/zatm.c linux-3.0.7/drivers/atm/zatm.c
23552--- linux-3.0.4/drivers/atm/zatm.c 2011-07-21 22:17:23.000000000 -0400 24113--- linux-3.0.7/drivers/atm/zatm.c 2011-07-21 22:17:23.000000000 -0400
23553+++ linux-3.0.4/drivers/atm/zatm.c 2011-08-23 21:47:55.000000000 -0400 24114+++ linux-3.0.7/drivers/atm/zatm.c 2011-08-23 21:47:55.000000000 -0400
23554@@ -459,7 +459,7 @@ printk("dummy: 0x%08lx, 0x%08lx\n",dummy 24115@@ -459,7 +459,7 @@ printk("dummy: 0x%08lx, 0x%08lx\n",dummy
23555 } 24116 }
23556 if (!size) { 24117 if (!size) {
@@ -23578,9 +24139,21 @@ diff -urNp linux-3.0.4/drivers/atm/zatm.c linux-3.0.4/drivers/atm/zatm.c
23578 wake_up(&zatm_vcc->tx_wait); 24139 wake_up(&zatm_vcc->tx_wait);
23579 } 24140 }
23580 24141
23581diff -urNp linux-3.0.4/drivers/base/power/wakeup.c linux-3.0.4/drivers/base/power/wakeup.c 24142diff -urNp linux-3.0.7/drivers/base/devtmpfs.c linux-3.0.7/drivers/base/devtmpfs.c
23582--- linux-3.0.4/drivers/base/power/wakeup.c 2011-07-21 22:17:23.000000000 -0400 24143--- linux-3.0.7/drivers/base/devtmpfs.c 2011-07-21 22:17:23.000000000 -0400
23583+++ linux-3.0.4/drivers/base/power/wakeup.c 2011-08-23 21:47:55.000000000 -0400 24144+++ linux-3.0.7/drivers/base/devtmpfs.c 2011-10-06 04:17:55.000000000 -0400
24145@@ -357,7 +357,7 @@ int devtmpfs_mount(const char *mntdir)
24146 if (!dev_mnt)
24147 return 0;
24148
24149- err = sys_mount("devtmpfs", (char *)mntdir, "devtmpfs", MS_SILENT, NULL);
24150+ err = sys_mount((char __force_user *)"devtmpfs", (char __force_user *)mntdir, (char __force_user *)"devtmpfs", MS_SILENT, NULL);
24151 if (err)
24152 printk(KERN_INFO "devtmpfs: error mounting %i\n", err);
24153 else
24154diff -urNp linux-3.0.7/drivers/base/power/wakeup.c linux-3.0.7/drivers/base/power/wakeup.c
24155--- linux-3.0.7/drivers/base/power/wakeup.c 2011-07-21 22:17:23.000000000 -0400
24156+++ linux-3.0.7/drivers/base/power/wakeup.c 2011-08-23 21:47:55.000000000 -0400
23584@@ -29,14 +29,14 @@ bool events_check_enabled; 24157@@ -29,14 +29,14 @@ bool events_check_enabled;
23585 * They need to be modified together atomically, so it's better to use one 24158 * They need to be modified together atomically, so it's better to use one
23586 * atomic variable to hold them both. 24159 * atomic variable to hold them both.
@@ -23616,9 +24189,9 @@ diff -urNp linux-3.0.4/drivers/base/power/wakeup.c linux-3.0.4/drivers/base/powe
23616 } 24189 }
23617 24190
23618 /** 24191 /**
23619diff -urNp linux-3.0.4/drivers/block/cciss.c linux-3.0.4/drivers/block/cciss.c 24192diff -urNp linux-3.0.7/drivers/block/cciss.c linux-3.0.7/drivers/block/cciss.c
23620--- linux-3.0.4/drivers/block/cciss.c 2011-07-21 22:17:23.000000000 -0400 24193--- linux-3.0.7/drivers/block/cciss.c 2011-07-21 22:17:23.000000000 -0400
23621+++ linux-3.0.4/drivers/block/cciss.c 2011-08-23 21:48:14.000000000 -0400 24194+++ linux-3.0.7/drivers/block/cciss.c 2011-08-23 21:48:14.000000000 -0400
23622@@ -1179,6 +1179,8 @@ static int cciss_ioctl32_passthru(struct 24195@@ -1179,6 +1179,8 @@ static int cciss_ioctl32_passthru(struct
23623 int err; 24196 int err;
23624 u32 cp; 24197 u32 cp;
@@ -23742,9 +24315,9 @@ diff -urNp linux-3.0.4/drivers/block/cciss.c linux-3.0.4/drivers/block/cciss.c
23742 free_irq(h->intr[PERF_MODE_INT], h); 24315 free_irq(h->intr[PERF_MODE_INT], h);
23743 } 24316 }
23744 24317
23745diff -urNp linux-3.0.4/drivers/block/cciss.h linux-3.0.4/drivers/block/cciss.h 24318diff -urNp linux-3.0.7/drivers/block/cciss.h linux-3.0.7/drivers/block/cciss.h
23746--- linux-3.0.4/drivers/block/cciss.h 2011-09-02 18:11:21.000000000 -0400 24319--- linux-3.0.7/drivers/block/cciss.h 2011-09-02 18:11:21.000000000 -0400
23747+++ linux-3.0.4/drivers/block/cciss.h 2011-08-23 21:47:55.000000000 -0400 24320+++ linux-3.0.7/drivers/block/cciss.h 2011-08-23 21:47:55.000000000 -0400
23748@@ -100,7 +100,7 @@ struct ctlr_info 24321@@ -100,7 +100,7 @@ struct ctlr_info
23749 /* information about each logical volume */ 24322 /* information about each logical volume */
23750 drive_info_struct *drv[CISS_MAX_LUN]; 24323 drive_info_struct *drv[CISS_MAX_LUN];
@@ -23754,9 +24327,9 @@ diff -urNp linux-3.0.4/drivers/block/cciss.h linux-3.0.4/drivers/block/cciss.h
23754 24327
23755 /* queue and queue Info */ 24328 /* queue and queue Info */
23756 struct list_head reqQ; 24329 struct list_head reqQ;
23757diff -urNp linux-3.0.4/drivers/block/cpqarray.c linux-3.0.4/drivers/block/cpqarray.c 24330diff -urNp linux-3.0.7/drivers/block/cpqarray.c linux-3.0.7/drivers/block/cpqarray.c
23758--- linux-3.0.4/drivers/block/cpqarray.c 2011-07-21 22:17:23.000000000 -0400 24331--- linux-3.0.7/drivers/block/cpqarray.c 2011-07-21 22:17:23.000000000 -0400
23759+++ linux-3.0.4/drivers/block/cpqarray.c 2011-08-23 21:48:14.000000000 -0400 24332+++ linux-3.0.7/drivers/block/cpqarray.c 2011-08-23 21:48:14.000000000 -0400
23760@@ -404,7 +404,7 @@ static int __devinit cpqarray_register_c 24333@@ -404,7 +404,7 @@ static int __devinit cpqarray_register_c
23761 if (register_blkdev(COMPAQ_SMART2_MAJOR+i, hba[i]->devname)) { 24334 if (register_blkdev(COMPAQ_SMART2_MAJOR+i, hba[i]->devname)) {
23762 goto Enomem4; 24335 goto Enomem4;
@@ -23882,9 +24455,9 @@ diff -urNp linux-3.0.4/drivers/block/cpqarray.c linux-3.0.4/drivers/block/cpqarr
23882 if (done == 0) { 24455 if (done == 0) {
23883 udelay(10); /* a short fixed delay */ 24456 udelay(10); /* a short fixed delay */
23884 } else 24457 } else
23885diff -urNp linux-3.0.4/drivers/block/cpqarray.h linux-3.0.4/drivers/block/cpqarray.h 24458diff -urNp linux-3.0.7/drivers/block/cpqarray.h linux-3.0.7/drivers/block/cpqarray.h
23886--- linux-3.0.4/drivers/block/cpqarray.h 2011-07-21 22:17:23.000000000 -0400 24459--- linux-3.0.7/drivers/block/cpqarray.h 2011-07-21 22:17:23.000000000 -0400
23887+++ linux-3.0.4/drivers/block/cpqarray.h 2011-08-23 21:47:55.000000000 -0400 24460+++ linux-3.0.7/drivers/block/cpqarray.h 2011-08-23 21:47:55.000000000 -0400
23888@@ -99,7 +99,7 @@ struct ctlr_info { 24461@@ -99,7 +99,7 @@ struct ctlr_info {
23889 drv_info_t drv[NWD]; 24462 drv_info_t drv[NWD];
23890 struct proc_dir_entry *proc; 24463 struct proc_dir_entry *proc;
@@ -23894,9 +24467,9 @@ diff -urNp linux-3.0.4/drivers/block/cpqarray.h linux-3.0.4/drivers/block/cpqarr
23894 24467
23895 cmdlist_t *reqQ; 24468 cmdlist_t *reqQ;
23896 cmdlist_t *cmpQ; 24469 cmdlist_t *cmpQ;
23897diff -urNp linux-3.0.4/drivers/block/DAC960.c linux-3.0.4/drivers/block/DAC960.c 24470diff -urNp linux-3.0.7/drivers/block/DAC960.c linux-3.0.7/drivers/block/DAC960.c
23898--- linux-3.0.4/drivers/block/DAC960.c 2011-07-21 22:17:23.000000000 -0400 24471--- linux-3.0.7/drivers/block/DAC960.c 2011-07-21 22:17:23.000000000 -0400
23899+++ linux-3.0.4/drivers/block/DAC960.c 2011-08-23 21:48:14.000000000 -0400 24472+++ linux-3.0.7/drivers/block/DAC960.c 2011-08-23 21:48:14.000000000 -0400
23900@@ -1980,6 +1980,8 @@ static bool DAC960_V1_ReadDeviceConfigur 24473@@ -1980,6 +1980,8 @@ static bool DAC960_V1_ReadDeviceConfigur
23901 unsigned long flags; 24474 unsigned long flags;
23902 int Channel, TargetID; 24475 int Channel, TargetID;
@@ -23906,9 +24479,9 @@ diff -urNp linux-3.0.4/drivers/block/DAC960.c linux-3.0.4/drivers/block/DAC960.c
23906 if (!init_dma_loaf(Controller->PCIDevice, &local_dma, 24479 if (!init_dma_loaf(Controller->PCIDevice, &local_dma,
23907 DAC960_V1_MaxChannels*(sizeof(DAC960_V1_DCDB_T) + 24480 DAC960_V1_MaxChannels*(sizeof(DAC960_V1_DCDB_T) +
23908 sizeof(DAC960_SCSI_Inquiry_T) + 24481 sizeof(DAC960_SCSI_Inquiry_T) +
23909diff -urNp linux-3.0.4/drivers/block/drbd/drbd_int.h linux-3.0.4/drivers/block/drbd/drbd_int.h 24482diff -urNp linux-3.0.7/drivers/block/drbd/drbd_int.h linux-3.0.7/drivers/block/drbd/drbd_int.h
23910--- linux-3.0.4/drivers/block/drbd/drbd_int.h 2011-07-21 22:17:23.000000000 -0400 24483--- linux-3.0.7/drivers/block/drbd/drbd_int.h 2011-07-21 22:17:23.000000000 -0400
23911+++ linux-3.0.4/drivers/block/drbd/drbd_int.h 2011-08-23 21:47:55.000000000 -0400 24484+++ linux-3.0.7/drivers/block/drbd/drbd_int.h 2011-10-06 04:17:55.000000000 -0400
23912@@ -737,7 +737,7 @@ struct drbd_request; 24485@@ -737,7 +737,7 @@ struct drbd_request;
23913 struct drbd_epoch { 24486 struct drbd_epoch {
23914 struct list_head list; 24487 struct list_head list;
@@ -23927,9 +24500,48 @@ diff -urNp linux-3.0.4/drivers/block/drbd/drbd_int.h linux-3.0.4/drivers/block/d
23927 unsigned int peer_seq; 24500 unsigned int peer_seq;
23928 spinlock_t peer_seq_lock; 24501 spinlock_t peer_seq_lock;
23929 unsigned int minor; 24502 unsigned int minor;
23930diff -urNp linux-3.0.4/drivers/block/drbd/drbd_main.c linux-3.0.4/drivers/block/drbd/drbd_main.c 24503@@ -1618,30 +1618,30 @@ static inline int drbd_setsockopt(struct
23931--- linux-3.0.4/drivers/block/drbd/drbd_main.c 2011-07-21 22:17:23.000000000 -0400 24504
23932+++ linux-3.0.4/drivers/block/drbd/drbd_main.c 2011-08-23 21:47:55.000000000 -0400 24505 static inline void drbd_tcp_cork(struct socket *sock)
24506 {
24507- int __user val = 1;
24508+ int val = 1;
24509 (void) drbd_setsockopt(sock, SOL_TCP, TCP_CORK,
24510- (char __user *)&val, sizeof(val));
24511+ (char __force_user *)&val, sizeof(val));
24512 }
24513
24514 static inline void drbd_tcp_uncork(struct socket *sock)
24515 {
24516- int __user val = 0;
24517+ int val = 0;
24518 (void) drbd_setsockopt(sock, SOL_TCP, TCP_CORK,
24519- (char __user *)&val, sizeof(val));
24520+ (char __force_user *)&val, sizeof(val));
24521 }
24522
24523 static inline void drbd_tcp_nodelay(struct socket *sock)
24524 {
24525- int __user val = 1;
24526+ int val = 1;
24527 (void) drbd_setsockopt(sock, SOL_TCP, TCP_NODELAY,
24528- (char __user *)&val, sizeof(val));
24529+ (char __force_user *)&val, sizeof(val));
24530 }
24531
24532 static inline void drbd_tcp_quickack(struct socket *sock)
24533 {
24534- int __user val = 2;
24535+ int val = 2;
24536 (void) drbd_setsockopt(sock, SOL_TCP, TCP_QUICKACK,
24537- (char __user *)&val, sizeof(val));
24538+ (char __force_user *)&val, sizeof(val));
24539 }
24540
24541 void drbd_bump_write_ordering(struct drbd_conf *mdev, enum write_ordering_e wo);
24542diff -urNp linux-3.0.7/drivers/block/drbd/drbd_main.c linux-3.0.7/drivers/block/drbd/drbd_main.c
24543--- linux-3.0.7/drivers/block/drbd/drbd_main.c 2011-07-21 22:17:23.000000000 -0400
24544+++ linux-3.0.7/drivers/block/drbd/drbd_main.c 2011-08-23 21:47:55.000000000 -0400
23933@@ -2397,7 +2397,7 @@ static int _drbd_send_ack(struct drbd_co 24545@@ -2397,7 +2397,7 @@ static int _drbd_send_ack(struct drbd_co
23934 p.sector = sector; 24546 p.sector = sector;
23935 p.block_id = block_id; 24547 p.block_id = block_id;
@@ -23968,9 +24580,9 @@ diff -urNp linux-3.0.4/drivers/block/drbd/drbd_main.c linux-3.0.4/drivers/block/
23968 mdev->al_writ_cnt = 24580 mdev->al_writ_cnt =
23969 mdev->bm_writ_cnt = 24581 mdev->bm_writ_cnt =
23970 mdev->read_cnt = 24582 mdev->read_cnt =
23971diff -urNp linux-3.0.4/drivers/block/drbd/drbd_nl.c linux-3.0.4/drivers/block/drbd/drbd_nl.c 24583diff -urNp linux-3.0.7/drivers/block/drbd/drbd_nl.c linux-3.0.7/drivers/block/drbd/drbd_nl.c
23972--- linux-3.0.4/drivers/block/drbd/drbd_nl.c 2011-07-21 22:17:23.000000000 -0400 24584--- linux-3.0.7/drivers/block/drbd/drbd_nl.c 2011-07-21 22:17:23.000000000 -0400
23973+++ linux-3.0.4/drivers/block/drbd/drbd_nl.c 2011-08-23 21:47:55.000000000 -0400 24585+++ linux-3.0.7/drivers/block/drbd/drbd_nl.c 2011-08-23 21:47:55.000000000 -0400
23974@@ -2359,7 +2359,7 @@ static void drbd_connector_callback(stru 24586@@ -2359,7 +2359,7 @@ static void drbd_connector_callback(stru
23975 module_put(THIS_MODULE); 24587 module_put(THIS_MODULE);
23976 } 24588 }
@@ -24016,9 +24628,9 @@ diff -urNp linux-3.0.4/drivers/block/drbd/drbd_nl.c linux-3.0.4/drivers/block/dr
24016 cn_reply->ack = 0; /* not used here. */ 24628 cn_reply->ack = 0; /* not used here. */
24017 cn_reply->len = sizeof(struct drbd_nl_cfg_reply) + 24629 cn_reply->len = sizeof(struct drbd_nl_cfg_reply) +
24018 (int)((char *)tl - (char *)reply->tag_list); 24630 (int)((char *)tl - (char *)reply->tag_list);
24019diff -urNp linux-3.0.4/drivers/block/drbd/drbd_receiver.c linux-3.0.4/drivers/block/drbd/drbd_receiver.c 24631diff -urNp linux-3.0.7/drivers/block/drbd/drbd_receiver.c linux-3.0.7/drivers/block/drbd/drbd_receiver.c
24020--- linux-3.0.4/drivers/block/drbd/drbd_receiver.c 2011-07-21 22:17:23.000000000 -0400 24632--- linux-3.0.7/drivers/block/drbd/drbd_receiver.c 2011-07-21 22:17:23.000000000 -0400
24021+++ linux-3.0.4/drivers/block/drbd/drbd_receiver.c 2011-08-23 21:47:55.000000000 -0400 24633+++ linux-3.0.7/drivers/block/drbd/drbd_receiver.c 2011-08-23 21:47:55.000000000 -0400
24022@@ -894,7 +894,7 @@ retry: 24634@@ -894,7 +894,7 @@ retry:
24023 sock->sk->sk_sndtimeo = mdev->net_conf->timeout*HZ/10; 24635 sock->sk->sk_sndtimeo = mdev->net_conf->timeout*HZ/10;
24024 sock->sk->sk_rcvtimeo = MAX_SCHEDULE_TIMEOUT; 24636 sock->sk->sk_rcvtimeo = MAX_SCHEDULE_TIMEOUT;
@@ -24104,9 +24716,21 @@ diff -urNp linux-3.0.4/drivers/block/drbd/drbd_receiver.c linux-3.0.4/drivers/bl
24104 D_ASSERT(list_empty(&mdev->current_epoch->list)); 24716 D_ASSERT(list_empty(&mdev->current_epoch->list));
24105 } 24717 }
24106 24718
24107diff -urNp linux-3.0.4/drivers/block/nbd.c linux-3.0.4/drivers/block/nbd.c 24719diff -urNp linux-3.0.7/drivers/block/loop.c linux-3.0.7/drivers/block/loop.c
24108--- linux-3.0.4/drivers/block/nbd.c 2011-07-21 22:17:23.000000000 -0400 24720--- linux-3.0.7/drivers/block/loop.c 2011-09-02 18:11:26.000000000 -0400
24109+++ linux-3.0.4/drivers/block/nbd.c 2011-08-23 21:48:14.000000000 -0400 24721+++ linux-3.0.7/drivers/block/loop.c 2011-10-06 04:17:55.000000000 -0400
24722@@ -283,7 +283,7 @@ static int __do_lo_send_write(struct fil
24723 mm_segment_t old_fs = get_fs();
24724
24725 set_fs(get_ds());
24726- bw = file->f_op->write(file, buf, len, &pos);
24727+ bw = file->f_op->write(file, (const char __force_user *)buf, len, &pos);
24728 set_fs(old_fs);
24729 if (likely(bw == len))
24730 return 0;
24731diff -urNp linux-3.0.7/drivers/block/nbd.c linux-3.0.7/drivers/block/nbd.c
24732--- linux-3.0.7/drivers/block/nbd.c 2011-07-21 22:17:23.000000000 -0400
24733+++ linux-3.0.7/drivers/block/nbd.c 2011-08-23 21:48:14.000000000 -0400
24110@@ -157,6 +157,8 @@ static int sock_xmit(struct nbd_device * 24734@@ -157,6 +157,8 @@ static int sock_xmit(struct nbd_device *
24111 struct kvec iov; 24735 struct kvec iov;
24112 sigset_t blocked, oldset; 24736 sigset_t blocked, oldset;
@@ -24125,9 +24749,9 @@ diff -urNp linux-3.0.4/drivers/block/nbd.c linux-3.0.4/drivers/block/nbd.c
24125 switch (cmd) { 24749 switch (cmd) {
24126 case NBD_DISCONNECT: { 24750 case NBD_DISCONNECT: {
24127 struct request sreq; 24751 struct request sreq;
24128diff -urNp linux-3.0.4/drivers/char/agp/frontend.c linux-3.0.4/drivers/char/agp/frontend.c 24752diff -urNp linux-3.0.7/drivers/char/agp/frontend.c linux-3.0.7/drivers/char/agp/frontend.c
24129--- linux-3.0.4/drivers/char/agp/frontend.c 2011-07-21 22:17:23.000000000 -0400 24753--- linux-3.0.7/drivers/char/agp/frontend.c 2011-07-21 22:17:23.000000000 -0400
24130+++ linux-3.0.4/drivers/char/agp/frontend.c 2011-08-23 21:47:55.000000000 -0400 24754+++ linux-3.0.7/drivers/char/agp/frontend.c 2011-08-23 21:47:55.000000000 -0400
24131@@ -817,7 +817,7 @@ static int agpioc_reserve_wrap(struct ag 24755@@ -817,7 +817,7 @@ static int agpioc_reserve_wrap(struct ag
24132 if (copy_from_user(&reserve, arg, sizeof(struct agp_region))) 24756 if (copy_from_user(&reserve, arg, sizeof(struct agp_region)))
24133 return -EFAULT; 24757 return -EFAULT;
@@ -24137,9 +24761,9 @@ diff -urNp linux-3.0.4/drivers/char/agp/frontend.c linux-3.0.4/drivers/char/agp/
24137 return -EFAULT; 24761 return -EFAULT;
24138 24762
24139 client = agp_find_client_by_pid(reserve.pid); 24763 client = agp_find_client_by_pid(reserve.pid);
24140diff -urNp linux-3.0.4/drivers/char/briq_panel.c linux-3.0.4/drivers/char/briq_panel.c 24764diff -urNp linux-3.0.7/drivers/char/briq_panel.c linux-3.0.7/drivers/char/briq_panel.c
24141--- linux-3.0.4/drivers/char/briq_panel.c 2011-07-21 22:17:23.000000000 -0400 24765--- linux-3.0.7/drivers/char/briq_panel.c 2011-07-21 22:17:23.000000000 -0400
24142+++ linux-3.0.4/drivers/char/briq_panel.c 2011-08-23 21:48:14.000000000 -0400 24766+++ linux-3.0.7/drivers/char/briq_panel.c 2011-08-23 21:48:14.000000000 -0400
24143@@ -9,6 +9,7 @@ 24767@@ -9,6 +9,7 @@
24144 #include <linux/types.h> 24768 #include <linux/types.h>
24145 #include <linux/errno.h> 24769 #include <linux/errno.h>
@@ -24181,9 +24805,9 @@ diff -urNp linux-3.0.4/drivers/char/briq_panel.c linux-3.0.4/drivers/char/briq_p
24181 24805
24182 return len; 24806 return len;
24183 } 24807 }
24184diff -urNp linux-3.0.4/drivers/char/genrtc.c linux-3.0.4/drivers/char/genrtc.c 24808diff -urNp linux-3.0.7/drivers/char/genrtc.c linux-3.0.7/drivers/char/genrtc.c
24185--- linux-3.0.4/drivers/char/genrtc.c 2011-07-21 22:17:23.000000000 -0400 24809--- linux-3.0.7/drivers/char/genrtc.c 2011-07-21 22:17:23.000000000 -0400
24186+++ linux-3.0.4/drivers/char/genrtc.c 2011-08-23 21:48:14.000000000 -0400 24810+++ linux-3.0.7/drivers/char/genrtc.c 2011-08-23 21:48:14.000000000 -0400
24187@@ -273,6 +273,7 @@ static int gen_rtc_ioctl(struct file *fi 24811@@ -273,6 +273,7 @@ static int gen_rtc_ioctl(struct file *fi
24188 switch (cmd) { 24812 switch (cmd) {
24189 24813
@@ -24192,9 +24816,9 @@ diff -urNp linux-3.0.4/drivers/char/genrtc.c linux-3.0.4/drivers/char/genrtc.c
24192 if (get_rtc_pll(&pll)) 24816 if (get_rtc_pll(&pll))
24193 return -EINVAL; 24817 return -EINVAL;
24194 else 24818 else
24195diff -urNp linux-3.0.4/drivers/char/hpet.c linux-3.0.4/drivers/char/hpet.c 24819diff -urNp linux-3.0.7/drivers/char/hpet.c linux-3.0.7/drivers/char/hpet.c
24196--- linux-3.0.4/drivers/char/hpet.c 2011-07-21 22:17:23.000000000 -0400 24820--- linux-3.0.7/drivers/char/hpet.c 2011-07-21 22:17:23.000000000 -0400
24197+++ linux-3.0.4/drivers/char/hpet.c 2011-08-23 21:47:55.000000000 -0400 24821+++ linux-3.0.7/drivers/char/hpet.c 2011-08-23 21:47:55.000000000 -0400
24198@@ -572,7 +572,7 @@ static inline unsigned long hpet_time_di 24822@@ -572,7 +572,7 @@ static inline unsigned long hpet_time_di
24199 } 24823 }
24200 24824
@@ -24204,9 +24828,9 @@ diff -urNp linux-3.0.4/drivers/char/hpet.c linux-3.0.4/drivers/char/hpet.c
24204 struct hpet_info *info) 24828 struct hpet_info *info)
24205 { 24829 {
24206 struct hpet_timer __iomem *timer; 24830 struct hpet_timer __iomem *timer;
24207diff -urNp linux-3.0.4/drivers/char/ipmi/ipmi_msghandler.c linux-3.0.4/drivers/char/ipmi/ipmi_msghandler.c 24831diff -urNp linux-3.0.7/drivers/char/ipmi/ipmi_msghandler.c linux-3.0.7/drivers/char/ipmi/ipmi_msghandler.c
24208--- linux-3.0.4/drivers/char/ipmi/ipmi_msghandler.c 2011-07-21 22:17:23.000000000 -0400 24832--- linux-3.0.7/drivers/char/ipmi/ipmi_msghandler.c 2011-07-21 22:17:23.000000000 -0400
24209+++ linux-3.0.4/drivers/char/ipmi/ipmi_msghandler.c 2011-08-23 21:48:14.000000000 -0400 24833+++ linux-3.0.7/drivers/char/ipmi/ipmi_msghandler.c 2011-08-23 21:48:14.000000000 -0400
24210@@ -415,7 +415,7 @@ struct ipmi_smi { 24834@@ -415,7 +415,7 @@ struct ipmi_smi {
24211 struct proc_dir_entry *proc_dir; 24835 struct proc_dir_entry *proc_dir;
24212 char proc_dir_name[10]; 24836 char proc_dir_name[10];
@@ -24246,9 +24870,9 @@ diff -urNp linux-3.0.4/drivers/char/ipmi/ipmi_msghandler.c linux-3.0.4/drivers/c
24246 si = (struct ipmi_system_interface_addr *) &addr; 24870 si = (struct ipmi_system_interface_addr *) &addr;
24247 si->addr_type = IPMI_SYSTEM_INTERFACE_ADDR_TYPE; 24871 si->addr_type = IPMI_SYSTEM_INTERFACE_ADDR_TYPE;
24248 si->channel = IPMI_BMC_CHANNEL; 24872 si->channel = IPMI_BMC_CHANNEL;
24249diff -urNp linux-3.0.4/drivers/char/ipmi/ipmi_si_intf.c linux-3.0.4/drivers/char/ipmi/ipmi_si_intf.c 24873diff -urNp linux-3.0.7/drivers/char/ipmi/ipmi_si_intf.c linux-3.0.7/drivers/char/ipmi/ipmi_si_intf.c
24250--- linux-3.0.4/drivers/char/ipmi/ipmi_si_intf.c 2011-07-21 22:17:23.000000000 -0400 24874--- linux-3.0.7/drivers/char/ipmi/ipmi_si_intf.c 2011-07-21 22:17:23.000000000 -0400
24251+++ linux-3.0.4/drivers/char/ipmi/ipmi_si_intf.c 2011-08-23 21:47:55.000000000 -0400 24875+++ linux-3.0.7/drivers/char/ipmi/ipmi_si_intf.c 2011-08-23 21:47:55.000000000 -0400
24252@@ -277,7 +277,7 @@ struct smi_info { 24876@@ -277,7 +277,7 @@ struct smi_info {
24253 unsigned char slave_addr; 24877 unsigned char slave_addr;
24254 24878
@@ -24279,9 +24903,9 @@ diff -urNp linux-3.0.4/drivers/char/ipmi/ipmi_si_intf.c linux-3.0.4/drivers/char
24279 24903
24280 new_smi->interrupt_disabled = 1; 24904 new_smi->interrupt_disabled = 1;
24281 atomic_set(&new_smi->stop_operation, 0); 24905 atomic_set(&new_smi->stop_operation, 0);
24282diff -urNp linux-3.0.4/drivers/char/Kconfig linux-3.0.4/drivers/char/Kconfig 24906diff -urNp linux-3.0.7/drivers/char/Kconfig linux-3.0.7/drivers/char/Kconfig
24283--- linux-3.0.4/drivers/char/Kconfig 2011-07-21 22:17:23.000000000 -0400 24907--- linux-3.0.7/drivers/char/Kconfig 2011-07-21 22:17:23.000000000 -0400
24284+++ linux-3.0.4/drivers/char/Kconfig 2011-08-23 21:48:14.000000000 -0400 24908+++ linux-3.0.7/drivers/char/Kconfig 2011-08-23 21:48:14.000000000 -0400
24285@@ -8,7 +8,8 @@ source "drivers/tty/Kconfig" 24909@@ -8,7 +8,8 @@ source "drivers/tty/Kconfig"
24286 24910
24287 config DEVKMEM 24911 config DEVKMEM
@@ -24300,9 +24924,21 @@ diff -urNp linux-3.0.4/drivers/char/Kconfig linux-3.0.4/drivers/char/Kconfig
24300 default y 24924 default y
24301 24925
24302 source "drivers/s390/char/Kconfig" 24926 source "drivers/s390/char/Kconfig"
24303diff -urNp linux-3.0.4/drivers/char/mem.c linux-3.0.4/drivers/char/mem.c 24927diff -urNp linux-3.0.7/drivers/char/mbcs.c linux-3.0.7/drivers/char/mbcs.c
24304--- linux-3.0.4/drivers/char/mem.c 2011-07-21 22:17:23.000000000 -0400 24928--- linux-3.0.7/drivers/char/mbcs.c 2011-07-21 22:17:23.000000000 -0400
24305+++ linux-3.0.4/drivers/char/mem.c 2011-08-23 21:48:14.000000000 -0400 24929+++ linux-3.0.7/drivers/char/mbcs.c 2011-10-11 10:44:33.000000000 -0400
24930@@ -800,7 +800,7 @@ static int mbcs_remove(struct cx_dev *de
24931 return 0;
24932 }
24933
24934-static const struct cx_device_id __devinitdata mbcs_id_table[] = {
24935+static const struct cx_device_id __devinitconst mbcs_id_table[] = {
24936 {
24937 .part_num = MBCS_PART_NUM,
24938 .mfg_num = MBCS_MFG_NUM,
24939diff -urNp linux-3.0.7/drivers/char/mem.c linux-3.0.7/drivers/char/mem.c
24940--- linux-3.0.7/drivers/char/mem.c 2011-07-21 22:17:23.000000000 -0400
24941+++ linux-3.0.7/drivers/char/mem.c 2011-08-23 21:48:14.000000000 -0400
24306@@ -18,6 +18,7 @@ 24942@@ -18,6 +18,7 @@
24307 #include <linux/raw.h> 24943 #include <linux/raw.h>
24308 #include <linux/tty.h> 24944 #include <linux/tty.h>
@@ -24435,9 +25071,9 @@ diff -urNp linux-3.0.4/drivers/char/mem.c linux-3.0.4/drivers/char/mem.c
24435 }; 25071 };
24436 25072
24437 static int memory_open(struct inode *inode, struct file *filp) 25073 static int memory_open(struct inode *inode, struct file *filp)
24438diff -urNp linux-3.0.4/drivers/char/nvram.c linux-3.0.4/drivers/char/nvram.c 25074diff -urNp linux-3.0.7/drivers/char/nvram.c linux-3.0.7/drivers/char/nvram.c
24439--- linux-3.0.4/drivers/char/nvram.c 2011-07-21 22:17:23.000000000 -0400 25075--- linux-3.0.7/drivers/char/nvram.c 2011-07-21 22:17:23.000000000 -0400
24440+++ linux-3.0.4/drivers/char/nvram.c 2011-08-23 21:47:55.000000000 -0400 25076+++ linux-3.0.7/drivers/char/nvram.c 2011-08-23 21:47:55.000000000 -0400
24441@@ -246,7 +246,7 @@ static ssize_t nvram_read(struct file *f 25077@@ -246,7 +246,7 @@ static ssize_t nvram_read(struct file *f
24442 25078
24443 spin_unlock_irq(&rtc_lock); 25079 spin_unlock_irq(&rtc_lock);
@@ -24447,9 +25083,9 @@ diff -urNp linux-3.0.4/drivers/char/nvram.c linux-3.0.4/drivers/char/nvram.c
24447 return -EFAULT; 25083 return -EFAULT;
24448 25084
24449 *ppos = i; 25085 *ppos = i;
24450diff -urNp linux-3.0.4/drivers/char/random.c linux-3.0.4/drivers/char/random.c 25086diff -urNp linux-3.0.7/drivers/char/random.c linux-3.0.7/drivers/char/random.c
24451--- linux-3.0.4/drivers/char/random.c 2011-09-02 18:11:21.000000000 -0400 25087--- linux-3.0.7/drivers/char/random.c 2011-09-02 18:11:21.000000000 -0400
24452+++ linux-3.0.4/drivers/char/random.c 2011-08-23 21:48:14.000000000 -0400 25088+++ linux-3.0.7/drivers/char/random.c 2011-08-23 21:48:14.000000000 -0400
24453@@ -261,8 +261,13 @@ 25089@@ -261,8 +261,13 @@
24454 /* 25090 /*
24455 * Configuration information 25091 * Configuration information
@@ -24500,9 +25136,9 @@ diff -urNp linux-3.0.4/drivers/char/random.c linux-3.0.4/drivers/char/random.c
24500 static int max_write_thresh = INPUT_POOL_WORDS * 32; 25136 static int max_write_thresh = INPUT_POOL_WORDS * 32;
24501 static char sysctl_bootid[16]; 25137 static char sysctl_bootid[16];
24502 25138
24503diff -urNp linux-3.0.4/drivers/char/sonypi.c linux-3.0.4/drivers/char/sonypi.c 25139diff -urNp linux-3.0.7/drivers/char/sonypi.c linux-3.0.7/drivers/char/sonypi.c
24504--- linux-3.0.4/drivers/char/sonypi.c 2011-07-21 22:17:23.000000000 -0400 25140--- linux-3.0.7/drivers/char/sonypi.c 2011-07-21 22:17:23.000000000 -0400
24505+++ linux-3.0.4/drivers/char/sonypi.c 2011-08-23 21:47:55.000000000 -0400 25141+++ linux-3.0.7/drivers/char/sonypi.c 2011-08-23 21:47:55.000000000 -0400
24506@@ -55,6 +55,7 @@ 25142@@ -55,6 +55,7 @@
24507 #include <asm/uaccess.h> 25143 #include <asm/uaccess.h>
24508 #include <asm/io.h> 25144 #include <asm/io.h>
@@ -24541,9 +25177,9 @@ diff -urNp linux-3.0.4/drivers/char/sonypi.c linux-3.0.4/drivers/char/sonypi.c
24541 mutex_unlock(&sonypi_device.lock); 25177 mutex_unlock(&sonypi_device.lock);
24542 25178
24543 return 0; 25179 return 0;
24544diff -urNp linux-3.0.4/drivers/char/tpm/tpm_bios.c linux-3.0.4/drivers/char/tpm/tpm_bios.c 25180diff -urNp linux-3.0.7/drivers/char/tpm/tpm_bios.c linux-3.0.7/drivers/char/tpm/tpm_bios.c
24545--- linux-3.0.4/drivers/char/tpm/tpm_bios.c 2011-07-21 22:17:23.000000000 -0400 25181--- linux-3.0.7/drivers/char/tpm/tpm_bios.c 2011-07-21 22:17:23.000000000 -0400
24546+++ linux-3.0.4/drivers/char/tpm/tpm_bios.c 2011-08-23 21:47:55.000000000 -0400 25182+++ linux-3.0.7/drivers/char/tpm/tpm_bios.c 2011-10-06 04:17:55.000000000 -0400
24547@@ -173,7 +173,7 @@ static void *tpm_bios_measurements_start 25183@@ -173,7 +173,7 @@ static void *tpm_bios_measurements_start
24548 event = addr; 25184 event = addr;
24549 25185
@@ -24572,7 +25208,7 @@ diff -urNp linux-3.0.4/drivers/char/tpm/tpm_bios.c linux-3.0.4/drivers/char/tpm/
24572 25208
24573 return 0; 25209 return 0;
24574 } 25210 }
24575@@ -410,6 +411,11 @@ static int read_log(struct tpm_bios_log 25211@@ -410,8 +411,13 @@ static int read_log(struct tpm_bios_log
24576 log->bios_event_log_end = log->bios_event_log + len; 25212 log->bios_event_log_end = log->bios_event_log + len;
24577 25213
24578 virt = acpi_os_map_memory(start, len); 25214 virt = acpi_os_map_memory(start, len);
@@ -24582,12 +25218,15 @@ diff -urNp linux-3.0.4/drivers/char/tpm/tpm_bios.c linux-3.0.4/drivers/char/tpm/
24582+ return -EFAULT; 25218+ return -EFAULT;
24583+ } 25219+ }
24584 25220
24585 memcpy(log->bios_event_log, virt, len); 25221- memcpy(log->bios_event_log, virt, len);
25222+ memcpy(log->bios_event_log, (const char __force_kernel *)virt, len);
24586 25223
24587diff -urNp linux-3.0.4/drivers/char/tpm/tpm.c linux-3.0.4/drivers/char/tpm/tpm.c 25224 acpi_os_unmap_memory(virt, len);
24588--- linux-3.0.4/drivers/char/tpm/tpm.c 2011-07-21 22:17:23.000000000 -0400 25225 return 0;
24589+++ linux-3.0.4/drivers/char/tpm/tpm.c 2011-08-23 21:48:14.000000000 -0400 25226diff -urNp linux-3.0.7/drivers/char/tpm/tpm.c linux-3.0.7/drivers/char/tpm/tpm.c
24590@@ -411,7 +411,7 @@ static ssize_t tpm_transmit(struct tpm_c 25227--- linux-3.0.7/drivers/char/tpm/tpm.c 2011-10-16 21:54:53.000000000 -0400
25228+++ linux-3.0.7/drivers/char/tpm/tpm.c 2011-10-16 21:55:27.000000000 -0400
25229@@ -414,7 +414,7 @@ static ssize_t tpm_transmit(struct tpm_c
24591 chip->vendor.req_complete_val) 25230 chip->vendor.req_complete_val)
24592 goto out_recv; 25231 goto out_recv;
24593 25232
@@ -24596,7 +25235,7 @@ diff -urNp linux-3.0.4/drivers/char/tpm/tpm.c linux-3.0.4/drivers/char/tpm/tpm.c
24596 dev_err(chip->dev, "Operation Canceled\n"); 25235 dev_err(chip->dev, "Operation Canceled\n");
24597 rc = -ECANCELED; 25236 rc = -ECANCELED;
24598 goto out; 25237 goto out;
24599@@ -844,6 +844,8 @@ ssize_t tpm_show_pubek(struct device *de 25238@@ -847,6 +847,8 @@ ssize_t tpm_show_pubek(struct device *de
24600 25239
24601 struct tpm_chip *chip = dev_get_drvdata(dev); 25240 struct tpm_chip *chip = dev_get_drvdata(dev);
24602 25241
@@ -24605,9 +25244,30 @@ diff -urNp linux-3.0.4/drivers/char/tpm/tpm.c linux-3.0.4/drivers/char/tpm/tpm.c
24605 tpm_cmd.header.in = tpm_readpubek_header; 25244 tpm_cmd.header.in = tpm_readpubek_header;
24606 err = transmit_cmd(chip, &tpm_cmd, READ_PUBEK_RESULT_SIZE, 25245 err = transmit_cmd(chip, &tpm_cmd, READ_PUBEK_RESULT_SIZE,
24607 "attempting to read the PUBEK"); 25246 "attempting to read the PUBEK");
24608diff -urNp linux-3.0.4/drivers/crypto/hifn_795x.c linux-3.0.4/drivers/crypto/hifn_795x.c 25247diff -urNp linux-3.0.7/drivers/char/virtio_console.c linux-3.0.7/drivers/char/virtio_console.c
24609--- linux-3.0.4/drivers/crypto/hifn_795x.c 2011-07-21 22:17:23.000000000 -0400 25248--- linux-3.0.7/drivers/char/virtio_console.c 2011-07-21 22:17:23.000000000 -0400
24610+++ linux-3.0.4/drivers/crypto/hifn_795x.c 2011-08-23 21:48:14.000000000 -0400 25249+++ linux-3.0.7/drivers/char/virtio_console.c 2011-10-06 04:17:55.000000000 -0400
25250@@ -555,7 +555,7 @@ static ssize_t fill_readbuf(struct port
25251 if (to_user) {
25252 ssize_t ret;
25253
25254- ret = copy_to_user(out_buf, buf->buf + buf->offset, out_count);
25255+ ret = copy_to_user((char __force_user *)out_buf, buf->buf + buf->offset, out_count);
25256 if (ret)
25257 return -EFAULT;
25258 } else {
25259@@ -654,7 +654,7 @@ static ssize_t port_fops_read(struct fil
25260 if (!port_has_data(port) && !port->host_connected)
25261 return 0;
25262
25263- return fill_readbuf(port, ubuf, count, true);
25264+ return fill_readbuf(port, (char __force_kernel *)ubuf, count, true);
25265 }
25266
25267 static ssize_t port_fops_write(struct file *filp, const char __user *ubuf,
25268diff -urNp linux-3.0.7/drivers/crypto/hifn_795x.c linux-3.0.7/drivers/crypto/hifn_795x.c
25269--- linux-3.0.7/drivers/crypto/hifn_795x.c 2011-07-21 22:17:23.000000000 -0400
25270+++ linux-3.0.7/drivers/crypto/hifn_795x.c 2011-08-23 21:48:14.000000000 -0400
24611@@ -1655,6 +1655,8 @@ static int hifn_test(struct hifn_device 25271@@ -1655,6 +1655,8 @@ static int hifn_test(struct hifn_device
24612 0xCA, 0x34, 0x2B, 0x2E}; 25272 0xCA, 0x34, 0x2B, 0x2E};
24613 struct scatterlist sg; 25273 struct scatterlist sg;
@@ -24617,9 +25277,9 @@ diff -urNp linux-3.0.4/drivers/crypto/hifn_795x.c linux-3.0.4/drivers/crypto/hif
24617 memset(src, 0, sizeof(src)); 25277 memset(src, 0, sizeof(src));
24618 memset(ctx.key, 0, sizeof(ctx.key)); 25278 memset(ctx.key, 0, sizeof(ctx.key));
24619 25279
24620diff -urNp linux-3.0.4/drivers/crypto/padlock-aes.c linux-3.0.4/drivers/crypto/padlock-aes.c 25280diff -urNp linux-3.0.7/drivers/crypto/padlock-aes.c linux-3.0.7/drivers/crypto/padlock-aes.c
24621--- linux-3.0.4/drivers/crypto/padlock-aes.c 2011-07-21 22:17:23.000000000 -0400 25281--- linux-3.0.7/drivers/crypto/padlock-aes.c 2011-07-21 22:17:23.000000000 -0400
24622+++ linux-3.0.4/drivers/crypto/padlock-aes.c 2011-08-23 21:48:14.000000000 -0400 25282+++ linux-3.0.7/drivers/crypto/padlock-aes.c 2011-08-23 21:48:14.000000000 -0400
24623@@ -109,6 +109,8 @@ static int aes_set_key(struct crypto_tfm 25283@@ -109,6 +109,8 @@ static int aes_set_key(struct crypto_tfm
24624 struct crypto_aes_ctx gen_aes; 25284 struct crypto_aes_ctx gen_aes;
24625 int cpu; 25285 int cpu;
@@ -24629,9 +25289,75 @@ diff -urNp linux-3.0.4/drivers/crypto/padlock-aes.c linux-3.0.4/drivers/crypto/p
24629 if (key_len % 8) { 25289 if (key_len % 8) {
24630 *flags |= CRYPTO_TFM_RES_BAD_KEY_LEN; 25290 *flags |= CRYPTO_TFM_RES_BAD_KEY_LEN;
24631 return -EINVAL; 25291 return -EINVAL;
24632diff -urNp linux-3.0.4/drivers/edac/edac_pci_sysfs.c linux-3.0.4/drivers/edac/edac_pci_sysfs.c 25292diff -urNp linux-3.0.7/drivers/dma/ioat/dma_v3.c linux-3.0.7/drivers/dma/ioat/dma_v3.c
24633--- linux-3.0.4/drivers/edac/edac_pci_sysfs.c 2011-07-21 22:17:23.000000000 -0400 25293--- linux-3.0.7/drivers/dma/ioat/dma_v3.c 2011-07-21 22:17:23.000000000 -0400
24634+++ linux-3.0.4/drivers/edac/edac_pci_sysfs.c 2011-08-23 21:47:55.000000000 -0400 25294+++ linux-3.0.7/drivers/dma/ioat/dma_v3.c 2011-10-11 10:44:33.000000000 -0400
25295@@ -73,10 +73,10 @@
25296 /* provide a lookup table for setting the source address in the base or
25297 * extended descriptor of an xor or pq descriptor
25298 */
25299-static const u8 xor_idx_to_desc __read_mostly = 0xd0;
25300-static const u8 xor_idx_to_field[] __read_mostly = { 1, 4, 5, 6, 7, 0, 1, 2 };
25301-static const u8 pq_idx_to_desc __read_mostly = 0xf8;
25302-static const u8 pq_idx_to_field[] __read_mostly = { 1, 4, 5, 0, 1, 2, 4, 5 };
25303+static const u8 xor_idx_to_desc = 0xd0;
25304+static const u8 xor_idx_to_field[] = { 1, 4, 5, 6, 7, 0, 1, 2 };
25305+static const u8 pq_idx_to_desc = 0xf8;
25306+static const u8 pq_idx_to_field[] = { 1, 4, 5, 0, 1, 2, 4, 5 };
25307
25308 static dma_addr_t xor_get_src(struct ioat_raw_descriptor *descs[2], int idx)
25309 {
25310diff -urNp linux-3.0.7/drivers/edac/amd64_edac.c linux-3.0.7/drivers/edac/amd64_edac.c
25311--- linux-3.0.7/drivers/edac/amd64_edac.c 2011-07-21 22:17:23.000000000 -0400
25312+++ linux-3.0.7/drivers/edac/amd64_edac.c 2011-10-11 10:44:33.000000000 -0400
25313@@ -2670,7 +2670,7 @@ static void __devexit amd64_remove_one_i
25314 * PCI core identifies what devices are on a system during boot, and then
25315 * inquiry this table to see if this driver is for a given device found.
25316 */
25317-static const struct pci_device_id amd64_pci_table[] __devinitdata = {
25318+static const struct pci_device_id amd64_pci_table[] __devinitconst = {
25319 {
25320 .vendor = PCI_VENDOR_ID_AMD,
25321 .device = PCI_DEVICE_ID_AMD_K8_NB_MEMCTL,
25322diff -urNp linux-3.0.7/drivers/edac/amd76x_edac.c linux-3.0.7/drivers/edac/amd76x_edac.c
25323--- linux-3.0.7/drivers/edac/amd76x_edac.c 2011-07-21 22:17:23.000000000 -0400
25324+++ linux-3.0.7/drivers/edac/amd76x_edac.c 2011-10-11 10:44:33.000000000 -0400
25325@@ -321,7 +321,7 @@ static void __devexit amd76x_remove_one(
25326 edac_mc_free(mci);
25327 }
25328
25329-static const struct pci_device_id amd76x_pci_tbl[] __devinitdata = {
25330+static const struct pci_device_id amd76x_pci_tbl[] __devinitconst = {
25331 {
25332 PCI_VEND_DEV(AMD, FE_GATE_700C), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25333 AMD762},
25334diff -urNp linux-3.0.7/drivers/edac/e752x_edac.c linux-3.0.7/drivers/edac/e752x_edac.c
25335--- linux-3.0.7/drivers/edac/e752x_edac.c 2011-07-21 22:17:23.000000000 -0400
25336+++ linux-3.0.7/drivers/edac/e752x_edac.c 2011-10-11 10:44:33.000000000 -0400
25337@@ -1380,7 +1380,7 @@ static void __devexit e752x_remove_one(s
25338 edac_mc_free(mci);
25339 }
25340
25341-static const struct pci_device_id e752x_pci_tbl[] __devinitdata = {
25342+static const struct pci_device_id e752x_pci_tbl[] __devinitconst = {
25343 {
25344 PCI_VEND_DEV(INTEL, 7520_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25345 E7520},
25346diff -urNp linux-3.0.7/drivers/edac/e7xxx_edac.c linux-3.0.7/drivers/edac/e7xxx_edac.c
25347--- linux-3.0.7/drivers/edac/e7xxx_edac.c 2011-07-21 22:17:23.000000000 -0400
25348+++ linux-3.0.7/drivers/edac/e7xxx_edac.c 2011-10-11 10:44:33.000000000 -0400
25349@@ -525,7 +525,7 @@ static void __devexit e7xxx_remove_one(s
25350 edac_mc_free(mci);
25351 }
25352
25353-static const struct pci_device_id e7xxx_pci_tbl[] __devinitdata = {
25354+static const struct pci_device_id e7xxx_pci_tbl[] __devinitconst = {
25355 {
25356 PCI_VEND_DEV(INTEL, 7205_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25357 E7205},
25358diff -urNp linux-3.0.7/drivers/edac/edac_pci_sysfs.c linux-3.0.7/drivers/edac/edac_pci_sysfs.c
25359--- linux-3.0.7/drivers/edac/edac_pci_sysfs.c 2011-07-21 22:17:23.000000000 -0400
25360+++ linux-3.0.7/drivers/edac/edac_pci_sysfs.c 2011-08-23 21:47:55.000000000 -0400
24635@@ -26,8 +26,8 @@ static int edac_pci_log_pe = 1; /* log 25361@@ -26,8 +26,8 @@ static int edac_pci_log_pe = 1; /* log
24636 static int edac_pci_log_npe = 1; /* log PCI non-parity error errors */ 25362 static int edac_pci_log_npe = 1; /* log PCI non-parity error errors */
24637 static int edac_pci_poll_msec = 1000; /* one second workq period */ 25363 static int edac_pci_poll_msec = 1000; /* one second workq period */
@@ -24715,9 +25441,141 @@ diff -urNp linux-3.0.4/drivers/edac/edac_pci_sysfs.c linux-3.0.4/drivers/edac/ed
24715 panic("EDAC: PCI Parity Error"); 25441 panic("EDAC: PCI Parity Error");
24716 } 25442 }
24717 } 25443 }
24718diff -urNp linux-3.0.4/drivers/edac/mce_amd.h linux-3.0.4/drivers/edac/mce_amd.h 25444diff -urNp linux-3.0.7/drivers/edac/i3000_edac.c linux-3.0.7/drivers/edac/i3000_edac.c
24719--- linux-3.0.4/drivers/edac/mce_amd.h 2011-07-21 22:17:23.000000000 -0400 25445--- linux-3.0.7/drivers/edac/i3000_edac.c 2011-07-21 22:17:23.000000000 -0400
24720+++ linux-3.0.4/drivers/edac/mce_amd.h 2011-08-23 21:47:55.000000000 -0400 25446+++ linux-3.0.7/drivers/edac/i3000_edac.c 2011-10-11 10:44:33.000000000 -0400
25447@@ -470,7 +470,7 @@ static void __devexit i3000_remove_one(s
25448 edac_mc_free(mci);
25449 }
25450
25451-static const struct pci_device_id i3000_pci_tbl[] __devinitdata = {
25452+static const struct pci_device_id i3000_pci_tbl[] __devinitconst = {
25453 {
25454 PCI_VEND_DEV(INTEL, 3000_HB), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25455 I3000},
25456diff -urNp linux-3.0.7/drivers/edac/i3200_edac.c linux-3.0.7/drivers/edac/i3200_edac.c
25457--- linux-3.0.7/drivers/edac/i3200_edac.c 2011-07-21 22:17:23.000000000 -0400
25458+++ linux-3.0.7/drivers/edac/i3200_edac.c 2011-10-11 10:44:33.000000000 -0400
25459@@ -456,7 +456,7 @@ static void __devexit i3200_remove_one(s
25460 edac_mc_free(mci);
25461 }
25462
25463-static const struct pci_device_id i3200_pci_tbl[] __devinitdata = {
25464+static const struct pci_device_id i3200_pci_tbl[] __devinitconst = {
25465 {
25466 PCI_VEND_DEV(INTEL, 3200_HB), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25467 I3200},
25468diff -urNp linux-3.0.7/drivers/edac/i5000_edac.c linux-3.0.7/drivers/edac/i5000_edac.c
25469--- linux-3.0.7/drivers/edac/i5000_edac.c 2011-07-21 22:17:23.000000000 -0400
25470+++ linux-3.0.7/drivers/edac/i5000_edac.c 2011-10-11 10:44:33.000000000 -0400
25471@@ -1516,7 +1516,7 @@ static void __devexit i5000_remove_one(s
25472 *
25473 * The "E500P" device is the first device supported.
25474 */
25475-static const struct pci_device_id i5000_pci_tbl[] __devinitdata = {
25476+static const struct pci_device_id i5000_pci_tbl[] __devinitconst = {
25477 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I5000_DEV16),
25478 .driver_data = I5000P},
25479
25480diff -urNp linux-3.0.7/drivers/edac/i5100_edac.c linux-3.0.7/drivers/edac/i5100_edac.c
25481--- linux-3.0.7/drivers/edac/i5100_edac.c 2011-07-21 22:17:23.000000000 -0400
25482+++ linux-3.0.7/drivers/edac/i5100_edac.c 2011-10-11 10:44:33.000000000 -0400
25483@@ -1051,7 +1051,7 @@ static void __devexit i5100_remove_one(s
25484 edac_mc_free(mci);
25485 }
25486
25487-static const struct pci_device_id i5100_pci_tbl[] __devinitdata = {
25488+static const struct pci_device_id i5100_pci_tbl[] __devinitconst = {
25489 /* Device 16, Function 0, Channel 0 Memory Map, Error Flag/Mask, ... */
25490 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5100_16) },
25491 { 0, }
25492diff -urNp linux-3.0.7/drivers/edac/i5400_edac.c linux-3.0.7/drivers/edac/i5400_edac.c
25493--- linux-3.0.7/drivers/edac/i5400_edac.c 2011-07-21 22:17:23.000000000 -0400
25494+++ linux-3.0.7/drivers/edac/i5400_edac.c 2011-10-11 10:44:33.000000000 -0400
25495@@ -1383,7 +1383,7 @@ static void __devexit i5400_remove_one(s
25496 *
25497 * The "E500P" device is the first device supported.
25498 */
25499-static const struct pci_device_id i5400_pci_tbl[] __devinitdata = {
25500+static const struct pci_device_id i5400_pci_tbl[] __devinitconst = {
25501 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5400_ERR)},
25502 {0,} /* 0 terminated list. */
25503 };
25504diff -urNp linux-3.0.7/drivers/edac/i7300_edac.c linux-3.0.7/drivers/edac/i7300_edac.c
25505--- linux-3.0.7/drivers/edac/i7300_edac.c 2011-07-21 22:17:23.000000000 -0400
25506+++ linux-3.0.7/drivers/edac/i7300_edac.c 2011-10-11 10:44:33.000000000 -0400
25507@@ -1191,7 +1191,7 @@ static void __devexit i7300_remove_one(s
25508 *
25509 * Has only 8086:360c PCI ID
25510 */
25511-static const struct pci_device_id i7300_pci_tbl[] __devinitdata = {
25512+static const struct pci_device_id i7300_pci_tbl[] __devinitconst = {
25513 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I7300_MCH_ERR)},
25514 {0,} /* 0 terminated list. */
25515 };
25516diff -urNp linux-3.0.7/drivers/edac/i7core_edac.c linux-3.0.7/drivers/edac/i7core_edac.c
25517--- linux-3.0.7/drivers/edac/i7core_edac.c 2011-09-02 18:11:26.000000000 -0400
25518+++ linux-3.0.7/drivers/edac/i7core_edac.c 2011-10-11 10:44:33.000000000 -0400
25519@@ -359,7 +359,7 @@ static const struct pci_id_table pci_dev
25520 /*
25521 * pci_device_id table for which devices we are looking for
25522 */
25523-static const struct pci_device_id i7core_pci_tbl[] __devinitdata = {
25524+static const struct pci_device_id i7core_pci_tbl[] __devinitconst = {
25525 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_X58_HUB_MGMT)},
25526 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNNFIELD_QPI_LINK0)},
25527 {0,} /* 0 terminated list. */
25528diff -urNp linux-3.0.7/drivers/edac/i82443bxgx_edac.c linux-3.0.7/drivers/edac/i82443bxgx_edac.c
25529--- linux-3.0.7/drivers/edac/i82443bxgx_edac.c 2011-07-21 22:17:23.000000000 -0400
25530+++ linux-3.0.7/drivers/edac/i82443bxgx_edac.c 2011-10-11 10:44:33.000000000 -0400
25531@@ -380,7 +380,7 @@ static void __devexit i82443bxgx_edacmc_
25532
25533 EXPORT_SYMBOL_GPL(i82443bxgx_edacmc_remove_one);
25534
25535-static const struct pci_device_id i82443bxgx_pci_tbl[] __devinitdata = {
25536+static const struct pci_device_id i82443bxgx_pci_tbl[] __devinitconst = {
25537 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_0)},
25538 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_2)},
25539 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443GX_0)},
25540diff -urNp linux-3.0.7/drivers/edac/i82860_edac.c linux-3.0.7/drivers/edac/i82860_edac.c
25541--- linux-3.0.7/drivers/edac/i82860_edac.c 2011-07-21 22:17:23.000000000 -0400
25542+++ linux-3.0.7/drivers/edac/i82860_edac.c 2011-10-11 10:44:33.000000000 -0400
25543@@ -270,7 +270,7 @@ static void __devexit i82860_remove_one(
25544 edac_mc_free(mci);
25545 }
25546
25547-static const struct pci_device_id i82860_pci_tbl[] __devinitdata = {
25548+static const struct pci_device_id i82860_pci_tbl[] __devinitconst = {
25549 {
25550 PCI_VEND_DEV(INTEL, 82860_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25551 I82860},
25552diff -urNp linux-3.0.7/drivers/edac/i82875p_edac.c linux-3.0.7/drivers/edac/i82875p_edac.c
25553--- linux-3.0.7/drivers/edac/i82875p_edac.c 2011-07-21 22:17:23.000000000 -0400
25554+++ linux-3.0.7/drivers/edac/i82875p_edac.c 2011-10-11 10:44:33.000000000 -0400
25555@@ -511,7 +511,7 @@ static void __devexit i82875p_remove_one
25556 edac_mc_free(mci);
25557 }
25558
25559-static const struct pci_device_id i82875p_pci_tbl[] __devinitdata = {
25560+static const struct pci_device_id i82875p_pci_tbl[] __devinitconst = {
25561 {
25562 PCI_VEND_DEV(INTEL, 82875_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25563 I82875P},
25564diff -urNp linux-3.0.7/drivers/edac/i82975x_edac.c linux-3.0.7/drivers/edac/i82975x_edac.c
25565--- linux-3.0.7/drivers/edac/i82975x_edac.c 2011-07-21 22:17:23.000000000 -0400
25566+++ linux-3.0.7/drivers/edac/i82975x_edac.c 2011-10-11 10:44:33.000000000 -0400
25567@@ -604,7 +604,7 @@ static void __devexit i82975x_remove_one
25568 edac_mc_free(mci);
25569 }
25570
25571-static const struct pci_device_id i82975x_pci_tbl[] __devinitdata = {
25572+static const struct pci_device_id i82975x_pci_tbl[] __devinitconst = {
25573 {
25574 PCI_VEND_DEV(INTEL, 82975_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25575 I82975X
25576diff -urNp linux-3.0.7/drivers/edac/mce_amd.h linux-3.0.7/drivers/edac/mce_amd.h
25577--- linux-3.0.7/drivers/edac/mce_amd.h 2011-07-21 22:17:23.000000000 -0400
25578+++ linux-3.0.7/drivers/edac/mce_amd.h 2011-08-23 21:47:55.000000000 -0400
24721@@ -83,7 +83,7 @@ struct amd_decoder_ops { 25579@@ -83,7 +83,7 @@ struct amd_decoder_ops {
24722 bool (*dc_mce)(u16, u8); 25580 bool (*dc_mce)(u16, u8);
24723 bool (*ic_mce)(u16, u8); 25581 bool (*ic_mce)(u16, u8);
@@ -24727,9 +25585,33 @@ diff -urNp linux-3.0.4/drivers/edac/mce_amd.h linux-3.0.4/drivers/edac/mce_amd.h
24727 25585
24728 void amd_report_gart_errors(bool); 25586 void amd_report_gart_errors(bool);
24729 void amd_register_ecc_decoder(void (*f)(int, struct mce *, u32)); 25587 void amd_register_ecc_decoder(void (*f)(int, struct mce *, u32));
24730diff -urNp linux-3.0.4/drivers/firewire/core-card.c linux-3.0.4/drivers/firewire/core-card.c 25588diff -urNp linux-3.0.7/drivers/edac/r82600_edac.c linux-3.0.7/drivers/edac/r82600_edac.c
24731--- linux-3.0.4/drivers/firewire/core-card.c 2011-07-21 22:17:23.000000000 -0400 25589--- linux-3.0.7/drivers/edac/r82600_edac.c 2011-07-21 22:17:23.000000000 -0400
24732+++ linux-3.0.4/drivers/firewire/core-card.c 2011-08-23 21:47:55.000000000 -0400 25590+++ linux-3.0.7/drivers/edac/r82600_edac.c 2011-10-11 10:44:33.000000000 -0400
25591@@ -373,7 +373,7 @@ static void __devexit r82600_remove_one(
25592 edac_mc_free(mci);
25593 }
25594
25595-static const struct pci_device_id r82600_pci_tbl[] __devinitdata = {
25596+static const struct pci_device_id r82600_pci_tbl[] __devinitconst = {
25597 {
25598 PCI_DEVICE(PCI_VENDOR_ID_RADISYS, R82600_BRIDGE_ID)
25599 },
25600diff -urNp linux-3.0.7/drivers/edac/x38_edac.c linux-3.0.7/drivers/edac/x38_edac.c
25601--- linux-3.0.7/drivers/edac/x38_edac.c 2011-07-21 22:17:23.000000000 -0400
25602+++ linux-3.0.7/drivers/edac/x38_edac.c 2011-10-11 10:44:33.000000000 -0400
25603@@ -440,7 +440,7 @@ static void __devexit x38_remove_one(str
25604 edac_mc_free(mci);
25605 }
25606
25607-static const struct pci_device_id x38_pci_tbl[] __devinitdata = {
25608+static const struct pci_device_id x38_pci_tbl[] __devinitconst = {
25609 {
25610 PCI_VEND_DEV(INTEL, X38_HB), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25611 X38},
25612diff -urNp linux-3.0.7/drivers/firewire/core-card.c linux-3.0.7/drivers/firewire/core-card.c
25613--- linux-3.0.7/drivers/firewire/core-card.c 2011-07-21 22:17:23.000000000 -0400
25614+++ linux-3.0.7/drivers/firewire/core-card.c 2011-08-23 21:47:55.000000000 -0400
24733@@ -657,7 +657,7 @@ void fw_card_release(struct kref *kref) 25615@@ -657,7 +657,7 @@ void fw_card_release(struct kref *kref)
24734 25616
24735 void fw_core_remove_card(struct fw_card *card) 25617 void fw_core_remove_card(struct fw_card *card)
@@ -24739,9 +25621,9 @@ diff -urNp linux-3.0.4/drivers/firewire/core-card.c linux-3.0.4/drivers/firewire
24739 25621
24740 card->driver->update_phy_reg(card, 4, 25622 card->driver->update_phy_reg(card, 4,
24741 PHY_LINK_ACTIVE | PHY_CONTENDER, 0); 25623 PHY_LINK_ACTIVE | PHY_CONTENDER, 0);
24742diff -urNp linux-3.0.4/drivers/firewire/core-cdev.c linux-3.0.4/drivers/firewire/core-cdev.c 25624diff -urNp linux-3.0.7/drivers/firewire/core-cdev.c linux-3.0.7/drivers/firewire/core-cdev.c
24743--- linux-3.0.4/drivers/firewire/core-cdev.c 2011-09-02 18:11:21.000000000 -0400 25625--- linux-3.0.7/drivers/firewire/core-cdev.c 2011-09-02 18:11:21.000000000 -0400
24744+++ linux-3.0.4/drivers/firewire/core-cdev.c 2011-08-23 21:47:55.000000000 -0400 25626+++ linux-3.0.7/drivers/firewire/core-cdev.c 2011-08-23 21:47:55.000000000 -0400
24745@@ -1313,8 +1313,7 @@ static int init_iso_resource(struct clie 25627@@ -1313,8 +1313,7 @@ static int init_iso_resource(struct clie
24746 int ret; 25628 int ret;
24747 25629
@@ -24752,9 +25634,9 @@ diff -urNp linux-3.0.4/drivers/firewire/core-cdev.c linux-3.0.4/drivers/firewire
24752 return -EINVAL; 25634 return -EINVAL;
24753 25635
24754 r = kmalloc(sizeof(*r), GFP_KERNEL); 25636 r = kmalloc(sizeof(*r), GFP_KERNEL);
24755diff -urNp linux-3.0.4/drivers/firewire/core.h linux-3.0.4/drivers/firewire/core.h 25637diff -urNp linux-3.0.7/drivers/firewire/core.h linux-3.0.7/drivers/firewire/core.h
24756--- linux-3.0.4/drivers/firewire/core.h 2011-07-21 22:17:23.000000000 -0400 25638--- linux-3.0.7/drivers/firewire/core.h 2011-07-21 22:17:23.000000000 -0400
24757+++ linux-3.0.4/drivers/firewire/core.h 2011-08-23 21:47:55.000000000 -0400 25639+++ linux-3.0.7/drivers/firewire/core.h 2011-08-23 21:47:55.000000000 -0400
24758@@ -101,6 +101,7 @@ struct fw_card_driver { 25640@@ -101,6 +101,7 @@ struct fw_card_driver {
24759 25641
24760 int (*stop_iso)(struct fw_iso_context *ctx); 25642 int (*stop_iso)(struct fw_iso_context *ctx);
@@ -24763,9 +25645,9 @@ diff -urNp linux-3.0.4/drivers/firewire/core.h linux-3.0.4/drivers/firewire/core
24763 25645
24764 void fw_card_initialize(struct fw_card *card, 25646 void fw_card_initialize(struct fw_card *card,
24765 const struct fw_card_driver *driver, struct device *device); 25647 const struct fw_card_driver *driver, struct device *device);
24766diff -urNp linux-3.0.4/drivers/firewire/core-transaction.c linux-3.0.4/drivers/firewire/core-transaction.c 25648diff -urNp linux-3.0.7/drivers/firewire/core-transaction.c linux-3.0.7/drivers/firewire/core-transaction.c
24767--- linux-3.0.4/drivers/firewire/core-transaction.c 2011-07-21 22:17:23.000000000 -0400 25649--- linux-3.0.7/drivers/firewire/core-transaction.c 2011-07-21 22:17:23.000000000 -0400
24768+++ linux-3.0.4/drivers/firewire/core-transaction.c 2011-08-23 21:48:14.000000000 -0400 25650+++ linux-3.0.7/drivers/firewire/core-transaction.c 2011-08-23 21:48:14.000000000 -0400
24769@@ -37,6 +37,7 @@ 25651@@ -37,6 +37,7 @@
24770 #include <linux/timer.h> 25652 #include <linux/timer.h>
24771 #include <linux/types.h> 25653 #include <linux/types.h>
@@ -24783,9 +25665,9 @@ diff -urNp linux-3.0.4/drivers/firewire/core-transaction.c linux-3.0.4/drivers/f
24783 init_timer_on_stack(&t.split_timeout_timer); 25665 init_timer_on_stack(&t.split_timeout_timer);
24784 init_completion(&d.done); 25666 init_completion(&d.done);
24785 d.payload = payload; 25667 d.payload = payload;
24786diff -urNp linux-3.0.4/drivers/firmware/dmi_scan.c linux-3.0.4/drivers/firmware/dmi_scan.c 25668diff -urNp linux-3.0.7/drivers/firmware/dmi_scan.c linux-3.0.7/drivers/firmware/dmi_scan.c
24787--- linux-3.0.4/drivers/firmware/dmi_scan.c 2011-07-21 22:17:23.000000000 -0400 25669--- linux-3.0.7/drivers/firmware/dmi_scan.c 2011-07-21 22:17:23.000000000 -0400
24788+++ linux-3.0.4/drivers/firmware/dmi_scan.c 2011-08-23 21:47:55.000000000 -0400 25670+++ linux-3.0.7/drivers/firmware/dmi_scan.c 2011-10-06 04:17:55.000000000 -0400
24789@@ -449,11 +449,6 @@ void __init dmi_scan_machine(void) 25671@@ -449,11 +449,6 @@ void __init dmi_scan_machine(void)
24790 } 25672 }
24791 } 25673 }
@@ -24798,9 +25680,18 @@ diff -urNp linux-3.0.4/drivers/firmware/dmi_scan.c linux-3.0.4/drivers/firmware/
24798 p = dmi_ioremap(0xF0000, 0x10000); 25680 p = dmi_ioremap(0xF0000, 0x10000);
24799 if (p == NULL) 25681 if (p == NULL)
24800 goto error; 25682 goto error;
24801diff -urNp linux-3.0.4/drivers/gpio/vr41xx_giu.c linux-3.0.4/drivers/gpio/vr41xx_giu.c 25683@@ -725,7 +720,7 @@ int dmi_walk(void (*decode)(const struct
24802--- linux-3.0.4/drivers/gpio/vr41xx_giu.c 2011-07-21 22:17:23.000000000 -0400 25684 if (buf == NULL)
24803+++ linux-3.0.4/drivers/gpio/vr41xx_giu.c 2011-08-23 21:47:55.000000000 -0400 25685 return -1;
25686
25687- dmi_table(buf, dmi_len, dmi_num, decode, private_data);
25688+ dmi_table((char __force_kernel *)buf, dmi_len, dmi_num, decode, private_data);
25689
25690 iounmap(buf);
25691 return 0;
25692diff -urNp linux-3.0.7/drivers/gpio/vr41xx_giu.c linux-3.0.7/drivers/gpio/vr41xx_giu.c
25693--- linux-3.0.7/drivers/gpio/vr41xx_giu.c 2011-07-21 22:17:23.000000000 -0400
25694+++ linux-3.0.7/drivers/gpio/vr41xx_giu.c 2011-08-23 21:47:55.000000000 -0400
24804@@ -204,7 +204,7 @@ static int giu_get_irq(unsigned int irq) 25695@@ -204,7 +204,7 @@ static int giu_get_irq(unsigned int irq)
24805 printk(KERN_ERR "spurious GIU interrupt: %04x(%04x),%04x(%04x)\n", 25696 printk(KERN_ERR "spurious GIU interrupt: %04x(%04x),%04x(%04x)\n",
24806 maskl, pendl, maskh, pendh); 25697 maskl, pendl, maskh, pendh);
@@ -24810,9 +25701,104 @@ diff -urNp linux-3.0.4/drivers/gpio/vr41xx_giu.c linux-3.0.4/drivers/gpio/vr41xx
24810 25701
24811 return -EINVAL; 25702 return -EINVAL;
24812 } 25703 }
24813diff -urNp linux-3.0.4/drivers/gpu/drm/drm_crtc_helper.c linux-3.0.4/drivers/gpu/drm/drm_crtc_helper.c 25704diff -urNp linux-3.0.7/drivers/gpu/drm/drm_crtc.c linux-3.0.7/drivers/gpu/drm/drm_crtc.c
24814--- linux-3.0.4/drivers/gpu/drm/drm_crtc_helper.c 2011-07-21 22:17:23.000000000 -0400 25705--- linux-3.0.7/drivers/gpu/drm/drm_crtc.c 2011-07-21 22:17:23.000000000 -0400
24815+++ linux-3.0.4/drivers/gpu/drm/drm_crtc_helper.c 2011-08-23 21:48:14.000000000 -0400 25706+++ linux-3.0.7/drivers/gpu/drm/drm_crtc.c 2011-10-06 04:17:55.000000000 -0400
25707@@ -1372,7 +1372,7 @@ int drm_mode_getconnector(struct drm_dev
25708 */
25709 if ((out_resp->count_modes >= mode_count) && mode_count) {
25710 copied = 0;
25711- mode_ptr = (struct drm_mode_modeinfo *)(unsigned long)out_resp->modes_ptr;
25712+ mode_ptr = (struct drm_mode_modeinfo __user *)(unsigned long)out_resp->modes_ptr;
25713 list_for_each_entry(mode, &connector->modes, head) {
25714 drm_crtc_convert_to_umode(&u_mode, mode);
25715 if (copy_to_user(mode_ptr + copied,
25716@@ -1387,8 +1387,8 @@ int drm_mode_getconnector(struct drm_dev
25717
25718 if ((out_resp->count_props >= props_count) && props_count) {
25719 copied = 0;
25720- prop_ptr = (uint32_t *)(unsigned long)(out_resp->props_ptr);
25721- prop_values = (uint64_t *)(unsigned long)(out_resp->prop_values_ptr);
25722+ prop_ptr = (uint32_t __user *)(unsigned long)(out_resp->props_ptr);
25723+ prop_values = (uint64_t __user *)(unsigned long)(out_resp->prop_values_ptr);
25724 for (i = 0; i < DRM_CONNECTOR_MAX_PROPERTY; i++) {
25725 if (connector->property_ids[i] != 0) {
25726 if (put_user(connector->property_ids[i],
25727@@ -1410,7 +1410,7 @@ int drm_mode_getconnector(struct drm_dev
25728
25729 if ((out_resp->count_encoders >= encoders_count) && encoders_count) {
25730 copied = 0;
25731- encoder_ptr = (uint32_t *)(unsigned long)(out_resp->encoders_ptr);
25732+ encoder_ptr = (uint32_t __user *)(unsigned long)(out_resp->encoders_ptr);
25733 for (i = 0; i < DRM_CONNECTOR_MAX_ENCODER; i++) {
25734 if (connector->encoder_ids[i] != 0) {
25735 if (put_user(connector->encoder_ids[i],
25736@@ -1569,7 +1569,7 @@ int drm_mode_setcrtc(struct drm_device *
25737 }
25738
25739 for (i = 0; i < crtc_req->count_connectors; i++) {
25740- set_connectors_ptr = (uint32_t *)(unsigned long)crtc_req->set_connectors_ptr;
25741+ set_connectors_ptr = (uint32_t __user *)(unsigned long)crtc_req->set_connectors_ptr;
25742 if (get_user(out_id, &set_connectors_ptr[i])) {
25743 ret = -EFAULT;
25744 goto out;
25745@@ -1850,7 +1850,7 @@ int drm_mode_dirtyfb_ioctl(struct drm_de
25746 fb = obj_to_fb(obj);
25747
25748 num_clips = r->num_clips;
25749- clips_ptr = (struct drm_clip_rect *)(unsigned long)r->clips_ptr;
25750+ clips_ptr = (struct drm_clip_rect __user *)(unsigned long)r->clips_ptr;
25751
25752 if (!num_clips != !clips_ptr) {
25753 ret = -EINVAL;
25754@@ -2270,7 +2270,7 @@ int drm_mode_getproperty_ioctl(struct dr
25755 out_resp->flags = property->flags;
25756
25757 if ((out_resp->count_values >= value_count) && value_count) {
25758- values_ptr = (uint64_t *)(unsigned long)out_resp->values_ptr;
25759+ values_ptr = (uint64_t __user *)(unsigned long)out_resp->values_ptr;
25760 for (i = 0; i < value_count; i++) {
25761 if (copy_to_user(values_ptr + i, &property->values[i], sizeof(uint64_t))) {
25762 ret = -EFAULT;
25763@@ -2283,7 +2283,7 @@ int drm_mode_getproperty_ioctl(struct dr
25764 if (property->flags & DRM_MODE_PROP_ENUM) {
25765 if ((out_resp->count_enum_blobs >= enum_count) && enum_count) {
25766 copied = 0;
25767- enum_ptr = (struct drm_mode_property_enum *)(unsigned long)out_resp->enum_blob_ptr;
25768+ enum_ptr = (struct drm_mode_property_enum __user *)(unsigned long)out_resp->enum_blob_ptr;
25769 list_for_each_entry(prop_enum, &property->enum_blob_list, head) {
25770
25771 if (copy_to_user(&enum_ptr[copied].value, &prop_enum->value, sizeof(uint64_t))) {
25772@@ -2306,7 +2306,7 @@ int drm_mode_getproperty_ioctl(struct dr
25773 if ((out_resp->count_enum_blobs >= blob_count) && blob_count) {
25774 copied = 0;
25775 blob_id_ptr = (uint32_t *)(unsigned long)out_resp->enum_blob_ptr;
25776- blob_length_ptr = (uint32_t *)(unsigned long)out_resp->values_ptr;
25777+ blob_length_ptr = (uint32_t __user *)(unsigned long)out_resp->values_ptr;
25778
25779 list_for_each_entry(prop_blob, &property->enum_blob_list, head) {
25780 if (put_user(prop_blob->base.id, blob_id_ptr + copied)) {
25781@@ -2367,7 +2367,7 @@ int drm_mode_getblob_ioctl(struct drm_de
25782 struct drm_mode_get_blob *out_resp = data;
25783 struct drm_property_blob *blob;
25784 int ret = 0;
25785- void *blob_ptr;
25786+ void __user *blob_ptr;
25787
25788 if (!drm_core_check_feature(dev, DRIVER_MODESET))
25789 return -EINVAL;
25790@@ -2381,7 +2381,7 @@ int drm_mode_getblob_ioctl(struct drm_de
25791 blob = obj_to_blob(obj);
25792
25793 if (out_resp->length == blob->length) {
25794- blob_ptr = (void *)(unsigned long)out_resp->data;
25795+ blob_ptr = (void __user *)(unsigned long)out_resp->data;
25796 if (copy_to_user(blob_ptr, blob->data, blob->length)){
25797 ret = -EFAULT;
25798 goto done;
25799diff -urNp linux-3.0.7/drivers/gpu/drm/drm_crtc_helper.c linux-3.0.7/drivers/gpu/drm/drm_crtc_helper.c
25800--- linux-3.0.7/drivers/gpu/drm/drm_crtc_helper.c 2011-07-21 22:17:23.000000000 -0400
25801+++ linux-3.0.7/drivers/gpu/drm/drm_crtc_helper.c 2011-08-23 21:48:14.000000000 -0400
24816@@ -276,7 +276,7 @@ static bool drm_encoder_crtc_ok(struct d 25802@@ -276,7 +276,7 @@ static bool drm_encoder_crtc_ok(struct d
24817 struct drm_crtc *tmp; 25803 struct drm_crtc *tmp;
24818 int crtc_mask = 1; 25804 int crtc_mask = 1;
@@ -24831,9 +25817,18 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/drm_crtc_helper.c linux-3.0.4/drivers/gpu
24831 crtc->enabled = drm_helper_crtc_in_use(crtc); 25817 crtc->enabled = drm_helper_crtc_in_use(crtc);
24832 if (!crtc->enabled) 25818 if (!crtc->enabled)
24833 return true; 25819 return true;
24834diff -urNp linux-3.0.4/drivers/gpu/drm/drm_drv.c linux-3.0.4/drivers/gpu/drm/drm_drv.c 25820diff -urNp linux-3.0.7/drivers/gpu/drm/drm_drv.c linux-3.0.7/drivers/gpu/drm/drm_drv.c
24835--- linux-3.0.4/drivers/gpu/drm/drm_drv.c 2011-07-21 22:17:23.000000000 -0400 25821--- linux-3.0.7/drivers/gpu/drm/drm_drv.c 2011-07-21 22:17:23.000000000 -0400
24836+++ linux-3.0.4/drivers/gpu/drm/drm_drv.c 2011-08-23 21:47:55.000000000 -0400 25822+++ linux-3.0.7/drivers/gpu/drm/drm_drv.c 2011-10-06 04:17:55.000000000 -0400
25823@@ -307,7 +307,7 @@ module_exit(drm_core_exit);
25824 /**
25825 * Copy and IOCTL return string to user space
25826 */
25827-static int drm_copy_field(char *buf, size_t *buf_len, const char *value)
25828+static int drm_copy_field(char __user *buf, size_t *buf_len, const char *value)
25829 {
25830 int len;
25831
24837@@ -386,7 +386,7 @@ long drm_ioctl(struct file *filp, 25832@@ -386,7 +386,7 @@ long drm_ioctl(struct file *filp,
24838 25833
24839 dev = file_priv->minor->dev; 25834 dev = file_priv->minor->dev;
@@ -24843,9 +25838,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/drm_drv.c linux-3.0.4/drivers/gpu/drm/drm
24843 ++file_priv->ioctl_count; 25838 ++file_priv->ioctl_count;
24844 25839
24845 DRM_DEBUG("pid=%d, cmd=0x%02x, nr=0x%02x, dev 0x%lx, auth=%d\n", 25840 DRM_DEBUG("pid=%d, cmd=0x%02x, nr=0x%02x, dev 0x%lx, auth=%d\n",
24846diff -urNp linux-3.0.4/drivers/gpu/drm/drm_fops.c linux-3.0.4/drivers/gpu/drm/drm_fops.c 25841diff -urNp linux-3.0.7/drivers/gpu/drm/drm_fops.c linux-3.0.7/drivers/gpu/drm/drm_fops.c
24847--- linux-3.0.4/drivers/gpu/drm/drm_fops.c 2011-07-21 22:17:23.000000000 -0400 25842--- linux-3.0.7/drivers/gpu/drm/drm_fops.c 2011-07-21 22:17:23.000000000 -0400
24848+++ linux-3.0.4/drivers/gpu/drm/drm_fops.c 2011-08-23 21:47:55.000000000 -0400 25843+++ linux-3.0.7/drivers/gpu/drm/drm_fops.c 2011-08-23 21:47:55.000000000 -0400
24849@@ -70,7 +70,7 @@ static int drm_setup(struct drm_device * 25844@@ -70,7 +70,7 @@ static int drm_setup(struct drm_device *
24850 } 25845 }
24851 25846
@@ -24895,9 +25890,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/drm_fops.c linux-3.0.4/drivers/gpu/drm/dr
24895 if (atomic_read(&dev->ioctl_count)) { 25890 if (atomic_read(&dev->ioctl_count)) {
24896 DRM_ERROR("Device busy: %d\n", 25891 DRM_ERROR("Device busy: %d\n",
24897 atomic_read(&dev->ioctl_count)); 25892 atomic_read(&dev->ioctl_count));
24898diff -urNp linux-3.0.4/drivers/gpu/drm/drm_global.c linux-3.0.4/drivers/gpu/drm/drm_global.c 25893diff -urNp linux-3.0.7/drivers/gpu/drm/drm_global.c linux-3.0.7/drivers/gpu/drm/drm_global.c
24899--- linux-3.0.4/drivers/gpu/drm/drm_global.c 2011-07-21 22:17:23.000000000 -0400 25894--- linux-3.0.7/drivers/gpu/drm/drm_global.c 2011-07-21 22:17:23.000000000 -0400
24900+++ linux-3.0.4/drivers/gpu/drm/drm_global.c 2011-08-23 21:47:55.000000000 -0400 25895+++ linux-3.0.7/drivers/gpu/drm/drm_global.c 2011-08-23 21:47:55.000000000 -0400
24901@@ -36,7 +36,7 @@ 25896@@ -36,7 +36,7 @@
24902 struct drm_global_item { 25897 struct drm_global_item {
24903 struct mutex mutex; 25898 struct mutex mutex;
@@ -24955,9 +25950,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/drm_global.c linux-3.0.4/drivers/gpu/drm/
24955 ref->release(ref); 25950 ref->release(ref);
24956 item->object = NULL; 25951 item->object = NULL;
24957 } 25952 }
24958diff -urNp linux-3.0.4/drivers/gpu/drm/drm_info.c linux-3.0.4/drivers/gpu/drm/drm_info.c 25953diff -urNp linux-3.0.7/drivers/gpu/drm/drm_info.c linux-3.0.7/drivers/gpu/drm/drm_info.c
24959--- linux-3.0.4/drivers/gpu/drm/drm_info.c 2011-07-21 22:17:23.000000000 -0400 25954--- linux-3.0.7/drivers/gpu/drm/drm_info.c 2011-07-21 22:17:23.000000000 -0400
24960+++ linux-3.0.4/drivers/gpu/drm/drm_info.c 2011-08-23 21:48:14.000000000 -0400 25955+++ linux-3.0.7/drivers/gpu/drm/drm_info.c 2011-08-23 21:48:14.000000000 -0400
24961@@ -75,10 +75,14 @@ int drm_vm_info(struct seq_file *m, void 25956@@ -75,10 +75,14 @@ int drm_vm_info(struct seq_file *m, void
24962 struct drm_local_map *map; 25957 struct drm_local_map *map;
24963 struct drm_map_list *r_list; 25958 struct drm_map_list *r_list;
@@ -24998,9 +25993,30 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/drm_info.c linux-3.0.4/drivers/gpu/drm/dr
24998 25993
24999 #if defined(__i386__) 25994 #if defined(__i386__)
25000 pgprot = pgprot_val(vma->vm_page_prot); 25995 pgprot = pgprot_val(vma->vm_page_prot);
25001diff -urNp linux-3.0.4/drivers/gpu/drm/drm_ioctl.c linux-3.0.4/drivers/gpu/drm/drm_ioctl.c 25996diff -urNp linux-3.0.7/drivers/gpu/drm/drm_ioc32.c linux-3.0.7/drivers/gpu/drm/drm_ioc32.c
25002--- linux-3.0.4/drivers/gpu/drm/drm_ioctl.c 2011-07-21 22:17:23.000000000 -0400 25997--- linux-3.0.7/drivers/gpu/drm/drm_ioc32.c 2011-07-21 22:17:23.000000000 -0400
25003+++ linux-3.0.4/drivers/gpu/drm/drm_ioctl.c 2011-08-23 21:47:55.000000000 -0400 25998+++ linux-3.0.7/drivers/gpu/drm/drm_ioc32.c 2011-10-06 04:17:55.000000000 -0400
25999@@ -455,7 +455,7 @@ static int compat_drm_infobufs(struct fi
26000 request = compat_alloc_user_space(nbytes);
26001 if (!access_ok(VERIFY_WRITE, request, nbytes))
26002 return -EFAULT;
26003- list = (struct drm_buf_desc *) (request + 1);
26004+ list = (struct drm_buf_desc __user *) (request + 1);
26005
26006 if (__put_user(count, &request->count)
26007 || __put_user(list, &request->list))
26008@@ -516,7 +516,7 @@ static int compat_drm_mapbufs(struct fil
26009 request = compat_alloc_user_space(nbytes);
26010 if (!access_ok(VERIFY_WRITE, request, nbytes))
26011 return -EFAULT;
26012- list = (struct drm_buf_pub *) (request + 1);
26013+ list = (struct drm_buf_pub __user *) (request + 1);
26014
26015 if (__put_user(count, &request->count)
26016 || __put_user(list, &request->list))
26017diff -urNp linux-3.0.7/drivers/gpu/drm/drm_ioctl.c linux-3.0.7/drivers/gpu/drm/drm_ioctl.c
26018--- linux-3.0.7/drivers/gpu/drm/drm_ioctl.c 2011-07-21 22:17:23.000000000 -0400
26019+++ linux-3.0.7/drivers/gpu/drm/drm_ioctl.c 2011-08-23 21:47:55.000000000 -0400
25004@@ -256,7 +256,7 @@ int drm_getstats(struct drm_device *dev, 26020@@ -256,7 +256,7 @@ int drm_getstats(struct drm_device *dev,
25005 stats->data[i].value = 26021 stats->data[i].value =
25006 (file_priv->master->lock.hw_lock ? file_priv->master->lock.hw_lock->lock : 0); 26022 (file_priv->master->lock.hw_lock ? file_priv->master->lock.hw_lock->lock : 0);
@@ -25010,9 +26026,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/drm_ioctl.c linux-3.0.4/drivers/gpu/drm/d
25010 stats->data[i].type = dev->types[i]; 26026 stats->data[i].type = dev->types[i];
25011 } 26027 }
25012 26028
25013diff -urNp linux-3.0.4/drivers/gpu/drm/drm_lock.c linux-3.0.4/drivers/gpu/drm/drm_lock.c 26029diff -urNp linux-3.0.7/drivers/gpu/drm/drm_lock.c linux-3.0.7/drivers/gpu/drm/drm_lock.c
25014--- linux-3.0.4/drivers/gpu/drm/drm_lock.c 2011-07-21 22:17:23.000000000 -0400 26030--- linux-3.0.7/drivers/gpu/drm/drm_lock.c 2011-07-21 22:17:23.000000000 -0400
25015+++ linux-3.0.4/drivers/gpu/drm/drm_lock.c 2011-08-23 21:47:55.000000000 -0400 26031+++ linux-3.0.7/drivers/gpu/drm/drm_lock.c 2011-08-23 21:47:55.000000000 -0400
25016@@ -89,7 +89,7 @@ int drm_lock(struct drm_device *dev, voi 26032@@ -89,7 +89,7 @@ int drm_lock(struct drm_device *dev, voi
25017 if (drm_lock_take(&master->lock, lock->context)) { 26033 if (drm_lock_take(&master->lock, lock->context)) {
25018 master->lock.file_priv = file_priv; 26034 master->lock.file_priv = file_priv;
@@ -25031,9 +26047,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/drm_lock.c linux-3.0.4/drivers/gpu/drm/dr
25031 26047
25032 if (drm_lock_free(&master->lock, lock->context)) { 26048 if (drm_lock_free(&master->lock, lock->context)) {
25033 /* FIXME: Should really bail out here. */ 26049 /* FIXME: Should really bail out here. */
25034diff -urNp linux-3.0.4/drivers/gpu/drm/i810/i810_dma.c linux-3.0.4/drivers/gpu/drm/i810/i810_dma.c 26050diff -urNp linux-3.0.7/drivers/gpu/drm/i810/i810_dma.c linux-3.0.7/drivers/gpu/drm/i810/i810_dma.c
25035--- linux-3.0.4/drivers/gpu/drm/i810/i810_dma.c 2011-07-21 22:17:23.000000000 -0400 26051--- linux-3.0.7/drivers/gpu/drm/i810/i810_dma.c 2011-07-21 22:17:23.000000000 -0400
25036+++ linux-3.0.4/drivers/gpu/drm/i810/i810_dma.c 2011-08-23 21:47:55.000000000 -0400 26052+++ linux-3.0.7/drivers/gpu/drm/i810/i810_dma.c 2011-08-23 21:47:55.000000000 -0400
25037@@ -950,8 +950,8 @@ static int i810_dma_vertex(struct drm_de 26053@@ -950,8 +950,8 @@ static int i810_dma_vertex(struct drm_de
25038 dma->buflist[vertex->idx], 26054 dma->buflist[vertex->idx],
25039 vertex->discard, vertex->used); 26055 vertex->discard, vertex->used);
@@ -25056,9 +26072,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/i810/i810_dma.c linux-3.0.4/drivers/gpu/d
25056 sarea_priv->last_enqueue = dev_priv->counter - 1; 26072 sarea_priv->last_enqueue = dev_priv->counter - 1;
25057 sarea_priv->last_dispatch = (int)hw_status[5]; 26073 sarea_priv->last_dispatch = (int)hw_status[5];
25058 26074
25059diff -urNp linux-3.0.4/drivers/gpu/drm/i810/i810_drv.h linux-3.0.4/drivers/gpu/drm/i810/i810_drv.h 26075diff -urNp linux-3.0.7/drivers/gpu/drm/i810/i810_drv.h linux-3.0.7/drivers/gpu/drm/i810/i810_drv.h
25060--- linux-3.0.4/drivers/gpu/drm/i810/i810_drv.h 2011-07-21 22:17:23.000000000 -0400 26076--- linux-3.0.7/drivers/gpu/drm/i810/i810_drv.h 2011-07-21 22:17:23.000000000 -0400
25061+++ linux-3.0.4/drivers/gpu/drm/i810/i810_drv.h 2011-08-23 21:47:55.000000000 -0400 26077+++ linux-3.0.7/drivers/gpu/drm/i810/i810_drv.h 2011-08-23 21:47:55.000000000 -0400
25062@@ -108,8 +108,8 @@ typedef struct drm_i810_private { 26078@@ -108,8 +108,8 @@ typedef struct drm_i810_private {
25063 int page_flipping; 26079 int page_flipping;
25064 26080
@@ -25070,9 +26086,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/i810/i810_drv.h linux-3.0.4/drivers/gpu/d
25070 26086
25071 int front_offset; 26087 int front_offset;
25072 } drm_i810_private_t; 26088 } drm_i810_private_t;
25073diff -urNp linux-3.0.4/drivers/gpu/drm/i915/i915_debugfs.c linux-3.0.4/drivers/gpu/drm/i915/i915_debugfs.c 26089diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_debugfs.c linux-3.0.7/drivers/gpu/drm/i915/i915_debugfs.c
25074--- linux-3.0.4/drivers/gpu/drm/i915/i915_debugfs.c 2011-07-21 22:17:23.000000000 -0400 26090--- linux-3.0.7/drivers/gpu/drm/i915/i915_debugfs.c 2011-07-21 22:17:23.000000000 -0400
25075+++ linux-3.0.4/drivers/gpu/drm/i915/i915_debugfs.c 2011-08-23 21:47:55.000000000 -0400 26091+++ linux-3.0.7/drivers/gpu/drm/i915/i915_debugfs.c 2011-10-06 04:17:55.000000000 -0400
25076@@ -497,7 +497,7 @@ static int i915_interrupt_info(struct se 26092@@ -497,7 +497,7 @@ static int i915_interrupt_info(struct se
25077 I915_READ(GTIMR)); 26093 I915_READ(GTIMR));
25078 } 26094 }
@@ -25082,9 +26098,18 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/i915/i915_debugfs.c linux-3.0.4/drivers/g
25082 for (i = 0; i < I915_NUM_RINGS; i++) { 26098 for (i = 0; i < I915_NUM_RINGS; i++) {
25083 if (IS_GEN6(dev)) { 26099 if (IS_GEN6(dev)) {
25084 seq_printf(m, "Graphics Interrupt mask (%s): %08x\n", 26100 seq_printf(m, "Graphics Interrupt mask (%s): %08x\n",
25085diff -urNp linux-3.0.4/drivers/gpu/drm/i915/i915_dma.c linux-3.0.4/drivers/gpu/drm/i915/i915_dma.c 26101@@ -1147,7 +1147,7 @@ static int i915_opregion(struct seq_file
25086--- linux-3.0.4/drivers/gpu/drm/i915/i915_dma.c 2011-09-02 18:11:21.000000000 -0400 26102 return ret;
25087+++ linux-3.0.4/drivers/gpu/drm/i915/i915_dma.c 2011-08-23 21:47:55.000000000 -0400 26103
26104 if (opregion->header)
26105- seq_write(m, opregion->header, OPREGION_SIZE);
26106+ seq_write(m, (const void __force_kernel *)opregion->header, OPREGION_SIZE);
26107
26108 mutex_unlock(&dev->struct_mutex);
26109
26110diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_dma.c linux-3.0.7/drivers/gpu/drm/i915/i915_dma.c
26111--- linux-3.0.7/drivers/gpu/drm/i915/i915_dma.c 2011-09-02 18:11:21.000000000 -0400
26112+++ linux-3.0.7/drivers/gpu/drm/i915/i915_dma.c 2011-08-23 21:47:55.000000000 -0400
25088@@ -1169,7 +1169,7 @@ static bool i915_switcheroo_can_switch(s 26113@@ -1169,7 +1169,7 @@ static bool i915_switcheroo_can_switch(s
25089 bool can_switch; 26114 bool can_switch;
25090 26115
@@ -25094,9 +26119,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/i915/i915_dma.c linux-3.0.4/drivers/gpu/d
25094 spin_unlock(&dev->count_lock); 26119 spin_unlock(&dev->count_lock);
25095 return can_switch; 26120 return can_switch;
25096 } 26121 }
25097diff -urNp linux-3.0.4/drivers/gpu/drm/i915/i915_drv.h linux-3.0.4/drivers/gpu/drm/i915/i915_drv.h 26122diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_drv.h linux-3.0.7/drivers/gpu/drm/i915/i915_drv.h
25098--- linux-3.0.4/drivers/gpu/drm/i915/i915_drv.h 2011-07-21 22:17:23.000000000 -0400 26123--- linux-3.0.7/drivers/gpu/drm/i915/i915_drv.h 2011-07-21 22:17:23.000000000 -0400
25099+++ linux-3.0.4/drivers/gpu/drm/i915/i915_drv.h 2011-08-23 21:47:55.000000000 -0400 26124+++ linux-3.0.7/drivers/gpu/drm/i915/i915_drv.h 2011-08-23 21:47:55.000000000 -0400
25100@@ -219,7 +219,7 @@ struct drm_i915_display_funcs { 26125@@ -219,7 +219,7 @@ struct drm_i915_display_funcs {
25101 /* render clock increase/decrease */ 26126 /* render clock increase/decrease */
25102 /* display clock increase/decrease */ 26127 /* display clock increase/decrease */
@@ -25133,9 +26158,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/i915/i915_drv.h linux-3.0.4/drivers/gpu/d
25133 { 26158 {
25134 return container_of(adapter, struct intel_gmbus, adapter)->force_bit; 26159 return container_of(adapter, struct intel_gmbus, adapter)->force_bit;
25135 } 26160 }
25136diff -urNp linux-3.0.4/drivers/gpu/drm/i915/i915_gem_execbuffer.c linux-3.0.4/drivers/gpu/drm/i915/i915_gem_execbuffer.c 26161diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_gem_execbuffer.c linux-3.0.7/drivers/gpu/drm/i915/i915_gem_execbuffer.c
25137--- linux-3.0.4/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2011-07-21 22:17:23.000000000 -0400 26162--- linux-3.0.7/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2011-07-21 22:17:23.000000000 -0400
25138+++ linux-3.0.4/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2011-08-23 21:47:55.000000000 -0400 26163+++ linux-3.0.7/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2011-08-23 21:47:55.000000000 -0400
25139@@ -188,7 +188,7 @@ i915_gem_object_set_to_gpu_domain(struct 26164@@ -188,7 +188,7 @@ i915_gem_object_set_to_gpu_domain(struct
25140 i915_gem_clflush_object(obj); 26165 i915_gem_clflush_object(obj);
25141 26166
@@ -25145,9 +26170,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/i915/i915_gem_execbuffer.c linux-3.0.4/dr
25145 26170
25146 /* The actual obj->write_domain will be updated with 26171 /* The actual obj->write_domain will be updated with
25147 * pending_write_domain after we emit the accumulated flush for all 26172 * pending_write_domain after we emit the accumulated flush for all
25148diff -urNp linux-3.0.4/drivers/gpu/drm/i915/i915_irq.c linux-3.0.4/drivers/gpu/drm/i915/i915_irq.c 26173diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_irq.c linux-3.0.7/drivers/gpu/drm/i915/i915_irq.c
25149--- linux-3.0.4/drivers/gpu/drm/i915/i915_irq.c 2011-09-02 18:11:21.000000000 -0400 26174--- linux-3.0.7/drivers/gpu/drm/i915/i915_irq.c 2011-09-02 18:11:21.000000000 -0400
25150+++ linux-3.0.4/drivers/gpu/drm/i915/i915_irq.c 2011-08-23 21:47:55.000000000 -0400 26175+++ linux-3.0.7/drivers/gpu/drm/i915/i915_irq.c 2011-08-23 21:47:55.000000000 -0400
25151@@ -473,7 +473,7 @@ static irqreturn_t ivybridge_irq_handler 26176@@ -473,7 +473,7 @@ static irqreturn_t ivybridge_irq_handler
25152 u32 de_iir, gt_iir, de_ier, pch_iir, pm_iir; 26177 u32 de_iir, gt_iir, de_ier, pch_iir, pm_iir;
25153 struct drm_i915_master_private *master_priv; 26178 struct drm_i915_master_private *master_priv;
@@ -25193,9 +26218,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/i915/i915_irq.c linux-3.0.4/drivers/gpu/d
25193 26218
25194 INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func); 26219 INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func);
25195 INIT_WORK(&dev_priv->error_work, i915_error_work_func); 26220 INIT_WORK(&dev_priv->error_work, i915_error_work_func);
25196diff -urNp linux-3.0.4/drivers/gpu/drm/i915/intel_display.c linux-3.0.4/drivers/gpu/drm/i915/intel_display.c 26221diff -urNp linux-3.0.7/drivers/gpu/drm/i915/intel_display.c linux-3.0.7/drivers/gpu/drm/i915/intel_display.c
25197--- linux-3.0.4/drivers/gpu/drm/i915/intel_display.c 2011-09-02 18:11:21.000000000 -0400 26222--- linux-3.0.7/drivers/gpu/drm/i915/intel_display.c 2011-09-02 18:11:21.000000000 -0400
25198+++ linux-3.0.4/drivers/gpu/drm/i915/intel_display.c 2011-08-23 21:47:55.000000000 -0400 26223+++ linux-3.0.7/drivers/gpu/drm/i915/intel_display.c 2011-08-23 21:47:55.000000000 -0400
25199@@ -1961,7 +1961,7 @@ intel_pipe_set_base(struct drm_crtc *crt 26224@@ -1961,7 +1961,7 @@ intel_pipe_set_base(struct drm_crtc *crt
25200 26225
25201 wait_event(dev_priv->pending_flip_queue, 26226 wait_event(dev_priv->pending_flip_queue,
@@ -25241,9 +26266,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/i915/intel_display.c linux-3.0.4/drivers/
25241 cleanup_objs: 26266 cleanup_objs:
25242 drm_gem_object_unreference(&work->old_fb_obj->base); 26267 drm_gem_object_unreference(&work->old_fb_obj->base);
25243 drm_gem_object_unreference(&obj->base); 26268 drm_gem_object_unreference(&obj->base);
25244diff -urNp linux-3.0.4/drivers/gpu/drm/mga/mga_drv.h linux-3.0.4/drivers/gpu/drm/mga/mga_drv.h 26269diff -urNp linux-3.0.7/drivers/gpu/drm/mga/mga_drv.h linux-3.0.7/drivers/gpu/drm/mga/mga_drv.h
25245--- linux-3.0.4/drivers/gpu/drm/mga/mga_drv.h 2011-07-21 22:17:23.000000000 -0400 26270--- linux-3.0.7/drivers/gpu/drm/mga/mga_drv.h 2011-07-21 22:17:23.000000000 -0400
25246+++ linux-3.0.4/drivers/gpu/drm/mga/mga_drv.h 2011-08-23 21:47:55.000000000 -0400 26271+++ linux-3.0.7/drivers/gpu/drm/mga/mga_drv.h 2011-08-23 21:47:55.000000000 -0400
25247@@ -120,9 +120,9 @@ typedef struct drm_mga_private { 26272@@ -120,9 +120,9 @@ typedef struct drm_mga_private {
25248 u32 clear_cmd; 26273 u32 clear_cmd;
25249 u32 maccess; 26274 u32 maccess;
@@ -25256,9 +26281,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/mga/mga_drv.h linux-3.0.4/drivers/gpu/drm
25256 u32 next_fence_to_post; 26281 u32 next_fence_to_post;
25257 26282
25258 unsigned int fb_cpp; 26283 unsigned int fb_cpp;
25259diff -urNp linux-3.0.4/drivers/gpu/drm/mga/mga_irq.c linux-3.0.4/drivers/gpu/drm/mga/mga_irq.c 26284diff -urNp linux-3.0.7/drivers/gpu/drm/mga/mga_irq.c linux-3.0.7/drivers/gpu/drm/mga/mga_irq.c
25260--- linux-3.0.4/drivers/gpu/drm/mga/mga_irq.c 2011-07-21 22:17:23.000000000 -0400 26285--- linux-3.0.7/drivers/gpu/drm/mga/mga_irq.c 2011-07-21 22:17:23.000000000 -0400
25261+++ linux-3.0.4/drivers/gpu/drm/mga/mga_irq.c 2011-08-23 21:47:55.000000000 -0400 26286+++ linux-3.0.7/drivers/gpu/drm/mga/mga_irq.c 2011-08-23 21:47:55.000000000 -0400
25262@@ -44,7 +44,7 @@ u32 mga_get_vblank_counter(struct drm_de 26287@@ -44,7 +44,7 @@ u32 mga_get_vblank_counter(struct drm_de
25263 if (crtc != 0) 26288 if (crtc != 0)
25264 return 0; 26289 return 0;
@@ -25295,9 +26320,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/mga/mga_irq.c linux-3.0.4/drivers/gpu/drm
25295 - *sequence) <= (1 << 23))); 26320 - *sequence) <= (1 << 23)));
25296 26321
25297 *sequence = cur_fence; 26322 *sequence = cur_fence;
25298diff -urNp linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_bios.c linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_bios.c 26323diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_bios.c linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_bios.c
25299--- linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-07-21 22:17:23.000000000 -0400 26324--- linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-07-21 22:17:23.000000000 -0400
25300+++ linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-08-26 19:49:56.000000000 -0400 26325+++ linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-08-26 19:49:56.000000000 -0400
25301@@ -200,7 +200,7 @@ struct methods { 26326@@ -200,7 +200,7 @@ struct methods {
25302 const char desc[8]; 26327 const char desc[8];
25303 void (*loadbios)(struct drm_device *, uint8_t *); 26328 void (*loadbios)(struct drm_device *, uint8_t *);
@@ -25316,9 +26341,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_bios.c linux-3.0.4/driver
25316 26341
25317 #define BIT_TABLE(id, funcid) ((struct bit_table){ id, parse_bit_##funcid##_tbl_entry }) 26342 #define BIT_TABLE(id, funcid) ((struct bit_table){ id, parse_bit_##funcid##_tbl_entry })
25318 26343
25319diff -urNp linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_drv.h linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_drv.h 26344diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_drv.h linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_drv.h
25320--- linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-07-21 22:17:23.000000000 -0400 26345--- linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-07-21 22:17:23.000000000 -0400
25321+++ linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-08-23 21:47:55.000000000 -0400 26346+++ linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-08-23 21:47:55.000000000 -0400
25322@@ -227,7 +227,7 @@ struct nouveau_channel { 26347@@ -227,7 +227,7 @@ struct nouveau_channel {
25323 struct list_head pending; 26348 struct list_head pending;
25324 uint32_t sequence; 26349 uint32_t sequence;
@@ -25371,9 +26396,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_drv.h linux-3.0.4/drivers
25371 } ttm; 26396 } ttm;
25372 26397
25373 struct { 26398 struct {
25374diff -urNp linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_fence.c linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_fence.c 26399diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_fence.c
25375--- linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-07-21 22:17:23.000000000 -0400 26400--- linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-07-21 22:17:23.000000000 -0400
25376+++ linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-08-23 21:47:55.000000000 -0400 26401+++ linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-08-23 21:47:55.000000000 -0400
25377@@ -85,7 +85,7 @@ nouveau_fence_update(struct nouveau_chan 26402@@ -85,7 +85,7 @@ nouveau_fence_update(struct nouveau_chan
25378 if (USE_REFCNT(dev)) 26403 if (USE_REFCNT(dev))
25379 sequence = nvchan_rd32(chan, 0x48); 26404 sequence = nvchan_rd32(chan, 0x48);
@@ -25392,9 +26417,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_fence.c linux-3.0.4/drive
25392 return 0; 26417 return 0;
25393 } 26418 }
25394 26419
25395diff -urNp linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_gem.c linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_gem.c 26420diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_gem.c linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_gem.c
25396--- linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-07-21 22:17:23.000000000 -0400 26421--- linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-07-21 22:17:23.000000000 -0400
25397+++ linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-08-23 21:47:55.000000000 -0400 26422+++ linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-08-23 21:47:55.000000000 -0400
25398@@ -249,7 +249,7 @@ validate_init(struct nouveau_channel *ch 26423@@ -249,7 +249,7 @@ validate_init(struct nouveau_channel *ch
25399 int trycnt = 0; 26424 int trycnt = 0;
25400 int ret, i; 26425 int ret, i;
@@ -25404,9 +26429,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_gem.c linux-3.0.4/drivers
25404 retry: 26429 retry:
25405 if (++trycnt > 100000) { 26430 if (++trycnt > 100000) {
25406 NV_ERROR(dev, "%s failed and gave up.\n", __func__); 26431 NV_ERROR(dev, "%s failed and gave up.\n", __func__);
25407diff -urNp linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_state.c linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_state.c 26432diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_state.c linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_state.c
25408--- linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_state.c 2011-07-21 22:17:23.000000000 -0400 26433--- linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_state.c 2011-07-21 22:17:23.000000000 -0400
25409+++ linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_state.c 2011-08-23 21:47:55.000000000 -0400 26434+++ linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_state.c 2011-08-23 21:47:55.000000000 -0400
25410@@ -488,7 +488,7 @@ static bool nouveau_switcheroo_can_switc 26435@@ -488,7 +488,7 @@ static bool nouveau_switcheroo_can_switc
25411 bool can_switch; 26436 bool can_switch;
25412 26437
@@ -25416,9 +26441,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/nouveau/nouveau_state.c linux-3.0.4/drive
25416 spin_unlock(&dev->count_lock); 26441 spin_unlock(&dev->count_lock);
25417 return can_switch; 26442 return can_switch;
25418 } 26443 }
25419diff -urNp linux-3.0.4/drivers/gpu/drm/nouveau/nv04_graph.c linux-3.0.4/drivers/gpu/drm/nouveau/nv04_graph.c 26444diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nv04_graph.c linux-3.0.7/drivers/gpu/drm/nouveau/nv04_graph.c
25420--- linux-3.0.4/drivers/gpu/drm/nouveau/nv04_graph.c 2011-07-21 22:17:23.000000000 -0400 26445--- linux-3.0.7/drivers/gpu/drm/nouveau/nv04_graph.c 2011-07-21 22:17:23.000000000 -0400
25421+++ linux-3.0.4/drivers/gpu/drm/nouveau/nv04_graph.c 2011-08-23 21:47:55.000000000 -0400 26446+++ linux-3.0.7/drivers/gpu/drm/nouveau/nv04_graph.c 2011-08-23 21:47:55.000000000 -0400
25422@@ -560,7 +560,7 @@ static int 26447@@ -560,7 +560,7 @@ static int
25423 nv04_graph_mthd_set_ref(struct nouveau_channel *chan, 26448 nv04_graph_mthd_set_ref(struct nouveau_channel *chan,
25424 u32 class, u32 mthd, u32 data) 26449 u32 class, u32 mthd, u32 data)
@@ -25428,9 +26453,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/nouveau/nv04_graph.c linux-3.0.4/drivers/
25428 return 0; 26453 return 0;
25429 } 26454 }
25430 26455
25431diff -urNp linux-3.0.4/drivers/gpu/drm/r128/r128_cce.c linux-3.0.4/drivers/gpu/drm/r128/r128_cce.c 26456diff -urNp linux-3.0.7/drivers/gpu/drm/r128/r128_cce.c linux-3.0.7/drivers/gpu/drm/r128/r128_cce.c
25432--- linux-3.0.4/drivers/gpu/drm/r128/r128_cce.c 2011-07-21 22:17:23.000000000 -0400 26457--- linux-3.0.7/drivers/gpu/drm/r128/r128_cce.c 2011-07-21 22:17:23.000000000 -0400
25433+++ linux-3.0.4/drivers/gpu/drm/r128/r128_cce.c 2011-08-23 21:47:55.000000000 -0400 26458+++ linux-3.0.7/drivers/gpu/drm/r128/r128_cce.c 2011-08-23 21:47:55.000000000 -0400
25434@@ -377,7 +377,7 @@ static int r128_do_init_cce(struct drm_d 26459@@ -377,7 +377,7 @@ static int r128_do_init_cce(struct drm_d
25435 26460
25436 /* GH: Simple idle check. 26461 /* GH: Simple idle check.
@@ -25440,9 +26465,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/r128/r128_cce.c linux-3.0.4/drivers/gpu/d
25440 26465
25441 /* We don't support anything other than bus-mastering ring mode, 26466 /* We don't support anything other than bus-mastering ring mode,
25442 * but the ring can be in either AGP or PCI space for the ring 26467 * but the ring can be in either AGP or PCI space for the ring
25443diff -urNp linux-3.0.4/drivers/gpu/drm/r128/r128_drv.h linux-3.0.4/drivers/gpu/drm/r128/r128_drv.h 26468diff -urNp linux-3.0.7/drivers/gpu/drm/r128/r128_drv.h linux-3.0.7/drivers/gpu/drm/r128/r128_drv.h
25444--- linux-3.0.4/drivers/gpu/drm/r128/r128_drv.h 2011-07-21 22:17:23.000000000 -0400 26469--- linux-3.0.7/drivers/gpu/drm/r128/r128_drv.h 2011-07-21 22:17:23.000000000 -0400
25445+++ linux-3.0.4/drivers/gpu/drm/r128/r128_drv.h 2011-08-23 21:47:55.000000000 -0400 26470+++ linux-3.0.7/drivers/gpu/drm/r128/r128_drv.h 2011-08-23 21:47:55.000000000 -0400
25446@@ -90,14 +90,14 @@ typedef struct drm_r128_private { 26471@@ -90,14 +90,14 @@ typedef struct drm_r128_private {
25447 int is_pci; 26472 int is_pci;
25448 unsigned long cce_buffers_offset; 26473 unsigned long cce_buffers_offset;
@@ -25460,9 +26485,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/r128/r128_drv.h linux-3.0.4/drivers/gpu/d
25460 26485
25461 u32 color_fmt; 26486 u32 color_fmt;
25462 unsigned int front_offset; 26487 unsigned int front_offset;
25463diff -urNp linux-3.0.4/drivers/gpu/drm/r128/r128_irq.c linux-3.0.4/drivers/gpu/drm/r128/r128_irq.c 26488diff -urNp linux-3.0.7/drivers/gpu/drm/r128/r128_irq.c linux-3.0.7/drivers/gpu/drm/r128/r128_irq.c
25464--- linux-3.0.4/drivers/gpu/drm/r128/r128_irq.c 2011-07-21 22:17:23.000000000 -0400 26489--- linux-3.0.7/drivers/gpu/drm/r128/r128_irq.c 2011-07-21 22:17:23.000000000 -0400
25465+++ linux-3.0.4/drivers/gpu/drm/r128/r128_irq.c 2011-08-23 21:47:55.000000000 -0400 26490+++ linux-3.0.7/drivers/gpu/drm/r128/r128_irq.c 2011-08-23 21:47:55.000000000 -0400
25466@@ -42,7 +42,7 @@ u32 r128_get_vblank_counter(struct drm_d 26491@@ -42,7 +42,7 @@ u32 r128_get_vblank_counter(struct drm_d
25467 if (crtc != 0) 26492 if (crtc != 0)
25468 return 0; 26493 return 0;
@@ -25481,9 +26506,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/r128/r128_irq.c linux-3.0.4/drivers/gpu/d
25481 drm_handle_vblank(dev, 0); 26506 drm_handle_vblank(dev, 0);
25482 return IRQ_HANDLED; 26507 return IRQ_HANDLED;
25483 } 26508 }
25484diff -urNp linux-3.0.4/drivers/gpu/drm/r128/r128_state.c linux-3.0.4/drivers/gpu/drm/r128/r128_state.c 26509diff -urNp linux-3.0.7/drivers/gpu/drm/r128/r128_state.c linux-3.0.7/drivers/gpu/drm/r128/r128_state.c
25485--- linux-3.0.4/drivers/gpu/drm/r128/r128_state.c 2011-07-21 22:17:23.000000000 -0400 26510--- linux-3.0.7/drivers/gpu/drm/r128/r128_state.c 2011-07-21 22:17:23.000000000 -0400
25486+++ linux-3.0.4/drivers/gpu/drm/r128/r128_state.c 2011-08-23 21:47:55.000000000 -0400 26511+++ linux-3.0.7/drivers/gpu/drm/r128/r128_state.c 2011-08-23 21:47:55.000000000 -0400
25487@@ -321,10 +321,10 @@ static void r128_clear_box(drm_r128_priv 26512@@ -321,10 +321,10 @@ static void r128_clear_box(drm_r128_priv
25488 26513
25489 static void r128_cce_performance_boxes(drm_r128_private_t *dev_priv) 26514 static void r128_cce_performance_boxes(drm_r128_private_t *dev_priv)
@@ -25497,9 +26522,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/r128/r128_state.c linux-3.0.4/drivers/gpu
25497 } 26522 }
25498 26523
25499 #endif 26524 #endif
25500diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/atom.c linux-3.0.4/drivers/gpu/drm/radeon/atom.c 26525diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/atom.c linux-3.0.7/drivers/gpu/drm/radeon/atom.c
25501--- linux-3.0.4/drivers/gpu/drm/radeon/atom.c 2011-07-21 22:17:23.000000000 -0400 26526--- linux-3.0.7/drivers/gpu/drm/radeon/atom.c 2011-07-21 22:17:23.000000000 -0400
25502+++ linux-3.0.4/drivers/gpu/drm/radeon/atom.c 2011-08-23 21:48:14.000000000 -0400 26527+++ linux-3.0.7/drivers/gpu/drm/radeon/atom.c 2011-08-23 21:48:14.000000000 -0400
25503@@ -1245,6 +1245,8 @@ struct atom_context *atom_parse(struct c 26528@@ -1245,6 +1245,8 @@ struct atom_context *atom_parse(struct c
25504 char name[512]; 26529 char name[512];
25505 int i; 26530 int i;
@@ -25509,9 +26534,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/atom.c linux-3.0.4/drivers/gpu/drm
25509 ctx->card = card; 26534 ctx->card = card;
25510 ctx->bios = bios; 26535 ctx->bios = bios;
25511 26536
25512diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/mkregtable.c linux-3.0.4/drivers/gpu/drm/radeon/mkregtable.c 26537diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/mkregtable.c linux-3.0.7/drivers/gpu/drm/radeon/mkregtable.c
25513--- linux-3.0.4/drivers/gpu/drm/radeon/mkregtable.c 2011-07-21 22:17:23.000000000 -0400 26538--- linux-3.0.7/drivers/gpu/drm/radeon/mkregtable.c 2011-07-21 22:17:23.000000000 -0400
25514+++ linux-3.0.4/drivers/gpu/drm/radeon/mkregtable.c 2011-08-23 21:47:55.000000000 -0400 26539+++ linux-3.0.7/drivers/gpu/drm/radeon/mkregtable.c 2011-08-23 21:47:55.000000000 -0400
25515@@ -637,14 +637,14 @@ static int parser_auth(struct table *t, 26540@@ -637,14 +637,14 @@ static int parser_auth(struct table *t,
25516 regex_t mask_rex; 26541 regex_t mask_rex;
25517 regmatch_t match[4]; 26542 regmatch_t match[4];
@@ -25529,9 +26554,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/mkregtable.c linux-3.0.4/drivers/g
25529 26554
25530 if (regcomp 26555 if (regcomp
25531 (&mask_rex, "(0x[0-9a-fA-F]*) *([_a-zA-Z0-9]*)", REG_EXTENDED)) { 26556 (&mask_rex, "(0x[0-9a-fA-F]*) *([_a-zA-Z0-9]*)", REG_EXTENDED)) {
25532diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_atombios.c linux-3.0.4/drivers/gpu/drm/radeon/radeon_atombios.c 26557diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_atombios.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_atombios.c
25533--- linux-3.0.4/drivers/gpu/drm/radeon/radeon_atombios.c 2011-07-21 22:17:23.000000000 -0400 26558--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_atombios.c 2011-07-21 22:17:23.000000000 -0400
25534+++ linux-3.0.4/drivers/gpu/drm/radeon/radeon_atombios.c 2011-08-23 21:48:14.000000000 -0400 26559+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_atombios.c 2011-08-23 21:48:14.000000000 -0400
25535@@ -545,6 +545,8 @@ bool radeon_get_atom_connector_info_from 26560@@ -545,6 +545,8 @@ bool radeon_get_atom_connector_info_from
25536 struct radeon_gpio_rec gpio; 26561 struct radeon_gpio_rec gpio;
25537 struct radeon_hpd hpd; 26562 struct radeon_hpd hpd;
@@ -25541,9 +26566,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_atombios.c linux-3.0.4/driv
25541 if (!atom_parse_data_header(ctx, index, &size, &frev, &crev, &data_offset)) 26566 if (!atom_parse_data_header(ctx, index, &size, &frev, &crev, &data_offset))
25542 return false; 26567 return false;
25543 26568
25544diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_device.c linux-3.0.4/drivers/gpu/drm/radeon/radeon_device.c 26569diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_device.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_device.c
25545--- linux-3.0.4/drivers/gpu/drm/radeon/radeon_device.c 2011-09-02 18:11:21.000000000 -0400 26570--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_device.c 2011-09-02 18:11:21.000000000 -0400
25546+++ linux-3.0.4/drivers/gpu/drm/radeon/radeon_device.c 2011-08-23 21:47:55.000000000 -0400 26571+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_device.c 2011-08-23 21:47:55.000000000 -0400
25547@@ -678,7 +678,7 @@ static bool radeon_switcheroo_can_switch 26572@@ -678,7 +678,7 @@ static bool radeon_switcheroo_can_switch
25548 bool can_switch; 26573 bool can_switch;
25549 26574
@@ -25553,9 +26578,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_device.c linux-3.0.4/driver
25553 spin_unlock(&dev->count_lock); 26578 spin_unlock(&dev->count_lock);
25554 return can_switch; 26579 return can_switch;
25555 } 26580 }
25556diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_display.c linux-3.0.4/drivers/gpu/drm/radeon/radeon_display.c 26581diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_display.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_display.c
25557--- linux-3.0.4/drivers/gpu/drm/radeon/radeon_display.c 2011-09-02 18:11:21.000000000 -0400 26582--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_display.c 2011-09-02 18:11:21.000000000 -0400
25558+++ linux-3.0.4/drivers/gpu/drm/radeon/radeon_display.c 2011-08-23 21:48:14.000000000 -0400 26583+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_display.c 2011-08-23 21:48:14.000000000 -0400
25559@@ -946,6 +946,8 @@ void radeon_compute_pll_legacy(struct ra 26584@@ -946,6 +946,8 @@ void radeon_compute_pll_legacy(struct ra
25560 uint32_t post_div; 26585 uint32_t post_div;
25561 u32 pll_out_min, pll_out_max; 26586 u32 pll_out_min, pll_out_max;
@@ -25565,9 +26590,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_display.c linux-3.0.4/drive
25565 DRM_DEBUG_KMS("PLL freq %llu %u %u\n", freq, pll->min_ref_div, pll->max_ref_div); 26590 DRM_DEBUG_KMS("PLL freq %llu %u %u\n", freq, pll->min_ref_div, pll->max_ref_div);
25566 freq = freq * 1000; 26591 freq = freq * 1000;
25567 26592
25568diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_drv.h linux-3.0.4/drivers/gpu/drm/radeon/radeon_drv.h 26593diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_drv.h linux-3.0.7/drivers/gpu/drm/radeon/radeon_drv.h
25569--- linux-3.0.4/drivers/gpu/drm/radeon/radeon_drv.h 2011-07-21 22:17:23.000000000 -0400 26594--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_drv.h 2011-07-21 22:17:23.000000000 -0400
25570+++ linux-3.0.4/drivers/gpu/drm/radeon/radeon_drv.h 2011-08-23 21:47:55.000000000 -0400 26595+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_drv.h 2011-08-23 21:47:55.000000000 -0400
25571@@ -255,7 +255,7 @@ typedef struct drm_radeon_private { 26596@@ -255,7 +255,7 @@ typedef struct drm_radeon_private {
25572 26597
25573 /* SW interrupt */ 26598 /* SW interrupt */
@@ -25577,9 +26602,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_drv.h linux-3.0.4/drivers/g
25577 int vblank_crtc; 26602 int vblank_crtc;
25578 uint32_t irq_enable_reg; 26603 uint32_t irq_enable_reg;
25579 uint32_t r500_disp_irq_reg; 26604 uint32_t r500_disp_irq_reg;
25580diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_fence.c linux-3.0.4/drivers/gpu/drm/radeon/radeon_fence.c 26605diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_fence.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_fence.c
25581--- linux-3.0.4/drivers/gpu/drm/radeon/radeon_fence.c 2011-07-21 22:17:23.000000000 -0400 26606--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_fence.c 2011-07-21 22:17:23.000000000 -0400
25582+++ linux-3.0.4/drivers/gpu/drm/radeon/radeon_fence.c 2011-08-23 21:47:55.000000000 -0400 26607+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_fence.c 2011-08-23 21:47:55.000000000 -0400
25583@@ -78,7 +78,7 @@ int radeon_fence_emit(struct radeon_devi 26608@@ -78,7 +78,7 @@ int radeon_fence_emit(struct radeon_devi
25584 write_unlock_irqrestore(&rdev->fence_drv.lock, irq_flags); 26609 write_unlock_irqrestore(&rdev->fence_drv.lock, irq_flags);
25585 return 0; 26610 return 0;
@@ -25598,9 +26623,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_fence.c linux-3.0.4/drivers
25598 INIT_LIST_HEAD(&rdev->fence_drv.created); 26623 INIT_LIST_HEAD(&rdev->fence_drv.created);
25599 INIT_LIST_HEAD(&rdev->fence_drv.emited); 26624 INIT_LIST_HEAD(&rdev->fence_drv.emited);
25600 INIT_LIST_HEAD(&rdev->fence_drv.signaled); 26625 INIT_LIST_HEAD(&rdev->fence_drv.signaled);
25601diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon.h linux-3.0.4/drivers/gpu/drm/radeon/radeon.h 26626diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon.h linux-3.0.7/drivers/gpu/drm/radeon/radeon.h
25602--- linux-3.0.4/drivers/gpu/drm/radeon/radeon.h 2011-07-21 22:17:23.000000000 -0400 26627--- linux-3.0.7/drivers/gpu/drm/radeon/radeon.h 2011-10-16 21:54:53.000000000 -0400
25603+++ linux-3.0.4/drivers/gpu/drm/radeon/radeon.h 2011-08-23 21:47:55.000000000 -0400 26628+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon.h 2011-10-16 21:55:27.000000000 -0400
25604@@ -191,7 +191,7 @@ extern int sumo_get_temp(struct radeon_d 26629@@ -191,7 +191,7 @@ extern int sumo_get_temp(struct radeon_d
25605 */ 26630 */
25606 struct radeon_fence_driver { 26631 struct radeon_fence_driver {
@@ -25610,7 +26635,7 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon.h linux-3.0.4/drivers/gpu/d
25610 uint32_t last_seq; 26635 uint32_t last_seq;
25611 unsigned long last_jiffies; 26636 unsigned long last_jiffies;
25612 unsigned long last_timeout; 26637 unsigned long last_timeout;
25613@@ -960,7 +960,7 @@ struct radeon_asic { 26638@@ -961,7 +961,7 @@ struct radeon_asic {
25614 void (*pre_page_flip)(struct radeon_device *rdev, int crtc); 26639 void (*pre_page_flip)(struct radeon_device *rdev, int crtc);
25615 u32 (*page_flip)(struct radeon_device *rdev, int crtc, u64 crtc_base); 26640 u32 (*page_flip)(struct radeon_device *rdev, int crtc, u64 crtc_base);
25616 void (*post_page_flip)(struct radeon_device *rdev, int crtc); 26641 void (*post_page_flip)(struct radeon_device *rdev, int crtc);
@@ -25619,9 +26644,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon.h linux-3.0.4/drivers/gpu/d
25619 26644
25620 /* 26645 /*
25621 * Asic structures 26646 * Asic structures
25622diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_ioc32.c linux-3.0.4/drivers/gpu/drm/radeon/radeon_ioc32.c 26647diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_ioc32.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_ioc32.c
25623--- linux-3.0.4/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-07-21 22:17:23.000000000 -0400 26648--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-07-21 22:17:23.000000000 -0400
25624+++ linux-3.0.4/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-08-23 21:47:55.000000000 -0400 26649+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-08-23 21:47:55.000000000 -0400
25625@@ -359,7 +359,7 @@ static int compat_radeon_cp_setparam(str 26650@@ -359,7 +359,7 @@ static int compat_radeon_cp_setparam(str
25626 request = compat_alloc_user_space(sizeof(*request)); 26651 request = compat_alloc_user_space(sizeof(*request));
25627 if (!access_ok(VERIFY_WRITE, request, sizeof(*request)) 26652 if (!access_ok(VERIFY_WRITE, request, sizeof(*request))
@@ -25631,9 +26656,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_ioc32.c linux-3.0.4/drivers
25631 &request->value)) 26656 &request->value))
25632 return -EFAULT; 26657 return -EFAULT;
25633 26658
25634diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_irq.c linux-3.0.4/drivers/gpu/drm/radeon/radeon_irq.c 26659diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_irq.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_irq.c
25635--- linux-3.0.4/drivers/gpu/drm/radeon/radeon_irq.c 2011-07-21 22:17:23.000000000 -0400 26660--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_irq.c 2011-07-21 22:17:23.000000000 -0400
25636+++ linux-3.0.4/drivers/gpu/drm/radeon/radeon_irq.c 2011-08-23 21:47:55.000000000 -0400 26661+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_irq.c 2011-08-23 21:47:55.000000000 -0400
25637@@ -225,8 +225,8 @@ static int radeon_emit_irq(struct drm_de 26662@@ -225,8 +225,8 @@ static int radeon_emit_irq(struct drm_de
25638 unsigned int ret; 26663 unsigned int ret;
25639 RING_LOCALS; 26664 RING_LOCALS;
@@ -25654,9 +26679,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_irq.c linux-3.0.4/drivers/g
25654 DRM_INIT_WAITQUEUE(&dev_priv->swi_queue); 26679 DRM_INIT_WAITQUEUE(&dev_priv->swi_queue);
25655 26680
25656 dev->max_vblank_count = 0x001fffff; 26681 dev->max_vblank_count = 0x001fffff;
25657diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_state.c linux-3.0.4/drivers/gpu/drm/radeon/radeon_state.c 26682diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_state.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_state.c
25658--- linux-3.0.4/drivers/gpu/drm/radeon/radeon_state.c 2011-07-21 22:17:23.000000000 -0400 26683--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_state.c 2011-07-21 22:17:23.000000000 -0400
25659+++ linux-3.0.4/drivers/gpu/drm/radeon/radeon_state.c 2011-08-23 21:47:55.000000000 -0400 26684+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_state.c 2011-08-23 21:47:55.000000000 -0400
25660@@ -2168,7 +2168,7 @@ static int radeon_cp_clear(struct drm_de 26685@@ -2168,7 +2168,7 @@ static int radeon_cp_clear(struct drm_de
25661 if (sarea_priv->nbox > RADEON_NR_SAREA_CLIPRECTS) 26686 if (sarea_priv->nbox > RADEON_NR_SAREA_CLIPRECTS)
25662 sarea_priv->nbox = RADEON_NR_SAREA_CLIPRECTS; 26687 sarea_priv->nbox = RADEON_NR_SAREA_CLIPRECTS;
@@ -25675,10 +26700,10 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_state.c linux-3.0.4/drivers
25675 26700
25676 DRM_DEBUG("pid=%d\n", DRM_CURRENTPID); 26701 DRM_DEBUG("pid=%d\n", DRM_CURRENTPID);
25677 26702
25678diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_ttm.c linux-3.0.4/drivers/gpu/drm/radeon/radeon_ttm.c 26703diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_ttm.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_ttm.c
25679--- linux-3.0.4/drivers/gpu/drm/radeon/radeon_ttm.c 2011-07-21 22:17:23.000000000 -0400 26704--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_ttm.c 2011-10-16 21:54:53.000000000 -0400
25680+++ linux-3.0.4/drivers/gpu/drm/radeon/radeon_ttm.c 2011-08-23 21:47:55.000000000 -0400 26705+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_ttm.c 2011-10-16 21:55:27.000000000 -0400
25681@@ -644,8 +644,10 @@ int radeon_mmap(struct file *filp, struc 26706@@ -649,8 +649,10 @@ int radeon_mmap(struct file *filp, struc
25682 } 26707 }
25683 if (unlikely(ttm_vm_ops == NULL)) { 26708 if (unlikely(ttm_vm_ops == NULL)) {
25684 ttm_vm_ops = vma->vm_ops; 26709 ttm_vm_ops = vma->vm_ops;
@@ -25691,9 +26716,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/radeon_ttm.c linux-3.0.4/drivers/g
25691 } 26716 }
25692 vma->vm_ops = &radeon_ttm_vm_ops; 26717 vma->vm_ops = &radeon_ttm_vm_ops;
25693 return 0; 26718 return 0;
25694diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/rs690.c linux-3.0.4/drivers/gpu/drm/radeon/rs690.c 26719diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/rs690.c linux-3.0.7/drivers/gpu/drm/radeon/rs690.c
25695--- linux-3.0.4/drivers/gpu/drm/radeon/rs690.c 2011-07-21 22:17:23.000000000 -0400 26720--- linux-3.0.7/drivers/gpu/drm/radeon/rs690.c 2011-07-21 22:17:23.000000000 -0400
25696+++ linux-3.0.4/drivers/gpu/drm/radeon/rs690.c 2011-08-23 21:47:55.000000000 -0400 26721+++ linux-3.0.7/drivers/gpu/drm/radeon/rs690.c 2011-08-23 21:47:55.000000000 -0400
25697@@ -304,9 +304,11 @@ void rs690_crtc_bandwidth_compute(struct 26722@@ -304,9 +304,11 @@ void rs690_crtc_bandwidth_compute(struct
25698 if (rdev->pm.max_bandwidth.full > rdev->pm.sideport_bandwidth.full && 26723 if (rdev->pm.max_bandwidth.full > rdev->pm.sideport_bandwidth.full &&
25699 rdev->pm.sideport_bandwidth.full) 26724 rdev->pm.sideport_bandwidth.full)
@@ -25707,9 +26732,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/radeon/rs690.c linux-3.0.4/drivers/gpu/dr
25707 } else { 26732 } else {
25708 if (rdev->pm.max_bandwidth.full > rdev->pm.k8_bandwidth.full && 26733 if (rdev->pm.max_bandwidth.full > rdev->pm.k8_bandwidth.full &&
25709 rdev->pm.k8_bandwidth.full) 26734 rdev->pm.k8_bandwidth.full)
25710diff -urNp linux-3.0.4/drivers/gpu/drm/ttm/ttm_page_alloc.c linux-3.0.4/drivers/gpu/drm/ttm/ttm_page_alloc.c 26735diff -urNp linux-3.0.7/drivers/gpu/drm/ttm/ttm_page_alloc.c linux-3.0.7/drivers/gpu/drm/ttm/ttm_page_alloc.c
25711--- linux-3.0.4/drivers/gpu/drm/ttm/ttm_page_alloc.c 2011-07-21 22:17:23.000000000 -0400 26736--- linux-3.0.7/drivers/gpu/drm/ttm/ttm_page_alloc.c 2011-07-21 22:17:23.000000000 -0400
25712+++ linux-3.0.4/drivers/gpu/drm/ttm/ttm_page_alloc.c 2011-08-23 21:47:55.000000000 -0400 26737+++ linux-3.0.7/drivers/gpu/drm/ttm/ttm_page_alloc.c 2011-08-23 21:47:55.000000000 -0400
25713@@ -398,9 +398,9 @@ static int ttm_pool_get_num_unused_pages 26738@@ -398,9 +398,9 @@ static int ttm_pool_get_num_unused_pages
25714 static int ttm_pool_mm_shrink(struct shrinker *shrink, 26739 static int ttm_pool_mm_shrink(struct shrinker *shrink,
25715 struct shrink_control *sc) 26740 struct shrink_control *sc)
@@ -25722,9 +26747,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/ttm/ttm_page_alloc.c linux-3.0.4/drivers/
25722 struct ttm_page_pool *pool; 26747 struct ttm_page_pool *pool;
25723 int shrink_pages = sc->nr_to_scan; 26748 int shrink_pages = sc->nr_to_scan;
25724 26749
25725diff -urNp linux-3.0.4/drivers/gpu/drm/via/via_drv.h linux-3.0.4/drivers/gpu/drm/via/via_drv.h 26750diff -urNp linux-3.0.7/drivers/gpu/drm/via/via_drv.h linux-3.0.7/drivers/gpu/drm/via/via_drv.h
25726--- linux-3.0.4/drivers/gpu/drm/via/via_drv.h 2011-07-21 22:17:23.000000000 -0400 26751--- linux-3.0.7/drivers/gpu/drm/via/via_drv.h 2011-07-21 22:17:23.000000000 -0400
25727+++ linux-3.0.4/drivers/gpu/drm/via/via_drv.h 2011-08-23 21:47:55.000000000 -0400 26752+++ linux-3.0.7/drivers/gpu/drm/via/via_drv.h 2011-08-23 21:47:55.000000000 -0400
25728@@ -51,7 +51,7 @@ typedef struct drm_via_ring_buffer { 26753@@ -51,7 +51,7 @@ typedef struct drm_via_ring_buffer {
25729 typedef uint32_t maskarray_t[5]; 26754 typedef uint32_t maskarray_t[5];
25730 26755
@@ -25743,9 +26768,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/via/via_drv.h linux-3.0.4/drivers/gpu/drm
25743 drm_via_state_t hc_state; 26768 drm_via_state_t hc_state;
25744 char pci_buf[VIA_PCI_BUF_SIZE]; 26769 char pci_buf[VIA_PCI_BUF_SIZE];
25745 const uint32_t *fire_offsets[VIA_FIRE_BUF_SIZE]; 26770 const uint32_t *fire_offsets[VIA_FIRE_BUF_SIZE];
25746diff -urNp linux-3.0.4/drivers/gpu/drm/via/via_irq.c linux-3.0.4/drivers/gpu/drm/via/via_irq.c 26771diff -urNp linux-3.0.7/drivers/gpu/drm/via/via_irq.c linux-3.0.7/drivers/gpu/drm/via/via_irq.c
25747--- linux-3.0.4/drivers/gpu/drm/via/via_irq.c 2011-07-21 22:17:23.000000000 -0400 26772--- linux-3.0.7/drivers/gpu/drm/via/via_irq.c 2011-07-21 22:17:23.000000000 -0400
25748+++ linux-3.0.4/drivers/gpu/drm/via/via_irq.c 2011-08-23 21:47:55.000000000 -0400 26773+++ linux-3.0.7/drivers/gpu/drm/via/via_irq.c 2011-08-23 21:47:55.000000000 -0400
25749@@ -102,7 +102,7 @@ u32 via_get_vblank_counter(struct drm_de 26774@@ -102,7 +102,7 @@ u32 via_get_vblank_counter(struct drm_de
25750 if (crtc != 0) 26775 if (crtc != 0)
25751 return 0; 26776 return 0;
@@ -25816,9 +26841,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/via/via_irq.c linux-3.0.4/drivers/gpu/drm
25816 irqwait->request.type &= ~_DRM_VBLANK_RELATIVE; 26841 irqwait->request.type &= ~_DRM_VBLANK_RELATIVE;
25817 case VIA_IRQ_ABSOLUTE: 26842 case VIA_IRQ_ABSOLUTE:
25818 break; 26843 break;
25819diff -urNp linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h 26844diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
25820--- linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h 2011-07-21 22:17:23.000000000 -0400 26845--- linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h 2011-07-21 22:17:23.000000000 -0400
25821+++ linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h 2011-08-23 21:47:55.000000000 -0400 26846+++ linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h 2011-08-23 21:47:55.000000000 -0400
25822@@ -240,7 +240,7 @@ struct vmw_private { 26847@@ -240,7 +240,7 @@ struct vmw_private {
25823 * Fencing and IRQs. 26848 * Fencing and IRQs.
25824 */ 26849 */
@@ -25828,9 +26853,21 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h linux-3.0.4/drivers/g
25828 wait_queue_head_t fence_queue; 26853 wait_queue_head_t fence_queue;
25829 wait_queue_head_t fifo_queue; 26854 wait_queue_head_t fifo_queue;
25830 atomic_t fence_queue_waiters; 26855 atomic_t fence_queue_waiters;
25831diff -urNp linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c 26856diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
25832--- linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c 2011-07-21 22:17:23.000000000 -0400 26857--- linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c 2011-07-21 22:17:23.000000000 -0400
25833+++ linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c 2011-08-23 21:47:55.000000000 -0400 26858+++ linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c 2011-10-06 04:17:55.000000000 -0400
26859@@ -610,7 +610,7 @@ int vmw_execbuf_ioctl(struct drm_device
26860 struct drm_vmw_fence_rep fence_rep;
26861 struct drm_vmw_fence_rep __user *user_fence_rep;
26862 int ret;
26863- void *user_cmd;
26864+ void __user *user_cmd;
26865 void *cmd;
26866 uint32_t sequence;
26867 struct vmw_sw_context *sw_context = &dev_priv->ctx;
26868diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
26869--- linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c 2011-07-21 22:17:23.000000000 -0400
26870+++ linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c 2011-08-23 21:47:55.000000000 -0400
25834@@ -151,7 +151,7 @@ int vmw_wait_lag(struct vmw_private *dev 26871@@ -151,7 +151,7 @@ int vmw_wait_lag(struct vmw_private *dev
25835 while (!vmw_lag_lt(queue, us)) { 26872 while (!vmw_lag_lt(queue, us)) {
25836 spin_lock(&queue->lock); 26873 spin_lock(&queue->lock);
@@ -25840,9 +26877,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c linux-3.0.4/drivers
25840 else { 26877 else {
25841 fence = list_first_entry(&queue->head, 26878 fence = list_first_entry(&queue->head,
25842 struct vmw_fence, head); 26879 struct vmw_fence, head);
25843diff -urNp linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c 26880diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c
25844--- linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c 2011-07-21 22:17:23.000000000 -0400 26881--- linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c 2011-07-21 22:17:23.000000000 -0400
25845+++ linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c 2011-08-23 21:47:55.000000000 -0400 26882+++ linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c 2011-10-06 04:17:55.000000000 -0400
25846@@ -137,7 +137,7 @@ int vmw_fifo_init(struct vmw_private *de 26883@@ -137,7 +137,7 @@ int vmw_fifo_init(struct vmw_private *de
25847 (unsigned int) min, 26884 (unsigned int) min,
25848 (unsigned int) fifo->capabilities); 26885 (unsigned int) fifo->capabilities);
@@ -25852,6 +26889,15 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c linux-3.0.4/drivers/
25852 iowrite32(dev_priv->last_read_sequence, fifo_mem + SVGA_FIFO_FENCE); 26889 iowrite32(dev_priv->last_read_sequence, fifo_mem + SVGA_FIFO_FENCE);
25853 vmw_fence_queue_init(&fifo->fence_queue); 26890 vmw_fence_queue_init(&fifo->fence_queue);
25854 return vmw_fifo_send_fence(dev_priv, &dummy); 26891 return vmw_fifo_send_fence(dev_priv, &dummy);
26892@@ -356,7 +356,7 @@ void *vmw_fifo_reserve(struct vmw_privat
26893 if (reserveable)
26894 iowrite32(bytes, fifo_mem +
26895 SVGA_FIFO_RESERVED);
26896- return fifo_mem + (next_cmd >> 2);
26897+ return (__le32 __force_kernel *)fifo_mem + (next_cmd >> 2);
26898 } else {
26899 need_bounce = true;
26900 }
25855@@ -476,7 +476,7 @@ int vmw_fifo_send_fence(struct vmw_priva 26901@@ -476,7 +476,7 @@ int vmw_fifo_send_fence(struct vmw_priva
25856 26902
25857 fm = vmw_fifo_reserve(dev_priv, bytes); 26903 fm = vmw_fifo_reserve(dev_priv, bytes);
@@ -25870,9 +26916,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c linux-3.0.4/drivers/
25870 } while (*sequence == 0); 26916 } while (*sequence == 0);
25871 26917
25872 if (!(fifo_state->capabilities & SVGA_FIFO_CAP_FENCE)) { 26918 if (!(fifo_state->capabilities & SVGA_FIFO_CAP_FENCE)) {
25873diff -urNp linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c 26919diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
25874--- linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c 2011-07-21 22:17:23.000000000 -0400 26920--- linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c 2011-07-21 22:17:23.000000000 -0400
25875+++ linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c 2011-08-23 21:47:55.000000000 -0400 26921+++ linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c 2011-08-23 21:47:55.000000000 -0400
25876@@ -100,7 +100,7 @@ bool vmw_fence_signaled(struct vmw_priva 26922@@ -100,7 +100,7 @@ bool vmw_fence_signaled(struct vmw_priva
25877 * emitted. Then the fence is stale and signaled. 26923 * emitted. Then the fence is stale and signaled.
25878 */ 26924 */
@@ -25891,9 +26937,9 @@ diff -urNp linux-3.0.4/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c linux-3.0.4/drivers/g
25891 ret = 0; 26937 ret = 0;
25892 26938
25893 for (;;) { 26939 for (;;) {
25894diff -urNp linux-3.0.4/drivers/hid/hid-core.c linux-3.0.4/drivers/hid/hid-core.c 26940diff -urNp linux-3.0.7/drivers/hid/hid-core.c linux-3.0.7/drivers/hid/hid-core.c
25895--- linux-3.0.4/drivers/hid/hid-core.c 2011-07-21 22:17:23.000000000 -0400 26941--- linux-3.0.7/drivers/hid/hid-core.c 2011-07-21 22:17:23.000000000 -0400
25896+++ linux-3.0.4/drivers/hid/hid-core.c 2011-08-23 21:47:55.000000000 -0400 26942+++ linux-3.0.7/drivers/hid/hid-core.c 2011-08-23 21:47:55.000000000 -0400
25897@@ -1923,7 +1923,7 @@ static bool hid_ignore(struct hid_device 26943@@ -1923,7 +1923,7 @@ static bool hid_ignore(struct hid_device
25898 26944
25899 int hid_add_device(struct hid_device *hdev) 26945 int hid_add_device(struct hid_device *hdev)
@@ -25912,9 +26958,9 @@ diff -urNp linux-3.0.4/drivers/hid/hid-core.c linux-3.0.4/drivers/hid/hid-core.c
25912 26958
25913 hid_debug_register(hdev, dev_name(&hdev->dev)); 26959 hid_debug_register(hdev, dev_name(&hdev->dev));
25914 ret = device_add(&hdev->dev); 26960 ret = device_add(&hdev->dev);
25915diff -urNp linux-3.0.4/drivers/hid/usbhid/hiddev.c linux-3.0.4/drivers/hid/usbhid/hiddev.c 26961diff -urNp linux-3.0.7/drivers/hid/usbhid/hiddev.c linux-3.0.7/drivers/hid/usbhid/hiddev.c
25916--- linux-3.0.4/drivers/hid/usbhid/hiddev.c 2011-07-21 22:17:23.000000000 -0400 26962--- linux-3.0.7/drivers/hid/usbhid/hiddev.c 2011-07-21 22:17:23.000000000 -0400
25917+++ linux-3.0.4/drivers/hid/usbhid/hiddev.c 2011-08-23 21:47:55.000000000 -0400 26963+++ linux-3.0.7/drivers/hid/usbhid/hiddev.c 2011-08-23 21:47:55.000000000 -0400
25918@@ -624,7 +624,7 @@ static long hiddev_ioctl(struct file *fi 26964@@ -624,7 +624,7 @@ static long hiddev_ioctl(struct file *fi
25919 break; 26965 break;
25920 26966
@@ -25924,9 +26970,9 @@ diff -urNp linux-3.0.4/drivers/hid/usbhid/hiddev.c linux-3.0.4/drivers/hid/usbhi
25924 break; 26970 break;
25925 26971
25926 for (i = 0; i < hid->maxcollection; i++) 26972 for (i = 0; i < hid->maxcollection; i++)
25927diff -urNp linux-3.0.4/drivers/hwmon/acpi_power_meter.c linux-3.0.4/drivers/hwmon/acpi_power_meter.c 26973diff -urNp linux-3.0.7/drivers/hwmon/acpi_power_meter.c linux-3.0.7/drivers/hwmon/acpi_power_meter.c
25928--- linux-3.0.4/drivers/hwmon/acpi_power_meter.c 2011-07-21 22:17:23.000000000 -0400 26974--- linux-3.0.7/drivers/hwmon/acpi_power_meter.c 2011-07-21 22:17:23.000000000 -0400
25929+++ linux-3.0.4/drivers/hwmon/acpi_power_meter.c 2011-08-23 21:47:55.000000000 -0400 26975+++ linux-3.0.7/drivers/hwmon/acpi_power_meter.c 2011-08-23 21:47:55.000000000 -0400
25930@@ -316,8 +316,6 @@ static ssize_t set_trip(struct device *d 26976@@ -316,8 +316,6 @@ static ssize_t set_trip(struct device *d
25931 return res; 26977 return res;
25932 26978
@@ -25936,9 +26982,9 @@ diff -urNp linux-3.0.4/drivers/hwmon/acpi_power_meter.c linux-3.0.4/drivers/hwmo
25936 26982
25937 mutex_lock(&resource->lock); 26983 mutex_lock(&resource->lock);
25938 resource->trip[attr->index - 7] = temp; 26984 resource->trip[attr->index - 7] = temp;
25939diff -urNp linux-3.0.4/drivers/hwmon/sht15.c linux-3.0.4/drivers/hwmon/sht15.c 26985diff -urNp linux-3.0.7/drivers/hwmon/sht15.c linux-3.0.7/drivers/hwmon/sht15.c
25940--- linux-3.0.4/drivers/hwmon/sht15.c 2011-07-21 22:17:23.000000000 -0400 26986--- linux-3.0.7/drivers/hwmon/sht15.c 2011-07-21 22:17:23.000000000 -0400
25941+++ linux-3.0.4/drivers/hwmon/sht15.c 2011-08-23 21:47:55.000000000 -0400 26987+++ linux-3.0.7/drivers/hwmon/sht15.c 2011-08-23 21:47:55.000000000 -0400
25942@@ -166,7 +166,7 @@ struct sht15_data { 26988@@ -166,7 +166,7 @@ struct sht15_data {
25943 int supply_uV; 26989 int supply_uV;
25944 bool supply_uV_valid; 26990 bool supply_uV_valid;
@@ -25987,9 +27033,9 @@ diff -urNp linux-3.0.4/drivers/hwmon/sht15.c linux-3.0.4/drivers/hwmon/sht15.c
25987 return; 27033 return;
25988 } 27034 }
25989 27035
25990diff -urNp linux-3.0.4/drivers/hwmon/w83791d.c linux-3.0.4/drivers/hwmon/w83791d.c 27036diff -urNp linux-3.0.7/drivers/hwmon/w83791d.c linux-3.0.7/drivers/hwmon/w83791d.c
25991--- linux-3.0.4/drivers/hwmon/w83791d.c 2011-07-21 22:17:23.000000000 -0400 27037--- linux-3.0.7/drivers/hwmon/w83791d.c 2011-07-21 22:17:23.000000000 -0400
25992+++ linux-3.0.4/drivers/hwmon/w83791d.c 2011-08-23 21:47:55.000000000 -0400 27038+++ linux-3.0.7/drivers/hwmon/w83791d.c 2011-08-23 21:47:55.000000000 -0400
25993@@ -329,8 +329,8 @@ static int w83791d_detect(struct i2c_cli 27039@@ -329,8 +329,8 @@ static int w83791d_detect(struct i2c_cli
25994 struct i2c_board_info *info); 27040 struct i2c_board_info *info);
25995 static int w83791d_remove(struct i2c_client *client); 27041 static int w83791d_remove(struct i2c_client *client);
@@ -26001,9 +27047,9 @@ diff -urNp linux-3.0.4/drivers/hwmon/w83791d.c linux-3.0.4/drivers/hwmon/w83791d
26001 static struct w83791d_data *w83791d_update_device(struct device *dev); 27047 static struct w83791d_data *w83791d_update_device(struct device *dev);
26002 27048
26003 #ifdef DEBUG 27049 #ifdef DEBUG
26004diff -urNp linux-3.0.4/drivers/i2c/busses/i2c-amd756-s4882.c linux-3.0.4/drivers/i2c/busses/i2c-amd756-s4882.c 27050diff -urNp linux-3.0.7/drivers/i2c/busses/i2c-amd756-s4882.c linux-3.0.7/drivers/i2c/busses/i2c-amd756-s4882.c
26005--- linux-3.0.4/drivers/i2c/busses/i2c-amd756-s4882.c 2011-07-21 22:17:23.000000000 -0400 27051--- linux-3.0.7/drivers/i2c/busses/i2c-amd756-s4882.c 2011-07-21 22:17:23.000000000 -0400
26006+++ linux-3.0.4/drivers/i2c/busses/i2c-amd756-s4882.c 2011-08-23 21:47:55.000000000 -0400 27052+++ linux-3.0.7/drivers/i2c/busses/i2c-amd756-s4882.c 2011-08-23 21:47:55.000000000 -0400
26007@@ -43,7 +43,7 @@ 27053@@ -43,7 +43,7 @@
26008 extern struct i2c_adapter amd756_smbus; 27054 extern struct i2c_adapter amd756_smbus;
26009 27055
@@ -26013,9 +27059,9 @@ diff -urNp linux-3.0.4/drivers/i2c/busses/i2c-amd756-s4882.c linux-3.0.4/drivers
26013 27059
26014 /* Wrapper access functions for multiplexed SMBus */ 27060 /* Wrapper access functions for multiplexed SMBus */
26015 static DEFINE_MUTEX(amd756_lock); 27061 static DEFINE_MUTEX(amd756_lock);
26016diff -urNp linux-3.0.4/drivers/i2c/busses/i2c-nforce2-s4985.c linux-3.0.4/drivers/i2c/busses/i2c-nforce2-s4985.c 27062diff -urNp linux-3.0.7/drivers/i2c/busses/i2c-nforce2-s4985.c linux-3.0.7/drivers/i2c/busses/i2c-nforce2-s4985.c
26017--- linux-3.0.4/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-07-21 22:17:23.000000000 -0400 27063--- linux-3.0.7/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-07-21 22:17:23.000000000 -0400
26018+++ linux-3.0.4/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-08-23 21:47:55.000000000 -0400 27064+++ linux-3.0.7/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-08-23 21:47:55.000000000 -0400
26019@@ -41,7 +41,7 @@ 27065@@ -41,7 +41,7 @@
26020 extern struct i2c_adapter *nforce2_smbus; 27066 extern struct i2c_adapter *nforce2_smbus;
26021 27067
@@ -26025,9 +27071,9 @@ diff -urNp linux-3.0.4/drivers/i2c/busses/i2c-nforce2-s4985.c linux-3.0.4/driver
26025 27071
26026 /* Wrapper access functions for multiplexed SMBus */ 27072 /* Wrapper access functions for multiplexed SMBus */
26027 static DEFINE_MUTEX(nforce2_lock); 27073 static DEFINE_MUTEX(nforce2_lock);
26028diff -urNp linux-3.0.4/drivers/i2c/i2c-mux.c linux-3.0.4/drivers/i2c/i2c-mux.c 27074diff -urNp linux-3.0.7/drivers/i2c/i2c-mux.c linux-3.0.7/drivers/i2c/i2c-mux.c
26029--- linux-3.0.4/drivers/i2c/i2c-mux.c 2011-07-21 22:17:23.000000000 -0400 27075--- linux-3.0.7/drivers/i2c/i2c-mux.c 2011-07-21 22:17:23.000000000 -0400
26030+++ linux-3.0.4/drivers/i2c/i2c-mux.c 2011-08-23 21:47:55.000000000 -0400 27076+++ linux-3.0.7/drivers/i2c/i2c-mux.c 2011-08-23 21:47:55.000000000 -0400
26031@@ -28,7 +28,7 @@ 27077@@ -28,7 +28,7 @@
26032 /* multiplexer per channel data */ 27078 /* multiplexer per channel data */
26033 struct i2c_mux_priv { 27079 struct i2c_mux_priv {
@@ -26037,9 +27083,228 @@ diff -urNp linux-3.0.4/drivers/i2c/i2c-mux.c linux-3.0.4/drivers/i2c/i2c-mux.c
26037 27083
26038 struct i2c_adapter *parent; 27084 struct i2c_adapter *parent;
26039 void *mux_dev; /* the mux chip/device */ 27085 void *mux_dev; /* the mux chip/device */
26040diff -urNp linux-3.0.4/drivers/ide/ide-cd.c linux-3.0.4/drivers/ide/ide-cd.c 27086diff -urNp linux-3.0.7/drivers/ide/aec62xx.c linux-3.0.7/drivers/ide/aec62xx.c
26041--- linux-3.0.4/drivers/ide/ide-cd.c 2011-07-21 22:17:23.000000000 -0400 27087--- linux-3.0.7/drivers/ide/aec62xx.c 2011-07-21 22:17:23.000000000 -0400
26042+++ linux-3.0.4/drivers/ide/ide-cd.c 2011-08-23 21:47:55.000000000 -0400 27088+++ linux-3.0.7/drivers/ide/aec62xx.c 2011-10-11 10:44:33.000000000 -0400
27089@@ -181,7 +181,7 @@ static const struct ide_port_ops atp86x_
27090 .cable_detect = atp86x_cable_detect,
27091 };
27092
27093-static const struct ide_port_info aec62xx_chipsets[] __devinitdata = {
27094+static const struct ide_port_info aec62xx_chipsets[] __devinitconst = {
27095 { /* 0: AEC6210 */
27096 .name = DRV_NAME,
27097 .init_chipset = init_chipset_aec62xx,
27098diff -urNp linux-3.0.7/drivers/ide/alim15x3.c linux-3.0.7/drivers/ide/alim15x3.c
27099--- linux-3.0.7/drivers/ide/alim15x3.c 2011-07-21 22:17:23.000000000 -0400
27100+++ linux-3.0.7/drivers/ide/alim15x3.c 2011-10-11 10:44:33.000000000 -0400
27101@@ -512,7 +512,7 @@ static const struct ide_dma_ops ali_dma_
27102 .dma_sff_read_status = ide_dma_sff_read_status,
27103 };
27104
27105-static const struct ide_port_info ali15x3_chipset __devinitdata = {
27106+static const struct ide_port_info ali15x3_chipset __devinitconst = {
27107 .name = DRV_NAME,
27108 .init_chipset = init_chipset_ali15x3,
27109 .init_hwif = init_hwif_ali15x3,
27110diff -urNp linux-3.0.7/drivers/ide/amd74xx.c linux-3.0.7/drivers/ide/amd74xx.c
27111--- linux-3.0.7/drivers/ide/amd74xx.c 2011-07-21 22:17:23.000000000 -0400
27112+++ linux-3.0.7/drivers/ide/amd74xx.c 2011-10-11 10:44:33.000000000 -0400
27113@@ -223,7 +223,7 @@ static const struct ide_port_ops amd_por
27114 .udma_mask = udma, \
27115 }
27116
27117-static const struct ide_port_info amd74xx_chipsets[] __devinitdata = {
27118+static const struct ide_port_info amd74xx_chipsets[] __devinitconst = {
27119 /* 0: AMD7401 */ DECLARE_AMD_DEV(0x00, ATA_UDMA2),
27120 /* 1: AMD7409 */ DECLARE_AMD_DEV(ATA_SWDMA2, ATA_UDMA4),
27121 /* 2: AMD7411/7441 */ DECLARE_AMD_DEV(ATA_SWDMA2, ATA_UDMA5),
27122diff -urNp linux-3.0.7/drivers/ide/atiixp.c linux-3.0.7/drivers/ide/atiixp.c
27123--- linux-3.0.7/drivers/ide/atiixp.c 2011-07-21 22:17:23.000000000 -0400
27124+++ linux-3.0.7/drivers/ide/atiixp.c 2011-10-11 10:44:33.000000000 -0400
27125@@ -139,7 +139,7 @@ static const struct ide_port_ops atiixp_
27126 .cable_detect = atiixp_cable_detect,
27127 };
27128
27129-static const struct ide_port_info atiixp_pci_info[] __devinitdata = {
27130+static const struct ide_port_info atiixp_pci_info[] __devinitconst = {
27131 { /* 0: IXP200/300/400/700 */
27132 .name = DRV_NAME,
27133 .enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}},
27134diff -urNp linux-3.0.7/drivers/ide/cmd64x.c linux-3.0.7/drivers/ide/cmd64x.c
27135--- linux-3.0.7/drivers/ide/cmd64x.c 2011-07-21 22:17:23.000000000 -0400
27136+++ linux-3.0.7/drivers/ide/cmd64x.c 2011-10-11 10:44:33.000000000 -0400
27137@@ -327,7 +327,7 @@ static const struct ide_dma_ops cmd646_r
27138 .dma_sff_read_status = ide_dma_sff_read_status,
27139 };
27140
27141-static const struct ide_port_info cmd64x_chipsets[] __devinitdata = {
27142+static const struct ide_port_info cmd64x_chipsets[] __devinitconst = {
27143 { /* 0: CMD643 */
27144 .name = DRV_NAME,
27145 .init_chipset = init_chipset_cmd64x,
27146diff -urNp linux-3.0.7/drivers/ide/cs5520.c linux-3.0.7/drivers/ide/cs5520.c
27147--- linux-3.0.7/drivers/ide/cs5520.c 2011-07-21 22:17:23.000000000 -0400
27148+++ linux-3.0.7/drivers/ide/cs5520.c 2011-10-11 10:44:33.000000000 -0400
27149@@ -94,7 +94,7 @@ static const struct ide_port_ops cs5520_
27150 .set_dma_mode = cs5520_set_dma_mode,
27151 };
27152
27153-static const struct ide_port_info cyrix_chipset __devinitdata = {
27154+static const struct ide_port_info cyrix_chipset __devinitconst = {
27155 .name = DRV_NAME,
27156 .enablebits = { { 0x60, 0x01, 0x01 }, { 0x60, 0x02, 0x02 } },
27157 .port_ops = &cs5520_port_ops,
27158diff -urNp linux-3.0.7/drivers/ide/cs5530.c linux-3.0.7/drivers/ide/cs5530.c
27159--- linux-3.0.7/drivers/ide/cs5530.c 2011-07-21 22:17:23.000000000 -0400
27160+++ linux-3.0.7/drivers/ide/cs5530.c 2011-10-11 10:44:33.000000000 -0400
27161@@ -245,7 +245,7 @@ static const struct ide_port_ops cs5530_
27162 .udma_filter = cs5530_udma_filter,
27163 };
27164
27165-static const struct ide_port_info cs5530_chipset __devinitdata = {
27166+static const struct ide_port_info cs5530_chipset __devinitconst = {
27167 .name = DRV_NAME,
27168 .init_chipset = init_chipset_cs5530,
27169 .init_hwif = init_hwif_cs5530,
27170diff -urNp linux-3.0.7/drivers/ide/cs5535.c linux-3.0.7/drivers/ide/cs5535.c
27171--- linux-3.0.7/drivers/ide/cs5535.c 2011-07-21 22:17:23.000000000 -0400
27172+++ linux-3.0.7/drivers/ide/cs5535.c 2011-10-11 10:44:33.000000000 -0400
27173@@ -170,7 +170,7 @@ static const struct ide_port_ops cs5535_
27174 .cable_detect = cs5535_cable_detect,
27175 };
27176
27177-static const struct ide_port_info cs5535_chipset __devinitdata = {
27178+static const struct ide_port_info cs5535_chipset __devinitconst = {
27179 .name = DRV_NAME,
27180 .port_ops = &cs5535_port_ops,
27181 .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_POST_SET_MODE,
27182diff -urNp linux-3.0.7/drivers/ide/cy82c693.c linux-3.0.7/drivers/ide/cy82c693.c
27183--- linux-3.0.7/drivers/ide/cy82c693.c 2011-07-21 22:17:23.000000000 -0400
27184+++ linux-3.0.7/drivers/ide/cy82c693.c 2011-10-11 10:44:33.000000000 -0400
27185@@ -161,7 +161,7 @@ static const struct ide_port_ops cy82c69
27186 .set_dma_mode = cy82c693_set_dma_mode,
27187 };
27188
27189-static const struct ide_port_info cy82c693_chipset __devinitdata = {
27190+static const struct ide_port_info cy82c693_chipset __devinitconst = {
27191 .name = DRV_NAME,
27192 .init_iops = init_iops_cy82c693,
27193 .port_ops = &cy82c693_port_ops,
27194diff -urNp linux-3.0.7/drivers/ide/hpt366.c linux-3.0.7/drivers/ide/hpt366.c
27195--- linux-3.0.7/drivers/ide/hpt366.c 2011-07-21 22:17:23.000000000 -0400
27196+++ linux-3.0.7/drivers/ide/hpt366.c 2011-10-11 10:44:33.000000000 -0400
27197@@ -443,7 +443,7 @@ static struct hpt_timings hpt37x_timings
27198 }
27199 };
27200
27201-static const struct hpt_info hpt36x __devinitdata = {
27202+static const struct hpt_info hpt36x __devinitconst = {
27203 .chip_name = "HPT36x",
27204 .chip_type = HPT36x,
27205 .udma_mask = HPT366_ALLOW_ATA66_3 ? (HPT366_ALLOW_ATA66_4 ? ATA_UDMA4 : ATA_UDMA3) : ATA_UDMA2,
27206@@ -451,7 +451,7 @@ static const struct hpt_info hpt36x __de
27207 .timings = &hpt36x_timings
27208 };
27209
27210-static const struct hpt_info hpt370 __devinitdata = {
27211+static const struct hpt_info hpt370 __devinitconst = {
27212 .chip_name = "HPT370",
27213 .chip_type = HPT370,
27214 .udma_mask = HPT370_ALLOW_ATA100_5 ? ATA_UDMA5 : ATA_UDMA4,
27215@@ -459,7 +459,7 @@ static const struct hpt_info hpt370 __de
27216 .timings = &hpt37x_timings
27217 };
27218
27219-static const struct hpt_info hpt370a __devinitdata = {
27220+static const struct hpt_info hpt370a __devinitconst = {
27221 .chip_name = "HPT370A",
27222 .chip_type = HPT370A,
27223 .udma_mask = HPT370_ALLOW_ATA100_5 ? ATA_UDMA5 : ATA_UDMA4,
27224@@ -467,7 +467,7 @@ static const struct hpt_info hpt370a __d
27225 .timings = &hpt37x_timings
27226 };
27227
27228-static const struct hpt_info hpt374 __devinitdata = {
27229+static const struct hpt_info hpt374 __devinitconst = {
27230 .chip_name = "HPT374",
27231 .chip_type = HPT374,
27232 .udma_mask = ATA_UDMA5,
27233@@ -475,7 +475,7 @@ static const struct hpt_info hpt374 __de
27234 .timings = &hpt37x_timings
27235 };
27236
27237-static const struct hpt_info hpt372 __devinitdata = {
27238+static const struct hpt_info hpt372 __devinitconst = {
27239 .chip_name = "HPT372",
27240 .chip_type = HPT372,
27241 .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
27242@@ -483,7 +483,7 @@ static const struct hpt_info hpt372 __de
27243 .timings = &hpt37x_timings
27244 };
27245
27246-static const struct hpt_info hpt372a __devinitdata = {
27247+static const struct hpt_info hpt372a __devinitconst = {
27248 .chip_name = "HPT372A",
27249 .chip_type = HPT372A,
27250 .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
27251@@ -491,7 +491,7 @@ static const struct hpt_info hpt372a __d
27252 .timings = &hpt37x_timings
27253 };
27254
27255-static const struct hpt_info hpt302 __devinitdata = {
27256+static const struct hpt_info hpt302 __devinitconst = {
27257 .chip_name = "HPT302",
27258 .chip_type = HPT302,
27259 .udma_mask = HPT302_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
27260@@ -499,7 +499,7 @@ static const struct hpt_info hpt302 __de
27261 .timings = &hpt37x_timings
27262 };
27263
27264-static const struct hpt_info hpt371 __devinitdata = {
27265+static const struct hpt_info hpt371 __devinitconst = {
27266 .chip_name = "HPT371",
27267 .chip_type = HPT371,
27268 .udma_mask = HPT371_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
27269@@ -507,7 +507,7 @@ static const struct hpt_info hpt371 __de
27270 .timings = &hpt37x_timings
27271 };
27272
27273-static const struct hpt_info hpt372n __devinitdata = {
27274+static const struct hpt_info hpt372n __devinitconst = {
27275 .chip_name = "HPT372N",
27276 .chip_type = HPT372N,
27277 .udma_mask = HPT372_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
27278@@ -515,7 +515,7 @@ static const struct hpt_info hpt372n __d
27279 .timings = &hpt37x_timings
27280 };
27281
27282-static const struct hpt_info hpt302n __devinitdata = {
27283+static const struct hpt_info hpt302n __devinitconst = {
27284 .chip_name = "HPT302N",
27285 .chip_type = HPT302N,
27286 .udma_mask = HPT302_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
27287@@ -523,7 +523,7 @@ static const struct hpt_info hpt302n __d
27288 .timings = &hpt37x_timings
27289 };
27290
27291-static const struct hpt_info hpt371n __devinitdata = {
27292+static const struct hpt_info hpt371n __devinitconst = {
27293 .chip_name = "HPT371N",
27294 .chip_type = HPT371N,
27295 .udma_mask = HPT371_ALLOW_ATA133_6 ? ATA_UDMA6 : ATA_UDMA5,
27296@@ -1361,7 +1361,7 @@ static const struct ide_dma_ops hpt36x_d
27297 .dma_sff_read_status = ide_dma_sff_read_status,
27298 };
27299
27300-static const struct ide_port_info hpt366_chipsets[] __devinitdata = {
27301+static const struct ide_port_info hpt366_chipsets[] __devinitconst = {
27302 { /* 0: HPT36x */
27303 .name = DRV_NAME,
27304 .init_chipset = init_chipset_hpt366,
27305diff -urNp linux-3.0.7/drivers/ide/ide-cd.c linux-3.0.7/drivers/ide/ide-cd.c
27306--- linux-3.0.7/drivers/ide/ide-cd.c 2011-07-21 22:17:23.000000000 -0400
27307+++ linux-3.0.7/drivers/ide/ide-cd.c 2011-08-23 21:47:55.000000000 -0400
26043@@ -769,7 +769,7 @@ static void cdrom_do_block_pc(ide_drive_ 27308@@ -769,7 +769,7 @@ static void cdrom_do_block_pc(ide_drive_
26044 alignment = queue_dma_alignment(q) | q->dma_pad_mask; 27309 alignment = queue_dma_alignment(q) | q->dma_pad_mask;
26045 if ((unsigned long)buf & alignment 27310 if ((unsigned long)buf & alignment
@@ -26049,9 +27314,9 @@ diff -urNp linux-3.0.4/drivers/ide/ide-cd.c linux-3.0.4/drivers/ide/ide-cd.c
26049 drive->dma = 0; 27314 drive->dma = 0;
26050 } 27315 }
26051 } 27316 }
26052diff -urNp linux-3.0.4/drivers/ide/ide-floppy.c linux-3.0.4/drivers/ide/ide-floppy.c 27317diff -urNp linux-3.0.7/drivers/ide/ide-floppy.c linux-3.0.7/drivers/ide/ide-floppy.c
26053--- linux-3.0.4/drivers/ide/ide-floppy.c 2011-07-21 22:17:23.000000000 -0400 27318--- linux-3.0.7/drivers/ide/ide-floppy.c 2011-07-21 22:17:23.000000000 -0400
26054+++ linux-3.0.4/drivers/ide/ide-floppy.c 2011-08-23 21:48:14.000000000 -0400 27319+++ linux-3.0.7/drivers/ide/ide-floppy.c 2011-08-23 21:48:14.000000000 -0400
26055@@ -379,6 +379,8 @@ static int ide_floppy_get_capacity(ide_d 27320@@ -379,6 +379,8 @@ static int ide_floppy_get_capacity(ide_d
26056 u8 pc_buf[256], header_len, desc_cnt; 27321 u8 pc_buf[256], header_len, desc_cnt;
26057 int i, rc = 1, blocks, length; 27322 int i, rc = 1, blocks, length;
@@ -26061,9 +27326,177 @@ diff -urNp linux-3.0.4/drivers/ide/ide-floppy.c linux-3.0.4/drivers/ide/ide-flop
26061 ide_debug_log(IDE_DBG_FUNC, "enter"); 27326 ide_debug_log(IDE_DBG_FUNC, "enter");
26062 27327
26063 drive->bios_cyl = 0; 27328 drive->bios_cyl = 0;
26064diff -urNp linux-3.0.4/drivers/ide/setup-pci.c linux-3.0.4/drivers/ide/setup-pci.c 27329diff -urNp linux-3.0.7/drivers/ide/ide-pci-generic.c linux-3.0.7/drivers/ide/ide-pci-generic.c
26065--- linux-3.0.4/drivers/ide/setup-pci.c 2011-07-21 22:17:23.000000000 -0400 27330--- linux-3.0.7/drivers/ide/ide-pci-generic.c 2011-07-21 22:17:23.000000000 -0400
26066+++ linux-3.0.4/drivers/ide/setup-pci.c 2011-08-23 21:48:14.000000000 -0400 27331+++ linux-3.0.7/drivers/ide/ide-pci-generic.c 2011-10-11 10:44:33.000000000 -0400
27332@@ -53,7 +53,7 @@ static const struct ide_port_ops netcell
27333 .udma_mask = ATA_UDMA6, \
27334 }
27335
27336-static const struct ide_port_info generic_chipsets[] __devinitdata = {
27337+static const struct ide_port_info generic_chipsets[] __devinitconst = {
27338 /* 0: Unknown */
27339 DECLARE_GENERIC_PCI_DEV(0),
27340
27341diff -urNp linux-3.0.7/drivers/ide/it8172.c linux-3.0.7/drivers/ide/it8172.c
27342--- linux-3.0.7/drivers/ide/it8172.c 2011-07-21 22:17:23.000000000 -0400
27343+++ linux-3.0.7/drivers/ide/it8172.c 2011-10-11 10:44:33.000000000 -0400
27344@@ -115,7 +115,7 @@ static const struct ide_port_ops it8172_
27345 .set_dma_mode = it8172_set_dma_mode,
27346 };
27347
27348-static const struct ide_port_info it8172_port_info __devinitdata = {
27349+static const struct ide_port_info it8172_port_info __devinitconst = {
27350 .name = DRV_NAME,
27351 .port_ops = &it8172_port_ops,
27352 .enablebits = { {0x41, 0x80, 0x80}, {0x00, 0x00, 0x00} },
27353diff -urNp linux-3.0.7/drivers/ide/it8213.c linux-3.0.7/drivers/ide/it8213.c
27354--- linux-3.0.7/drivers/ide/it8213.c 2011-07-21 22:17:23.000000000 -0400
27355+++ linux-3.0.7/drivers/ide/it8213.c 2011-10-11 10:44:33.000000000 -0400
27356@@ -156,7 +156,7 @@ static const struct ide_port_ops it8213_
27357 .cable_detect = it8213_cable_detect,
27358 };
27359
27360-static const struct ide_port_info it8213_chipset __devinitdata = {
27361+static const struct ide_port_info it8213_chipset __devinitconst = {
27362 .name = DRV_NAME,
27363 .enablebits = { {0x41, 0x80, 0x80} },
27364 .port_ops = &it8213_port_ops,
27365diff -urNp linux-3.0.7/drivers/ide/it821x.c linux-3.0.7/drivers/ide/it821x.c
27366--- linux-3.0.7/drivers/ide/it821x.c 2011-07-21 22:17:23.000000000 -0400
27367+++ linux-3.0.7/drivers/ide/it821x.c 2011-10-11 10:44:33.000000000 -0400
27368@@ -630,7 +630,7 @@ static const struct ide_port_ops it821x_
27369 .cable_detect = it821x_cable_detect,
27370 };
27371
27372-static const struct ide_port_info it821x_chipset __devinitdata = {
27373+static const struct ide_port_info it821x_chipset __devinitconst = {
27374 .name = DRV_NAME,
27375 .init_chipset = init_chipset_it821x,
27376 .init_hwif = init_hwif_it821x,
27377diff -urNp linux-3.0.7/drivers/ide/jmicron.c linux-3.0.7/drivers/ide/jmicron.c
27378--- linux-3.0.7/drivers/ide/jmicron.c 2011-07-21 22:17:23.000000000 -0400
27379+++ linux-3.0.7/drivers/ide/jmicron.c 2011-10-11 10:44:33.000000000 -0400
27380@@ -102,7 +102,7 @@ static const struct ide_port_ops jmicron
27381 .cable_detect = jmicron_cable_detect,
27382 };
27383
27384-static const struct ide_port_info jmicron_chipset __devinitdata = {
27385+static const struct ide_port_info jmicron_chipset __devinitconst = {
27386 .name = DRV_NAME,
27387 .enablebits = { { 0x40, 0x01, 0x01 }, { 0x40, 0x10, 0x10 } },
27388 .port_ops = &jmicron_port_ops,
27389diff -urNp linux-3.0.7/drivers/ide/ns87415.c linux-3.0.7/drivers/ide/ns87415.c
27390--- linux-3.0.7/drivers/ide/ns87415.c 2011-07-21 22:17:23.000000000 -0400
27391+++ linux-3.0.7/drivers/ide/ns87415.c 2011-10-11 10:44:33.000000000 -0400
27392@@ -293,7 +293,7 @@ static const struct ide_dma_ops ns87415_
27393 .dma_sff_read_status = superio_dma_sff_read_status,
27394 };
27395
27396-static const struct ide_port_info ns87415_chipset __devinitdata = {
27397+static const struct ide_port_info ns87415_chipset __devinitconst = {
27398 .name = DRV_NAME,
27399 .init_hwif = init_hwif_ns87415,
27400 .tp_ops = &ns87415_tp_ops,
27401diff -urNp linux-3.0.7/drivers/ide/opti621.c linux-3.0.7/drivers/ide/opti621.c
27402--- linux-3.0.7/drivers/ide/opti621.c 2011-07-21 22:17:23.000000000 -0400
27403+++ linux-3.0.7/drivers/ide/opti621.c 2011-10-11 10:44:33.000000000 -0400
27404@@ -131,7 +131,7 @@ static const struct ide_port_ops opti621
27405 .set_pio_mode = opti621_set_pio_mode,
27406 };
27407
27408-static const struct ide_port_info opti621_chipset __devinitdata = {
27409+static const struct ide_port_info opti621_chipset __devinitconst = {
27410 .name = DRV_NAME,
27411 .enablebits = { {0x45, 0x80, 0x00}, {0x40, 0x08, 0x00} },
27412 .port_ops = &opti621_port_ops,
27413diff -urNp linux-3.0.7/drivers/ide/pdc202xx_new.c linux-3.0.7/drivers/ide/pdc202xx_new.c
27414--- linux-3.0.7/drivers/ide/pdc202xx_new.c 2011-07-21 22:17:23.000000000 -0400
27415+++ linux-3.0.7/drivers/ide/pdc202xx_new.c 2011-10-11 10:44:33.000000000 -0400
27416@@ -465,7 +465,7 @@ static const struct ide_port_ops pdcnew_
27417 .udma_mask = udma, \
27418 }
27419
27420-static const struct ide_port_info pdcnew_chipsets[] __devinitdata = {
27421+static const struct ide_port_info pdcnew_chipsets[] __devinitconst = {
27422 /* 0: PDC202{68,70} */ DECLARE_PDCNEW_DEV(ATA_UDMA5),
27423 /* 1: PDC202{69,71,75,76,77} */ DECLARE_PDCNEW_DEV(ATA_UDMA6),
27424 };
27425diff -urNp linux-3.0.7/drivers/ide/pdc202xx_old.c linux-3.0.7/drivers/ide/pdc202xx_old.c
27426--- linux-3.0.7/drivers/ide/pdc202xx_old.c 2011-07-21 22:17:23.000000000 -0400
27427+++ linux-3.0.7/drivers/ide/pdc202xx_old.c 2011-10-11 10:44:33.000000000 -0400
27428@@ -270,7 +270,7 @@ static const struct ide_dma_ops pdc2026x
27429 .max_sectors = sectors, \
27430 }
27431
27432-static const struct ide_port_info pdc202xx_chipsets[] __devinitdata = {
27433+static const struct ide_port_info pdc202xx_chipsets[] __devinitconst = {
27434 { /* 0: PDC20246 */
27435 .name = DRV_NAME,
27436 .init_chipset = init_chipset_pdc202xx,
27437diff -urNp linux-3.0.7/drivers/ide/piix.c linux-3.0.7/drivers/ide/piix.c
27438--- linux-3.0.7/drivers/ide/piix.c 2011-07-21 22:17:23.000000000 -0400
27439+++ linux-3.0.7/drivers/ide/piix.c 2011-10-11 10:44:33.000000000 -0400
27440@@ -344,7 +344,7 @@ static const struct ide_port_ops ich_por
27441 .udma_mask = udma, \
27442 }
27443
27444-static const struct ide_port_info piix_pci_info[] __devinitdata = {
27445+static const struct ide_port_info piix_pci_info[] __devinitconst = {
27446 /* 0: MPIIX */
27447 { /*
27448 * MPIIX actually has only a single IDE channel mapped to
27449diff -urNp linux-3.0.7/drivers/ide/rz1000.c linux-3.0.7/drivers/ide/rz1000.c
27450--- linux-3.0.7/drivers/ide/rz1000.c 2011-07-21 22:17:23.000000000 -0400
27451+++ linux-3.0.7/drivers/ide/rz1000.c 2011-10-11 10:44:33.000000000 -0400
27452@@ -38,7 +38,7 @@ static int __devinit rz1000_disable_read
27453 }
27454 }
27455
27456-static const struct ide_port_info rz1000_chipset __devinitdata = {
27457+static const struct ide_port_info rz1000_chipset __devinitconst = {
27458 .name = DRV_NAME,
27459 .host_flags = IDE_HFLAG_NO_DMA,
27460 };
27461diff -urNp linux-3.0.7/drivers/ide/sc1200.c linux-3.0.7/drivers/ide/sc1200.c
27462--- linux-3.0.7/drivers/ide/sc1200.c 2011-07-21 22:17:23.000000000 -0400
27463+++ linux-3.0.7/drivers/ide/sc1200.c 2011-10-11 10:44:33.000000000 -0400
27464@@ -291,7 +291,7 @@ static const struct ide_dma_ops sc1200_d
27465 .dma_sff_read_status = ide_dma_sff_read_status,
27466 };
27467
27468-static const struct ide_port_info sc1200_chipset __devinitdata = {
27469+static const struct ide_port_info sc1200_chipset __devinitconst = {
27470 .name = DRV_NAME,
27471 .port_ops = &sc1200_port_ops,
27472 .dma_ops = &sc1200_dma_ops,
27473diff -urNp linux-3.0.7/drivers/ide/scc_pata.c linux-3.0.7/drivers/ide/scc_pata.c
27474--- linux-3.0.7/drivers/ide/scc_pata.c 2011-07-21 22:17:23.000000000 -0400
27475+++ linux-3.0.7/drivers/ide/scc_pata.c 2011-10-11 10:44:33.000000000 -0400
27476@@ -811,7 +811,7 @@ static const struct ide_dma_ops scc_dma_
27477 .dma_sff_read_status = scc_dma_sff_read_status,
27478 };
27479
27480-static const struct ide_port_info scc_chipset __devinitdata = {
27481+static const struct ide_port_info scc_chipset __devinitconst = {
27482 .name = "sccIDE",
27483 .init_iops = init_iops_scc,
27484 .init_dma = scc_init_dma,
27485diff -urNp linux-3.0.7/drivers/ide/serverworks.c linux-3.0.7/drivers/ide/serverworks.c
27486--- linux-3.0.7/drivers/ide/serverworks.c 2011-07-21 22:17:23.000000000 -0400
27487+++ linux-3.0.7/drivers/ide/serverworks.c 2011-10-11 10:44:33.000000000 -0400
27488@@ -337,7 +337,7 @@ static const struct ide_port_ops svwks_p
27489 .cable_detect = svwks_cable_detect,
27490 };
27491
27492-static const struct ide_port_info serverworks_chipsets[] __devinitdata = {
27493+static const struct ide_port_info serverworks_chipsets[] __devinitconst = {
27494 { /* 0: OSB4 */
27495 .name = DRV_NAME,
27496 .init_chipset = init_chipset_svwks,
27497diff -urNp linux-3.0.7/drivers/ide/setup-pci.c linux-3.0.7/drivers/ide/setup-pci.c
27498--- linux-3.0.7/drivers/ide/setup-pci.c 2011-07-21 22:17:23.000000000 -0400
27499+++ linux-3.0.7/drivers/ide/setup-pci.c 2011-08-23 21:48:14.000000000 -0400
26067@@ -542,6 +542,8 @@ int ide_pci_init_two(struct pci_dev *dev 27500@@ -542,6 +542,8 @@ int ide_pci_init_two(struct pci_dev *dev
26068 int ret, i, n_ports = dev2 ? 4 : 2; 27501 int ret, i, n_ports = dev2 ? 4 : 2;
26069 struct ide_hw hw[4], *hws[] = { NULL, NULL, NULL, NULL }; 27502 struct ide_hw hw[4], *hws[] = { NULL, NULL, NULL, NULL };
@@ -26073,9 +27506,105 @@ diff -urNp linux-3.0.4/drivers/ide/setup-pci.c linux-3.0.4/drivers/ide/setup-pci
26073 for (i = 0; i < n_ports / 2; i++) { 27506 for (i = 0; i < n_ports / 2; i++) {
26074 ret = ide_setup_pci_controller(pdev[i], d, !i); 27507 ret = ide_setup_pci_controller(pdev[i], d, !i);
26075 if (ret < 0) 27508 if (ret < 0)
26076diff -urNp linux-3.0.4/drivers/infiniband/core/cm.c linux-3.0.4/drivers/infiniband/core/cm.c 27509diff -urNp linux-3.0.7/drivers/ide/siimage.c linux-3.0.7/drivers/ide/siimage.c
26077--- linux-3.0.4/drivers/infiniband/core/cm.c 2011-07-21 22:17:23.000000000 -0400 27510--- linux-3.0.7/drivers/ide/siimage.c 2011-07-21 22:17:23.000000000 -0400
26078+++ linux-3.0.4/drivers/infiniband/core/cm.c 2011-08-23 21:47:55.000000000 -0400 27511+++ linux-3.0.7/drivers/ide/siimage.c 2011-10-11 10:44:33.000000000 -0400
27512@@ -719,7 +719,7 @@ static const struct ide_dma_ops sil_dma_
27513 .udma_mask = ATA_UDMA6, \
27514 }
27515
27516-static const struct ide_port_info siimage_chipsets[] __devinitdata = {
27517+static const struct ide_port_info siimage_chipsets[] __devinitconst = {
27518 /* 0: SiI680 */ DECLARE_SII_DEV(&sil_pata_port_ops),
27519 /* 1: SiI3112 */ DECLARE_SII_DEV(&sil_sata_port_ops)
27520 };
27521diff -urNp linux-3.0.7/drivers/ide/sis5513.c linux-3.0.7/drivers/ide/sis5513.c
27522--- linux-3.0.7/drivers/ide/sis5513.c 2011-07-21 22:17:23.000000000 -0400
27523+++ linux-3.0.7/drivers/ide/sis5513.c 2011-10-11 10:44:33.000000000 -0400
27524@@ -563,7 +563,7 @@ static const struct ide_port_ops sis_ata
27525 .cable_detect = sis_cable_detect,
27526 };
27527
27528-static const struct ide_port_info sis5513_chipset __devinitdata = {
27529+static const struct ide_port_info sis5513_chipset __devinitconst = {
27530 .name = DRV_NAME,
27531 .init_chipset = init_chipset_sis5513,
27532 .enablebits = { {0x4a, 0x02, 0x02}, {0x4a, 0x04, 0x04} },
27533diff -urNp linux-3.0.7/drivers/ide/sl82c105.c linux-3.0.7/drivers/ide/sl82c105.c
27534--- linux-3.0.7/drivers/ide/sl82c105.c 2011-07-21 22:17:23.000000000 -0400
27535+++ linux-3.0.7/drivers/ide/sl82c105.c 2011-10-11 10:44:33.000000000 -0400
27536@@ -299,7 +299,7 @@ static const struct ide_dma_ops sl82c105
27537 .dma_sff_read_status = ide_dma_sff_read_status,
27538 };
27539
27540-static const struct ide_port_info sl82c105_chipset __devinitdata = {
27541+static const struct ide_port_info sl82c105_chipset __devinitconst = {
27542 .name = DRV_NAME,
27543 .init_chipset = init_chipset_sl82c105,
27544 .enablebits = {{0x40,0x01,0x01}, {0x40,0x10,0x10}},
27545diff -urNp linux-3.0.7/drivers/ide/slc90e66.c linux-3.0.7/drivers/ide/slc90e66.c
27546--- linux-3.0.7/drivers/ide/slc90e66.c 2011-07-21 22:17:23.000000000 -0400
27547+++ linux-3.0.7/drivers/ide/slc90e66.c 2011-10-11 10:44:33.000000000 -0400
27548@@ -132,7 +132,7 @@ static const struct ide_port_ops slc90e6
27549 .cable_detect = slc90e66_cable_detect,
27550 };
27551
27552-static const struct ide_port_info slc90e66_chipset __devinitdata = {
27553+static const struct ide_port_info slc90e66_chipset __devinitconst = {
27554 .name = DRV_NAME,
27555 .enablebits = { {0x41, 0x80, 0x80}, {0x43, 0x80, 0x80} },
27556 .port_ops = &slc90e66_port_ops,
27557diff -urNp linux-3.0.7/drivers/ide/tc86c001.c linux-3.0.7/drivers/ide/tc86c001.c
27558--- linux-3.0.7/drivers/ide/tc86c001.c 2011-07-21 22:17:23.000000000 -0400
27559+++ linux-3.0.7/drivers/ide/tc86c001.c 2011-10-11 10:44:33.000000000 -0400
27560@@ -191,7 +191,7 @@ static const struct ide_dma_ops tc86c001
27561 .dma_sff_read_status = ide_dma_sff_read_status,
27562 };
27563
27564-static const struct ide_port_info tc86c001_chipset __devinitdata = {
27565+static const struct ide_port_info tc86c001_chipset __devinitconst = {
27566 .name = DRV_NAME,
27567 .init_hwif = init_hwif_tc86c001,
27568 .port_ops = &tc86c001_port_ops,
27569diff -urNp linux-3.0.7/drivers/ide/triflex.c linux-3.0.7/drivers/ide/triflex.c
27570--- linux-3.0.7/drivers/ide/triflex.c 2011-07-21 22:17:23.000000000 -0400
27571+++ linux-3.0.7/drivers/ide/triflex.c 2011-10-11 10:44:33.000000000 -0400
27572@@ -92,7 +92,7 @@ static const struct ide_port_ops triflex
27573 .set_dma_mode = triflex_set_mode,
27574 };
27575
27576-static const struct ide_port_info triflex_device __devinitdata = {
27577+static const struct ide_port_info triflex_device __devinitconst = {
27578 .name = DRV_NAME,
27579 .enablebits = {{0x80, 0x01, 0x01}, {0x80, 0x02, 0x02}},
27580 .port_ops = &triflex_port_ops,
27581diff -urNp linux-3.0.7/drivers/ide/trm290.c linux-3.0.7/drivers/ide/trm290.c
27582--- linux-3.0.7/drivers/ide/trm290.c 2011-07-21 22:17:23.000000000 -0400
27583+++ linux-3.0.7/drivers/ide/trm290.c 2011-10-11 10:44:33.000000000 -0400
27584@@ -324,7 +324,7 @@ static struct ide_dma_ops trm290_dma_ops
27585 .dma_check = trm290_dma_check,
27586 };
27587
27588-static const struct ide_port_info trm290_chipset __devinitdata = {
27589+static const struct ide_port_info trm290_chipset __devinitconst = {
27590 .name = DRV_NAME,
27591 .init_hwif = init_hwif_trm290,
27592 .tp_ops = &trm290_tp_ops,
27593diff -urNp linux-3.0.7/drivers/ide/via82cxxx.c linux-3.0.7/drivers/ide/via82cxxx.c
27594--- linux-3.0.7/drivers/ide/via82cxxx.c 2011-07-21 22:17:23.000000000 -0400
27595+++ linux-3.0.7/drivers/ide/via82cxxx.c 2011-10-11 10:44:33.000000000 -0400
27596@@ -403,7 +403,7 @@ static const struct ide_port_ops via_por
27597 .cable_detect = via82cxxx_cable_detect,
27598 };
27599
27600-static const struct ide_port_info via82cxxx_chipset __devinitdata = {
27601+static const struct ide_port_info via82cxxx_chipset __devinitconst = {
27602 .name = DRV_NAME,
27603 .init_chipset = init_chipset_via82cxxx,
27604 .enablebits = { { 0x40, 0x02, 0x02 }, { 0x40, 0x01, 0x01 } },
27605diff -urNp linux-3.0.7/drivers/infiniband/core/cm.c linux-3.0.7/drivers/infiniband/core/cm.c
27606--- linux-3.0.7/drivers/infiniband/core/cm.c 2011-07-21 22:17:23.000000000 -0400
27607+++ linux-3.0.7/drivers/infiniband/core/cm.c 2011-08-23 21:47:55.000000000 -0400
26079@@ -113,7 +113,7 @@ static char const counter_group_names[CM 27608@@ -113,7 +113,7 @@ static char const counter_group_names[CM
26080 27609
26081 struct cm_counter_group { 27610 struct cm_counter_group {
@@ -26215,9 +27744,9 @@ diff -urNp linux-3.0.4/drivers/infiniband/core/cm.c linux-3.0.4/drivers/infiniba
26215 } 27744 }
26216 27745
26217 static const struct sysfs_ops cm_counter_ops = { 27746 static const struct sysfs_ops cm_counter_ops = {
26218diff -urNp linux-3.0.4/drivers/infiniband/core/fmr_pool.c linux-3.0.4/drivers/infiniband/core/fmr_pool.c 27747diff -urNp linux-3.0.7/drivers/infiniband/core/fmr_pool.c linux-3.0.7/drivers/infiniband/core/fmr_pool.c
26219--- linux-3.0.4/drivers/infiniband/core/fmr_pool.c 2011-07-21 22:17:23.000000000 -0400 27748--- linux-3.0.7/drivers/infiniband/core/fmr_pool.c 2011-07-21 22:17:23.000000000 -0400
26220+++ linux-3.0.4/drivers/infiniband/core/fmr_pool.c 2011-08-23 21:47:55.000000000 -0400 27749+++ linux-3.0.7/drivers/infiniband/core/fmr_pool.c 2011-08-23 21:47:55.000000000 -0400
26221@@ -97,8 +97,8 @@ struct ib_fmr_pool { 27750@@ -97,8 +97,8 @@ struct ib_fmr_pool {
26222 27751
26223 struct task_struct *thread; 27752 struct task_struct *thread;
@@ -26285,9 +27814,9 @@ diff -urNp linux-3.0.4/drivers/infiniband/core/fmr_pool.c linux-3.0.4/drivers/in
26285 wake_up_process(pool->thread); 27814 wake_up_process(pool->thread);
26286 } 27815 }
26287 } 27816 }
26288diff -urNp linux-3.0.4/drivers/infiniband/hw/cxgb4/mem.c linux-3.0.4/drivers/infiniband/hw/cxgb4/mem.c 27817diff -urNp linux-3.0.7/drivers/infiniband/hw/cxgb4/mem.c linux-3.0.7/drivers/infiniband/hw/cxgb4/mem.c
26289--- linux-3.0.4/drivers/infiniband/hw/cxgb4/mem.c 2011-07-21 22:17:23.000000000 -0400 27818--- linux-3.0.7/drivers/infiniband/hw/cxgb4/mem.c 2011-07-21 22:17:23.000000000 -0400
26290+++ linux-3.0.4/drivers/infiniband/hw/cxgb4/mem.c 2011-08-23 21:47:55.000000000 -0400 27819+++ linux-3.0.7/drivers/infiniband/hw/cxgb4/mem.c 2011-08-23 21:47:55.000000000 -0400
26291@@ -122,7 +122,7 @@ static int write_tpt_entry(struct c4iw_r 27820@@ -122,7 +122,7 @@ static int write_tpt_entry(struct c4iw_r
26292 int err; 27821 int err;
26293 struct fw_ri_tpte tpt; 27822 struct fw_ri_tpte tpt;
@@ -26306,9 +27835,9 @@ diff -urNp linux-3.0.4/drivers/infiniband/hw/cxgb4/mem.c linux-3.0.4/drivers/inf
26306 } 27835 }
26307 PDBG("%s stag_state 0x%0x type 0x%0x pdid 0x%0x, stag_idx 0x%x\n", 27836 PDBG("%s stag_state 0x%0x type 0x%0x pdid 0x%0x, stag_idx 0x%x\n",
26308 __func__, stag_state, type, pdid, stag_idx); 27837 __func__, stag_state, type, pdid, stag_idx);
26309diff -urNp linux-3.0.4/drivers/infiniband/hw/ipath/ipath_fs.c linux-3.0.4/drivers/infiniband/hw/ipath/ipath_fs.c 27838diff -urNp linux-3.0.7/drivers/infiniband/hw/ipath/ipath_fs.c linux-3.0.7/drivers/infiniband/hw/ipath/ipath_fs.c
26310--- linux-3.0.4/drivers/infiniband/hw/ipath/ipath_fs.c 2011-07-21 22:17:23.000000000 -0400 27839--- linux-3.0.7/drivers/infiniband/hw/ipath/ipath_fs.c 2011-07-21 22:17:23.000000000 -0400
26311+++ linux-3.0.4/drivers/infiniband/hw/ipath/ipath_fs.c 2011-08-23 21:48:14.000000000 -0400 27840+++ linux-3.0.7/drivers/infiniband/hw/ipath/ipath_fs.c 2011-08-23 21:48:14.000000000 -0400
26312@@ -113,6 +113,8 @@ static ssize_t atomic_counters_read(stru 27841@@ -113,6 +113,8 @@ static ssize_t atomic_counters_read(stru
26313 struct infinipath_counters counters; 27842 struct infinipath_counters counters;
26314 struct ipath_devdata *dd; 27843 struct ipath_devdata *dd;
@@ -26318,9 +27847,9 @@ diff -urNp linux-3.0.4/drivers/infiniband/hw/ipath/ipath_fs.c linux-3.0.4/driver
26318 dd = file->f_path.dentry->d_inode->i_private; 27847 dd = file->f_path.dentry->d_inode->i_private;
26319 dd->ipath_f_read_counters(dd, &counters); 27848 dd->ipath_f_read_counters(dd, &counters);
26320 27849
26321diff -urNp linux-3.0.4/drivers/infiniband/hw/ipath/ipath_rc.c linux-3.0.4/drivers/infiniband/hw/ipath/ipath_rc.c 27850diff -urNp linux-3.0.7/drivers/infiniband/hw/ipath/ipath_rc.c linux-3.0.7/drivers/infiniband/hw/ipath/ipath_rc.c
26322--- linux-3.0.4/drivers/infiniband/hw/ipath/ipath_rc.c 2011-07-21 22:17:23.000000000 -0400 27851--- linux-3.0.7/drivers/infiniband/hw/ipath/ipath_rc.c 2011-07-21 22:17:23.000000000 -0400
26323+++ linux-3.0.4/drivers/infiniband/hw/ipath/ipath_rc.c 2011-08-23 21:47:55.000000000 -0400 27852+++ linux-3.0.7/drivers/infiniband/hw/ipath/ipath_rc.c 2011-08-23 21:47:55.000000000 -0400
26324@@ -1868,7 +1868,7 @@ void ipath_rc_rcv(struct ipath_ibdev *de 27853@@ -1868,7 +1868,7 @@ void ipath_rc_rcv(struct ipath_ibdev *de
26325 struct ib_atomic_eth *ateth; 27854 struct ib_atomic_eth *ateth;
26326 struct ipath_ack_entry *e; 27855 struct ipath_ack_entry *e;
@@ -26344,9 +27873,9 @@ diff -urNp linux-3.0.4/drivers/infiniband/hw/ipath/ipath_rc.c linux-3.0.4/driver
26344 (u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr, 27873 (u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr,
26345 be64_to_cpu(ateth->compare_data), 27874 be64_to_cpu(ateth->compare_data),
26346 sdata); 27875 sdata);
26347diff -urNp linux-3.0.4/drivers/infiniband/hw/ipath/ipath_ruc.c linux-3.0.4/drivers/infiniband/hw/ipath/ipath_ruc.c 27876diff -urNp linux-3.0.7/drivers/infiniband/hw/ipath/ipath_ruc.c linux-3.0.7/drivers/infiniband/hw/ipath/ipath_ruc.c
26348--- linux-3.0.4/drivers/infiniband/hw/ipath/ipath_ruc.c 2011-07-21 22:17:23.000000000 -0400 27877--- linux-3.0.7/drivers/infiniband/hw/ipath/ipath_ruc.c 2011-07-21 22:17:23.000000000 -0400
26349+++ linux-3.0.4/drivers/infiniband/hw/ipath/ipath_ruc.c 2011-08-23 21:47:55.000000000 -0400 27878+++ linux-3.0.7/drivers/infiniband/hw/ipath/ipath_ruc.c 2011-08-23 21:47:55.000000000 -0400
26350@@ -266,7 +266,7 @@ static void ipath_ruc_loopback(struct ip 27879@@ -266,7 +266,7 @@ static void ipath_ruc_loopback(struct ip
26351 unsigned long flags; 27880 unsigned long flags;
26352 struct ib_wc wc; 27881 struct ib_wc wc;
@@ -26370,9 +27899,9 @@ diff -urNp linux-3.0.4/drivers/infiniband/hw/ipath/ipath_ruc.c linux-3.0.4/drive
26370 (u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr, 27899 (u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr,
26371 sdata, wqe->wr.wr.atomic.swap); 27900 sdata, wqe->wr.wr.atomic.swap);
26372 goto send_comp; 27901 goto send_comp;
26373diff -urNp linux-3.0.4/drivers/infiniband/hw/nes/nes.c linux-3.0.4/drivers/infiniband/hw/nes/nes.c 27902diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes.c linux-3.0.7/drivers/infiniband/hw/nes/nes.c
26374--- linux-3.0.4/drivers/infiniband/hw/nes/nes.c 2011-07-21 22:17:23.000000000 -0400 27903--- linux-3.0.7/drivers/infiniband/hw/nes/nes.c 2011-07-21 22:17:23.000000000 -0400
26375+++ linux-3.0.4/drivers/infiniband/hw/nes/nes.c 2011-08-23 21:47:55.000000000 -0400 27904+++ linux-3.0.7/drivers/infiniband/hw/nes/nes.c 2011-08-23 21:47:55.000000000 -0400
26376@@ -103,7 +103,7 @@ MODULE_PARM_DESC(limit_maxrdreqsz, "Limi 27905@@ -103,7 +103,7 @@ MODULE_PARM_DESC(limit_maxrdreqsz, "Limi
26377 LIST_HEAD(nes_adapter_list); 27906 LIST_HEAD(nes_adapter_list);
26378 static LIST_HEAD(nes_dev_list); 27907 static LIST_HEAD(nes_dev_list);
@@ -26391,9 +27920,9 @@ diff -urNp linux-3.0.4/drivers/infiniband/hw/nes/nes.c linux-3.0.4/drivers/infin
26391 27920
26392 /* Free the control structures */ 27921 /* Free the control structures */
26393 27922
26394diff -urNp linux-3.0.4/drivers/infiniband/hw/nes/nes_cm.c linux-3.0.4/drivers/infiniband/hw/nes/nes_cm.c 27923diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes_cm.c linux-3.0.7/drivers/infiniband/hw/nes/nes_cm.c
26395--- linux-3.0.4/drivers/infiniband/hw/nes/nes_cm.c 2011-07-21 22:17:23.000000000 -0400 27924--- linux-3.0.7/drivers/infiniband/hw/nes/nes_cm.c 2011-07-21 22:17:23.000000000 -0400
26396+++ linux-3.0.4/drivers/infiniband/hw/nes/nes_cm.c 2011-08-23 21:47:55.000000000 -0400 27925+++ linux-3.0.7/drivers/infiniband/hw/nes/nes_cm.c 2011-08-23 21:47:55.000000000 -0400
26397@@ -68,14 +68,14 @@ u32 cm_packets_dropped; 27926@@ -68,14 +68,14 @@ u32 cm_packets_dropped;
26398 u32 cm_packets_retrans; 27927 u32 cm_packets_retrans;
26399 u32 cm_packets_created; 27928 u32 cm_packets_created;
@@ -26590,9 +28119,9 @@ diff -urNp linux-3.0.4/drivers/infiniband/hw/nes/nes_cm.c linux-3.0.4/drivers/in
26590 nes_debug(NES_DBG_CM, "cm_node = %p - cm_id = %p, jiffies = %lu\n", 28119 nes_debug(NES_DBG_CM, "cm_node = %p - cm_id = %p, jiffies = %lu\n",
26591 cm_node, cm_id, jiffies); 28120 cm_node, cm_id, jiffies);
26592 28121
26593diff -urNp linux-3.0.4/drivers/infiniband/hw/nes/nes.h linux-3.0.4/drivers/infiniband/hw/nes/nes.h 28122diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes.h linux-3.0.7/drivers/infiniband/hw/nes/nes.h
26594--- linux-3.0.4/drivers/infiniband/hw/nes/nes.h 2011-07-21 22:17:23.000000000 -0400 28123--- linux-3.0.7/drivers/infiniband/hw/nes/nes.h 2011-07-21 22:17:23.000000000 -0400
26595+++ linux-3.0.4/drivers/infiniband/hw/nes/nes.h 2011-08-23 21:47:55.000000000 -0400 28124+++ linux-3.0.7/drivers/infiniband/hw/nes/nes.h 2011-08-23 21:47:55.000000000 -0400
26596@@ -175,17 +175,17 @@ extern unsigned int nes_debug_level; 28125@@ -175,17 +175,17 @@ extern unsigned int nes_debug_level;
26597 extern unsigned int wqm_quanta; 28126 extern unsigned int wqm_quanta;
26598 extern struct list_head nes_adapter_list; 28127 extern struct list_head nes_adapter_list;
@@ -26644,9 +28173,9 @@ diff -urNp linux-3.0.4/drivers/infiniband/hw/nes/nes.h linux-3.0.4/drivers/infin
26644 28173
26645 extern u32 int_mod_timer_init; 28174 extern u32 int_mod_timer_init;
26646 extern u32 int_mod_cq_depth_256; 28175 extern u32 int_mod_cq_depth_256;
26647diff -urNp linux-3.0.4/drivers/infiniband/hw/nes/nes_nic.c linux-3.0.4/drivers/infiniband/hw/nes/nes_nic.c 28176diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes_nic.c linux-3.0.7/drivers/infiniband/hw/nes/nes_nic.c
26648--- linux-3.0.4/drivers/infiniband/hw/nes/nes_nic.c 2011-07-21 22:17:23.000000000 -0400 28177--- linux-3.0.7/drivers/infiniband/hw/nes/nes_nic.c 2011-07-21 22:17:23.000000000 -0400
26649+++ linux-3.0.4/drivers/infiniband/hw/nes/nes_nic.c 2011-08-23 21:47:55.000000000 -0400 28178+++ linux-3.0.7/drivers/infiniband/hw/nes/nes_nic.c 2011-08-23 21:47:55.000000000 -0400
26650@@ -1274,31 +1274,31 @@ static void nes_netdev_get_ethtool_stats 28179@@ -1274,31 +1274,31 @@ static void nes_netdev_get_ethtool_stats
26651 target_stat_values[++index] = mh_detected; 28180 target_stat_values[++index] = mh_detected;
26652 target_stat_values[++index] = mh_pauses_sent; 28181 target_stat_values[++index] = mh_pauses_sent;
@@ -26697,9 +28226,9 @@ diff -urNp linux-3.0.4/drivers/infiniband/hw/nes/nes_nic.c linux-3.0.4/drivers/i
26697 target_stat_values[++index] = nesadapter->free_4kpbl; 28226 target_stat_values[++index] = nesadapter->free_4kpbl;
26698 target_stat_values[++index] = nesadapter->free_256pbl; 28227 target_stat_values[++index] = nesadapter->free_256pbl;
26699 target_stat_values[++index] = int_mod_timer_init; 28228 target_stat_values[++index] = int_mod_timer_init;
26700diff -urNp linux-3.0.4/drivers/infiniband/hw/nes/nes_verbs.c linux-3.0.4/drivers/infiniband/hw/nes/nes_verbs.c 28229diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes_verbs.c linux-3.0.7/drivers/infiniband/hw/nes/nes_verbs.c
26701--- linux-3.0.4/drivers/infiniband/hw/nes/nes_verbs.c 2011-07-21 22:17:23.000000000 -0400 28230--- linux-3.0.7/drivers/infiniband/hw/nes/nes_verbs.c 2011-07-21 22:17:23.000000000 -0400
26702+++ linux-3.0.4/drivers/infiniband/hw/nes/nes_verbs.c 2011-08-23 21:47:55.000000000 -0400 28231+++ linux-3.0.7/drivers/infiniband/hw/nes/nes_verbs.c 2011-08-23 21:47:55.000000000 -0400
26703@@ -46,9 +46,9 @@ 28232@@ -46,9 +46,9 @@
26704 28233
26705 #include <rdma/ib_umem.h> 28234 #include <rdma/ib_umem.h>
@@ -26731,9 +28260,9 @@ diff -urNp linux-3.0.4/drivers/infiniband/hw/nes/nes_verbs.c linux-3.0.4/drivers
26731 nesqp->destroyed = 1; 28260 nesqp->destroyed = 1;
26732 28261
26733 /* Blow away the connection if it exists. */ 28262 /* Blow away the connection if it exists. */
26734diff -urNp linux-3.0.4/drivers/infiniband/hw/qib/qib.h linux-3.0.4/drivers/infiniband/hw/qib/qib.h 28263diff -urNp linux-3.0.7/drivers/infiniband/hw/qib/qib.h linux-3.0.7/drivers/infiniband/hw/qib/qib.h
26735--- linux-3.0.4/drivers/infiniband/hw/qib/qib.h 2011-07-21 22:17:23.000000000 -0400 28264--- linux-3.0.7/drivers/infiniband/hw/qib/qib.h 2011-07-21 22:17:23.000000000 -0400
26736+++ linux-3.0.4/drivers/infiniband/hw/qib/qib.h 2011-08-23 21:47:55.000000000 -0400 28265+++ linux-3.0.7/drivers/infiniband/hw/qib/qib.h 2011-08-23 21:47:55.000000000 -0400
26737@@ -51,6 +51,7 @@ 28266@@ -51,6 +51,7 @@
26738 #include <linux/completion.h> 28267 #include <linux/completion.h>
26739 #include <linux/kref.h> 28268 #include <linux/kref.h>
@@ -26742,9 +28271,9 @@ diff -urNp linux-3.0.4/drivers/infiniband/hw/qib/qib.h linux-3.0.4/drivers/infin
26742 28271
26743 #include "qib_common.h" 28272 #include "qib_common.h"
26744 #include "qib_verbs.h" 28273 #include "qib_verbs.h"
26745diff -urNp linux-3.0.4/drivers/input/gameport/gameport.c linux-3.0.4/drivers/input/gameport/gameport.c 28274diff -urNp linux-3.0.7/drivers/input/gameport/gameport.c linux-3.0.7/drivers/input/gameport/gameport.c
26746--- linux-3.0.4/drivers/input/gameport/gameport.c 2011-07-21 22:17:23.000000000 -0400 28275--- linux-3.0.7/drivers/input/gameport/gameport.c 2011-07-21 22:17:23.000000000 -0400
26747+++ linux-3.0.4/drivers/input/gameport/gameport.c 2011-08-23 21:47:55.000000000 -0400 28276+++ linux-3.0.7/drivers/input/gameport/gameport.c 2011-08-23 21:47:55.000000000 -0400
26748@@ -488,14 +488,14 @@ EXPORT_SYMBOL(gameport_set_phys); 28277@@ -488,14 +488,14 @@ EXPORT_SYMBOL(gameport_set_phys);
26749 */ 28278 */
26750 static void gameport_init_port(struct gameport *gameport) 28279 static void gameport_init_port(struct gameport *gameport)
@@ -26762,9 +28291,9 @@ diff -urNp linux-3.0.4/drivers/input/gameport/gameport.c linux-3.0.4/drivers/inp
26762 gameport->dev.bus = &gameport_bus; 28291 gameport->dev.bus = &gameport_bus;
26763 gameport->dev.release = gameport_release_port; 28292 gameport->dev.release = gameport_release_port;
26764 if (gameport->parent) 28293 if (gameport->parent)
26765diff -urNp linux-3.0.4/drivers/input/input.c linux-3.0.4/drivers/input/input.c 28294diff -urNp linux-3.0.7/drivers/input/input.c linux-3.0.7/drivers/input/input.c
26766--- linux-3.0.4/drivers/input/input.c 2011-07-21 22:17:23.000000000 -0400 28295--- linux-3.0.7/drivers/input/input.c 2011-07-21 22:17:23.000000000 -0400
26767+++ linux-3.0.4/drivers/input/input.c 2011-08-23 21:47:55.000000000 -0400 28296+++ linux-3.0.7/drivers/input/input.c 2011-08-23 21:47:55.000000000 -0400
26768@@ -1814,7 +1814,7 @@ static void input_cleanse_bitmasks(struc 28297@@ -1814,7 +1814,7 @@ static void input_cleanse_bitmasks(struc
26769 */ 28298 */
26770 int input_register_device(struct input_dev *dev) 28299 int input_register_device(struct input_dev *dev)
@@ -26783,9 +28312,9 @@ diff -urNp linux-3.0.4/drivers/input/input.c linux-3.0.4/drivers/input/input.c
26783 28312
26784 error = device_add(&dev->dev); 28313 error = device_add(&dev->dev);
26785 if (error) 28314 if (error)
26786diff -urNp linux-3.0.4/drivers/input/joystick/sidewinder.c linux-3.0.4/drivers/input/joystick/sidewinder.c 28315diff -urNp linux-3.0.7/drivers/input/joystick/sidewinder.c linux-3.0.7/drivers/input/joystick/sidewinder.c
26787--- linux-3.0.4/drivers/input/joystick/sidewinder.c 2011-07-21 22:17:23.000000000 -0400 28316--- linux-3.0.7/drivers/input/joystick/sidewinder.c 2011-07-21 22:17:23.000000000 -0400
26788+++ linux-3.0.4/drivers/input/joystick/sidewinder.c 2011-08-23 21:48:14.000000000 -0400 28317+++ linux-3.0.7/drivers/input/joystick/sidewinder.c 2011-08-23 21:48:14.000000000 -0400
26789@@ -30,6 +30,7 @@ 28318@@ -30,6 +30,7 @@
26790 #include <linux/kernel.h> 28319 #include <linux/kernel.h>
26791 #include <linux/module.h> 28320 #include <linux/module.h>
@@ -26803,9 +28332,9 @@ diff -urNp linux-3.0.4/drivers/input/joystick/sidewinder.c linux-3.0.4/drivers/i
26803 i = sw_read_packet(sw->gameport, buf, sw->length, 0); 28332 i = sw_read_packet(sw->gameport, buf, sw->length, 0);
26804 28333
26805 if (sw->type == SW_ID_3DP && sw->length == 66 && i != 66) { /* Broken packet, try to fix */ 28334 if (sw->type == SW_ID_3DP && sw->length == 66 && i != 66) { /* Broken packet, try to fix */
26806diff -urNp linux-3.0.4/drivers/input/joystick/xpad.c linux-3.0.4/drivers/input/joystick/xpad.c 28335diff -urNp linux-3.0.7/drivers/input/joystick/xpad.c linux-3.0.7/drivers/input/joystick/xpad.c
26807--- linux-3.0.4/drivers/input/joystick/xpad.c 2011-07-21 22:17:23.000000000 -0400 28336--- linux-3.0.7/drivers/input/joystick/xpad.c 2011-07-21 22:17:23.000000000 -0400
26808+++ linux-3.0.4/drivers/input/joystick/xpad.c 2011-08-23 21:47:55.000000000 -0400 28337+++ linux-3.0.7/drivers/input/joystick/xpad.c 2011-08-23 21:47:55.000000000 -0400
26809@@ -689,7 +689,7 @@ static void xpad_led_set(struct led_clas 28338@@ -689,7 +689,7 @@ static void xpad_led_set(struct led_clas
26810 28339
26811 static int xpad_led_probe(struct usb_xpad *xpad) 28340 static int xpad_led_probe(struct usb_xpad *xpad)
@@ -26824,9 +28353,9 @@ diff -urNp linux-3.0.4/drivers/input/joystick/xpad.c linux-3.0.4/drivers/input/j
26824 28353
26825 snprintf(led->name, sizeof(led->name), "xpad%ld", led_no); 28354 snprintf(led->name, sizeof(led->name), "xpad%ld", led_no);
26826 led->xpad = xpad; 28355 led->xpad = xpad;
26827diff -urNp linux-3.0.4/drivers/input/mousedev.c linux-3.0.4/drivers/input/mousedev.c 28356diff -urNp linux-3.0.7/drivers/input/mousedev.c linux-3.0.7/drivers/input/mousedev.c
26828--- linux-3.0.4/drivers/input/mousedev.c 2011-07-21 22:17:23.000000000 -0400 28357--- linux-3.0.7/drivers/input/mousedev.c 2011-07-21 22:17:23.000000000 -0400
26829+++ linux-3.0.4/drivers/input/mousedev.c 2011-08-23 21:47:55.000000000 -0400 28358+++ linux-3.0.7/drivers/input/mousedev.c 2011-08-23 21:47:55.000000000 -0400
26830@@ -763,7 +763,7 @@ static ssize_t mousedev_read(struct file 28359@@ -763,7 +763,7 @@ static ssize_t mousedev_read(struct file
26831 28360
26832 spin_unlock_irq(&client->packet_lock); 28361 spin_unlock_irq(&client->packet_lock);
@@ -26836,9 +28365,9 @@ diff -urNp linux-3.0.4/drivers/input/mousedev.c linux-3.0.4/drivers/input/moused
26836 return -EFAULT; 28365 return -EFAULT;
26837 28366
26838 return count; 28367 return count;
26839diff -urNp linux-3.0.4/drivers/input/serio/serio.c linux-3.0.4/drivers/input/serio/serio.c 28368diff -urNp linux-3.0.7/drivers/input/serio/serio.c linux-3.0.7/drivers/input/serio/serio.c
26840--- linux-3.0.4/drivers/input/serio/serio.c 2011-07-21 22:17:23.000000000 -0400 28369--- linux-3.0.7/drivers/input/serio/serio.c 2011-07-21 22:17:23.000000000 -0400
26841+++ linux-3.0.4/drivers/input/serio/serio.c 2011-08-23 21:47:55.000000000 -0400 28370+++ linux-3.0.7/drivers/input/serio/serio.c 2011-08-23 21:47:55.000000000 -0400
26842@@ -497,7 +497,7 @@ static void serio_release_port(struct de 28371@@ -497,7 +497,7 @@ static void serio_release_port(struct de
26843 */ 28372 */
26844 static void serio_init_port(struct serio *serio) 28373 static void serio_init_port(struct serio *serio)
@@ -26857,9 +28386,9 @@ diff -urNp linux-3.0.4/drivers/input/serio/serio.c linux-3.0.4/drivers/input/ser
26857 serio->dev.bus = &serio_bus; 28386 serio->dev.bus = &serio_bus;
26858 serio->dev.release = serio_release_port; 28387 serio->dev.release = serio_release_port;
26859 serio->dev.groups = serio_device_attr_groups; 28388 serio->dev.groups = serio_device_attr_groups;
26860diff -urNp linux-3.0.4/drivers/isdn/capi/capi.c linux-3.0.4/drivers/isdn/capi/capi.c 28389diff -urNp linux-3.0.7/drivers/isdn/capi/capi.c linux-3.0.7/drivers/isdn/capi/capi.c
26861--- linux-3.0.4/drivers/isdn/capi/capi.c 2011-07-21 22:17:23.000000000 -0400 28390--- linux-3.0.7/drivers/isdn/capi/capi.c 2011-07-21 22:17:23.000000000 -0400
26862+++ linux-3.0.4/drivers/isdn/capi/capi.c 2011-08-23 21:47:55.000000000 -0400 28391+++ linux-3.0.7/drivers/isdn/capi/capi.c 2011-08-23 21:47:55.000000000 -0400
26863@@ -83,8 +83,8 @@ struct capiminor { 28392@@ -83,8 +83,8 @@ struct capiminor {
26864 28393
26865 struct capi20_appl *ap; 28394 struct capi20_appl *ap;
@@ -26897,9 +28426,9 @@ diff -urNp linux-3.0.4/drivers/isdn/capi/capi.c linux-3.0.4/drivers/isdn/capi/ca
26897 capimsg_setu32(skb->data, 8, mp->ncci); /* NCCI */ 28426 capimsg_setu32(skb->data, 8, mp->ncci); /* NCCI */
26898 capimsg_setu32(skb->data, 12, (u32)(long)skb->data);/* Data32 */ 28427 capimsg_setu32(skb->data, 12, (u32)(long)skb->data);/* Data32 */
26899 capimsg_setu16(skb->data, 16, len); /* Data length */ 28428 capimsg_setu16(skb->data, 16, len); /* Data length */
26900diff -urNp linux-3.0.4/drivers/isdn/gigaset/common.c linux-3.0.4/drivers/isdn/gigaset/common.c 28429diff -urNp linux-3.0.7/drivers/isdn/gigaset/common.c linux-3.0.7/drivers/isdn/gigaset/common.c
26901--- linux-3.0.4/drivers/isdn/gigaset/common.c 2011-07-21 22:17:23.000000000 -0400 28430--- linux-3.0.7/drivers/isdn/gigaset/common.c 2011-07-21 22:17:23.000000000 -0400
26902+++ linux-3.0.4/drivers/isdn/gigaset/common.c 2011-08-23 21:47:55.000000000 -0400 28431+++ linux-3.0.7/drivers/isdn/gigaset/common.c 2011-08-23 21:47:55.000000000 -0400
26903@@ -723,7 +723,7 @@ struct cardstate *gigaset_initcs(struct 28432@@ -723,7 +723,7 @@ struct cardstate *gigaset_initcs(struct
26904 cs->commands_pending = 0; 28433 cs->commands_pending = 0;
26905 cs->cur_at_seq = 0; 28434 cs->cur_at_seq = 0;
@@ -26909,9 +28438,9 @@ diff -urNp linux-3.0.4/drivers/isdn/gigaset/common.c linux-3.0.4/drivers/isdn/gi
26909 cs->dev = NULL; 28438 cs->dev = NULL;
26910 cs->tty = NULL; 28439 cs->tty = NULL;
26911 cs->tty_dev = NULL; 28440 cs->tty_dev = NULL;
26912diff -urNp linux-3.0.4/drivers/isdn/gigaset/gigaset.h linux-3.0.4/drivers/isdn/gigaset/gigaset.h 28441diff -urNp linux-3.0.7/drivers/isdn/gigaset/gigaset.h linux-3.0.7/drivers/isdn/gigaset/gigaset.h
26913--- linux-3.0.4/drivers/isdn/gigaset/gigaset.h 2011-07-21 22:17:23.000000000 -0400 28442--- linux-3.0.7/drivers/isdn/gigaset/gigaset.h 2011-07-21 22:17:23.000000000 -0400
26914+++ linux-3.0.4/drivers/isdn/gigaset/gigaset.h 2011-08-23 21:47:55.000000000 -0400 28443+++ linux-3.0.7/drivers/isdn/gigaset/gigaset.h 2011-08-23 21:47:55.000000000 -0400
26915@@ -35,6 +35,7 @@ 28444@@ -35,6 +35,7 @@
26916 #include <linux/tty_driver.h> 28445 #include <linux/tty_driver.h>
26917 #include <linux/list.h> 28446 #include <linux/list.h>
@@ -26929,9 +28458,9 @@ diff -urNp linux-3.0.4/drivers/isdn/gigaset/gigaset.h linux-3.0.4/drivers/isdn/g
26929 struct tty_struct *tty; 28458 struct tty_struct *tty;
26930 struct tasklet_struct if_wake_tasklet; 28459 struct tasklet_struct if_wake_tasklet;
26931 unsigned control_state; 28460 unsigned control_state;
26932diff -urNp linux-3.0.4/drivers/isdn/gigaset/interface.c linux-3.0.4/drivers/isdn/gigaset/interface.c 28461diff -urNp linux-3.0.7/drivers/isdn/gigaset/interface.c linux-3.0.7/drivers/isdn/gigaset/interface.c
26933--- linux-3.0.4/drivers/isdn/gigaset/interface.c 2011-07-21 22:17:23.000000000 -0400 28462--- linux-3.0.7/drivers/isdn/gigaset/interface.c 2011-07-21 22:17:23.000000000 -0400
26934+++ linux-3.0.4/drivers/isdn/gigaset/interface.c 2011-08-23 21:47:55.000000000 -0400 28463+++ linux-3.0.7/drivers/isdn/gigaset/interface.c 2011-08-23 21:47:55.000000000 -0400
26935@@ -162,9 +162,7 @@ static int if_open(struct tty_struct *tt 28464@@ -162,9 +162,7 @@ static int if_open(struct tty_struct *tt
26936 } 28465 }
26937 tty->driver_data = cs; 28466 tty->driver_data = cs;
@@ -27019,9 +28548,9 @@ diff -urNp linux-3.0.4/drivers/isdn/gigaset/interface.c linux-3.0.4/drivers/isdn
27019 dev_warn(cs->dev, "%s: device not opened\n", __func__); 28548 dev_warn(cs->dev, "%s: device not opened\n", __func__);
27020 goto out; 28549 goto out;
27021 } 28550 }
27022diff -urNp linux-3.0.4/drivers/isdn/hardware/avm/b1.c linux-3.0.4/drivers/isdn/hardware/avm/b1.c 28551diff -urNp linux-3.0.7/drivers/isdn/hardware/avm/b1.c linux-3.0.7/drivers/isdn/hardware/avm/b1.c
27023--- linux-3.0.4/drivers/isdn/hardware/avm/b1.c 2011-07-21 22:17:23.000000000 -0400 28552--- linux-3.0.7/drivers/isdn/hardware/avm/b1.c 2011-07-21 22:17:23.000000000 -0400
27024+++ linux-3.0.4/drivers/isdn/hardware/avm/b1.c 2011-08-23 21:47:55.000000000 -0400 28553+++ linux-3.0.7/drivers/isdn/hardware/avm/b1.c 2011-08-23 21:47:55.000000000 -0400
27025@@ -176,7 +176,7 @@ int b1_load_t4file(avmcard *card, capilo 28554@@ -176,7 +176,7 @@ int b1_load_t4file(avmcard *card, capilo
27026 } 28555 }
27027 if (left) { 28556 if (left) {
@@ -27040,9 +28569,9 @@ diff -urNp linux-3.0.4/drivers/isdn/hardware/avm/b1.c linux-3.0.4/drivers/isdn/h
27040 return -EFAULT; 28569 return -EFAULT;
27041 } else { 28570 } else {
27042 memcpy(buf, dp, left); 28571 memcpy(buf, dp, left);
27043diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/capidtmf.c linux-3.0.4/drivers/isdn/hardware/eicon/capidtmf.c 28572diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/capidtmf.c linux-3.0.7/drivers/isdn/hardware/eicon/capidtmf.c
27044--- linux-3.0.4/drivers/isdn/hardware/eicon/capidtmf.c 2011-07-21 22:17:23.000000000 -0400 28573--- linux-3.0.7/drivers/isdn/hardware/eicon/capidtmf.c 2011-07-21 22:17:23.000000000 -0400
27045+++ linux-3.0.4/drivers/isdn/hardware/eicon/capidtmf.c 2011-08-23 21:48:14.000000000 -0400 28574+++ linux-3.0.7/drivers/isdn/hardware/eicon/capidtmf.c 2011-08-23 21:48:14.000000000 -0400
27046@@ -498,6 +498,7 @@ void capidtmf_recv_block (t_capidtmf_sta 28575@@ -498,6 +498,7 @@ void capidtmf_recv_block (t_capidtmf_sta
27047 byte goertzel_result_buffer[CAPIDTMF_RECV_TOTAL_FREQUENCY_COUNT]; 28576 byte goertzel_result_buffer[CAPIDTMF_RECV_TOTAL_FREQUENCY_COUNT];
27048 short windowed_sample_buffer[CAPIDTMF_RECV_WINDOWED_SAMPLES]; 28577 short windowed_sample_buffer[CAPIDTMF_RECV_WINDOWED_SAMPLES];
@@ -27051,9 +28580,9 @@ diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/capidtmf.c linux-3.0.4/driver
27051 28580
27052 if (p_state->recv.state & CAPIDTMF_RECV_STATE_DTMF_ACTIVE) 28581 if (p_state->recv.state & CAPIDTMF_RECV_STATE_DTMF_ACTIVE)
27053 { 28582 {
27054diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/capifunc.c linux-3.0.4/drivers/isdn/hardware/eicon/capifunc.c 28583diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/capifunc.c linux-3.0.7/drivers/isdn/hardware/eicon/capifunc.c
27055--- linux-3.0.4/drivers/isdn/hardware/eicon/capifunc.c 2011-07-21 22:17:23.000000000 -0400 28584--- linux-3.0.7/drivers/isdn/hardware/eicon/capifunc.c 2011-07-21 22:17:23.000000000 -0400
27056+++ linux-3.0.4/drivers/isdn/hardware/eicon/capifunc.c 2011-08-23 21:48:14.000000000 -0400 28585+++ linux-3.0.7/drivers/isdn/hardware/eicon/capifunc.c 2011-08-23 21:48:14.000000000 -0400
27057@@ -1055,6 +1055,8 @@ static int divacapi_connect_didd(void) 28586@@ -1055,6 +1055,8 @@ static int divacapi_connect_didd(void)
27058 IDI_SYNC_REQ req; 28587 IDI_SYNC_REQ req;
27059 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; 28588 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
@@ -27063,9 +28592,9 @@ diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/capifunc.c linux-3.0.4/driver
27063 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); 28592 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
27064 28593
27065 for (x = 0; x < MAX_DESCRIPTORS; x++) { 28594 for (x = 0; x < MAX_DESCRIPTORS; x++) {
27066diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/diddfunc.c linux-3.0.4/drivers/isdn/hardware/eicon/diddfunc.c 28595diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/diddfunc.c linux-3.0.7/drivers/isdn/hardware/eicon/diddfunc.c
27067--- linux-3.0.4/drivers/isdn/hardware/eicon/diddfunc.c 2011-07-21 22:17:23.000000000 -0400 28596--- linux-3.0.7/drivers/isdn/hardware/eicon/diddfunc.c 2011-07-21 22:17:23.000000000 -0400
27068+++ linux-3.0.4/drivers/isdn/hardware/eicon/diddfunc.c 2011-08-23 21:48:14.000000000 -0400 28597+++ linux-3.0.7/drivers/isdn/hardware/eicon/diddfunc.c 2011-08-23 21:48:14.000000000 -0400
27069@@ -54,6 +54,8 @@ static int DIVA_INIT_FUNCTION connect_di 28598@@ -54,6 +54,8 @@ static int DIVA_INIT_FUNCTION connect_di
27070 IDI_SYNC_REQ req; 28599 IDI_SYNC_REQ req;
27071 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; 28600 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
@@ -27075,9 +28604,9 @@ diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/diddfunc.c linux-3.0.4/driver
27075 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); 28604 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
27076 28605
27077 for (x = 0; x < MAX_DESCRIPTORS; x++) { 28606 for (x = 0; x < MAX_DESCRIPTORS; x++) {
27078diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/divasfunc.c linux-3.0.4/drivers/isdn/hardware/eicon/divasfunc.c 28607diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/divasfunc.c linux-3.0.7/drivers/isdn/hardware/eicon/divasfunc.c
27079--- linux-3.0.4/drivers/isdn/hardware/eicon/divasfunc.c 2011-07-21 22:17:23.000000000 -0400 28608--- linux-3.0.7/drivers/isdn/hardware/eicon/divasfunc.c 2011-07-21 22:17:23.000000000 -0400
27080+++ linux-3.0.4/drivers/isdn/hardware/eicon/divasfunc.c 2011-08-23 21:48:14.000000000 -0400 28609+++ linux-3.0.7/drivers/isdn/hardware/eicon/divasfunc.c 2011-08-23 21:48:14.000000000 -0400
27081@@ -160,6 +160,8 @@ static int DIVA_INIT_FUNCTION connect_di 28610@@ -160,6 +160,8 @@ static int DIVA_INIT_FUNCTION connect_di
27082 IDI_SYNC_REQ req; 28611 IDI_SYNC_REQ req;
27083 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; 28612 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
@@ -27087,9 +28616,9 @@ diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/divasfunc.c linux-3.0.4/drive
27087 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); 28616 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
27088 28617
27089 for (x = 0; x < MAX_DESCRIPTORS; x++) { 28618 for (x = 0; x < MAX_DESCRIPTORS; x++) {
27090diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/divasync.h linux-3.0.4/drivers/isdn/hardware/eicon/divasync.h 28619diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/divasync.h linux-3.0.7/drivers/isdn/hardware/eicon/divasync.h
27091--- linux-3.0.4/drivers/isdn/hardware/eicon/divasync.h 2011-07-21 22:17:23.000000000 -0400 28620--- linux-3.0.7/drivers/isdn/hardware/eicon/divasync.h 2011-07-21 22:17:23.000000000 -0400
27092+++ linux-3.0.4/drivers/isdn/hardware/eicon/divasync.h 2011-08-23 21:47:55.000000000 -0400 28621+++ linux-3.0.7/drivers/isdn/hardware/eicon/divasync.h 2011-08-23 21:47:55.000000000 -0400
27093@@ -146,7 +146,7 @@ typedef struct _diva_didd_add_adapter { 28622@@ -146,7 +146,7 @@ typedef struct _diva_didd_add_adapter {
27094 } diva_didd_add_adapter_t; 28623 } diva_didd_add_adapter_t;
27095 typedef struct _diva_didd_remove_adapter { 28624 typedef struct _diva_didd_remove_adapter {
@@ -27099,9 +28628,9 @@ diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/divasync.h linux-3.0.4/driver
27099 typedef struct _diva_didd_read_adapter_array { 28628 typedef struct _diva_didd_read_adapter_array {
27100 void * buffer; 28629 void * buffer;
27101 dword length; 28630 dword length;
27102diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/idifunc.c linux-3.0.4/drivers/isdn/hardware/eicon/idifunc.c 28631diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/idifunc.c linux-3.0.7/drivers/isdn/hardware/eicon/idifunc.c
27103--- linux-3.0.4/drivers/isdn/hardware/eicon/idifunc.c 2011-07-21 22:17:23.000000000 -0400 28632--- linux-3.0.7/drivers/isdn/hardware/eicon/idifunc.c 2011-07-21 22:17:23.000000000 -0400
27104+++ linux-3.0.4/drivers/isdn/hardware/eicon/idifunc.c 2011-08-23 21:48:14.000000000 -0400 28633+++ linux-3.0.7/drivers/isdn/hardware/eicon/idifunc.c 2011-08-23 21:48:14.000000000 -0400
27105@@ -188,6 +188,8 @@ static int DIVA_INIT_FUNCTION connect_di 28634@@ -188,6 +188,8 @@ static int DIVA_INIT_FUNCTION connect_di
27106 IDI_SYNC_REQ req; 28635 IDI_SYNC_REQ req;
27107 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; 28636 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
@@ -27111,9 +28640,9 @@ diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/idifunc.c linux-3.0.4/drivers
27111 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); 28640 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
27112 28641
27113 for (x = 0; x < MAX_DESCRIPTORS; x++) { 28642 for (x = 0; x < MAX_DESCRIPTORS; x++) {
27114diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/message.c linux-3.0.4/drivers/isdn/hardware/eicon/message.c 28643diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/message.c linux-3.0.7/drivers/isdn/hardware/eicon/message.c
27115--- linux-3.0.4/drivers/isdn/hardware/eicon/message.c 2011-07-21 22:17:23.000000000 -0400 28644--- linux-3.0.7/drivers/isdn/hardware/eicon/message.c 2011-07-21 22:17:23.000000000 -0400
27116+++ linux-3.0.4/drivers/isdn/hardware/eicon/message.c 2011-08-23 21:48:14.000000000 -0400 28645+++ linux-3.0.7/drivers/isdn/hardware/eicon/message.c 2011-08-23 21:48:14.000000000 -0400
27117@@ -4886,6 +4886,8 @@ static void sig_ind(PLCI *plci) 28646@@ -4886,6 +4886,8 @@ static void sig_ind(PLCI *plci)
27118 dword d; 28647 dword d;
27119 word w; 28648 word w;
@@ -27150,9 +28679,9 @@ diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/message.c linux-3.0.4/drivers
27150 set_group_ind_mask (plci); /* all APPLs within this inc. call are allowed to dial in */ 28679 set_group_ind_mask (plci); /* all APPLs within this inc. call are allowed to dial in */
27151 28680
27152 if(!a->group_optimization_enabled) 28681 if(!a->group_optimization_enabled)
27153diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/mntfunc.c linux-3.0.4/drivers/isdn/hardware/eicon/mntfunc.c 28682diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/mntfunc.c linux-3.0.7/drivers/isdn/hardware/eicon/mntfunc.c
27154--- linux-3.0.4/drivers/isdn/hardware/eicon/mntfunc.c 2011-07-21 22:17:23.000000000 -0400 28683--- linux-3.0.7/drivers/isdn/hardware/eicon/mntfunc.c 2011-07-21 22:17:23.000000000 -0400
27155+++ linux-3.0.4/drivers/isdn/hardware/eicon/mntfunc.c 2011-08-23 21:48:14.000000000 -0400 28684+++ linux-3.0.7/drivers/isdn/hardware/eicon/mntfunc.c 2011-08-23 21:48:14.000000000 -0400
27156@@ -79,6 +79,8 @@ static int DIVA_INIT_FUNCTION connect_di 28685@@ -79,6 +79,8 @@ static int DIVA_INIT_FUNCTION connect_di
27157 IDI_SYNC_REQ req; 28686 IDI_SYNC_REQ req;
27158 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; 28687 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
@@ -27162,9 +28691,9 @@ diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/mntfunc.c linux-3.0.4/drivers
27162 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); 28691 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
27163 28692
27164 for (x = 0; x < MAX_DESCRIPTORS; x++) { 28693 for (x = 0; x < MAX_DESCRIPTORS; x++) {
27165diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/xdi_adapter.h linux-3.0.4/drivers/isdn/hardware/eicon/xdi_adapter.h 28694diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/xdi_adapter.h linux-3.0.7/drivers/isdn/hardware/eicon/xdi_adapter.h
27166--- linux-3.0.4/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-07-21 22:17:23.000000000 -0400 28695--- linux-3.0.7/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-07-21 22:17:23.000000000 -0400
27167+++ linux-3.0.4/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-08-23 21:47:55.000000000 -0400 28696+++ linux-3.0.7/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-08-23 21:47:55.000000000 -0400
27168@@ -44,7 +44,7 @@ typedef struct _xdi_mbox_t { 28697@@ -44,7 +44,7 @@ typedef struct _xdi_mbox_t {
27169 typedef struct _diva_os_idi_adapter_interface { 28698 typedef struct _diva_os_idi_adapter_interface {
27170 diva_init_card_proc_t cleanup_adapter_proc; 28699 diva_init_card_proc_t cleanup_adapter_proc;
@@ -27174,9 +28703,9 @@ diff -urNp linux-3.0.4/drivers/isdn/hardware/eicon/xdi_adapter.h linux-3.0.4/dri
27174 28703
27175 typedef struct _diva_os_xdi_adapter { 28704 typedef struct _diva_os_xdi_adapter {
27176 struct list_head link; 28705 struct list_head link;
27177diff -urNp linux-3.0.4/drivers/isdn/i4l/isdn_common.c linux-3.0.4/drivers/isdn/i4l/isdn_common.c 28706diff -urNp linux-3.0.7/drivers/isdn/i4l/isdn_common.c linux-3.0.7/drivers/isdn/i4l/isdn_common.c
27178--- linux-3.0.4/drivers/isdn/i4l/isdn_common.c 2011-07-21 22:17:23.000000000 -0400 28707--- linux-3.0.7/drivers/isdn/i4l/isdn_common.c 2011-07-21 22:17:23.000000000 -0400
27179+++ linux-3.0.4/drivers/isdn/i4l/isdn_common.c 2011-08-23 21:48:14.000000000 -0400 28708+++ linux-3.0.7/drivers/isdn/i4l/isdn_common.c 2011-08-23 21:48:14.000000000 -0400
27180@@ -1286,6 +1286,8 @@ isdn_ioctl(struct file *file, uint cmd, 28709@@ -1286,6 +1286,8 @@ isdn_ioctl(struct file *file, uint cmd,
27181 } iocpar; 28710 } iocpar;
27182 void __user *argp = (void __user *)arg; 28711 void __user *argp = (void __user *)arg;
@@ -27186,9 +28715,9 @@ diff -urNp linux-3.0.4/drivers/isdn/i4l/isdn_common.c linux-3.0.4/drivers/isdn/i
27186 #define name iocpar.name 28715 #define name iocpar.name
27187 #define bname iocpar.bname 28716 #define bname iocpar.bname
27188 #define iocts iocpar.iocts 28717 #define iocts iocpar.iocts
27189diff -urNp linux-3.0.4/drivers/isdn/icn/icn.c linux-3.0.4/drivers/isdn/icn/icn.c 28718diff -urNp linux-3.0.7/drivers/isdn/icn/icn.c linux-3.0.7/drivers/isdn/icn/icn.c
27190--- linux-3.0.4/drivers/isdn/icn/icn.c 2011-07-21 22:17:23.000000000 -0400 28719--- linux-3.0.7/drivers/isdn/icn/icn.c 2011-07-21 22:17:23.000000000 -0400
27191+++ linux-3.0.4/drivers/isdn/icn/icn.c 2011-08-23 21:47:55.000000000 -0400 28720+++ linux-3.0.7/drivers/isdn/icn/icn.c 2011-08-23 21:47:55.000000000 -0400
27192@@ -1045,7 +1045,7 @@ icn_writecmd(const u_char * buf, int len 28721@@ -1045,7 +1045,7 @@ icn_writecmd(const u_char * buf, int len
27193 if (count > len) 28722 if (count > len)
27194 count = len; 28723 count = len;
@@ -27198,9 +28727,9 @@ diff -urNp linux-3.0.4/drivers/isdn/icn/icn.c linux-3.0.4/drivers/isdn/icn/icn.c
27198 return -EFAULT; 28727 return -EFAULT;
27199 } else 28728 } else
27200 memcpy(msg, buf, count); 28729 memcpy(msg, buf, count);
27201diff -urNp linux-3.0.4/drivers/lguest/core.c linux-3.0.4/drivers/lguest/core.c 28730diff -urNp linux-3.0.7/drivers/lguest/core.c linux-3.0.7/drivers/lguest/core.c
27202--- linux-3.0.4/drivers/lguest/core.c 2011-07-21 22:17:23.000000000 -0400 28731--- linux-3.0.7/drivers/lguest/core.c 2011-07-21 22:17:23.000000000 -0400
27203+++ linux-3.0.4/drivers/lguest/core.c 2011-08-23 21:47:55.000000000 -0400 28732+++ linux-3.0.7/drivers/lguest/core.c 2011-08-23 21:47:55.000000000 -0400
27204@@ -92,9 +92,17 @@ static __init int map_switcher(void) 28733@@ -92,9 +92,17 @@ static __init int map_switcher(void)
27205 * it's worked so far. The end address needs +1 because __get_vm_area 28734 * it's worked so far. The end address needs +1 because __get_vm_area
27206 * allocates an extra guard page, so we need space for that. 28735 * allocates an extra guard page, so we need space for that.
@@ -27228,9 +28757,9 @@ diff -urNp linux-3.0.4/drivers/lguest/core.c linux-3.0.4/drivers/lguest/core.c
27228 end_switcher_text - start_switcher_text); 28757 end_switcher_text - start_switcher_text);
27229 28758
27230 printk(KERN_INFO "lguest: mapped switcher at %p\n", 28759 printk(KERN_INFO "lguest: mapped switcher at %p\n",
27231diff -urNp linux-3.0.4/drivers/lguest/x86/core.c linux-3.0.4/drivers/lguest/x86/core.c 28760diff -urNp linux-3.0.7/drivers/lguest/x86/core.c linux-3.0.7/drivers/lguest/x86/core.c
27232--- linux-3.0.4/drivers/lguest/x86/core.c 2011-07-21 22:17:23.000000000 -0400 28761--- linux-3.0.7/drivers/lguest/x86/core.c 2011-07-21 22:17:23.000000000 -0400
27233+++ linux-3.0.4/drivers/lguest/x86/core.c 2011-08-23 21:47:55.000000000 -0400 28762+++ linux-3.0.7/drivers/lguest/x86/core.c 2011-08-23 21:47:55.000000000 -0400
27234@@ -59,7 +59,7 @@ static struct { 28763@@ -59,7 +59,7 @@ static struct {
27235 /* Offset from where switcher.S was compiled to where we've copied it */ 28764 /* Offset from where switcher.S was compiled to where we've copied it */
27236 static unsigned long switcher_offset(void) 28765 static unsigned long switcher_offset(void)
@@ -27272,9 +28801,9 @@ diff -urNp linux-3.0.4/drivers/lguest/x86/core.c linux-3.0.4/drivers/lguest/x86/
27272 lguest_entry.segment = LGUEST_CS; 28801 lguest_entry.segment = LGUEST_CS;
27273 28802
27274 /* 28803 /*
27275diff -urNp linux-3.0.4/drivers/lguest/x86/switcher_32.S linux-3.0.4/drivers/lguest/x86/switcher_32.S 28804diff -urNp linux-3.0.7/drivers/lguest/x86/switcher_32.S linux-3.0.7/drivers/lguest/x86/switcher_32.S
27276--- linux-3.0.4/drivers/lguest/x86/switcher_32.S 2011-07-21 22:17:23.000000000 -0400 28805--- linux-3.0.7/drivers/lguest/x86/switcher_32.S 2011-07-21 22:17:23.000000000 -0400
27277+++ linux-3.0.4/drivers/lguest/x86/switcher_32.S 2011-08-23 21:47:55.000000000 -0400 28806+++ linux-3.0.7/drivers/lguest/x86/switcher_32.S 2011-08-23 21:47:55.000000000 -0400
27278@@ -87,6 +87,7 @@ 28807@@ -87,6 +87,7 @@
27279 #include <asm/page.h> 28808 #include <asm/page.h>
27280 #include <asm/segment.h> 28809 #include <asm/segment.h>
@@ -27333,9 +28862,21 @@ diff -urNp linux-3.0.4/drivers/lguest/x86/switcher_32.S linux-3.0.4/drivers/lgue
27333 28862
27334 // Every interrupt can come to us here 28863 // Every interrupt can come to us here
27335 // But we must truly tell each apart. 28864 // But we must truly tell each apart.
27336diff -urNp linux-3.0.4/drivers/md/dm.c linux-3.0.4/drivers/md/dm.c 28865diff -urNp linux-3.0.7/drivers/macintosh/macio_asic.c linux-3.0.7/drivers/macintosh/macio_asic.c
27337--- linux-3.0.4/drivers/md/dm.c 2011-09-02 18:11:21.000000000 -0400 28866--- linux-3.0.7/drivers/macintosh/macio_asic.c 2011-07-21 22:17:23.000000000 -0400
27338+++ linux-3.0.4/drivers/md/dm.c 2011-08-23 21:47:55.000000000 -0400 28867+++ linux-3.0.7/drivers/macintosh/macio_asic.c 2011-10-11 10:44:33.000000000 -0400
28868@@ -748,7 +748,7 @@ static void __devexit macio_pci_remove(s
28869 * MacIO is matched against any Apple ID, it's probe() function
28870 * will then decide wether it applies or not
28871 */
28872-static const struct pci_device_id __devinitdata pci_ids [] = { {
28873+static const struct pci_device_id __devinitconst pci_ids [] = { {
28874 .vendor = PCI_VENDOR_ID_APPLE,
28875 .device = PCI_ANY_ID,
28876 .subvendor = PCI_ANY_ID,
28877diff -urNp linux-3.0.7/drivers/md/dm.c linux-3.0.7/drivers/md/dm.c
28878--- linux-3.0.7/drivers/md/dm.c 2011-09-02 18:11:21.000000000 -0400
28879+++ linux-3.0.7/drivers/md/dm.c 2011-08-23 21:47:55.000000000 -0400
27339@@ -164,9 +164,9 @@ struct mapped_device { 28880@@ -164,9 +164,9 @@ struct mapped_device {
27340 /* 28881 /*
27341 * Event handling. 28882 * Event handling.
@@ -27390,9 +28931,9 @@ diff -urNp linux-3.0.4/drivers/md/dm.c linux-3.0.4/drivers/md/dm.c
27390 } 28931 }
27391 28932
27392 void dm_uevent_add(struct mapped_device *md, struct list_head *elist) 28933 void dm_uevent_add(struct mapped_device *md, struct list_head *elist)
27393diff -urNp linux-3.0.4/drivers/md/dm-ioctl.c linux-3.0.4/drivers/md/dm-ioctl.c 28934diff -urNp linux-3.0.7/drivers/md/dm-ioctl.c linux-3.0.7/drivers/md/dm-ioctl.c
27394--- linux-3.0.4/drivers/md/dm-ioctl.c 2011-07-21 22:17:23.000000000 -0400 28935--- linux-3.0.7/drivers/md/dm-ioctl.c 2011-07-21 22:17:23.000000000 -0400
27395+++ linux-3.0.4/drivers/md/dm-ioctl.c 2011-08-23 21:47:55.000000000 -0400 28936+++ linux-3.0.7/drivers/md/dm-ioctl.c 2011-08-23 21:47:55.000000000 -0400
27396@@ -1551,7 +1551,7 @@ static int validate_params(uint cmd, str 28937@@ -1551,7 +1551,7 @@ static int validate_params(uint cmd, str
27397 cmd == DM_LIST_VERSIONS_CMD) 28938 cmd == DM_LIST_VERSIONS_CMD)
27398 return 0; 28939 return 0;
@@ -27402,9 +28943,9 @@ diff -urNp linux-3.0.4/drivers/md/dm-ioctl.c linux-3.0.4/drivers/md/dm-ioctl.c
27402 if (!*param->name) { 28943 if (!*param->name) {
27403 DMWARN("name not supplied when creating device"); 28944 DMWARN("name not supplied when creating device");
27404 return -EINVAL; 28945 return -EINVAL;
27405diff -urNp linux-3.0.4/drivers/md/dm-raid1.c linux-3.0.4/drivers/md/dm-raid1.c 28946diff -urNp linux-3.0.7/drivers/md/dm-raid1.c linux-3.0.7/drivers/md/dm-raid1.c
27406--- linux-3.0.4/drivers/md/dm-raid1.c 2011-07-21 22:17:23.000000000 -0400 28947--- linux-3.0.7/drivers/md/dm-raid1.c 2011-07-21 22:17:23.000000000 -0400
27407+++ linux-3.0.4/drivers/md/dm-raid1.c 2011-08-23 21:47:55.000000000 -0400 28948+++ linux-3.0.7/drivers/md/dm-raid1.c 2011-08-23 21:47:55.000000000 -0400
27408@@ -40,7 +40,7 @@ enum dm_raid1_error { 28949@@ -40,7 +40,7 @@ enum dm_raid1_error {
27409 28950
27410 struct mirror { 28951 struct mirror {
@@ -27477,9 +29018,9 @@ diff -urNp linux-3.0.4/drivers/md/dm-raid1.c linux-3.0.4/drivers/md/dm-raid1.c
27477 return 'A'; 29018 return 'A';
27478 29019
27479 return (test_bit(DM_RAID1_FLUSH_ERROR, &(m->error_type))) ? 'F' : 29020 return (test_bit(DM_RAID1_FLUSH_ERROR, &(m->error_type))) ? 'F' :
27480diff -urNp linux-3.0.4/drivers/md/dm-stripe.c linux-3.0.4/drivers/md/dm-stripe.c 29021diff -urNp linux-3.0.7/drivers/md/dm-stripe.c linux-3.0.7/drivers/md/dm-stripe.c
27481--- linux-3.0.4/drivers/md/dm-stripe.c 2011-07-21 22:17:23.000000000 -0400 29022--- linux-3.0.7/drivers/md/dm-stripe.c 2011-07-21 22:17:23.000000000 -0400
27482+++ linux-3.0.4/drivers/md/dm-stripe.c 2011-08-23 21:47:55.000000000 -0400 29023+++ linux-3.0.7/drivers/md/dm-stripe.c 2011-08-23 21:47:55.000000000 -0400
27483@@ -20,7 +20,7 @@ struct stripe { 29024@@ -20,7 +20,7 @@ struct stripe {
27484 struct dm_dev *dev; 29025 struct dm_dev *dev;
27485 sector_t physical_start; 29026 sector_t physical_start;
@@ -27518,9 +29059,9 @@ diff -urNp linux-3.0.4/drivers/md/dm-stripe.c linux-3.0.4/drivers/md/dm-stripe.c
27518 DM_IO_ERROR_THRESHOLD) 29059 DM_IO_ERROR_THRESHOLD)
27519 schedule_work(&sc->trigger_event); 29060 schedule_work(&sc->trigger_event);
27520 } 29061 }
27521diff -urNp linux-3.0.4/drivers/md/dm-table.c linux-3.0.4/drivers/md/dm-table.c 29062diff -urNp linux-3.0.7/drivers/md/dm-table.c linux-3.0.7/drivers/md/dm-table.c
27522--- linux-3.0.4/drivers/md/dm-table.c 2011-07-21 22:17:23.000000000 -0400 29063--- linux-3.0.7/drivers/md/dm-table.c 2011-10-17 23:17:09.000000000 -0400
27523+++ linux-3.0.4/drivers/md/dm-table.c 2011-08-23 21:47:55.000000000 -0400 29064+++ linux-3.0.7/drivers/md/dm-table.c 2011-10-17 23:17:19.000000000 -0400
27524@@ -390,7 +390,7 @@ static int device_area_is_invalid(struct 29065@@ -390,7 +390,7 @@ static int device_area_is_invalid(struct
27525 if (!dev_size) 29066 if (!dev_size)
27526 return 0; 29067 return 0;
@@ -27530,10 +29071,10 @@ diff -urNp linux-3.0.4/drivers/md/dm-table.c linux-3.0.4/drivers/md/dm-table.c
27530 DMWARN("%s: %s too small for target: " 29071 DMWARN("%s: %s too small for target: "
27531 "start=%llu, len=%llu, dev_size=%llu", 29072 "start=%llu, len=%llu, dev_size=%llu",
27532 dm_device_name(ti->table->md), bdevname(bdev, b), 29073 dm_device_name(ti->table->md), bdevname(bdev, b),
27533diff -urNp linux-3.0.4/drivers/md/md.c linux-3.0.4/drivers/md/md.c 29074diff -urNp linux-3.0.7/drivers/md/md.c linux-3.0.7/drivers/md/md.c
27534--- linux-3.0.4/drivers/md/md.c 2011-07-21 22:17:23.000000000 -0400 29075--- linux-3.0.7/drivers/md/md.c 2011-10-17 23:17:09.000000000 -0400
27535+++ linux-3.0.4/drivers/md/md.c 2011-08-23 21:47:55.000000000 -0400 29076+++ linux-3.0.7/drivers/md/md.c 2011-10-17 23:17:19.000000000 -0400
27536@@ -226,10 +226,10 @@ EXPORT_SYMBOL_GPL(bio_clone_mddev); 29077@@ -231,10 +231,10 @@ EXPORT_SYMBOL_GPL(bio_clone_mddev);
27537 * start build, activate spare 29078 * start build, activate spare
27538 */ 29079 */
27539 static DECLARE_WAIT_QUEUE_HEAD(md_event_waiters); 29080 static DECLARE_WAIT_QUEUE_HEAD(md_event_waiters);
@@ -27546,7 +29087,7 @@ diff -urNp linux-3.0.4/drivers/md/md.c linux-3.0.4/drivers/md/md.c
27546 wake_up(&md_event_waiters); 29087 wake_up(&md_event_waiters);
27547 } 29088 }
27548 EXPORT_SYMBOL_GPL(md_new_event); 29089 EXPORT_SYMBOL_GPL(md_new_event);
27549@@ -239,7 +239,7 @@ EXPORT_SYMBOL_GPL(md_new_event); 29090@@ -244,7 +244,7 @@ EXPORT_SYMBOL_GPL(md_new_event);
27550 */ 29091 */
27551 static void md_new_event_inintr(mddev_t *mddev) 29092 static void md_new_event_inintr(mddev_t *mddev)
27552 { 29093 {
@@ -27555,7 +29096,7 @@ diff -urNp linux-3.0.4/drivers/md/md.c linux-3.0.4/drivers/md/md.c
27555 wake_up(&md_event_waiters); 29096 wake_up(&md_event_waiters);
27556 } 29097 }
27557 29098
27558@@ -1457,7 +1457,7 @@ static int super_1_load(mdk_rdev_t *rdev 29099@@ -1475,7 +1475,7 @@ static int super_1_load(mdk_rdev_t *rdev
27559 29100
27560 rdev->preferred_minor = 0xffff; 29101 rdev->preferred_minor = 0xffff;
27561 rdev->data_offset = le64_to_cpu(sb->data_offset); 29102 rdev->data_offset = le64_to_cpu(sb->data_offset);
@@ -27564,7 +29105,7 @@ diff -urNp linux-3.0.4/drivers/md/md.c linux-3.0.4/drivers/md/md.c
27564 29105
27565 rdev->sb_size = le32_to_cpu(sb->max_dev) * 2 + 256; 29106 rdev->sb_size = le32_to_cpu(sb->max_dev) * 2 + 256;
27566 bmask = queue_logical_block_size(rdev->bdev->bd_disk->queue)-1; 29107 bmask = queue_logical_block_size(rdev->bdev->bd_disk->queue)-1;
27567@@ -1635,7 +1635,7 @@ static void super_1_sync(mddev_t *mddev, 29108@@ -1653,7 +1653,7 @@ static void super_1_sync(mddev_t *mddev,
27568 else 29109 else
27569 sb->resync_offset = cpu_to_le64(0); 29110 sb->resync_offset = cpu_to_le64(0);
27570 29111
@@ -27573,7 +29114,7 @@ diff -urNp linux-3.0.4/drivers/md/md.c linux-3.0.4/drivers/md/md.c
27573 29114
27574 sb->raid_disks = cpu_to_le32(mddev->raid_disks); 29115 sb->raid_disks = cpu_to_le32(mddev->raid_disks);
27575 sb->size = cpu_to_le64(mddev->dev_sectors); 29116 sb->size = cpu_to_le64(mddev->dev_sectors);
27576@@ -2428,7 +2428,7 @@ __ATTR(state, S_IRUGO|S_IWUSR, state_sho 29117@@ -2446,7 +2446,7 @@ __ATTR(state, S_IRUGO|S_IWUSR, state_sho
27577 static ssize_t 29118 static ssize_t
27578 errors_show(mdk_rdev_t *rdev, char *page) 29119 errors_show(mdk_rdev_t *rdev, char *page)
27579 { 29120 {
@@ -27582,7 +29123,7 @@ diff -urNp linux-3.0.4/drivers/md/md.c linux-3.0.4/drivers/md/md.c
27582 } 29123 }
27583 29124
27584 static ssize_t 29125 static ssize_t
27585@@ -2437,7 +2437,7 @@ errors_store(mdk_rdev_t *rdev, const cha 29126@@ -2455,7 +2455,7 @@ errors_store(mdk_rdev_t *rdev, const cha
27586 char *e; 29127 char *e;
27587 unsigned long n = simple_strtoul(buf, &e, 10); 29128 unsigned long n = simple_strtoul(buf, &e, 10);
27588 if (*buf && (*e == 0 || *e == '\n')) { 29129 if (*buf && (*e == 0 || *e == '\n')) {
@@ -27591,7 +29132,7 @@ diff -urNp linux-3.0.4/drivers/md/md.c linux-3.0.4/drivers/md/md.c
27591 return len; 29132 return len;
27592 } 29133 }
27593 return -EINVAL; 29134 return -EINVAL;
27594@@ -2793,8 +2793,8 @@ void md_rdev_init(mdk_rdev_t *rdev) 29135@@ -2811,8 +2811,8 @@ void md_rdev_init(mdk_rdev_t *rdev)
27595 rdev->last_read_error.tv_sec = 0; 29136 rdev->last_read_error.tv_sec = 0;
27596 rdev->last_read_error.tv_nsec = 0; 29137 rdev->last_read_error.tv_nsec = 0;
27597 atomic_set(&rdev->nr_pending, 0); 29138 atomic_set(&rdev->nr_pending, 0);
@@ -27602,7 +29143,7 @@ diff -urNp linux-3.0.4/drivers/md/md.c linux-3.0.4/drivers/md/md.c
27602 29143
27603 INIT_LIST_HEAD(&rdev->same_set); 29144 INIT_LIST_HEAD(&rdev->same_set);
27604 init_waitqueue_head(&rdev->blocked_wait); 29145 init_waitqueue_head(&rdev->blocked_wait);
27605@@ -6415,7 +6415,7 @@ static int md_seq_show(struct seq_file * 29146@@ -6440,7 +6440,7 @@ static int md_seq_show(struct seq_file *
27606 29147
27607 spin_unlock(&pers_lock); 29148 spin_unlock(&pers_lock);
27608 seq_printf(seq, "\n"); 29149 seq_printf(seq, "\n");
@@ -27611,7 +29152,7 @@ diff -urNp linux-3.0.4/drivers/md/md.c linux-3.0.4/drivers/md/md.c
27611 return 0; 29152 return 0;
27612 } 29153 }
27613 if (v == (void*)2) { 29154 if (v == (void*)2) {
27614@@ -6504,7 +6504,7 @@ static int md_seq_show(struct seq_file * 29155@@ -6529,7 +6529,7 @@ static int md_seq_show(struct seq_file *
27615 chunk_kb ? "KB" : "B"); 29156 chunk_kb ? "KB" : "B");
27616 if (bitmap->file) { 29157 if (bitmap->file) {
27617 seq_printf(seq, ", file: "); 29158 seq_printf(seq, ", file: ");
@@ -27620,7 +29161,7 @@ diff -urNp linux-3.0.4/drivers/md/md.c linux-3.0.4/drivers/md/md.c
27620 } 29161 }
27621 29162
27622 seq_printf(seq, "\n"); 29163 seq_printf(seq, "\n");
27623@@ -6538,7 +6538,7 @@ static int md_seq_open(struct inode *ino 29164@@ -6563,7 +6563,7 @@ static int md_seq_open(struct inode *ino
27624 else { 29165 else {
27625 struct seq_file *p = file->private_data; 29166 struct seq_file *p = file->private_data;
27626 p->private = mi; 29167 p->private = mi;
@@ -27629,7 +29170,7 @@ diff -urNp linux-3.0.4/drivers/md/md.c linux-3.0.4/drivers/md/md.c
27629 } 29170 }
27630 return error; 29171 return error;
27631 } 29172 }
27632@@ -6554,7 +6554,7 @@ static unsigned int mdstat_poll(struct f 29173@@ -6579,7 +6579,7 @@ static unsigned int mdstat_poll(struct f
27633 /* always allow read */ 29174 /* always allow read */
27634 mask = POLLIN | POLLRDNORM; 29175 mask = POLLIN | POLLRDNORM;
27635 29176
@@ -27638,7 +29179,7 @@ diff -urNp linux-3.0.4/drivers/md/md.c linux-3.0.4/drivers/md/md.c
27638 mask |= POLLERR | POLLPRI; 29179 mask |= POLLERR | POLLPRI;
27639 return mask; 29180 return mask;
27640 } 29181 }
27641@@ -6598,7 +6598,7 @@ static int is_mddev_idle(mddev_t *mddev, 29182@@ -6623,7 +6623,7 @@ static int is_mddev_idle(mddev_t *mddev,
27642 struct gendisk *disk = rdev->bdev->bd_contains->bd_disk; 29183 struct gendisk *disk = rdev->bdev->bd_contains->bd_disk;
27643 curr_events = (int)part_stat_read(&disk->part0, sectors[0]) + 29184 curr_events = (int)part_stat_read(&disk->part0, sectors[0]) +
27644 (int)part_stat_read(&disk->part0, sectors[1]) - 29185 (int)part_stat_read(&disk->part0, sectors[1]) -
@@ -27647,9 +29188,9 @@ diff -urNp linux-3.0.4/drivers/md/md.c linux-3.0.4/drivers/md/md.c
27647 /* sync IO will cause sync_io to increase before the disk_stats 29188 /* sync IO will cause sync_io to increase before the disk_stats
27648 * as sync_io is counted when a request starts, and 29189 * as sync_io is counted when a request starts, and
27649 * disk_stats is counted when it completes. 29190 * disk_stats is counted when it completes.
27650diff -urNp linux-3.0.4/drivers/md/md.h linux-3.0.4/drivers/md/md.h 29191diff -urNp linux-3.0.7/drivers/md/md.h linux-3.0.7/drivers/md/md.h
27651--- linux-3.0.4/drivers/md/md.h 2011-07-21 22:17:23.000000000 -0400 29192--- linux-3.0.7/drivers/md/md.h 2011-10-17 23:17:09.000000000 -0400
27652+++ linux-3.0.4/drivers/md/md.h 2011-08-23 21:47:55.000000000 -0400 29193+++ linux-3.0.7/drivers/md/md.h 2011-10-17 23:17:19.000000000 -0400
27653@@ -97,13 +97,13 @@ struct mdk_rdev_s 29194@@ -97,13 +97,13 @@ struct mdk_rdev_s
27654 * only maintained for arrays that 29195 * only maintained for arrays that
27655 * support hot removal 29196 * support hot removal
@@ -27675,9 +29216,9 @@ diff -urNp linux-3.0.4/drivers/md/md.h linux-3.0.4/drivers/md/md.h
27675 } 29216 }
27676 29217
27677 struct mdk_personality 29218 struct mdk_personality
27678diff -urNp linux-3.0.4/drivers/md/raid10.c linux-3.0.4/drivers/md/raid10.c 29219diff -urNp linux-3.0.7/drivers/md/raid10.c linux-3.0.7/drivers/md/raid10.c
27679--- linux-3.0.4/drivers/md/raid10.c 2011-07-21 22:17:23.000000000 -0400 29220--- linux-3.0.7/drivers/md/raid10.c 2011-10-17 23:17:09.000000000 -0400
27680+++ linux-3.0.4/drivers/md/raid10.c 2011-08-23 21:47:55.000000000 -0400 29221+++ linux-3.0.7/drivers/md/raid10.c 2011-10-17 23:17:19.000000000 -0400
27681@@ -1186,7 +1186,7 @@ static void end_sync_read(struct bio *bi 29222@@ -1186,7 +1186,7 @@ static void end_sync_read(struct bio *bi
27682 if (test_bit(BIO_UPTODATE, &bio->bi_flags)) 29223 if (test_bit(BIO_UPTODATE, &bio->bi_flags))
27683 set_bit(R10BIO_Uptodate, &r10_bio->state); 29224 set_bit(R10BIO_Uptodate, &r10_bio->state);
@@ -27737,9 +29278,9 @@ diff -urNp linux-3.0.4/drivers/md/raid10.c linux-3.0.4/drivers/md/raid10.c
27737 if (sync_page_io(rdev, 29278 if (sync_page_io(rdev,
27738 r10_bio->devs[sl].addr + 29279 r10_bio->devs[sl].addr +
27739 sect, 29280 sect,
27740diff -urNp linux-3.0.4/drivers/md/raid1.c linux-3.0.4/drivers/md/raid1.c 29281diff -urNp linux-3.0.7/drivers/md/raid1.c linux-3.0.7/drivers/md/raid1.c
27741--- linux-3.0.4/drivers/md/raid1.c 2011-07-21 22:17:23.000000000 -0400 29282--- linux-3.0.7/drivers/md/raid1.c 2011-10-17 23:17:09.000000000 -0400
27742+++ linux-3.0.4/drivers/md/raid1.c 2011-08-23 21:47:55.000000000 -0400 29283+++ linux-3.0.7/drivers/md/raid1.c 2011-10-17 23:17:19.000000000 -0400
27743@@ -1263,7 +1263,7 @@ static int fix_sync_read_error(r1bio_t * 29284@@ -1263,7 +1263,7 @@ static int fix_sync_read_error(r1bio_t *
27744 rdev_dec_pending(rdev, mddev); 29285 rdev_dec_pending(rdev, mddev);
27745 md_error(mddev, rdev); 29286 md_error(mddev, rdev);
@@ -27758,9 +29299,9 @@ diff -urNp linux-3.0.4/drivers/md/raid1.c linux-3.0.4/drivers/md/raid1.c
27758 printk(KERN_INFO 29299 printk(KERN_INFO
27759 "md/raid1:%s: read error corrected " 29300 "md/raid1:%s: read error corrected "
27760 "(%d sectors at %llu on %s)\n", 29301 "(%d sectors at %llu on %s)\n",
27761diff -urNp linux-3.0.4/drivers/md/raid5.c linux-3.0.4/drivers/md/raid5.c 29302diff -urNp linux-3.0.7/drivers/md/raid5.c linux-3.0.7/drivers/md/raid5.c
27762--- linux-3.0.4/drivers/md/raid5.c 2011-07-21 22:17:23.000000000 -0400 29303--- linux-3.0.7/drivers/md/raid5.c 2011-10-17 23:17:09.000000000 -0400
27763+++ linux-3.0.4/drivers/md/raid5.c 2011-08-23 21:48:14.000000000 -0400 29304+++ linux-3.0.7/drivers/md/raid5.c 2011-10-17 23:17:19.000000000 -0400
27764@@ -550,7 +550,7 @@ static void ops_run_io(struct stripe_hea 29305@@ -550,7 +550,7 @@ static void ops_run_io(struct stripe_hea
27765 bi->bi_next = NULL; 29306 bi->bi_next = NULL;
27766 if ((rw & WRITE) && 29307 if ((rw & WRITE) &&
@@ -27806,9 +29347,9 @@ diff -urNp linux-3.0.4/drivers/md/raid5.c linux-3.0.4/drivers/md/raid5.c
27806 29347
27807 chunk_offset = sector_div(new_sector, sectors_per_chunk); 29348 chunk_offset = sector_div(new_sector, sectors_per_chunk);
27808 stripe = new_sector; 29349 stripe = new_sector;
27809diff -urNp linux-3.0.4/drivers/media/common/saa7146_hlp.c linux-3.0.4/drivers/media/common/saa7146_hlp.c 29350diff -urNp linux-3.0.7/drivers/media/common/saa7146_hlp.c linux-3.0.7/drivers/media/common/saa7146_hlp.c
27810--- linux-3.0.4/drivers/media/common/saa7146_hlp.c 2011-07-21 22:17:23.000000000 -0400 29351--- linux-3.0.7/drivers/media/common/saa7146_hlp.c 2011-07-21 22:17:23.000000000 -0400
27811+++ linux-3.0.4/drivers/media/common/saa7146_hlp.c 2011-08-23 21:48:14.000000000 -0400 29352+++ linux-3.0.7/drivers/media/common/saa7146_hlp.c 2011-08-23 21:48:14.000000000 -0400
27812@@ -353,6 +353,8 @@ static void calculate_clipping_registers 29353@@ -353,6 +353,8 @@ static void calculate_clipping_registers
27813 29354
27814 int x[32], y[32], w[32], h[32]; 29355 int x[32], y[32], w[32], h[32];
@@ -27818,9 +29359,9 @@ diff -urNp linux-3.0.4/drivers/media/common/saa7146_hlp.c linux-3.0.4/drivers/me
27818 /* clear out memory */ 29359 /* clear out memory */
27819 memset(&line_list[0], 0x00, sizeof(u32)*32); 29360 memset(&line_list[0], 0x00, sizeof(u32)*32);
27820 memset(&pixel_list[0], 0x00, sizeof(u32)*32); 29361 memset(&pixel_list[0], 0x00, sizeof(u32)*32);
27821diff -urNp linux-3.0.4/drivers/media/dvb/dvb-core/dvb_ca_en50221.c linux-3.0.4/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 29362diff -urNp linux-3.0.7/drivers/media/dvb/dvb-core/dvb_ca_en50221.c linux-3.0.7/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
27822--- linux-3.0.4/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-07-21 22:17:23.000000000 -0400 29363--- linux-3.0.7/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-07-21 22:17:23.000000000 -0400
27823+++ linux-3.0.4/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-08-23 21:48:14.000000000 -0400 29364+++ linux-3.0.7/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-08-23 21:48:14.000000000 -0400
27824@@ -590,6 +590,8 @@ static int dvb_ca_en50221_read_data(stru 29365@@ -590,6 +590,8 @@ static int dvb_ca_en50221_read_data(stru
27825 u8 buf[HOST_LINK_BUF_SIZE]; 29366 u8 buf[HOST_LINK_BUF_SIZE];
27826 int i; 29367 int i;
@@ -27839,9 +29380,9 @@ diff -urNp linux-3.0.4/drivers/media/dvb/dvb-core/dvb_ca_en50221.c linux-3.0.4/d
27839 dprintk("%s\n", __func__); 29380 dprintk("%s\n", __func__);
27840 29381
27841 /* Incoming packet has a 2 byte header. hdr[0] = slot_id, hdr[1] = connection_id */ 29382 /* Incoming packet has a 2 byte header. hdr[0] = slot_id, hdr[1] = connection_id */
27842diff -urNp linux-3.0.4/drivers/media/dvb/dvb-core/dvb_demux.h linux-3.0.4/drivers/media/dvb/dvb-core/dvb_demux.h 29383diff -urNp linux-3.0.7/drivers/media/dvb/dvb-core/dvb_demux.h linux-3.0.7/drivers/media/dvb/dvb-core/dvb_demux.h
27843--- linux-3.0.4/drivers/media/dvb/dvb-core/dvb_demux.h 2011-07-21 22:17:23.000000000 -0400 29384--- linux-3.0.7/drivers/media/dvb/dvb-core/dvb_demux.h 2011-07-21 22:17:23.000000000 -0400
27844+++ linux-3.0.4/drivers/media/dvb/dvb-core/dvb_demux.h 2011-08-24 18:24:40.000000000 -0400 29385+++ linux-3.0.7/drivers/media/dvb/dvb-core/dvb_demux.h 2011-08-24 18:24:40.000000000 -0400
27845@@ -68,12 +68,12 @@ struct dvb_demux_feed { 29386@@ -68,12 +68,12 @@ struct dvb_demux_feed {
27846 union { 29387 union {
27847 struct dmx_ts_feed ts; 29388 struct dmx_ts_feed ts;
@@ -27857,9 +29398,9 @@ diff -urNp linux-3.0.4/drivers/media/dvb/dvb-core/dvb_demux.h linux-3.0.4/driver
27857 29398
27858 struct dvb_demux *demux; 29399 struct dvb_demux *demux;
27859 void *priv; 29400 void *priv;
27860diff -urNp linux-3.0.4/drivers/media/dvb/dvb-core/dvbdev.c linux-3.0.4/drivers/media/dvb/dvb-core/dvbdev.c 29401diff -urNp linux-3.0.7/drivers/media/dvb/dvb-core/dvbdev.c linux-3.0.7/drivers/media/dvb/dvb-core/dvbdev.c
27861--- linux-3.0.4/drivers/media/dvb/dvb-core/dvbdev.c 2011-07-21 22:17:23.000000000 -0400 29402--- linux-3.0.7/drivers/media/dvb/dvb-core/dvbdev.c 2011-07-21 22:17:23.000000000 -0400
27862+++ linux-3.0.4/drivers/media/dvb/dvb-core/dvbdev.c 2011-08-24 18:24:19.000000000 -0400 29403+++ linux-3.0.7/drivers/media/dvb/dvb-core/dvbdev.c 2011-08-24 18:24:19.000000000 -0400
27863@@ -192,7 +192,7 @@ int dvb_register_device(struct dvb_adapt 29404@@ -192,7 +192,7 @@ int dvb_register_device(struct dvb_adapt
27864 const struct dvb_device *template, void *priv, int type) 29405 const struct dvb_device *template, void *priv, int type)
27865 { 29406 {
@@ -27869,9 +29410,9 @@ diff -urNp linux-3.0.4/drivers/media/dvb/dvb-core/dvbdev.c linux-3.0.4/drivers/m
27869 struct device *clsdev; 29410 struct device *clsdev;
27870 int minor; 29411 int minor;
27871 int id; 29412 int id;
27872diff -urNp linux-3.0.4/drivers/media/dvb/dvb-usb/cxusb.c linux-3.0.4/drivers/media/dvb/dvb-usb/cxusb.c 29413diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/cxusb.c linux-3.0.7/drivers/media/dvb/dvb-usb/cxusb.c
27873--- linux-3.0.4/drivers/media/dvb/dvb-usb/cxusb.c 2011-07-21 22:17:23.000000000 -0400 29414--- linux-3.0.7/drivers/media/dvb/dvb-usb/cxusb.c 2011-07-21 22:17:23.000000000 -0400
27874+++ linux-3.0.4/drivers/media/dvb/dvb-usb/cxusb.c 2011-08-24 18:26:33.000000000 -0400 29415+++ linux-3.0.7/drivers/media/dvb/dvb-usb/cxusb.c 2011-08-24 18:26:33.000000000 -0400
27875@@ -1059,7 +1059,7 @@ static struct dib0070_config dib7070p_di 29416@@ -1059,7 +1059,7 @@ static struct dib0070_config dib7070p_di
27876 struct dib0700_adapter_state { 29417 struct dib0700_adapter_state {
27877 int (*set_param_save) (struct dvb_frontend *, 29418 int (*set_param_save) (struct dvb_frontend *,
@@ -27881,9 +29422,9 @@ diff -urNp linux-3.0.4/drivers/media/dvb/dvb-usb/cxusb.c linux-3.0.4/drivers/med
27881 29422
27882 static int dib7070_set_param_override(struct dvb_frontend *fe, 29423 static int dib7070_set_param_override(struct dvb_frontend *fe,
27883 struct dvb_frontend_parameters *fep) 29424 struct dvb_frontend_parameters *fep)
27884diff -urNp linux-3.0.4/drivers/media/dvb/dvb-usb/dib0700_core.c linux-3.0.4/drivers/media/dvb/dvb-usb/dib0700_core.c 29425diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/dib0700_core.c linux-3.0.7/drivers/media/dvb/dvb-usb/dib0700_core.c
27885--- linux-3.0.4/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-07-21 22:17:23.000000000 -0400 29426--- linux-3.0.7/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-07-21 22:17:23.000000000 -0400
27886+++ linux-3.0.4/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-08-23 21:48:14.000000000 -0400 29427+++ linux-3.0.7/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-08-23 21:48:14.000000000 -0400
27887@@ -434,6 +434,8 @@ int dib0700_download_firmware(struct usb 29428@@ -434,6 +434,8 @@ int dib0700_download_firmware(struct usb
27888 if (!buf) 29429 if (!buf)
27889 return -ENOMEM; 29430 return -ENOMEM;
@@ -27893,9 +29434,9 @@ diff -urNp linux-3.0.4/drivers/media/dvb/dvb-usb/dib0700_core.c linux-3.0.4/driv
27893 while ((ret = dvb_usb_get_hexline(fw, &hx, &pos)) > 0) { 29434 while ((ret = dvb_usb_get_hexline(fw, &hx, &pos)) > 0) {
27894 deb_fwdata("writing to address 0x%08x (buffer: 0x%02x %02x)\n", 29435 deb_fwdata("writing to address 0x%08x (buffer: 0x%02x %02x)\n",
27895 hx.addr, hx.len, hx.chk); 29436 hx.addr, hx.len, hx.chk);
27896diff -urNp linux-3.0.4/drivers/media/dvb/dvb-usb/dibusb.h linux-3.0.4/drivers/media/dvb/dvb-usb/dibusb.h 29437diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/dibusb.h linux-3.0.7/drivers/media/dvb/dvb-usb/dibusb.h
27897--- linux-3.0.4/drivers/media/dvb/dvb-usb/dibusb.h 2011-07-21 22:17:23.000000000 -0400 29438--- linux-3.0.7/drivers/media/dvb/dvb-usb/dibusb.h 2011-07-21 22:17:23.000000000 -0400
27898+++ linux-3.0.4/drivers/media/dvb/dvb-usb/dibusb.h 2011-08-24 18:27:27.000000000 -0400 29439+++ linux-3.0.7/drivers/media/dvb/dvb-usb/dibusb.h 2011-08-24 18:27:27.000000000 -0400
27899@@ -97,7 +97,7 @@ 29440@@ -97,7 +97,7 @@
27900 #define DIBUSB_IOCTL_CMD_DISABLE_STREAM 0x02 29441 #define DIBUSB_IOCTL_CMD_DISABLE_STREAM 0x02
27901 29442
@@ -27905,9 +29446,9 @@ diff -urNp linux-3.0.4/drivers/media/dvb/dvb-usb/dibusb.h linux-3.0.4/drivers/me
27905 int mt2060_present; 29446 int mt2060_present;
27906 u8 tuner_addr; 29447 u8 tuner_addr;
27907 }; 29448 };
27908diff -urNp linux-3.0.4/drivers/media/dvb/dvb-usb/dw2102.c linux-3.0.4/drivers/media/dvb/dvb-usb/dw2102.c 29449diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/dw2102.c linux-3.0.7/drivers/media/dvb/dvb-usb/dw2102.c
27909--- linux-3.0.4/drivers/media/dvb/dvb-usb/dw2102.c 2011-07-21 22:17:23.000000000 -0400 29450--- linux-3.0.7/drivers/media/dvb/dvb-usb/dw2102.c 2011-07-21 22:17:23.000000000 -0400
27910+++ linux-3.0.4/drivers/media/dvb/dvb-usb/dw2102.c 2011-08-24 18:27:45.000000000 -0400 29451+++ linux-3.0.7/drivers/media/dvb/dvb-usb/dw2102.c 2011-08-24 18:27:45.000000000 -0400
27911@@ -95,7 +95,7 @@ struct su3000_state { 29452@@ -95,7 +95,7 @@ struct su3000_state {
27912 29453
27913 struct s6x0_state { 29454 struct s6x0_state {
@@ -27917,9 +29458,9 @@ diff -urNp linux-3.0.4/drivers/media/dvb/dvb-usb/dw2102.c linux-3.0.4/drivers/me
27917 29458
27918 /* debug */ 29459 /* debug */
27919 static int dvb_usb_dw2102_debug; 29460 static int dvb_usb_dw2102_debug;
27920diff -urNp linux-3.0.4/drivers/media/dvb/dvb-usb/lmedm04.c linux-3.0.4/drivers/media/dvb/dvb-usb/lmedm04.c 29461diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/lmedm04.c linux-3.0.7/drivers/media/dvb/dvb-usb/lmedm04.c
27921--- linux-3.0.4/drivers/media/dvb/dvb-usb/lmedm04.c 2011-07-21 22:17:23.000000000 -0400 29462--- linux-3.0.7/drivers/media/dvb/dvb-usb/lmedm04.c 2011-07-21 22:17:23.000000000 -0400
27922+++ linux-3.0.4/drivers/media/dvb/dvb-usb/lmedm04.c 2011-08-23 21:48:14.000000000 -0400 29463+++ linux-3.0.7/drivers/media/dvb/dvb-usb/lmedm04.c 2011-08-23 21:48:14.000000000 -0400
27923@@ -742,6 +742,7 @@ static int lme2510_download_firmware(str 29464@@ -742,6 +742,7 @@ static int lme2510_download_firmware(str
27924 usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), 29465 usb_control_msg(dev, usb_rcvctrlpipe(dev, 0),
27925 0x06, 0x80, 0x0200, 0x00, data, 0x0109, 1000); 29466 0x06, 0x80, 0x0200, 0x00, data, 0x0109, 1000);
@@ -27937,9 +29478,9 @@ diff -urNp linux-3.0.4/drivers/media/dvb/dvb-usb/lmedm04.c linux-3.0.4/drivers/m
27937 data[0] = 0x0a; 29478 data[0] = 0x0a;
27938 len_in = 1; 29479 len_in = 1;
27939 info("FRM Firmware Cold Reset"); 29480 info("FRM Firmware Cold Reset");
27940diff -urNp linux-3.0.4/drivers/media/dvb/frontends/dib3000.h linux-3.0.4/drivers/media/dvb/frontends/dib3000.h 29481diff -urNp linux-3.0.7/drivers/media/dvb/frontends/dib3000.h linux-3.0.7/drivers/media/dvb/frontends/dib3000.h
27941--- linux-3.0.4/drivers/media/dvb/frontends/dib3000.h 2011-07-21 22:17:23.000000000 -0400 29482--- linux-3.0.7/drivers/media/dvb/frontends/dib3000.h 2011-07-21 22:17:23.000000000 -0400
27942+++ linux-3.0.4/drivers/media/dvb/frontends/dib3000.h 2011-08-24 18:28:18.000000000 -0400 29483+++ linux-3.0.7/drivers/media/dvb/frontends/dib3000.h 2011-10-07 19:07:39.000000000 -0400
27943@@ -40,10 +40,11 @@ struct dib_fe_xfer_ops 29484@@ -40,10 +40,11 @@ struct dib_fe_xfer_ops
27944 int (*pid_ctrl)(struct dvb_frontend *fe, int index, int pid, int onoff); 29485 int (*pid_ctrl)(struct dvb_frontend *fe, int index, int pid, int onoff);
27945 int (*tuner_pass_ctrl)(struct dvb_frontend *fe, int onoff, u8 pll_ctrl); 29486 int (*tuner_pass_ctrl)(struct dvb_frontend *fe, int onoff, u8 pll_ctrl);
@@ -27953,9 +29494,9 @@ diff -urNp linux-3.0.4/drivers/media/dvb/frontends/dib3000.h linux-3.0.4/drivers
27953 #else 29494 #else
27954 static inline struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config, 29495 static inline struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config,
27955 struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops) 29496 struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops)
27956diff -urNp linux-3.0.4/drivers/media/dvb/frontends/dib3000mb.c linux-3.0.4/drivers/media/dvb/frontends/dib3000mb.c 29497diff -urNp linux-3.0.7/drivers/media/dvb/frontends/dib3000mb.c linux-3.0.7/drivers/media/dvb/frontends/dib3000mb.c
27957--- linux-3.0.4/drivers/media/dvb/frontends/dib3000mb.c 2011-07-21 22:17:23.000000000 -0400 29498--- linux-3.0.7/drivers/media/dvb/frontends/dib3000mb.c 2011-07-21 22:17:23.000000000 -0400
27958+++ linux-3.0.4/drivers/media/dvb/frontends/dib3000mb.c 2011-08-24 18:28:42.000000000 -0400 29499+++ linux-3.0.7/drivers/media/dvb/frontends/dib3000mb.c 2011-08-24 18:28:42.000000000 -0400
27959@@ -756,7 +756,7 @@ static int dib3000mb_tuner_pass_ctrl(str 29500@@ -756,7 +756,7 @@ static int dib3000mb_tuner_pass_ctrl(str
27960 static struct dvb_frontend_ops dib3000mb_ops; 29501 static struct dvb_frontend_ops dib3000mb_ops;
27961 29502
@@ -27965,9 +29506,9 @@ diff -urNp linux-3.0.4/drivers/media/dvb/frontends/dib3000mb.c linux-3.0.4/drive
27965 { 29506 {
27966 struct dib3000_state* state = NULL; 29507 struct dib3000_state* state = NULL;
27967 29508
27968diff -urNp linux-3.0.4/drivers/media/dvb/frontends/mb86a16.c linux-3.0.4/drivers/media/dvb/frontends/mb86a16.c 29509diff -urNp linux-3.0.7/drivers/media/dvb/frontends/mb86a16.c linux-3.0.7/drivers/media/dvb/frontends/mb86a16.c
27969--- linux-3.0.4/drivers/media/dvb/frontends/mb86a16.c 2011-07-21 22:17:23.000000000 -0400 29510--- linux-3.0.7/drivers/media/dvb/frontends/mb86a16.c 2011-07-21 22:17:23.000000000 -0400
27970+++ linux-3.0.4/drivers/media/dvb/frontends/mb86a16.c 2011-08-23 21:48:14.000000000 -0400 29511+++ linux-3.0.7/drivers/media/dvb/frontends/mb86a16.c 2011-08-23 21:48:14.000000000 -0400
27971@@ -1060,6 +1060,8 @@ static int mb86a16_set_fe(struct mb86a16 29512@@ -1060,6 +1060,8 @@ static int mb86a16_set_fe(struct mb86a16
27972 int ret = -1; 29513 int ret = -1;
27973 int sync; 29514 int sync;
@@ -27977,9 +29518,9 @@ diff -urNp linux-3.0.4/drivers/media/dvb/frontends/mb86a16.c linux-3.0.4/drivers
27977 dprintk(verbose, MB86A16_INFO, 1, "freq=%d Mhz, symbrt=%d Ksps", state->frequency, state->srate); 29518 dprintk(verbose, MB86A16_INFO, 1, "freq=%d Mhz, symbrt=%d Ksps", state->frequency, state->srate);
27978 29519
27979 fcp = 3000; 29520 fcp = 3000;
27980diff -urNp linux-3.0.4/drivers/media/dvb/frontends/or51211.c linux-3.0.4/drivers/media/dvb/frontends/or51211.c 29521diff -urNp linux-3.0.7/drivers/media/dvb/frontends/or51211.c linux-3.0.7/drivers/media/dvb/frontends/or51211.c
27981--- linux-3.0.4/drivers/media/dvb/frontends/or51211.c 2011-07-21 22:17:23.000000000 -0400 29522--- linux-3.0.7/drivers/media/dvb/frontends/or51211.c 2011-07-21 22:17:23.000000000 -0400
27982+++ linux-3.0.4/drivers/media/dvb/frontends/or51211.c 2011-08-23 21:48:14.000000000 -0400 29523+++ linux-3.0.7/drivers/media/dvb/frontends/or51211.c 2011-08-23 21:48:14.000000000 -0400
27983@@ -113,6 +113,8 @@ static int or51211_load_firmware (struct 29524@@ -113,6 +113,8 @@ static int or51211_load_firmware (struct
27984 u8 tudata[585]; 29525 u8 tudata[585];
27985 int i; 29526 int i;
@@ -27989,9 +29530,21 @@ diff -urNp linux-3.0.4/drivers/media/dvb/frontends/or51211.c linux-3.0.4/drivers
27989 dprintk("Firmware is %zd bytes\n",fw->size); 29530 dprintk("Firmware is %zd bytes\n",fw->size);
27990 29531
27991 /* Get eprom data */ 29532 /* Get eprom data */
27992diff -urNp linux-3.0.4/drivers/media/video/cx18/cx18-driver.c linux-3.0.4/drivers/media/video/cx18/cx18-driver.c 29533diff -urNp linux-3.0.7/drivers/media/dvb/ngene/ngene-cards.c linux-3.0.7/drivers/media/dvb/ngene/ngene-cards.c
27993--- linux-3.0.4/drivers/media/video/cx18/cx18-driver.c 2011-07-21 22:17:23.000000000 -0400 29534--- linux-3.0.7/drivers/media/dvb/ngene/ngene-cards.c 2011-07-21 22:17:23.000000000 -0400
27994+++ linux-3.0.4/drivers/media/video/cx18/cx18-driver.c 2011-08-23 21:48:14.000000000 -0400 29535+++ linux-3.0.7/drivers/media/dvb/ngene/ngene-cards.c 2011-10-11 10:44:33.000000000 -0400
29536@@ -379,7 +379,7 @@ static struct ngene_info ngene_info_m780
29537
29538 /****************************************************************************/
29539
29540-static const struct pci_device_id ngene_id_tbl[] __devinitdata = {
29541+static const struct pci_device_id ngene_id_tbl[] __devinitconst = {
29542 NGENE_ID(0x18c3, 0xabc3, ngene_info_cineS2),
29543 NGENE_ID(0x18c3, 0xabc4, ngene_info_cineS2),
29544 NGENE_ID(0x18c3, 0xdb01, ngene_info_satixS2),
29545diff -urNp linux-3.0.7/drivers/media/video/cx18/cx18-driver.c linux-3.0.7/drivers/media/video/cx18/cx18-driver.c
29546--- linux-3.0.7/drivers/media/video/cx18/cx18-driver.c 2011-07-21 22:17:23.000000000 -0400
29547+++ linux-3.0.7/drivers/media/video/cx18/cx18-driver.c 2011-08-23 21:48:14.000000000 -0400
27995@@ -327,6 +327,8 @@ void cx18_read_eeprom(struct cx18 *cx, s 29548@@ -327,6 +327,8 @@ void cx18_read_eeprom(struct cx18 *cx, s
27996 struct i2c_client c; 29549 struct i2c_client c;
27997 u8 eedata[256]; 29550 u8 eedata[256];
@@ -28001,9 +29554,9 @@ diff -urNp linux-3.0.4/drivers/media/video/cx18/cx18-driver.c linux-3.0.4/driver
28001 memset(&c, 0, sizeof(c)); 29554 memset(&c, 0, sizeof(c));
28002 strlcpy(c.name, "cx18 tveeprom tmp", sizeof(c.name)); 29555 strlcpy(c.name, "cx18 tveeprom tmp", sizeof(c.name));
28003 c.adapter = &cx->i2c_adap[0]; 29556 c.adapter = &cx->i2c_adap[0];
28004diff -urNp linux-3.0.4/drivers/media/video/cx23885/cx23885-input.c linux-3.0.4/drivers/media/video/cx23885/cx23885-input.c 29557diff -urNp linux-3.0.7/drivers/media/video/cx23885/cx23885-input.c linux-3.0.7/drivers/media/video/cx23885/cx23885-input.c
28005--- linux-3.0.4/drivers/media/video/cx23885/cx23885-input.c 2011-07-21 22:17:23.000000000 -0400 29558--- linux-3.0.7/drivers/media/video/cx23885/cx23885-input.c 2011-07-21 22:17:23.000000000 -0400
28006+++ linux-3.0.4/drivers/media/video/cx23885/cx23885-input.c 2011-08-23 21:48:14.000000000 -0400 29559+++ linux-3.0.7/drivers/media/video/cx23885/cx23885-input.c 2011-08-23 21:48:14.000000000 -0400
28007@@ -53,6 +53,8 @@ static void cx23885_input_process_measur 29560@@ -53,6 +53,8 @@ static void cx23885_input_process_measur
28008 bool handle = false; 29561 bool handle = false;
28009 struct ir_raw_event ir_core_event[64]; 29562 struct ir_raw_event ir_core_event[64];
@@ -28013,9 +29566,21 @@ diff -urNp linux-3.0.4/drivers/media/video/cx23885/cx23885-input.c linux-3.0.4/d
28013 do { 29566 do {
28014 num = 0; 29567 num = 0;
28015 v4l2_subdev_call(dev->sd_ir, ir, rx_read, (u8 *) ir_core_event, 29568 v4l2_subdev_call(dev->sd_ir, ir, rx_read, (u8 *) ir_core_event,
28016diff -urNp linux-3.0.4/drivers/media/video/pvrusb2/pvrusb2-eeprom.c linux-3.0.4/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 29569diff -urNp linux-3.0.7/drivers/media/video/cx88/cx88-alsa.c linux-3.0.7/drivers/media/video/cx88/cx88-alsa.c
28017--- linux-3.0.4/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-07-21 22:17:23.000000000 -0400 29570--- linux-3.0.7/drivers/media/video/cx88/cx88-alsa.c 2011-07-21 22:17:23.000000000 -0400
28018+++ linux-3.0.4/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-08-23 21:48:14.000000000 -0400 29571+++ linux-3.0.7/drivers/media/video/cx88/cx88-alsa.c 2011-10-11 10:44:33.000000000 -0400
29572@@ -764,7 +764,7 @@ static struct snd_kcontrol_new snd_cx88_
29573 * Only boards with eeprom and byte 1 at eeprom=1 have it
29574 */
29575
29576-static const struct pci_device_id const cx88_audio_pci_tbl[] __devinitdata = {
29577+static const struct pci_device_id const cx88_audio_pci_tbl[] __devinitconst = {
29578 {0x14f1,0x8801,PCI_ANY_ID,PCI_ANY_ID,0,0,0},
29579 {0x14f1,0x8811,PCI_ANY_ID,PCI_ANY_ID,0,0,0},
29580 {0, }
29581diff -urNp linux-3.0.7/drivers/media/video/pvrusb2/pvrusb2-eeprom.c linux-3.0.7/drivers/media/video/pvrusb2/pvrusb2-eeprom.c
29582--- linux-3.0.7/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-07-21 22:17:23.000000000 -0400
29583+++ linux-3.0.7/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-08-23 21:48:14.000000000 -0400
28019@@ -120,6 +120,8 @@ int pvr2_eeprom_analyze(struct pvr2_hdw 29584@@ -120,6 +120,8 @@ int pvr2_eeprom_analyze(struct pvr2_hdw
28020 u8 *eeprom; 29585 u8 *eeprom;
28021 struct tveeprom tvdata; 29586 struct tveeprom tvdata;
@@ -28025,9 +29590,9 @@ diff -urNp linux-3.0.4/drivers/media/video/pvrusb2/pvrusb2-eeprom.c linux-3.0.4/
28025 memset(&tvdata,0,sizeof(tvdata)); 29590 memset(&tvdata,0,sizeof(tvdata));
28026 29591
28027 eeprom = pvr2_eeprom_fetch(hdw); 29592 eeprom = pvr2_eeprom_fetch(hdw);
28028diff -urNp linux-3.0.4/drivers/media/video/saa7134/saa6752hs.c linux-3.0.4/drivers/media/video/saa7134/saa6752hs.c 29593diff -urNp linux-3.0.7/drivers/media/video/saa7134/saa6752hs.c linux-3.0.7/drivers/media/video/saa7134/saa6752hs.c
28029--- linux-3.0.4/drivers/media/video/saa7134/saa6752hs.c 2011-07-21 22:17:23.000000000 -0400 29594--- linux-3.0.7/drivers/media/video/saa7134/saa6752hs.c 2011-07-21 22:17:23.000000000 -0400
28030+++ linux-3.0.4/drivers/media/video/saa7134/saa6752hs.c 2011-08-23 21:48:14.000000000 -0400 29595+++ linux-3.0.7/drivers/media/video/saa7134/saa6752hs.c 2011-08-23 21:48:14.000000000 -0400
28031@@ -682,6 +682,8 @@ static int saa6752hs_init(struct v4l2_su 29596@@ -682,6 +682,8 @@ static int saa6752hs_init(struct v4l2_su
28032 unsigned char localPAT[256]; 29597 unsigned char localPAT[256];
28033 unsigned char localPMT[256]; 29598 unsigned char localPMT[256];
@@ -28037,9 +29602,9 @@ diff -urNp linux-3.0.4/drivers/media/video/saa7134/saa6752hs.c linux-3.0.4/drive
28037 /* Set video format - must be done first as it resets other settings */ 29602 /* Set video format - must be done first as it resets other settings */
28038 set_reg8(client, 0x41, h->video_format); 29603 set_reg8(client, 0x41, h->video_format);
28039 29604
28040diff -urNp linux-3.0.4/drivers/media/video/saa7164/saa7164-cmd.c linux-3.0.4/drivers/media/video/saa7164/saa7164-cmd.c 29605diff -urNp linux-3.0.7/drivers/media/video/saa7164/saa7164-cmd.c linux-3.0.7/drivers/media/video/saa7164/saa7164-cmd.c
28041--- linux-3.0.4/drivers/media/video/saa7164/saa7164-cmd.c 2011-07-21 22:17:23.000000000 -0400 29606--- linux-3.0.7/drivers/media/video/saa7164/saa7164-cmd.c 2011-07-21 22:17:23.000000000 -0400
28042+++ linux-3.0.4/drivers/media/video/saa7164/saa7164-cmd.c 2011-08-23 21:48:14.000000000 -0400 29607+++ linux-3.0.7/drivers/media/video/saa7164/saa7164-cmd.c 2011-08-23 21:48:14.000000000 -0400
28043@@ -88,6 +88,8 @@ int saa7164_irq_dequeue(struct saa7164_d 29608@@ -88,6 +88,8 @@ int saa7164_irq_dequeue(struct saa7164_d
28044 u8 tmp[512]; 29609 u8 tmp[512];
28045 dprintk(DBGLVL_CMD, "%s()\n", __func__); 29610 dprintk(DBGLVL_CMD, "%s()\n", __func__);
@@ -28058,9 +29623,9 @@ diff -urNp linux-3.0.4/drivers/media/video/saa7164/saa7164-cmd.c linux-3.0.4/dri
28058 while (loop) { 29623 while (loop) {
28059 29624
28060 struct tmComResInfo tRsp = { 0, 0, 0, 0, 0, 0 }; 29625 struct tmComResInfo tRsp = { 0, 0, 0, 0, 0, 0 };
28061diff -urNp linux-3.0.4/drivers/media/video/timblogiw.c linux-3.0.4/drivers/media/video/timblogiw.c 29626diff -urNp linux-3.0.7/drivers/media/video/timblogiw.c linux-3.0.7/drivers/media/video/timblogiw.c
28062--- linux-3.0.4/drivers/media/video/timblogiw.c 2011-07-21 22:17:23.000000000 -0400 29627--- linux-3.0.7/drivers/media/video/timblogiw.c 2011-07-21 22:17:23.000000000 -0400
28063+++ linux-3.0.4/drivers/media/video/timblogiw.c 2011-08-24 18:29:20.000000000 -0400 29628+++ linux-3.0.7/drivers/media/video/timblogiw.c 2011-08-24 18:29:20.000000000 -0400
28064@@ -745,7 +745,7 @@ static int timblogiw_mmap(struct file *f 29629@@ -745,7 +745,7 @@ static int timblogiw_mmap(struct file *f
28065 29630
28066 /* Platform device functions */ 29631 /* Platform device functions */
@@ -28070,9 +29635,9 @@ diff -urNp linux-3.0.4/drivers/media/video/timblogiw.c linux-3.0.4/drivers/media
28070 .vidioc_querycap = timblogiw_querycap, 29635 .vidioc_querycap = timblogiw_querycap,
28071 .vidioc_enum_fmt_vid_cap = timblogiw_enum_fmt, 29636 .vidioc_enum_fmt_vid_cap = timblogiw_enum_fmt,
28072 .vidioc_g_fmt_vid_cap = timblogiw_g_fmt, 29637 .vidioc_g_fmt_vid_cap = timblogiw_g_fmt,
28073diff -urNp linux-3.0.4/drivers/media/video/usbvision/usbvision-core.c linux-3.0.4/drivers/media/video/usbvision/usbvision-core.c 29638diff -urNp linux-3.0.7/drivers/media/video/usbvision/usbvision-core.c linux-3.0.7/drivers/media/video/usbvision/usbvision-core.c
28074--- linux-3.0.4/drivers/media/video/usbvision/usbvision-core.c 2011-07-21 22:17:23.000000000 -0400 29639--- linux-3.0.7/drivers/media/video/usbvision/usbvision-core.c 2011-07-21 22:17:23.000000000 -0400
28075+++ linux-3.0.4/drivers/media/video/usbvision/usbvision-core.c 2011-08-23 21:48:14.000000000 -0400 29640+++ linux-3.0.7/drivers/media/video/usbvision/usbvision-core.c 2011-08-23 21:48:14.000000000 -0400
28076@@ -707,6 +707,8 @@ static enum parse_state usbvision_parse_ 29641@@ -707,6 +707,8 @@ static enum parse_state usbvision_parse_
28077 unsigned char rv, gv, bv; 29642 unsigned char rv, gv, bv;
28078 static unsigned char *Y, *U, *V; 29643 static unsigned char *Y, *U, *V;
@@ -28082,9 +29647,9 @@ diff -urNp linux-3.0.4/drivers/media/video/usbvision/usbvision-core.c linux-3.0.
28082 frame = usbvision->cur_frame; 29647 frame = usbvision->cur_frame;
28083 image_size = frame->frmwidth * frame->frmheight; 29648 image_size = frame->frmwidth * frame->frmheight;
28084 if ((frame->v4l2_format.format == V4L2_PIX_FMT_YUV422P) || 29649 if ((frame->v4l2_format.format == V4L2_PIX_FMT_YUV422P) ||
28085diff -urNp linux-3.0.4/drivers/media/video/videobuf-dma-sg.c linux-3.0.4/drivers/media/video/videobuf-dma-sg.c 29650diff -urNp linux-3.0.7/drivers/media/video/videobuf-dma-sg.c linux-3.0.7/drivers/media/video/videobuf-dma-sg.c
28086--- linux-3.0.4/drivers/media/video/videobuf-dma-sg.c 2011-07-21 22:17:23.000000000 -0400 29651--- linux-3.0.7/drivers/media/video/videobuf-dma-sg.c 2011-07-21 22:17:23.000000000 -0400
28087+++ linux-3.0.4/drivers/media/video/videobuf-dma-sg.c 2011-08-23 21:48:14.000000000 -0400 29652+++ linux-3.0.7/drivers/media/video/videobuf-dma-sg.c 2011-08-23 21:48:14.000000000 -0400
28088@@ -606,6 +606,8 @@ void *videobuf_sg_alloc(size_t size) 29653@@ -606,6 +606,8 @@ void *videobuf_sg_alloc(size_t size)
28089 { 29654 {
28090 struct videobuf_queue q; 29655 struct videobuf_queue q;
@@ -28094,9 +29659,9 @@ diff -urNp linux-3.0.4/drivers/media/video/videobuf-dma-sg.c linux-3.0.4/drivers
28094 /* Required to make generic handler to call __videobuf_alloc */ 29659 /* Required to make generic handler to call __videobuf_alloc */
28095 q.int_ops = &sg_ops; 29660 q.int_ops = &sg_ops;
28096 29661
28097diff -urNp linux-3.0.4/drivers/message/fusion/mptbase.c linux-3.0.4/drivers/message/fusion/mptbase.c 29662diff -urNp linux-3.0.7/drivers/message/fusion/mptbase.c linux-3.0.7/drivers/message/fusion/mptbase.c
28098--- linux-3.0.4/drivers/message/fusion/mptbase.c 2011-07-21 22:17:23.000000000 -0400 29663--- linux-3.0.7/drivers/message/fusion/mptbase.c 2011-07-21 22:17:23.000000000 -0400
28099+++ linux-3.0.4/drivers/message/fusion/mptbase.c 2011-08-23 21:48:14.000000000 -0400 29664+++ linux-3.0.7/drivers/message/fusion/mptbase.c 2011-08-23 21:48:14.000000000 -0400
28100@@ -6681,8 +6681,13 @@ static int mpt_iocinfo_proc_show(struct 29665@@ -6681,8 +6681,13 @@ static int mpt_iocinfo_proc_show(struct
28101 seq_printf(m, " MaxChainDepth = 0x%02x frames\n", ioc->facts.MaxChainDepth); 29666 seq_printf(m, " MaxChainDepth = 0x%02x frames\n", ioc->facts.MaxChainDepth);
28102 seq_printf(m, " MinBlockSize = 0x%02x bytes\n", 4*ioc->facts.BlockSize); 29667 seq_printf(m, " MinBlockSize = 0x%02x bytes\n", 4*ioc->facts.BlockSize);
@@ -28111,9 +29676,9 @@ diff -urNp linux-3.0.4/drivers/message/fusion/mptbase.c linux-3.0.4/drivers/mess
28111 /* 29676 /*
28112 * Rounding UP to nearest 4-kB boundary here... 29677 * Rounding UP to nearest 4-kB boundary here...
28113 */ 29678 */
28114diff -urNp linux-3.0.4/drivers/message/fusion/mptsas.c linux-3.0.4/drivers/message/fusion/mptsas.c 29679diff -urNp linux-3.0.7/drivers/message/fusion/mptsas.c linux-3.0.7/drivers/message/fusion/mptsas.c
28115--- linux-3.0.4/drivers/message/fusion/mptsas.c 2011-07-21 22:17:23.000000000 -0400 29680--- linux-3.0.7/drivers/message/fusion/mptsas.c 2011-07-21 22:17:23.000000000 -0400
28116+++ linux-3.0.4/drivers/message/fusion/mptsas.c 2011-08-23 21:47:55.000000000 -0400 29681+++ linux-3.0.7/drivers/message/fusion/mptsas.c 2011-08-23 21:47:55.000000000 -0400
28117@@ -439,6 +439,23 @@ mptsas_is_end_device(struct mptsas_devin 29682@@ -439,6 +439,23 @@ mptsas_is_end_device(struct mptsas_devin
28118 return 0; 29683 return 0;
28119 } 29684 }
@@ -28162,9 +29727,9 @@ diff -urNp linux-3.0.4/drivers/message/fusion/mptsas.c linux-3.0.4/drivers/messa
28162 static inline struct sas_port * 29727 static inline struct sas_port *
28163 mptsas_get_port(struct mptsas_phyinfo *phy_info) 29728 mptsas_get_port(struct mptsas_phyinfo *phy_info)
28164 { 29729 {
28165diff -urNp linux-3.0.4/drivers/message/fusion/mptscsih.c linux-3.0.4/drivers/message/fusion/mptscsih.c 29730diff -urNp linux-3.0.7/drivers/message/fusion/mptscsih.c linux-3.0.7/drivers/message/fusion/mptscsih.c
28166--- linux-3.0.4/drivers/message/fusion/mptscsih.c 2011-07-21 22:17:23.000000000 -0400 29731--- linux-3.0.7/drivers/message/fusion/mptscsih.c 2011-07-21 22:17:23.000000000 -0400
28167+++ linux-3.0.4/drivers/message/fusion/mptscsih.c 2011-08-23 21:47:55.000000000 -0400 29732+++ linux-3.0.7/drivers/message/fusion/mptscsih.c 2011-08-23 21:47:55.000000000 -0400
28168@@ -1268,15 +1268,16 @@ mptscsih_info(struct Scsi_Host *SChost) 29733@@ -1268,15 +1268,16 @@ mptscsih_info(struct Scsi_Host *SChost)
28169 29734
28170 h = shost_priv(SChost); 29735 h = shost_priv(SChost);
@@ -28190,9 +29755,9 @@ diff -urNp linux-3.0.4/drivers/message/fusion/mptscsih.c linux-3.0.4/drivers/mes
28190 29755
28191 return h->info_kbuf; 29756 return h->info_kbuf;
28192 } 29757 }
28193diff -urNp linux-3.0.4/drivers/message/i2o/i2o_config.c linux-3.0.4/drivers/message/i2o/i2o_config.c 29758diff -urNp linux-3.0.7/drivers/message/i2o/i2o_config.c linux-3.0.7/drivers/message/i2o/i2o_config.c
28194--- linux-3.0.4/drivers/message/i2o/i2o_config.c 2011-07-21 22:17:23.000000000 -0400 29759--- linux-3.0.7/drivers/message/i2o/i2o_config.c 2011-07-21 22:17:23.000000000 -0400
28195+++ linux-3.0.4/drivers/message/i2o/i2o_config.c 2011-08-23 21:48:14.000000000 -0400 29760+++ linux-3.0.7/drivers/message/i2o/i2o_config.c 2011-08-23 21:48:14.000000000 -0400
28196@@ -781,6 +781,8 @@ static int i2o_cfg_passthru(unsigned lon 29761@@ -781,6 +781,8 @@ static int i2o_cfg_passthru(unsigned lon
28197 struct i2o_message *msg; 29762 struct i2o_message *msg;
28198 unsigned int iop; 29763 unsigned int iop;
@@ -28202,9 +29767,9 @@ diff -urNp linux-3.0.4/drivers/message/i2o/i2o_config.c linux-3.0.4/drivers/mess
28202 if (get_user(iop, &cmd->iop) || get_user(user_msg, &cmd->msg)) 29767 if (get_user(iop, &cmd->iop) || get_user(user_msg, &cmd->msg))
28203 return -EFAULT; 29768 return -EFAULT;
28204 29769
28205diff -urNp linux-3.0.4/drivers/message/i2o/i2o_proc.c linux-3.0.4/drivers/message/i2o/i2o_proc.c 29770diff -urNp linux-3.0.7/drivers/message/i2o/i2o_proc.c linux-3.0.7/drivers/message/i2o/i2o_proc.c
28206--- linux-3.0.4/drivers/message/i2o/i2o_proc.c 2011-07-21 22:17:23.000000000 -0400 29771--- linux-3.0.7/drivers/message/i2o/i2o_proc.c 2011-07-21 22:17:23.000000000 -0400
28207+++ linux-3.0.4/drivers/message/i2o/i2o_proc.c 2011-08-23 21:47:55.000000000 -0400 29772+++ linux-3.0.7/drivers/message/i2o/i2o_proc.c 2011-08-23 21:47:55.000000000 -0400
28208@@ -255,13 +255,6 @@ static char *scsi_devices[] = { 29773@@ -255,13 +255,6 @@ static char *scsi_devices[] = {
28209 "Array Controller Device" 29774 "Array Controller Device"
28210 }; 29775 };
@@ -28291,9 +29856,9 @@ diff -urNp linux-3.0.4/drivers/message/i2o/i2o_proc.c linux-3.0.4/drivers/messag
28291 29856
28292 return 0; 29857 return 0;
28293 } 29858 }
28294diff -urNp linux-3.0.4/drivers/message/i2o/iop.c linux-3.0.4/drivers/message/i2o/iop.c 29859diff -urNp linux-3.0.7/drivers/message/i2o/iop.c linux-3.0.7/drivers/message/i2o/iop.c
28295--- linux-3.0.4/drivers/message/i2o/iop.c 2011-07-21 22:17:23.000000000 -0400 29860--- linux-3.0.7/drivers/message/i2o/iop.c 2011-07-21 22:17:23.000000000 -0400
28296+++ linux-3.0.4/drivers/message/i2o/iop.c 2011-08-23 21:47:55.000000000 -0400 29861+++ linux-3.0.7/drivers/message/i2o/iop.c 2011-08-23 21:47:55.000000000 -0400
28297@@ -111,10 +111,10 @@ u32 i2o_cntxt_list_add(struct i2o_contro 29862@@ -111,10 +111,10 @@ u32 i2o_cntxt_list_add(struct i2o_contro
28298 29863
28299 spin_lock_irqsave(&c->context_list_lock, flags); 29864 spin_lock_irqsave(&c->context_list_lock, flags);
@@ -28317,9 +29882,21 @@ diff -urNp linux-3.0.4/drivers/message/i2o/iop.c linux-3.0.4/drivers/message/i2o
28317 INIT_LIST_HEAD(&c->context_list); 29882 INIT_LIST_HEAD(&c->context_list);
28318 #endif 29883 #endif
28319 29884
28320diff -urNp linux-3.0.4/drivers/mfd/abx500-core.c linux-3.0.4/drivers/mfd/abx500-core.c 29885diff -urNp linux-3.0.7/drivers/mfd/ab3100-core.c linux-3.0.7/drivers/mfd/ab3100-core.c
28321--- linux-3.0.4/drivers/mfd/abx500-core.c 2011-07-21 22:17:23.000000000 -0400 29886--- linux-3.0.7/drivers/mfd/ab3100-core.c 2011-07-21 22:17:23.000000000 -0400
28322+++ linux-3.0.4/drivers/mfd/abx500-core.c 2011-08-23 21:47:55.000000000 -0400 29887+++ linux-3.0.7/drivers/mfd/ab3100-core.c 2011-10-11 10:44:33.000000000 -0400
29888@@ -809,7 +809,7 @@ struct ab_family_id {
29889 char *name;
29890 };
29891
29892-static const struct ab_family_id ids[] __devinitdata = {
29893+static const struct ab_family_id ids[] __devinitconst = {
29894 /* AB3100 */
29895 {
29896 .id = 0xc0,
29897diff -urNp linux-3.0.7/drivers/mfd/abx500-core.c linux-3.0.7/drivers/mfd/abx500-core.c
29898--- linux-3.0.7/drivers/mfd/abx500-core.c 2011-07-21 22:17:23.000000000 -0400
29899+++ linux-3.0.7/drivers/mfd/abx500-core.c 2011-08-23 21:47:55.000000000 -0400
28323@@ -14,7 +14,7 @@ static LIST_HEAD(abx500_list); 29900@@ -14,7 +14,7 @@ static LIST_HEAD(abx500_list);
28324 29901
28325 struct abx500_device_entry { 29902 struct abx500_device_entry {
@@ -28329,9 +29906,9 @@ diff -urNp linux-3.0.4/drivers/mfd/abx500-core.c linux-3.0.4/drivers/mfd/abx500-
28329 struct device *dev; 29906 struct device *dev;
28330 }; 29907 };
28331 29908
28332diff -urNp linux-3.0.4/drivers/mfd/janz-cmodio.c linux-3.0.4/drivers/mfd/janz-cmodio.c 29909diff -urNp linux-3.0.7/drivers/mfd/janz-cmodio.c linux-3.0.7/drivers/mfd/janz-cmodio.c
28333--- linux-3.0.4/drivers/mfd/janz-cmodio.c 2011-07-21 22:17:23.000000000 -0400 29910--- linux-3.0.7/drivers/mfd/janz-cmodio.c 2011-07-21 22:17:23.000000000 -0400
28334+++ linux-3.0.4/drivers/mfd/janz-cmodio.c 2011-08-23 21:47:55.000000000 -0400 29911+++ linux-3.0.7/drivers/mfd/janz-cmodio.c 2011-08-23 21:47:55.000000000 -0400
28335@@ -13,6 +13,7 @@ 29912@@ -13,6 +13,7 @@
28336 29913
28337 #include <linux/kernel.h> 29914 #include <linux/kernel.h>
@@ -28340,9 +29917,9 @@ diff -urNp linux-3.0.4/drivers/mfd/janz-cmodio.c linux-3.0.4/drivers/mfd/janz-cm
28340 #include <linux/init.h> 29917 #include <linux/init.h>
28341 #include <linux/pci.h> 29918 #include <linux/pci.h>
28342 #include <linux/interrupt.h> 29919 #include <linux/interrupt.h>
28343diff -urNp linux-3.0.4/drivers/mfd/wm8350-i2c.c linux-3.0.4/drivers/mfd/wm8350-i2c.c 29920diff -urNp linux-3.0.7/drivers/mfd/wm8350-i2c.c linux-3.0.7/drivers/mfd/wm8350-i2c.c
28344--- linux-3.0.4/drivers/mfd/wm8350-i2c.c 2011-07-21 22:17:23.000000000 -0400 29921--- linux-3.0.7/drivers/mfd/wm8350-i2c.c 2011-07-21 22:17:23.000000000 -0400
28345+++ linux-3.0.4/drivers/mfd/wm8350-i2c.c 2011-08-23 21:48:14.000000000 -0400 29922+++ linux-3.0.7/drivers/mfd/wm8350-i2c.c 2011-08-23 21:48:14.000000000 -0400
28346@@ -44,6 +44,8 @@ static int wm8350_i2c_write_device(struc 29923@@ -44,6 +44,8 @@ static int wm8350_i2c_write_device(struc
28347 u8 msg[(WM8350_MAX_REGISTER << 1) + 1]; 29924 u8 msg[(WM8350_MAX_REGISTER << 1) + 1];
28348 int ret; 29925 int ret;
@@ -28352,10 +29929,10 @@ diff -urNp linux-3.0.4/drivers/mfd/wm8350-i2c.c linux-3.0.4/drivers/mfd/wm8350-i
28352 if (bytes > ((WM8350_MAX_REGISTER << 1) + 1)) 29929 if (bytes > ((WM8350_MAX_REGISTER << 1) + 1))
28353 return -EINVAL; 29930 return -EINVAL;
28354 29931
28355diff -urNp linux-3.0.4/drivers/misc/lis3lv02d/lis3lv02d.c linux-3.0.4/drivers/misc/lis3lv02d/lis3lv02d.c 29932diff -urNp linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.c linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.c
28356--- linux-3.0.4/drivers/misc/lis3lv02d/lis3lv02d.c 2011-07-21 22:17:23.000000000 -0400 29933--- linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.c 2011-10-17 23:17:09.000000000 -0400
28357+++ linux-3.0.4/drivers/misc/lis3lv02d/lis3lv02d.c 2011-08-23 21:47:55.000000000 -0400 29934+++ linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.c 2011-10-17 23:17:19.000000000 -0400
28358@@ -435,7 +435,7 @@ static irqreturn_t lis302dl_interrupt(in 29935@@ -437,7 +437,7 @@ static irqreturn_t lis302dl_interrupt(in
28359 * the lid is closed. This leads to interrupts as soon as a little move 29936 * the lid is closed. This leads to interrupts as soon as a little move
28360 * is done. 29937 * is done.
28361 */ 29938 */
@@ -28364,7 +29941,7 @@ diff -urNp linux-3.0.4/drivers/misc/lis3lv02d/lis3lv02d.c linux-3.0.4/drivers/mi
28364 29941
28365 wake_up_interruptible(&lis3_dev.misc_wait); 29942 wake_up_interruptible(&lis3_dev.misc_wait);
28366 kill_fasync(&lis3_dev.async_queue, SIGIO, POLL_IN); 29943 kill_fasync(&lis3_dev.async_queue, SIGIO, POLL_IN);
28367@@ -518,7 +518,7 @@ static int lis3lv02d_misc_open(struct in 29944@@ -520,7 +520,7 @@ static int lis3lv02d_misc_open(struct in
28368 if (lis3_dev.pm_dev) 29945 if (lis3_dev.pm_dev)
28369 pm_runtime_get_sync(lis3_dev.pm_dev); 29946 pm_runtime_get_sync(lis3_dev.pm_dev);
28370 29947
@@ -28373,7 +29950,7 @@ diff -urNp linux-3.0.4/drivers/misc/lis3lv02d/lis3lv02d.c linux-3.0.4/drivers/mi
28373 return 0; 29950 return 0;
28374 } 29951 }
28375 29952
28376@@ -545,7 +545,7 @@ static ssize_t lis3lv02d_misc_read(struc 29953@@ -547,7 +547,7 @@ static ssize_t lis3lv02d_misc_read(struc
28377 add_wait_queue(&lis3_dev.misc_wait, &wait); 29954 add_wait_queue(&lis3_dev.misc_wait, &wait);
28378 while (true) { 29955 while (true) {
28379 set_current_state(TASK_INTERRUPTIBLE); 29956 set_current_state(TASK_INTERRUPTIBLE);
@@ -28382,7 +29959,7 @@ diff -urNp linux-3.0.4/drivers/misc/lis3lv02d/lis3lv02d.c linux-3.0.4/drivers/mi
28382 if (data) 29959 if (data)
28383 break; 29960 break;
28384 29961
28385@@ -583,7 +583,7 @@ out: 29962@@ -585,7 +585,7 @@ out:
28386 static unsigned int lis3lv02d_misc_poll(struct file *file, poll_table *wait) 29963 static unsigned int lis3lv02d_misc_poll(struct file *file, poll_table *wait)
28387 { 29964 {
28388 poll_wait(file, &lis3_dev.misc_wait, wait); 29965 poll_wait(file, &lis3_dev.misc_wait, wait);
@@ -28391,9 +29968,9 @@ diff -urNp linux-3.0.4/drivers/misc/lis3lv02d/lis3lv02d.c linux-3.0.4/drivers/mi
28391 return POLLIN | POLLRDNORM; 29968 return POLLIN | POLLRDNORM;
28392 return 0; 29969 return 0;
28393 } 29970 }
28394diff -urNp linux-3.0.4/drivers/misc/lis3lv02d/lis3lv02d.h linux-3.0.4/drivers/misc/lis3lv02d/lis3lv02d.h 29971diff -urNp linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.h linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.h
28395--- linux-3.0.4/drivers/misc/lis3lv02d/lis3lv02d.h 2011-07-21 22:17:23.000000000 -0400 29972--- linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.h 2011-07-21 22:17:23.000000000 -0400
28396+++ linux-3.0.4/drivers/misc/lis3lv02d/lis3lv02d.h 2011-08-23 21:47:55.000000000 -0400 29973+++ linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.h 2011-08-23 21:47:55.000000000 -0400
28397@@ -265,7 +265,7 @@ struct lis3lv02d { 29974@@ -265,7 +265,7 @@ struct lis3lv02d {
28398 struct input_polled_dev *idev; /* input device */ 29975 struct input_polled_dev *idev; /* input device */
28399 struct platform_device *pdev; /* platform device */ 29976 struct platform_device *pdev; /* platform device */
@@ -28403,9 +29980,9 @@ diff -urNp linux-3.0.4/drivers/misc/lis3lv02d/lis3lv02d.h linux-3.0.4/drivers/mi
28403 union axis_conversion ac; /* hw -> logical axis */ 29980 union axis_conversion ac; /* hw -> logical axis */
28404 int mapped_btns[3]; 29981 int mapped_btns[3];
28405 29982
28406diff -urNp linux-3.0.4/drivers/misc/sgi-gru/gruhandles.c linux-3.0.4/drivers/misc/sgi-gru/gruhandles.c 29983diff -urNp linux-3.0.7/drivers/misc/sgi-gru/gruhandles.c linux-3.0.7/drivers/misc/sgi-gru/gruhandles.c
28407--- linux-3.0.4/drivers/misc/sgi-gru/gruhandles.c 2011-07-21 22:17:23.000000000 -0400 29984--- linux-3.0.7/drivers/misc/sgi-gru/gruhandles.c 2011-07-21 22:17:23.000000000 -0400
28408+++ linux-3.0.4/drivers/misc/sgi-gru/gruhandles.c 2011-08-23 21:47:55.000000000 -0400 29985+++ linux-3.0.7/drivers/misc/sgi-gru/gruhandles.c 2011-08-23 21:47:55.000000000 -0400
28409@@ -44,8 +44,8 @@ static void update_mcs_stats(enum mcs_op 29986@@ -44,8 +44,8 @@ static void update_mcs_stats(enum mcs_op
28410 unsigned long nsec; 29987 unsigned long nsec;
28411 29988
@@ -28417,9 +29994,9 @@ diff -urNp linux-3.0.4/drivers/misc/sgi-gru/gruhandles.c linux-3.0.4/drivers/mis
28417 if (mcs_op_statistics[op].max < nsec) 29994 if (mcs_op_statistics[op].max < nsec)
28418 mcs_op_statistics[op].max = nsec; 29995 mcs_op_statistics[op].max = nsec;
28419 } 29996 }
28420diff -urNp linux-3.0.4/drivers/misc/sgi-gru/gruprocfs.c linux-3.0.4/drivers/misc/sgi-gru/gruprocfs.c 29997diff -urNp linux-3.0.7/drivers/misc/sgi-gru/gruprocfs.c linux-3.0.7/drivers/misc/sgi-gru/gruprocfs.c
28421--- linux-3.0.4/drivers/misc/sgi-gru/gruprocfs.c 2011-07-21 22:17:23.000000000 -0400 29998--- linux-3.0.7/drivers/misc/sgi-gru/gruprocfs.c 2011-07-21 22:17:23.000000000 -0400
28422+++ linux-3.0.4/drivers/misc/sgi-gru/gruprocfs.c 2011-08-23 21:47:55.000000000 -0400 29999+++ linux-3.0.7/drivers/misc/sgi-gru/gruprocfs.c 2011-08-23 21:47:55.000000000 -0400
28423@@ -32,9 +32,9 @@ 30000@@ -32,9 +32,9 @@
28424 30001
28425 #define printstat(s, f) printstat_val(s, &gru_stats.f, #f) 30002 #define printstat(s, f) printstat_val(s, &gru_stats.f, #f)
@@ -28443,9 +30020,9 @@ diff -urNp linux-3.0.4/drivers/misc/sgi-gru/gruprocfs.c linux-3.0.4/drivers/misc
28443 max = mcs_op_statistics[op].max; 30020 max = mcs_op_statistics[op].max;
28444 seq_printf(s, "%-20s%12ld%12ld%12ld\n", id[op], count, 30021 seq_printf(s, "%-20s%12ld%12ld%12ld\n", id[op], count,
28445 count ? total / count : 0, max); 30022 count ? total / count : 0, max);
28446diff -urNp linux-3.0.4/drivers/misc/sgi-gru/grutables.h linux-3.0.4/drivers/misc/sgi-gru/grutables.h 30023diff -urNp linux-3.0.7/drivers/misc/sgi-gru/grutables.h linux-3.0.7/drivers/misc/sgi-gru/grutables.h
28447--- linux-3.0.4/drivers/misc/sgi-gru/grutables.h 2011-07-21 22:17:23.000000000 -0400 30024--- linux-3.0.7/drivers/misc/sgi-gru/grutables.h 2011-07-21 22:17:23.000000000 -0400
28448+++ linux-3.0.4/drivers/misc/sgi-gru/grutables.h 2011-08-23 21:47:55.000000000 -0400 30025+++ linux-3.0.7/drivers/misc/sgi-gru/grutables.h 2011-08-23 21:47:55.000000000 -0400
28449@@ -167,82 +167,82 @@ extern unsigned int gru_max_gids; 30026@@ -167,82 +167,82 @@ extern unsigned int gru_max_gids;
28450 * GRU statistics. 30027 * GRU statistics.
28451 */ 30028 */
@@ -28625,9 +30202,41 @@ diff -urNp linux-3.0.4/drivers/misc/sgi-gru/grutables.h linux-3.0.4/drivers/misc
28625 } while (0) 30202 } while (0)
28626 30203
28627 #ifdef CONFIG_SGI_GRU_DEBUG 30204 #ifdef CONFIG_SGI_GRU_DEBUG
28628diff -urNp linux-3.0.4/drivers/misc/sgi-xp/xp.h linux-3.0.4/drivers/misc/sgi-xp/xp.h 30205diff -urNp linux-3.0.7/drivers/misc/sgi-xp/xpc.h linux-3.0.7/drivers/misc/sgi-xp/xpc.h
28629--- linux-3.0.4/drivers/misc/sgi-xp/xp.h 2011-07-21 22:17:23.000000000 -0400 30206--- linux-3.0.7/drivers/misc/sgi-xp/xpc.h 2011-07-21 22:17:23.000000000 -0400
28630+++ linux-3.0.4/drivers/misc/sgi-xp/xp.h 2011-08-23 21:47:55.000000000 -0400 30207+++ linux-3.0.7/drivers/misc/sgi-xp/xpc.h 2011-10-11 10:44:33.000000000 -0400
30208@@ -835,6 +835,7 @@ struct xpc_arch_operations {
30209 void (*received_payload) (struct xpc_channel *, void *);
30210 void (*notify_senders_of_disconnect) (struct xpc_channel *);
30211 };
30212+typedef struct xpc_arch_operations __no_const xpc_arch_operations_no_const;
30213
30214 /* struct xpc_partition act_state values (for XPC HB) */
30215
30216@@ -876,7 +877,7 @@ extern struct xpc_registration xpc_regis
30217 /* found in xpc_main.c */
30218 extern struct device *xpc_part;
30219 extern struct device *xpc_chan;
30220-extern struct xpc_arch_operations xpc_arch_ops;
30221+extern xpc_arch_operations_no_const xpc_arch_ops;
30222 extern int xpc_disengage_timelimit;
30223 extern int xpc_disengage_timedout;
30224 extern int xpc_activate_IRQ_rcvd;
30225diff -urNp linux-3.0.7/drivers/misc/sgi-xp/xpc_main.c linux-3.0.7/drivers/misc/sgi-xp/xpc_main.c
30226--- linux-3.0.7/drivers/misc/sgi-xp/xpc_main.c 2011-07-21 22:17:23.000000000 -0400
30227+++ linux-3.0.7/drivers/misc/sgi-xp/xpc_main.c 2011-10-11 10:44:33.000000000 -0400
30228@@ -162,7 +162,7 @@ static struct notifier_block xpc_die_not
30229 .notifier_call = xpc_system_die,
30230 };
30231
30232-struct xpc_arch_operations xpc_arch_ops;
30233+xpc_arch_operations_no_const xpc_arch_ops;
30234
30235 /*
30236 * Timer function to enforce the timelimit on the partition disengage.
30237diff -urNp linux-3.0.7/drivers/misc/sgi-xp/xp.h linux-3.0.7/drivers/misc/sgi-xp/xp.h
30238--- linux-3.0.7/drivers/misc/sgi-xp/xp.h 2011-07-21 22:17:23.000000000 -0400
30239+++ linux-3.0.7/drivers/misc/sgi-xp/xp.h 2011-08-23 21:47:55.000000000 -0400
28631@@ -289,7 +289,7 @@ struct xpc_interface { 30240@@ -289,7 +289,7 @@ struct xpc_interface {
28632 xpc_notify_func, void *); 30241 xpc_notify_func, void *);
28633 void (*received) (short, int, void *); 30242 void (*received) (short, int, void *);
@@ -28637,9 +30246,21 @@ diff -urNp linux-3.0.4/drivers/misc/sgi-xp/xp.h linux-3.0.4/drivers/misc/sgi-xp/
28637 30246
28638 extern struct xpc_interface xpc_interface; 30247 extern struct xpc_interface xpc_interface;
28639 30248
28640diff -urNp linux-3.0.4/drivers/mtd/chips/cfi_cmdset_0001.c linux-3.0.4/drivers/mtd/chips/cfi_cmdset_0001.c 30249diff -urNp linux-3.0.7/drivers/mmc/host/sdhci-pci.c linux-3.0.7/drivers/mmc/host/sdhci-pci.c
28641--- linux-3.0.4/drivers/mtd/chips/cfi_cmdset_0001.c 2011-07-21 22:17:23.000000000 -0400 30250--- linux-3.0.7/drivers/mmc/host/sdhci-pci.c 2011-07-21 22:17:23.000000000 -0400
28642+++ linux-3.0.4/drivers/mtd/chips/cfi_cmdset_0001.c 2011-08-23 21:48:14.000000000 -0400 30251+++ linux-3.0.7/drivers/mmc/host/sdhci-pci.c 2011-10-11 10:44:33.000000000 -0400
30252@@ -524,7 +524,7 @@ static const struct sdhci_pci_fixes sdhc
30253 .probe = via_probe,
30254 };
30255
30256-static const struct pci_device_id pci_ids[] __devinitdata = {
30257+static const struct pci_device_id pci_ids[] __devinitconst = {
30258 {
30259 .vendor = PCI_VENDOR_ID_RICOH,
30260 .device = PCI_DEVICE_ID_RICOH_R5C822,
30261diff -urNp linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0001.c linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0001.c
30262--- linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0001.c 2011-07-21 22:17:23.000000000 -0400
30263+++ linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0001.c 2011-08-23 21:48:14.000000000 -0400
28643@@ -757,6 +757,8 @@ static int chip_ready (struct map_info * 30264@@ -757,6 +757,8 @@ static int chip_ready (struct map_info *
28644 struct cfi_pri_intelext *cfip = cfi->cmdset_priv; 30265 struct cfi_pri_intelext *cfip = cfi->cmdset_priv;
28645 unsigned long timeo = jiffies + HZ; 30266 unsigned long timeo = jiffies + HZ;
@@ -28667,9 +30288,9 @@ diff -urNp linux-3.0.4/drivers/mtd/chips/cfi_cmdset_0001.c linux-3.0.4/drivers/m
28667 adr += chip->start; 30288 adr += chip->start;
28668 30289
28669 retry: 30290 retry:
28670diff -urNp linux-3.0.4/drivers/mtd/chips/cfi_cmdset_0020.c linux-3.0.4/drivers/mtd/chips/cfi_cmdset_0020.c 30291diff -urNp linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0020.c linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0020.c
28671--- linux-3.0.4/drivers/mtd/chips/cfi_cmdset_0020.c 2011-07-21 22:17:23.000000000 -0400 30292--- linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0020.c 2011-07-21 22:17:23.000000000 -0400
28672+++ linux-3.0.4/drivers/mtd/chips/cfi_cmdset_0020.c 2011-08-23 21:48:14.000000000 -0400 30293+++ linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0020.c 2011-08-23 21:48:14.000000000 -0400
28673@@ -255,6 +255,8 @@ static inline int do_read_onechip(struct 30294@@ -255,6 +255,8 @@ static inline int do_read_onechip(struct
28674 unsigned long cmd_addr; 30295 unsigned long cmd_addr;
28675 struct cfi_private *cfi = map->fldrv_priv; 30296 struct cfi_private *cfi = map->fldrv_priv;
@@ -28715,9 +30336,9 @@ diff -urNp linux-3.0.4/drivers/mtd/chips/cfi_cmdset_0020.c linux-3.0.4/drivers/m
28715 adr += chip->start; 30336 adr += chip->start;
28716 30337
28717 /* Let's determine this according to the interleave only once */ 30338 /* Let's determine this according to the interleave only once */
28718diff -urNp linux-3.0.4/drivers/mtd/devices/doc2000.c linux-3.0.4/drivers/mtd/devices/doc2000.c 30339diff -urNp linux-3.0.7/drivers/mtd/devices/doc2000.c linux-3.0.7/drivers/mtd/devices/doc2000.c
28719--- linux-3.0.4/drivers/mtd/devices/doc2000.c 2011-07-21 22:17:23.000000000 -0400 30340--- linux-3.0.7/drivers/mtd/devices/doc2000.c 2011-07-21 22:17:23.000000000 -0400
28720+++ linux-3.0.4/drivers/mtd/devices/doc2000.c 2011-08-23 21:47:55.000000000 -0400 30341+++ linux-3.0.7/drivers/mtd/devices/doc2000.c 2011-08-23 21:47:55.000000000 -0400
28721@@ -776,7 +776,7 @@ static int doc_write(struct mtd_info *mt 30342@@ -776,7 +776,7 @@ static int doc_write(struct mtd_info *mt
28722 30343
28723 /* The ECC will not be calculated correctly if less than 512 is written */ 30344 /* The ECC will not be calculated correctly if less than 512 is written */
@@ -28727,9 +30348,9 @@ diff -urNp linux-3.0.4/drivers/mtd/devices/doc2000.c linux-3.0.4/drivers/mtd/dev
28727 printk(KERN_WARNING 30348 printk(KERN_WARNING
28728 "ECC needs a full sector write (adr: %lx size %lx)\n", 30349 "ECC needs a full sector write (adr: %lx size %lx)\n",
28729 (long) to, (long) len); 30350 (long) to, (long) len);
28730diff -urNp linux-3.0.4/drivers/mtd/devices/doc2001.c linux-3.0.4/drivers/mtd/devices/doc2001.c 30351diff -urNp linux-3.0.7/drivers/mtd/devices/doc2001.c linux-3.0.7/drivers/mtd/devices/doc2001.c
28731--- linux-3.0.4/drivers/mtd/devices/doc2001.c 2011-07-21 22:17:23.000000000 -0400 30352--- linux-3.0.7/drivers/mtd/devices/doc2001.c 2011-07-21 22:17:23.000000000 -0400
28732+++ linux-3.0.4/drivers/mtd/devices/doc2001.c 2011-08-23 21:47:55.000000000 -0400 30353+++ linux-3.0.7/drivers/mtd/devices/doc2001.c 2011-08-23 21:47:55.000000000 -0400
28733@@ -393,7 +393,7 @@ static int doc_read (struct mtd_info *mt 30354@@ -393,7 +393,7 @@ static int doc_read (struct mtd_info *mt
28734 struct Nand *mychip = &this->chips[from >> (this->chipshift)]; 30355 struct Nand *mychip = &this->chips[from >> (this->chipshift)];
28735 30356
@@ -28739,9 +30360,9 @@ diff -urNp linux-3.0.4/drivers/mtd/devices/doc2001.c linux-3.0.4/drivers/mtd/dev
28739 return -EINVAL; 30360 return -EINVAL;
28740 30361
28741 /* Don't allow a single read to cross a 512-byte block boundary */ 30362 /* Don't allow a single read to cross a 512-byte block boundary */
28742diff -urNp linux-3.0.4/drivers/mtd/ftl.c linux-3.0.4/drivers/mtd/ftl.c 30363diff -urNp linux-3.0.7/drivers/mtd/ftl.c linux-3.0.7/drivers/mtd/ftl.c
28743--- linux-3.0.4/drivers/mtd/ftl.c 2011-07-21 22:17:23.000000000 -0400 30364--- linux-3.0.7/drivers/mtd/ftl.c 2011-07-21 22:17:23.000000000 -0400
28744+++ linux-3.0.4/drivers/mtd/ftl.c 2011-08-23 21:48:14.000000000 -0400 30365+++ linux-3.0.7/drivers/mtd/ftl.c 2011-08-23 21:48:14.000000000 -0400
28745@@ -474,6 +474,8 @@ static int copy_erase_unit(partition_t * 30366@@ -474,6 +474,8 @@ static int copy_erase_unit(partition_t *
28746 loff_t offset; 30367 loff_t offset;
28747 uint16_t srcunitswap = cpu_to_le16(srcunit); 30368 uint16_t srcunitswap = cpu_to_le16(srcunit);
@@ -28751,9 +30372,9 @@ diff -urNp linux-3.0.4/drivers/mtd/ftl.c linux-3.0.4/drivers/mtd/ftl.c
28751 eun = &part->EUNInfo[srcunit]; 30372 eun = &part->EUNInfo[srcunit];
28752 xfer = &part->XferInfo[xferunit]; 30373 xfer = &part->XferInfo[xferunit];
28753 DEBUG(2, "ftl_cs: copying block 0x%x to 0x%x\n", 30374 DEBUG(2, "ftl_cs: copying block 0x%x to 0x%x\n",
28754diff -urNp linux-3.0.4/drivers/mtd/inftlcore.c linux-3.0.4/drivers/mtd/inftlcore.c 30375diff -urNp linux-3.0.7/drivers/mtd/inftlcore.c linux-3.0.7/drivers/mtd/inftlcore.c
28755--- linux-3.0.4/drivers/mtd/inftlcore.c 2011-07-21 22:17:23.000000000 -0400 30376--- linux-3.0.7/drivers/mtd/inftlcore.c 2011-07-21 22:17:23.000000000 -0400
28756+++ linux-3.0.4/drivers/mtd/inftlcore.c 2011-08-23 21:48:14.000000000 -0400 30377+++ linux-3.0.7/drivers/mtd/inftlcore.c 2011-08-23 21:48:14.000000000 -0400
28757@@ -259,6 +259,8 @@ static u16 INFTL_foldchain(struct INFTLr 30378@@ -259,6 +259,8 @@ static u16 INFTL_foldchain(struct INFTLr
28758 struct inftl_oob oob; 30379 struct inftl_oob oob;
28759 size_t retlen; 30380 size_t retlen;
@@ -28763,9 +30384,9 @@ diff -urNp linux-3.0.4/drivers/mtd/inftlcore.c linux-3.0.4/drivers/mtd/inftlcore
28763 DEBUG(MTD_DEBUG_LEVEL3, "INFTL: INFTL_foldchain(inftl=%p,thisVUC=%d," 30384 DEBUG(MTD_DEBUG_LEVEL3, "INFTL: INFTL_foldchain(inftl=%p,thisVUC=%d,"
28764 "pending=%d)\n", inftl, thisVUC, pendingblock); 30385 "pending=%d)\n", inftl, thisVUC, pendingblock);
28765 30386
28766diff -urNp linux-3.0.4/drivers/mtd/inftlmount.c linux-3.0.4/drivers/mtd/inftlmount.c 30387diff -urNp linux-3.0.7/drivers/mtd/inftlmount.c linux-3.0.7/drivers/mtd/inftlmount.c
28767--- linux-3.0.4/drivers/mtd/inftlmount.c 2011-07-21 22:17:23.000000000 -0400 30388--- linux-3.0.7/drivers/mtd/inftlmount.c 2011-07-21 22:17:23.000000000 -0400
28768+++ linux-3.0.4/drivers/mtd/inftlmount.c 2011-08-23 21:48:14.000000000 -0400 30389+++ linux-3.0.7/drivers/mtd/inftlmount.c 2011-08-23 21:48:14.000000000 -0400
28769@@ -53,6 +53,8 @@ static int find_boot_record(struct INFTL 30390@@ -53,6 +53,8 @@ static int find_boot_record(struct INFTL
28770 struct INFTLPartition *ip; 30391 struct INFTLPartition *ip;
28771 size_t retlen; 30392 size_t retlen;
@@ -28775,9 +30396,9 @@ diff -urNp linux-3.0.4/drivers/mtd/inftlmount.c linux-3.0.4/drivers/mtd/inftlmou
28775 DEBUG(MTD_DEBUG_LEVEL3, "INFTL: find_boot_record(inftl=%p)\n", inftl); 30396 DEBUG(MTD_DEBUG_LEVEL3, "INFTL: find_boot_record(inftl=%p)\n", inftl);
28776 30397
28777 /* 30398 /*
28778diff -urNp linux-3.0.4/drivers/mtd/lpddr/qinfo_probe.c linux-3.0.4/drivers/mtd/lpddr/qinfo_probe.c 30399diff -urNp linux-3.0.7/drivers/mtd/lpddr/qinfo_probe.c linux-3.0.7/drivers/mtd/lpddr/qinfo_probe.c
28779--- linux-3.0.4/drivers/mtd/lpddr/qinfo_probe.c 2011-07-21 22:17:23.000000000 -0400 30400--- linux-3.0.7/drivers/mtd/lpddr/qinfo_probe.c 2011-07-21 22:17:23.000000000 -0400
28780+++ linux-3.0.4/drivers/mtd/lpddr/qinfo_probe.c 2011-08-23 21:48:14.000000000 -0400 30401+++ linux-3.0.7/drivers/mtd/lpddr/qinfo_probe.c 2011-08-23 21:48:14.000000000 -0400
28781@@ -106,6 +106,8 @@ static int lpddr_pfow_present(struct map 30402@@ -106,6 +106,8 @@ static int lpddr_pfow_present(struct map
28782 { 30403 {
28783 map_word pfow_val[4]; 30404 map_word pfow_val[4];
@@ -28787,9 +30408,9 @@ diff -urNp linux-3.0.4/drivers/mtd/lpddr/qinfo_probe.c linux-3.0.4/drivers/mtd/l
28787 /* Check identification string */ 30408 /* Check identification string */
28788 pfow_val[0] = map_read(map, map->pfow_base + PFOW_QUERY_STRING_P); 30409 pfow_val[0] = map_read(map, map->pfow_base + PFOW_QUERY_STRING_P);
28789 pfow_val[1] = map_read(map, map->pfow_base + PFOW_QUERY_STRING_F); 30410 pfow_val[1] = map_read(map, map->pfow_base + PFOW_QUERY_STRING_F);
28790diff -urNp linux-3.0.4/drivers/mtd/mtdchar.c linux-3.0.4/drivers/mtd/mtdchar.c 30411diff -urNp linux-3.0.7/drivers/mtd/mtdchar.c linux-3.0.7/drivers/mtd/mtdchar.c
28791--- linux-3.0.4/drivers/mtd/mtdchar.c 2011-07-21 22:17:23.000000000 -0400 30412--- linux-3.0.7/drivers/mtd/mtdchar.c 2011-07-21 22:17:23.000000000 -0400
28792+++ linux-3.0.4/drivers/mtd/mtdchar.c 2011-08-23 21:48:14.000000000 -0400 30413+++ linux-3.0.7/drivers/mtd/mtdchar.c 2011-08-23 21:48:14.000000000 -0400
28793@@ -553,6 +553,8 @@ static int mtd_ioctl(struct file *file, 30414@@ -553,6 +553,8 @@ static int mtd_ioctl(struct file *file,
28794 u_long size; 30415 u_long size;
28795 struct mtd_info_user info; 30416 struct mtd_info_user info;
@@ -28799,9 +30420,9 @@ diff -urNp linux-3.0.4/drivers/mtd/mtdchar.c linux-3.0.4/drivers/mtd/mtdchar.c
28799 DEBUG(MTD_DEBUG_LEVEL0, "MTD_ioctl\n"); 30420 DEBUG(MTD_DEBUG_LEVEL0, "MTD_ioctl\n");
28800 30421
28801 size = (cmd & IOCSIZE_MASK) >> IOCSIZE_SHIFT; 30422 size = (cmd & IOCSIZE_MASK) >> IOCSIZE_SHIFT;
28802diff -urNp linux-3.0.4/drivers/mtd/nand/denali.c linux-3.0.4/drivers/mtd/nand/denali.c 30423diff -urNp linux-3.0.7/drivers/mtd/nand/denali.c linux-3.0.7/drivers/mtd/nand/denali.c
28803--- linux-3.0.4/drivers/mtd/nand/denali.c 2011-07-21 22:17:23.000000000 -0400 30424--- linux-3.0.7/drivers/mtd/nand/denali.c 2011-07-21 22:17:23.000000000 -0400
28804+++ linux-3.0.4/drivers/mtd/nand/denali.c 2011-08-23 21:47:55.000000000 -0400 30425+++ linux-3.0.7/drivers/mtd/nand/denali.c 2011-08-23 21:47:55.000000000 -0400
28805@@ -26,6 +26,7 @@ 30426@@ -26,6 +26,7 @@
28806 #include <linux/pci.h> 30427 #include <linux/pci.h>
28807 #include <linux/mtd/mtd.h> 30428 #include <linux/mtd/mtd.h>
@@ -28810,9 +30431,9 @@ diff -urNp linux-3.0.4/drivers/mtd/nand/denali.c linux-3.0.4/drivers/mtd/nand/de
28810 30431
28811 #include "denali.h" 30432 #include "denali.h"
28812 30433
28813diff -urNp linux-3.0.4/drivers/mtd/nftlcore.c linux-3.0.4/drivers/mtd/nftlcore.c 30434diff -urNp linux-3.0.7/drivers/mtd/nftlcore.c linux-3.0.7/drivers/mtd/nftlcore.c
28814--- linux-3.0.4/drivers/mtd/nftlcore.c 2011-07-21 22:17:23.000000000 -0400 30435--- linux-3.0.7/drivers/mtd/nftlcore.c 2011-07-21 22:17:23.000000000 -0400
28815+++ linux-3.0.4/drivers/mtd/nftlcore.c 2011-08-23 21:48:14.000000000 -0400 30436+++ linux-3.0.7/drivers/mtd/nftlcore.c 2011-08-23 21:48:14.000000000 -0400
28816@@ -264,6 +264,8 @@ static u16 NFTL_foldchain (struct NFTLre 30437@@ -264,6 +264,8 @@ static u16 NFTL_foldchain (struct NFTLre
28817 int inplace = 1; 30438 int inplace = 1;
28818 size_t retlen; 30439 size_t retlen;
@@ -28822,9 +30443,9 @@ diff -urNp linux-3.0.4/drivers/mtd/nftlcore.c linux-3.0.4/drivers/mtd/nftlcore.c
28822 memset(BlockMap, 0xff, sizeof(BlockMap)); 30443 memset(BlockMap, 0xff, sizeof(BlockMap));
28823 memset(BlockFreeFound, 0, sizeof(BlockFreeFound)); 30444 memset(BlockFreeFound, 0, sizeof(BlockFreeFound));
28824 30445
28825diff -urNp linux-3.0.4/drivers/mtd/nftlmount.c linux-3.0.4/drivers/mtd/nftlmount.c 30446diff -urNp linux-3.0.7/drivers/mtd/nftlmount.c linux-3.0.7/drivers/mtd/nftlmount.c
28826--- linux-3.0.4/drivers/mtd/nftlmount.c 2011-07-21 22:17:23.000000000 -0400 30447--- linux-3.0.7/drivers/mtd/nftlmount.c 2011-07-21 22:17:23.000000000 -0400
28827+++ linux-3.0.4/drivers/mtd/nftlmount.c 2011-08-23 21:48:14.000000000 -0400 30448+++ linux-3.0.7/drivers/mtd/nftlmount.c 2011-08-23 21:48:14.000000000 -0400
28828@@ -24,6 +24,7 @@ 30449@@ -24,6 +24,7 @@
28829 #include <asm/errno.h> 30450 #include <asm/errno.h>
28830 #include <linux/delay.h> 30451 #include <linux/delay.h>
@@ -28842,9 +30463,9 @@ diff -urNp linux-3.0.4/drivers/mtd/nftlmount.c linux-3.0.4/drivers/mtd/nftlmount
28842 /* Assume logical EraseSize == physical erasesize for starting the scan. 30463 /* Assume logical EraseSize == physical erasesize for starting the scan.
28843 We'll sort it out later if we find a MediaHeader which says otherwise */ 30464 We'll sort it out later if we find a MediaHeader which says otherwise */
28844 /* Actually, we won't. The new DiskOnChip driver has already scanned 30465 /* Actually, we won't. The new DiskOnChip driver has already scanned
28845diff -urNp linux-3.0.4/drivers/mtd/ubi/build.c linux-3.0.4/drivers/mtd/ubi/build.c 30466diff -urNp linux-3.0.7/drivers/mtd/ubi/build.c linux-3.0.7/drivers/mtd/ubi/build.c
28846--- linux-3.0.4/drivers/mtd/ubi/build.c 2011-07-21 22:17:23.000000000 -0400 30467--- linux-3.0.7/drivers/mtd/ubi/build.c 2011-07-21 22:17:23.000000000 -0400
28847+++ linux-3.0.4/drivers/mtd/ubi/build.c 2011-08-23 21:47:55.000000000 -0400 30468+++ linux-3.0.7/drivers/mtd/ubi/build.c 2011-08-23 21:47:55.000000000 -0400
28848@@ -1287,7 +1287,7 @@ module_exit(ubi_exit); 30469@@ -1287,7 +1287,7 @@ module_exit(ubi_exit);
28849 static int __init bytes_str_to_int(const char *str) 30470 static int __init bytes_str_to_int(const char *str)
28850 { 30471 {
@@ -28884,9 +30505,21 @@ diff -urNp linux-3.0.4/drivers/mtd/ubi/build.c linux-3.0.4/drivers/mtd/ubi/build
28884 } 30505 }
28885 30506
28886 /** 30507 /**
28887diff -urNp linux-3.0.4/drivers/net/bna/bfa_ioc_ct.c linux-3.0.4/drivers/net/bna/bfa_ioc_ct.c 30508diff -urNp linux-3.0.7/drivers/net/atlx/atl2.c linux-3.0.7/drivers/net/atlx/atl2.c
28888--- linux-3.0.4/drivers/net/bna/bfa_ioc_ct.c 2011-07-21 22:17:23.000000000 -0400 30509--- linux-3.0.7/drivers/net/atlx/atl2.c 2011-07-21 22:17:23.000000000 -0400
28889+++ linux-3.0.4/drivers/net/bna/bfa_ioc_ct.c 2011-08-23 21:47:55.000000000 -0400 30510+++ linux-3.0.7/drivers/net/atlx/atl2.c 2011-10-11 10:44:33.000000000 -0400
30511@@ -2840,7 +2840,7 @@ static void atl2_force_ps(struct atl2_hw
30512 */
30513
30514 #define ATL2_PARAM(X, desc) \
30515- static const int __devinitdata X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \
30516+ static const int __devinitconst X[ATL2_MAX_NIC + 1] = ATL2_PARAM_INIT; \
30517 MODULE_PARM(X, "1-" __MODULE_STRING(ATL2_MAX_NIC) "i"); \
30518 MODULE_PARM_DESC(X, desc);
30519 #else
30520diff -urNp linux-3.0.7/drivers/net/bna/bfa_ioc_ct.c linux-3.0.7/drivers/net/bna/bfa_ioc_ct.c
30521--- linux-3.0.7/drivers/net/bna/bfa_ioc_ct.c 2011-07-21 22:17:23.000000000 -0400
30522+++ linux-3.0.7/drivers/net/bna/bfa_ioc_ct.c 2011-08-23 21:47:55.000000000 -0400
28890@@ -48,7 +48,21 @@ static void bfa_ioc_ct_sync_ack(struct b 30523@@ -48,7 +48,21 @@ static void bfa_ioc_ct_sync_ack(struct b
28891 static bool bfa_ioc_ct_sync_complete(struct bfa_ioc *ioc); 30524 static bool bfa_ioc_ct_sync_complete(struct bfa_ioc *ioc);
28892 static enum bfa_status bfa_ioc_ct_pll_init(void __iomem *rb, bool fcmode); 30525 static enum bfa_status bfa_ioc_ct_pll_init(void __iomem *rb, bool fcmode);
@@ -28931,9 +30564,9 @@ diff -urNp linux-3.0.4/drivers/net/bna/bfa_ioc_ct.c linux-3.0.4/drivers/net/bna/
28931 ioc->ioc_hwif = &nw_hwif_ct; 30564 ioc->ioc_hwif = &nw_hwif_ct;
28932 } 30565 }
28933 30566
28934diff -urNp linux-3.0.4/drivers/net/bna/bnad.c linux-3.0.4/drivers/net/bna/bnad.c 30567diff -urNp linux-3.0.7/drivers/net/bna/bnad.c linux-3.0.7/drivers/net/bna/bnad.c
28935--- linux-3.0.4/drivers/net/bna/bnad.c 2011-07-21 22:17:23.000000000 -0400 30568--- linux-3.0.7/drivers/net/bna/bnad.c 2011-07-21 22:17:23.000000000 -0400
28936+++ linux-3.0.4/drivers/net/bna/bnad.c 2011-08-23 21:47:55.000000000 -0400 30569+++ linux-3.0.7/drivers/net/bna/bnad.c 2011-08-23 21:47:55.000000000 -0400
28937@@ -1681,7 +1681,14 @@ bnad_setup_tx(struct bnad *bnad, uint tx 30570@@ -1681,7 +1681,14 @@ bnad_setup_tx(struct bnad *bnad, uint tx
28938 struct bna_intr_info *intr_info = 30571 struct bna_intr_info *intr_info =
28939 &res_info[BNA_TX_RES_INTR_T_TXCMPL].res_u.intr_info; 30572 &res_info[BNA_TX_RES_INTR_T_TXCMPL].res_u.intr_info;
@@ -28995,10 +30628,10 @@ diff -urNp linux-3.0.4/drivers/net/bna/bnad.c linux-3.0.4/drivers/net/bna/bnad.c
28995 /* Get BNA's resource requirement for one Rx object */ 30628 /* Get BNA's resource requirement for one Rx object */
28996 spin_lock_irqsave(&bnad->bna_lock, flags); 30629 spin_lock_irqsave(&bnad->bna_lock, flags);
28997 bna_rx_res_req(rx_config, res_info); 30630 bna_rx_res_req(rx_config, res_info);
28998diff -urNp linux-3.0.4/drivers/net/bnx2.c linux-3.0.4/drivers/net/bnx2.c 30631diff -urNp linux-3.0.7/drivers/net/bnx2.c linux-3.0.7/drivers/net/bnx2.c
28999--- linux-3.0.4/drivers/net/bnx2.c 2011-07-21 22:17:23.000000000 -0400 30632--- linux-3.0.7/drivers/net/bnx2.c 2011-10-16 21:54:54.000000000 -0400
29000+++ linux-3.0.4/drivers/net/bnx2.c 2011-08-23 21:48:14.000000000 -0400 30633+++ linux-3.0.7/drivers/net/bnx2.c 2011-10-16 21:55:27.000000000 -0400
29001@@ -5828,6 +5828,8 @@ bnx2_test_nvram(struct bnx2 *bp) 30634@@ -5831,6 +5831,8 @@ bnx2_test_nvram(struct bnx2 *bp)
29002 int rc = 0; 30635 int rc = 0;
29003 u32 magic, csum; 30636 u32 magic, csum;
29004 30637
@@ -29007,9 +30640,9 @@ diff -urNp linux-3.0.4/drivers/net/bnx2.c linux-3.0.4/drivers/net/bnx2.c
29007 if ((rc = bnx2_nvram_read(bp, 0, data, 4)) != 0) 30640 if ((rc = bnx2_nvram_read(bp, 0, data, 4)) != 0)
29008 goto test_nvram_done; 30641 goto test_nvram_done;
29009 30642
29010diff -urNp linux-3.0.4/drivers/net/bnx2x/bnx2x_ethtool.c linux-3.0.4/drivers/net/bnx2x/bnx2x_ethtool.c 30643diff -urNp linux-3.0.7/drivers/net/bnx2x/bnx2x_ethtool.c linux-3.0.7/drivers/net/bnx2x/bnx2x_ethtool.c
29011--- linux-3.0.4/drivers/net/bnx2x/bnx2x_ethtool.c 2011-07-21 22:17:23.000000000 -0400 30644--- linux-3.0.7/drivers/net/bnx2x/bnx2x_ethtool.c 2011-07-21 22:17:23.000000000 -0400
29012+++ linux-3.0.4/drivers/net/bnx2x/bnx2x_ethtool.c 2011-08-23 21:48:14.000000000 -0400 30645+++ linux-3.0.7/drivers/net/bnx2x/bnx2x_ethtool.c 2011-08-23 21:48:14.000000000 -0400
29013@@ -1705,6 +1705,8 @@ static int bnx2x_test_nvram(struct bnx2x 30646@@ -1705,6 +1705,8 @@ static int bnx2x_test_nvram(struct bnx2x
29014 int i, rc; 30647 int i, rc;
29015 u32 magic, crc; 30648 u32 magic, crc;
@@ -29019,10 +30652,44 @@ diff -urNp linux-3.0.4/drivers/net/bnx2x/bnx2x_ethtool.c linux-3.0.4/drivers/net
29019 if (BP_NOMCP(bp)) 30652 if (BP_NOMCP(bp))
29020 return 0; 30653 return 0;
29021 30654
29022diff -urNp linux-3.0.4/drivers/net/cxgb3/l2t.h linux-3.0.4/drivers/net/cxgb3/l2t.h 30655diff -urNp linux-3.0.7/drivers/net/can/mscan/mscan.c linux-3.0.7/drivers/net/can/mscan/mscan.c
29023--- linux-3.0.4/drivers/net/cxgb3/l2t.h 2011-07-21 22:17:23.000000000 -0400 30656--- linux-3.0.7/drivers/net/can/mscan/mscan.c 2011-07-21 22:17:23.000000000 -0400
29024+++ linux-3.0.4/drivers/net/cxgb3/l2t.h 2011-08-23 21:47:55.000000000 -0400 30657+++ linux-3.0.7/drivers/net/can/mscan/mscan.c 2011-10-17 02:51:46.000000000 -0400
29025@@ -86,7 +86,7 @@ typedef void (*arp_failure_handler_func) 30658@@ -261,11 +261,13 @@ static netdev_tx_t mscan_start_xmit(stru
30659 void __iomem *data = &regs->tx.dsr1_0;
30660 u16 *payload = (u16 *)frame->data;
30661
30662- /* It is safe to write into dsr[dlc+1] */
30663- for (i = 0; i < (frame->can_dlc + 1) / 2; i++) {
30664+ for (i = 0; i < frame->can_dlc / 2; i++) {
30665 out_be16(data, *payload++);
30666 data += 2 + _MSCAN_RESERVED_DSR_SIZE;
30667 }
30668+ /* write remaining byte if necessary */
30669+ if (frame->can_dlc & 1)
30670+ out_8(data, frame->data[frame->can_dlc - 1]);
30671 }
30672
30673 out_8(&regs->tx.dlr, frame->can_dlc);
30674@@ -330,10 +332,13 @@ static void mscan_get_rx_frame(struct ne
30675 void __iomem *data = &regs->rx.dsr1_0;
30676 u16 *payload = (u16 *)frame->data;
30677
30678- for (i = 0; i < (frame->can_dlc + 1) / 2; i++) {
30679+ for (i = 0; i < frame->can_dlc / 2; i++) {
30680 *payload++ = in_be16(data);
30681 data += 2 + _MSCAN_RESERVED_DSR_SIZE;
30682 }
30683+ /* read remaining byte if necessary */
30684+ if (frame->can_dlc & 1)
30685+ frame->data[frame->can_dlc - 1] = in_8(data);
30686 }
30687
30688 out_8(&regs->canrflg, MSCAN_RXF);
30689diff -urNp linux-3.0.7/drivers/net/cxgb3/l2t.h linux-3.0.7/drivers/net/cxgb3/l2t.h
30690--- linux-3.0.7/drivers/net/cxgb3/l2t.h 2011-10-16 21:54:54.000000000 -0400
30691+++ linux-3.0.7/drivers/net/cxgb3/l2t.h 2011-10-16 21:55:27.000000000 -0400
30692@@ -87,7 +87,7 @@ typedef void (*arp_failure_handler_func)
29026 */ 30693 */
29027 struct l2t_skb_cb { 30694 struct l2t_skb_cb {
29028 arp_failure_handler_func arp_failure_handler; 30695 arp_failure_handler_func arp_failure_handler;
@@ -29031,9 +30698,9 @@ diff -urNp linux-3.0.4/drivers/net/cxgb3/l2t.h linux-3.0.4/drivers/net/cxgb3/l2t
29031 30698
29032 #define L2T_SKB_CB(skb) ((struct l2t_skb_cb *)(skb)->cb) 30699 #define L2T_SKB_CB(skb) ((struct l2t_skb_cb *)(skb)->cb)
29033 30700
29034diff -urNp linux-3.0.4/drivers/net/cxgb4/cxgb4_main.c linux-3.0.4/drivers/net/cxgb4/cxgb4_main.c 30701diff -urNp linux-3.0.7/drivers/net/cxgb4/cxgb4_main.c linux-3.0.7/drivers/net/cxgb4/cxgb4_main.c
29035--- linux-3.0.4/drivers/net/cxgb4/cxgb4_main.c 2011-07-21 22:17:23.000000000 -0400 30702--- linux-3.0.7/drivers/net/cxgb4/cxgb4_main.c 2011-07-21 22:17:23.000000000 -0400
29036+++ linux-3.0.4/drivers/net/cxgb4/cxgb4_main.c 2011-08-23 21:48:14.000000000 -0400 30703+++ linux-3.0.7/drivers/net/cxgb4/cxgb4_main.c 2011-08-23 21:48:14.000000000 -0400
29037@@ -3396,6 +3396,8 @@ static int __devinit enable_msix(struct 30704@@ -3396,6 +3396,8 @@ static int __devinit enable_msix(struct
29038 unsigned int nchan = adap->params.nports; 30705 unsigned int nchan = adap->params.nports;
29039 struct msix_entry entries[MAX_INGQ + 1]; 30706 struct msix_entry entries[MAX_INGQ + 1];
@@ -29043,9 +30710,9 @@ diff -urNp linux-3.0.4/drivers/net/cxgb4/cxgb4_main.c linux-3.0.4/drivers/net/cx
29043 for (i = 0; i < ARRAY_SIZE(entries); ++i) 30710 for (i = 0; i < ARRAY_SIZE(entries); ++i)
29044 entries[i].entry = i; 30711 entries[i].entry = i;
29045 30712
29046diff -urNp linux-3.0.4/drivers/net/cxgb4/t4_hw.c linux-3.0.4/drivers/net/cxgb4/t4_hw.c 30713diff -urNp linux-3.0.7/drivers/net/cxgb4/t4_hw.c linux-3.0.7/drivers/net/cxgb4/t4_hw.c
29047--- linux-3.0.4/drivers/net/cxgb4/t4_hw.c 2011-07-21 22:17:23.000000000 -0400 30714--- linux-3.0.7/drivers/net/cxgb4/t4_hw.c 2011-07-21 22:17:23.000000000 -0400
29048+++ linux-3.0.4/drivers/net/cxgb4/t4_hw.c 2011-08-23 21:48:14.000000000 -0400 30715+++ linux-3.0.7/drivers/net/cxgb4/t4_hw.c 2011-08-23 21:48:14.000000000 -0400
29049@@ -362,6 +362,8 @@ static int get_vpd_params(struct adapter 30716@@ -362,6 +362,8 @@ static int get_vpd_params(struct adapter
29050 u8 vpd[VPD_LEN], csum; 30717 u8 vpd[VPD_LEN], csum;
29051 unsigned int vpdr_len, kw_offset, id_len; 30718 unsigned int vpdr_len, kw_offset, id_len;
@@ -29055,9 +30722,9 @@ diff -urNp linux-3.0.4/drivers/net/cxgb4/t4_hw.c linux-3.0.4/drivers/net/cxgb4/t
29055 ret = pci_read_vpd(adapter->pdev, VPD_BASE, sizeof(vpd), vpd); 30722 ret = pci_read_vpd(adapter->pdev, VPD_BASE, sizeof(vpd), vpd);
29056 if (ret < 0) 30723 if (ret < 0)
29057 return ret; 30724 return ret;
29058diff -urNp linux-3.0.4/drivers/net/e1000e/82571.c linux-3.0.4/drivers/net/e1000e/82571.c 30725diff -urNp linux-3.0.7/drivers/net/e1000e/82571.c linux-3.0.7/drivers/net/e1000e/82571.c
29059--- linux-3.0.4/drivers/net/e1000e/82571.c 2011-07-21 22:17:23.000000000 -0400 30726--- linux-3.0.7/drivers/net/e1000e/82571.c 2011-07-21 22:17:23.000000000 -0400
29060+++ linux-3.0.4/drivers/net/e1000e/82571.c 2011-08-23 21:47:55.000000000 -0400 30727+++ linux-3.0.7/drivers/net/e1000e/82571.c 2011-08-23 21:47:55.000000000 -0400
29061@@ -239,7 +239,7 @@ static s32 e1000_init_mac_params_82571(s 30728@@ -239,7 +239,7 @@ static s32 e1000_init_mac_params_82571(s
29062 { 30729 {
29063 struct e1000_hw *hw = &adapter->hw; 30730 struct e1000_hw *hw = &adapter->hw;
@@ -29067,9 +30734,9 @@ diff -urNp linux-3.0.4/drivers/net/e1000e/82571.c linux-3.0.4/drivers/net/e1000e
29067 u32 swsm = 0; 30734 u32 swsm = 0;
29068 u32 swsm2 = 0; 30735 u32 swsm2 = 0;
29069 bool force_clear_smbi = false; 30736 bool force_clear_smbi = false;
29070diff -urNp linux-3.0.4/drivers/net/e1000e/es2lan.c linux-3.0.4/drivers/net/e1000e/es2lan.c 30737diff -urNp linux-3.0.7/drivers/net/e1000e/es2lan.c linux-3.0.7/drivers/net/e1000e/es2lan.c
29071--- linux-3.0.4/drivers/net/e1000e/es2lan.c 2011-07-21 22:17:23.000000000 -0400 30738--- linux-3.0.7/drivers/net/e1000e/es2lan.c 2011-07-21 22:17:23.000000000 -0400
29072+++ linux-3.0.4/drivers/net/e1000e/es2lan.c 2011-08-23 21:47:55.000000000 -0400 30739+++ linux-3.0.7/drivers/net/e1000e/es2lan.c 2011-08-23 21:47:55.000000000 -0400
29073@@ -205,7 +205,7 @@ static s32 e1000_init_mac_params_80003es 30740@@ -205,7 +205,7 @@ static s32 e1000_init_mac_params_80003es
29074 { 30741 {
29075 struct e1000_hw *hw = &adapter->hw; 30742 struct e1000_hw *hw = &adapter->hw;
@@ -29079,9 +30746,9 @@ diff -urNp linux-3.0.4/drivers/net/e1000e/es2lan.c linux-3.0.4/drivers/net/e1000
29079 30746
29080 /* Set media type */ 30747 /* Set media type */
29081 switch (adapter->pdev->device) { 30748 switch (adapter->pdev->device) {
29082diff -urNp linux-3.0.4/drivers/net/e1000e/hw.h linux-3.0.4/drivers/net/e1000e/hw.h 30749diff -urNp linux-3.0.7/drivers/net/e1000e/hw.h linux-3.0.7/drivers/net/e1000e/hw.h
29083--- linux-3.0.4/drivers/net/e1000e/hw.h 2011-07-21 22:17:23.000000000 -0400 30750--- linux-3.0.7/drivers/net/e1000e/hw.h 2011-07-21 22:17:23.000000000 -0400
29084+++ linux-3.0.4/drivers/net/e1000e/hw.h 2011-08-23 21:47:55.000000000 -0400 30751+++ linux-3.0.7/drivers/net/e1000e/hw.h 2011-08-23 21:47:55.000000000 -0400
29085@@ -776,6 +776,7 @@ struct e1000_mac_operations { 30752@@ -776,6 +776,7 @@ struct e1000_mac_operations {
29086 void (*write_vfta)(struct e1000_hw *, u32, u32); 30753 void (*write_vfta)(struct e1000_hw *, u32, u32);
29087 s32 (*read_mac_addr)(struct e1000_hw *); 30754 s32 (*read_mac_addr)(struct e1000_hw *);
@@ -29128,9 +30795,21 @@ diff -urNp linux-3.0.4/drivers/net/e1000e/hw.h linux-3.0.4/drivers/net/e1000e/hw
29128 30795
29129 enum e1000_nvm_type type; 30796 enum e1000_nvm_type type;
29130 enum e1000_nvm_override override; 30797 enum e1000_nvm_override override;
29131diff -urNp linux-3.0.4/drivers/net/hamradio/6pack.c linux-3.0.4/drivers/net/hamradio/6pack.c 30798diff -urNp linux-3.0.7/drivers/net/fealnx.c linux-3.0.7/drivers/net/fealnx.c
29132--- linux-3.0.4/drivers/net/hamradio/6pack.c 2011-07-21 22:17:23.000000000 -0400 30799--- linux-3.0.7/drivers/net/fealnx.c 2011-07-21 22:17:23.000000000 -0400
29133+++ linux-3.0.4/drivers/net/hamradio/6pack.c 2011-08-23 21:48:14.000000000 -0400 30800+++ linux-3.0.7/drivers/net/fealnx.c 2011-10-11 10:44:33.000000000 -0400
30801@@ -150,7 +150,7 @@ struct chip_info {
30802 int flags;
30803 };
30804
30805-static const struct chip_info skel_netdrv_tbl[] __devinitdata = {
30806+static const struct chip_info skel_netdrv_tbl[] __devinitconst = {
30807 { "100/10M Ethernet PCI Adapter", HAS_MII_XCVR },
30808 { "100/10M Ethernet PCI Adapter", HAS_CHIP_XCVR },
30809 { "1000/100/10M Ethernet PCI Adapter", HAS_MII_XCVR },
30810diff -urNp linux-3.0.7/drivers/net/hamradio/6pack.c linux-3.0.7/drivers/net/hamradio/6pack.c
30811--- linux-3.0.7/drivers/net/hamradio/6pack.c 2011-07-21 22:17:23.000000000 -0400
30812+++ linux-3.0.7/drivers/net/hamradio/6pack.c 2011-08-23 21:48:14.000000000 -0400
29134@@ -463,6 +463,8 @@ static void sixpack_receive_buf(struct t 30813@@ -463,6 +463,8 @@ static void sixpack_receive_buf(struct t
29135 unsigned char buf[512]; 30814 unsigned char buf[512];
29136 int count1; 30815 int count1;
@@ -29140,9 +30819,9 @@ diff -urNp linux-3.0.4/drivers/net/hamradio/6pack.c linux-3.0.4/drivers/net/hamr
29140 if (!count) 30819 if (!count)
29141 return; 30820 return;
29142 30821
29143diff -urNp linux-3.0.4/drivers/net/igb/e1000_hw.h linux-3.0.4/drivers/net/igb/e1000_hw.h 30822diff -urNp linux-3.0.7/drivers/net/igb/e1000_hw.h linux-3.0.7/drivers/net/igb/e1000_hw.h
29144--- linux-3.0.4/drivers/net/igb/e1000_hw.h 2011-07-21 22:17:23.000000000 -0400 30823--- linux-3.0.7/drivers/net/igb/e1000_hw.h 2011-07-21 22:17:23.000000000 -0400
29145+++ linux-3.0.4/drivers/net/igb/e1000_hw.h 2011-08-23 21:47:55.000000000 -0400 30824+++ linux-3.0.7/drivers/net/igb/e1000_hw.h 2011-08-23 21:47:55.000000000 -0400
29146@@ -314,6 +314,7 @@ struct e1000_mac_operations { 30825@@ -314,6 +314,7 @@ struct e1000_mac_operations {
29147 s32 (*read_mac_addr)(struct e1000_hw *); 30826 s32 (*read_mac_addr)(struct e1000_hw *);
29148 s32 (*get_speed_and_duplex)(struct e1000_hw *, u16 *, u16 *); 30827 s32 (*get_speed_and_duplex)(struct e1000_hw *, u16 *, u16 *);
@@ -29211,9 +30890,9 @@ diff -urNp linux-3.0.4/drivers/net/igb/e1000_hw.h linux-3.0.4/drivers/net/igb/e1
29211 struct e1000_mbx_stats stats; 30890 struct e1000_mbx_stats stats;
29212 u32 timeout; 30891 u32 timeout;
29213 u32 usec_delay; 30892 u32 usec_delay;
29214diff -urNp linux-3.0.4/drivers/net/igbvf/vf.h linux-3.0.4/drivers/net/igbvf/vf.h 30893diff -urNp linux-3.0.7/drivers/net/igbvf/vf.h linux-3.0.7/drivers/net/igbvf/vf.h
29215--- linux-3.0.4/drivers/net/igbvf/vf.h 2011-07-21 22:17:23.000000000 -0400 30894--- linux-3.0.7/drivers/net/igbvf/vf.h 2011-07-21 22:17:23.000000000 -0400
29216+++ linux-3.0.4/drivers/net/igbvf/vf.h 2011-08-23 21:47:55.000000000 -0400 30895+++ linux-3.0.7/drivers/net/igbvf/vf.h 2011-08-23 21:47:55.000000000 -0400
29217@@ -189,9 +189,10 @@ struct e1000_mac_operations { 30896@@ -189,9 +189,10 @@ struct e1000_mac_operations {
29218 s32 (*read_mac_addr)(struct e1000_hw *); 30897 s32 (*read_mac_addr)(struct e1000_hw *);
29219 s32 (*set_vfta)(struct e1000_hw *, u16, bool); 30898 s32 (*set_vfta)(struct e1000_hw *, u16, bool);
@@ -29243,9 +30922,9 @@ diff -urNp linux-3.0.4/drivers/net/igbvf/vf.h linux-3.0.4/drivers/net/igbvf/vf.h
29243 struct e1000_mbx_stats stats; 30922 struct e1000_mbx_stats stats;
29244 u32 timeout; 30923 u32 timeout;
29245 u32 usec_delay; 30924 u32 usec_delay;
29246diff -urNp linux-3.0.4/drivers/net/ixgb/ixgb_main.c linux-3.0.4/drivers/net/ixgb/ixgb_main.c 30925diff -urNp linux-3.0.7/drivers/net/ixgb/ixgb_main.c linux-3.0.7/drivers/net/ixgb/ixgb_main.c
29247--- linux-3.0.4/drivers/net/ixgb/ixgb_main.c 2011-07-21 22:17:23.000000000 -0400 30926--- linux-3.0.7/drivers/net/ixgb/ixgb_main.c 2011-07-21 22:17:23.000000000 -0400
29248+++ linux-3.0.4/drivers/net/ixgb/ixgb_main.c 2011-08-23 21:48:14.000000000 -0400 30927+++ linux-3.0.7/drivers/net/ixgb/ixgb_main.c 2011-08-23 21:48:14.000000000 -0400
29249@@ -1070,6 +1070,8 @@ ixgb_set_multi(struct net_device *netdev 30928@@ -1070,6 +1070,8 @@ ixgb_set_multi(struct net_device *netdev
29250 u32 rctl; 30929 u32 rctl;
29251 int i; 30930 int i;
@@ -29255,9 +30934,9 @@ diff -urNp linux-3.0.4/drivers/net/ixgb/ixgb_main.c linux-3.0.4/drivers/net/ixgb
29255 /* Check for Promiscuous and All Multicast modes */ 30934 /* Check for Promiscuous and All Multicast modes */
29256 30935
29257 rctl = IXGB_READ_REG(hw, RCTL); 30936 rctl = IXGB_READ_REG(hw, RCTL);
29258diff -urNp linux-3.0.4/drivers/net/ixgb/ixgb_param.c linux-3.0.4/drivers/net/ixgb/ixgb_param.c 30937diff -urNp linux-3.0.7/drivers/net/ixgb/ixgb_param.c linux-3.0.7/drivers/net/ixgb/ixgb_param.c
29259--- linux-3.0.4/drivers/net/ixgb/ixgb_param.c 2011-07-21 22:17:23.000000000 -0400 30938--- linux-3.0.7/drivers/net/ixgb/ixgb_param.c 2011-07-21 22:17:23.000000000 -0400
29260+++ linux-3.0.4/drivers/net/ixgb/ixgb_param.c 2011-08-23 21:48:14.000000000 -0400 30939+++ linux-3.0.7/drivers/net/ixgb/ixgb_param.c 2011-08-23 21:48:14.000000000 -0400
29261@@ -261,6 +261,9 @@ void __devinit 30940@@ -261,6 +261,9 @@ void __devinit
29262 ixgb_check_options(struct ixgb_adapter *adapter) 30941 ixgb_check_options(struct ixgb_adapter *adapter)
29263 { 30942 {
@@ -29268,9 +30947,9 @@ diff -urNp linux-3.0.4/drivers/net/ixgb/ixgb_param.c linux-3.0.4/drivers/net/ixg
29268 if (bd >= IXGB_MAX_NIC) { 30947 if (bd >= IXGB_MAX_NIC) {
29269 pr_notice("Warning: no configuration for board #%i\n", bd); 30948 pr_notice("Warning: no configuration for board #%i\n", bd);
29270 pr_notice("Using defaults for all values\n"); 30949 pr_notice("Using defaults for all values\n");
29271diff -urNp linux-3.0.4/drivers/net/ixgbe/ixgbe_type.h linux-3.0.4/drivers/net/ixgbe/ixgbe_type.h 30950diff -urNp linux-3.0.7/drivers/net/ixgbe/ixgbe_type.h linux-3.0.7/drivers/net/ixgbe/ixgbe_type.h
29272--- linux-3.0.4/drivers/net/ixgbe/ixgbe_type.h 2011-07-21 22:17:23.000000000 -0400 30951--- linux-3.0.7/drivers/net/ixgbe/ixgbe_type.h 2011-07-21 22:17:23.000000000 -0400
29273+++ linux-3.0.4/drivers/net/ixgbe/ixgbe_type.h 2011-08-23 21:47:55.000000000 -0400 30952+++ linux-3.0.7/drivers/net/ixgbe/ixgbe_type.h 2011-08-23 21:47:55.000000000 -0400
29274@@ -2584,6 +2584,7 @@ struct ixgbe_eeprom_operations { 30953@@ -2584,6 +2584,7 @@ struct ixgbe_eeprom_operations {
29275 s32 (*update_checksum)(struct ixgbe_hw *); 30954 s32 (*update_checksum)(struct ixgbe_hw *);
29276 u16 (*calc_checksum)(struct ixgbe_hw *); 30955 u16 (*calc_checksum)(struct ixgbe_hw *);
@@ -29334,9 +31013,9 @@ diff -urNp linux-3.0.4/drivers/net/ixgbe/ixgbe_type.h linux-3.0.4/drivers/net/ix
29334 struct ixgbe_mbx_stats stats; 31013 struct ixgbe_mbx_stats stats;
29335 u32 timeout; 31014 u32 timeout;
29336 u32 usec_delay; 31015 u32 usec_delay;
29337diff -urNp linux-3.0.4/drivers/net/ixgbevf/vf.h linux-3.0.4/drivers/net/ixgbevf/vf.h 31016diff -urNp linux-3.0.7/drivers/net/ixgbevf/vf.h linux-3.0.7/drivers/net/ixgbevf/vf.h
29338--- linux-3.0.4/drivers/net/ixgbevf/vf.h 2011-07-21 22:17:23.000000000 -0400 31017--- linux-3.0.7/drivers/net/ixgbevf/vf.h 2011-07-21 22:17:23.000000000 -0400
29339+++ linux-3.0.4/drivers/net/ixgbevf/vf.h 2011-08-23 21:47:55.000000000 -0400 31018+++ linux-3.0.7/drivers/net/ixgbevf/vf.h 2011-08-23 21:47:55.000000000 -0400
29340@@ -70,6 +70,7 @@ struct ixgbe_mac_operations { 31019@@ -70,6 +70,7 @@ struct ixgbe_mac_operations {
29341 s32 (*clear_vfta)(struct ixgbe_hw *); 31020 s32 (*clear_vfta)(struct ixgbe_hw *);
29342 s32 (*set_vfta)(struct ixgbe_hw *, u32, u32, bool); 31021 s32 (*set_vfta)(struct ixgbe_hw *, u32, u32, bool);
@@ -29371,9 +31050,9 @@ diff -urNp linux-3.0.4/drivers/net/ixgbevf/vf.h linux-3.0.4/drivers/net/ixgbevf/
29371 struct ixgbe_mbx_stats stats; 31050 struct ixgbe_mbx_stats stats;
29372 u32 timeout; 31051 u32 timeout;
29373 u32 udelay; 31052 u32 udelay;
29374diff -urNp linux-3.0.4/drivers/net/ksz884x.c linux-3.0.4/drivers/net/ksz884x.c 31053diff -urNp linux-3.0.7/drivers/net/ksz884x.c linux-3.0.7/drivers/net/ksz884x.c
29375--- linux-3.0.4/drivers/net/ksz884x.c 2011-07-21 22:17:23.000000000 -0400 31054--- linux-3.0.7/drivers/net/ksz884x.c 2011-07-21 22:17:23.000000000 -0400
29376+++ linux-3.0.4/drivers/net/ksz884x.c 2011-08-23 21:48:14.000000000 -0400 31055+++ linux-3.0.7/drivers/net/ksz884x.c 2011-08-23 21:48:14.000000000 -0400
29377@@ -6534,6 +6534,8 @@ static void netdev_get_ethtool_stats(str 31056@@ -6534,6 +6534,8 @@ static void netdev_get_ethtool_stats(str
29378 int rc; 31057 int rc;
29379 u64 counter[TOTAL_PORT_COUNTER_NUM]; 31058 u64 counter[TOTAL_PORT_COUNTER_NUM];
@@ -29383,9 +31062,9 @@ diff -urNp linux-3.0.4/drivers/net/ksz884x.c linux-3.0.4/drivers/net/ksz884x.c
29383 mutex_lock(&hw_priv->lock); 31062 mutex_lock(&hw_priv->lock);
29384 n = SWITCH_PORT_NUM; 31063 n = SWITCH_PORT_NUM;
29385 for (i = 0, p = port->first_port; i < port->mib_port_cnt; i++, p++) { 31064 for (i = 0, p = port->first_port; i < port->mib_port_cnt; i++, p++) {
29386diff -urNp linux-3.0.4/drivers/net/mlx4/main.c linux-3.0.4/drivers/net/mlx4/main.c 31065diff -urNp linux-3.0.7/drivers/net/mlx4/main.c linux-3.0.7/drivers/net/mlx4/main.c
29387--- linux-3.0.4/drivers/net/mlx4/main.c 2011-07-21 22:17:23.000000000 -0400 31066--- linux-3.0.7/drivers/net/mlx4/main.c 2011-07-21 22:17:23.000000000 -0400
29388+++ linux-3.0.4/drivers/net/mlx4/main.c 2011-08-23 21:48:14.000000000 -0400 31067+++ linux-3.0.7/drivers/net/mlx4/main.c 2011-08-23 21:48:14.000000000 -0400
29389@@ -40,6 +40,7 @@ 31068@@ -40,6 +40,7 @@
29390 #include <linux/dma-mapping.h> 31069 #include <linux/dma-mapping.h>
29391 #include <linux/slab.h> 31070 #include <linux/slab.h>
@@ -29403,9 +31082,9 @@ diff -urNp linux-3.0.4/drivers/net/mlx4/main.c linux-3.0.4/drivers/net/mlx4/main
29403 err = mlx4_QUERY_FW(dev); 31082 err = mlx4_QUERY_FW(dev);
29404 if (err) { 31083 if (err) {
29405 if (err == -EACCES) 31084 if (err == -EACCES)
29406diff -urNp linux-3.0.4/drivers/net/niu.c linux-3.0.4/drivers/net/niu.c 31085diff -urNp linux-3.0.7/drivers/net/niu.c linux-3.0.7/drivers/net/niu.c
29407--- linux-3.0.4/drivers/net/niu.c 2011-09-02 18:11:21.000000000 -0400 31086--- linux-3.0.7/drivers/net/niu.c 2011-09-02 18:11:21.000000000 -0400
29408+++ linux-3.0.4/drivers/net/niu.c 2011-08-23 21:48:14.000000000 -0400 31087+++ linux-3.0.7/drivers/net/niu.c 2011-08-23 21:48:14.000000000 -0400
29409@@ -9056,6 +9056,8 @@ static void __devinit niu_try_msix(struc 31088@@ -9056,6 +9056,8 @@ static void __devinit niu_try_msix(struc
29410 int i, num_irqs, err; 31089 int i, num_irqs, err;
29411 u8 first_ldg; 31090 u8 first_ldg;
@@ -29415,9 +31094,9 @@ diff -urNp linux-3.0.4/drivers/net/niu.c linux-3.0.4/drivers/net/niu.c
29415 first_ldg = (NIU_NUM_LDG / parent->num_ports) * np->port; 31094 first_ldg = (NIU_NUM_LDG / parent->num_ports) * np->port;
29416 for (i = 0; i < (NIU_NUM_LDG / parent->num_ports); i++) 31095 for (i = 0; i < (NIU_NUM_LDG / parent->num_ports); i++)
29417 ldg_num_map[i] = first_ldg + i; 31096 ldg_num_map[i] = first_ldg + i;
29418diff -urNp linux-3.0.4/drivers/net/pcnet32.c linux-3.0.4/drivers/net/pcnet32.c 31097diff -urNp linux-3.0.7/drivers/net/pcnet32.c linux-3.0.7/drivers/net/pcnet32.c
29419--- linux-3.0.4/drivers/net/pcnet32.c 2011-07-21 22:17:23.000000000 -0400 31098--- linux-3.0.7/drivers/net/pcnet32.c 2011-07-21 22:17:23.000000000 -0400
29420+++ linux-3.0.4/drivers/net/pcnet32.c 2011-08-23 21:47:55.000000000 -0400 31099+++ linux-3.0.7/drivers/net/pcnet32.c 2011-08-23 21:47:55.000000000 -0400
29421@@ -82,7 +82,7 @@ static int cards_found; 31100@@ -82,7 +82,7 @@ static int cards_found;
29422 /* 31101 /*
29423 * VLB I/O addresses 31102 * VLB I/O addresses
@@ -30040,9 +31719,9 @@ diff -urNp linux-3.0.4/drivers/net/pcnet32.c linux-3.0.4/drivers/net/pcnet32.c
30040 } 31719 }
30041 } else { 31720 } else {
30042 netif_info(lp, link, dev, "link up\n"); 31721 netif_info(lp, link, dev, "link up\n");
30043diff -urNp linux-3.0.4/drivers/net/ppp_generic.c linux-3.0.4/drivers/net/ppp_generic.c 31722diff -urNp linux-3.0.7/drivers/net/ppp_generic.c linux-3.0.7/drivers/net/ppp_generic.c
30044--- linux-3.0.4/drivers/net/ppp_generic.c 2011-07-21 22:17:23.000000000 -0400 31723--- linux-3.0.7/drivers/net/ppp_generic.c 2011-07-21 22:17:23.000000000 -0400
30045+++ linux-3.0.4/drivers/net/ppp_generic.c 2011-08-23 21:47:55.000000000 -0400 31724+++ linux-3.0.7/drivers/net/ppp_generic.c 2011-08-23 21:47:55.000000000 -0400
30046@@ -987,7 +987,6 @@ ppp_net_ioctl(struct net_device *dev, st 31725@@ -987,7 +987,6 @@ ppp_net_ioctl(struct net_device *dev, st
30047 void __user *addr = (void __user *) ifr->ifr_ifru.ifru_data; 31726 void __user *addr = (void __user *) ifr->ifr_ifru.ifru_data;
30048 struct ppp_stats stats; 31727 struct ppp_stats stats;
@@ -30061,9 +31740,9 @@ diff -urNp linux-3.0.4/drivers/net/ppp_generic.c linux-3.0.4/drivers/net/ppp_gen
30061 break; 31740 break;
30062 err = 0; 31741 err = 0;
30063 break; 31742 break;
30064diff -urNp linux-3.0.4/drivers/net/r8169.c linux-3.0.4/drivers/net/r8169.c 31743diff -urNp linux-3.0.7/drivers/net/r8169.c linux-3.0.7/drivers/net/r8169.c
30065--- linux-3.0.4/drivers/net/r8169.c 2011-09-02 18:11:21.000000000 -0400 31744--- linux-3.0.7/drivers/net/r8169.c 2011-09-02 18:11:21.000000000 -0400
30066+++ linux-3.0.4/drivers/net/r8169.c 2011-08-23 21:47:55.000000000 -0400 31745+++ linux-3.0.7/drivers/net/r8169.c 2011-08-23 21:47:55.000000000 -0400
30067@@ -645,12 +645,12 @@ struct rtl8169_private { 31746@@ -645,12 +645,12 @@ struct rtl8169_private {
30068 struct mdio_ops { 31747 struct mdio_ops {
30069 void (*write)(void __iomem *, int, int); 31748 void (*write)(void __iomem *, int, int);
@@ -30079,9 +31758,33 @@ diff -urNp linux-3.0.4/drivers/net/r8169.c linux-3.0.4/drivers/net/r8169.c
30079 31758
30080 int (*set_speed)(struct net_device *, u8 aneg, u16 sp, u8 dpx, u32 adv); 31759 int (*set_speed)(struct net_device *, u8 aneg, u16 sp, u8 dpx, u32 adv);
30081 int (*get_settings)(struct net_device *, struct ethtool_cmd *); 31760 int (*get_settings)(struct net_device *, struct ethtool_cmd *);
30082diff -urNp linux-3.0.4/drivers/net/tg3.h linux-3.0.4/drivers/net/tg3.h 31761diff -urNp linux-3.0.7/drivers/net/sis190.c linux-3.0.7/drivers/net/sis190.c
30083--- linux-3.0.4/drivers/net/tg3.h 2011-07-21 22:17:23.000000000 -0400 31762--- linux-3.0.7/drivers/net/sis190.c 2011-09-02 18:11:21.000000000 -0400
30084+++ linux-3.0.4/drivers/net/tg3.h 2011-08-23 21:47:55.000000000 -0400 31763+++ linux-3.0.7/drivers/net/sis190.c 2011-10-11 10:44:33.000000000 -0400
31764@@ -1623,7 +1623,7 @@ static int __devinit sis190_get_mac_addr
31765 static int __devinit sis190_get_mac_addr_from_apc(struct pci_dev *pdev,
31766 struct net_device *dev)
31767 {
31768- static const u16 __devinitdata ids[] = { 0x0965, 0x0966, 0x0968 };
31769+ static const u16 __devinitconst ids[] = { 0x0965, 0x0966, 0x0968 };
31770 struct sis190_private *tp = netdev_priv(dev);
31771 struct pci_dev *isa_bridge;
31772 u8 reg, tmp8;
31773diff -urNp linux-3.0.7/drivers/net/sundance.c linux-3.0.7/drivers/net/sundance.c
31774--- linux-3.0.7/drivers/net/sundance.c 2011-07-21 22:17:23.000000000 -0400
31775+++ linux-3.0.7/drivers/net/sundance.c 2011-10-11 10:44:33.000000000 -0400
31776@@ -218,7 +218,7 @@ enum {
31777 struct pci_id_info {
31778 const char *name;
31779 };
31780-static const struct pci_id_info pci_id_tbl[] __devinitdata = {
31781+static const struct pci_id_info pci_id_tbl[] __devinitconst = {
31782 {"D-Link DFE-550TX FAST Ethernet Adapter"},
31783 {"D-Link DFE-550FX 100Mbps Fiber-optics Adapter"},
31784 {"D-Link DFE-580TX 4 port Server Adapter"},
31785diff -urNp linux-3.0.7/drivers/net/tg3.h linux-3.0.7/drivers/net/tg3.h
31786--- linux-3.0.7/drivers/net/tg3.h 2011-07-21 22:17:23.000000000 -0400
31787+++ linux-3.0.7/drivers/net/tg3.h 2011-08-23 21:47:55.000000000 -0400
30085@@ -134,6 +134,7 @@ 31788@@ -134,6 +134,7 @@
30086 #define CHIPREV_ID_5750_A0 0x4000 31789 #define CHIPREV_ID_5750_A0 0x4000
30087 #define CHIPREV_ID_5750_A1 0x4001 31790 #define CHIPREV_ID_5750_A1 0x4001
@@ -30090,9 +31793,9 @@ diff -urNp linux-3.0.4/drivers/net/tg3.h linux-3.0.4/drivers/net/tg3.h
30090 #define CHIPREV_ID_5750_C2 0x4202 31793 #define CHIPREV_ID_5750_C2 0x4202
30091 #define CHIPREV_ID_5752_A0_HW 0x5000 31794 #define CHIPREV_ID_5752_A0_HW 0x5000
30092 #define CHIPREV_ID_5752_A0 0x6000 31795 #define CHIPREV_ID_5752_A0 0x6000
30093diff -urNp linux-3.0.4/drivers/net/tokenring/abyss.c linux-3.0.4/drivers/net/tokenring/abyss.c 31796diff -urNp linux-3.0.7/drivers/net/tokenring/abyss.c linux-3.0.7/drivers/net/tokenring/abyss.c
30094--- linux-3.0.4/drivers/net/tokenring/abyss.c 2011-07-21 22:17:23.000000000 -0400 31797--- linux-3.0.7/drivers/net/tokenring/abyss.c 2011-07-21 22:17:23.000000000 -0400
30095+++ linux-3.0.4/drivers/net/tokenring/abyss.c 2011-08-23 21:47:55.000000000 -0400 31798+++ linux-3.0.7/drivers/net/tokenring/abyss.c 2011-08-23 21:47:55.000000000 -0400
30096@@ -451,10 +451,12 @@ static struct pci_driver abyss_driver = 31799@@ -451,10 +451,12 @@ static struct pci_driver abyss_driver =
30097 31800
30098 static int __init abyss_init (void) 31801 static int __init abyss_init (void)
@@ -30109,9 +31812,9 @@ diff -urNp linux-3.0.4/drivers/net/tokenring/abyss.c linux-3.0.4/drivers/net/tok
30109 31812
30110 return pci_register_driver(&abyss_driver); 31813 return pci_register_driver(&abyss_driver);
30111 } 31814 }
30112diff -urNp linux-3.0.4/drivers/net/tokenring/madgemc.c linux-3.0.4/drivers/net/tokenring/madgemc.c 31815diff -urNp linux-3.0.7/drivers/net/tokenring/madgemc.c linux-3.0.7/drivers/net/tokenring/madgemc.c
30113--- linux-3.0.4/drivers/net/tokenring/madgemc.c 2011-07-21 22:17:23.000000000 -0400 31816--- linux-3.0.7/drivers/net/tokenring/madgemc.c 2011-07-21 22:17:23.000000000 -0400
30114+++ linux-3.0.4/drivers/net/tokenring/madgemc.c 2011-08-23 21:47:55.000000000 -0400 31817+++ linux-3.0.7/drivers/net/tokenring/madgemc.c 2011-08-23 21:47:55.000000000 -0400
30115@@ -744,9 +744,11 @@ static struct mca_driver madgemc_driver 31818@@ -744,9 +744,11 @@ static struct mca_driver madgemc_driver
30116 31819
30117 static int __init madgemc_init (void) 31820 static int __init madgemc_init (void)
@@ -30127,9 +31830,9 @@ diff -urNp linux-3.0.4/drivers/net/tokenring/madgemc.c linux-3.0.4/drivers/net/t
30127 31830
30128 return mca_register_driver (&madgemc_driver); 31831 return mca_register_driver (&madgemc_driver);
30129 } 31832 }
30130diff -urNp linux-3.0.4/drivers/net/tokenring/proteon.c linux-3.0.4/drivers/net/tokenring/proteon.c 31833diff -urNp linux-3.0.7/drivers/net/tokenring/proteon.c linux-3.0.7/drivers/net/tokenring/proteon.c
30131--- linux-3.0.4/drivers/net/tokenring/proteon.c 2011-07-21 22:17:23.000000000 -0400 31834--- linux-3.0.7/drivers/net/tokenring/proteon.c 2011-07-21 22:17:23.000000000 -0400
30132+++ linux-3.0.4/drivers/net/tokenring/proteon.c 2011-08-23 21:47:55.000000000 -0400 31835+++ linux-3.0.7/drivers/net/tokenring/proteon.c 2011-08-23 21:47:55.000000000 -0400
30133@@ -353,9 +353,11 @@ static int __init proteon_init(void) 31836@@ -353,9 +353,11 @@ static int __init proteon_init(void)
30134 struct platform_device *pdev; 31837 struct platform_device *pdev;
30135 int i, num = 0, err = 0; 31838 int i, num = 0, err = 0;
@@ -30145,9 +31848,9 @@ diff -urNp linux-3.0.4/drivers/net/tokenring/proteon.c linux-3.0.4/drivers/net/t
30145 31848
30146 err = platform_driver_register(&proteon_driver); 31849 err = platform_driver_register(&proteon_driver);
30147 if (err) 31850 if (err)
30148diff -urNp linux-3.0.4/drivers/net/tokenring/skisa.c linux-3.0.4/drivers/net/tokenring/skisa.c 31851diff -urNp linux-3.0.7/drivers/net/tokenring/skisa.c linux-3.0.7/drivers/net/tokenring/skisa.c
30149--- linux-3.0.4/drivers/net/tokenring/skisa.c 2011-07-21 22:17:23.000000000 -0400 31852--- linux-3.0.7/drivers/net/tokenring/skisa.c 2011-07-21 22:17:23.000000000 -0400
30150+++ linux-3.0.4/drivers/net/tokenring/skisa.c 2011-08-23 21:47:55.000000000 -0400 31853+++ linux-3.0.7/drivers/net/tokenring/skisa.c 2011-08-23 21:47:55.000000000 -0400
30151@@ -363,9 +363,11 @@ static int __init sk_isa_init(void) 31854@@ -363,9 +363,11 @@ static int __init sk_isa_init(void)
30152 struct platform_device *pdev; 31855 struct platform_device *pdev;
30153 int i, num = 0, err = 0; 31856 int i, num = 0, err = 0;
@@ -30163,9 +31866,9 @@ diff -urNp linux-3.0.4/drivers/net/tokenring/skisa.c linux-3.0.4/drivers/net/tok
30163 31866
30164 err = platform_driver_register(&sk_isa_driver); 31867 err = platform_driver_register(&sk_isa_driver);
30165 if (err) 31868 if (err)
30166diff -urNp linux-3.0.4/drivers/net/tulip/de2104x.c linux-3.0.4/drivers/net/tulip/de2104x.c 31869diff -urNp linux-3.0.7/drivers/net/tulip/de2104x.c linux-3.0.7/drivers/net/tulip/de2104x.c
30167--- linux-3.0.4/drivers/net/tulip/de2104x.c 2011-07-21 22:17:23.000000000 -0400 31870--- linux-3.0.7/drivers/net/tulip/de2104x.c 2011-07-21 22:17:23.000000000 -0400
30168+++ linux-3.0.4/drivers/net/tulip/de2104x.c 2011-08-23 21:48:14.000000000 -0400 31871+++ linux-3.0.7/drivers/net/tulip/de2104x.c 2011-08-23 21:48:14.000000000 -0400
30169@@ -1794,6 +1794,8 @@ static void __devinit de21041_get_srom_i 31872@@ -1794,6 +1794,8 @@ static void __devinit de21041_get_srom_i
30170 struct de_srom_info_leaf *il; 31873 struct de_srom_info_leaf *il;
30171 void *bufp; 31874 void *bufp;
@@ -30175,9 +31878,9 @@ diff -urNp linux-3.0.4/drivers/net/tulip/de2104x.c linux-3.0.4/drivers/net/tulip
30175 /* download entire eeprom */ 31878 /* download entire eeprom */
30176 for (i = 0; i < DE_EEPROM_WORDS; i++) 31879 for (i = 0; i < DE_EEPROM_WORDS; i++)
30177 ((__le16 *)ee_data)[i] = 31880 ((__le16 *)ee_data)[i] =
30178diff -urNp linux-3.0.4/drivers/net/tulip/de4x5.c linux-3.0.4/drivers/net/tulip/de4x5.c 31881diff -urNp linux-3.0.7/drivers/net/tulip/de4x5.c linux-3.0.7/drivers/net/tulip/de4x5.c
30179--- linux-3.0.4/drivers/net/tulip/de4x5.c 2011-07-21 22:17:23.000000000 -0400 31882--- linux-3.0.7/drivers/net/tulip/de4x5.c 2011-07-21 22:17:23.000000000 -0400
30180+++ linux-3.0.4/drivers/net/tulip/de4x5.c 2011-08-23 21:47:55.000000000 -0400 31883+++ linux-3.0.7/drivers/net/tulip/de4x5.c 2011-08-23 21:47:55.000000000 -0400
30181@@ -5401,7 +5401,7 @@ de4x5_ioctl(struct net_device *dev, stru 31884@@ -5401,7 +5401,7 @@ de4x5_ioctl(struct net_device *dev, stru
30182 for (i=0; i<ETH_ALEN; i++) { 31885 for (i=0; i<ETH_ALEN; i++) {
30183 tmp.addr[i] = dev->dev_addr[i]; 31886 tmp.addr[i] = dev->dev_addr[i];
@@ -30196,9 +31899,33 @@ diff -urNp linux-3.0.4/drivers/net/tulip/de4x5.c linux-3.0.4/drivers/net/tulip/d
30196 return -EFAULT; 31899 return -EFAULT;
30197 break; 31900 break;
30198 } 31901 }
30199diff -urNp linux-3.0.4/drivers/net/usb/hso.c linux-3.0.4/drivers/net/usb/hso.c 31902diff -urNp linux-3.0.7/drivers/net/tulip/eeprom.c linux-3.0.7/drivers/net/tulip/eeprom.c
30200--- linux-3.0.4/drivers/net/usb/hso.c 2011-07-21 22:17:23.000000000 -0400 31903--- linux-3.0.7/drivers/net/tulip/eeprom.c 2011-07-21 22:17:23.000000000 -0400
30201+++ linux-3.0.4/drivers/net/usb/hso.c 2011-08-23 21:47:55.000000000 -0400 31904+++ linux-3.0.7/drivers/net/tulip/eeprom.c 2011-10-11 10:44:33.000000000 -0400
31905@@ -81,7 +81,7 @@ static struct eeprom_fixup eeprom_fixups
31906 {NULL}};
31907
31908
31909-static const char *block_name[] __devinitdata = {
31910+static const char *block_name[] __devinitconst = {
31911 "21140 non-MII",
31912 "21140 MII PHY",
31913 "21142 Serial PHY",
31914diff -urNp linux-3.0.7/drivers/net/tulip/winbond-840.c linux-3.0.7/drivers/net/tulip/winbond-840.c
31915--- linux-3.0.7/drivers/net/tulip/winbond-840.c 2011-07-21 22:17:23.000000000 -0400
31916+++ linux-3.0.7/drivers/net/tulip/winbond-840.c 2011-10-11 10:44:33.000000000 -0400
31917@@ -236,7 +236,7 @@ struct pci_id_info {
31918 int drv_flags; /* Driver use, intended as capability flags. */
31919 };
31920
31921-static const struct pci_id_info pci_id_tbl[] __devinitdata = {
31922+static const struct pci_id_info pci_id_tbl[] __devinitconst = {
31923 { /* Sometime a Level-One switch card. */
31924 "Winbond W89c840", CanHaveMII | HasBrokenTx | FDXOnNoMII},
31925 { "Winbond W89c840", CanHaveMII | HasBrokenTx},
31926diff -urNp linux-3.0.7/drivers/net/usb/hso.c linux-3.0.7/drivers/net/usb/hso.c
31927--- linux-3.0.7/drivers/net/usb/hso.c 2011-07-21 22:17:23.000000000 -0400
31928+++ linux-3.0.7/drivers/net/usb/hso.c 2011-08-23 21:47:55.000000000 -0400
30202@@ -71,7 +71,7 @@ 31929@@ -71,7 +71,7 @@
30203 #include <asm/byteorder.h> 31930 #include <asm/byteorder.h>
30204 #include <linux/serial_core.h> 31931 #include <linux/serial_core.h>
@@ -30295,9 +32022,9 @@ diff -urNp linux-3.0.4/drivers/net/usb/hso.c linux-3.0.4/drivers/net/usb/hso.c
30295 result = 32022 result =
30296 hso_start_serial_device(serial_table[i], GFP_NOIO); 32023 hso_start_serial_device(serial_table[i], GFP_NOIO);
30297 hso_kick_transmit(dev2ser(serial_table[i])); 32024 hso_kick_transmit(dev2ser(serial_table[i]));
30298diff -urNp linux-3.0.4/drivers/net/vmxnet3/vmxnet3_ethtool.c linux-3.0.4/drivers/net/vmxnet3/vmxnet3_ethtool.c 32025diff -urNp linux-3.0.7/drivers/net/vmxnet3/vmxnet3_ethtool.c linux-3.0.7/drivers/net/vmxnet3/vmxnet3_ethtool.c
30299--- linux-3.0.4/drivers/net/vmxnet3/vmxnet3_ethtool.c 2011-07-21 22:17:23.000000000 -0400 32026--- linux-3.0.7/drivers/net/vmxnet3/vmxnet3_ethtool.c 2011-07-21 22:17:23.000000000 -0400
30300+++ linux-3.0.4/drivers/net/vmxnet3/vmxnet3_ethtool.c 2011-08-23 21:47:55.000000000 -0400 32027+++ linux-3.0.7/drivers/net/vmxnet3/vmxnet3_ethtool.c 2011-08-23 21:47:55.000000000 -0400
30301@@ -594,8 +594,7 @@ vmxnet3_set_rss_indir(struct net_device 32028@@ -594,8 +594,7 @@ vmxnet3_set_rss_indir(struct net_device
30302 * Return with error code if any of the queue indices 32029 * Return with error code if any of the queue indices
30303 * is out of range 32030 * is out of range
@@ -30308,9 +32035,9 @@ diff -urNp linux-3.0.4/drivers/net/vmxnet3/vmxnet3_ethtool.c linux-3.0.4/drivers
30308 return -EINVAL; 32035 return -EINVAL;
30309 } 32036 }
30310 32037
30311diff -urNp linux-3.0.4/drivers/net/vxge/vxge-config.h linux-3.0.4/drivers/net/vxge/vxge-config.h 32038diff -urNp linux-3.0.7/drivers/net/vxge/vxge-config.h linux-3.0.7/drivers/net/vxge/vxge-config.h
30312--- linux-3.0.4/drivers/net/vxge/vxge-config.h 2011-07-21 22:17:23.000000000 -0400 32039--- linux-3.0.7/drivers/net/vxge/vxge-config.h 2011-07-21 22:17:23.000000000 -0400
30313+++ linux-3.0.4/drivers/net/vxge/vxge-config.h 2011-08-23 21:47:55.000000000 -0400 32040+++ linux-3.0.7/drivers/net/vxge/vxge-config.h 2011-08-23 21:47:55.000000000 -0400
30314@@ -512,7 +512,7 @@ struct vxge_hw_uld_cbs { 32041@@ -512,7 +512,7 @@ struct vxge_hw_uld_cbs {
30315 void (*link_down)(struct __vxge_hw_device *devh); 32042 void (*link_down)(struct __vxge_hw_device *devh);
30316 void (*crit_err)(struct __vxge_hw_device *devh, 32043 void (*crit_err)(struct __vxge_hw_device *devh,
@@ -30320,9 +32047,9 @@ diff -urNp linux-3.0.4/drivers/net/vxge/vxge-config.h linux-3.0.4/drivers/net/vx
30320 32047
30321 /* 32048 /*
30322 * struct __vxge_hw_blockpool_entry - Block private data structure 32049 * struct __vxge_hw_blockpool_entry - Block private data structure
30323diff -urNp linux-3.0.4/drivers/net/vxge/vxge-main.c linux-3.0.4/drivers/net/vxge/vxge-main.c 32050diff -urNp linux-3.0.7/drivers/net/vxge/vxge-main.c linux-3.0.7/drivers/net/vxge/vxge-main.c
30324--- linux-3.0.4/drivers/net/vxge/vxge-main.c 2011-07-21 22:17:23.000000000 -0400 32051--- linux-3.0.7/drivers/net/vxge/vxge-main.c 2011-07-21 22:17:23.000000000 -0400
30325+++ linux-3.0.4/drivers/net/vxge/vxge-main.c 2011-08-23 21:48:14.000000000 -0400 32052+++ linux-3.0.7/drivers/net/vxge/vxge-main.c 2011-08-23 21:48:14.000000000 -0400
30326@@ -98,6 +98,8 @@ static inline void VXGE_COMPLETE_VPATH_T 32053@@ -98,6 +98,8 @@ static inline void VXGE_COMPLETE_VPATH_T
30327 struct sk_buff *completed[NR_SKB_COMPLETED]; 32054 struct sk_buff *completed[NR_SKB_COMPLETED];
30328 int more; 32055 int more;
@@ -30341,9 +32068,9 @@ diff -urNp linux-3.0.4/drivers/net/vxge/vxge-main.c linux-3.0.4/drivers/net/vxge
30341 /* 32068 /*
30342 * Filling 32069 * Filling
30343 * - itable with bucket numbers 32070 * - itable with bucket numbers
30344diff -urNp linux-3.0.4/drivers/net/vxge/vxge-traffic.h linux-3.0.4/drivers/net/vxge/vxge-traffic.h 32071diff -urNp linux-3.0.7/drivers/net/vxge/vxge-traffic.h linux-3.0.7/drivers/net/vxge/vxge-traffic.h
30345--- linux-3.0.4/drivers/net/vxge/vxge-traffic.h 2011-07-21 22:17:23.000000000 -0400 32072--- linux-3.0.7/drivers/net/vxge/vxge-traffic.h 2011-07-21 22:17:23.000000000 -0400
30346+++ linux-3.0.4/drivers/net/vxge/vxge-traffic.h 2011-08-23 21:47:55.000000000 -0400 32073+++ linux-3.0.7/drivers/net/vxge/vxge-traffic.h 2011-08-23 21:47:55.000000000 -0400
30347@@ -2088,7 +2088,7 @@ struct vxge_hw_mempool_cbs { 32074@@ -2088,7 +2088,7 @@ struct vxge_hw_mempool_cbs {
30348 struct vxge_hw_mempool_dma *dma_object, 32075 struct vxge_hw_mempool_dma *dma_object,
30349 u32 index, 32076 u32 index,
@@ -30353,9 +32080,9 @@ diff -urNp linux-3.0.4/drivers/net/vxge/vxge-traffic.h linux-3.0.4/drivers/net/v
30353 32080
30354 #define VXGE_HW_VIRTUAL_PATH_HANDLE(vpath) \ 32081 #define VXGE_HW_VIRTUAL_PATH_HANDLE(vpath) \
30355 ((struct __vxge_hw_vpath_handle *)(vpath)->vpath_handles.next) 32082 ((struct __vxge_hw_vpath_handle *)(vpath)->vpath_handles.next)
30356diff -urNp linux-3.0.4/drivers/net/wan/cycx_x25.c linux-3.0.4/drivers/net/wan/cycx_x25.c 32083diff -urNp linux-3.0.7/drivers/net/wan/cycx_x25.c linux-3.0.7/drivers/net/wan/cycx_x25.c
30357--- linux-3.0.4/drivers/net/wan/cycx_x25.c 2011-07-21 22:17:23.000000000 -0400 32084--- linux-3.0.7/drivers/net/wan/cycx_x25.c 2011-07-21 22:17:23.000000000 -0400
30358+++ linux-3.0.4/drivers/net/wan/cycx_x25.c 2011-08-23 21:48:14.000000000 -0400 32085+++ linux-3.0.7/drivers/net/wan/cycx_x25.c 2011-08-23 21:48:14.000000000 -0400
30359@@ -1018,6 +1018,8 @@ static void hex_dump(char *msg, unsigned 32086@@ -1018,6 +1018,8 @@ static void hex_dump(char *msg, unsigned
30360 unsigned char hex[1024], 32087 unsigned char hex[1024],
30361 * phex = hex; 32088 * phex = hex;
@@ -30365,9 +32092,9 @@ diff -urNp linux-3.0.4/drivers/net/wan/cycx_x25.c linux-3.0.4/drivers/net/wan/cy
30365 if (len >= (sizeof(hex) / 2)) 32092 if (len >= (sizeof(hex) / 2))
30366 len = (sizeof(hex) / 2) - 1; 32093 len = (sizeof(hex) / 2) - 1;
30367 32094
30368diff -urNp linux-3.0.4/drivers/net/wan/hdlc_x25.c linux-3.0.4/drivers/net/wan/hdlc_x25.c 32095diff -urNp linux-3.0.7/drivers/net/wan/hdlc_x25.c linux-3.0.7/drivers/net/wan/hdlc_x25.c
30369--- linux-3.0.4/drivers/net/wan/hdlc_x25.c 2011-07-21 22:17:23.000000000 -0400 32096--- linux-3.0.7/drivers/net/wan/hdlc_x25.c 2011-07-21 22:17:23.000000000 -0400
30370+++ linux-3.0.4/drivers/net/wan/hdlc_x25.c 2011-08-23 21:47:55.000000000 -0400 32097+++ linux-3.0.7/drivers/net/wan/hdlc_x25.c 2011-08-23 21:47:55.000000000 -0400
30371@@ -136,16 +136,16 @@ static netdev_tx_t x25_xmit(struct sk_bu 32098@@ -136,16 +136,16 @@ static netdev_tx_t x25_xmit(struct sk_bu
30372 32099
30373 static int x25_open(struct net_device *dev) 32100 static int x25_open(struct net_device *dev)
@@ -30393,9 +32120,9 @@ diff -urNp linux-3.0.4/drivers/net/wan/hdlc_x25.c linux-3.0.4/drivers/net/wan/hd
30393 result = lapb_register(dev, &cb); 32120 result = lapb_register(dev, &cb);
30394 if (result != LAPB_OK) 32121 if (result != LAPB_OK)
30395 return result; 32122 return result;
30396diff -urNp linux-3.0.4/drivers/net/wimax/i2400m/usb-fw.c linux-3.0.4/drivers/net/wimax/i2400m/usb-fw.c 32123diff -urNp linux-3.0.7/drivers/net/wimax/i2400m/usb-fw.c linux-3.0.7/drivers/net/wimax/i2400m/usb-fw.c
30397--- linux-3.0.4/drivers/net/wimax/i2400m/usb-fw.c 2011-07-21 22:17:23.000000000 -0400 32124--- linux-3.0.7/drivers/net/wimax/i2400m/usb-fw.c 2011-07-21 22:17:23.000000000 -0400
30398+++ linux-3.0.4/drivers/net/wimax/i2400m/usb-fw.c 2011-08-23 21:48:14.000000000 -0400 32125+++ linux-3.0.7/drivers/net/wimax/i2400m/usb-fw.c 2011-08-23 21:48:14.000000000 -0400
30399@@ -287,6 +287,8 @@ ssize_t i2400mu_bus_bm_wait_for_ack(stru 32126@@ -287,6 +287,8 @@ ssize_t i2400mu_bus_bm_wait_for_ack(stru
30400 int do_autopm = 1; 32127 int do_autopm = 1;
30401 DECLARE_COMPLETION_ONSTACK(notif_completion); 32128 DECLARE_COMPLETION_ONSTACK(notif_completion);
@@ -30405,9 +32132,9 @@ diff -urNp linux-3.0.4/drivers/net/wimax/i2400m/usb-fw.c linux-3.0.4/drivers/net
30405 d_fnstart(8, dev, "(i2400m %p ack %p size %zu)\n", 32132 d_fnstart(8, dev, "(i2400m %p ack %p size %zu)\n",
30406 i2400m, ack, ack_size); 32133 i2400m, ack, ack_size);
30407 BUG_ON(_ack == i2400m->bm_ack_buf); 32134 BUG_ON(_ack == i2400m->bm_ack_buf);
30408diff -urNp linux-3.0.4/drivers/net/wireless/airo.c linux-3.0.4/drivers/net/wireless/airo.c 32135diff -urNp linux-3.0.7/drivers/net/wireless/airo.c linux-3.0.7/drivers/net/wireless/airo.c
30409--- linux-3.0.4/drivers/net/wireless/airo.c 2011-09-02 18:11:21.000000000 -0400 32136--- linux-3.0.7/drivers/net/wireless/airo.c 2011-09-02 18:11:21.000000000 -0400
30410+++ linux-3.0.4/drivers/net/wireless/airo.c 2011-08-23 21:48:14.000000000 -0400 32137+++ linux-3.0.7/drivers/net/wireless/airo.c 2011-08-23 21:48:14.000000000 -0400
30411@@ -3003,6 +3003,8 @@ static void airo_process_scan_results (s 32138@@ -3003,6 +3003,8 @@ static void airo_process_scan_results (s
30412 BSSListElement * loop_net; 32139 BSSListElement * loop_net;
30413 BSSListElement * tmp_net; 32140 BSSListElement * tmp_net;
@@ -30462,9 +32189,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/airo.c linux-3.0.4/drivers/net/wirel
30462 /* Get stats out of the card */ 32189 /* Get stats out of the card */
30463 clear_bit(JOB_WSTATS, &local->jobs); 32190 clear_bit(JOB_WSTATS, &local->jobs);
30464 if (local->power.event) { 32191 if (local->power.event) {
30465diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath5k/debug.c linux-3.0.4/drivers/net/wireless/ath/ath5k/debug.c 32192diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath5k/debug.c linux-3.0.7/drivers/net/wireless/ath/ath5k/debug.c
30466--- linux-3.0.4/drivers/net/wireless/ath/ath5k/debug.c 2011-07-21 22:17:23.000000000 -0400 32193--- linux-3.0.7/drivers/net/wireless/ath/ath5k/debug.c 2011-07-21 22:17:23.000000000 -0400
30467+++ linux-3.0.4/drivers/net/wireless/ath/ath5k/debug.c 2011-08-23 21:48:14.000000000 -0400 32194+++ linux-3.0.7/drivers/net/wireless/ath/ath5k/debug.c 2011-08-23 21:48:14.000000000 -0400
30468@@ -204,6 +204,8 @@ static ssize_t read_file_beacon(struct f 32195@@ -204,6 +204,8 @@ static ssize_t read_file_beacon(struct f
30469 unsigned int v; 32196 unsigned int v;
30470 u64 tsf; 32197 u64 tsf;
@@ -30528,9 +32255,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath5k/debug.c linux-3.0.4/driver
30528 len += snprintf(buf+len, sizeof(buf)-len, 32255 len += snprintf(buf+len, sizeof(buf)-len,
30529 "available txbuffers: %d\n", sc->txbuf_len); 32256 "available txbuffers: %d\n", sc->txbuf_len);
30530 32257
30531diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath9k/ar9003_calib.c linux-3.0.4/drivers/net/wireless/ath/ath9k/ar9003_calib.c 32258diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_calib.c linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_calib.c
30532--- linux-3.0.4/drivers/net/wireless/ath/ath9k/ar9003_calib.c 2011-07-21 22:17:23.000000000 -0400 32259--- linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_calib.c 2011-07-21 22:17:23.000000000 -0400
30533+++ linux-3.0.4/drivers/net/wireless/ath/ath9k/ar9003_calib.c 2011-08-23 21:48:14.000000000 -0400 32260+++ linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_calib.c 2011-08-23 21:48:14.000000000 -0400
30534@@ -757,6 +757,8 @@ static void ar9003_hw_tx_iq_cal_post_pro 32261@@ -757,6 +757,8 @@ static void ar9003_hw_tx_iq_cal_post_pro
30535 int i, im, j; 32262 int i, im, j;
30536 int nmeasurement; 32263 int nmeasurement;
@@ -30540,9 +32267,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath9k/ar9003_calib.c linux-3.0.4
30540 for (i = 0; i < AR9300_MAX_CHAINS; i++) { 32267 for (i = 0; i < AR9300_MAX_CHAINS; i++) {
30541 if (ah->txchainmask & (1 << i)) 32268 if (ah->txchainmask & (1 << i))
30542 num_chains++; 32269 num_chains++;
30543diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath9k/ar9003_paprd.c linux-3.0.4/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 32270diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_paprd.c linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_paprd.c
30544--- linux-3.0.4/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 2011-07-21 22:17:23.000000000 -0400 32271--- linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 2011-07-21 22:17:23.000000000 -0400
30545+++ linux-3.0.4/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 2011-08-23 21:48:14.000000000 -0400 32272+++ linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 2011-08-23 21:48:14.000000000 -0400
30546@@ -356,6 +356,8 @@ static bool create_pa_curve(u32 *data_L, 32273@@ -356,6 +356,8 @@ static bool create_pa_curve(u32 *data_L,
30547 int theta_low_bin = 0; 32274 int theta_low_bin = 0;
30548 int i; 32275 int i;
@@ -30552,9 +32279,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath9k/ar9003_paprd.c linux-3.0.4
30552 /* disregard any bin that contains <= 16 samples */ 32279 /* disregard any bin that contains <= 16 samples */
30553 thresh_accum_cnt = 16; 32280 thresh_accum_cnt = 16;
30554 scale_factor = 5; 32281 scale_factor = 5;
30555diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath9k/debug.c linux-3.0.4/drivers/net/wireless/ath/ath9k/debug.c 32282diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath9k/debug.c linux-3.0.7/drivers/net/wireless/ath/ath9k/debug.c
30556--- linux-3.0.4/drivers/net/wireless/ath/ath9k/debug.c 2011-07-21 22:17:23.000000000 -0400 32283--- linux-3.0.7/drivers/net/wireless/ath/ath9k/debug.c 2011-07-21 22:17:23.000000000 -0400
30557+++ linux-3.0.4/drivers/net/wireless/ath/ath9k/debug.c 2011-08-23 21:48:14.000000000 -0400 32284+++ linux-3.0.7/drivers/net/wireless/ath/ath9k/debug.c 2011-08-23 21:48:14.000000000 -0400
30558@@ -337,6 +337,8 @@ static ssize_t read_file_interrupt(struc 32285@@ -337,6 +337,8 @@ static ssize_t read_file_interrupt(struc
30559 char buf[512]; 32286 char buf[512];
30560 unsigned int len = 0; 32287 unsigned int len = 0;
@@ -30573,9 +32300,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath9k/debug.c linux-3.0.4/driver
30573 len += snprintf(buf + len, sizeof(buf) - len, 32300 len += snprintf(buf + len, sizeof(buf) - len,
30574 "%s (chan=%d center-freq: %d MHz channel-type: %d (%s))\n", 32301 "%s (chan=%d center-freq: %d MHz channel-type: %d (%s))\n",
30575 wiphy_name(sc->hw->wiphy), 32302 wiphy_name(sc->hw->wiphy),
30576diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath9k/htc_drv_debug.c linux-3.0.4/drivers/net/wireless/ath/ath9k/htc_drv_debug.c 32303diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath9k/htc_drv_debug.c linux-3.0.7/drivers/net/wireless/ath/ath9k/htc_drv_debug.c
30577--- linux-3.0.4/drivers/net/wireless/ath/ath9k/htc_drv_debug.c 2011-07-21 22:17:23.000000000 -0400 32304--- linux-3.0.7/drivers/net/wireless/ath/ath9k/htc_drv_debug.c 2011-07-21 22:17:23.000000000 -0400
30578+++ linux-3.0.4/drivers/net/wireless/ath/ath9k/htc_drv_debug.c 2011-08-23 21:48:14.000000000 -0400 32305+++ linux-3.0.7/drivers/net/wireless/ath/ath9k/htc_drv_debug.c 2011-08-23 21:48:14.000000000 -0400
30579@@ -31,6 +31,8 @@ static ssize_t read_file_tgt_int_stats(s 32306@@ -31,6 +31,8 @@ static ssize_t read_file_tgt_int_stats(s
30580 unsigned int len = 0; 32307 unsigned int len = 0;
30581 int ret = 0; 32308 int ret = 0;
@@ -30630,9 +32357,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath9k/htc_drv_debug.c linux-3.0.
30630 len += snprintf(buf + len, sizeof(buf) - len, "%20s : %10u\n", 32357 len += snprintf(buf + len, sizeof(buf) - len, "%20s : %10u\n",
30631 "Mgmt endpoint", skb_queue_len(&priv->tx.mgmt_ep_queue)); 32358 "Mgmt endpoint", skb_queue_len(&priv->tx.mgmt_ep_queue));
30632 32359
30633diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath9k/hw.h linux-3.0.4/drivers/net/wireless/ath/ath9k/hw.h 32360diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath9k/hw.h linux-3.0.7/drivers/net/wireless/ath/ath9k/hw.h
30634--- linux-3.0.4/drivers/net/wireless/ath/ath9k/hw.h 2011-09-02 18:11:21.000000000 -0400 32361--- linux-3.0.7/drivers/net/wireless/ath/ath9k/hw.h 2011-09-02 18:11:21.000000000 -0400
30635+++ linux-3.0.4/drivers/net/wireless/ath/ath9k/hw.h 2011-08-23 21:47:55.000000000 -0400 32362+++ linux-3.0.7/drivers/net/wireless/ath/ath9k/hw.h 2011-08-23 21:47:55.000000000 -0400
30636@@ -585,7 +585,7 @@ struct ath_hw_private_ops { 32363@@ -585,7 +585,7 @@ struct ath_hw_private_ops {
30637 32364
30638 /* ANI */ 32365 /* ANI */
@@ -30660,9 +32387,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath9k/hw.h linux-3.0.4/drivers/n
30660 32387
30661 struct ieee80211_hw *hw; 32388 struct ieee80211_hw *hw;
30662 struct ath_common common; 32389 struct ath_common common;
30663diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath.h linux-3.0.4/drivers/net/wireless/ath/ath.h 32390diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath.h linux-3.0.7/drivers/net/wireless/ath/ath.h
30664--- linux-3.0.4/drivers/net/wireless/ath/ath.h 2011-07-21 22:17:23.000000000 -0400 32391--- linux-3.0.7/drivers/net/wireless/ath/ath.h 2011-07-21 22:17:23.000000000 -0400
30665+++ linux-3.0.4/drivers/net/wireless/ath/ath.h 2011-08-23 21:47:55.000000000 -0400 32392+++ linux-3.0.7/drivers/net/wireless/ath/ath.h 2011-08-23 21:47:55.000000000 -0400
30666@@ -121,6 +121,7 @@ struct ath_ops { 32393@@ -121,6 +121,7 @@ struct ath_ops {
30667 void (*write_flush) (void *); 32394 void (*write_flush) (void *);
30668 u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr); 32395 u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr);
@@ -30671,9 +32398,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/ath/ath.h linux-3.0.4/drivers/net/wi
30671 32398
30672 struct ath_common; 32399 struct ath_common;
30673 struct ath_bus_ops; 32400 struct ath_bus_ops;
30674diff -urNp linux-3.0.4/drivers/net/wireless/ipw2x00/ipw2100.c linux-3.0.4/drivers/net/wireless/ipw2x00/ipw2100.c 32401diff -urNp linux-3.0.7/drivers/net/wireless/ipw2x00/ipw2100.c linux-3.0.7/drivers/net/wireless/ipw2x00/ipw2100.c
30675--- linux-3.0.4/drivers/net/wireless/ipw2x00/ipw2100.c 2011-07-21 22:17:23.000000000 -0400 32402--- linux-3.0.7/drivers/net/wireless/ipw2x00/ipw2100.c 2011-07-21 22:17:23.000000000 -0400
30676+++ linux-3.0.4/drivers/net/wireless/ipw2x00/ipw2100.c 2011-08-23 21:48:14.000000000 -0400 32403+++ linux-3.0.7/drivers/net/wireless/ipw2x00/ipw2100.c 2011-08-23 21:48:14.000000000 -0400
30677@@ -2100,6 +2100,8 @@ static int ipw2100_set_essid(struct ipw2 32404@@ -2100,6 +2100,8 @@ static int ipw2100_set_essid(struct ipw2
30678 int err; 32405 int err;
30679 DECLARE_SSID_BUF(ssid); 32406 DECLARE_SSID_BUF(ssid);
@@ -30692,9 +32419,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/ipw2x00/ipw2100.c linux-3.0.4/driver
30692 IPW_DEBUG_HC("WEP_KEY_INFO: index = %d, len = %d/%d\n", 32419 IPW_DEBUG_HC("WEP_KEY_INFO: index = %d, len = %d/%d\n",
30693 idx, keylen, len); 32420 idx, keylen, len);
30694 32421
30695diff -urNp linux-3.0.4/drivers/net/wireless/ipw2x00/libipw_rx.c linux-3.0.4/drivers/net/wireless/ipw2x00/libipw_rx.c 32422diff -urNp linux-3.0.7/drivers/net/wireless/ipw2x00/libipw_rx.c linux-3.0.7/drivers/net/wireless/ipw2x00/libipw_rx.c
30696--- linux-3.0.4/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-07-21 22:17:23.000000000 -0400 32423--- linux-3.0.7/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-07-21 22:17:23.000000000 -0400
30697+++ linux-3.0.4/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-08-23 21:48:14.000000000 -0400 32424+++ linux-3.0.7/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-08-23 21:48:14.000000000 -0400
30698@@ -1565,6 +1565,8 @@ static void libipw_process_probe_respons 32425@@ -1565,6 +1565,8 @@ static void libipw_process_probe_respons
30699 unsigned long flags; 32426 unsigned long flags;
30700 DECLARE_SSID_BUF(ssid); 32427 DECLARE_SSID_BUF(ssid);
@@ -30704,9 +32431,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/ipw2x00/libipw_rx.c linux-3.0.4/driv
30704 LIBIPW_DEBUG_SCAN("'%s' (%pM" 32431 LIBIPW_DEBUG_SCAN("'%s' (%pM"
30705 "): %c%c%c%c %c%c%c%c-%c%c%c%c %c%c%c%c\n", 32432 "): %c%c%c%c %c%c%c%c-%c%c%c%c %c%c%c%c\n",
30706 print_ssid(ssid, info_element->data, info_element->len), 32433 print_ssid(ssid, info_element->data, info_element->len),
30707diff -urNp linux-3.0.4/drivers/net/wireless/iwlegacy/iwl3945-base.c linux-3.0.4/drivers/net/wireless/iwlegacy/iwl3945-base.c 32434diff -urNp linux-3.0.7/drivers/net/wireless/iwlegacy/iwl3945-base.c linux-3.0.7/drivers/net/wireless/iwlegacy/iwl3945-base.c
30708--- linux-3.0.4/drivers/net/wireless/iwlegacy/iwl3945-base.c 2011-07-21 22:17:23.000000000 -0400 32435--- linux-3.0.7/drivers/net/wireless/iwlegacy/iwl3945-base.c 2011-10-16 21:54:54.000000000 -0400
30709+++ linux-3.0.4/drivers/net/wireless/iwlegacy/iwl3945-base.c 2011-08-23 21:47:55.000000000 -0400 32436+++ linux-3.0.7/drivers/net/wireless/iwlegacy/iwl3945-base.c 2011-10-16 21:55:27.000000000 -0400
30710@@ -3962,7 +3962,9 @@ static int iwl3945_pci_probe(struct pci_ 32437@@ -3962,7 +3962,9 @@ static int iwl3945_pci_probe(struct pci_
30711 */ 32438 */
30712 if (iwl3945_mod_params.disable_hw_scan) { 32439 if (iwl3945_mod_params.disable_hw_scan) {
@@ -30718,9 +32445,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/iwlegacy/iwl3945-base.c linux-3.0.4/
30718 } 32445 }
30719 32446
30720 IWL_DEBUG_INFO(priv, "*** LOAD DRIVER ***\n"); 32447 IWL_DEBUG_INFO(priv, "*** LOAD DRIVER ***\n");
30721diff -urNp linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-agn-rs.c linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 32448diff -urNp linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-agn-rs.c linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
30722--- linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-07-21 22:17:23.000000000 -0400 32449--- linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-07-21 22:17:23.000000000 -0400
30723+++ linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-08-23 21:48:14.000000000 -0400 32450+++ linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-08-23 21:48:14.000000000 -0400
30724@@ -910,6 +910,8 @@ static void rs_tx_status(void *priv_r, s 32451@@ -910,6 +910,8 @@ static void rs_tx_status(void *priv_r, s
30725 struct iwl_station_priv *sta_priv = (void *)sta->drv_priv; 32452 struct iwl_station_priv *sta_priv = (void *)sta->drv_priv;
30726 struct iwl_rxon_context *ctx = sta_priv->common.ctx; 32453 struct iwl_rxon_context *ctx = sta_priv->common.ctx;
@@ -30739,9 +32466,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-agn-rs.c linux-3.0.4/dri
30739 /* Override starting rate (index 0) if needed for debug purposes */ 32466 /* Override starting rate (index 0) if needed for debug purposes */
30740 rs_dbgfs_set_mcs(lq_sta, &new_rate, index); 32467 rs_dbgfs_set_mcs(lq_sta, &new_rate, index);
30741 32468
30742diff -urNp linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-debugfs.c linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-debugfs.c 32469diff -urNp linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debugfs.c linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debugfs.c
30743--- linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-07-21 22:17:23.000000000 -0400 32470--- linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-07-21 22:17:23.000000000 -0400
30744+++ linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-08-23 21:48:14.000000000 -0400 32471+++ linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-08-23 21:48:14.000000000 -0400
30745@@ -548,6 +548,8 @@ static ssize_t iwl_dbgfs_status_read(str 32472@@ -548,6 +548,8 @@ static ssize_t iwl_dbgfs_status_read(str
30746 int pos = 0; 32473 int pos = 0;
30747 const size_t bufsz = sizeof(buf); 32474 const size_t bufsz = sizeof(buf);
@@ -30760,9 +32487,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-debugfs.c linux-3.0.4/dr
30760 for_each_context(priv, ctx) { 32487 for_each_context(priv, ctx) {
30761 pos += scnprintf(buf + pos, bufsz - pos, "context %d:\n", 32488 pos += scnprintf(buf + pos, bufsz - pos, "context %d:\n",
30762 ctx->ctxid); 32489 ctx->ctxid);
30763diff -urNp linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-debug.h linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-debug.h 32490diff -urNp linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debug.h linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debug.h
30764--- linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-07-21 22:17:23.000000000 -0400 32491--- linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-07-21 22:17:23.000000000 -0400
30765+++ linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-08-23 21:47:55.000000000 -0400 32492+++ linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-08-23 21:47:55.000000000 -0400
30766@@ -68,8 +68,8 @@ do { 32493@@ -68,8 +68,8 @@ do {
30767 } while (0) 32494 } while (0)
30768 32495
@@ -30774,9 +32501,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/iwlwifi/iwl-debug.h linux-3.0.4/driv
30774 static inline void iwl_print_hex_dump(struct iwl_priv *priv, int level, 32501 static inline void iwl_print_hex_dump(struct iwl_priv *priv, int level,
30775 const void *p, u32 len) 32502 const void *p, u32 len)
30776 {} 32503 {}
30777diff -urNp linux-3.0.4/drivers/net/wireless/iwmc3200wifi/debugfs.c linux-3.0.4/drivers/net/wireless/iwmc3200wifi/debugfs.c 32504diff -urNp linux-3.0.7/drivers/net/wireless/iwmc3200wifi/debugfs.c linux-3.0.7/drivers/net/wireless/iwmc3200wifi/debugfs.c
30778--- linux-3.0.4/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-07-21 22:17:23.000000000 -0400 32505--- linux-3.0.7/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-07-21 22:17:23.000000000 -0400
30779+++ linux-3.0.4/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-08-23 21:48:14.000000000 -0400 32506+++ linux-3.0.7/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-08-23 21:48:14.000000000 -0400
30780@@ -327,6 +327,8 @@ static ssize_t iwm_debugfs_fw_err_read(s 32507@@ -327,6 +327,8 @@ static ssize_t iwm_debugfs_fw_err_read(s
30781 int buf_len = 512; 32508 int buf_len = 512;
30782 size_t len = 0; 32509 size_t len = 0;
@@ -30786,9 +32513,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/iwmc3200wifi/debugfs.c linux-3.0.4/d
30786 if (*ppos != 0) 32513 if (*ppos != 0)
30787 return 0; 32514 return 0;
30788 if (count < sizeof(buf)) 32515 if (count < sizeof(buf))
30789diff -urNp linux-3.0.4/drivers/net/wireless/mac80211_hwsim.c linux-3.0.4/drivers/net/wireless/mac80211_hwsim.c 32516diff -urNp linux-3.0.7/drivers/net/wireless/mac80211_hwsim.c linux-3.0.7/drivers/net/wireless/mac80211_hwsim.c
30790--- linux-3.0.4/drivers/net/wireless/mac80211_hwsim.c 2011-07-21 22:17:23.000000000 -0400 32517--- linux-3.0.7/drivers/net/wireless/mac80211_hwsim.c 2011-07-21 22:17:23.000000000 -0400
30791+++ linux-3.0.4/drivers/net/wireless/mac80211_hwsim.c 2011-08-23 21:47:55.000000000 -0400 32518+++ linux-3.0.7/drivers/net/wireless/mac80211_hwsim.c 2011-08-23 21:47:55.000000000 -0400
30792@@ -1260,9 +1260,11 @@ static int __init init_mac80211_hwsim(vo 32519@@ -1260,9 +1260,11 @@ static int __init init_mac80211_hwsim(vo
30793 return -EINVAL; 32520 return -EINVAL;
30794 32521
@@ -30804,9 +32531,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/mac80211_hwsim.c linux-3.0.4/drivers
30804 } 32531 }
30805 32532
30806 spin_lock_init(&hwsim_radio_lock); 32533 spin_lock_init(&hwsim_radio_lock);
30807diff -urNp linux-3.0.4/drivers/net/wireless/rndis_wlan.c linux-3.0.4/drivers/net/wireless/rndis_wlan.c 32534diff -urNp linux-3.0.7/drivers/net/wireless/rndis_wlan.c linux-3.0.7/drivers/net/wireless/rndis_wlan.c
30808--- linux-3.0.4/drivers/net/wireless/rndis_wlan.c 2011-07-21 22:17:23.000000000 -0400 32535--- linux-3.0.7/drivers/net/wireless/rndis_wlan.c 2011-07-21 22:17:23.000000000 -0400
30809+++ linux-3.0.4/drivers/net/wireless/rndis_wlan.c 2011-08-23 21:47:55.000000000 -0400 32536+++ linux-3.0.7/drivers/net/wireless/rndis_wlan.c 2011-08-23 21:47:55.000000000 -0400
30810@@ -1277,7 +1277,7 @@ static int set_rts_threshold(struct usbn 32537@@ -1277,7 +1277,7 @@ static int set_rts_threshold(struct usbn
30811 32538
30812 netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold); 32539 netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold);
@@ -30816,9 +32543,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/rndis_wlan.c linux-3.0.4/drivers/net
30816 rts_threshold = 2347; 32543 rts_threshold = 2347;
30817 32544
30818 tmp = cpu_to_le32(rts_threshold); 32545 tmp = cpu_to_le32(rts_threshold);
30819diff -urNp linux-3.0.4/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c linux-3.0.4/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c 32546diff -urNp linux-3.0.7/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c linux-3.0.7/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c
30820--- linux-3.0.4/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c 2011-07-21 22:17:23.000000000 -0400 32547--- linux-3.0.7/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c 2011-07-21 22:17:23.000000000 -0400
30821+++ linux-3.0.4/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c 2011-08-23 21:48:14.000000000 -0400 32548+++ linux-3.0.7/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c 2011-08-23 21:48:14.000000000 -0400
30822@@ -837,6 +837,8 @@ bool _rtl92c_phy_sw_chnl_step_by_step(st 32549@@ -837,6 +837,8 @@ bool _rtl92c_phy_sw_chnl_step_by_step(st
30823 u8 rfpath; 32550 u8 rfpath;
30824 u8 num_total_rfpath = rtlphy->num_total_rfpath; 32551 u8 num_total_rfpath = rtlphy->num_total_rfpath;
@@ -30828,9 +32555,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c linux-
30828 precommoncmdcnt = 0; 32555 precommoncmdcnt = 0;
30829 _rtl92c_phy_set_sw_chnl_cmdarray(precommoncmd, precommoncmdcnt++, 32556 _rtl92c_phy_set_sw_chnl_cmdarray(precommoncmd, precommoncmdcnt++,
30830 MAX_PRECMD_CNT, 32557 MAX_PRECMD_CNT,
30831diff -urNp linux-3.0.4/drivers/net/wireless/wl1251/wl1251.h linux-3.0.4/drivers/net/wireless/wl1251/wl1251.h 32558diff -urNp linux-3.0.7/drivers/net/wireless/wl1251/wl1251.h linux-3.0.7/drivers/net/wireless/wl1251/wl1251.h
30832--- linux-3.0.4/drivers/net/wireless/wl1251/wl1251.h 2011-07-21 22:17:23.000000000 -0400 32559--- linux-3.0.7/drivers/net/wireless/wl1251/wl1251.h 2011-07-21 22:17:23.000000000 -0400
30833+++ linux-3.0.4/drivers/net/wireless/wl1251/wl1251.h 2011-08-23 21:47:55.000000000 -0400 32560+++ linux-3.0.7/drivers/net/wireless/wl1251/wl1251.h 2011-08-23 21:47:55.000000000 -0400
30834@@ -266,7 +266,7 @@ struct wl1251_if_operations { 32561@@ -266,7 +266,7 @@ struct wl1251_if_operations {
30835 void (*reset)(struct wl1251 *wl); 32562 void (*reset)(struct wl1251 *wl);
30836 void (*enable_irq)(struct wl1251 *wl); 32563 void (*enable_irq)(struct wl1251 *wl);
@@ -30840,9 +32567,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/wl1251/wl1251.h linux-3.0.4/drivers/
30840 32567
30841 struct wl1251 { 32568 struct wl1251 {
30842 struct ieee80211_hw *hw; 32569 struct ieee80211_hw *hw;
30843diff -urNp linux-3.0.4/drivers/net/wireless/wl12xx/spi.c linux-3.0.4/drivers/net/wireless/wl12xx/spi.c 32570diff -urNp linux-3.0.7/drivers/net/wireless/wl12xx/spi.c linux-3.0.7/drivers/net/wireless/wl12xx/spi.c
30844--- linux-3.0.4/drivers/net/wireless/wl12xx/spi.c 2011-07-21 22:17:23.000000000 -0400 32571--- linux-3.0.7/drivers/net/wireless/wl12xx/spi.c 2011-07-21 22:17:23.000000000 -0400
30845+++ linux-3.0.4/drivers/net/wireless/wl12xx/spi.c 2011-08-23 21:48:14.000000000 -0400 32572+++ linux-3.0.7/drivers/net/wireless/wl12xx/spi.c 2011-08-23 21:48:14.000000000 -0400
30846@@ -280,6 +280,8 @@ static void wl1271_spi_raw_write(struct 32573@@ -280,6 +280,8 @@ static void wl1271_spi_raw_write(struct
30847 u32 chunk_len; 32574 u32 chunk_len;
30848 int i; 32575 int i;
@@ -30852,9 +32579,9 @@ diff -urNp linux-3.0.4/drivers/net/wireless/wl12xx/spi.c linux-3.0.4/drivers/net
30852 WARN_ON(len > WL1271_AGGR_BUFFER_SIZE); 32579 WARN_ON(len > WL1271_AGGR_BUFFER_SIZE);
30853 32580
30854 spi_message_init(&m); 32581 spi_message_init(&m);
30855diff -urNp linux-3.0.4/drivers/oprofile/buffer_sync.c linux-3.0.4/drivers/oprofile/buffer_sync.c 32582diff -urNp linux-3.0.7/drivers/oprofile/buffer_sync.c linux-3.0.7/drivers/oprofile/buffer_sync.c
30856--- linux-3.0.4/drivers/oprofile/buffer_sync.c 2011-07-21 22:17:23.000000000 -0400 32583--- linux-3.0.7/drivers/oprofile/buffer_sync.c 2011-07-21 22:17:23.000000000 -0400
30857+++ linux-3.0.4/drivers/oprofile/buffer_sync.c 2011-08-23 21:47:55.000000000 -0400 32584+++ linux-3.0.7/drivers/oprofile/buffer_sync.c 2011-08-23 21:47:55.000000000 -0400
30858@@ -343,7 +343,7 @@ static void add_data(struct op_entry *en 32585@@ -343,7 +343,7 @@ static void add_data(struct op_entry *en
30859 if (cookie == NO_COOKIE) 32586 if (cookie == NO_COOKIE)
30860 offset = pc; 32587 offset = pc;
@@ -30890,9 +32617,9 @@ diff -urNp linux-3.0.4/drivers/oprofile/buffer_sync.c linux-3.0.4/drivers/oprofi
30890 } 32617 }
30891 } 32618 }
30892 release_mm(mm); 32619 release_mm(mm);
30893diff -urNp linux-3.0.4/drivers/oprofile/event_buffer.c linux-3.0.4/drivers/oprofile/event_buffer.c 32620diff -urNp linux-3.0.7/drivers/oprofile/event_buffer.c linux-3.0.7/drivers/oprofile/event_buffer.c
30894--- linux-3.0.4/drivers/oprofile/event_buffer.c 2011-07-21 22:17:23.000000000 -0400 32621--- linux-3.0.7/drivers/oprofile/event_buffer.c 2011-07-21 22:17:23.000000000 -0400
30895+++ linux-3.0.4/drivers/oprofile/event_buffer.c 2011-08-23 21:47:55.000000000 -0400 32622+++ linux-3.0.7/drivers/oprofile/event_buffer.c 2011-08-23 21:47:55.000000000 -0400
30896@@ -53,7 +53,7 @@ void add_event_entry(unsigned long value 32623@@ -53,7 +53,7 @@ void add_event_entry(unsigned long value
30897 } 32624 }
30898 32625
@@ -30902,9 +32629,9 @@ diff -urNp linux-3.0.4/drivers/oprofile/event_buffer.c linux-3.0.4/drivers/oprof
30902 return; 32629 return;
30903 } 32630 }
30904 32631
30905diff -urNp linux-3.0.4/drivers/oprofile/oprof.c linux-3.0.4/drivers/oprofile/oprof.c 32632diff -urNp linux-3.0.7/drivers/oprofile/oprof.c linux-3.0.7/drivers/oprofile/oprof.c
30906--- linux-3.0.4/drivers/oprofile/oprof.c 2011-07-21 22:17:23.000000000 -0400 32633--- linux-3.0.7/drivers/oprofile/oprof.c 2011-07-21 22:17:23.000000000 -0400
30907+++ linux-3.0.4/drivers/oprofile/oprof.c 2011-08-23 21:47:55.000000000 -0400 32634+++ linux-3.0.7/drivers/oprofile/oprof.c 2011-08-23 21:47:55.000000000 -0400
30908@@ -110,7 +110,7 @@ static void switch_worker(struct work_st 32635@@ -110,7 +110,7 @@ static void switch_worker(struct work_st
30909 if (oprofile_ops.switch_events()) 32636 if (oprofile_ops.switch_events())
30910 return; 32637 return;
@@ -30914,9 +32641,9 @@ diff -urNp linux-3.0.4/drivers/oprofile/oprof.c linux-3.0.4/drivers/oprofile/opr
30914 start_switch_worker(); 32641 start_switch_worker();
30915 } 32642 }
30916 32643
30917diff -urNp linux-3.0.4/drivers/oprofile/oprofilefs.c linux-3.0.4/drivers/oprofile/oprofilefs.c 32644diff -urNp linux-3.0.7/drivers/oprofile/oprofilefs.c linux-3.0.7/drivers/oprofile/oprofilefs.c
30918--- linux-3.0.4/drivers/oprofile/oprofilefs.c 2011-07-21 22:17:23.000000000 -0400 32645--- linux-3.0.7/drivers/oprofile/oprofilefs.c 2011-07-21 22:17:23.000000000 -0400
30919+++ linux-3.0.4/drivers/oprofile/oprofilefs.c 2011-08-23 21:47:55.000000000 -0400 32646+++ linux-3.0.7/drivers/oprofile/oprofilefs.c 2011-08-23 21:47:55.000000000 -0400
30920@@ -186,7 +186,7 @@ static const struct file_operations atom 32647@@ -186,7 +186,7 @@ static const struct file_operations atom
30921 32648
30922 32649
@@ -30926,9 +32653,9 @@ diff -urNp linux-3.0.4/drivers/oprofile/oprofilefs.c linux-3.0.4/drivers/oprofil
30926 { 32653 {
30927 return __oprofilefs_create_file(sb, root, name, 32654 return __oprofilefs_create_file(sb, root, name,
30928 &atomic_ro_fops, 0444, val); 32655 &atomic_ro_fops, 0444, val);
30929diff -urNp linux-3.0.4/drivers/oprofile/oprofile_stats.c linux-3.0.4/drivers/oprofile/oprofile_stats.c 32656diff -urNp linux-3.0.7/drivers/oprofile/oprofile_stats.c linux-3.0.7/drivers/oprofile/oprofile_stats.c
30930--- linux-3.0.4/drivers/oprofile/oprofile_stats.c 2011-07-21 22:17:23.000000000 -0400 32657--- linux-3.0.7/drivers/oprofile/oprofile_stats.c 2011-07-21 22:17:23.000000000 -0400
30931+++ linux-3.0.4/drivers/oprofile/oprofile_stats.c 2011-08-23 21:47:55.000000000 -0400 32658+++ linux-3.0.7/drivers/oprofile/oprofile_stats.c 2011-08-23 21:47:55.000000000 -0400
30932@@ -30,11 +30,11 @@ void oprofile_reset_stats(void) 32659@@ -30,11 +30,11 @@ void oprofile_reset_stats(void)
30933 cpu_buf->sample_invalid_eip = 0; 32660 cpu_buf->sample_invalid_eip = 0;
30934 } 32661 }
@@ -30946,9 +32673,9 @@ diff -urNp linux-3.0.4/drivers/oprofile/oprofile_stats.c linux-3.0.4/drivers/opr
30946 } 32673 }
30947 32674
30948 32675
30949diff -urNp linux-3.0.4/drivers/oprofile/oprofile_stats.h linux-3.0.4/drivers/oprofile/oprofile_stats.h 32676diff -urNp linux-3.0.7/drivers/oprofile/oprofile_stats.h linux-3.0.7/drivers/oprofile/oprofile_stats.h
30950--- linux-3.0.4/drivers/oprofile/oprofile_stats.h 2011-07-21 22:17:23.000000000 -0400 32677--- linux-3.0.7/drivers/oprofile/oprofile_stats.h 2011-07-21 22:17:23.000000000 -0400
30951+++ linux-3.0.4/drivers/oprofile/oprofile_stats.h 2011-08-23 21:47:55.000000000 -0400 32678+++ linux-3.0.7/drivers/oprofile/oprofile_stats.h 2011-08-23 21:47:55.000000000 -0400
30952@@ -13,11 +13,11 @@ 32679@@ -13,11 +13,11 @@
30953 #include <asm/atomic.h> 32680 #include <asm/atomic.h>
30954 32681
@@ -30966,9 +32693,9 @@ diff -urNp linux-3.0.4/drivers/oprofile/oprofile_stats.h linux-3.0.4/drivers/opr
30966 }; 32693 };
30967 32694
30968 extern struct oprofile_stat_struct oprofile_stats; 32695 extern struct oprofile_stat_struct oprofile_stats;
30969diff -urNp linux-3.0.4/drivers/parport/procfs.c linux-3.0.4/drivers/parport/procfs.c 32696diff -urNp linux-3.0.7/drivers/parport/procfs.c linux-3.0.7/drivers/parport/procfs.c
30970--- linux-3.0.4/drivers/parport/procfs.c 2011-07-21 22:17:23.000000000 -0400 32697--- linux-3.0.7/drivers/parport/procfs.c 2011-07-21 22:17:23.000000000 -0400
30971+++ linux-3.0.4/drivers/parport/procfs.c 2011-08-23 21:47:55.000000000 -0400 32698+++ linux-3.0.7/drivers/parport/procfs.c 2011-08-23 21:47:55.000000000 -0400
30972@@ -64,7 +64,7 @@ static int do_active_device(ctl_table *t 32699@@ -64,7 +64,7 @@ static int do_active_device(ctl_table *t
30973 32700
30974 *ppos += len; 32701 *ppos += len;
@@ -30987,9 +32714,9 @@ diff -urNp linux-3.0.4/drivers/parport/procfs.c linux-3.0.4/drivers/parport/proc
30987 } 32714 }
30988 #endif /* IEEE1284.3 support. */ 32715 #endif /* IEEE1284.3 support. */
30989 32716
30990diff -urNp linux-3.0.4/drivers/pci/hotplug/cpci_hotplug.h linux-3.0.4/drivers/pci/hotplug/cpci_hotplug.h 32717diff -urNp linux-3.0.7/drivers/pci/hotplug/cpci_hotplug.h linux-3.0.7/drivers/pci/hotplug/cpci_hotplug.h
30991--- linux-3.0.4/drivers/pci/hotplug/cpci_hotplug.h 2011-07-21 22:17:23.000000000 -0400 32718--- linux-3.0.7/drivers/pci/hotplug/cpci_hotplug.h 2011-07-21 22:17:23.000000000 -0400
30992+++ linux-3.0.4/drivers/pci/hotplug/cpci_hotplug.h 2011-08-23 21:47:55.000000000 -0400 32719+++ linux-3.0.7/drivers/pci/hotplug/cpci_hotplug.h 2011-08-23 21:47:55.000000000 -0400
30993@@ -59,7 +59,7 @@ struct cpci_hp_controller_ops { 32720@@ -59,7 +59,7 @@ struct cpci_hp_controller_ops {
30994 int (*hardware_test) (struct slot* slot, u32 value); 32721 int (*hardware_test) (struct slot* slot, u32 value);
30995 u8 (*get_power) (struct slot* slot); 32722 u8 (*get_power) (struct slot* slot);
@@ -30999,9 +32726,9 @@ diff -urNp linux-3.0.4/drivers/pci/hotplug/cpci_hotplug.h linux-3.0.4/drivers/pc
30999 32726
31000 struct cpci_hp_controller { 32727 struct cpci_hp_controller {
31001 unsigned int irq; 32728 unsigned int irq;
31002diff -urNp linux-3.0.4/drivers/pci/hotplug/cpqphp_nvram.c linux-3.0.4/drivers/pci/hotplug/cpqphp_nvram.c 32729diff -urNp linux-3.0.7/drivers/pci/hotplug/cpqphp_nvram.c linux-3.0.7/drivers/pci/hotplug/cpqphp_nvram.c
31003--- linux-3.0.4/drivers/pci/hotplug/cpqphp_nvram.c 2011-07-21 22:17:23.000000000 -0400 32730--- linux-3.0.7/drivers/pci/hotplug/cpqphp_nvram.c 2011-07-21 22:17:23.000000000 -0400
31004+++ linux-3.0.4/drivers/pci/hotplug/cpqphp_nvram.c 2011-08-23 21:47:55.000000000 -0400 32731+++ linux-3.0.7/drivers/pci/hotplug/cpqphp_nvram.c 2011-08-23 21:47:55.000000000 -0400
31005@@ -428,9 +428,13 @@ static u32 store_HRT (void __iomem *rom_ 32732@@ -428,9 +428,13 @@ static u32 store_HRT (void __iomem *rom_
31006 32733
31007 void compaq_nvram_init (void __iomem *rom_start) 32734 void compaq_nvram_init (void __iomem *rom_start)
@@ -31016,9 +32743,9 @@ diff -urNp linux-3.0.4/drivers/pci/hotplug/cpqphp_nvram.c linux-3.0.4/drivers/pc
31016 dbg("int15 entry = %p\n", compaq_int15_entry_point); 32743 dbg("int15 entry = %p\n", compaq_int15_entry_point);
31017 32744
31018 /* initialize our int15 lock */ 32745 /* initialize our int15 lock */
31019diff -urNp linux-3.0.4/drivers/pci/pcie/aspm.c linux-3.0.4/drivers/pci/pcie/aspm.c 32746diff -urNp linux-3.0.7/drivers/pci/pcie/aspm.c linux-3.0.7/drivers/pci/pcie/aspm.c
31020--- linux-3.0.4/drivers/pci/pcie/aspm.c 2011-07-21 22:17:23.000000000 -0400 32747--- linux-3.0.7/drivers/pci/pcie/aspm.c 2011-07-21 22:17:23.000000000 -0400
31021+++ linux-3.0.4/drivers/pci/pcie/aspm.c 2011-08-23 21:47:55.000000000 -0400 32748+++ linux-3.0.7/drivers/pci/pcie/aspm.c 2011-08-23 21:47:55.000000000 -0400
31022@@ -27,9 +27,9 @@ 32749@@ -27,9 +27,9 @@
31023 #define MODULE_PARAM_PREFIX "pcie_aspm." 32750 #define MODULE_PARAM_PREFIX "pcie_aspm."
31024 32751
@@ -31032,9 +32759,9 @@ diff -urNp linux-3.0.4/drivers/pci/pcie/aspm.c linux-3.0.4/drivers/pci/pcie/aspm
31032 #define ASPM_STATE_L0S (ASPM_STATE_L0S_UP | ASPM_STATE_L0S_DW) 32759 #define ASPM_STATE_L0S (ASPM_STATE_L0S_UP | ASPM_STATE_L0S_DW)
31033 #define ASPM_STATE_ALL (ASPM_STATE_L0S | ASPM_STATE_L1) 32760 #define ASPM_STATE_ALL (ASPM_STATE_L0S | ASPM_STATE_L1)
31034 32761
31035diff -urNp linux-3.0.4/drivers/pci/probe.c linux-3.0.4/drivers/pci/probe.c 32762diff -urNp linux-3.0.7/drivers/pci/probe.c linux-3.0.7/drivers/pci/probe.c
31036--- linux-3.0.4/drivers/pci/probe.c 2011-07-21 22:17:23.000000000 -0400 32763--- linux-3.0.7/drivers/pci/probe.c 2011-07-21 22:17:23.000000000 -0400
31037+++ linux-3.0.4/drivers/pci/probe.c 2011-08-23 21:47:55.000000000 -0400 32764+++ linux-3.0.7/drivers/pci/probe.c 2011-08-23 21:47:55.000000000 -0400
31038@@ -129,7 +129,7 @@ int __pci_read_base(struct pci_dev *dev, 32765@@ -129,7 +129,7 @@ int __pci_read_base(struct pci_dev *dev,
31039 u32 l, sz, mask; 32766 u32 l, sz, mask;
31040 u16 orig_cmd; 32767 u16 orig_cmd;
@@ -31044,9 +32771,9 @@ diff -urNp linux-3.0.4/drivers/pci/probe.c linux-3.0.4/drivers/pci/probe.c
31044 32771
31045 if (!dev->mmio_always_on) { 32772 if (!dev->mmio_always_on) {
31046 pci_read_config_word(dev, PCI_COMMAND, &orig_cmd); 32773 pci_read_config_word(dev, PCI_COMMAND, &orig_cmd);
31047diff -urNp linux-3.0.4/drivers/pci/proc.c linux-3.0.4/drivers/pci/proc.c 32774diff -urNp linux-3.0.7/drivers/pci/proc.c linux-3.0.7/drivers/pci/proc.c
31048--- linux-3.0.4/drivers/pci/proc.c 2011-07-21 22:17:23.000000000 -0400 32775--- linux-3.0.7/drivers/pci/proc.c 2011-07-21 22:17:23.000000000 -0400
31049+++ linux-3.0.4/drivers/pci/proc.c 2011-08-23 21:48:14.000000000 -0400 32776+++ linux-3.0.7/drivers/pci/proc.c 2011-08-23 21:48:14.000000000 -0400
31050@@ -476,7 +476,16 @@ static const struct file_operations proc 32777@@ -476,7 +476,16 @@ static const struct file_operations proc
31051 static int __init pci_proc_init(void) 32778 static int __init pci_proc_init(void)
31052 { 32779 {
@@ -31064,9 +32791,9 @@ diff -urNp linux-3.0.4/drivers/pci/proc.c linux-3.0.4/drivers/pci/proc.c
31064 proc_create("devices", 0, proc_bus_pci_dir, 32791 proc_create("devices", 0, proc_bus_pci_dir,
31065 &proc_bus_pci_dev_operations); 32792 &proc_bus_pci_dev_operations);
31066 proc_initialized = 1; 32793 proc_initialized = 1;
31067diff -urNp linux-3.0.4/drivers/pci/xen-pcifront.c linux-3.0.4/drivers/pci/xen-pcifront.c 32794diff -urNp linux-3.0.7/drivers/pci/xen-pcifront.c linux-3.0.7/drivers/pci/xen-pcifront.c
31068--- linux-3.0.4/drivers/pci/xen-pcifront.c 2011-07-21 22:17:23.000000000 -0400 32795--- linux-3.0.7/drivers/pci/xen-pcifront.c 2011-07-21 22:17:23.000000000 -0400
31069+++ linux-3.0.4/drivers/pci/xen-pcifront.c 2011-08-23 21:48:14.000000000 -0400 32796+++ linux-3.0.7/drivers/pci/xen-pcifront.c 2011-08-23 21:48:14.000000000 -0400
31070@@ -187,6 +187,8 @@ static int pcifront_bus_read(struct pci_ 32797@@ -187,6 +187,8 @@ static int pcifront_bus_read(struct pci_
31071 struct pcifront_sd *sd = bus->sysdata; 32798 struct pcifront_sd *sd = bus->sysdata;
31072 struct pcifront_device *pdev = pcifront_get_pdev(sd); 32799 struct pcifront_device *pdev = pcifront_get_pdev(sd);
@@ -31112,9 +32839,9 @@ diff -urNp linux-3.0.4/drivers/pci/xen-pcifront.c linux-3.0.4/drivers/pci/xen-pc
31112 err = do_pci_op(pdev, &op); 32839 err = do_pci_op(pdev, &op);
31113 if (likely(!err)) { 32840 if (likely(!err)) {
31114 vector[0] = op.value; 32841 vector[0] = op.value;
31115diff -urNp linux-3.0.4/drivers/platform/x86/thinkpad_acpi.c linux-3.0.4/drivers/platform/x86/thinkpad_acpi.c 32842diff -urNp linux-3.0.7/drivers/platform/x86/thinkpad_acpi.c linux-3.0.7/drivers/platform/x86/thinkpad_acpi.c
31116--- linux-3.0.4/drivers/platform/x86/thinkpad_acpi.c 2011-07-21 22:17:23.000000000 -0400 32843--- linux-3.0.7/drivers/platform/x86/thinkpad_acpi.c 2011-07-21 22:17:23.000000000 -0400
31117+++ linux-3.0.4/drivers/platform/x86/thinkpad_acpi.c 2011-08-23 21:47:55.000000000 -0400 32844+++ linux-3.0.7/drivers/platform/x86/thinkpad_acpi.c 2011-08-23 21:47:55.000000000 -0400
31118@@ -2094,7 +2094,7 @@ static int hotkey_mask_get(void) 32845@@ -2094,7 +2094,7 @@ static int hotkey_mask_get(void)
31119 return 0; 32846 return 0;
31120 } 32847 }
@@ -31124,9 +32851,9 @@ diff -urNp linux-3.0.4/drivers/platform/x86/thinkpad_acpi.c linux-3.0.4/drivers/
31124 { 32851 {
31125 /* log only what the user can fix... */ 32852 /* log only what the user can fix... */
31126 const u32 wantedmask = hotkey_driver_mask & 32853 const u32 wantedmask = hotkey_driver_mask &
31127diff -urNp linux-3.0.4/drivers/pnp/pnpbios/bioscalls.c linux-3.0.4/drivers/pnp/pnpbios/bioscalls.c 32854diff -urNp linux-3.0.7/drivers/pnp/pnpbios/bioscalls.c linux-3.0.7/drivers/pnp/pnpbios/bioscalls.c
31128--- linux-3.0.4/drivers/pnp/pnpbios/bioscalls.c 2011-07-21 22:17:23.000000000 -0400 32855--- linux-3.0.7/drivers/pnp/pnpbios/bioscalls.c 2011-07-21 22:17:23.000000000 -0400
31129+++ linux-3.0.4/drivers/pnp/pnpbios/bioscalls.c 2011-08-23 21:47:55.000000000 -0400 32856+++ linux-3.0.7/drivers/pnp/pnpbios/bioscalls.c 2011-08-23 21:47:55.000000000 -0400
31130@@ -59,7 +59,7 @@ do { \ 32857@@ -59,7 +59,7 @@ do { \
31131 set_desc_limit(&gdt[(selname) >> 3], (size) - 1); \ 32858 set_desc_limit(&gdt[(selname) >> 3], (size) - 1); \
31132 } while(0) 32859 } while(0)
@@ -31183,9 +32910,9 @@ diff -urNp linux-3.0.4/drivers/pnp/pnpbios/bioscalls.c linux-3.0.4/drivers/pnp/p
31183+ 32910+
31184+ pax_close_kernel(); 32911+ pax_close_kernel();
31185 } 32912 }
31186diff -urNp linux-3.0.4/drivers/pnp/resource.c linux-3.0.4/drivers/pnp/resource.c 32913diff -urNp linux-3.0.7/drivers/pnp/resource.c linux-3.0.7/drivers/pnp/resource.c
31187--- linux-3.0.4/drivers/pnp/resource.c 2011-07-21 22:17:23.000000000 -0400 32914--- linux-3.0.7/drivers/pnp/resource.c 2011-07-21 22:17:23.000000000 -0400
31188+++ linux-3.0.4/drivers/pnp/resource.c 2011-08-23 21:47:55.000000000 -0400 32915+++ linux-3.0.7/drivers/pnp/resource.c 2011-08-23 21:47:55.000000000 -0400
31189@@ -360,7 +360,7 @@ int pnp_check_irq(struct pnp_dev *dev, s 32916@@ -360,7 +360,7 @@ int pnp_check_irq(struct pnp_dev *dev, s
31190 return 1; 32917 return 1;
31191 32918
@@ -31204,9 +32931,9 @@ diff -urNp linux-3.0.4/drivers/pnp/resource.c linux-3.0.4/drivers/pnp/resource.c
31204 return 0; 32931 return 0;
31205 32932
31206 /* check if the resource is reserved */ 32933 /* check if the resource is reserved */
31207diff -urNp linux-3.0.4/drivers/power/bq27x00_battery.c linux-3.0.4/drivers/power/bq27x00_battery.c 32934diff -urNp linux-3.0.7/drivers/power/bq27x00_battery.c linux-3.0.7/drivers/power/bq27x00_battery.c
31208--- linux-3.0.4/drivers/power/bq27x00_battery.c 2011-07-21 22:17:23.000000000 -0400 32935--- linux-3.0.7/drivers/power/bq27x00_battery.c 2011-07-21 22:17:23.000000000 -0400
31209+++ linux-3.0.4/drivers/power/bq27x00_battery.c 2011-08-23 21:47:55.000000000 -0400 32936+++ linux-3.0.7/drivers/power/bq27x00_battery.c 2011-08-23 21:47:55.000000000 -0400
31210@@ -67,7 +67,7 @@ 32937@@ -67,7 +67,7 @@
31211 struct bq27x00_device_info; 32938 struct bq27x00_device_info;
31212 struct bq27x00_access_methods { 32939 struct bq27x00_access_methods {
@@ -31216,9 +32943,9 @@ diff -urNp linux-3.0.4/drivers/power/bq27x00_battery.c linux-3.0.4/drivers/power
31216 32943
31217 enum bq27x00_chip { BQ27000, BQ27500 }; 32944 enum bq27x00_chip { BQ27000, BQ27500 };
31218 32945
31219diff -urNp linux-3.0.4/drivers/regulator/max8660.c linux-3.0.4/drivers/regulator/max8660.c 32946diff -urNp linux-3.0.7/drivers/regulator/max8660.c linux-3.0.7/drivers/regulator/max8660.c
31220--- linux-3.0.4/drivers/regulator/max8660.c 2011-07-21 22:17:23.000000000 -0400 32947--- linux-3.0.7/drivers/regulator/max8660.c 2011-07-21 22:17:23.000000000 -0400
31221+++ linux-3.0.4/drivers/regulator/max8660.c 2011-08-23 21:47:55.000000000 -0400 32948+++ linux-3.0.7/drivers/regulator/max8660.c 2011-08-23 21:47:55.000000000 -0400
31222@@ -383,8 +383,10 @@ static int __devinit max8660_probe(struc 32949@@ -383,8 +383,10 @@ static int __devinit max8660_probe(struc
31223 max8660->shadow_regs[MAX8660_OVER1] = 5; 32950 max8660->shadow_regs[MAX8660_OVER1] = 5;
31224 } else { 32951 } else {
@@ -31232,9 +32959,9 @@ diff -urNp linux-3.0.4/drivers/regulator/max8660.c linux-3.0.4/drivers/regulator
31232 } 32959 }
31233 32960
31234 /* 32961 /*
31235diff -urNp linux-3.0.4/drivers/regulator/mc13892-regulator.c linux-3.0.4/drivers/regulator/mc13892-regulator.c 32962diff -urNp linux-3.0.7/drivers/regulator/mc13892-regulator.c linux-3.0.7/drivers/regulator/mc13892-regulator.c
31236--- linux-3.0.4/drivers/regulator/mc13892-regulator.c 2011-07-21 22:17:23.000000000 -0400 32963--- linux-3.0.7/drivers/regulator/mc13892-regulator.c 2011-07-21 22:17:23.000000000 -0400
31237+++ linux-3.0.4/drivers/regulator/mc13892-regulator.c 2011-08-23 21:47:55.000000000 -0400 32964+++ linux-3.0.7/drivers/regulator/mc13892-regulator.c 2011-08-23 21:47:55.000000000 -0400
31238@@ -564,10 +564,12 @@ static int __devinit mc13892_regulator_p 32965@@ -564,10 +564,12 @@ static int __devinit mc13892_regulator_p
31239 } 32966 }
31240 mc13xxx_unlock(mc13892); 32967 mc13xxx_unlock(mc13892);
@@ -31250,9 +32977,9 @@ diff -urNp linux-3.0.4/drivers/regulator/mc13892-regulator.c linux-3.0.4/drivers
31250 for (i = 0; i < pdata->num_regulators; i++) { 32977 for (i = 0; i < pdata->num_regulators; i++) {
31251 init_data = &pdata->regulators[i]; 32978 init_data = &pdata->regulators[i];
31252 priv->regulators[i] = regulator_register( 32979 priv->regulators[i] = regulator_register(
31253diff -urNp linux-3.0.4/drivers/rtc/rtc-dev.c linux-3.0.4/drivers/rtc/rtc-dev.c 32980diff -urNp linux-3.0.7/drivers/rtc/rtc-dev.c linux-3.0.7/drivers/rtc/rtc-dev.c
31254--- linux-3.0.4/drivers/rtc/rtc-dev.c 2011-07-21 22:17:23.000000000 -0400 32981--- linux-3.0.7/drivers/rtc/rtc-dev.c 2011-07-21 22:17:23.000000000 -0400
31255+++ linux-3.0.4/drivers/rtc/rtc-dev.c 2011-08-23 21:48:14.000000000 -0400 32982+++ linux-3.0.7/drivers/rtc/rtc-dev.c 2011-08-23 21:48:14.000000000 -0400
31256@@ -14,6 +14,7 @@ 32983@@ -14,6 +14,7 @@
31257 #include <linux/module.h> 32984 #include <linux/module.h>
31258 #include <linux/rtc.h> 32985 #include <linux/rtc.h>
@@ -31270,9 +32997,9 @@ diff -urNp linux-3.0.4/drivers/rtc/rtc-dev.c linux-3.0.4/drivers/rtc/rtc-dev.c
31270 return rtc_set_time(rtc, &tm); 32997 return rtc_set_time(rtc, &tm);
31271 32998
31272 case RTC_PIE_ON: 32999 case RTC_PIE_ON:
31273diff -urNp linux-3.0.4/drivers/scsi/aacraid/aacraid.h linux-3.0.4/drivers/scsi/aacraid/aacraid.h 33000diff -urNp linux-3.0.7/drivers/scsi/aacraid/aacraid.h linux-3.0.7/drivers/scsi/aacraid/aacraid.h
31274--- linux-3.0.4/drivers/scsi/aacraid/aacraid.h 2011-07-21 22:17:23.000000000 -0400 33001--- linux-3.0.7/drivers/scsi/aacraid/aacraid.h 2011-07-21 22:17:23.000000000 -0400
31275+++ linux-3.0.4/drivers/scsi/aacraid/aacraid.h 2011-08-23 21:47:55.000000000 -0400 33002+++ linux-3.0.7/drivers/scsi/aacraid/aacraid.h 2011-08-23 21:47:55.000000000 -0400
31276@@ -492,7 +492,7 @@ struct adapter_ops 33003@@ -492,7 +492,7 @@ struct adapter_ops
31277 int (*adapter_scsi)(struct fib * fib, struct scsi_cmnd * cmd); 33004 int (*adapter_scsi)(struct fib * fib, struct scsi_cmnd * cmd);
31278 /* Administrative operations */ 33005 /* Administrative operations */
@@ -31282,9 +33009,9 @@ diff -urNp linux-3.0.4/drivers/scsi/aacraid/aacraid.h linux-3.0.4/drivers/scsi/a
31282 33009
31283 /* 33010 /*
31284 * Define which interrupt handler needs to be installed 33011 * Define which interrupt handler needs to be installed
31285diff -urNp linux-3.0.4/drivers/scsi/aacraid/commctrl.c linux-3.0.4/drivers/scsi/aacraid/commctrl.c 33012diff -urNp linux-3.0.7/drivers/scsi/aacraid/commctrl.c linux-3.0.7/drivers/scsi/aacraid/commctrl.c
31286--- linux-3.0.4/drivers/scsi/aacraid/commctrl.c 2011-07-21 22:17:23.000000000 -0400 33013--- linux-3.0.7/drivers/scsi/aacraid/commctrl.c 2011-07-21 22:17:23.000000000 -0400
31287+++ linux-3.0.4/drivers/scsi/aacraid/commctrl.c 2011-08-23 21:48:14.000000000 -0400 33014+++ linux-3.0.7/drivers/scsi/aacraid/commctrl.c 2011-08-23 21:48:14.000000000 -0400
31288@@ -482,6 +482,7 @@ static int aac_send_raw_srb(struct aac_d 33015@@ -482,6 +482,7 @@ static int aac_send_raw_srb(struct aac_d
31289 u32 actual_fibsize64, actual_fibsize = 0; 33016 u32 actual_fibsize64, actual_fibsize = 0;
31290 int i; 33017 int i;
@@ -31293,9 +33020,33 @@ diff -urNp linux-3.0.4/drivers/scsi/aacraid/commctrl.c linux-3.0.4/drivers/scsi/
31293 33020
31294 if (dev->in_reset) { 33021 if (dev->in_reset) {
31295 dprintk((KERN_DEBUG"aacraid: send raw srb -EBUSY\n")); 33022 dprintk((KERN_DEBUG"aacraid: send raw srb -EBUSY\n"));
31296diff -urNp linux-3.0.4/drivers/scsi/bfa/bfad.c linux-3.0.4/drivers/scsi/bfa/bfad.c 33023diff -urNp linux-3.0.7/drivers/scsi/aacraid/linit.c linux-3.0.7/drivers/scsi/aacraid/linit.c
31297--- linux-3.0.4/drivers/scsi/bfa/bfad.c 2011-07-21 22:17:23.000000000 -0400 33024--- linux-3.0.7/drivers/scsi/aacraid/linit.c 2011-07-21 22:17:23.000000000 -0400
31298+++ linux-3.0.4/drivers/scsi/bfa/bfad.c 2011-08-23 21:48:14.000000000 -0400 33025+++ linux-3.0.7/drivers/scsi/aacraid/linit.c 2011-10-11 10:44:33.000000000 -0400
33026@@ -92,7 +92,7 @@ static DECLARE_PCI_DEVICE_TABLE(aac_pci_
33027 #elif defined(__devinitconst)
33028 static const struct pci_device_id aac_pci_tbl[] __devinitconst = {
33029 #else
33030-static const struct pci_device_id aac_pci_tbl[] __devinitdata = {
33031+static const struct pci_device_id aac_pci_tbl[] __devinitconst = {
33032 #endif
33033 { 0x1028, 0x0001, 0x1028, 0x0001, 0, 0, 0 }, /* PERC 2/Si (Iguana/PERC2Si) */
33034 { 0x1028, 0x0002, 0x1028, 0x0002, 0, 0, 1 }, /* PERC 3/Di (Opal/PERC3Di) */
33035diff -urNp linux-3.0.7/drivers/scsi/aic94xx/aic94xx_init.c linux-3.0.7/drivers/scsi/aic94xx/aic94xx_init.c
33036--- linux-3.0.7/drivers/scsi/aic94xx/aic94xx_init.c 2011-07-21 22:17:23.000000000 -0400
33037+++ linux-3.0.7/drivers/scsi/aic94xx/aic94xx_init.c 2011-10-11 10:44:33.000000000 -0400
33038@@ -1012,7 +1012,7 @@ static struct sas_domain_function_templa
33039 .lldd_control_phy = asd_control_phy,
33040 };
33041
33042-static const struct pci_device_id aic94xx_pci_table[] __devinitdata = {
33043+static const struct pci_device_id aic94xx_pci_table[] __devinitconst = {
33044 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x410),0, 0, 1},
33045 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x412),0, 0, 1},
33046 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x416),0, 0, 1},
33047diff -urNp linux-3.0.7/drivers/scsi/bfa/bfad.c linux-3.0.7/drivers/scsi/bfa/bfad.c
33048--- linux-3.0.7/drivers/scsi/bfa/bfad.c 2011-07-21 22:17:23.000000000 -0400
33049+++ linux-3.0.7/drivers/scsi/bfa/bfad.c 2011-08-23 21:48:14.000000000 -0400
31299@@ -1032,6 +1032,8 @@ bfad_start_ops(struct bfad_s *bfad) { 33050@@ -1032,6 +1032,8 @@ bfad_start_ops(struct bfad_s *bfad) {
31300 struct bfad_vport_s *vport, *vport_new; 33051 struct bfad_vport_s *vport, *vport_new;
31301 struct bfa_fcs_driver_info_s driver_info; 33052 struct bfa_fcs_driver_info_s driver_info;
@@ -31305,9 +33056,9 @@ diff -urNp linux-3.0.4/drivers/scsi/bfa/bfad.c linux-3.0.4/drivers/scsi/bfa/bfad
31305 /* Fill the driver_info info to fcs*/ 33056 /* Fill the driver_info info to fcs*/
31306 memset(&driver_info, 0, sizeof(driver_info)); 33057 memset(&driver_info, 0, sizeof(driver_info));
31307 strncpy(driver_info.version, BFAD_DRIVER_VERSION, 33058 strncpy(driver_info.version, BFAD_DRIVER_VERSION,
31308diff -urNp linux-3.0.4/drivers/scsi/bfa/bfa_fcs_lport.c linux-3.0.4/drivers/scsi/bfa/bfa_fcs_lport.c 33059diff -urNp linux-3.0.7/drivers/scsi/bfa/bfa_fcs_lport.c linux-3.0.7/drivers/scsi/bfa/bfa_fcs_lport.c
31309--- linux-3.0.4/drivers/scsi/bfa/bfa_fcs_lport.c 2011-07-21 22:17:23.000000000 -0400 33060--- linux-3.0.7/drivers/scsi/bfa/bfa_fcs_lport.c 2011-07-21 22:17:23.000000000 -0400
31310+++ linux-3.0.4/drivers/scsi/bfa/bfa_fcs_lport.c 2011-08-23 21:48:14.000000000 -0400 33061+++ linux-3.0.7/drivers/scsi/bfa/bfa_fcs_lport.c 2011-08-23 21:48:14.000000000 -0400
31311@@ -1559,6 +1559,8 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struc 33062@@ -1559,6 +1559,8 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struc
31312 u16 len, count; 33063 u16 len, count;
31313 u16 templen; 33064 u16 templen;
@@ -31326,9 +33077,9 @@ diff -urNp linux-3.0.4/drivers/scsi/bfa/bfa_fcs_lport.c linux-3.0.4/drivers/scsi
31326 /* 33077 /*
31327 * get port attributes 33078 * get port attributes
31328 */ 33079 */
31329diff -urNp linux-3.0.4/drivers/scsi/bfa/bfa_fcs_rport.c linux-3.0.4/drivers/scsi/bfa/bfa_fcs_rport.c 33080diff -urNp linux-3.0.7/drivers/scsi/bfa/bfa_fcs_rport.c linux-3.0.7/drivers/scsi/bfa/bfa_fcs_rport.c
31330--- linux-3.0.4/drivers/scsi/bfa/bfa_fcs_rport.c 2011-07-21 22:17:23.000000000 -0400 33081--- linux-3.0.7/drivers/scsi/bfa/bfa_fcs_rport.c 2011-07-21 22:17:23.000000000 -0400
31331+++ linux-3.0.4/drivers/scsi/bfa/bfa_fcs_rport.c 2011-08-23 21:48:14.000000000 -0400 33082+++ linux-3.0.7/drivers/scsi/bfa/bfa_fcs_rport.c 2011-08-23 21:48:14.000000000 -0400
31332@@ -1844,6 +1844,8 @@ bfa_fcs_rport_process_rpsc(struct bfa_fc 33083@@ -1844,6 +1844,8 @@ bfa_fcs_rport_process_rpsc(struct bfa_fc
31333 struct fc_rpsc_speed_info_s speeds; 33084 struct fc_rpsc_speed_info_s speeds;
31334 struct bfa_port_attr_s pport_attr; 33085 struct bfa_port_attr_s pport_attr;
@@ -31338,9 +33089,9 @@ diff -urNp linux-3.0.4/drivers/scsi/bfa/bfa_fcs_rport.c linux-3.0.4/drivers/scsi
31338 bfa_trc(port->fcs, rx_fchs->s_id); 33089 bfa_trc(port->fcs, rx_fchs->s_id);
31339 bfa_trc(port->fcs, rx_fchs->d_id); 33090 bfa_trc(port->fcs, rx_fchs->d_id);
31340 33091
31341diff -urNp linux-3.0.4/drivers/scsi/bfa/bfa.h linux-3.0.4/drivers/scsi/bfa/bfa.h 33092diff -urNp linux-3.0.7/drivers/scsi/bfa/bfa.h linux-3.0.7/drivers/scsi/bfa/bfa.h
31342--- linux-3.0.4/drivers/scsi/bfa/bfa.h 2011-07-21 22:17:23.000000000 -0400 33093--- linux-3.0.7/drivers/scsi/bfa/bfa.h 2011-07-21 22:17:23.000000000 -0400
31343+++ linux-3.0.4/drivers/scsi/bfa/bfa.h 2011-08-23 21:47:55.000000000 -0400 33094+++ linux-3.0.7/drivers/scsi/bfa/bfa.h 2011-08-23 21:47:55.000000000 -0400
31344@@ -238,7 +238,7 @@ struct bfa_hwif_s { 33095@@ -238,7 +238,7 @@ struct bfa_hwif_s {
31345 u32 *nvecs, u32 *maxvec); 33096 u32 *nvecs, u32 *maxvec);
31346 void (*hw_msix_get_rme_range) (struct bfa_s *bfa, u32 *start, 33097 void (*hw_msix_get_rme_range) (struct bfa_s *bfa, u32 *start,
@@ -31350,9 +33101,9 @@ diff -urNp linux-3.0.4/drivers/scsi/bfa/bfa.h linux-3.0.4/drivers/scsi/bfa/bfa.h
31350 typedef void (*bfa_cb_iocfc_t) (void *cbarg, enum bfa_status status); 33101 typedef void (*bfa_cb_iocfc_t) (void *cbarg, enum bfa_status status);
31351 33102
31352 struct bfa_iocfc_s { 33103 struct bfa_iocfc_s {
31353diff -urNp linux-3.0.4/drivers/scsi/bfa/bfa_ioc.h linux-3.0.4/drivers/scsi/bfa/bfa_ioc.h 33104diff -urNp linux-3.0.7/drivers/scsi/bfa/bfa_ioc.h linux-3.0.7/drivers/scsi/bfa/bfa_ioc.h
31354--- linux-3.0.4/drivers/scsi/bfa/bfa_ioc.h 2011-07-21 22:17:23.000000000 -0400 33105--- linux-3.0.7/drivers/scsi/bfa/bfa_ioc.h 2011-07-21 22:17:23.000000000 -0400
31355+++ linux-3.0.4/drivers/scsi/bfa/bfa_ioc.h 2011-08-23 21:47:55.000000000 -0400 33106+++ linux-3.0.7/drivers/scsi/bfa/bfa_ioc.h 2011-08-23 21:47:55.000000000 -0400
31356@@ -196,7 +196,7 @@ struct bfa_ioc_cbfn_s { 33107@@ -196,7 +196,7 @@ struct bfa_ioc_cbfn_s {
31357 bfa_ioc_disable_cbfn_t disable_cbfn; 33108 bfa_ioc_disable_cbfn_t disable_cbfn;
31358 bfa_ioc_hbfail_cbfn_t hbfail_cbfn; 33109 bfa_ioc_hbfail_cbfn_t hbfail_cbfn;
@@ -31371,9 +33122,9 @@ diff -urNp linux-3.0.4/drivers/scsi/bfa/bfa_ioc.h linux-3.0.4/drivers/scsi/bfa/b
31371 33122
31372 #define bfa_ioc_pcifn(__ioc) ((__ioc)->pcidev.pci_func) 33123 #define bfa_ioc_pcifn(__ioc) ((__ioc)->pcidev.pci_func)
31373 #define bfa_ioc_devid(__ioc) ((__ioc)->pcidev.device_id) 33124 #define bfa_ioc_devid(__ioc) ((__ioc)->pcidev.device_id)
31374diff -urNp linux-3.0.4/drivers/scsi/BusLogic.c linux-3.0.4/drivers/scsi/BusLogic.c 33125diff -urNp linux-3.0.7/drivers/scsi/BusLogic.c linux-3.0.7/drivers/scsi/BusLogic.c
31375--- linux-3.0.4/drivers/scsi/BusLogic.c 2011-07-21 22:17:23.000000000 -0400 33126--- linux-3.0.7/drivers/scsi/BusLogic.c 2011-07-21 22:17:23.000000000 -0400
31376+++ linux-3.0.4/drivers/scsi/BusLogic.c 2011-08-23 21:48:14.000000000 -0400 33127+++ linux-3.0.7/drivers/scsi/BusLogic.c 2011-08-23 21:48:14.000000000 -0400
31377@@ -962,6 +962,8 @@ static int __init BusLogic_InitializeFla 33128@@ -962,6 +962,8 @@ static int __init BusLogic_InitializeFla
31378 static void __init BusLogic_InitializeProbeInfoList(struct BusLogic_HostAdapter 33129 static void __init BusLogic_InitializeProbeInfoList(struct BusLogic_HostAdapter
31379 *PrototypeHostAdapter) 33130 *PrototypeHostAdapter)
@@ -31383,9 +33134,9 @@ diff -urNp linux-3.0.4/drivers/scsi/BusLogic.c linux-3.0.4/drivers/scsi/BusLogic
31383 /* 33134 /*
31384 If a PCI BIOS is present, interrogate it for MultiMaster and FlashPoint 33135 If a PCI BIOS is present, interrogate it for MultiMaster and FlashPoint
31385 Host Adapters; otherwise, default to the standard ISA MultiMaster probe. 33136 Host Adapters; otherwise, default to the standard ISA MultiMaster probe.
31386diff -urNp linux-3.0.4/drivers/scsi/dpt_i2o.c linux-3.0.4/drivers/scsi/dpt_i2o.c 33137diff -urNp linux-3.0.7/drivers/scsi/dpt_i2o.c linux-3.0.7/drivers/scsi/dpt_i2o.c
31387--- linux-3.0.4/drivers/scsi/dpt_i2o.c 2011-07-21 22:17:23.000000000 -0400 33138--- linux-3.0.7/drivers/scsi/dpt_i2o.c 2011-07-21 22:17:23.000000000 -0400
31388+++ linux-3.0.4/drivers/scsi/dpt_i2o.c 2011-08-23 21:48:14.000000000 -0400 33139+++ linux-3.0.7/drivers/scsi/dpt_i2o.c 2011-08-23 21:48:14.000000000 -0400
31389@@ -1811,6 +1811,8 @@ static int adpt_i2o_passthru(adpt_hba* p 33140@@ -1811,6 +1811,8 @@ static int adpt_i2o_passthru(adpt_hba* p
31390 dma_addr_t addr; 33141 dma_addr_t addr;
31391 ulong flags = 0; 33142 ulong flags = 0;
@@ -31404,9 +33155,9 @@ diff -urNp linux-3.0.4/drivers/scsi/dpt_i2o.c linux-3.0.4/drivers/scsi/dpt_i2o.c
31404 memset(msg, 0 , sizeof(msg)); 33155 memset(msg, 0 , sizeof(msg));
31405 len = scsi_bufflen(cmd); 33156 len = scsi_bufflen(cmd);
31406 direction = 0x00000000; 33157 direction = 0x00000000;
31407diff -urNp linux-3.0.4/drivers/scsi/eata.c linux-3.0.4/drivers/scsi/eata.c 33158diff -urNp linux-3.0.7/drivers/scsi/eata.c linux-3.0.7/drivers/scsi/eata.c
31408--- linux-3.0.4/drivers/scsi/eata.c 2011-07-21 22:17:23.000000000 -0400 33159--- linux-3.0.7/drivers/scsi/eata.c 2011-07-21 22:17:23.000000000 -0400
31409+++ linux-3.0.4/drivers/scsi/eata.c 2011-08-23 21:48:14.000000000 -0400 33160+++ linux-3.0.7/drivers/scsi/eata.c 2011-08-23 21:48:14.000000000 -0400
31410@@ -1087,6 +1087,8 @@ static int port_detect(unsigned long por 33161@@ -1087,6 +1087,8 @@ static int port_detect(unsigned long por
31411 struct hostdata *ha; 33162 struct hostdata *ha;
31412 char name[16]; 33163 char name[16];
@@ -31416,9 +33167,9 @@ diff -urNp linux-3.0.4/drivers/scsi/eata.c linux-3.0.4/drivers/scsi/eata.c
31416 sprintf(name, "%s%d", driver_name, j); 33167 sprintf(name, "%s%d", driver_name, j);
31417 33168
31418 if (!request_region(port_base, REGION_SIZE, driver_name)) { 33169 if (!request_region(port_base, REGION_SIZE, driver_name)) {
31419diff -urNp linux-3.0.4/drivers/scsi/fcoe/fcoe_ctlr.c linux-3.0.4/drivers/scsi/fcoe/fcoe_ctlr.c 33170diff -urNp linux-3.0.7/drivers/scsi/fcoe/fcoe_ctlr.c linux-3.0.7/drivers/scsi/fcoe/fcoe_ctlr.c
31420--- linux-3.0.4/drivers/scsi/fcoe/fcoe_ctlr.c 2011-07-21 22:17:23.000000000 -0400 33171--- linux-3.0.7/drivers/scsi/fcoe/fcoe_ctlr.c 2011-07-21 22:17:23.000000000 -0400
31421+++ linux-3.0.4/drivers/scsi/fcoe/fcoe_ctlr.c 2011-08-23 21:48:14.000000000 -0400 33172+++ linux-3.0.7/drivers/scsi/fcoe/fcoe_ctlr.c 2011-08-23 21:48:14.000000000 -0400
31422@@ -2503,6 +2503,8 @@ static int fcoe_ctlr_vn_recv(struct fcoe 33173@@ -2503,6 +2503,8 @@ static int fcoe_ctlr_vn_recv(struct fcoe
31423 } buf; 33174 } buf;
31424 int rc; 33175 int rc;
@@ -31428,9 +33179,9 @@ diff -urNp linux-3.0.4/drivers/scsi/fcoe/fcoe_ctlr.c linux-3.0.4/drivers/scsi/fc
31428 fiph = (struct fip_header *)skb->data; 33179 fiph = (struct fip_header *)skb->data;
31429 sub = fiph->fip_subcode; 33180 sub = fiph->fip_subcode;
31430 33181
31431diff -urNp linux-3.0.4/drivers/scsi/gdth.c linux-3.0.4/drivers/scsi/gdth.c 33182diff -urNp linux-3.0.7/drivers/scsi/gdth.c linux-3.0.7/drivers/scsi/gdth.c
31432--- linux-3.0.4/drivers/scsi/gdth.c 2011-07-21 22:17:23.000000000 -0400 33183--- linux-3.0.7/drivers/scsi/gdth.c 2011-07-21 22:17:23.000000000 -0400
31433+++ linux-3.0.4/drivers/scsi/gdth.c 2011-08-23 21:48:14.000000000 -0400 33184+++ linux-3.0.7/drivers/scsi/gdth.c 2011-08-23 21:48:14.000000000 -0400
31434@@ -4107,6 +4107,8 @@ static int ioc_lockdrv(void __user *arg) 33185@@ -4107,6 +4107,8 @@ static int ioc_lockdrv(void __user *arg)
31435 unsigned long flags; 33186 unsigned long flags;
31436 gdth_ha_str *ha; 33187 gdth_ha_str *ha;
@@ -31468,9 +33219,9 @@ diff -urNp linux-3.0.4/drivers/scsi/gdth.c linux-3.0.4/drivers/scsi/gdth.c
31468 memset(cmnd, 0xff, MAX_COMMAND_SIZE); 33219 memset(cmnd, 0xff, MAX_COMMAND_SIZE);
31469 33220
31470 TRACE2(("gdth_flush() hanum %d\n", ha->hanum)); 33221 TRACE2(("gdth_flush() hanum %d\n", ha->hanum));
31471diff -urNp linux-3.0.4/drivers/scsi/gdth_proc.c linux-3.0.4/drivers/scsi/gdth_proc.c 33222diff -urNp linux-3.0.7/drivers/scsi/gdth_proc.c linux-3.0.7/drivers/scsi/gdth_proc.c
31472--- linux-3.0.4/drivers/scsi/gdth_proc.c 2011-07-21 22:17:23.000000000 -0400 33223--- linux-3.0.7/drivers/scsi/gdth_proc.c 2011-07-21 22:17:23.000000000 -0400
31473+++ linux-3.0.4/drivers/scsi/gdth_proc.c 2011-08-23 21:48:14.000000000 -0400 33224+++ linux-3.0.7/drivers/scsi/gdth_proc.c 2011-08-23 21:48:14.000000000 -0400
31474@@ -47,6 +47,9 @@ static int gdth_set_asc_info(struct Scsi 33225@@ -47,6 +47,9 @@ static int gdth_set_asc_info(struct Scsi
31475 u64 paddr; 33226 u64 paddr;
31476 33227
@@ -31490,9 +33241,9 @@ diff -urNp linux-3.0.4/drivers/scsi/gdth_proc.c linux-3.0.4/drivers/scsi/gdth_pr
31490 gdtcmd = kmalloc(sizeof(*gdtcmd), GFP_KERNEL); 33241 gdtcmd = kmalloc(sizeof(*gdtcmd), GFP_KERNEL);
31491 estr = kmalloc(sizeof(*estr), GFP_KERNEL); 33242 estr = kmalloc(sizeof(*estr), GFP_KERNEL);
31492 if (!gdtcmd || !estr) 33243 if (!gdtcmd || !estr)
31493diff -urNp linux-3.0.4/drivers/scsi/hosts.c linux-3.0.4/drivers/scsi/hosts.c 33244diff -urNp linux-3.0.7/drivers/scsi/hosts.c linux-3.0.7/drivers/scsi/hosts.c
31494--- linux-3.0.4/drivers/scsi/hosts.c 2011-07-21 22:17:23.000000000 -0400 33245--- linux-3.0.7/drivers/scsi/hosts.c 2011-07-21 22:17:23.000000000 -0400
31495+++ linux-3.0.4/drivers/scsi/hosts.c 2011-08-23 21:47:55.000000000 -0400 33246+++ linux-3.0.7/drivers/scsi/hosts.c 2011-08-23 21:47:55.000000000 -0400
31496@@ -42,7 +42,7 @@ 33247@@ -42,7 +42,7 @@
31497 #include "scsi_logging.h" 33248 #include "scsi_logging.h"
31498 33249
@@ -31511,9 +33262,9 @@ diff -urNp linux-3.0.4/drivers/scsi/hosts.c linux-3.0.4/drivers/scsi/hosts.c
31511 shost->dma_channel = 0xff; 33262 shost->dma_channel = 0xff;
31512 33263
31513 /* These three are default values which can be overridden */ 33264 /* These three are default values which can be overridden */
31514diff -urNp linux-3.0.4/drivers/scsi/hpsa.c linux-3.0.4/drivers/scsi/hpsa.c 33265diff -urNp linux-3.0.7/drivers/scsi/hpsa.c linux-3.0.7/drivers/scsi/hpsa.c
31515--- linux-3.0.4/drivers/scsi/hpsa.c 2011-07-21 22:17:23.000000000 -0400 33266--- linux-3.0.7/drivers/scsi/hpsa.c 2011-10-16 21:54:54.000000000 -0400
31516+++ linux-3.0.4/drivers/scsi/hpsa.c 2011-08-23 21:47:55.000000000 -0400 33267+++ linux-3.0.7/drivers/scsi/hpsa.c 2011-10-16 21:55:27.000000000 -0400
31517@@ -498,7 +498,7 @@ static inline u32 next_command(struct ct 33268@@ -498,7 +498,7 @@ static inline u32 next_command(struct ct
31518 u32 a; 33269 u32 a;
31519 33270
@@ -31523,7 +33274,7 @@ diff -urNp linux-3.0.4/drivers/scsi/hpsa.c linux-3.0.4/drivers/scsi/hpsa.c
31523 33274
31524 if ((*(h->reply_pool_head) & 1) == (h->reply_pool_wraparound)) { 33275 if ((*(h->reply_pool_head) & 1) == (h->reply_pool_wraparound)) {
31525 a = *(h->reply_pool_head); /* Next cmd in ring buffer */ 33276 a = *(h->reply_pool_head); /* Next cmd in ring buffer */
31526@@ -2938,7 +2938,7 @@ static void start_io(struct ctlr_info *h 33277@@ -2955,7 +2955,7 @@ static void start_io(struct ctlr_info *h
31527 while (!list_empty(&h->reqQ)) { 33278 while (!list_empty(&h->reqQ)) {
31528 c = list_entry(h->reqQ.next, struct CommandList, list); 33279 c = list_entry(h->reqQ.next, struct CommandList, list);
31529 /* can't do anything if fifo is full */ 33280 /* can't do anything if fifo is full */
@@ -31532,7 +33283,7 @@ diff -urNp linux-3.0.4/drivers/scsi/hpsa.c linux-3.0.4/drivers/scsi/hpsa.c
31532 dev_warn(&h->pdev->dev, "fifo full\n"); 33283 dev_warn(&h->pdev->dev, "fifo full\n");
31533 break; 33284 break;
31534 } 33285 }
31535@@ -2948,7 +2948,7 @@ static void start_io(struct ctlr_info *h 33286@@ -2965,7 +2965,7 @@ static void start_io(struct ctlr_info *h
31536 h->Qdepth--; 33287 h->Qdepth--;
31537 33288
31538 /* Tell the controller execute command */ 33289 /* Tell the controller execute command */
@@ -31541,7 +33292,7 @@ diff -urNp linux-3.0.4/drivers/scsi/hpsa.c linux-3.0.4/drivers/scsi/hpsa.c
31541 33292
31542 /* Put job onto the completed Q */ 33293 /* Put job onto the completed Q */
31543 addQ(&h->cmpQ, c); 33294 addQ(&h->cmpQ, c);
31544@@ -2957,17 +2957,17 @@ static void start_io(struct ctlr_info *h 33295@@ -2974,17 +2974,17 @@ static void start_io(struct ctlr_info *h
31545 33296
31546 static inline unsigned long get_next_completion(struct ctlr_info *h) 33297 static inline unsigned long get_next_completion(struct ctlr_info *h)
31547 { 33298 {
@@ -31562,7 +33313,7 @@ diff -urNp linux-3.0.4/drivers/scsi/hpsa.c linux-3.0.4/drivers/scsi/hpsa.c
31562 (h->interrupts_enabled == 0); 33313 (h->interrupts_enabled == 0);
31563 } 33314 }
31564 33315
31565@@ -3857,7 +3857,7 @@ static int __devinit hpsa_pci_init(struc 33316@@ -3874,7 +3874,7 @@ static int __devinit hpsa_pci_init(struc
31566 if (prod_index < 0) 33317 if (prod_index < 0)
31567 return -ENODEV; 33318 return -ENODEV;
31568 h->product_name = products[prod_index].product_name; 33319 h->product_name = products[prod_index].product_name;
@@ -31571,7 +33322,7 @@ diff -urNp linux-3.0.4/drivers/scsi/hpsa.c linux-3.0.4/drivers/scsi/hpsa.c
31571 33322
31572 if (hpsa_board_disabled(h->pdev)) { 33323 if (hpsa_board_disabled(h->pdev)) {
31573 dev_warn(&h->pdev->dev, "controller appears to be disabled\n"); 33324 dev_warn(&h->pdev->dev, "controller appears to be disabled\n");
31574@@ -4134,7 +4134,7 @@ reinit_after_soft_reset: 33325@@ -4151,7 +4151,7 @@ reinit_after_soft_reset:
31575 } 33326 }
31576 33327
31577 /* make sure the board interrupts are off */ 33328 /* make sure the board interrupts are off */
@@ -31580,7 +33331,7 @@ diff -urNp linux-3.0.4/drivers/scsi/hpsa.c linux-3.0.4/drivers/scsi/hpsa.c
31580 33331
31581 if (hpsa_request_irq(h, do_hpsa_intr_msi, do_hpsa_intr_intx)) 33332 if (hpsa_request_irq(h, do_hpsa_intr_msi, do_hpsa_intr_intx))
31582 goto clean2; 33333 goto clean2;
31583@@ -4168,7 +4168,7 @@ reinit_after_soft_reset: 33334@@ -4185,7 +4185,7 @@ reinit_after_soft_reset:
31584 * fake ones to scoop up any residual completions. 33335 * fake ones to scoop up any residual completions.
31585 */ 33336 */
31586 spin_lock_irqsave(&h->lock, flags); 33337 spin_lock_irqsave(&h->lock, flags);
@@ -31589,7 +33340,7 @@ diff -urNp linux-3.0.4/drivers/scsi/hpsa.c linux-3.0.4/drivers/scsi/hpsa.c
31589 spin_unlock_irqrestore(&h->lock, flags); 33340 spin_unlock_irqrestore(&h->lock, flags);
31590 free_irq(h->intr[h->intr_mode], h); 33341 free_irq(h->intr[h->intr_mode], h);
31591 rc = hpsa_request_irq(h, hpsa_msix_discard_completions, 33342 rc = hpsa_request_irq(h, hpsa_msix_discard_completions,
31592@@ -4187,9 +4187,9 @@ reinit_after_soft_reset: 33343@@ -4204,9 +4204,9 @@ reinit_after_soft_reset:
31593 dev_info(&h->pdev->dev, "Board READY.\n"); 33344 dev_info(&h->pdev->dev, "Board READY.\n");
31594 dev_info(&h->pdev->dev, 33345 dev_info(&h->pdev->dev,
31595 "Waiting for stale completions to drain.\n"); 33346 "Waiting for stale completions to drain.\n");
@@ -31601,7 +33352,7 @@ diff -urNp linux-3.0.4/drivers/scsi/hpsa.c linux-3.0.4/drivers/scsi/hpsa.c
31601 33352
31602 rc = controller_reset_failed(h->cfgtable); 33353 rc = controller_reset_failed(h->cfgtable);
31603 if (rc) 33354 if (rc)
31604@@ -4210,7 +4210,7 @@ reinit_after_soft_reset: 33355@@ -4227,7 +4227,7 @@ reinit_after_soft_reset:
31605 } 33356 }
31606 33357
31607 /* Turn the interrupts on so we can service requests */ 33358 /* Turn the interrupts on so we can service requests */
@@ -31610,7 +33361,7 @@ diff -urNp linux-3.0.4/drivers/scsi/hpsa.c linux-3.0.4/drivers/scsi/hpsa.c
31610 33361
31611 hpsa_hba_inquiry(h); 33362 hpsa_hba_inquiry(h);
31612 hpsa_register_scsi(h); /* hook ourselves into SCSI subsystem */ 33363 hpsa_register_scsi(h); /* hook ourselves into SCSI subsystem */
31613@@ -4263,7 +4263,7 @@ static void hpsa_shutdown(struct pci_dev 33364@@ -4280,7 +4280,7 @@ static void hpsa_shutdown(struct pci_dev
31614 * To write all data in the battery backed cache to disks 33365 * To write all data in the battery backed cache to disks
31615 */ 33366 */
31616 hpsa_flush_cache(h); 33367 hpsa_flush_cache(h);
@@ -31619,7 +33370,7 @@ diff -urNp linux-3.0.4/drivers/scsi/hpsa.c linux-3.0.4/drivers/scsi/hpsa.c
31619 free_irq(h->intr[h->intr_mode], h); 33370 free_irq(h->intr[h->intr_mode], h);
31620 #ifdef CONFIG_PCI_MSI 33371 #ifdef CONFIG_PCI_MSI
31621 if (h->msix_vector) 33372 if (h->msix_vector)
31622@@ -4426,7 +4426,7 @@ static __devinit void hpsa_enter_perform 33373@@ -4443,7 +4443,7 @@ static __devinit void hpsa_enter_perform
31623 return; 33374 return;
31624 } 33375 }
31625 /* Change the access methods to the performant access methods */ 33376 /* Change the access methods to the performant access methods */
@@ -31628,9 +33379,9 @@ diff -urNp linux-3.0.4/drivers/scsi/hpsa.c linux-3.0.4/drivers/scsi/hpsa.c
31628 h->transMethod = CFGTBL_Trans_Performant; 33379 h->transMethod = CFGTBL_Trans_Performant;
31629 } 33380 }
31630 33381
31631diff -urNp linux-3.0.4/drivers/scsi/hpsa.h linux-3.0.4/drivers/scsi/hpsa.h 33382diff -urNp linux-3.0.7/drivers/scsi/hpsa.h linux-3.0.7/drivers/scsi/hpsa.h
31632--- linux-3.0.4/drivers/scsi/hpsa.h 2011-09-02 18:11:21.000000000 -0400 33383--- linux-3.0.7/drivers/scsi/hpsa.h 2011-09-02 18:11:21.000000000 -0400
31633+++ linux-3.0.4/drivers/scsi/hpsa.h 2011-08-23 21:47:55.000000000 -0400 33384+++ linux-3.0.7/drivers/scsi/hpsa.h 2011-08-23 21:47:55.000000000 -0400
31634@@ -73,7 +73,7 @@ struct ctlr_info { 33385@@ -73,7 +73,7 @@ struct ctlr_info {
31635 unsigned int msix_vector; 33386 unsigned int msix_vector;
31636 unsigned int msi_vector; 33387 unsigned int msi_vector;
@@ -31640,9 +33391,9 @@ diff -urNp linux-3.0.4/drivers/scsi/hpsa.h linux-3.0.4/drivers/scsi/hpsa.h
31640 33391
31641 /* queue and queue Info */ 33392 /* queue and queue Info */
31642 struct list_head reqQ; 33393 struct list_head reqQ;
31643diff -urNp linux-3.0.4/drivers/scsi/ips.h linux-3.0.4/drivers/scsi/ips.h 33394diff -urNp linux-3.0.7/drivers/scsi/ips.h linux-3.0.7/drivers/scsi/ips.h
31644--- linux-3.0.4/drivers/scsi/ips.h 2011-07-21 22:17:23.000000000 -0400 33395--- linux-3.0.7/drivers/scsi/ips.h 2011-07-21 22:17:23.000000000 -0400
31645+++ linux-3.0.4/drivers/scsi/ips.h 2011-08-23 21:47:55.000000000 -0400 33396+++ linux-3.0.7/drivers/scsi/ips.h 2011-08-23 21:47:55.000000000 -0400
31646@@ -1027,7 +1027,7 @@ typedef struct { 33397@@ -1027,7 +1027,7 @@ typedef struct {
31647 int (*intr)(struct ips_ha *); 33398 int (*intr)(struct ips_ha *);
31648 void (*enableint)(struct ips_ha *); 33399 void (*enableint)(struct ips_ha *);
@@ -31652,9 +33403,9 @@ diff -urNp linux-3.0.4/drivers/scsi/ips.h linux-3.0.4/drivers/scsi/ips.h
31652 33403
31653 typedef struct ips_ha { 33404 typedef struct ips_ha {
31654 uint8_t ha_id[IPS_MAX_CHANNELS+1]; 33405 uint8_t ha_id[IPS_MAX_CHANNELS+1];
31655diff -urNp linux-3.0.4/drivers/scsi/libfc/fc_exch.c linux-3.0.4/drivers/scsi/libfc/fc_exch.c 33406diff -urNp linux-3.0.7/drivers/scsi/libfc/fc_exch.c linux-3.0.7/drivers/scsi/libfc/fc_exch.c
31656--- linux-3.0.4/drivers/scsi/libfc/fc_exch.c 2011-07-21 22:17:23.000000000 -0400 33407--- linux-3.0.7/drivers/scsi/libfc/fc_exch.c 2011-07-21 22:17:23.000000000 -0400
31657+++ linux-3.0.4/drivers/scsi/libfc/fc_exch.c 2011-08-23 21:47:55.000000000 -0400 33408+++ linux-3.0.7/drivers/scsi/libfc/fc_exch.c 2011-08-23 21:47:55.000000000 -0400
31658@@ -105,12 +105,12 @@ struct fc_exch_mgr { 33409@@ -105,12 +105,12 @@ struct fc_exch_mgr {
31659 * all together if not used XXX 33410 * all together if not used XXX
31660 */ 33411 */
@@ -31776,9 +33527,9 @@ diff -urNp linux-3.0.4/drivers/scsi/libfc/fc_exch.c linux-3.0.4/drivers/scsi/lib
31776 33527
31777 fc_frame_free(fp); 33528 fc_frame_free(fp);
31778 } 33529 }
31779diff -urNp linux-3.0.4/drivers/scsi/libsas/sas_ata.c linux-3.0.4/drivers/scsi/libsas/sas_ata.c 33530diff -urNp linux-3.0.7/drivers/scsi/libsas/sas_ata.c linux-3.0.7/drivers/scsi/libsas/sas_ata.c
31780--- linux-3.0.4/drivers/scsi/libsas/sas_ata.c 2011-07-21 22:17:23.000000000 -0400 33531--- linux-3.0.7/drivers/scsi/libsas/sas_ata.c 2011-07-21 22:17:23.000000000 -0400
31781+++ linux-3.0.4/drivers/scsi/libsas/sas_ata.c 2011-08-23 21:47:55.000000000 -0400 33532+++ linux-3.0.7/drivers/scsi/libsas/sas_ata.c 2011-08-23 21:47:55.000000000 -0400
31782@@ -368,7 +368,7 @@ static struct ata_port_operations sas_sa 33533@@ -368,7 +368,7 @@ static struct ata_port_operations sas_sa
31783 .postreset = ata_std_postreset, 33534 .postreset = ata_std_postreset,
31784 .error_handler = ata_std_error_handler, 33535 .error_handler = ata_std_error_handler,
@@ -31788,9 +33539,9 @@ diff -urNp linux-3.0.4/drivers/scsi/libsas/sas_ata.c linux-3.0.4/drivers/scsi/li
31788 .qc_prep = ata_noop_qc_prep, 33539 .qc_prep = ata_noop_qc_prep,
31789 .qc_issue = sas_ata_qc_issue, 33540 .qc_issue = sas_ata_qc_issue,
31790 .qc_fill_rtf = sas_ata_qc_fill_rtf, 33541 .qc_fill_rtf = sas_ata_qc_fill_rtf,
31791diff -urNp linux-3.0.4/drivers/scsi/lpfc/lpfc_debugfs.c linux-3.0.4/drivers/scsi/lpfc/lpfc_debugfs.c 33542diff -urNp linux-3.0.7/drivers/scsi/lpfc/lpfc_debugfs.c linux-3.0.7/drivers/scsi/lpfc/lpfc_debugfs.c
31792--- linux-3.0.4/drivers/scsi/lpfc/lpfc_debugfs.c 2011-07-21 22:17:23.000000000 -0400 33543--- linux-3.0.7/drivers/scsi/lpfc/lpfc_debugfs.c 2011-07-21 22:17:23.000000000 -0400
31793+++ linux-3.0.4/drivers/scsi/lpfc/lpfc_debugfs.c 2011-08-23 21:48:14.000000000 -0400 33544+++ linux-3.0.7/drivers/scsi/lpfc/lpfc_debugfs.c 2011-08-23 21:48:14.000000000 -0400
31794@@ -104,7 +104,7 @@ MODULE_PARM_DESC(lpfc_debugfs_mask_disc_ 33545@@ -104,7 +104,7 @@ MODULE_PARM_DESC(lpfc_debugfs_mask_disc_
31795 33546
31796 #include <linux/debugfs.h> 33547 #include <linux/debugfs.h>
@@ -31879,10 +33630,10 @@ diff -urNp linux-3.0.4/drivers/scsi/lpfc/lpfc_debugfs.c linux-3.0.4/drivers/scsi
31879 33630
31880 snprintf(name, sizeof(name), "discovery_trace"); 33631 snprintf(name, sizeof(name), "discovery_trace");
31881 vport->debug_disc_trc = 33632 vport->debug_disc_trc =
31882diff -urNp linux-3.0.4/drivers/scsi/lpfc/lpfc.h linux-3.0.4/drivers/scsi/lpfc/lpfc.h 33633diff -urNp linux-3.0.7/drivers/scsi/lpfc/lpfc.h linux-3.0.7/drivers/scsi/lpfc/lpfc.h
31883--- linux-3.0.4/drivers/scsi/lpfc/lpfc.h 2011-07-21 22:17:23.000000000 -0400 33634--- linux-3.0.7/drivers/scsi/lpfc/lpfc.h 2011-10-16 21:54:54.000000000 -0400
31884+++ linux-3.0.4/drivers/scsi/lpfc/lpfc.h 2011-08-23 21:47:55.000000000 -0400 33635+++ linux-3.0.7/drivers/scsi/lpfc/lpfc.h 2011-10-16 21:55:27.000000000 -0400
31885@@ -420,7 +420,7 @@ struct lpfc_vport { 33636@@ -425,7 +425,7 @@ struct lpfc_vport {
31886 struct dentry *debug_nodelist; 33637 struct dentry *debug_nodelist;
31887 struct dentry *vport_debugfs_root; 33638 struct dentry *vport_debugfs_root;
31888 struct lpfc_debugfs_trc *disc_trc; 33639 struct lpfc_debugfs_trc *disc_trc;
@@ -31891,7 +33642,7 @@ diff -urNp linux-3.0.4/drivers/scsi/lpfc/lpfc.h linux-3.0.4/drivers/scsi/lpfc/lp
31891 #endif 33642 #endif
31892 uint8_t stat_data_enabled; 33643 uint8_t stat_data_enabled;
31893 uint8_t stat_data_blocked; 33644 uint8_t stat_data_blocked;
31894@@ -826,8 +826,8 @@ struct lpfc_hba { 33645@@ -832,8 +832,8 @@ struct lpfc_hba {
31895 struct timer_list fabric_block_timer; 33646 struct timer_list fabric_block_timer;
31896 unsigned long bit_flags; 33647 unsigned long bit_flags;
31897 #define FABRIC_COMANDS_BLOCKED 0 33648 #define FABRIC_COMANDS_BLOCKED 0
@@ -31902,7 +33653,7 @@ diff -urNp linux-3.0.4/drivers/scsi/lpfc/lpfc.h linux-3.0.4/drivers/scsi/lpfc/lp
31902 unsigned long last_rsrc_error_time; 33653 unsigned long last_rsrc_error_time;
31903 unsigned long last_ramp_down_time; 33654 unsigned long last_ramp_down_time;
31904 unsigned long last_ramp_up_time; 33655 unsigned long last_ramp_up_time;
31905@@ -841,7 +841,7 @@ struct lpfc_hba { 33656@@ -847,7 +847,7 @@ struct lpfc_hba {
31906 struct dentry *debug_dumpDif; /* BlockGuard BPL*/ 33657 struct dentry *debug_dumpDif; /* BlockGuard BPL*/
31907 struct dentry *debug_slow_ring_trc; 33658 struct dentry *debug_slow_ring_trc;
31908 struct lpfc_debugfs_trc *slow_ring_trc; 33659 struct lpfc_debugfs_trc *slow_ring_trc;
@@ -31911,10 +33662,10 @@ diff -urNp linux-3.0.4/drivers/scsi/lpfc/lpfc.h linux-3.0.4/drivers/scsi/lpfc/lp
31911 /* iDiag debugfs sub-directory */ 33662 /* iDiag debugfs sub-directory */
31912 struct dentry *idiag_root; 33663 struct dentry *idiag_root;
31913 struct dentry *idiag_pci_cfg; 33664 struct dentry *idiag_pci_cfg;
31914diff -urNp linux-3.0.4/drivers/scsi/lpfc/lpfc_init.c linux-3.0.4/drivers/scsi/lpfc/lpfc_init.c 33665diff -urNp linux-3.0.7/drivers/scsi/lpfc/lpfc_init.c linux-3.0.7/drivers/scsi/lpfc/lpfc_init.c
31915--- linux-3.0.4/drivers/scsi/lpfc/lpfc_init.c 2011-07-21 22:17:23.000000000 -0400 33666--- linux-3.0.7/drivers/scsi/lpfc/lpfc_init.c 2011-10-16 21:54:54.000000000 -0400
31916+++ linux-3.0.4/drivers/scsi/lpfc/lpfc_init.c 2011-08-23 21:47:56.000000000 -0400 33667+++ linux-3.0.7/drivers/scsi/lpfc/lpfc_init.c 2011-10-16 21:55:27.000000000 -0400
31917@@ -9923,8 +9923,10 @@ lpfc_init(void) 33668@@ -9971,8 +9971,10 @@ lpfc_init(void)
31918 printk(LPFC_COPYRIGHT "\n"); 33669 printk(LPFC_COPYRIGHT "\n");
31919 33670
31920 if (lpfc_enable_npiv) { 33671 if (lpfc_enable_npiv) {
@@ -31927,9 +33678,9 @@ diff -urNp linux-3.0.4/drivers/scsi/lpfc/lpfc_init.c linux-3.0.4/drivers/scsi/lp
31927 } 33678 }
31928 lpfc_transport_template = 33679 lpfc_transport_template =
31929 fc_attach_transport(&lpfc_transport_functions); 33680 fc_attach_transport(&lpfc_transport_functions);
31930diff -urNp linux-3.0.4/drivers/scsi/lpfc/lpfc_scsi.c linux-3.0.4/drivers/scsi/lpfc/lpfc_scsi.c 33681diff -urNp linux-3.0.7/drivers/scsi/lpfc/lpfc_scsi.c linux-3.0.7/drivers/scsi/lpfc/lpfc_scsi.c
31931--- linux-3.0.4/drivers/scsi/lpfc/lpfc_scsi.c 2011-07-21 22:17:23.000000000 -0400 33682--- linux-3.0.7/drivers/scsi/lpfc/lpfc_scsi.c 2011-10-16 21:54:54.000000000 -0400
31932+++ linux-3.0.4/drivers/scsi/lpfc/lpfc_scsi.c 2011-08-23 21:47:56.000000000 -0400 33683+++ linux-3.0.7/drivers/scsi/lpfc/lpfc_scsi.c 2011-10-16 21:55:27.000000000 -0400
31933@@ -297,7 +297,7 @@ lpfc_rampdown_queue_depth(struct lpfc_hb 33684@@ -297,7 +297,7 @@ lpfc_rampdown_queue_depth(struct lpfc_hb
31934 uint32_t evt_posted; 33685 uint32_t evt_posted;
31935 33686
@@ -31981,9 +33732,9 @@ diff -urNp linux-3.0.4/drivers/scsi/lpfc/lpfc_scsi.c linux-3.0.4/drivers/scsi/lp
31981 } 33732 }
31982 33733
31983 /** 33734 /**
31984diff -urNp linux-3.0.4/drivers/scsi/megaraid/megaraid_mbox.c linux-3.0.4/drivers/scsi/megaraid/megaraid_mbox.c 33735diff -urNp linux-3.0.7/drivers/scsi/megaraid/megaraid_mbox.c linux-3.0.7/drivers/scsi/megaraid/megaraid_mbox.c
31985--- linux-3.0.4/drivers/scsi/megaraid/megaraid_mbox.c 2011-07-21 22:17:23.000000000 -0400 33736--- linux-3.0.7/drivers/scsi/megaraid/megaraid_mbox.c 2011-07-21 22:17:23.000000000 -0400
31986+++ linux-3.0.4/drivers/scsi/megaraid/megaraid_mbox.c 2011-08-23 21:48:14.000000000 -0400 33737+++ linux-3.0.7/drivers/scsi/megaraid/megaraid_mbox.c 2011-08-23 21:48:14.000000000 -0400
31987@@ -3503,6 +3503,8 @@ megaraid_cmm_register(adapter_t *adapter 33738@@ -3503,6 +3503,8 @@ megaraid_cmm_register(adapter_t *adapter
31988 int rval; 33739 int rval;
31989 int i; 33740 int i;
@@ -31993,9 +33744,9 @@ diff -urNp linux-3.0.4/drivers/scsi/megaraid/megaraid_mbox.c linux-3.0.4/drivers
31993 // Allocate memory for the base list of scb for management module. 33744 // Allocate memory for the base list of scb for management module.
31994 adapter->uscb_list = kcalloc(MBOX_MAX_USER_CMDS, sizeof(scb_t), GFP_KERNEL); 33745 adapter->uscb_list = kcalloc(MBOX_MAX_USER_CMDS, sizeof(scb_t), GFP_KERNEL);
31995 33746
31996diff -urNp linux-3.0.4/drivers/scsi/osd/osd_initiator.c linux-3.0.4/drivers/scsi/osd/osd_initiator.c 33747diff -urNp linux-3.0.7/drivers/scsi/osd/osd_initiator.c linux-3.0.7/drivers/scsi/osd/osd_initiator.c
31997--- linux-3.0.4/drivers/scsi/osd/osd_initiator.c 2011-07-21 22:17:23.000000000 -0400 33748--- linux-3.0.7/drivers/scsi/osd/osd_initiator.c 2011-07-21 22:17:23.000000000 -0400
31998+++ linux-3.0.4/drivers/scsi/osd/osd_initiator.c 2011-08-23 21:48:14.000000000 -0400 33749+++ linux-3.0.7/drivers/scsi/osd/osd_initiator.c 2011-08-23 21:48:14.000000000 -0400
31999@@ -97,6 +97,8 @@ static int _osd_get_print_system_info(st 33750@@ -97,6 +97,8 @@ static int _osd_get_print_system_info(st
32000 int nelem = ARRAY_SIZE(get_attrs), a = 0; 33751 int nelem = ARRAY_SIZE(get_attrs), a = 0;
32001 int ret; 33752 int ret;
@@ -32005,9 +33756,9 @@ diff -urNp linux-3.0.4/drivers/scsi/osd/osd_initiator.c linux-3.0.4/drivers/scsi
32005 or = osd_start_request(od, GFP_KERNEL); 33756 or = osd_start_request(od, GFP_KERNEL);
32006 if (!or) 33757 if (!or)
32007 return -ENOMEM; 33758 return -ENOMEM;
32008diff -urNp linux-3.0.4/drivers/scsi/pmcraid.c linux-3.0.4/drivers/scsi/pmcraid.c 33759diff -urNp linux-3.0.7/drivers/scsi/pmcraid.c linux-3.0.7/drivers/scsi/pmcraid.c
32009--- linux-3.0.4/drivers/scsi/pmcraid.c 2011-09-02 18:11:21.000000000 -0400 33760--- linux-3.0.7/drivers/scsi/pmcraid.c 2011-09-02 18:11:21.000000000 -0400
32010+++ linux-3.0.4/drivers/scsi/pmcraid.c 2011-08-23 21:47:56.000000000 -0400 33761+++ linux-3.0.7/drivers/scsi/pmcraid.c 2011-08-23 21:47:56.000000000 -0400
32011@@ -201,8 +201,8 @@ static int pmcraid_slave_alloc(struct sc 33762@@ -201,8 +201,8 @@ static int pmcraid_slave_alloc(struct sc
32012 res->scsi_dev = scsi_dev; 33763 res->scsi_dev = scsi_dev;
32013 scsi_dev->hostdata = res; 33764 scsi_dev->hostdata = res;
@@ -32078,9 +33829,9 @@ diff -urNp linux-3.0.4/drivers/scsi/pmcraid.c linux-3.0.4/drivers/scsi/pmcraid.c
32078 schedule_work(&pinstance->worker_q); 33829 schedule_work(&pinstance->worker_q);
32079 return rc; 33830 return rc;
32080 33831
32081diff -urNp linux-3.0.4/drivers/scsi/pmcraid.h linux-3.0.4/drivers/scsi/pmcraid.h 33832diff -urNp linux-3.0.7/drivers/scsi/pmcraid.h linux-3.0.7/drivers/scsi/pmcraid.h
32082--- linux-3.0.4/drivers/scsi/pmcraid.h 2011-07-21 22:17:23.000000000 -0400 33833--- linux-3.0.7/drivers/scsi/pmcraid.h 2011-07-21 22:17:23.000000000 -0400
32083+++ linux-3.0.4/drivers/scsi/pmcraid.h 2011-08-23 21:47:56.000000000 -0400 33834+++ linux-3.0.7/drivers/scsi/pmcraid.h 2011-08-23 21:47:56.000000000 -0400
32084@@ -749,7 +749,7 @@ struct pmcraid_instance { 33835@@ -749,7 +749,7 @@ struct pmcraid_instance {
32085 struct pmcraid_isr_param hrrq_vector[PMCRAID_NUM_MSIX_VECTORS]; 33836 struct pmcraid_isr_param hrrq_vector[PMCRAID_NUM_MSIX_VECTORS];
32086 33837
@@ -32110,9 +33861,9 @@ diff -urNp linux-3.0.4/drivers/scsi/pmcraid.h linux-3.0.4/drivers/scsi/pmcraid.h
32110 33861
32111 /* To indicate add/delete/modify during CCN */ 33862 /* To indicate add/delete/modify during CCN */
32112 u8 change_detected; 33863 u8 change_detected;
32113diff -urNp linux-3.0.4/drivers/scsi/qla2xxx/qla_def.h linux-3.0.4/drivers/scsi/qla2xxx/qla_def.h 33864diff -urNp linux-3.0.7/drivers/scsi/qla2xxx/qla_def.h linux-3.0.7/drivers/scsi/qla2xxx/qla_def.h
32114--- linux-3.0.4/drivers/scsi/qla2xxx/qla_def.h 2011-07-21 22:17:23.000000000 -0400 33865--- linux-3.0.7/drivers/scsi/qla2xxx/qla_def.h 2011-07-21 22:17:23.000000000 -0400
32115+++ linux-3.0.4/drivers/scsi/qla2xxx/qla_def.h 2011-08-23 21:47:56.000000000 -0400 33866+++ linux-3.0.7/drivers/scsi/qla2xxx/qla_def.h 2011-08-23 21:47:56.000000000 -0400
32116@@ -2244,7 +2244,7 @@ struct isp_operations { 33867@@ -2244,7 +2244,7 @@ struct isp_operations {
32117 int (*get_flash_version) (struct scsi_qla_host *, void *); 33868 int (*get_flash_version) (struct scsi_qla_host *, void *);
32118 int (*start_scsi) (srb_t *); 33869 int (*start_scsi) (srb_t *);
@@ -32122,9 +33873,9 @@ diff -urNp linux-3.0.4/drivers/scsi/qla2xxx/qla_def.h linux-3.0.4/drivers/scsi/q
32122 33873
32123 /* MSI-X Support *************************************************************/ 33874 /* MSI-X Support *************************************************************/
32124 33875
32125diff -urNp linux-3.0.4/drivers/scsi/qla4xxx/ql4_def.h linux-3.0.4/drivers/scsi/qla4xxx/ql4_def.h 33876diff -urNp linux-3.0.7/drivers/scsi/qla4xxx/ql4_def.h linux-3.0.7/drivers/scsi/qla4xxx/ql4_def.h
32126--- linux-3.0.4/drivers/scsi/qla4xxx/ql4_def.h 2011-07-21 22:17:23.000000000 -0400 33877--- linux-3.0.7/drivers/scsi/qla4xxx/ql4_def.h 2011-07-21 22:17:23.000000000 -0400
32127+++ linux-3.0.4/drivers/scsi/qla4xxx/ql4_def.h 2011-08-23 21:47:56.000000000 -0400 33878+++ linux-3.0.7/drivers/scsi/qla4xxx/ql4_def.h 2011-08-23 21:47:56.000000000 -0400
32128@@ -256,7 +256,7 @@ struct ddb_entry { 33879@@ -256,7 +256,7 @@ struct ddb_entry {
32129 atomic_t retry_relogin_timer; /* Min Time between relogins 33880 atomic_t retry_relogin_timer; /* Min Time between relogins
32130 * (4000 only) */ 33881 * (4000 only) */
@@ -32134,9 +33885,9 @@ diff -urNp linux-3.0.4/drivers/scsi/qla4xxx/ql4_def.h linux-3.0.4/drivers/scsi/q
32134 * retried */ 33885 * retried */
32135 33886
32136 uint16_t port; 33887 uint16_t port;
32137diff -urNp linux-3.0.4/drivers/scsi/qla4xxx/ql4_init.c linux-3.0.4/drivers/scsi/qla4xxx/ql4_init.c 33888diff -urNp linux-3.0.7/drivers/scsi/qla4xxx/ql4_init.c linux-3.0.7/drivers/scsi/qla4xxx/ql4_init.c
32138--- linux-3.0.4/drivers/scsi/qla4xxx/ql4_init.c 2011-07-21 22:17:23.000000000 -0400 33889--- linux-3.0.7/drivers/scsi/qla4xxx/ql4_init.c 2011-07-21 22:17:23.000000000 -0400
32139+++ linux-3.0.4/drivers/scsi/qla4xxx/ql4_init.c 2011-08-23 21:47:56.000000000 -0400 33890+++ linux-3.0.7/drivers/scsi/qla4xxx/ql4_init.c 2011-08-23 21:47:56.000000000 -0400
32140@@ -680,7 +680,7 @@ static struct ddb_entry * qla4xxx_alloc_ 33891@@ -680,7 +680,7 @@ static struct ddb_entry * qla4xxx_alloc_
32141 ddb_entry->fw_ddb_index = fw_ddb_index; 33892 ddb_entry->fw_ddb_index = fw_ddb_index;
32142 atomic_set(&ddb_entry->retry_relogin_timer, INVALID_ENTRY); 33893 atomic_set(&ddb_entry->retry_relogin_timer, INVALID_ENTRY);
@@ -32155,9 +33906,9 @@ diff -urNp linux-3.0.4/drivers/scsi/qla4xxx/ql4_init.c linux-3.0.4/drivers/scsi/
32155 atomic_set(&ddb_entry->relogin_timer, 0); 33906 atomic_set(&ddb_entry->relogin_timer, 0);
32156 clear_bit(DF_RELOGIN, &ddb_entry->flags); 33907 clear_bit(DF_RELOGIN, &ddb_entry->flags);
32157 iscsi_unblock_session(ddb_entry->sess); 33908 iscsi_unblock_session(ddb_entry->sess);
32158diff -urNp linux-3.0.4/drivers/scsi/qla4xxx/ql4_os.c linux-3.0.4/drivers/scsi/qla4xxx/ql4_os.c 33909diff -urNp linux-3.0.7/drivers/scsi/qla4xxx/ql4_os.c linux-3.0.7/drivers/scsi/qla4xxx/ql4_os.c
32159--- linux-3.0.4/drivers/scsi/qla4xxx/ql4_os.c 2011-07-21 22:17:23.000000000 -0400 33910--- linux-3.0.7/drivers/scsi/qla4xxx/ql4_os.c 2011-07-21 22:17:23.000000000 -0400
32160+++ linux-3.0.4/drivers/scsi/qla4xxx/ql4_os.c 2011-08-23 21:47:56.000000000 -0400 33911+++ linux-3.0.7/drivers/scsi/qla4xxx/ql4_os.c 2011-08-23 21:47:56.000000000 -0400
32161@@ -811,13 +811,13 @@ static void qla4xxx_timer(struct scsi_ql 33912@@ -811,13 +811,13 @@ static void qla4xxx_timer(struct scsi_ql
32162 ddb_entry->fw_ddb_device_state == 33913 ddb_entry->fw_ddb_device_state ==
32163 DDB_DS_SESSION_FAILED) { 33914 DDB_DS_SESSION_FAILED) {
@@ -32174,9 +33925,9 @@ diff -urNp linux-3.0.4/drivers/scsi/qla4xxx/ql4_os.c linux-3.0.4/drivers/scsi/ql
32174 relogin_retry_count)) 33925 relogin_retry_count))
32175 ); 33926 );
32176 start_dpc++; 33927 start_dpc++;
32177diff -urNp linux-3.0.4/drivers/scsi/scsi.c linux-3.0.4/drivers/scsi/scsi.c 33928diff -urNp linux-3.0.7/drivers/scsi/scsi.c linux-3.0.7/drivers/scsi/scsi.c
32178--- linux-3.0.4/drivers/scsi/scsi.c 2011-07-21 22:17:23.000000000 -0400 33929--- linux-3.0.7/drivers/scsi/scsi.c 2011-07-21 22:17:23.000000000 -0400
32179+++ linux-3.0.4/drivers/scsi/scsi.c 2011-08-23 21:47:56.000000000 -0400 33930+++ linux-3.0.7/drivers/scsi/scsi.c 2011-08-23 21:47:56.000000000 -0400
32180@@ -655,7 +655,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd * 33931@@ -655,7 +655,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd *
32181 unsigned long timeout; 33932 unsigned long timeout;
32182 int rtn = 0; 33933 int rtn = 0;
@@ -32186,9 +33937,9 @@ diff -urNp linux-3.0.4/drivers/scsi/scsi.c linux-3.0.4/drivers/scsi/scsi.c
32186 33937
32187 /* check if the device is still usable */ 33938 /* check if the device is still usable */
32188 if (unlikely(cmd->device->sdev_state == SDEV_DEL)) { 33939 if (unlikely(cmd->device->sdev_state == SDEV_DEL)) {
32189diff -urNp linux-3.0.4/drivers/scsi/scsi_debug.c linux-3.0.4/drivers/scsi/scsi_debug.c 33940diff -urNp linux-3.0.7/drivers/scsi/scsi_debug.c linux-3.0.7/drivers/scsi/scsi_debug.c
32190--- linux-3.0.4/drivers/scsi/scsi_debug.c 2011-07-21 22:17:23.000000000 -0400 33941--- linux-3.0.7/drivers/scsi/scsi_debug.c 2011-07-21 22:17:23.000000000 -0400
32191+++ linux-3.0.4/drivers/scsi/scsi_debug.c 2011-08-23 21:48:14.000000000 -0400 33942+++ linux-3.0.7/drivers/scsi/scsi_debug.c 2011-08-23 21:48:14.000000000 -0400
32192@@ -1493,6 +1493,8 @@ static int resp_mode_select(struct scsi_ 33943@@ -1493,6 +1493,8 @@ static int resp_mode_select(struct scsi_
32193 unsigned char arr[SDEBUG_MAX_MSELECT_SZ]; 33944 unsigned char arr[SDEBUG_MAX_MSELECT_SZ];
32194 unsigned char *cmd = (unsigned char *)scp->cmnd; 33945 unsigned char *cmd = (unsigned char *)scp->cmnd;
@@ -32207,9 +33958,9 @@ diff -urNp linux-3.0.4/drivers/scsi/scsi_debug.c linux-3.0.4/drivers/scsi/scsi_d
32207 if ((errsts = check_readiness(scp, 1, devip))) 33958 if ((errsts = check_readiness(scp, 1, devip)))
32208 return errsts; 33959 return errsts;
32209 memset(arr, 0, sizeof(arr)); 33960 memset(arr, 0, sizeof(arr));
32210diff -urNp linux-3.0.4/drivers/scsi/scsi_lib.c linux-3.0.4/drivers/scsi/scsi_lib.c 33961diff -urNp linux-3.0.7/drivers/scsi/scsi_lib.c linux-3.0.7/drivers/scsi/scsi_lib.c
32211--- linux-3.0.4/drivers/scsi/scsi_lib.c 2011-09-02 18:11:21.000000000 -0400 33962--- linux-3.0.7/drivers/scsi/scsi_lib.c 2011-09-02 18:11:21.000000000 -0400
32212+++ linux-3.0.4/drivers/scsi/scsi_lib.c 2011-08-23 21:47:56.000000000 -0400 33963+++ linux-3.0.7/drivers/scsi/scsi_lib.c 2011-08-23 21:47:56.000000000 -0400
32213@@ -1412,7 +1412,7 @@ static void scsi_kill_request(struct req 33964@@ -1412,7 +1412,7 @@ static void scsi_kill_request(struct req
32214 shost = sdev->host; 33965 shost = sdev->host;
32215 scsi_init_cmd_errh(cmd); 33966 scsi_init_cmd_errh(cmd);
@@ -32231,9 +33982,9 @@ diff -urNp linux-3.0.4/drivers/scsi/scsi_lib.c linux-3.0.4/drivers/scsi/scsi_lib
32231 33982
32232 disposition = scsi_decide_disposition(cmd); 33983 disposition = scsi_decide_disposition(cmd);
32233 if (disposition != SUCCESS && 33984 if (disposition != SUCCESS &&
32234diff -urNp linux-3.0.4/drivers/scsi/scsi_sysfs.c linux-3.0.4/drivers/scsi/scsi_sysfs.c 33985diff -urNp linux-3.0.7/drivers/scsi/scsi_sysfs.c linux-3.0.7/drivers/scsi/scsi_sysfs.c
32235--- linux-3.0.4/drivers/scsi/scsi_sysfs.c 2011-07-21 22:17:23.000000000 -0400 33986--- linux-3.0.7/drivers/scsi/scsi_sysfs.c 2011-07-21 22:17:23.000000000 -0400
32236+++ linux-3.0.4/drivers/scsi/scsi_sysfs.c 2011-08-23 21:47:56.000000000 -0400 33987+++ linux-3.0.7/drivers/scsi/scsi_sysfs.c 2011-08-23 21:47:56.000000000 -0400
32237@@ -622,7 +622,7 @@ show_iostat_##field(struct device *dev, 33988@@ -622,7 +622,7 @@ show_iostat_##field(struct device *dev,
32238 char *buf) \ 33989 char *buf) \
32239 { \ 33990 { \
@@ -32243,9 +33994,21 @@ diff -urNp linux-3.0.4/drivers/scsi/scsi_sysfs.c linux-3.0.4/drivers/scsi/scsi_s
32243 return snprintf(buf, 20, "0x%llx\n", count); \ 33994 return snprintf(buf, 20, "0x%llx\n", count); \
32244 } \ 33995 } \
32245 static DEVICE_ATTR(field, S_IRUGO, show_iostat_##field, NULL) 33996 static DEVICE_ATTR(field, S_IRUGO, show_iostat_##field, NULL)
32246diff -urNp linux-3.0.4/drivers/scsi/scsi_transport_fc.c linux-3.0.4/drivers/scsi/scsi_transport_fc.c 33997diff -urNp linux-3.0.7/drivers/scsi/scsi_tgt_lib.c linux-3.0.7/drivers/scsi/scsi_tgt_lib.c
32247--- linux-3.0.4/drivers/scsi/scsi_transport_fc.c 2011-07-21 22:17:23.000000000 -0400 33998--- linux-3.0.7/drivers/scsi/scsi_tgt_lib.c 2011-07-21 22:17:23.000000000 -0400
32248+++ linux-3.0.4/drivers/scsi/scsi_transport_fc.c 2011-08-23 21:47:56.000000000 -0400 33999+++ linux-3.0.7/drivers/scsi/scsi_tgt_lib.c 2011-10-06 04:17:55.000000000 -0400
34000@@ -362,7 +362,7 @@ static int scsi_map_user_pages(struct sc
34001 int err;
34002
34003 dprintk("%lx %u\n", uaddr, len);
34004- err = blk_rq_map_user(q, rq, NULL, (void *)uaddr, len, GFP_KERNEL);
34005+ err = blk_rq_map_user(q, rq, NULL, (void __user *)uaddr, len, GFP_KERNEL);
34006 if (err) {
34007 /*
34008 * TODO: need to fixup sg_tablesize, max_segment_size,
34009diff -urNp linux-3.0.7/drivers/scsi/scsi_transport_fc.c linux-3.0.7/drivers/scsi/scsi_transport_fc.c
34010--- linux-3.0.7/drivers/scsi/scsi_transport_fc.c 2011-07-21 22:17:23.000000000 -0400
34011+++ linux-3.0.7/drivers/scsi/scsi_transport_fc.c 2011-08-23 21:47:56.000000000 -0400
32249@@ -484,7 +484,7 @@ static DECLARE_TRANSPORT_CLASS(fc_vport_ 34012@@ -484,7 +484,7 @@ static DECLARE_TRANSPORT_CLASS(fc_vport_
32250 * Netlink Infrastructure 34013 * Netlink Infrastructure
32251 */ 34014 */
@@ -32282,9 +34045,9 @@ diff -urNp linux-3.0.4/drivers/scsi/scsi_transport_fc.c linux-3.0.4/drivers/scsi
32282 return -EINVAL; 34045 return -EINVAL;
32283 /* 34046 /*
32284 * Check for overflow; dev_loss_tmo is u32 34047 * Check for overflow; dev_loss_tmo is u32
32285diff -urNp linux-3.0.4/drivers/scsi/scsi_transport_iscsi.c linux-3.0.4/drivers/scsi/scsi_transport_iscsi.c 34048diff -urNp linux-3.0.7/drivers/scsi/scsi_transport_iscsi.c linux-3.0.7/drivers/scsi/scsi_transport_iscsi.c
32286--- linux-3.0.4/drivers/scsi/scsi_transport_iscsi.c 2011-07-21 22:17:23.000000000 -0400 34049--- linux-3.0.7/drivers/scsi/scsi_transport_iscsi.c 2011-07-21 22:17:23.000000000 -0400
32287+++ linux-3.0.4/drivers/scsi/scsi_transport_iscsi.c 2011-08-23 21:47:56.000000000 -0400 34050+++ linux-3.0.7/drivers/scsi/scsi_transport_iscsi.c 2011-08-23 21:47:56.000000000 -0400
32288@@ -83,7 +83,7 @@ struct iscsi_internal { 34051@@ -83,7 +83,7 @@ struct iscsi_internal {
32289 struct device_attribute *session_attrs[ISCSI_SESSION_ATTRS + 1]; 34052 struct device_attribute *session_attrs[ISCSI_SESSION_ATTRS + 1];
32290 }; 34053 };
@@ -32312,9 +34075,9 @@ diff -urNp linux-3.0.4/drivers/scsi/scsi_transport_iscsi.c linux-3.0.4/drivers/s
32312 34075
32313 err = class_register(&iscsi_transport_class); 34076 err = class_register(&iscsi_transport_class);
32314 if (err) 34077 if (err)
32315diff -urNp linux-3.0.4/drivers/scsi/scsi_transport_srp.c linux-3.0.4/drivers/scsi/scsi_transport_srp.c 34078diff -urNp linux-3.0.7/drivers/scsi/scsi_transport_srp.c linux-3.0.7/drivers/scsi/scsi_transport_srp.c
32316--- linux-3.0.4/drivers/scsi/scsi_transport_srp.c 2011-07-21 22:17:23.000000000 -0400 34079--- linux-3.0.7/drivers/scsi/scsi_transport_srp.c 2011-07-21 22:17:23.000000000 -0400
32317+++ linux-3.0.4/drivers/scsi/scsi_transport_srp.c 2011-08-23 21:47:56.000000000 -0400 34080+++ linux-3.0.7/drivers/scsi/scsi_transport_srp.c 2011-08-23 21:47:56.000000000 -0400
32318@@ -33,7 +33,7 @@ 34081@@ -33,7 +33,7 @@
32319 #include "scsi_transport_srp_internal.h" 34082 #include "scsi_transport_srp_internal.h"
32320 34083
@@ -32342,9 +34105,18 @@ diff -urNp linux-3.0.4/drivers/scsi/scsi_transport_srp.c linux-3.0.4/drivers/scs
32342 dev_set_name(&rport->dev, "port-%d:%d", shost->host_no, id); 34105 dev_set_name(&rport->dev, "port-%d:%d", shost->host_no, id);
32343 34106
32344 transport_setup_device(&rport->dev); 34107 transport_setup_device(&rport->dev);
32345diff -urNp linux-3.0.4/drivers/scsi/sg.c linux-3.0.4/drivers/scsi/sg.c 34108diff -urNp linux-3.0.7/drivers/scsi/sg.c linux-3.0.7/drivers/scsi/sg.c
32346--- linux-3.0.4/drivers/scsi/sg.c 2011-07-21 22:17:23.000000000 -0400 34109--- linux-3.0.7/drivers/scsi/sg.c 2011-07-21 22:17:23.000000000 -0400
32347+++ linux-3.0.4/drivers/scsi/sg.c 2011-08-23 21:47:56.000000000 -0400 34110+++ linux-3.0.7/drivers/scsi/sg.c 2011-10-06 04:17:55.000000000 -0400
34111@@ -1075,7 +1075,7 @@ sg_ioctl(struct file *filp, unsigned int
34112 sdp->disk->disk_name,
34113 MKDEV(SCSI_GENERIC_MAJOR, sdp->index),
34114 NULL,
34115- (char *)arg);
34116+ (char __user *)arg);
34117 case BLKTRACESTART:
34118 return blk_trace_startstop(sdp->device->request_queue, 1);
34119 case BLKTRACESTOP:
32348@@ -2310,7 +2310,7 @@ struct sg_proc_leaf { 34120@@ -2310,7 +2310,7 @@ struct sg_proc_leaf {
32349 const struct file_operations * fops; 34121 const struct file_operations * fops;
32350 }; 34122 };
@@ -32363,9 +34135,9 @@ diff -urNp linux-3.0.4/drivers/scsi/sg.c linux-3.0.4/drivers/scsi/sg.c
32363 34135
32364 sg_proc_sgp = proc_mkdir(sg_proc_sg_dirname, NULL); 34136 sg_proc_sgp = proc_mkdir(sg_proc_sg_dirname, NULL);
32365 if (!sg_proc_sgp) 34137 if (!sg_proc_sgp)
32366diff -urNp linux-3.0.4/drivers/scsi/sym53c8xx_2/sym_glue.c linux-3.0.4/drivers/scsi/sym53c8xx_2/sym_glue.c 34138diff -urNp linux-3.0.7/drivers/scsi/sym53c8xx_2/sym_glue.c linux-3.0.7/drivers/scsi/sym53c8xx_2/sym_glue.c
32367--- linux-3.0.4/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-07-21 22:17:23.000000000 -0400 34139--- linux-3.0.7/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-07-21 22:17:23.000000000 -0400
32368+++ linux-3.0.4/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-08-23 21:48:14.000000000 -0400 34140+++ linux-3.0.7/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-08-23 21:48:14.000000000 -0400
32369@@ -1756,6 +1756,8 @@ static int __devinit sym2_probe(struct p 34141@@ -1756,6 +1756,8 @@ static int __devinit sym2_probe(struct p
32370 int do_iounmap = 0; 34142 int do_iounmap = 0;
32371 int do_disable_device = 1; 34143 int do_disable_device = 1;
@@ -32375,9 +34147,9 @@ diff -urNp linux-3.0.4/drivers/scsi/sym53c8xx_2/sym_glue.c linux-3.0.4/drivers/s
32375 memset(&sym_dev, 0, sizeof(sym_dev)); 34147 memset(&sym_dev, 0, sizeof(sym_dev));
32376 memset(&nvram, 0, sizeof(nvram)); 34148 memset(&nvram, 0, sizeof(nvram));
32377 sym_dev.pdev = pdev; 34149 sym_dev.pdev = pdev;
32378diff -urNp linux-3.0.4/drivers/scsi/vmw_pvscsi.c linux-3.0.4/drivers/scsi/vmw_pvscsi.c 34150diff -urNp linux-3.0.7/drivers/scsi/vmw_pvscsi.c linux-3.0.7/drivers/scsi/vmw_pvscsi.c
32379--- linux-3.0.4/drivers/scsi/vmw_pvscsi.c 2011-07-21 22:17:23.000000000 -0400 34151--- linux-3.0.7/drivers/scsi/vmw_pvscsi.c 2011-07-21 22:17:23.000000000 -0400
32380+++ linux-3.0.4/drivers/scsi/vmw_pvscsi.c 2011-08-23 21:48:14.000000000 -0400 34152+++ linux-3.0.7/drivers/scsi/vmw_pvscsi.c 2011-08-23 21:48:14.000000000 -0400
32381@@ -447,6 +447,8 @@ static void pvscsi_setup_all_rings(const 34153@@ -447,6 +447,8 @@ static void pvscsi_setup_all_rings(const
32382 dma_addr_t base; 34154 dma_addr_t base;
32383 unsigned i; 34155 unsigned i;
@@ -32387,9 +34159,21 @@ diff -urNp linux-3.0.4/drivers/scsi/vmw_pvscsi.c linux-3.0.4/drivers/scsi/vmw_pv
32387 cmd.ringsStatePPN = adapter->ringStatePA >> PAGE_SHIFT; 34159 cmd.ringsStatePPN = adapter->ringStatePA >> PAGE_SHIFT;
32388 cmd.reqRingNumPages = adapter->req_pages; 34160 cmd.reqRingNumPages = adapter->req_pages;
32389 cmd.cmpRingNumPages = adapter->cmp_pages; 34161 cmd.cmpRingNumPages = adapter->cmp_pages;
32390diff -urNp linux-3.0.4/drivers/spi/spi.c linux-3.0.4/drivers/spi/spi.c 34162diff -urNp linux-3.0.7/drivers/spi/dw_spi_pci.c linux-3.0.7/drivers/spi/dw_spi_pci.c
32391--- linux-3.0.4/drivers/spi/spi.c 2011-07-21 22:17:23.000000000 -0400 34163--- linux-3.0.7/drivers/spi/dw_spi_pci.c 2011-07-21 22:17:23.000000000 -0400
32392+++ linux-3.0.4/drivers/spi/spi.c 2011-08-23 21:47:56.000000000 -0400 34164+++ linux-3.0.7/drivers/spi/dw_spi_pci.c 2011-10-11 10:44:33.000000000 -0400
34165@@ -148,7 +148,7 @@ static int spi_resume(struct pci_dev *pd
34166 #define spi_resume NULL
34167 #endif
34168
34169-static const struct pci_device_id pci_ids[] __devinitdata = {
34170+static const struct pci_device_id pci_ids[] __devinitconst = {
34171 /* Intel MID platform SPI controller 0 */
34172 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0800) },
34173 {},
34174diff -urNp linux-3.0.7/drivers/spi/spi.c linux-3.0.7/drivers/spi/spi.c
34175--- linux-3.0.7/drivers/spi/spi.c 2011-07-21 22:17:23.000000000 -0400
34176+++ linux-3.0.7/drivers/spi/spi.c 2011-08-23 21:47:56.000000000 -0400
32393@@ -1023,7 +1023,7 @@ int spi_bus_unlock(struct spi_master *ma 34177@@ -1023,7 +1023,7 @@ int spi_bus_unlock(struct spi_master *ma
32394 EXPORT_SYMBOL_GPL(spi_bus_unlock); 34178 EXPORT_SYMBOL_GPL(spi_bus_unlock);
32395 34179
@@ -32399,9 +34183,9 @@ diff -urNp linux-3.0.4/drivers/spi/spi.c linux-3.0.4/drivers/spi/spi.c
32399 34183
32400 static u8 *buf; 34184 static u8 *buf;
32401 34185
32402diff -urNp linux-3.0.4/drivers/staging/ath6kl/os/linux/ar6000_drv.c linux-3.0.4/drivers/staging/ath6kl/os/linux/ar6000_drv.c 34186diff -urNp linux-3.0.7/drivers/staging/ath6kl/os/linux/ar6000_drv.c linux-3.0.7/drivers/staging/ath6kl/os/linux/ar6000_drv.c
32403--- linux-3.0.4/drivers/staging/ath6kl/os/linux/ar6000_drv.c 2011-09-02 18:11:21.000000000 -0400 34187--- linux-3.0.7/drivers/staging/ath6kl/os/linux/ar6000_drv.c 2011-09-02 18:11:21.000000000 -0400
32404+++ linux-3.0.4/drivers/staging/ath6kl/os/linux/ar6000_drv.c 2011-08-23 21:48:14.000000000 -0400 34188+++ linux-3.0.7/drivers/staging/ath6kl/os/linux/ar6000_drv.c 2011-08-23 21:48:14.000000000 -0400
32405@@ -362,7 +362,7 @@ static struct ar_cookie s_ar_cookie_mem[ 34189@@ -362,7 +362,7 @@ static struct ar_cookie s_ar_cookie_mem[
32406 (((ar)->arTargetType == TARGET_TYPE_AR6003) ? AR6003_HOST_INTEREST_ITEM_ADDRESS(item) : 0)) 34190 (((ar)->arTargetType == TARGET_TYPE_AR6003) ? AR6003_HOST_INTEREST_ITEM_ADDRESS(item) : 0))
32407 34191
@@ -32411,9 +34195,9 @@ diff -urNp linux-3.0.4/drivers/staging/ath6kl/os/linux/ar6000_drv.c linux-3.0.4/
32411 .ndo_init = NULL, 34195 .ndo_init = NULL,
32412 .ndo_open = ar6000_open, 34196 .ndo_open = ar6000_open,
32413 .ndo_stop = ar6000_close, 34197 .ndo_stop = ar6000_close,
32414diff -urNp linux-3.0.4/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h linux-3.0.4/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h 34198diff -urNp linux-3.0.7/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h linux-3.0.7/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h
32415--- linux-3.0.4/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h 2011-07-21 22:17:23.000000000 -0400 34199--- linux-3.0.7/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h 2011-07-21 22:17:23.000000000 -0400
32416+++ linux-3.0.4/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h 2011-08-23 21:47:56.000000000 -0400 34200+++ linux-3.0.7/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h 2011-08-23 21:47:56.000000000 -0400
32417@@ -30,7 +30,7 @@ typedef bool (*ar6k_pal_recv_pkt_t)(void 34201@@ -30,7 +30,7 @@ typedef bool (*ar6k_pal_recv_pkt_t)(void
32418 typedef struct ar6k_pal_config_s 34202 typedef struct ar6k_pal_config_s
32419 { 34203 {
@@ -32423,9 +34207,9 @@ diff -urNp linux-3.0.4/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h linux-
32423 34207
32424 void register_pal_cb(ar6k_pal_config_t *palConfig_p); 34208 void register_pal_cb(ar6k_pal_config_t *palConfig_p);
32425 #endif /* _AR6K_PAL_H_ */ 34209 #endif /* _AR6K_PAL_H_ */
32426diff -urNp linux-3.0.4/drivers/staging/brcm80211/brcmfmac/dhd_linux.c linux-3.0.4/drivers/staging/brcm80211/brcmfmac/dhd_linux.c 34210diff -urNp linux-3.0.7/drivers/staging/brcm80211/brcmfmac/dhd_linux.c linux-3.0.7/drivers/staging/brcm80211/brcmfmac/dhd_linux.c
32427--- linux-3.0.4/drivers/staging/brcm80211/brcmfmac/dhd_linux.c 2011-07-21 22:17:23.000000000 -0400 34211--- linux-3.0.7/drivers/staging/brcm80211/brcmfmac/dhd_linux.c 2011-07-21 22:17:23.000000000 -0400
32428+++ linux-3.0.4/drivers/staging/brcm80211/brcmfmac/dhd_linux.c 2011-08-23 21:47:56.000000000 -0400 34212+++ linux-3.0.7/drivers/staging/brcm80211/brcmfmac/dhd_linux.c 2011-08-23 21:47:56.000000000 -0400
32429@@ -853,14 +853,14 @@ static void dhd_op_if(dhd_if_t *ifp) 34213@@ -853,14 +853,14 @@ static void dhd_op_if(dhd_if_t *ifp)
32430 free_netdev(ifp->net); 34214 free_netdev(ifp->net);
32431 } 34215 }
@@ -32470,9 +34254,9 @@ diff -urNp linux-3.0.4/drivers/staging/brcm80211/brcmfmac/dhd_linux.c linux-3.0.
32470 34254
32471 #if defined(CUSTOMER_HW2) && defined(CONFIG_WIFI_CONTROL_FUNC) 34255 #if defined(CUSTOMER_HW2) && defined(CONFIG_WIFI_CONTROL_FUNC)
32472 g_bus = bus; 34256 g_bus = bus;
32473diff -urNp linux-3.0.4/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h linux-3.0.4/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h 34257diff -urNp linux-3.0.7/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h linux-3.0.7/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h
32474--- linux-3.0.4/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h 2011-07-21 22:17:23.000000000 -0400 34258--- linux-3.0.7/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h 2011-07-21 22:17:23.000000000 -0400
32475+++ linux-3.0.4/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h 2011-08-23 21:47:56.000000000 -0400 34259+++ linux-3.0.7/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h 2011-08-23 21:47:56.000000000 -0400
32476@@ -593,7 +593,7 @@ struct phy_func_ptr { 34260@@ -593,7 +593,7 @@ struct phy_func_ptr {
32477 initfn_t carrsuppr; 34261 initfn_t carrsuppr;
32478 rxsigpwrfn_t rxsigpwr; 34262 rxsigpwrfn_t rxsigpwr;
@@ -32482,9 +34266,9 @@ diff -urNp linux-3.0.4/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h linu
32482 typedef struct phy_func_ptr phy_func_ptr_t; 34266 typedef struct phy_func_ptr phy_func_ptr_t;
32483 34267
32484 struct phy_info { 34268 struct phy_info {
32485diff -urNp linux-3.0.4/drivers/staging/brcm80211/include/bcmsdh.h linux-3.0.4/drivers/staging/brcm80211/include/bcmsdh.h 34269diff -urNp linux-3.0.7/drivers/staging/brcm80211/include/bcmsdh.h linux-3.0.7/drivers/staging/brcm80211/include/bcmsdh.h
32486--- linux-3.0.4/drivers/staging/brcm80211/include/bcmsdh.h 2011-07-21 22:17:23.000000000 -0400 34270--- linux-3.0.7/drivers/staging/brcm80211/include/bcmsdh.h 2011-07-21 22:17:23.000000000 -0400
32487+++ linux-3.0.4/drivers/staging/brcm80211/include/bcmsdh.h 2011-08-23 21:47:56.000000000 -0400 34271+++ linux-3.0.7/drivers/staging/brcm80211/include/bcmsdh.h 2011-08-23 21:47:56.000000000 -0400
32488@@ -185,7 +185,7 @@ typedef struct { 34272@@ -185,7 +185,7 @@ typedef struct {
32489 u16 func, uint bustype, void *regsva, void *param); 34273 u16 func, uint bustype, void *regsva, void *param);
32490 /* detach from device */ 34274 /* detach from device */
@@ -32494,9 +34278,9 @@ diff -urNp linux-3.0.4/drivers/staging/brcm80211/include/bcmsdh.h linux-3.0.4/dr
32494 34278
32495 /* platform specific/high level functions */ 34279 /* platform specific/high level functions */
32496 extern int bcmsdh_register(bcmsdh_driver_t *driver); 34280 extern int bcmsdh_register(bcmsdh_driver_t *driver);
32497diff -urNp linux-3.0.4/drivers/staging/et131x/et1310_tx.c linux-3.0.4/drivers/staging/et131x/et1310_tx.c 34281diff -urNp linux-3.0.7/drivers/staging/et131x/et1310_tx.c linux-3.0.7/drivers/staging/et131x/et1310_tx.c
32498--- linux-3.0.4/drivers/staging/et131x/et1310_tx.c 2011-07-21 22:17:23.000000000 -0400 34282--- linux-3.0.7/drivers/staging/et131x/et1310_tx.c 2011-07-21 22:17:23.000000000 -0400
32499+++ linux-3.0.4/drivers/staging/et131x/et1310_tx.c 2011-08-23 21:47:56.000000000 -0400 34283+++ linux-3.0.7/drivers/staging/et131x/et1310_tx.c 2011-08-23 21:47:56.000000000 -0400
32500@@ -635,11 +635,11 @@ inline void et131x_free_send_packet(stru 34284@@ -635,11 +635,11 @@ inline void et131x_free_send_packet(stru
32501 struct net_device_stats *stats = &etdev->net_stats; 34285 struct net_device_stats *stats = &etdev->net_stats;
32502 34286
@@ -32512,9 +34296,9 @@ diff -urNp linux-3.0.4/drivers/staging/et131x/et1310_tx.c linux-3.0.4/drivers/st
32512 34296
32513 if (tcb->skb) { 34297 if (tcb->skb) {
32514 stats->tx_bytes += tcb->skb->len; 34298 stats->tx_bytes += tcb->skb->len;
32515diff -urNp linux-3.0.4/drivers/staging/et131x/et131x_adapter.h linux-3.0.4/drivers/staging/et131x/et131x_adapter.h 34299diff -urNp linux-3.0.7/drivers/staging/et131x/et131x_adapter.h linux-3.0.7/drivers/staging/et131x/et131x_adapter.h
32516--- linux-3.0.4/drivers/staging/et131x/et131x_adapter.h 2011-07-21 22:17:23.000000000 -0400 34300--- linux-3.0.7/drivers/staging/et131x/et131x_adapter.h 2011-07-21 22:17:23.000000000 -0400
32517+++ linux-3.0.4/drivers/staging/et131x/et131x_adapter.h 2011-08-23 21:47:56.000000000 -0400 34301+++ linux-3.0.7/drivers/staging/et131x/et131x_adapter.h 2011-08-23 21:47:56.000000000 -0400
32518@@ -110,11 +110,11 @@ typedef struct _ce_stats_t { 34302@@ -110,11 +110,11 @@ typedef struct _ce_stats_t {
32519 * operations 34303 * operations
32520 */ 34304 */
@@ -32530,9 +34314,9 @@ diff -urNp linux-3.0.4/drivers/staging/et131x/et131x_adapter.h linux-3.0.4/drive
32530 u32 norcvbuf; /* # Rx packets discarded */ 34314 u32 norcvbuf; /* # Rx packets discarded */
32531 u32 noxmtbuf; /* # Tx packets discarded */ 34315 u32 noxmtbuf; /* # Tx packets discarded */
32532 34316
32533diff -urNp linux-3.0.4/drivers/staging/hv/channel.c linux-3.0.4/drivers/staging/hv/channel.c 34317diff -urNp linux-3.0.7/drivers/staging/hv/channel.c linux-3.0.7/drivers/staging/hv/channel.c
32534--- linux-3.0.4/drivers/staging/hv/channel.c 2011-09-02 18:11:21.000000000 -0400 34318--- linux-3.0.7/drivers/staging/hv/channel.c 2011-09-02 18:11:21.000000000 -0400
32535+++ linux-3.0.4/drivers/staging/hv/channel.c 2011-08-23 21:47:56.000000000 -0400 34319+++ linux-3.0.7/drivers/staging/hv/channel.c 2011-08-23 21:47:56.000000000 -0400
32536@@ -433,8 +433,8 @@ int vmbus_establish_gpadl(struct vmbus_c 34320@@ -433,8 +433,8 @@ int vmbus_establish_gpadl(struct vmbus_c
32537 int ret = 0; 34321 int ret = 0;
32538 int t; 34322 int t;
@@ -32544,9 +34328,9 @@ diff -urNp linux-3.0.4/drivers/staging/hv/channel.c linux-3.0.4/drivers/staging/
32544 34328
32545 ret = create_gpadl_header(kbuffer, size, &msginfo, &msgcount); 34329 ret = create_gpadl_header(kbuffer, size, &msginfo, &msgcount);
32546 if (ret) 34330 if (ret)
32547diff -urNp linux-3.0.4/drivers/staging/hv/hv.c linux-3.0.4/drivers/staging/hv/hv.c 34331diff -urNp linux-3.0.7/drivers/staging/hv/hv.c linux-3.0.7/drivers/staging/hv/hv.c
32548--- linux-3.0.4/drivers/staging/hv/hv.c 2011-07-21 22:17:23.000000000 -0400 34332--- linux-3.0.7/drivers/staging/hv/hv.c 2011-07-21 22:17:23.000000000 -0400
32549+++ linux-3.0.4/drivers/staging/hv/hv.c 2011-08-23 21:47:56.000000000 -0400 34333+++ linux-3.0.7/drivers/staging/hv/hv.c 2011-08-23 21:47:56.000000000 -0400
32550@@ -132,7 +132,7 @@ static u64 do_hypercall(u64 control, voi 34334@@ -132,7 +132,7 @@ static u64 do_hypercall(u64 control, voi
32551 u64 output_address = (output) ? virt_to_phys(output) : 0; 34335 u64 output_address = (output) ? virt_to_phys(output) : 0;
32552 u32 output_address_hi = output_address >> 32; 34336 u32 output_address_hi = output_address >> 32;
@@ -32556,9 +34340,9 @@ diff -urNp linux-3.0.4/drivers/staging/hv/hv.c linux-3.0.4/drivers/staging/hv/hv
32556 34340
32557 __asm__ __volatile__ ("call *%8" : "=d"(hv_status_hi), 34341 __asm__ __volatile__ ("call *%8" : "=d"(hv_status_hi),
32558 "=a"(hv_status_lo) : "d" (control_hi), 34342 "=a"(hv_status_lo) : "d" (control_hi),
32559diff -urNp linux-3.0.4/drivers/staging/hv/hv_mouse.c linux-3.0.4/drivers/staging/hv/hv_mouse.c 34343diff -urNp linux-3.0.7/drivers/staging/hv/hv_mouse.c linux-3.0.7/drivers/staging/hv/hv_mouse.c
32560--- linux-3.0.4/drivers/staging/hv/hv_mouse.c 2011-07-21 22:17:23.000000000 -0400 34344--- linux-3.0.7/drivers/staging/hv/hv_mouse.c 2011-07-21 22:17:23.000000000 -0400
32561+++ linux-3.0.4/drivers/staging/hv/hv_mouse.c 2011-08-23 21:47:56.000000000 -0400 34345+++ linux-3.0.7/drivers/staging/hv/hv_mouse.c 2011-08-23 21:47:56.000000000 -0400
32562@@ -879,8 +879,10 @@ static void reportdesc_callback(struct h 34346@@ -879,8 +879,10 @@ static void reportdesc_callback(struct h
32563 if (hid_dev) { 34347 if (hid_dev) {
32564 DPRINT_INFO(INPUTVSC_DRV, "hid_device created"); 34348 DPRINT_INFO(INPUTVSC_DRV, "hid_device created");
@@ -32572,9 +34356,9 @@ diff -urNp linux-3.0.4/drivers/staging/hv/hv_mouse.c linux-3.0.4/drivers/staging
32572 34356
32573 hid_dev->bus = BUS_VIRTUAL; 34357 hid_dev->bus = BUS_VIRTUAL;
32574 hid_dev->vendor = input_device_ctx->device_info.vendor; 34358 hid_dev->vendor = input_device_ctx->device_info.vendor;
32575diff -urNp linux-3.0.4/drivers/staging/hv/hyperv_vmbus.h linux-3.0.4/drivers/staging/hv/hyperv_vmbus.h 34359diff -urNp linux-3.0.7/drivers/staging/hv/hyperv_vmbus.h linux-3.0.7/drivers/staging/hv/hyperv_vmbus.h
32576--- linux-3.0.4/drivers/staging/hv/hyperv_vmbus.h 2011-07-21 22:17:23.000000000 -0400 34360--- linux-3.0.7/drivers/staging/hv/hyperv_vmbus.h 2011-07-21 22:17:23.000000000 -0400
32577+++ linux-3.0.4/drivers/staging/hv/hyperv_vmbus.h 2011-08-23 21:47:56.000000000 -0400 34361+++ linux-3.0.7/drivers/staging/hv/hyperv_vmbus.h 2011-08-23 21:47:56.000000000 -0400
32578@@ -559,7 +559,7 @@ enum vmbus_connect_state { 34362@@ -559,7 +559,7 @@ enum vmbus_connect_state {
32579 struct vmbus_connection { 34363 struct vmbus_connection {
32580 enum vmbus_connect_state conn_state; 34364 enum vmbus_connect_state conn_state;
@@ -32584,9 +34368,9 @@ diff -urNp linux-3.0.4/drivers/staging/hv/hyperv_vmbus.h linux-3.0.4/drivers/sta
32584 34368
32585 /* 34369 /*
32586 * Represents channel interrupts. Each bit position represents a 34370 * Represents channel interrupts. Each bit position represents a
32587diff -urNp linux-3.0.4/drivers/staging/hv/rndis_filter.c linux-3.0.4/drivers/staging/hv/rndis_filter.c 34371diff -urNp linux-3.0.7/drivers/staging/hv/rndis_filter.c linux-3.0.7/drivers/staging/hv/rndis_filter.c
32588--- linux-3.0.4/drivers/staging/hv/rndis_filter.c 2011-09-02 18:11:21.000000000 -0400 34372--- linux-3.0.7/drivers/staging/hv/rndis_filter.c 2011-09-02 18:11:21.000000000 -0400
32589+++ linux-3.0.4/drivers/staging/hv/rndis_filter.c 2011-08-23 21:47:56.000000000 -0400 34373+++ linux-3.0.7/drivers/staging/hv/rndis_filter.c 2011-08-23 21:47:56.000000000 -0400
32590@@ -43,7 +43,7 @@ struct rndis_device { 34374@@ -43,7 +43,7 @@ struct rndis_device {
32591 34375
32592 enum rndis_device_state state; 34376 enum rndis_device_state state;
@@ -32614,9 +34398,9 @@ diff -urNp linux-3.0.4/drivers/staging/hv/rndis_filter.c linux-3.0.4/drivers/sta
32614 34398
32615 /* Ignore return since this msg is optional. */ 34399 /* Ignore return since this msg is optional. */
32616 rndis_filter_send_request(dev, request); 34400 rndis_filter_send_request(dev, request);
32617diff -urNp linux-3.0.4/drivers/staging/hv/vmbus_drv.c linux-3.0.4/drivers/staging/hv/vmbus_drv.c 34401diff -urNp linux-3.0.7/drivers/staging/hv/vmbus_drv.c linux-3.0.7/drivers/staging/hv/vmbus_drv.c
32618--- linux-3.0.4/drivers/staging/hv/vmbus_drv.c 2011-07-21 22:17:23.000000000 -0400 34402--- linux-3.0.7/drivers/staging/hv/vmbus_drv.c 2011-07-21 22:17:23.000000000 -0400
32619+++ linux-3.0.4/drivers/staging/hv/vmbus_drv.c 2011-08-23 21:47:56.000000000 -0400 34403+++ linux-3.0.7/drivers/staging/hv/vmbus_drv.c 2011-08-23 21:47:56.000000000 -0400
32620@@ -668,11 +668,11 @@ int vmbus_child_device_register(struct h 34404@@ -668,11 +668,11 @@ int vmbus_child_device_register(struct h
32621 { 34405 {
32622 int ret = 0; 34406 int ret = 0;
@@ -32631,9 +34415,9 @@ diff -urNp linux-3.0.4/drivers/staging/hv/vmbus_drv.c linux-3.0.4/drivers/stagin
32631 34415
32632 /* The new device belongs to this bus */ 34416 /* The new device belongs to this bus */
32633 child_device_obj->device.bus = &hv_bus; /* device->dev.bus; */ 34417 child_device_obj->device.bus = &hv_bus; /* device->dev.bus; */
32634diff -urNp linux-3.0.4/drivers/staging/iio/ring_generic.h linux-3.0.4/drivers/staging/iio/ring_generic.h 34418diff -urNp linux-3.0.7/drivers/staging/iio/ring_generic.h linux-3.0.7/drivers/staging/iio/ring_generic.h
32635--- linux-3.0.4/drivers/staging/iio/ring_generic.h 2011-07-21 22:17:23.000000000 -0400 34419--- linux-3.0.7/drivers/staging/iio/ring_generic.h 2011-07-21 22:17:23.000000000 -0400
32636+++ linux-3.0.4/drivers/staging/iio/ring_generic.h 2011-08-23 21:47:56.000000000 -0400 34420+++ linux-3.0.7/drivers/staging/iio/ring_generic.h 2011-08-23 21:47:56.000000000 -0400
32637@@ -62,7 +62,7 @@ struct iio_ring_access_funcs { 34421@@ -62,7 +62,7 @@ struct iio_ring_access_funcs {
32638 34422
32639 int (*is_enabled)(struct iio_ring_buffer *ring); 34423 int (*is_enabled)(struct iio_ring_buffer *ring);
@@ -32643,9 +34427,9 @@ diff -urNp linux-3.0.4/drivers/staging/iio/ring_generic.h linux-3.0.4/drivers/st
32643 34427
32644 struct iio_ring_setup_ops { 34428 struct iio_ring_setup_ops {
32645 int (*preenable)(struct iio_dev *); 34429 int (*preenable)(struct iio_dev *);
32646diff -urNp linux-3.0.4/drivers/staging/octeon/ethernet.c linux-3.0.4/drivers/staging/octeon/ethernet.c 34430diff -urNp linux-3.0.7/drivers/staging/octeon/ethernet.c linux-3.0.7/drivers/staging/octeon/ethernet.c
32647--- linux-3.0.4/drivers/staging/octeon/ethernet.c 2011-07-21 22:17:23.000000000 -0400 34431--- linux-3.0.7/drivers/staging/octeon/ethernet.c 2011-07-21 22:17:23.000000000 -0400
32648+++ linux-3.0.4/drivers/staging/octeon/ethernet.c 2011-08-23 21:47:56.000000000 -0400 34432+++ linux-3.0.7/drivers/staging/octeon/ethernet.c 2011-08-23 21:47:56.000000000 -0400
32649@@ -258,11 +258,11 @@ static struct net_device_stats *cvm_oct_ 34433@@ -258,11 +258,11 @@ static struct net_device_stats *cvm_oct_
32650 * since the RX tasklet also increments it. 34434 * since the RX tasklet also increments it.
32651 */ 34435 */
@@ -32662,9 +34446,9 @@ diff -urNp linux-3.0.4/drivers/staging/octeon/ethernet.c linux-3.0.4/drivers/sta
32662 #endif 34446 #endif
32663 } 34447 }
32664 34448
32665diff -urNp linux-3.0.4/drivers/staging/octeon/ethernet-rx.c linux-3.0.4/drivers/staging/octeon/ethernet-rx.c 34449diff -urNp linux-3.0.7/drivers/staging/octeon/ethernet-rx.c linux-3.0.7/drivers/staging/octeon/ethernet-rx.c
32666--- linux-3.0.4/drivers/staging/octeon/ethernet-rx.c 2011-07-21 22:17:23.000000000 -0400 34450--- linux-3.0.7/drivers/staging/octeon/ethernet-rx.c 2011-07-21 22:17:23.000000000 -0400
32667+++ linux-3.0.4/drivers/staging/octeon/ethernet-rx.c 2011-08-23 21:47:56.000000000 -0400 34451+++ linux-3.0.7/drivers/staging/octeon/ethernet-rx.c 2011-08-23 21:47:56.000000000 -0400
32668@@ -417,11 +417,11 @@ static int cvm_oct_napi_poll(struct napi 34452@@ -417,11 +417,11 @@ static int cvm_oct_napi_poll(struct napi
32669 /* Increment RX stats for virtual ports */ 34453 /* Increment RX stats for virtual ports */
32670 if (work->ipprt >= CVMX_PIP_NUM_INPUT_PORTS) { 34454 if (work->ipprt >= CVMX_PIP_NUM_INPUT_PORTS) {
@@ -32693,9 +34477,9 @@ diff -urNp linux-3.0.4/drivers/staging/octeon/ethernet-rx.c linux-3.0.4/drivers/
32693 #endif 34477 #endif
32694 dev_kfree_skb_irq(skb); 34478 dev_kfree_skb_irq(skb);
32695 } 34479 }
32696diff -urNp linux-3.0.4/drivers/staging/pohmelfs/inode.c linux-3.0.4/drivers/staging/pohmelfs/inode.c 34480diff -urNp linux-3.0.7/drivers/staging/pohmelfs/inode.c linux-3.0.7/drivers/staging/pohmelfs/inode.c
32697--- linux-3.0.4/drivers/staging/pohmelfs/inode.c 2011-07-21 22:17:23.000000000 -0400 34481--- linux-3.0.7/drivers/staging/pohmelfs/inode.c 2011-07-21 22:17:23.000000000 -0400
32698+++ linux-3.0.4/drivers/staging/pohmelfs/inode.c 2011-08-23 21:47:56.000000000 -0400 34482+++ linux-3.0.7/drivers/staging/pohmelfs/inode.c 2011-08-23 21:47:56.000000000 -0400
32699@@ -1856,7 +1856,7 @@ static int pohmelfs_fill_super(struct su 34483@@ -1856,7 +1856,7 @@ static int pohmelfs_fill_super(struct su
32700 mutex_init(&psb->mcache_lock); 34484 mutex_init(&psb->mcache_lock);
32701 psb->mcache_root = RB_ROOT; 34485 psb->mcache_root = RB_ROOT;
@@ -32714,9 +34498,9 @@ diff -urNp linux-3.0.4/drivers/staging/pohmelfs/inode.c linux-3.0.4/drivers/stag
32714 atomic_long_set(&psb->total_inodes, 0); 34498 atomic_long_set(&psb->total_inodes, 0);
32715 34499
32716 mutex_init(&psb->state_lock); 34500 mutex_init(&psb->state_lock);
32717diff -urNp linux-3.0.4/drivers/staging/pohmelfs/mcache.c linux-3.0.4/drivers/staging/pohmelfs/mcache.c 34501diff -urNp linux-3.0.7/drivers/staging/pohmelfs/mcache.c linux-3.0.7/drivers/staging/pohmelfs/mcache.c
32718--- linux-3.0.4/drivers/staging/pohmelfs/mcache.c 2011-07-21 22:17:23.000000000 -0400 34502--- linux-3.0.7/drivers/staging/pohmelfs/mcache.c 2011-07-21 22:17:23.000000000 -0400
32719+++ linux-3.0.4/drivers/staging/pohmelfs/mcache.c 2011-08-23 21:47:56.000000000 -0400 34503+++ linux-3.0.7/drivers/staging/pohmelfs/mcache.c 2011-08-23 21:47:56.000000000 -0400
32720@@ -121,7 +121,7 @@ struct pohmelfs_mcache *pohmelfs_mcache_ 34504@@ -121,7 +121,7 @@ struct pohmelfs_mcache *pohmelfs_mcache_
32721 m->data = data; 34505 m->data = data;
32722 m->start = start; 34506 m->start = start;
@@ -32726,9 +34510,9 @@ diff -urNp linux-3.0.4/drivers/staging/pohmelfs/mcache.c linux-3.0.4/drivers/sta
32726 34510
32727 mutex_lock(&psb->mcache_lock); 34511 mutex_lock(&psb->mcache_lock);
32728 err = pohmelfs_mcache_insert(psb, m); 34512 err = pohmelfs_mcache_insert(psb, m);
32729diff -urNp linux-3.0.4/drivers/staging/pohmelfs/netfs.h linux-3.0.4/drivers/staging/pohmelfs/netfs.h 34513diff -urNp linux-3.0.7/drivers/staging/pohmelfs/netfs.h linux-3.0.7/drivers/staging/pohmelfs/netfs.h
32730--- linux-3.0.4/drivers/staging/pohmelfs/netfs.h 2011-07-21 22:17:23.000000000 -0400 34514--- linux-3.0.7/drivers/staging/pohmelfs/netfs.h 2011-07-21 22:17:23.000000000 -0400
32731+++ linux-3.0.4/drivers/staging/pohmelfs/netfs.h 2011-08-23 21:47:56.000000000 -0400 34515+++ linux-3.0.7/drivers/staging/pohmelfs/netfs.h 2011-08-23 21:47:56.000000000 -0400
32732@@ -571,14 +571,14 @@ struct pohmelfs_config; 34516@@ -571,14 +571,14 @@ struct pohmelfs_config;
32733 struct pohmelfs_sb { 34517 struct pohmelfs_sb {
32734 struct rb_root mcache_root; 34518 struct rb_root mcache_root;
@@ -32746,9 +34530,9 @@ diff -urNp linux-3.0.4/drivers/staging/pohmelfs/netfs.h linux-3.0.4/drivers/stag
32746 34530
32747 unsigned int crypto_attached_size; 34531 unsigned int crypto_attached_size;
32748 unsigned int crypto_align_size; 34532 unsigned int crypto_align_size;
32749diff -urNp linux-3.0.4/drivers/staging/pohmelfs/trans.c linux-3.0.4/drivers/staging/pohmelfs/trans.c 34533diff -urNp linux-3.0.7/drivers/staging/pohmelfs/trans.c linux-3.0.7/drivers/staging/pohmelfs/trans.c
32750--- linux-3.0.4/drivers/staging/pohmelfs/trans.c 2011-07-21 22:17:23.000000000 -0400 34534--- linux-3.0.7/drivers/staging/pohmelfs/trans.c 2011-07-21 22:17:23.000000000 -0400
32751+++ linux-3.0.4/drivers/staging/pohmelfs/trans.c 2011-08-23 21:47:56.000000000 -0400 34535+++ linux-3.0.7/drivers/staging/pohmelfs/trans.c 2011-08-23 21:47:56.000000000 -0400
32752@@ -492,7 +492,7 @@ int netfs_trans_finish(struct netfs_tran 34536@@ -492,7 +492,7 @@ int netfs_trans_finish(struct netfs_tran
32753 int err; 34537 int err;
32754 struct netfs_cmd *cmd = t->iovec.iov_base; 34538 struct netfs_cmd *cmd = t->iovec.iov_base;
@@ -32758,9 +34542,9 @@ diff -urNp linux-3.0.4/drivers/staging/pohmelfs/trans.c linux-3.0.4/drivers/stag
32758 34542
32759 cmd->size = t->iovec.iov_len - sizeof(struct netfs_cmd) + 34543 cmd->size = t->iovec.iov_len - sizeof(struct netfs_cmd) +
32760 t->attached_size + t->attached_pages * sizeof(struct netfs_cmd); 34544 t->attached_size + t->attached_pages * sizeof(struct netfs_cmd);
32761diff -urNp linux-3.0.4/drivers/staging/rtl8712/rtl871x_io.h linux-3.0.4/drivers/staging/rtl8712/rtl871x_io.h 34545diff -urNp linux-3.0.7/drivers/staging/rtl8712/rtl871x_io.h linux-3.0.7/drivers/staging/rtl8712/rtl871x_io.h
32762--- linux-3.0.4/drivers/staging/rtl8712/rtl871x_io.h 2011-07-21 22:17:23.000000000 -0400 34546--- linux-3.0.7/drivers/staging/rtl8712/rtl871x_io.h 2011-07-21 22:17:23.000000000 -0400
32763+++ linux-3.0.4/drivers/staging/rtl8712/rtl871x_io.h 2011-08-23 21:47:56.000000000 -0400 34547+++ linux-3.0.7/drivers/staging/rtl8712/rtl871x_io.h 2011-08-23 21:47:56.000000000 -0400
32764@@ -83,7 +83,7 @@ struct _io_ops { 34548@@ -83,7 +83,7 @@ struct _io_ops {
32765 u8 *pmem); 34549 u8 *pmem);
32766 u32 (*_write_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, 34550 u32 (*_write_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt,
@@ -32770,9 +34554,9 @@ diff -urNp linux-3.0.4/drivers/staging/rtl8712/rtl871x_io.h linux-3.0.4/drivers/
32770 34554
32771 struct io_req { 34555 struct io_req {
32772 struct list_head list; 34556 struct list_head list;
32773diff -urNp linux-3.0.4/drivers/staging/sbe-2t3e3/netdev.c linux-3.0.4/drivers/staging/sbe-2t3e3/netdev.c 34557diff -urNp linux-3.0.7/drivers/staging/sbe-2t3e3/netdev.c linux-3.0.7/drivers/staging/sbe-2t3e3/netdev.c
32774--- linux-3.0.4/drivers/staging/sbe-2t3e3/netdev.c 2011-07-21 22:17:23.000000000 -0400 34558--- linux-3.0.7/drivers/staging/sbe-2t3e3/netdev.c 2011-07-21 22:17:23.000000000 -0400
32775+++ linux-3.0.4/drivers/staging/sbe-2t3e3/netdev.c 2011-08-24 18:21:41.000000000 -0400 34559+++ linux-3.0.7/drivers/staging/sbe-2t3e3/netdev.c 2011-08-24 18:21:41.000000000 -0400
32776@@ -51,7 +51,7 @@ int t3e3_ioctl(struct net_device *dev, s 34560@@ -51,7 +51,7 @@ int t3e3_ioctl(struct net_device *dev, s
32777 t3e3_if_config(sc, cmd_2t3e3, (char *)&param, &resp, &rlen); 34561 t3e3_if_config(sc, cmd_2t3e3, (char *)&param, &resp, &rlen);
32778 34562
@@ -32782,9 +34566,9 @@ diff -urNp linux-3.0.4/drivers/staging/sbe-2t3e3/netdev.c linux-3.0.4/drivers/st
32782 return -EFAULT; 34566 return -EFAULT;
32783 34567
32784 return 0; 34568 return 0;
32785diff -urNp linux-3.0.4/drivers/staging/tty/stallion.c linux-3.0.4/drivers/staging/tty/stallion.c 34569diff -urNp linux-3.0.7/drivers/staging/tty/stallion.c linux-3.0.7/drivers/staging/tty/stallion.c
32786--- linux-3.0.4/drivers/staging/tty/stallion.c 2011-07-21 22:17:23.000000000 -0400 34570--- linux-3.0.7/drivers/staging/tty/stallion.c 2011-07-21 22:17:23.000000000 -0400
32787+++ linux-3.0.4/drivers/staging/tty/stallion.c 2011-08-23 21:48:14.000000000 -0400 34571+++ linux-3.0.7/drivers/staging/tty/stallion.c 2011-08-23 21:48:14.000000000 -0400
32788@@ -2406,6 +2406,8 @@ static int stl_getportstruct(struct stlp 34572@@ -2406,6 +2406,8 @@ static int stl_getportstruct(struct stlp
32789 struct stlport stl_dummyport; 34573 struct stlport stl_dummyport;
32790 struct stlport *portp; 34574 struct stlport *portp;
@@ -32794,9 +34578,9 @@ diff -urNp linux-3.0.4/drivers/staging/tty/stallion.c linux-3.0.4/drivers/stagin
32794 if (copy_from_user(&stl_dummyport, arg, sizeof(struct stlport))) 34578 if (copy_from_user(&stl_dummyport, arg, sizeof(struct stlport)))
32795 return -EFAULT; 34579 return -EFAULT;
32796 portp = stl_getport(stl_dummyport.brdnr, stl_dummyport.panelnr, 34580 portp = stl_getport(stl_dummyport.brdnr, stl_dummyport.panelnr,
32797diff -urNp linux-3.0.4/drivers/staging/usbip/usbip_common.h linux-3.0.4/drivers/staging/usbip/usbip_common.h 34581diff -urNp linux-3.0.7/drivers/staging/usbip/usbip_common.h linux-3.0.7/drivers/staging/usbip/usbip_common.h
32798--- linux-3.0.4/drivers/staging/usbip/usbip_common.h 2011-07-21 22:17:23.000000000 -0400 34582--- linux-3.0.7/drivers/staging/usbip/usbip_common.h 2011-07-21 22:17:23.000000000 -0400
32799+++ linux-3.0.4/drivers/staging/usbip/usbip_common.h 2011-08-23 21:47:56.000000000 -0400 34583+++ linux-3.0.7/drivers/staging/usbip/usbip_common.h 2011-08-23 21:47:56.000000000 -0400
32800@@ -315,7 +315,7 @@ struct usbip_device { 34584@@ -315,7 +315,7 @@ struct usbip_device {
32801 void (*shutdown)(struct usbip_device *); 34585 void (*shutdown)(struct usbip_device *);
32802 void (*reset)(struct usbip_device *); 34586 void (*reset)(struct usbip_device *);
@@ -32806,9 +34590,9 @@ diff -urNp linux-3.0.4/drivers/staging/usbip/usbip_common.h linux-3.0.4/drivers/
32806 }; 34590 };
32807 34591
32808 void usbip_pack_pdu(struct usbip_header *pdu, struct urb *urb, int cmd, 34592 void usbip_pack_pdu(struct usbip_header *pdu, struct urb *urb, int cmd,
32809diff -urNp linux-3.0.4/drivers/staging/usbip/vhci.h linux-3.0.4/drivers/staging/usbip/vhci.h 34593diff -urNp linux-3.0.7/drivers/staging/usbip/vhci.h linux-3.0.7/drivers/staging/usbip/vhci.h
32810--- linux-3.0.4/drivers/staging/usbip/vhci.h 2011-07-21 22:17:23.000000000 -0400 34594--- linux-3.0.7/drivers/staging/usbip/vhci.h 2011-07-21 22:17:23.000000000 -0400
32811+++ linux-3.0.4/drivers/staging/usbip/vhci.h 2011-08-23 21:47:56.000000000 -0400 34595+++ linux-3.0.7/drivers/staging/usbip/vhci.h 2011-08-23 21:47:56.000000000 -0400
32812@@ -94,7 +94,7 @@ struct vhci_hcd { 34596@@ -94,7 +94,7 @@ struct vhci_hcd {
32813 unsigned resuming:1; 34597 unsigned resuming:1;
32814 unsigned long re_timeout; 34598 unsigned long re_timeout;
@@ -32818,9 +34602,9 @@ diff -urNp linux-3.0.4/drivers/staging/usbip/vhci.h linux-3.0.4/drivers/staging/
32818 34602
32819 /* 34603 /*
32820 * NOTE: 34604 * NOTE:
32821diff -urNp linux-3.0.4/drivers/staging/usbip/vhci_hcd.c linux-3.0.4/drivers/staging/usbip/vhci_hcd.c 34605diff -urNp linux-3.0.7/drivers/staging/usbip/vhci_hcd.c linux-3.0.7/drivers/staging/usbip/vhci_hcd.c
32822--- linux-3.0.4/drivers/staging/usbip/vhci_hcd.c 2011-09-02 18:11:21.000000000 -0400 34606--- linux-3.0.7/drivers/staging/usbip/vhci_hcd.c 2011-09-02 18:11:21.000000000 -0400
32823+++ linux-3.0.4/drivers/staging/usbip/vhci_hcd.c 2011-08-23 21:47:56.000000000 -0400 34607+++ linux-3.0.7/drivers/staging/usbip/vhci_hcd.c 2011-08-23 21:47:56.000000000 -0400
32824@@ -511,7 +511,7 @@ static void vhci_tx_urb(struct urb *urb) 34608@@ -511,7 +511,7 @@ static void vhci_tx_urb(struct urb *urb)
32825 return; 34609 return;
32826 } 34610 }
@@ -32848,9 +34632,9 @@ diff -urNp linux-3.0.4/drivers/staging/usbip/vhci_hcd.c linux-3.0.4/drivers/stag
32848 spin_lock_init(&vhci->lock); 34632 spin_lock_init(&vhci->lock);
32849 34633
32850 hcd->power_budget = 0; /* no limit */ 34634 hcd->power_budget = 0; /* no limit */
32851diff -urNp linux-3.0.4/drivers/staging/usbip/vhci_rx.c linux-3.0.4/drivers/staging/usbip/vhci_rx.c 34635diff -urNp linux-3.0.7/drivers/staging/usbip/vhci_rx.c linux-3.0.7/drivers/staging/usbip/vhci_rx.c
32852--- linux-3.0.4/drivers/staging/usbip/vhci_rx.c 2011-07-21 22:17:23.000000000 -0400 34636--- linux-3.0.7/drivers/staging/usbip/vhci_rx.c 2011-07-21 22:17:23.000000000 -0400
32853+++ linux-3.0.4/drivers/staging/usbip/vhci_rx.c 2011-08-23 21:47:56.000000000 -0400 34637+++ linux-3.0.7/drivers/staging/usbip/vhci_rx.c 2011-08-23 21:47:56.000000000 -0400
32854@@ -76,7 +76,7 @@ static void vhci_recv_ret_submit(struct 34638@@ -76,7 +76,7 @@ static void vhci_recv_ret_submit(struct
32855 if (!urb) { 34639 if (!urb) {
32856 pr_err("cannot find a urb of seqnum %u\n", pdu->base.seqnum); 34640 pr_err("cannot find a urb of seqnum %u\n", pdu->base.seqnum);
@@ -32860,9 +34644,9 @@ diff -urNp linux-3.0.4/drivers/staging/usbip/vhci_rx.c linux-3.0.4/drivers/stagi
32860 usbip_event_add(ud, VDEV_EVENT_ERROR_TCP); 34644 usbip_event_add(ud, VDEV_EVENT_ERROR_TCP);
32861 return; 34645 return;
32862 } 34646 }
32863diff -urNp linux-3.0.4/drivers/staging/vt6655/hostap.c linux-3.0.4/drivers/staging/vt6655/hostap.c 34647diff -urNp linux-3.0.7/drivers/staging/vt6655/hostap.c linux-3.0.7/drivers/staging/vt6655/hostap.c
32864--- linux-3.0.4/drivers/staging/vt6655/hostap.c 2011-07-21 22:17:23.000000000 -0400 34648--- linux-3.0.7/drivers/staging/vt6655/hostap.c 2011-07-21 22:17:23.000000000 -0400
32865+++ linux-3.0.4/drivers/staging/vt6655/hostap.c 2011-08-23 21:47:56.000000000 -0400 34649+++ linux-3.0.7/drivers/staging/vt6655/hostap.c 2011-08-23 21:47:56.000000000 -0400
32866@@ -79,14 +79,13 @@ static int msglevel 34650@@ -79,14 +79,13 @@ static int msglevel
32867 * 34651 *
32868 */ 34652 */
@@ -32889,9 +34673,9 @@ diff -urNp linux-3.0.4/drivers/staging/vt6655/hostap.c linux-3.0.4/drivers/stagi
32889 pDevice->apdev->netdev_ops = &apdev_netdev_ops; 34673 pDevice->apdev->netdev_ops = &apdev_netdev_ops;
32890 34674
32891 pDevice->apdev->type = ARPHRD_IEEE80211; 34675 pDevice->apdev->type = ARPHRD_IEEE80211;
32892diff -urNp linux-3.0.4/drivers/staging/vt6656/hostap.c linux-3.0.4/drivers/staging/vt6656/hostap.c 34676diff -urNp linux-3.0.7/drivers/staging/vt6656/hostap.c linux-3.0.7/drivers/staging/vt6656/hostap.c
32893--- linux-3.0.4/drivers/staging/vt6656/hostap.c 2011-07-21 22:17:23.000000000 -0400 34677--- linux-3.0.7/drivers/staging/vt6656/hostap.c 2011-07-21 22:17:23.000000000 -0400
32894+++ linux-3.0.4/drivers/staging/vt6656/hostap.c 2011-08-23 21:47:56.000000000 -0400 34678+++ linux-3.0.7/drivers/staging/vt6656/hostap.c 2011-08-23 21:47:56.000000000 -0400
32895@@ -80,14 +80,13 @@ static int msglevel 34679@@ -80,14 +80,13 @@ static int msglevel
32896 * 34680 *
32897 */ 34681 */
@@ -32918,9 +34702,9 @@ diff -urNp linux-3.0.4/drivers/staging/vt6656/hostap.c linux-3.0.4/drivers/stagi
32918 pDevice->apdev->netdev_ops = &apdev_netdev_ops; 34702 pDevice->apdev->netdev_ops = &apdev_netdev_ops;
32919 34703
32920 pDevice->apdev->type = ARPHRD_IEEE80211; 34704 pDevice->apdev->type = ARPHRD_IEEE80211;
32921diff -urNp linux-3.0.4/drivers/staging/wlan-ng/hfa384x_usb.c linux-3.0.4/drivers/staging/wlan-ng/hfa384x_usb.c 34705diff -urNp linux-3.0.7/drivers/staging/wlan-ng/hfa384x_usb.c linux-3.0.7/drivers/staging/wlan-ng/hfa384x_usb.c
32922--- linux-3.0.4/drivers/staging/wlan-ng/hfa384x_usb.c 2011-07-21 22:17:23.000000000 -0400 34706--- linux-3.0.7/drivers/staging/wlan-ng/hfa384x_usb.c 2011-07-21 22:17:23.000000000 -0400
32923+++ linux-3.0.4/drivers/staging/wlan-ng/hfa384x_usb.c 2011-08-23 21:47:56.000000000 -0400 34707+++ linux-3.0.7/drivers/staging/wlan-ng/hfa384x_usb.c 2011-08-23 21:47:56.000000000 -0400
32924@@ -204,7 +204,7 @@ static void unlocked_usbctlx_complete(hf 34708@@ -204,7 +204,7 @@ static void unlocked_usbctlx_complete(hf
32925 34709
32926 struct usbctlx_completor { 34710 struct usbctlx_completor {
@@ -32930,9 +34714,9 @@ diff -urNp linux-3.0.4/drivers/staging/wlan-ng/hfa384x_usb.c linux-3.0.4/drivers
32930 34714
32931 static int 34715 static int
32932 hfa384x_usbctlx_complete_sync(hfa384x_t *hw, 34716 hfa384x_usbctlx_complete_sync(hfa384x_t *hw,
32933diff -urNp linux-3.0.4/drivers/staging/zcache/tmem.c linux-3.0.4/drivers/staging/zcache/tmem.c 34717diff -urNp linux-3.0.7/drivers/staging/zcache/tmem.c linux-3.0.7/drivers/staging/zcache/tmem.c
32934--- linux-3.0.4/drivers/staging/zcache/tmem.c 2011-07-21 22:17:23.000000000 -0400 34718--- linux-3.0.7/drivers/staging/zcache/tmem.c 2011-07-21 22:17:23.000000000 -0400
32935+++ linux-3.0.4/drivers/staging/zcache/tmem.c 2011-08-23 21:47:56.000000000 -0400 34719+++ linux-3.0.7/drivers/staging/zcache/tmem.c 2011-08-23 21:47:56.000000000 -0400
32936@@ -39,7 +39,7 @@ 34720@@ -39,7 +39,7 @@
32937 * A tmem host implementation must use this function to register callbacks 34721 * A tmem host implementation must use this function to register callbacks
32938 * for memory allocation. 34722 * for memory allocation.
@@ -32951,9 +34735,9 @@ diff -urNp linux-3.0.4/drivers/staging/zcache/tmem.c linux-3.0.4/drivers/staging
32951 34735
32952 void tmem_register_pamops(struct tmem_pamops *m) 34736 void tmem_register_pamops(struct tmem_pamops *m)
32953 { 34737 {
32954diff -urNp linux-3.0.4/drivers/staging/zcache/tmem.h linux-3.0.4/drivers/staging/zcache/tmem.h 34738diff -urNp linux-3.0.7/drivers/staging/zcache/tmem.h linux-3.0.7/drivers/staging/zcache/tmem.h
32955--- linux-3.0.4/drivers/staging/zcache/tmem.h 2011-07-21 22:17:23.000000000 -0400 34739--- linux-3.0.7/drivers/staging/zcache/tmem.h 2011-07-21 22:17:23.000000000 -0400
32956+++ linux-3.0.4/drivers/staging/zcache/tmem.h 2011-08-23 21:47:56.000000000 -0400 34740+++ linux-3.0.7/drivers/staging/zcache/tmem.h 2011-08-23 21:47:56.000000000 -0400
32957@@ -171,6 +171,7 @@ struct tmem_pamops { 34741@@ -171,6 +171,7 @@ struct tmem_pamops {
32958 int (*get_data)(struct page *, void *, struct tmem_pool *); 34742 int (*get_data)(struct page *, void *, struct tmem_pool *);
32959 void (*free)(void *, struct tmem_pool *); 34743 void (*free)(void *, struct tmem_pool *);
@@ -32970,9 +34754,9 @@ diff -urNp linux-3.0.4/drivers/staging/zcache/tmem.h linux-3.0.4/drivers/staging
32970 extern void tmem_register_hostops(struct tmem_hostops *m); 34754 extern void tmem_register_hostops(struct tmem_hostops *m);
32971 34755
32972 /* core tmem accessor functions */ 34756 /* core tmem accessor functions */
32973diff -urNp linux-3.0.4/drivers/target/target_core_alua.c linux-3.0.4/drivers/target/target_core_alua.c 34757diff -urNp linux-3.0.7/drivers/target/target_core_alua.c linux-3.0.7/drivers/target/target_core_alua.c
32974--- linux-3.0.4/drivers/target/target_core_alua.c 2011-07-21 22:17:23.000000000 -0400 34758--- linux-3.0.7/drivers/target/target_core_alua.c 2011-07-21 22:17:23.000000000 -0400
32975+++ linux-3.0.4/drivers/target/target_core_alua.c 2011-08-23 21:48:14.000000000 -0400 34759+++ linux-3.0.7/drivers/target/target_core_alua.c 2011-08-23 21:48:14.000000000 -0400
32976@@ -675,6 +675,8 @@ static int core_alua_update_tpg_primary_ 34760@@ -675,6 +675,8 @@ static int core_alua_update_tpg_primary_
32977 char path[ALUA_METADATA_PATH_LEN]; 34761 char path[ALUA_METADATA_PATH_LEN];
32978 int len; 34762 int len;
@@ -32991,9 +34775,9 @@ diff -urNp linux-3.0.4/drivers/target/target_core_alua.c linux-3.0.4/drivers/tar
32991 memset(path, 0, ALUA_METADATA_PATH_LEN); 34775 memset(path, 0, ALUA_METADATA_PATH_LEN);
32992 memset(wwn, 0, ALUA_SECONDARY_METADATA_WWN_LEN); 34776 memset(wwn, 0, ALUA_SECONDARY_METADATA_WWN_LEN);
32993 34777
32994diff -urNp linux-3.0.4/drivers/target/target_core_cdb.c linux-3.0.4/drivers/target/target_core_cdb.c 34778diff -urNp linux-3.0.7/drivers/target/target_core_cdb.c linux-3.0.7/drivers/target/target_core_cdb.c
32995--- linux-3.0.4/drivers/target/target_core_cdb.c 2011-07-21 22:17:23.000000000 -0400 34779--- linux-3.0.7/drivers/target/target_core_cdb.c 2011-07-21 22:17:23.000000000 -0400
32996+++ linux-3.0.4/drivers/target/target_core_cdb.c 2011-08-23 21:48:14.000000000 -0400 34780+++ linux-3.0.7/drivers/target/target_core_cdb.c 2011-08-23 21:48:14.000000000 -0400
32997@@ -838,6 +838,8 @@ target_emulate_modesense(struct se_cmd * 34781@@ -838,6 +838,8 @@ target_emulate_modesense(struct se_cmd *
32998 int length = 0; 34782 int length = 0;
32999 unsigned char buf[SE_MODE_PAGE_BUF]; 34783 unsigned char buf[SE_MODE_PAGE_BUF];
@@ -33003,9 +34787,9 @@ diff -urNp linux-3.0.4/drivers/target/target_core_cdb.c linux-3.0.4/drivers/targ
33003 memset(buf, 0, SE_MODE_PAGE_BUF); 34787 memset(buf, 0, SE_MODE_PAGE_BUF);
33004 34788
33005 switch (cdb[2] & 0x3f) { 34789 switch (cdb[2] & 0x3f) {
33006diff -urNp linux-3.0.4/drivers/target/target_core_configfs.c linux-3.0.4/drivers/target/target_core_configfs.c 34790diff -urNp linux-3.0.7/drivers/target/target_core_configfs.c linux-3.0.7/drivers/target/target_core_configfs.c
33007--- linux-3.0.4/drivers/target/target_core_configfs.c 2011-07-21 22:17:23.000000000 -0400 34791--- linux-3.0.7/drivers/target/target_core_configfs.c 2011-07-21 22:17:23.000000000 -0400
33008+++ linux-3.0.4/drivers/target/target_core_configfs.c 2011-08-23 21:48:14.000000000 -0400 34792+++ linux-3.0.7/drivers/target/target_core_configfs.c 2011-08-23 21:48:14.000000000 -0400
33009@@ -1276,6 +1276,8 @@ static ssize_t target_core_dev_pr_show_a 34793@@ -1276,6 +1276,8 @@ static ssize_t target_core_dev_pr_show_a
33010 ssize_t len = 0; 34794 ssize_t len = 0;
33011 int reg_count = 0, prf_isid; 34795 int reg_count = 0, prf_isid;
@@ -33015,9 +34799,9 @@ diff -urNp linux-3.0.4/drivers/target/target_core_configfs.c linux-3.0.4/drivers
33015 if (!(su_dev->se_dev_ptr)) 34799 if (!(su_dev->se_dev_ptr))
33016 return -ENODEV; 34800 return -ENODEV;
33017 34801
33018diff -urNp linux-3.0.4/drivers/target/target_core_pr.c linux-3.0.4/drivers/target/target_core_pr.c 34802diff -urNp linux-3.0.7/drivers/target/target_core_pr.c linux-3.0.7/drivers/target/target_core_pr.c
33019--- linux-3.0.4/drivers/target/target_core_pr.c 2011-07-21 22:17:23.000000000 -0400 34803--- linux-3.0.7/drivers/target/target_core_pr.c 2011-07-21 22:17:23.000000000 -0400
33020+++ linux-3.0.4/drivers/target/target_core_pr.c 2011-08-23 21:48:14.000000000 -0400 34804+++ linux-3.0.7/drivers/target/target_core_pr.c 2011-08-23 21:48:14.000000000 -0400
33021@@ -918,6 +918,8 @@ static int __core_scsi3_check_aptpl_regi 34805@@ -918,6 +918,8 @@ static int __core_scsi3_check_aptpl_regi
33022 unsigned char t_port[PR_APTPL_MAX_TPORT_LEN]; 34806 unsigned char t_port[PR_APTPL_MAX_TPORT_LEN];
33023 u16 tpgt; 34807 u16 tpgt;
@@ -33045,9 +34829,9 @@ diff -urNp linux-3.0.4/drivers/target/target_core_pr.c linux-3.0.4/drivers/targe
33045 memset(iov, 0, sizeof(struct iovec)); 34829 memset(iov, 0, sizeof(struct iovec));
33046 memset(path, 0, 512); 34830 memset(path, 0, 512);
33047 34831
33048diff -urNp linux-3.0.4/drivers/target/target_core_tmr.c linux-3.0.4/drivers/target/target_core_tmr.c 34832diff -urNp linux-3.0.7/drivers/target/target_core_tmr.c linux-3.0.7/drivers/target/target_core_tmr.c
33049--- linux-3.0.4/drivers/target/target_core_tmr.c 2011-07-21 22:17:23.000000000 -0400 34833--- linux-3.0.7/drivers/target/target_core_tmr.c 2011-07-21 22:17:23.000000000 -0400
33050+++ linux-3.0.4/drivers/target/target_core_tmr.c 2011-08-23 21:47:56.000000000 -0400 34834+++ linux-3.0.7/drivers/target/target_core_tmr.c 2011-08-23 21:47:56.000000000 -0400
33051@@ -269,7 +269,7 @@ int core_tmr_lun_reset( 34835@@ -269,7 +269,7 @@ int core_tmr_lun_reset(
33052 CMD_TFO(cmd)->get_task_tag(cmd), cmd->pr_res_key, 34836 CMD_TFO(cmd)->get_task_tag(cmd), cmd->pr_res_key,
33053 T_TASK(cmd)->t_task_cdbs, 34837 T_TASK(cmd)->t_task_cdbs,
@@ -33075,9 +34859,9 @@ diff -urNp linux-3.0.4/drivers/target/target_core_tmr.c linux-3.0.4/drivers/targ
33075 spin_unlock_irqrestore(&T_TASK(cmd)->t_state_lock, flags); 34859 spin_unlock_irqrestore(&T_TASK(cmd)->t_state_lock, flags);
33076 core_tmr_handle_tas_abort(tmr_nacl, cmd, tas, fe_count); 34860 core_tmr_handle_tas_abort(tmr_nacl, cmd, tas, fe_count);
33077 34861
33078diff -urNp linux-3.0.4/drivers/target/target_core_transport.c linux-3.0.4/drivers/target/target_core_transport.c 34862diff -urNp linux-3.0.7/drivers/target/target_core_transport.c linux-3.0.7/drivers/target/target_core_transport.c
33079--- linux-3.0.4/drivers/target/target_core_transport.c 2011-07-21 22:17:23.000000000 -0400 34863--- linux-3.0.7/drivers/target/target_core_transport.c 2011-07-21 22:17:23.000000000 -0400
33080+++ linux-3.0.4/drivers/target/target_core_transport.c 2011-08-23 21:47:56.000000000 -0400 34864+++ linux-3.0.7/drivers/target/target_core_transport.c 2011-08-23 21:47:56.000000000 -0400
33081@@ -1681,7 +1681,7 @@ struct se_device *transport_add_device_t 34865@@ -1681,7 +1681,7 @@ struct se_device *transport_add_device_t
33082 34866
33083 dev->queue_depth = dev_limits->queue_depth; 34867 dev->queue_depth = dev_limits->queue_depth;
@@ -33153,9 +34937,9 @@ diff -urNp linux-3.0.4/drivers/target/target_core_transport.c linux-3.0.4/driver
33153 atomic_read(&T_TASK(cmd)->t_transport_active), 34937 atomic_read(&T_TASK(cmd)->t_transport_active),
33154 atomic_read(&T_TASK(cmd)->t_transport_stop), 34938 atomic_read(&T_TASK(cmd)->t_transport_stop),
33155 atomic_read(&T_TASK(cmd)->t_transport_sent)); 34939 atomic_read(&T_TASK(cmd)->t_transport_sent));
33156diff -urNp linux-3.0.4/drivers/telephony/ixj.c linux-3.0.4/drivers/telephony/ixj.c 34940diff -urNp linux-3.0.7/drivers/telephony/ixj.c linux-3.0.7/drivers/telephony/ixj.c
33157--- linux-3.0.4/drivers/telephony/ixj.c 2011-07-21 22:17:23.000000000 -0400 34941--- linux-3.0.7/drivers/telephony/ixj.c 2011-07-21 22:17:23.000000000 -0400
33158+++ linux-3.0.4/drivers/telephony/ixj.c 2011-08-23 21:48:14.000000000 -0400 34942+++ linux-3.0.7/drivers/telephony/ixj.c 2011-08-23 21:48:14.000000000 -0400
33159@@ -4976,6 +4976,8 @@ static int ixj_daa_cid_read(IXJ *j) 34943@@ -4976,6 +4976,8 @@ static int ixj_daa_cid_read(IXJ *j)
33160 bool mContinue; 34944 bool mContinue;
33161 char *pIn, *pOut; 34945 char *pIn, *pOut;
@@ -33165,9 +34949,9 @@ diff -urNp linux-3.0.4/drivers/telephony/ixj.c linux-3.0.4/drivers/telephony/ixj
33165 if (!SCI_Prepare(j)) 34949 if (!SCI_Prepare(j))
33166 return 0; 34950 return 0;
33167 34951
33168diff -urNp linux-3.0.4/drivers/tty/hvc/hvcs.c linux-3.0.4/drivers/tty/hvc/hvcs.c 34952diff -urNp linux-3.0.7/drivers/tty/hvc/hvcs.c linux-3.0.7/drivers/tty/hvc/hvcs.c
33169--- linux-3.0.4/drivers/tty/hvc/hvcs.c 2011-07-21 22:17:23.000000000 -0400 34953--- linux-3.0.7/drivers/tty/hvc/hvcs.c 2011-07-21 22:17:23.000000000 -0400
33170+++ linux-3.0.4/drivers/tty/hvc/hvcs.c 2011-08-23 21:47:56.000000000 -0400 34954+++ linux-3.0.7/drivers/tty/hvc/hvcs.c 2011-08-23 21:47:56.000000000 -0400
33171@@ -83,6 +83,7 @@ 34955@@ -83,6 +83,7 @@
33172 #include <asm/hvcserver.h> 34956 #include <asm/hvcserver.h>
33173 #include <asm/uaccess.h> 34957 #include <asm/uaccess.h>
@@ -33270,9 +35054,9 @@ diff -urNp linux-3.0.4/drivers/tty/hvc/hvcs.c linux-3.0.4/drivers/tty/hvc/hvcs.c
33270 return 0; 35054 return 0;
33271 35055
33272 return HVCS_BUFF_LEN - hvcsd->chars_in_buffer; 35056 return HVCS_BUFF_LEN - hvcsd->chars_in_buffer;
33273diff -urNp linux-3.0.4/drivers/tty/ipwireless/tty.c linux-3.0.4/drivers/tty/ipwireless/tty.c 35057diff -urNp linux-3.0.7/drivers/tty/ipwireless/tty.c linux-3.0.7/drivers/tty/ipwireless/tty.c
33274--- linux-3.0.4/drivers/tty/ipwireless/tty.c 2011-07-21 22:17:23.000000000 -0400 35058--- linux-3.0.7/drivers/tty/ipwireless/tty.c 2011-07-21 22:17:23.000000000 -0400
33275+++ linux-3.0.4/drivers/tty/ipwireless/tty.c 2011-08-23 21:47:56.000000000 -0400 35059+++ linux-3.0.7/drivers/tty/ipwireless/tty.c 2011-08-23 21:47:56.000000000 -0400
33276@@ -29,6 +29,7 @@ 35060@@ -29,6 +29,7 @@
33277 #include <linux/tty_driver.h> 35061 #include <linux/tty_driver.h>
33278 #include <linux/tty_flip.h> 35062 #include <linux/tty_flip.h>
@@ -33395,9 +35179,9 @@ diff -urNp linux-3.0.4/drivers/tty/ipwireless/tty.c linux-3.0.4/drivers/tty/ipwi
33395 do_ipw_close(ttyj); 35179 do_ipw_close(ttyj);
33396 ipwireless_disassociate_network_ttys(network, 35180 ipwireless_disassociate_network_ttys(network,
33397 ttyj->channel_idx); 35181 ttyj->channel_idx);
33398diff -urNp linux-3.0.4/drivers/tty/n_gsm.c linux-3.0.4/drivers/tty/n_gsm.c 35182diff -urNp linux-3.0.7/drivers/tty/n_gsm.c linux-3.0.7/drivers/tty/n_gsm.c
33399--- linux-3.0.4/drivers/tty/n_gsm.c 2011-09-02 18:11:21.000000000 -0400 35183--- linux-3.0.7/drivers/tty/n_gsm.c 2011-09-02 18:11:21.000000000 -0400
33400+++ linux-3.0.4/drivers/tty/n_gsm.c 2011-08-23 21:47:56.000000000 -0400 35184+++ linux-3.0.7/drivers/tty/n_gsm.c 2011-08-23 21:47:56.000000000 -0400
33401@@ -1589,7 +1589,7 @@ static struct gsm_dlci *gsm_dlci_alloc(s 35185@@ -1589,7 +1589,7 @@ static struct gsm_dlci *gsm_dlci_alloc(s
33402 return NULL; 35186 return NULL;
33403 spin_lock_init(&dlci->lock); 35187 spin_lock_init(&dlci->lock);
@@ -33407,9 +35191,9 @@ diff -urNp linux-3.0.4/drivers/tty/n_gsm.c linux-3.0.4/drivers/tty/n_gsm.c
33407 kfree(dlci); 35191 kfree(dlci);
33408 return NULL; 35192 return NULL;
33409 } 35193 }
33410diff -urNp linux-3.0.4/drivers/tty/n_tty.c linux-3.0.4/drivers/tty/n_tty.c 35194diff -urNp linux-3.0.7/drivers/tty/n_tty.c linux-3.0.7/drivers/tty/n_tty.c
33411--- linux-3.0.4/drivers/tty/n_tty.c 2011-07-21 22:17:23.000000000 -0400 35195--- linux-3.0.7/drivers/tty/n_tty.c 2011-07-21 22:17:23.000000000 -0400
33412+++ linux-3.0.4/drivers/tty/n_tty.c 2011-08-23 21:47:56.000000000 -0400 35196+++ linux-3.0.7/drivers/tty/n_tty.c 2011-08-23 21:47:56.000000000 -0400
33413@@ -2123,6 +2123,7 @@ void n_tty_inherit_ops(struct tty_ldisc_ 35197@@ -2123,6 +2123,7 @@ void n_tty_inherit_ops(struct tty_ldisc_
33414 { 35198 {
33415 *ops = tty_ldisc_N_TTY; 35199 *ops = tty_ldisc_N_TTY;
@@ -33419,10 +35203,10 @@ diff -urNp linux-3.0.4/drivers/tty/n_tty.c linux-3.0.4/drivers/tty/n_tty.c
33419+ ops->flags = 0; 35203+ ops->flags = 0;
33420 } 35204 }
33421 EXPORT_SYMBOL_GPL(n_tty_inherit_ops); 35205 EXPORT_SYMBOL_GPL(n_tty_inherit_ops);
33422diff -urNp linux-3.0.4/drivers/tty/pty.c linux-3.0.4/drivers/tty/pty.c 35206diff -urNp linux-3.0.7/drivers/tty/pty.c linux-3.0.7/drivers/tty/pty.c
33423--- linux-3.0.4/drivers/tty/pty.c 2011-07-21 22:17:23.000000000 -0400 35207--- linux-3.0.7/drivers/tty/pty.c 2011-10-16 21:54:54.000000000 -0400
33424+++ linux-3.0.4/drivers/tty/pty.c 2011-08-23 21:47:56.000000000 -0400 35208+++ linux-3.0.7/drivers/tty/pty.c 2011-10-16 21:55:28.000000000 -0400
33425@@ -754,8 +754,10 @@ static void __init unix98_pty_init(void) 35209@@ -767,8 +767,10 @@ static void __init unix98_pty_init(void)
33426 register_sysctl_table(pty_root_table); 35210 register_sysctl_table(pty_root_table);
33427 35211
33428 /* Now create the /dev/ptmx special device */ 35212 /* Now create the /dev/ptmx special device */
@@ -33434,9 +35218,9 @@ diff -urNp linux-3.0.4/drivers/tty/pty.c linux-3.0.4/drivers/tty/pty.c
33434 35218
33435 cdev_init(&ptmx_cdev, &ptmx_fops); 35219 cdev_init(&ptmx_cdev, &ptmx_fops);
33436 if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) || 35220 if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) ||
33437diff -urNp linux-3.0.4/drivers/tty/rocket.c linux-3.0.4/drivers/tty/rocket.c 35221diff -urNp linux-3.0.7/drivers/tty/rocket.c linux-3.0.7/drivers/tty/rocket.c
33438--- linux-3.0.4/drivers/tty/rocket.c 2011-07-21 22:17:23.000000000 -0400 35222--- linux-3.0.7/drivers/tty/rocket.c 2011-07-21 22:17:23.000000000 -0400
33439+++ linux-3.0.4/drivers/tty/rocket.c 2011-08-23 21:48:14.000000000 -0400 35223+++ linux-3.0.7/drivers/tty/rocket.c 2011-08-23 21:48:14.000000000 -0400
33440@@ -1277,6 +1277,8 @@ static int get_ports(struct r_port *info 35224@@ -1277,6 +1277,8 @@ static int get_ports(struct r_port *info
33441 struct rocket_ports tmp; 35225 struct rocket_ports tmp;
33442 int board; 35226 int board;
@@ -33446,9 +35230,9 @@ diff -urNp linux-3.0.4/drivers/tty/rocket.c linux-3.0.4/drivers/tty/rocket.c
33446 if (!retports) 35230 if (!retports)
33447 return -EFAULT; 35231 return -EFAULT;
33448 memset(&tmp, 0, sizeof (tmp)); 35232 memset(&tmp, 0, sizeof (tmp));
33449diff -urNp linux-3.0.4/drivers/tty/serial/kgdboc.c linux-3.0.4/drivers/tty/serial/kgdboc.c 35233diff -urNp linux-3.0.7/drivers/tty/serial/kgdboc.c linux-3.0.7/drivers/tty/serial/kgdboc.c
33450--- linux-3.0.4/drivers/tty/serial/kgdboc.c 2011-07-21 22:17:23.000000000 -0400 35234--- linux-3.0.7/drivers/tty/serial/kgdboc.c 2011-07-21 22:17:23.000000000 -0400
33451+++ linux-3.0.4/drivers/tty/serial/kgdboc.c 2011-08-23 21:47:56.000000000 -0400 35235+++ linux-3.0.7/drivers/tty/serial/kgdboc.c 2011-08-23 21:47:56.000000000 -0400
33452@@ -23,8 +23,9 @@ 35236@@ -23,8 +23,9 @@
33453 #define MAX_CONFIG_LEN 40 35237 #define MAX_CONFIG_LEN 40
33454 35238
@@ -33547,9 +35331,21 @@ diff -urNp linux-3.0.4/drivers/tty/serial/kgdboc.c linux-3.0.4/drivers/tty/seria
33547 #ifdef CONFIG_KGDB_SERIAL_CONSOLE 35331 #ifdef CONFIG_KGDB_SERIAL_CONSOLE
33548 /* This is only available if kgdboc is a built in for early debugging */ 35332 /* This is only available if kgdboc is a built in for early debugging */
33549 static int __init kgdboc_early_init(char *opt) 35333 static int __init kgdboc_early_init(char *opt)
33550diff -urNp linux-3.0.4/drivers/tty/serial/mrst_max3110.c linux-3.0.4/drivers/tty/serial/mrst_max3110.c 35334diff -urNp linux-3.0.7/drivers/tty/serial/mfd.c linux-3.0.7/drivers/tty/serial/mfd.c
33551--- linux-3.0.4/drivers/tty/serial/mrst_max3110.c 2011-07-21 22:17:23.000000000 -0400 35335--- linux-3.0.7/drivers/tty/serial/mfd.c 2011-07-21 22:17:23.000000000 -0400
33552+++ linux-3.0.4/drivers/tty/serial/mrst_max3110.c 2011-08-23 21:48:14.000000000 -0400 35336+++ linux-3.0.7/drivers/tty/serial/mfd.c 2011-10-11 10:44:33.000000000 -0400
35337@@ -1423,7 +1423,7 @@ static void serial_hsu_remove(struct pci
35338 }
35339
35340 /* First 3 are UART ports, and the 4th is the DMA */
35341-static const struct pci_device_id pci_ids[] __devinitdata = {
35342+static const struct pci_device_id pci_ids[] __devinitconst = {
35343 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081B) },
35344 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081C) },
35345 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081D) },
35346diff -urNp linux-3.0.7/drivers/tty/serial/mrst_max3110.c linux-3.0.7/drivers/tty/serial/mrst_max3110.c
35347--- linux-3.0.7/drivers/tty/serial/mrst_max3110.c 2011-10-16 21:54:54.000000000 -0400
35348+++ linux-3.0.7/drivers/tty/serial/mrst_max3110.c 2011-10-16 21:55:28.000000000 -0400
33553@@ -393,6 +393,8 @@ static void max3110_con_receive(struct u 35349@@ -393,6 +393,8 @@ static void max3110_con_receive(struct u
33554 int loop = 1, num, total = 0; 35350 int loop = 1, num, total = 0;
33555 u8 recv_buf[512], *pbuf; 35351 u8 recv_buf[512], *pbuf;
@@ -33559,10 +35355,10 @@ diff -urNp linux-3.0.4/drivers/tty/serial/mrst_max3110.c linux-3.0.4/drivers/tty
33559 pbuf = recv_buf; 35355 pbuf = recv_buf;
33560 do { 35356 do {
33561 num = max3110_read_multi(max, pbuf); 35357 num = max3110_read_multi(max, pbuf);
33562diff -urNp linux-3.0.4/drivers/tty/tty_io.c linux-3.0.4/drivers/tty/tty_io.c 35358diff -urNp linux-3.0.7/drivers/tty/tty_io.c linux-3.0.7/drivers/tty/tty_io.c
33563--- linux-3.0.4/drivers/tty/tty_io.c 2011-07-21 22:17:23.000000000 -0400 35359--- linux-3.0.7/drivers/tty/tty_io.c 2011-10-16 21:54:54.000000000 -0400
33564+++ linux-3.0.4/drivers/tty/tty_io.c 2011-08-23 21:47:56.000000000 -0400 35360+++ linux-3.0.7/drivers/tty/tty_io.c 2011-10-16 21:55:28.000000000 -0400
33565@@ -3215,7 +3215,7 @@ EXPORT_SYMBOL_GPL(get_current_tty); 35361@@ -3214,7 +3214,7 @@ EXPORT_SYMBOL_GPL(get_current_tty);
33566 35362
33567 void tty_default_fops(struct file_operations *fops) 35363 void tty_default_fops(struct file_operations *fops)
33568 { 35364 {
@@ -33571,9 +35367,9 @@ diff -urNp linux-3.0.4/drivers/tty/tty_io.c linux-3.0.4/drivers/tty/tty_io.c
33571 } 35367 }
33572 35368
33573 /* 35369 /*
33574diff -urNp linux-3.0.4/drivers/tty/tty_ldisc.c linux-3.0.4/drivers/tty/tty_ldisc.c 35370diff -urNp linux-3.0.7/drivers/tty/tty_ldisc.c linux-3.0.7/drivers/tty/tty_ldisc.c
33575--- linux-3.0.4/drivers/tty/tty_ldisc.c 2011-07-21 22:17:23.000000000 -0400 35371--- linux-3.0.7/drivers/tty/tty_ldisc.c 2011-07-21 22:17:23.000000000 -0400
33576+++ linux-3.0.4/drivers/tty/tty_ldisc.c 2011-08-23 21:47:56.000000000 -0400 35372+++ linux-3.0.7/drivers/tty/tty_ldisc.c 2011-08-23 21:47:56.000000000 -0400
33577@@ -74,7 +74,7 @@ static void put_ldisc(struct tty_ldisc * 35373@@ -74,7 +74,7 @@ static void put_ldisc(struct tty_ldisc *
33578 if (atomic_dec_and_lock(&ld->users, &tty_ldisc_lock)) { 35374 if (atomic_dec_and_lock(&ld->users, &tty_ldisc_lock)) {
33579 struct tty_ldisc_ops *ldo = ld->ops; 35375 struct tty_ldisc_ops *ldo = ld->ops;
@@ -33619,9 +35415,9 @@ diff -urNp linux-3.0.4/drivers/tty/tty_ldisc.c linux-3.0.4/drivers/tty/tty_ldisc
33619 module_put(ldops->owner); 35415 module_put(ldops->owner);
33620 spin_unlock_irqrestore(&tty_ldisc_lock, flags); 35416 spin_unlock_irqrestore(&tty_ldisc_lock, flags);
33621 } 35417 }
33622diff -urNp linux-3.0.4/drivers/tty/vt/keyboard.c linux-3.0.4/drivers/tty/vt/keyboard.c 35418diff -urNp linux-3.0.7/drivers/tty/vt/keyboard.c linux-3.0.7/drivers/tty/vt/keyboard.c
33623--- linux-3.0.4/drivers/tty/vt/keyboard.c 2011-07-21 22:17:23.000000000 -0400 35419--- linux-3.0.7/drivers/tty/vt/keyboard.c 2011-07-21 22:17:23.000000000 -0400
33624+++ linux-3.0.4/drivers/tty/vt/keyboard.c 2011-08-23 21:48:14.000000000 -0400 35420+++ linux-3.0.7/drivers/tty/vt/keyboard.c 2011-08-23 21:48:14.000000000 -0400
33625@@ -656,6 +656,16 @@ static void k_spec(struct vc_data *vc, u 35421@@ -656,6 +656,16 @@ static void k_spec(struct vc_data *vc, u
33626 kbd->kbdmode == VC_OFF) && 35422 kbd->kbdmode == VC_OFF) &&
33627 value != KVAL(K_SAK)) 35423 value != KVAL(K_SAK))
@@ -33639,9 +35435,9 @@ diff -urNp linux-3.0.4/drivers/tty/vt/keyboard.c linux-3.0.4/drivers/tty/vt/keyb
33639 fn_handler[value](vc); 35435 fn_handler[value](vc);
33640 } 35436 }
33641 35437
33642diff -urNp linux-3.0.4/drivers/tty/vt/vt.c linux-3.0.4/drivers/tty/vt/vt.c 35438diff -urNp linux-3.0.7/drivers/tty/vt/vt.c linux-3.0.7/drivers/tty/vt/vt.c
33643--- linux-3.0.4/drivers/tty/vt/vt.c 2011-07-21 22:17:23.000000000 -0400 35439--- linux-3.0.7/drivers/tty/vt/vt.c 2011-07-21 22:17:23.000000000 -0400
33644+++ linux-3.0.4/drivers/tty/vt/vt.c 2011-08-23 21:47:56.000000000 -0400 35440+++ linux-3.0.7/drivers/tty/vt/vt.c 2011-08-23 21:47:56.000000000 -0400
33645@@ -259,7 +259,7 @@ EXPORT_SYMBOL_GPL(unregister_vt_notifier 35441@@ -259,7 +259,7 @@ EXPORT_SYMBOL_GPL(unregister_vt_notifier
33646 35442
33647 static void notify_write(struct vc_data *vc, unsigned int unicode) 35443 static void notify_write(struct vc_data *vc, unsigned int unicode)
@@ -33651,9 +35447,9 @@ diff -urNp linux-3.0.4/drivers/tty/vt/vt.c linux-3.0.4/drivers/tty/vt/vt.c
33651 atomic_notifier_call_chain(&vt_notifier_list, VT_WRITE, &param); 35447 atomic_notifier_call_chain(&vt_notifier_list, VT_WRITE, &param);
33652 } 35448 }
33653 35449
33654diff -urNp linux-3.0.4/drivers/tty/vt/vt_ioctl.c linux-3.0.4/drivers/tty/vt/vt_ioctl.c 35450diff -urNp linux-3.0.7/drivers/tty/vt/vt_ioctl.c linux-3.0.7/drivers/tty/vt/vt_ioctl.c
33655--- linux-3.0.4/drivers/tty/vt/vt_ioctl.c 2011-07-21 22:17:23.000000000 -0400 35451--- linux-3.0.7/drivers/tty/vt/vt_ioctl.c 2011-07-21 22:17:23.000000000 -0400
33656+++ linux-3.0.4/drivers/tty/vt/vt_ioctl.c 2011-08-23 21:48:14.000000000 -0400 35452+++ linux-3.0.7/drivers/tty/vt/vt_ioctl.c 2011-08-23 21:48:14.000000000 -0400
33657@@ -207,9 +207,6 @@ do_kdsk_ioctl(int cmd, struct kbentry __ 35453@@ -207,9 +207,6 @@ do_kdsk_ioctl(int cmd, struct kbentry __
33658 if (copy_from_user(&tmp, user_kbe, sizeof(struct kbentry))) 35454 if (copy_from_user(&tmp, user_kbe, sizeof(struct kbentry)))
33659 return -EFAULT; 35455 return -EFAULT;
@@ -33694,9 +35490,9 @@ diff -urNp linux-3.0.4/drivers/tty/vt/vt_ioctl.c linux-3.0.4/drivers/tty/vt/vt_i
33694 if (!perm) { 35490 if (!perm) {
33695 ret = -EPERM; 35491 ret = -EPERM;
33696 goto reterr; 35492 goto reterr;
33697diff -urNp linux-3.0.4/drivers/uio/uio.c linux-3.0.4/drivers/uio/uio.c 35493diff -urNp linux-3.0.7/drivers/uio/uio.c linux-3.0.7/drivers/uio/uio.c
33698--- linux-3.0.4/drivers/uio/uio.c 2011-07-21 22:17:23.000000000 -0400 35494--- linux-3.0.7/drivers/uio/uio.c 2011-07-21 22:17:23.000000000 -0400
33699+++ linux-3.0.4/drivers/uio/uio.c 2011-08-23 21:47:56.000000000 -0400 35495+++ linux-3.0.7/drivers/uio/uio.c 2011-08-23 21:47:56.000000000 -0400
33700@@ -25,6 +25,7 @@ 35496@@ -25,6 +25,7 @@
33701 #include <linux/kobject.h> 35497 #include <linux/kobject.h>
33702 #include <linux/cdev.h> 35498 #include <linux/cdev.h>
@@ -33788,9 +35584,9 @@ diff -urNp linux-3.0.4/drivers/uio/uio.c linux-3.0.4/drivers/uio/uio.c
33788 35584
33789 ret = uio_get_minor(idev); 35585 ret = uio_get_minor(idev);
33790 if (ret) 35586 if (ret)
33791diff -urNp linux-3.0.4/drivers/usb/atm/cxacru.c linux-3.0.4/drivers/usb/atm/cxacru.c 35587diff -urNp linux-3.0.7/drivers/usb/atm/cxacru.c linux-3.0.7/drivers/usb/atm/cxacru.c
33792--- linux-3.0.4/drivers/usb/atm/cxacru.c 2011-07-21 22:17:23.000000000 -0400 35588--- linux-3.0.7/drivers/usb/atm/cxacru.c 2011-07-21 22:17:23.000000000 -0400
33793+++ linux-3.0.4/drivers/usb/atm/cxacru.c 2011-08-23 21:47:56.000000000 -0400 35589+++ linux-3.0.7/drivers/usb/atm/cxacru.c 2011-08-23 21:47:56.000000000 -0400
33794@@ -473,7 +473,7 @@ static ssize_t cxacru_sysfs_store_adsl_c 35590@@ -473,7 +473,7 @@ static ssize_t cxacru_sysfs_store_adsl_c
33795 ret = sscanf(buf + pos, "%x=%x%n", &index, &value, &tmp); 35591 ret = sscanf(buf + pos, "%x=%x%n", &index, &value, &tmp);
33796 if (ret < 2) 35592 if (ret < 2)
@@ -33800,9 +35596,9 @@ diff -urNp linux-3.0.4/drivers/usb/atm/cxacru.c linux-3.0.4/drivers/usb/atm/cxac
33800 return -EINVAL; 35596 return -EINVAL;
33801 pos += tmp; 35597 pos += tmp;
33802 35598
33803diff -urNp linux-3.0.4/drivers/usb/atm/usbatm.c linux-3.0.4/drivers/usb/atm/usbatm.c 35599diff -urNp linux-3.0.7/drivers/usb/atm/usbatm.c linux-3.0.7/drivers/usb/atm/usbatm.c
33804--- linux-3.0.4/drivers/usb/atm/usbatm.c 2011-07-21 22:17:23.000000000 -0400 35600--- linux-3.0.7/drivers/usb/atm/usbatm.c 2011-07-21 22:17:23.000000000 -0400
33805+++ linux-3.0.4/drivers/usb/atm/usbatm.c 2011-08-23 21:47:56.000000000 -0400 35601+++ linux-3.0.7/drivers/usb/atm/usbatm.c 2011-08-23 21:47:56.000000000 -0400
33806@@ -332,7 +332,7 @@ static void usbatm_extract_one_cell(stru 35602@@ -332,7 +332,7 @@ static void usbatm_extract_one_cell(stru
33807 if (printk_ratelimit()) 35603 if (printk_ratelimit())
33808 atm_warn(instance, "%s: OAM not supported (vpi %d, vci %d)!\n", 35604 atm_warn(instance, "%s: OAM not supported (vpi %d, vci %d)!\n",
@@ -33882,9 +35678,9 @@ diff -urNp linux-3.0.4/drivers/usb/atm/usbatm.c linux-3.0.4/drivers/usb/atm/usba
33882 35678
33883 if (!left--) { 35679 if (!left--) {
33884 if (instance->disconnected) 35680 if (instance->disconnected)
33885diff -urNp linux-3.0.4/drivers/usb/core/devices.c linux-3.0.4/drivers/usb/core/devices.c 35681diff -urNp linux-3.0.7/drivers/usb/core/devices.c linux-3.0.7/drivers/usb/core/devices.c
33886--- linux-3.0.4/drivers/usb/core/devices.c 2011-07-21 22:17:23.000000000 -0400 35682--- linux-3.0.7/drivers/usb/core/devices.c 2011-07-21 22:17:23.000000000 -0400
33887+++ linux-3.0.4/drivers/usb/core/devices.c 2011-08-23 21:47:56.000000000 -0400 35683+++ linux-3.0.7/drivers/usb/core/devices.c 2011-08-23 21:47:56.000000000 -0400
33888@@ -126,7 +126,7 @@ static const char format_endpt[] = 35684@@ -126,7 +126,7 @@ static const char format_endpt[] =
33889 * time it gets called. 35685 * time it gets called.
33890 */ 35686 */
@@ -33912,9 +35708,9 @@ diff -urNp linux-3.0.4/drivers/usb/core/devices.c linux-3.0.4/drivers/usb/core/d
33912 if (file->f_version != event_count) { 35708 if (file->f_version != event_count) {
33913 file->f_version = event_count; 35709 file->f_version = event_count;
33914 return POLLIN | POLLRDNORM; 35710 return POLLIN | POLLRDNORM;
33915diff -urNp linux-3.0.4/drivers/usb/core/message.c linux-3.0.4/drivers/usb/core/message.c 35711diff -urNp linux-3.0.7/drivers/usb/core/message.c linux-3.0.7/drivers/usb/core/message.c
33916--- linux-3.0.4/drivers/usb/core/message.c 2011-07-21 22:17:23.000000000 -0400 35712--- linux-3.0.7/drivers/usb/core/message.c 2011-07-21 22:17:23.000000000 -0400
33917+++ linux-3.0.4/drivers/usb/core/message.c 2011-08-23 21:47:56.000000000 -0400 35713+++ linux-3.0.7/drivers/usb/core/message.c 2011-08-23 21:47:56.000000000 -0400
33918@@ -869,8 +869,8 @@ char *usb_cache_string(struct usb_device 35714@@ -869,8 +869,8 @@ char *usb_cache_string(struct usb_device
33919 buf = kmalloc(MAX_USB_STRING_SIZE, GFP_NOIO); 35715 buf = kmalloc(MAX_USB_STRING_SIZE, GFP_NOIO);
33920 if (buf) { 35716 if (buf) {
@@ -33926,9 +35722,9 @@ diff -urNp linux-3.0.4/drivers/usb/core/message.c linux-3.0.4/drivers/usb/core/m
33926 if (!smallbuf) 35722 if (!smallbuf)
33927 return buf; 35723 return buf;
33928 memcpy(smallbuf, buf, len); 35724 memcpy(smallbuf, buf, len);
33929diff -urNp linux-3.0.4/drivers/usb/early/ehci-dbgp.c linux-3.0.4/drivers/usb/early/ehci-dbgp.c 35725diff -urNp linux-3.0.7/drivers/usb/early/ehci-dbgp.c linux-3.0.7/drivers/usb/early/ehci-dbgp.c
33930--- linux-3.0.4/drivers/usb/early/ehci-dbgp.c 2011-07-21 22:17:23.000000000 -0400 35726--- linux-3.0.7/drivers/usb/early/ehci-dbgp.c 2011-07-21 22:17:23.000000000 -0400
33931+++ linux-3.0.4/drivers/usb/early/ehci-dbgp.c 2011-08-23 21:47:56.000000000 -0400 35727+++ linux-3.0.7/drivers/usb/early/ehci-dbgp.c 2011-08-23 21:47:56.000000000 -0400
33932@@ -97,7 +97,8 @@ static inline u32 dbgp_len_update(u32 x, 35728@@ -97,7 +97,8 @@ static inline u32 dbgp_len_update(u32 x,
33933 35729
33934 #ifdef CONFIG_KGDB 35730 #ifdef CONFIG_KGDB
@@ -33966,9 +35762,9 @@ diff -urNp linux-3.0.4/drivers/usb/early/ehci-dbgp.c linux-3.0.4/drivers/usb/ear
33966 35762
33967 return 0; 35763 return 0;
33968 } 35764 }
33969diff -urNp linux-3.0.4/drivers/usb/host/xhci-mem.c linux-3.0.4/drivers/usb/host/xhci-mem.c 35765diff -urNp linux-3.0.7/drivers/usb/host/xhci-mem.c linux-3.0.7/drivers/usb/host/xhci-mem.c
33970--- linux-3.0.4/drivers/usb/host/xhci-mem.c 2011-07-21 22:17:23.000000000 -0400 35766--- linux-3.0.7/drivers/usb/host/xhci-mem.c 2011-07-21 22:17:23.000000000 -0400
33971+++ linux-3.0.4/drivers/usb/host/xhci-mem.c 2011-08-23 21:48:14.000000000 -0400 35767+++ linux-3.0.7/drivers/usb/host/xhci-mem.c 2011-08-23 21:48:14.000000000 -0400
33972@@ -1685,6 +1685,8 @@ static int xhci_check_trb_in_td_math(str 35768@@ -1685,6 +1685,8 @@ static int xhci_check_trb_in_td_math(str
33973 unsigned int num_tests; 35769 unsigned int num_tests;
33974 int i, ret; 35770 int i, ret;
@@ -33978,9 +35774,9 @@ diff -urNp linux-3.0.4/drivers/usb/host/xhci-mem.c linux-3.0.4/drivers/usb/host/
33978 num_tests = ARRAY_SIZE(simple_test_vector); 35774 num_tests = ARRAY_SIZE(simple_test_vector);
33979 for (i = 0; i < num_tests; i++) { 35775 for (i = 0; i < num_tests; i++) {
33980 ret = xhci_test_trb_in_td(xhci, 35776 ret = xhci_test_trb_in_td(xhci,
33981diff -urNp linux-3.0.4/drivers/usb/wusbcore/wa-hc.h linux-3.0.4/drivers/usb/wusbcore/wa-hc.h 35777diff -urNp linux-3.0.7/drivers/usb/wusbcore/wa-hc.h linux-3.0.7/drivers/usb/wusbcore/wa-hc.h
33982--- linux-3.0.4/drivers/usb/wusbcore/wa-hc.h 2011-07-21 22:17:23.000000000 -0400 35778--- linux-3.0.7/drivers/usb/wusbcore/wa-hc.h 2011-07-21 22:17:23.000000000 -0400
33983+++ linux-3.0.4/drivers/usb/wusbcore/wa-hc.h 2011-08-23 21:47:56.000000000 -0400 35779+++ linux-3.0.7/drivers/usb/wusbcore/wa-hc.h 2011-08-23 21:47:56.000000000 -0400
33984@@ -192,7 +192,7 @@ struct wahc { 35780@@ -192,7 +192,7 @@ struct wahc {
33985 struct list_head xfer_delayed_list; 35781 struct list_head xfer_delayed_list;
33986 spinlock_t xfer_list_lock; 35782 spinlock_t xfer_list_lock;
@@ -33999,9 +35795,9 @@ diff -urNp linux-3.0.4/drivers/usb/wusbcore/wa-hc.h linux-3.0.4/drivers/usb/wusb
33999 } 35795 }
34000 35796
34001 /** 35797 /**
34002diff -urNp linux-3.0.4/drivers/usb/wusbcore/wa-xfer.c linux-3.0.4/drivers/usb/wusbcore/wa-xfer.c 35798diff -urNp linux-3.0.7/drivers/usb/wusbcore/wa-xfer.c linux-3.0.7/drivers/usb/wusbcore/wa-xfer.c
34003--- linux-3.0.4/drivers/usb/wusbcore/wa-xfer.c 2011-07-21 22:17:23.000000000 -0400 35799--- linux-3.0.7/drivers/usb/wusbcore/wa-xfer.c 2011-07-21 22:17:23.000000000 -0400
34004+++ linux-3.0.4/drivers/usb/wusbcore/wa-xfer.c 2011-08-23 21:47:56.000000000 -0400 35800+++ linux-3.0.7/drivers/usb/wusbcore/wa-xfer.c 2011-08-23 21:47:56.000000000 -0400
34005@@ -294,7 +294,7 @@ out: 35801@@ -294,7 +294,7 @@ out:
34006 */ 35802 */
34007 static void wa_xfer_id_init(struct wa_xfer *xfer) 35803 static void wa_xfer_id_init(struct wa_xfer *xfer)
@@ -34011,9 +35807,9 @@ diff -urNp linux-3.0.4/drivers/usb/wusbcore/wa-xfer.c linux-3.0.4/drivers/usb/wu
34011 } 35807 }
34012 35808
34013 /* 35809 /*
34014diff -urNp linux-3.0.4/drivers/vhost/vhost.c linux-3.0.4/drivers/vhost/vhost.c 35810diff -urNp linux-3.0.7/drivers/vhost/vhost.c linux-3.0.7/drivers/vhost/vhost.c
34015--- linux-3.0.4/drivers/vhost/vhost.c 2011-07-21 22:17:23.000000000 -0400 35811--- linux-3.0.7/drivers/vhost/vhost.c 2011-07-21 22:17:23.000000000 -0400
34016+++ linux-3.0.4/drivers/vhost/vhost.c 2011-08-23 21:47:56.000000000 -0400 35812+++ linux-3.0.7/drivers/vhost/vhost.c 2011-08-23 21:47:56.000000000 -0400
34017@@ -589,7 +589,7 @@ static int init_used(struct vhost_virtqu 35813@@ -589,7 +589,7 @@ static int init_used(struct vhost_virtqu
34018 return get_user(vq->last_used_idx, &used->idx); 35814 return get_user(vq->last_used_idx, &used->idx);
34019 } 35815 }
@@ -34023,9 +35819,21 @@ diff -urNp linux-3.0.4/drivers/vhost/vhost.c linux-3.0.4/drivers/vhost/vhost.c
34023 { 35819 {
34024 struct file *eventfp, *filep = NULL, 35820 struct file *eventfp, *filep = NULL,
34025 *pollstart = NULL, *pollstop = NULL; 35821 *pollstart = NULL, *pollstop = NULL;
34026diff -urNp linux-3.0.4/drivers/video/fbcmap.c linux-3.0.4/drivers/video/fbcmap.c 35822diff -urNp linux-3.0.7/drivers/video/aty/aty128fb.c linux-3.0.7/drivers/video/aty/aty128fb.c
34027--- linux-3.0.4/drivers/video/fbcmap.c 2011-07-21 22:17:23.000000000 -0400 35823--- linux-3.0.7/drivers/video/aty/aty128fb.c 2011-07-21 22:17:23.000000000 -0400
34028+++ linux-3.0.4/drivers/video/fbcmap.c 2011-08-23 21:47:56.000000000 -0400 35824+++ linux-3.0.7/drivers/video/aty/aty128fb.c 2011-10-11 10:44:33.000000000 -0400
35825@@ -148,7 +148,7 @@ enum {
35826 };
35827
35828 /* Must match above enum */
35829-static const char *r128_family[] __devinitdata = {
35830+static const char *r128_family[] __devinitconst = {
35831 "AGP",
35832 "PCI",
35833 "PRO AGP",
35834diff -urNp linux-3.0.7/drivers/video/fbcmap.c linux-3.0.7/drivers/video/fbcmap.c
35835--- linux-3.0.7/drivers/video/fbcmap.c 2011-07-21 22:17:23.000000000 -0400
35836+++ linux-3.0.7/drivers/video/fbcmap.c 2011-08-23 21:47:56.000000000 -0400
34029@@ -285,8 +285,7 @@ int fb_set_user_cmap(struct fb_cmap_user 35837@@ -285,8 +285,7 @@ int fb_set_user_cmap(struct fb_cmap_user
34030 rc = -ENODEV; 35838 rc = -ENODEV;
34031 goto out; 35839 goto out;
@@ -34036,9 +35844,9 @@ diff -urNp linux-3.0.4/drivers/video/fbcmap.c linux-3.0.4/drivers/video/fbcmap.c
34036 rc = -EINVAL; 35844 rc = -EINVAL;
34037 goto out1; 35845 goto out1;
34038 } 35846 }
34039diff -urNp linux-3.0.4/drivers/video/fbmem.c linux-3.0.4/drivers/video/fbmem.c 35847diff -urNp linux-3.0.7/drivers/video/fbmem.c linux-3.0.7/drivers/video/fbmem.c
34040--- linux-3.0.4/drivers/video/fbmem.c 2011-07-21 22:17:23.000000000 -0400 35848--- linux-3.0.7/drivers/video/fbmem.c 2011-07-21 22:17:23.000000000 -0400
34041+++ linux-3.0.4/drivers/video/fbmem.c 2011-08-23 21:48:14.000000000 -0400 35849+++ linux-3.0.7/drivers/video/fbmem.c 2011-08-23 21:48:14.000000000 -0400
34042@@ -428,7 +428,7 @@ static void fb_do_show_logo(struct fb_in 35850@@ -428,7 +428,7 @@ static void fb_do_show_logo(struct fb_in
34043 image->dx += image->width + 8; 35851 image->dx += image->width + 8;
34044 } 35852 }
@@ -34084,9 +35892,42 @@ diff -urNp linux-3.0.4/drivers/video/fbmem.c linux-3.0.4/drivers/video/fbmem.c
34084 return -EINVAL; 35892 return -EINVAL;
34085 if (!registered_fb[con2fb.framebuffer]) 35893 if (!registered_fb[con2fb.framebuffer])
34086 request_module("fb%d", con2fb.framebuffer); 35894 request_module("fb%d", con2fb.framebuffer);
34087diff -urNp linux-3.0.4/drivers/video/i810/i810_accel.c linux-3.0.4/drivers/video/i810/i810_accel.c 35895diff -urNp linux-3.0.7/drivers/video/geode/gx1fb_core.c linux-3.0.7/drivers/video/geode/gx1fb_core.c
34088--- linux-3.0.4/drivers/video/i810/i810_accel.c 2011-07-21 22:17:23.000000000 -0400 35896--- linux-3.0.7/drivers/video/geode/gx1fb_core.c 2011-07-21 22:17:23.000000000 -0400
34089+++ linux-3.0.4/drivers/video/i810/i810_accel.c 2011-08-23 21:47:56.000000000 -0400 35897+++ linux-3.0.7/drivers/video/geode/gx1fb_core.c 2011-10-11 10:44:33.000000000 -0400
35898@@ -29,7 +29,7 @@ static int crt_option = 1;
35899 static char panel_option[32] = "";
35900
35901 /* Modes relevant to the GX1 (taken from modedb.c) */
35902-static const struct fb_videomode __devinitdata gx1_modedb[] = {
35903+static const struct fb_videomode __devinitconst gx1_modedb[] = {
35904 /* 640x480-60 VESA */
35905 { NULL, 60, 640, 480, 39682, 48, 16, 33, 10, 96, 2,
35906 0, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
35907diff -urNp linux-3.0.7/drivers/video/gxt4500.c linux-3.0.7/drivers/video/gxt4500.c
35908--- linux-3.0.7/drivers/video/gxt4500.c 2011-07-21 22:17:23.000000000 -0400
35909+++ linux-3.0.7/drivers/video/gxt4500.c 2011-10-11 10:44:33.000000000 -0400
35910@@ -156,7 +156,7 @@ struct gxt4500_par {
35911 static char *mode_option;
35912
35913 /* default mode: 1280x1024 @ 60 Hz, 8 bpp */
35914-static const struct fb_videomode defaultmode __devinitdata = {
35915+static const struct fb_videomode defaultmode __devinitconst = {
35916 .refresh = 60,
35917 .xres = 1280,
35918 .yres = 1024,
35919@@ -581,7 +581,7 @@ static int gxt4500_blank(int blank, stru
35920 return 0;
35921 }
35922
35923-static const struct fb_fix_screeninfo gxt4500_fix __devinitdata = {
35924+static const struct fb_fix_screeninfo gxt4500_fix __devinitconst = {
35925 .id = "IBM GXT4500P",
35926 .type = FB_TYPE_PACKED_PIXELS,
35927 .visual = FB_VISUAL_PSEUDOCOLOR,
35928diff -urNp linux-3.0.7/drivers/video/i810/i810_accel.c linux-3.0.7/drivers/video/i810/i810_accel.c
35929--- linux-3.0.7/drivers/video/i810/i810_accel.c 2011-07-21 22:17:23.000000000 -0400
35930+++ linux-3.0.7/drivers/video/i810/i810_accel.c 2011-08-23 21:47:56.000000000 -0400
34090@@ -73,6 +73,7 @@ static inline int wait_for_space(struct 35931@@ -73,6 +73,7 @@ static inline int wait_for_space(struct
34091 } 35932 }
34092 } 35933 }
@@ -34095,9 +35936,33 @@ diff -urNp linux-3.0.4/drivers/video/i810/i810_accel.c linux-3.0.4/drivers/video
34095 i810_report_error(mmio); 35936 i810_report_error(mmio);
34096 par->dev_flags |= LOCKUP; 35937 par->dev_flags |= LOCKUP;
34097 info->pixmap.scan_align = 1; 35938 info->pixmap.scan_align = 1;
34098diff -urNp linux-3.0.4/drivers/video/logo/logo_linux_clut224.ppm linux-3.0.4/drivers/video/logo/logo_linux_clut224.ppm 35939diff -urNp linux-3.0.7/drivers/video/i810/i810_main.c linux-3.0.7/drivers/video/i810/i810_main.c
34099--- linux-3.0.4/drivers/video/logo/logo_linux_clut224.ppm 2011-07-21 22:17:23.000000000 -0400 35940--- linux-3.0.7/drivers/video/i810/i810_main.c 2011-07-21 22:17:23.000000000 -0400
34100+++ linux-3.0.4/drivers/video/logo/logo_linux_clut224.ppm 2011-08-29 23:49:40.000000000 -0400 35941+++ linux-3.0.7/drivers/video/i810/i810_main.c 2011-10-11 10:44:33.000000000 -0400
35942@@ -97,7 +97,7 @@ static int i810fb_blank (int blank_
35943 static void i810fb_release_resource (struct fb_info *info, struct i810fb_par *par);
35944
35945 /* PCI */
35946-static const char *i810_pci_list[] __devinitdata = {
35947+static const char *i810_pci_list[] __devinitconst = {
35948 "Intel(R) 810 Framebuffer Device" ,
35949 "Intel(R) 810-DC100 Framebuffer Device" ,
35950 "Intel(R) 810E Framebuffer Device" ,
35951diff -urNp linux-3.0.7/drivers/video/jz4740_fb.c linux-3.0.7/drivers/video/jz4740_fb.c
35952--- linux-3.0.7/drivers/video/jz4740_fb.c 2011-07-21 22:17:23.000000000 -0400
35953+++ linux-3.0.7/drivers/video/jz4740_fb.c 2011-10-11 10:44:33.000000000 -0400
35954@@ -136,7 +136,7 @@ struct jzfb {
35955 uint32_t pseudo_palette[16];
35956 };
35957
35958-static const struct fb_fix_screeninfo jzfb_fix __devinitdata = {
35959+static const struct fb_fix_screeninfo jzfb_fix __devinitconst = {
35960 .id = "JZ4740 FB",
35961 .type = FB_TYPE_PACKED_PIXELS,
35962 .visual = FB_VISUAL_TRUECOLOR,
35963diff -urNp linux-3.0.7/drivers/video/logo/logo_linux_clut224.ppm linux-3.0.7/drivers/video/logo/logo_linux_clut224.ppm
35964--- linux-3.0.7/drivers/video/logo/logo_linux_clut224.ppm 2011-07-21 22:17:23.000000000 -0400
35965+++ linux-3.0.7/drivers/video/logo/logo_linux_clut224.ppm 2011-08-29 23:49:40.000000000 -0400
34101@@ -1,1604 +1,1123 @@ 35966@@ -1,1604 +1,1123 @@
34102 P3 35967 P3
34103-# Standard 224-color Linux logo 35968-# Standard 224-color Linux logo
@@ -36823,9 +38688,9 @@ diff -urNp linux-3.0.4/drivers/video/logo/logo_linux_clut224.ppm linux-3.0.4/dri
36823+4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 38688+4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
36824+4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 38689+4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
36825+4 4 4 4 4 4 38690+4 4 4 4 4 4
36826diff -urNp linux-3.0.4/drivers/video/udlfb.c linux-3.0.4/drivers/video/udlfb.c 38691diff -urNp linux-3.0.7/drivers/video/udlfb.c linux-3.0.7/drivers/video/udlfb.c
36827--- linux-3.0.4/drivers/video/udlfb.c 2011-07-21 22:17:23.000000000 -0400 38692--- linux-3.0.7/drivers/video/udlfb.c 2011-07-21 22:17:23.000000000 -0400
36828+++ linux-3.0.4/drivers/video/udlfb.c 2011-08-23 21:47:56.000000000 -0400 38693+++ linux-3.0.7/drivers/video/udlfb.c 2011-08-23 21:47:56.000000000 -0400
36829@@ -586,11 +586,11 @@ int dlfb_handle_damage(struct dlfb_data 38694@@ -586,11 +586,11 @@ int dlfb_handle_damage(struct dlfb_data
36830 dlfb_urb_completion(urb); 38695 dlfb_urb_completion(urb);
36831 38696
@@ -36909,9 +38774,9 @@ diff -urNp linux-3.0.4/drivers/video/udlfb.c linux-3.0.4/drivers/video/udlfb.c
36909 38774
36910 return count; 38775 return count;
36911 } 38776 }
36912diff -urNp linux-3.0.4/drivers/video/uvesafb.c linux-3.0.4/drivers/video/uvesafb.c 38777diff -urNp linux-3.0.7/drivers/video/uvesafb.c linux-3.0.7/drivers/video/uvesafb.c
36913--- linux-3.0.4/drivers/video/uvesafb.c 2011-07-21 22:17:23.000000000 -0400 38778--- linux-3.0.7/drivers/video/uvesafb.c 2011-07-21 22:17:23.000000000 -0400
36914+++ linux-3.0.4/drivers/video/uvesafb.c 2011-08-23 21:47:56.000000000 -0400 38779+++ linux-3.0.7/drivers/video/uvesafb.c 2011-08-23 21:47:56.000000000 -0400
36915@@ -19,6 +19,7 @@ 38780@@ -19,6 +19,7 @@
36916 #include <linux/io.h> 38781 #include <linux/io.h>
36917 #include <linux/mutex.h> 38782 #include <linux/mutex.h>
@@ -36987,9 +38852,9 @@ diff -urNp linux-3.0.4/drivers/video/uvesafb.c linux-3.0.4/drivers/video/uvesafb
36987 } 38852 }
36988 38853
36989 framebuffer_release(info); 38854 framebuffer_release(info);
36990diff -urNp linux-3.0.4/drivers/video/vesafb.c linux-3.0.4/drivers/video/vesafb.c 38855diff -urNp linux-3.0.7/drivers/video/vesafb.c linux-3.0.7/drivers/video/vesafb.c
36991--- linux-3.0.4/drivers/video/vesafb.c 2011-07-21 22:17:23.000000000 -0400 38856--- linux-3.0.7/drivers/video/vesafb.c 2011-07-21 22:17:23.000000000 -0400
36992+++ linux-3.0.4/drivers/video/vesafb.c 2011-08-23 21:47:56.000000000 -0400 38857+++ linux-3.0.7/drivers/video/vesafb.c 2011-08-23 21:47:56.000000000 -0400
36993@@ -9,6 +9,7 @@ 38858@@ -9,6 +9,7 @@
36994 */ 38859 */
36995 38860
@@ -37092,9 +38957,9 @@ diff -urNp linux-3.0.4/drivers/video/vesafb.c linux-3.0.4/drivers/video/vesafb.c
37092 if (info->screen_base) 38957 if (info->screen_base)
37093 iounmap(info->screen_base); 38958 iounmap(info->screen_base);
37094 framebuffer_release(info); 38959 framebuffer_release(info);
37095diff -urNp linux-3.0.4/drivers/video/via/via_clock.h linux-3.0.4/drivers/video/via/via_clock.h 38960diff -urNp linux-3.0.7/drivers/video/via/via_clock.h linux-3.0.7/drivers/video/via/via_clock.h
37096--- linux-3.0.4/drivers/video/via/via_clock.h 2011-07-21 22:17:23.000000000 -0400 38961--- linux-3.0.7/drivers/video/via/via_clock.h 2011-07-21 22:17:23.000000000 -0400
37097+++ linux-3.0.4/drivers/video/via/via_clock.h 2011-08-23 21:47:56.000000000 -0400 38962+++ linux-3.0.7/drivers/video/via/via_clock.h 2011-08-23 21:47:56.000000000 -0400
37098@@ -56,7 +56,7 @@ struct via_clock { 38963@@ -56,7 +56,7 @@ struct via_clock {
37099 38964
37100 void (*set_engine_pll_state)(u8 state); 38965 void (*set_engine_pll_state)(u8 state);
@@ -37104,9 +38969,9 @@ diff -urNp linux-3.0.4/drivers/video/via/via_clock.h linux-3.0.4/drivers/video/v
37104 38969
37105 38970
37106 static inline u32 get_pll_internal_frequency(u32 ref_freq, 38971 static inline u32 get_pll_internal_frequency(u32 ref_freq,
37107diff -urNp linux-3.0.4/drivers/virtio/virtio_balloon.c linux-3.0.4/drivers/virtio/virtio_balloon.c 38972diff -urNp linux-3.0.7/drivers/virtio/virtio_balloon.c linux-3.0.7/drivers/virtio/virtio_balloon.c
37108--- linux-3.0.4/drivers/virtio/virtio_balloon.c 2011-07-21 22:17:23.000000000 -0400 38973--- linux-3.0.7/drivers/virtio/virtio_balloon.c 2011-07-21 22:17:23.000000000 -0400
37109+++ linux-3.0.4/drivers/virtio/virtio_balloon.c 2011-08-23 21:48:14.000000000 -0400 38974+++ linux-3.0.7/drivers/virtio/virtio_balloon.c 2011-08-23 21:48:14.000000000 -0400
37110@@ -174,6 +174,8 @@ static void update_balloon_stats(struct 38975@@ -174,6 +174,8 @@ static void update_balloon_stats(struct
37111 struct sysinfo i; 38976 struct sysinfo i;
37112 int idx = 0; 38977 int idx = 0;
@@ -37116,10 +38981,10 @@ diff -urNp linux-3.0.4/drivers/virtio/virtio_balloon.c linux-3.0.4/drivers/virti
37116 all_vm_events(events); 38981 all_vm_events(events);
37117 si_meminfo(&i); 38982 si_meminfo(&i);
37118 38983
37119diff -urNp linux-3.0.4/fs/9p/vfs_inode.c linux-3.0.4/fs/9p/vfs_inode.c 38984diff -urNp linux-3.0.7/fs/9p/vfs_inode.c linux-3.0.7/fs/9p/vfs_inode.c
37120--- linux-3.0.4/fs/9p/vfs_inode.c 2011-07-21 22:17:23.000000000 -0400 38985--- linux-3.0.7/fs/9p/vfs_inode.c 2011-10-16 21:54:54.000000000 -0400
37121+++ linux-3.0.4/fs/9p/vfs_inode.c 2011-08-23 21:47:56.000000000 -0400 38986+++ linux-3.0.7/fs/9p/vfs_inode.c 2011-10-16 21:55:28.000000000 -0400
37122@@ -1210,7 +1210,7 @@ static void *v9fs_vfs_follow_link(struct 38987@@ -1264,7 +1264,7 @@ static void *v9fs_vfs_follow_link(struct
37123 void 38988 void
37124 v9fs_vfs_put_link(struct dentry *dentry, struct nameidata *nd, void *p) 38989 v9fs_vfs_put_link(struct dentry *dentry, struct nameidata *nd, void *p)
37125 { 38990 {
@@ -37128,9 +38993,9 @@ diff -urNp linux-3.0.4/fs/9p/vfs_inode.c linux-3.0.4/fs/9p/vfs_inode.c
37128 38993
37129 P9_DPRINTK(P9_DEBUG_VFS, " %s %s\n", dentry->d_name.name, 38994 P9_DPRINTK(P9_DEBUG_VFS, " %s %s\n", dentry->d_name.name,
37130 IS_ERR(s) ? "<error>" : s); 38995 IS_ERR(s) ? "<error>" : s);
37131diff -urNp linux-3.0.4/fs/aio.c linux-3.0.4/fs/aio.c 38996diff -urNp linux-3.0.7/fs/aio.c linux-3.0.7/fs/aio.c
37132--- linux-3.0.4/fs/aio.c 2011-07-21 22:17:23.000000000 -0400 38997--- linux-3.0.7/fs/aio.c 2011-07-21 22:17:23.000000000 -0400
37133+++ linux-3.0.4/fs/aio.c 2011-08-23 21:48:14.000000000 -0400 38998+++ linux-3.0.7/fs/aio.c 2011-08-23 21:48:14.000000000 -0400
37134@@ -119,7 +119,7 @@ static int aio_setup_ring(struct kioctx 38999@@ -119,7 +119,7 @@ static int aio_setup_ring(struct kioctx
37135 size += sizeof(struct io_event) * nr_events; 39000 size += sizeof(struct io_event) * nr_events;
37136 nr_pages = (size + PAGE_SIZE-1) >> PAGE_SHIFT; 39001 nr_pages = (size + PAGE_SIZE-1) >> PAGE_SHIFT;
@@ -37179,9 +39044,9 @@ diff -urNp linux-3.0.4/fs/aio.c linux-3.0.4/fs/aio.c
37179 kiocb->ki_nr_segs = kiocb->ki_nbytes; 39044 kiocb->ki_nr_segs = kiocb->ki_nbytes;
37180 kiocb->ki_cur_seg = 0; 39045 kiocb->ki_cur_seg = 0;
37181 /* ki_nbytes/left now reflect bytes instead of segs */ 39046 /* ki_nbytes/left now reflect bytes instead of segs */
37182diff -urNp linux-3.0.4/fs/attr.c linux-3.0.4/fs/attr.c 39047diff -urNp linux-3.0.7/fs/attr.c linux-3.0.7/fs/attr.c
37183--- linux-3.0.4/fs/attr.c 2011-07-21 22:17:23.000000000 -0400 39048--- linux-3.0.7/fs/attr.c 2011-07-21 22:17:23.000000000 -0400
37184+++ linux-3.0.4/fs/attr.c 2011-08-23 21:48:14.000000000 -0400 39049+++ linux-3.0.7/fs/attr.c 2011-08-23 21:48:14.000000000 -0400
37185@@ -98,6 +98,7 @@ int inode_newsize_ok(const struct inode 39050@@ -98,6 +98,7 @@ int inode_newsize_ok(const struct inode
37186 unsigned long limit; 39051 unsigned long limit;
37187 39052
@@ -37190,9 +39055,21 @@ diff -urNp linux-3.0.4/fs/attr.c linux-3.0.4/fs/attr.c
37190 if (limit != RLIM_INFINITY && offset > limit) 39055 if (limit != RLIM_INFINITY && offset > limit)
37191 goto out_sig; 39056 goto out_sig;
37192 if (offset > inode->i_sb->s_maxbytes) 39057 if (offset > inode->i_sb->s_maxbytes)
37193diff -urNp linux-3.0.4/fs/befs/linuxvfs.c linux-3.0.4/fs/befs/linuxvfs.c 39058diff -urNp linux-3.0.7/fs/autofs4/waitq.c linux-3.0.7/fs/autofs4/waitq.c
37194--- linux-3.0.4/fs/befs/linuxvfs.c 2011-09-02 18:11:26.000000000 -0400 39059--- linux-3.0.7/fs/autofs4/waitq.c 2011-07-21 22:17:23.000000000 -0400
37195+++ linux-3.0.4/fs/befs/linuxvfs.c 2011-08-29 23:26:27.000000000 -0400 39060+++ linux-3.0.7/fs/autofs4/waitq.c 2011-10-06 04:17:55.000000000 -0400
39061@@ -60,7 +60,7 @@ static int autofs4_write(struct file *fi
39062 {
39063 unsigned long sigpipe, flags;
39064 mm_segment_t fs;
39065- const char *data = (const char *)addr;
39066+ const char __user *data = (const char __force_user *)addr;
39067 ssize_t wr = 0;
39068
39069 /** WARNING: this is not safe for writing more than PIPE_BUF bytes! **/
39070diff -urNp linux-3.0.7/fs/befs/linuxvfs.c linux-3.0.7/fs/befs/linuxvfs.c
39071--- linux-3.0.7/fs/befs/linuxvfs.c 2011-09-02 18:11:26.000000000 -0400
39072+++ linux-3.0.7/fs/befs/linuxvfs.c 2011-08-29 23:26:27.000000000 -0400
37196@@ -503,7 +503,7 @@ static void befs_put_link(struct dentry 39073@@ -503,7 +503,7 @@ static void befs_put_link(struct dentry
37197 { 39074 {
37198 befs_inode_info *befs_ino = BEFS_I(dentry->d_inode); 39075 befs_inode_info *befs_ino = BEFS_I(dentry->d_inode);
@@ -37202,9 +39079,9 @@ diff -urNp linux-3.0.4/fs/befs/linuxvfs.c linux-3.0.4/fs/befs/linuxvfs.c
37202 if (!IS_ERR(link)) 39079 if (!IS_ERR(link))
37203 kfree(link); 39080 kfree(link);
37204 } 39081 }
37205diff -urNp linux-3.0.4/fs/binfmt_aout.c linux-3.0.4/fs/binfmt_aout.c 39082diff -urNp linux-3.0.7/fs/binfmt_aout.c linux-3.0.7/fs/binfmt_aout.c
37206--- linux-3.0.4/fs/binfmt_aout.c 2011-07-21 22:17:23.000000000 -0400 39083--- linux-3.0.7/fs/binfmt_aout.c 2011-07-21 22:17:23.000000000 -0400
37207+++ linux-3.0.4/fs/binfmt_aout.c 2011-08-23 21:48:14.000000000 -0400 39084+++ linux-3.0.7/fs/binfmt_aout.c 2011-08-23 21:48:14.000000000 -0400
37208@@ -16,6 +16,7 @@ 39085@@ -16,6 +16,7 @@
37209 #include <linux/string.h> 39086 #include <linux/string.h>
37210 #include <linux/fs.h> 39087 #include <linux/fs.h>
@@ -37281,9 +39158,9 @@ diff -urNp linux-3.0.4/fs/binfmt_aout.c linux-3.0.4/fs/binfmt_aout.c
37281 MAP_FIXED | MAP_PRIVATE | MAP_DENYWRITE | MAP_EXECUTABLE, 39158 MAP_FIXED | MAP_PRIVATE | MAP_DENYWRITE | MAP_EXECUTABLE,
37282 fd_offset + ex.a_text); 39159 fd_offset + ex.a_text);
37283 up_write(&current->mm->mmap_sem); 39160 up_write(&current->mm->mmap_sem);
37284diff -urNp linux-3.0.4/fs/binfmt_elf.c linux-3.0.4/fs/binfmt_elf.c 39161diff -urNp linux-3.0.7/fs/binfmt_elf.c linux-3.0.7/fs/binfmt_elf.c
37285--- linux-3.0.4/fs/binfmt_elf.c 2011-07-21 22:17:23.000000000 -0400 39162--- linux-3.0.7/fs/binfmt_elf.c 2011-07-21 22:17:23.000000000 -0400
37286+++ linux-3.0.4/fs/binfmt_elf.c 2011-08-23 21:48:14.000000000 -0400 39163+++ linux-3.0.7/fs/binfmt_elf.c 2011-08-23 21:48:14.000000000 -0400
37287@@ -51,6 +51,10 @@ static int elf_core_dump(struct coredump 39164@@ -51,6 +51,10 @@ static int elf_core_dump(struct coredump
37288 #define elf_core_dump NULL 39165 #define elf_core_dump NULL
37289 #endif 39166 #endif
@@ -37987,9 +39864,9 @@ diff -urNp linux-3.0.4/fs/binfmt_elf.c linux-3.0.4/fs/binfmt_elf.c
37987 static int __init init_elf_binfmt(void) 39864 static int __init init_elf_binfmt(void)
37988 { 39865 {
37989 return register_binfmt(&elf_format); 39866 return register_binfmt(&elf_format);
37990diff -urNp linux-3.0.4/fs/binfmt_flat.c linux-3.0.4/fs/binfmt_flat.c 39867diff -urNp linux-3.0.7/fs/binfmt_flat.c linux-3.0.7/fs/binfmt_flat.c
37991--- linux-3.0.4/fs/binfmt_flat.c 2011-07-21 22:17:23.000000000 -0400 39868--- linux-3.0.7/fs/binfmt_flat.c 2011-07-21 22:17:23.000000000 -0400
37992+++ linux-3.0.4/fs/binfmt_flat.c 2011-08-23 21:47:56.000000000 -0400 39869+++ linux-3.0.7/fs/binfmt_flat.c 2011-08-23 21:47:56.000000000 -0400
37993@@ -567,7 +567,9 @@ static int load_flat_file(struct linux_b 39870@@ -567,7 +567,9 @@ static int load_flat_file(struct linux_b
37994 realdatastart = (unsigned long) -ENOMEM; 39871 realdatastart = (unsigned long) -ENOMEM;
37995 printk("Unable to allocate RAM for process data, errno %d\n", 39872 printk("Unable to allocate RAM for process data, errno %d\n",
@@ -38022,21 +39899,21 @@ diff -urNp linux-3.0.4/fs/binfmt_flat.c linux-3.0.4/fs/binfmt_flat.c
38022 ret = result; 39899 ret = result;
38023 goto err; 39900 goto err;
38024 } 39901 }
38025diff -urNp linux-3.0.4/fs/bio.c linux-3.0.4/fs/bio.c 39902diff -urNp linux-3.0.7/fs/bio.c linux-3.0.7/fs/bio.c
38026--- linux-3.0.4/fs/bio.c 2011-07-21 22:17:23.000000000 -0400 39903--- linux-3.0.7/fs/bio.c 2011-07-21 22:17:23.000000000 -0400
38027+++ linux-3.0.4/fs/bio.c 2011-08-23 21:47:56.000000000 -0400 39904+++ linux-3.0.7/fs/bio.c 2011-10-06 04:17:55.000000000 -0400
38028@@ -1233,7 +1233,7 @@ static void bio_copy_kern_endio(struct b 39905@@ -1233,7 +1233,7 @@ static void bio_copy_kern_endio(struct b
38029 const int read = bio_data_dir(bio) == READ; 39906 const int read = bio_data_dir(bio) == READ;
38030 struct bio_map_data *bmd = bio->bi_private; 39907 struct bio_map_data *bmd = bio->bi_private;
38031 int i; 39908 int i;
38032- char *p = bmd->sgvecs[0].iov_base; 39909- char *p = bmd->sgvecs[0].iov_base;
38033+ char *p = (__force char *)bmd->sgvecs[0].iov_base; 39910+ char *p = (char __force_kernel *)bmd->sgvecs[0].iov_base;
38034 39911
38035 __bio_for_each_segment(bvec, bio, i, 0) { 39912 __bio_for_each_segment(bvec, bio, i, 0) {
38036 char *addr = page_address(bvec->bv_page); 39913 char *addr = page_address(bvec->bv_page);
38037diff -urNp linux-3.0.4/fs/block_dev.c linux-3.0.4/fs/block_dev.c 39914diff -urNp linux-3.0.7/fs/block_dev.c linux-3.0.7/fs/block_dev.c
38038--- linux-3.0.4/fs/block_dev.c 2011-07-21 22:17:23.000000000 -0400 39915--- linux-3.0.7/fs/block_dev.c 2011-10-16 21:54:54.000000000 -0400
38039+++ linux-3.0.4/fs/block_dev.c 2011-08-23 21:47:56.000000000 -0400 39916+++ linux-3.0.7/fs/block_dev.c 2011-10-16 21:55:28.000000000 -0400
38040@@ -671,7 +671,7 @@ static bool bd_may_claim(struct block_de 39917@@ -671,7 +671,7 @@ static bool bd_may_claim(struct block_de
38041 else if (bdev->bd_contains == bdev) 39918 else if (bdev->bd_contains == bdev)
38042 return true; /* is a whole device which isn't held */ 39919 return true; /* is a whole device which isn't held */
@@ -38046,9 +39923,9 @@ diff -urNp linux-3.0.4/fs/block_dev.c linux-3.0.4/fs/block_dev.c
38046 return true; /* is a partition of a device that is being partitioned */ 39923 return true; /* is a partition of a device that is being partitioned */
38047 else if (whole->bd_holder != NULL) 39924 else if (whole->bd_holder != NULL)
38048 return false; /* is a partition of a held device */ 39925 return false; /* is a partition of a held device */
38049diff -urNp linux-3.0.4/fs/btrfs/ctree.c linux-3.0.4/fs/btrfs/ctree.c 39926diff -urNp linux-3.0.7/fs/btrfs/ctree.c linux-3.0.7/fs/btrfs/ctree.c
38050--- linux-3.0.4/fs/btrfs/ctree.c 2011-07-21 22:17:23.000000000 -0400 39927--- linux-3.0.7/fs/btrfs/ctree.c 2011-07-21 22:17:23.000000000 -0400
38051+++ linux-3.0.4/fs/btrfs/ctree.c 2011-08-23 21:47:56.000000000 -0400 39928+++ linux-3.0.7/fs/btrfs/ctree.c 2011-08-23 21:47:56.000000000 -0400
38052@@ -454,9 +454,12 @@ static noinline int __btrfs_cow_block(st 39929@@ -454,9 +454,12 @@ static noinline int __btrfs_cow_block(st
38053 free_extent_buffer(buf); 39930 free_extent_buffer(buf);
38054 add_root_to_dirty_list(root); 39931 add_root_to_dirty_list(root);
@@ -38065,10 +39942,10 @@ diff -urNp linux-3.0.4/fs/btrfs/ctree.c linux-3.0.4/fs/btrfs/ctree.c
38065 parent_start = 0; 39942 parent_start = 0;
38066 39943
38067 WARN_ON(trans->transid != btrfs_header_generation(parent)); 39944 WARN_ON(trans->transid != btrfs_header_generation(parent));
38068diff -urNp linux-3.0.4/fs/btrfs/inode.c linux-3.0.4/fs/btrfs/inode.c 39945diff -urNp linux-3.0.7/fs/btrfs/inode.c linux-3.0.7/fs/btrfs/inode.c
38069--- linux-3.0.4/fs/btrfs/inode.c 2011-07-21 22:17:23.000000000 -0400 39946--- linux-3.0.7/fs/btrfs/inode.c 2011-10-16 21:54:54.000000000 -0400
38070+++ linux-3.0.4/fs/btrfs/inode.c 2011-08-23 21:48:14.000000000 -0400 39947+++ linux-3.0.7/fs/btrfs/inode.c 2011-10-16 21:55:28.000000000 -0400
38071@@ -6895,7 +6895,7 @@ fail: 39948@@ -6896,7 +6896,7 @@ fail:
38072 return -ENOMEM; 39949 return -ENOMEM;
38073 } 39950 }
38074 39951
@@ -38077,7 +39954,7 @@ diff -urNp linux-3.0.4/fs/btrfs/inode.c linux-3.0.4/fs/btrfs/inode.c
38077 struct dentry *dentry, struct kstat *stat) 39954 struct dentry *dentry, struct kstat *stat)
38078 { 39955 {
38079 struct inode *inode = dentry->d_inode; 39956 struct inode *inode = dentry->d_inode;
38080@@ -6907,6 +6907,14 @@ static int btrfs_getattr(struct vfsmount 39957@@ -6908,6 +6908,14 @@ static int btrfs_getattr(struct vfsmount
38081 return 0; 39958 return 0;
38082 } 39959 }
38083 39960
@@ -38092,9 +39969,9 @@ diff -urNp linux-3.0.4/fs/btrfs/inode.c linux-3.0.4/fs/btrfs/inode.c
38092 /* 39969 /*
38093 * If a file is moved, it will inherit the cow and compression flags of the new 39970 * If a file is moved, it will inherit the cow and compression flags of the new
38094 * directory. 39971 * directory.
38095diff -urNp linux-3.0.4/fs/btrfs/ioctl.c linux-3.0.4/fs/btrfs/ioctl.c 39972diff -urNp linux-3.0.7/fs/btrfs/ioctl.c linux-3.0.7/fs/btrfs/ioctl.c
38096--- linux-3.0.4/fs/btrfs/ioctl.c 2011-07-21 22:17:23.000000000 -0400 39973--- linux-3.0.7/fs/btrfs/ioctl.c 2011-07-21 22:17:23.000000000 -0400
38097+++ linux-3.0.4/fs/btrfs/ioctl.c 2011-08-23 21:48:14.000000000 -0400 39974+++ linux-3.0.7/fs/btrfs/ioctl.c 2011-10-06 04:17:55.000000000 -0400
38098@@ -2676,9 +2676,12 @@ long btrfs_ioctl_space_info(struct btrfs 39975@@ -2676,9 +2676,12 @@ long btrfs_ioctl_space_info(struct btrfs
38099 for (i = 0; i < num_types; i++) { 39976 for (i = 0; i < num_types; i++) {
38100 struct btrfs_space_info *tmp; 39977 struct btrfs_space_info *tmp;
@@ -38108,7 +39985,7 @@ diff -urNp linux-3.0.4/fs/btrfs/ioctl.c linux-3.0.4/fs/btrfs/ioctl.c
38108 info = NULL; 39985 info = NULL;
38109 rcu_read_lock(); 39986 rcu_read_lock();
38110 list_for_each_entry_rcu(tmp, &root->fs_info->space_info, 39987 list_for_each_entry_rcu(tmp, &root->fs_info->space_info,
38111@@ -2700,10 +2703,7 @@ long btrfs_ioctl_space_info(struct btrfs 39988@@ -2700,15 +2703,12 @@ long btrfs_ioctl_space_info(struct btrfs
38112 memcpy(dest, &space, sizeof(space)); 39989 memcpy(dest, &space, sizeof(space));
38113 dest++; 39990 dest++;
38114 space_args.total_spaces++; 39991 space_args.total_spaces++;
@@ -38119,9 +39996,15 @@ diff -urNp linux-3.0.4/fs/btrfs/ioctl.c linux-3.0.4/fs/btrfs/ioctl.c
38119 } 39996 }
38120 up_read(&info->groups_sem); 39997 up_read(&info->groups_sem);
38121 } 39998 }
38122diff -urNp linux-3.0.4/fs/btrfs/relocation.c linux-3.0.4/fs/btrfs/relocation.c 39999
38123--- linux-3.0.4/fs/btrfs/relocation.c 2011-07-21 22:17:23.000000000 -0400 40000- user_dest = (struct btrfs_ioctl_space_info *)
38124+++ linux-3.0.4/fs/btrfs/relocation.c 2011-08-23 21:47:56.000000000 -0400 40001+ user_dest = (struct btrfs_ioctl_space_info __user *)
40002 (arg + sizeof(struct btrfs_ioctl_space_args));
40003
40004 if (copy_to_user(user_dest, dest_orig, alloc_size))
40005diff -urNp linux-3.0.7/fs/btrfs/relocation.c linux-3.0.7/fs/btrfs/relocation.c
40006--- linux-3.0.7/fs/btrfs/relocation.c 2011-07-21 22:17:23.000000000 -0400
40007+++ linux-3.0.7/fs/btrfs/relocation.c 2011-08-23 21:47:56.000000000 -0400
38125@@ -1242,7 +1242,7 @@ static int __update_reloc_root(struct bt 40008@@ -1242,7 +1242,7 @@ static int __update_reloc_root(struct bt
38126 } 40009 }
38127 spin_unlock(&rc->reloc_root_tree.lock); 40010 spin_unlock(&rc->reloc_root_tree.lock);
@@ -38131,9 +40014,9 @@ diff -urNp linux-3.0.4/fs/btrfs/relocation.c linux-3.0.4/fs/btrfs/relocation.c
38131 40014
38132 if (!del) { 40015 if (!del) {
38133 spin_lock(&rc->reloc_root_tree.lock); 40016 spin_lock(&rc->reloc_root_tree.lock);
38134diff -urNp linux-3.0.4/fs/cachefiles/bind.c linux-3.0.4/fs/cachefiles/bind.c 40017diff -urNp linux-3.0.7/fs/cachefiles/bind.c linux-3.0.7/fs/cachefiles/bind.c
38135--- linux-3.0.4/fs/cachefiles/bind.c 2011-07-21 22:17:23.000000000 -0400 40018--- linux-3.0.7/fs/cachefiles/bind.c 2011-07-21 22:17:23.000000000 -0400
38136+++ linux-3.0.4/fs/cachefiles/bind.c 2011-08-23 21:47:56.000000000 -0400 40019+++ linux-3.0.7/fs/cachefiles/bind.c 2011-08-23 21:47:56.000000000 -0400
38137@@ -39,13 +39,11 @@ int cachefiles_daemon_bind(struct cachef 40020@@ -39,13 +39,11 @@ int cachefiles_daemon_bind(struct cachef
38138 args); 40021 args);
38139 40022
@@ -38150,9 +40033,9 @@ diff -urNp linux-3.0.4/fs/cachefiles/bind.c linux-3.0.4/fs/cachefiles/bind.c
38150 cache->bcull_percent < cache->brun_percent && 40033 cache->bcull_percent < cache->brun_percent &&
38151 cache->brun_percent < 100); 40034 cache->brun_percent < 100);
38152 40035
38153diff -urNp linux-3.0.4/fs/cachefiles/daemon.c linux-3.0.4/fs/cachefiles/daemon.c 40036diff -urNp linux-3.0.7/fs/cachefiles/daemon.c linux-3.0.7/fs/cachefiles/daemon.c
38154--- linux-3.0.4/fs/cachefiles/daemon.c 2011-07-21 22:17:23.000000000 -0400 40037--- linux-3.0.7/fs/cachefiles/daemon.c 2011-07-21 22:17:23.000000000 -0400
38155+++ linux-3.0.4/fs/cachefiles/daemon.c 2011-08-23 21:47:56.000000000 -0400 40038+++ linux-3.0.7/fs/cachefiles/daemon.c 2011-08-23 21:47:56.000000000 -0400
38156@@ -196,7 +196,7 @@ static ssize_t cachefiles_daemon_read(st 40039@@ -196,7 +196,7 @@ static ssize_t cachefiles_daemon_read(st
38157 if (n > buflen) 40040 if (n > buflen)
38158 return -EMSGSIZE; 40041 return -EMSGSIZE;
@@ -38189,9 +40072,9 @@ diff -urNp linux-3.0.4/fs/cachefiles/daemon.c linux-3.0.4/fs/cachefiles/daemon.c
38189 return cachefiles_daemon_range_error(cache, args); 40072 return cachefiles_daemon_range_error(cache, args);
38190 40073
38191 cache->bstop_percent = bstop; 40074 cache->bstop_percent = bstop;
38192diff -urNp linux-3.0.4/fs/cachefiles/internal.h linux-3.0.4/fs/cachefiles/internal.h 40075diff -urNp linux-3.0.7/fs/cachefiles/internal.h linux-3.0.7/fs/cachefiles/internal.h
38193--- linux-3.0.4/fs/cachefiles/internal.h 2011-07-21 22:17:23.000000000 -0400 40076--- linux-3.0.7/fs/cachefiles/internal.h 2011-07-21 22:17:23.000000000 -0400
38194+++ linux-3.0.4/fs/cachefiles/internal.h 2011-08-23 21:47:56.000000000 -0400 40077+++ linux-3.0.7/fs/cachefiles/internal.h 2011-08-23 21:47:56.000000000 -0400
38195@@ -57,7 +57,7 @@ struct cachefiles_cache { 40078@@ -57,7 +57,7 @@ struct cachefiles_cache {
38196 wait_queue_head_t daemon_pollwq; /* poll waitqueue for daemon */ 40079 wait_queue_head_t daemon_pollwq; /* poll waitqueue for daemon */
38197 struct rb_root active_nodes; /* active nodes (can't be culled) */ 40080 struct rb_root active_nodes; /* active nodes (can't be culled) */
@@ -38226,9 +40109,9 @@ diff -urNp linux-3.0.4/fs/cachefiles/internal.h linux-3.0.4/fs/cachefiles/intern
38226 } 40109 }
38227 40110
38228 #else 40111 #else
38229diff -urNp linux-3.0.4/fs/cachefiles/namei.c linux-3.0.4/fs/cachefiles/namei.c 40112diff -urNp linux-3.0.7/fs/cachefiles/namei.c linux-3.0.7/fs/cachefiles/namei.c
38230--- linux-3.0.4/fs/cachefiles/namei.c 2011-07-21 22:17:23.000000000 -0400 40113--- linux-3.0.7/fs/cachefiles/namei.c 2011-07-21 22:17:23.000000000 -0400
38231+++ linux-3.0.4/fs/cachefiles/namei.c 2011-08-23 21:47:56.000000000 -0400 40114+++ linux-3.0.7/fs/cachefiles/namei.c 2011-08-23 21:47:56.000000000 -0400
38232@@ -318,7 +318,7 @@ try_again: 40115@@ -318,7 +318,7 @@ try_again:
38233 /* first step is to make up a grave dentry in the graveyard */ 40116 /* first step is to make up a grave dentry in the graveyard */
38234 sprintf(nbuffer, "%08x%08x", 40117 sprintf(nbuffer, "%08x%08x",
@@ -38238,9 +40121,9 @@ diff -urNp linux-3.0.4/fs/cachefiles/namei.c linux-3.0.4/fs/cachefiles/namei.c
38238 40121
38239 /* do the multiway lock magic */ 40122 /* do the multiway lock magic */
38240 trap = lock_rename(cache->graveyard, dir); 40123 trap = lock_rename(cache->graveyard, dir);
38241diff -urNp linux-3.0.4/fs/cachefiles/proc.c linux-3.0.4/fs/cachefiles/proc.c 40124diff -urNp linux-3.0.7/fs/cachefiles/proc.c linux-3.0.7/fs/cachefiles/proc.c
38242--- linux-3.0.4/fs/cachefiles/proc.c 2011-07-21 22:17:23.000000000 -0400 40125--- linux-3.0.7/fs/cachefiles/proc.c 2011-07-21 22:17:23.000000000 -0400
38243+++ linux-3.0.4/fs/cachefiles/proc.c 2011-08-23 21:47:56.000000000 -0400 40126+++ linux-3.0.7/fs/cachefiles/proc.c 2011-08-23 21:47:56.000000000 -0400
38244@@ -14,9 +14,9 @@ 40127@@ -14,9 +14,9 @@
38245 #include <linux/seq_file.h> 40128 #include <linux/seq_file.h>
38246 #include "internal.h" 40129 #include "internal.h"
@@ -38267,21 +40150,21 @@ diff -urNp linux-3.0.4/fs/cachefiles/proc.c linux-3.0.4/fs/cachefiles/proc.c
38267 if (x == 0 && y == 0 && z == 0) 40150 if (x == 0 && y == 0 && z == 0)
38268 return 0; 40151 return 0;
38269 40152
38270diff -urNp linux-3.0.4/fs/cachefiles/rdwr.c linux-3.0.4/fs/cachefiles/rdwr.c 40153diff -urNp linux-3.0.7/fs/cachefiles/rdwr.c linux-3.0.7/fs/cachefiles/rdwr.c
38271--- linux-3.0.4/fs/cachefiles/rdwr.c 2011-07-21 22:17:23.000000000 -0400 40154--- linux-3.0.7/fs/cachefiles/rdwr.c 2011-07-21 22:17:23.000000000 -0400
38272+++ linux-3.0.4/fs/cachefiles/rdwr.c 2011-08-23 21:47:56.000000000 -0400 40155+++ linux-3.0.7/fs/cachefiles/rdwr.c 2011-10-06 04:17:55.000000000 -0400
38273@@ -945,7 +945,7 @@ int cachefiles_write_page(struct fscache 40156@@ -945,7 +945,7 @@ int cachefiles_write_page(struct fscache
38274 old_fs = get_fs(); 40157 old_fs = get_fs();
38275 set_fs(KERNEL_DS); 40158 set_fs(KERNEL_DS);
38276 ret = file->f_op->write( 40159 ret = file->f_op->write(
38277- file, (const void __user *) data, len, &pos); 40160- file, (const void __user *) data, len, &pos);
38278+ file, (__force const void __user *) data, len, &pos); 40161+ file, (const void __force_user *) data, len, &pos);
38279 set_fs(old_fs); 40162 set_fs(old_fs);
38280 kunmap(page); 40163 kunmap(page);
38281 if (ret != len) 40164 if (ret != len)
38282diff -urNp linux-3.0.4/fs/ceph/dir.c linux-3.0.4/fs/ceph/dir.c 40165diff -urNp linux-3.0.7/fs/ceph/dir.c linux-3.0.7/fs/ceph/dir.c
38283--- linux-3.0.4/fs/ceph/dir.c 2011-07-21 22:17:23.000000000 -0400 40166--- linux-3.0.7/fs/ceph/dir.c 2011-07-21 22:17:23.000000000 -0400
38284+++ linux-3.0.4/fs/ceph/dir.c 2011-08-23 21:47:56.000000000 -0400 40167+++ linux-3.0.7/fs/ceph/dir.c 2011-08-23 21:47:56.000000000 -0400
38285@@ -226,7 +226,7 @@ static int ceph_readdir(struct file *fil 40168@@ -226,7 +226,7 @@ static int ceph_readdir(struct file *fil
38286 struct ceph_fs_client *fsc = ceph_inode_to_client(inode); 40169 struct ceph_fs_client *fsc = ceph_inode_to_client(inode);
38287 struct ceph_mds_client *mdsc = fsc->mdsc; 40170 struct ceph_mds_client *mdsc = fsc->mdsc;
@@ -38291,9 +40174,9 @@ diff -urNp linux-3.0.4/fs/ceph/dir.c linux-3.0.4/fs/ceph/dir.c
38291 int err; 40174 int err;
38292 u32 ftype; 40175 u32 ftype;
38293 struct ceph_mds_reply_info_parsed *rinfo; 40176 struct ceph_mds_reply_info_parsed *rinfo;
38294diff -urNp linux-3.0.4/fs/cifs/cifs_debug.c linux-3.0.4/fs/cifs/cifs_debug.c 40177diff -urNp linux-3.0.7/fs/cifs/cifs_debug.c linux-3.0.7/fs/cifs/cifs_debug.c
38295--- linux-3.0.4/fs/cifs/cifs_debug.c 2011-07-21 22:17:23.000000000 -0400 40178--- linux-3.0.7/fs/cifs/cifs_debug.c 2011-07-21 22:17:23.000000000 -0400
38296+++ linux-3.0.4/fs/cifs/cifs_debug.c 2011-08-25 17:18:05.000000000 -0400 40179+++ linux-3.0.7/fs/cifs/cifs_debug.c 2011-08-25 17:18:05.000000000 -0400
38297@@ -265,8 +265,8 @@ static ssize_t cifs_stats_proc_write(str 40180@@ -265,8 +265,8 @@ static ssize_t cifs_stats_proc_write(str
38298 40181
38299 if (c == '1' || c == 'y' || c == 'Y' || c == '0') { 40182 if (c == '1' || c == 'y' || c == 'Y' || c == '0') {
@@ -38423,9 +40306,9 @@ diff -urNp linux-3.0.4/fs/cifs/cifs_debug.c linux-3.0.4/fs/cifs/cifs_debug.c
38423 } 40306 }
38424 } 40307 }
38425 } 40308 }
38426diff -urNp linux-3.0.4/fs/cifs/cifsfs.c linux-3.0.4/fs/cifs/cifsfs.c 40309diff -urNp linux-3.0.7/fs/cifs/cifsfs.c linux-3.0.7/fs/cifs/cifsfs.c
38427--- linux-3.0.4/fs/cifs/cifsfs.c 2011-09-02 18:11:21.000000000 -0400 40310--- linux-3.0.7/fs/cifs/cifsfs.c 2011-09-02 18:11:21.000000000 -0400
38428+++ linux-3.0.4/fs/cifs/cifsfs.c 2011-08-25 17:18:05.000000000 -0400 40311+++ linux-3.0.7/fs/cifs/cifsfs.c 2011-08-25 17:18:05.000000000 -0400
38429@@ -994,7 +994,7 @@ cifs_init_request_bufs(void) 40312@@ -994,7 +994,7 @@ cifs_init_request_bufs(void)
38430 cifs_req_cachep = kmem_cache_create("cifs_request", 40313 cifs_req_cachep = kmem_cache_create("cifs_request",
38431 CIFSMaxBufSize + 40314 CIFSMaxBufSize +
@@ -38455,9 +40338,9 @@ diff -urNp linux-3.0.4/fs/cifs/cifsfs.c linux-3.0.4/fs/cifs/cifsfs.c
38455 #endif /* CONFIG_CIFS_STATS2 */ 40338 #endif /* CONFIG_CIFS_STATS2 */
38456 40339
38457 atomic_set(&midCount, 0); 40340 atomic_set(&midCount, 0);
38458diff -urNp linux-3.0.4/fs/cifs/cifsglob.h linux-3.0.4/fs/cifs/cifsglob.h 40341diff -urNp linux-3.0.7/fs/cifs/cifsglob.h linux-3.0.7/fs/cifs/cifsglob.h
38459--- linux-3.0.4/fs/cifs/cifsglob.h 2011-07-21 22:17:23.000000000 -0400 40342--- linux-3.0.7/fs/cifs/cifsglob.h 2011-07-21 22:17:23.000000000 -0400
38460+++ linux-3.0.4/fs/cifs/cifsglob.h 2011-08-25 17:18:05.000000000 -0400 40343+++ linux-3.0.7/fs/cifs/cifsglob.h 2011-08-25 17:18:05.000000000 -0400
38461@@ -381,28 +381,28 @@ struct cifs_tcon { 40344@@ -381,28 +381,28 @@ struct cifs_tcon {
38462 __u16 Flags; /* optional support bits */ 40345 __u16 Flags; /* optional support bits */
38463 enum statusEnum tidStatus; 40346 enum statusEnum tidStatus;
@@ -38529,9 +40412,9 @@ diff -urNp linux-3.0.4/fs/cifs/cifsglob.h linux-3.0.4/fs/cifs/cifsglob.h
38529 #endif 40412 #endif
38530 GLOBAL_EXTERN atomic_t smBufAllocCount; 40413 GLOBAL_EXTERN atomic_t smBufAllocCount;
38531 GLOBAL_EXTERN atomic_t midCount; 40414 GLOBAL_EXTERN atomic_t midCount;
38532diff -urNp linux-3.0.4/fs/cifs/link.c linux-3.0.4/fs/cifs/link.c 40415diff -urNp linux-3.0.7/fs/cifs/link.c linux-3.0.7/fs/cifs/link.c
38533--- linux-3.0.4/fs/cifs/link.c 2011-07-21 22:17:23.000000000 -0400 40416--- linux-3.0.7/fs/cifs/link.c 2011-07-21 22:17:23.000000000 -0400
38534+++ linux-3.0.4/fs/cifs/link.c 2011-08-23 21:47:56.000000000 -0400 40417+++ linux-3.0.7/fs/cifs/link.c 2011-08-23 21:47:56.000000000 -0400
38535@@ -587,7 +587,7 @@ symlink_exit: 40418@@ -587,7 +587,7 @@ symlink_exit:
38536 40419
38537 void cifs_put_link(struct dentry *direntry, struct nameidata *nd, void *cookie) 40420 void cifs_put_link(struct dentry *direntry, struct nameidata *nd, void *cookie)
@@ -38541,9 +40424,9 @@ diff -urNp linux-3.0.4/fs/cifs/link.c linux-3.0.4/fs/cifs/link.c
38541 if (!IS_ERR(p)) 40424 if (!IS_ERR(p))
38542 kfree(p); 40425 kfree(p);
38543 } 40426 }
38544diff -urNp linux-3.0.4/fs/cifs/misc.c linux-3.0.4/fs/cifs/misc.c 40427diff -urNp linux-3.0.7/fs/cifs/misc.c linux-3.0.7/fs/cifs/misc.c
38545--- linux-3.0.4/fs/cifs/misc.c 2011-07-21 22:17:23.000000000 -0400 40428--- linux-3.0.7/fs/cifs/misc.c 2011-07-21 22:17:23.000000000 -0400
38546+++ linux-3.0.4/fs/cifs/misc.c 2011-08-25 17:18:05.000000000 -0400 40429+++ linux-3.0.7/fs/cifs/misc.c 2011-08-25 17:18:05.000000000 -0400
38547@@ -156,7 +156,7 @@ cifs_buf_get(void) 40430@@ -156,7 +156,7 @@ cifs_buf_get(void)
38548 memset(ret_buf, 0, sizeof(struct smb_hdr) + 3); 40431 memset(ret_buf, 0, sizeof(struct smb_hdr) + 3);
38549 atomic_inc(&bufAllocCount); 40432 atomic_inc(&bufAllocCount);
@@ -38562,9 +40445,9 @@ diff -urNp linux-3.0.4/fs/cifs/misc.c linux-3.0.4/fs/cifs/misc.c
38562 #endif /* CONFIG_CIFS_STATS2 */ 40445 #endif /* CONFIG_CIFS_STATS2 */
38563 40446
38564 } 40447 }
38565diff -urNp linux-3.0.4/fs/coda/cache.c linux-3.0.4/fs/coda/cache.c 40448diff -urNp linux-3.0.7/fs/coda/cache.c linux-3.0.7/fs/coda/cache.c
38566--- linux-3.0.4/fs/coda/cache.c 2011-07-21 22:17:23.000000000 -0400 40449--- linux-3.0.7/fs/coda/cache.c 2011-07-21 22:17:23.000000000 -0400
38567+++ linux-3.0.4/fs/coda/cache.c 2011-08-23 21:47:56.000000000 -0400 40450+++ linux-3.0.7/fs/coda/cache.c 2011-08-23 21:47:56.000000000 -0400
38568@@ -24,7 +24,7 @@ 40451@@ -24,7 +24,7 @@
38569 #include "coda_linux.h" 40452 #include "coda_linux.h"
38570 #include "coda_cache.h" 40453 #include "coda_cache.h"
@@ -38609,9 +40492,9 @@ diff -urNp linux-3.0.4/fs/coda/cache.c linux-3.0.4/fs/coda/cache.c
38609 spin_unlock(&cii->c_lock); 40492 spin_unlock(&cii->c_lock);
38610 40493
38611 return hit; 40494 return hit;
38612diff -urNp linux-3.0.4/fs/compat_binfmt_elf.c linux-3.0.4/fs/compat_binfmt_elf.c 40495diff -urNp linux-3.0.7/fs/compat_binfmt_elf.c linux-3.0.7/fs/compat_binfmt_elf.c
38613--- linux-3.0.4/fs/compat_binfmt_elf.c 2011-07-21 22:17:23.000000000 -0400 40496--- linux-3.0.7/fs/compat_binfmt_elf.c 2011-07-21 22:17:23.000000000 -0400
38614+++ linux-3.0.4/fs/compat_binfmt_elf.c 2011-08-23 21:47:56.000000000 -0400 40497+++ linux-3.0.7/fs/compat_binfmt_elf.c 2011-08-23 21:47:56.000000000 -0400
38615@@ -30,11 +30,13 @@ 40498@@ -30,11 +30,13 @@
38616 #undef elf_phdr 40499 #undef elf_phdr
38617 #undef elf_shdr 40500 #undef elf_shdr
@@ -38626,9 +40509,29 @@ diff -urNp linux-3.0.4/fs/compat_binfmt_elf.c linux-3.0.4/fs/compat_binfmt_elf.c
38626 #define elf_addr_t Elf32_Addr 40509 #define elf_addr_t Elf32_Addr
38627 40510
38628 /* 40511 /*
38629diff -urNp linux-3.0.4/fs/compat.c linux-3.0.4/fs/compat.c 40512diff -urNp linux-3.0.7/fs/compat.c linux-3.0.7/fs/compat.c
38630--- linux-3.0.4/fs/compat.c 2011-07-21 22:17:23.000000000 -0400 40513--- linux-3.0.7/fs/compat.c 2011-07-21 22:17:23.000000000 -0400
38631+++ linux-3.0.4/fs/compat.c 2011-08-23 22:49:33.000000000 -0400 40514+++ linux-3.0.7/fs/compat.c 2011-10-06 04:17:55.000000000 -0400
40515@@ -133,8 +133,8 @@ asmlinkage long compat_sys_utimes(const
40516 static int cp_compat_stat(struct kstat *stat, struct compat_stat __user *ubuf)
40517 {
40518 compat_ino_t ino = stat->ino;
40519- typeof(ubuf->st_uid) uid = 0;
40520- typeof(ubuf->st_gid) gid = 0;
40521+ typeof(((struct compat_stat *)0)->st_uid) uid = 0;
40522+ typeof(((struct compat_stat *)0)->st_gid) gid = 0;
40523 int err;
40524
40525 SET_UID(uid, stat->uid);
40526@@ -508,7 +508,7 @@ compat_sys_io_setup(unsigned nr_reqs, u3
40527
40528 set_fs(KERNEL_DS);
40529 /* The __user pointer cast is valid because of the set_fs() */
40530- ret = sys_io_setup(nr_reqs, (aio_context_t __user *) &ctx64);
40531+ ret = sys_io_setup(nr_reqs, (aio_context_t __force_user *) &ctx64);
40532 set_fs(oldfs);
40533 /* truncating is ok because it's a user address */
40534 if (!ret)
38632@@ -566,7 +566,7 @@ ssize_t compat_rw_copy_check_uvector(int 40535@@ -566,7 +566,7 @@ ssize_t compat_rw_copy_check_uvector(int
38633 goto out; 40536 goto out;
38634 40537
@@ -38711,7 +40614,7 @@ diff -urNp linux-3.0.4/fs/compat.c linux-3.0.4/fs/compat.c
38711 dirent = buf->previous; 40614 dirent = buf->previous;
38712 40615
38713 if (dirent) { 40616 if (dirent) {
38714@@ -1073,6 +1090,7 @@ asmlinkage long compat_sys_getdents64(un 40617@@ -1073,13 +1090,14 @@ asmlinkage long compat_sys_getdents64(un
38715 buf.previous = NULL; 40618 buf.previous = NULL;
38716 buf.count = count; 40619 buf.count = count;
38717 buf.error = 0; 40620 buf.error = 0;
@@ -38719,6 +40622,14 @@ diff -urNp linux-3.0.4/fs/compat.c linux-3.0.4/fs/compat.c
38719 40622
38720 error = vfs_readdir(file, compat_filldir64, &buf); 40623 error = vfs_readdir(file, compat_filldir64, &buf);
38721 if (error >= 0) 40624 if (error >= 0)
40625 error = buf.error;
40626 lastdirent = buf.previous;
40627 if (lastdirent) {
40628- typeof(lastdirent->d_off) d_off = file->f_pos;
40629+ typeof(((struct linux_dirent64 *)0)->d_off) d_off = file->f_pos;
40630 if (__put_user_unaligned(d_off, &lastdirent->d_off))
40631 error = -EFAULT;
40632 else
38722@@ -1446,6 +1464,8 @@ int compat_core_sys_select(int n, compat 40633@@ -1446,6 +1464,8 @@ int compat_core_sys_select(int n, compat
38723 struct fdtable *fdt; 40634 struct fdtable *fdt;
38724 long stack_fds[SELECT_STACK_ALLOC/sizeof(long)]; 40635 long stack_fds[SELECT_STACK_ALLOC/sizeof(long)];
@@ -38728,9 +40639,18 @@ diff -urNp linux-3.0.4/fs/compat.c linux-3.0.4/fs/compat.c
38728 if (n < 0) 40639 if (n < 0)
38729 goto out_nofds; 40640 goto out_nofds;
38730 40641
38731diff -urNp linux-3.0.4/fs/compat_ioctl.c linux-3.0.4/fs/compat_ioctl.c 40642@@ -1904,7 +1924,7 @@ asmlinkage long compat_sys_nfsservctl(in
38732--- linux-3.0.4/fs/compat_ioctl.c 2011-07-21 22:17:23.000000000 -0400 40643 oldfs = get_fs();
38733+++ linux-3.0.4/fs/compat_ioctl.c 2011-08-23 21:47:56.000000000 -0400 40644 set_fs(KERNEL_DS);
40645 /* The __user pointer casts are valid because of the set_fs() */
40646- err = sys_nfsservctl(cmd, (void __user *) karg, (void __user *) kres);
40647+ err = sys_nfsservctl(cmd, (void __force_user *) karg, (void __force_user *) kres);
40648 set_fs(oldfs);
40649
40650 if (err)
40651diff -urNp linux-3.0.7/fs/compat_ioctl.c linux-3.0.7/fs/compat_ioctl.c
40652--- linux-3.0.7/fs/compat_ioctl.c 2011-07-21 22:17:23.000000000 -0400
40653+++ linux-3.0.7/fs/compat_ioctl.c 2011-10-06 04:17:55.000000000 -0400
38734@@ -208,6 +208,8 @@ static int do_video_set_spu_palette(unsi 40654@@ -208,6 +208,8 @@ static int do_video_set_spu_palette(unsi
38735 40655
38736 err = get_user(palp, &up->palette); 40656 err = get_user(palp, &up->palette);
@@ -38740,6 +40660,24 @@ diff -urNp linux-3.0.4/fs/compat_ioctl.c linux-3.0.4/fs/compat_ioctl.c
38740 40660
38741 up_native = compat_alloc_user_space(sizeof(struct video_spu_palette)); 40661 up_native = compat_alloc_user_space(sizeof(struct video_spu_palette));
38742 err = put_user(compat_ptr(palp), &up_native->palette); 40662 err = put_user(compat_ptr(palp), &up_native->palette);
40663@@ -619,7 +621,7 @@ static int serial_struct_ioctl(unsigned
40664 return -EFAULT;
40665 if (__get_user(udata, &ss32->iomem_base))
40666 return -EFAULT;
40667- ss.iomem_base = compat_ptr(udata);
40668+ ss.iomem_base = (unsigned char __force_kernel *)compat_ptr(udata);
40669 if (__get_user(ss.iomem_reg_shift, &ss32->iomem_reg_shift) ||
40670 __get_user(ss.port_high, &ss32->port_high))
40671 return -EFAULT;
40672@@ -794,7 +796,7 @@ static int compat_ioctl_preallocate(stru
40673 copy_in_user(&p->l_len, &p32->l_len, sizeof(s64)) ||
40674 copy_in_user(&p->l_sysid, &p32->l_sysid, sizeof(s32)) ||
40675 copy_in_user(&p->l_pid, &p32->l_pid, sizeof(u32)) ||
40676- copy_in_user(&p->l_pad, &p32->l_pad, 4*sizeof(u32)))
40677+ copy_in_user(p->l_pad, &p32->l_pad, 4*sizeof(u32)))
40678 return -EFAULT;
40679
40680 return ioctl_preallocate(file, p);
38743@@ -1638,8 +1640,8 @@ asmlinkage long compat_sys_ioctl(unsigne 40681@@ -1638,8 +1640,8 @@ asmlinkage long compat_sys_ioctl(unsigne
38744 static int __init init_sys32_ioctl_cmp(const void *p, const void *q) 40682 static int __init init_sys32_ioctl_cmp(const void *p, const void *q)
38745 { 40683 {
@@ -38751,9 +40689,9 @@ diff -urNp linux-3.0.4/fs/compat_ioctl.c linux-3.0.4/fs/compat_ioctl.c
38751 if (a > b) 40689 if (a > b)
38752 return 1; 40690 return 1;
38753 if (a < b) 40691 if (a < b)
38754diff -urNp linux-3.0.4/fs/configfs/dir.c linux-3.0.4/fs/configfs/dir.c 40692diff -urNp linux-3.0.7/fs/configfs/dir.c linux-3.0.7/fs/configfs/dir.c
38755--- linux-3.0.4/fs/configfs/dir.c 2011-07-21 22:17:23.000000000 -0400 40693--- linux-3.0.7/fs/configfs/dir.c 2011-07-21 22:17:23.000000000 -0400
38756+++ linux-3.0.4/fs/configfs/dir.c 2011-08-23 21:47:56.000000000 -0400 40694+++ linux-3.0.7/fs/configfs/dir.c 2011-08-23 21:47:56.000000000 -0400
38757@@ -1575,7 +1575,8 @@ static int configfs_readdir(struct file 40695@@ -1575,7 +1575,8 @@ static int configfs_readdir(struct file
38758 } 40696 }
38759 for (p=q->next; p!= &parent_sd->s_children; p=p->next) { 40697 for (p=q->next; p!= &parent_sd->s_children; p=p->next) {
@@ -38778,9 +40716,9 @@ diff -urNp linux-3.0.4/fs/configfs/dir.c linux-3.0.4/fs/configfs/dir.c
38778 40716
38779 /* 40717 /*
38780 * We'll have a dentry and an inode for 40718 * We'll have a dentry and an inode for
38781diff -urNp linux-3.0.4/fs/dcache.c linux-3.0.4/fs/dcache.c 40719diff -urNp linux-3.0.7/fs/dcache.c linux-3.0.7/fs/dcache.c
38782--- linux-3.0.4/fs/dcache.c 2011-07-21 22:17:23.000000000 -0400 40720--- linux-3.0.7/fs/dcache.c 2011-07-21 22:17:23.000000000 -0400
38783+++ linux-3.0.4/fs/dcache.c 2011-08-23 21:47:56.000000000 -0400 40721+++ linux-3.0.7/fs/dcache.c 2011-08-23 21:47:56.000000000 -0400
38784@@ -3089,7 +3089,7 @@ void __init vfs_caches_init(unsigned lon 40722@@ -3089,7 +3089,7 @@ void __init vfs_caches_init(unsigned lon
38785 mempages -= reserve; 40723 mempages -= reserve;
38786 40724
@@ -38790,15 +40728,15 @@ diff -urNp linux-3.0.4/fs/dcache.c linux-3.0.4/fs/dcache.c
38790 40728
38791 dcache_init(); 40729 dcache_init();
38792 inode_init(); 40730 inode_init();
38793diff -urNp linux-3.0.4/fs/ecryptfs/inode.c linux-3.0.4/fs/ecryptfs/inode.c 40731diff -urNp linux-3.0.7/fs/ecryptfs/inode.c linux-3.0.7/fs/ecryptfs/inode.c
38794--- linux-3.0.4/fs/ecryptfs/inode.c 2011-09-02 18:11:21.000000000 -0400 40732--- linux-3.0.7/fs/ecryptfs/inode.c 2011-09-02 18:11:21.000000000 -0400
38795+++ linux-3.0.4/fs/ecryptfs/inode.c 2011-08-23 21:47:56.000000000 -0400 40733+++ linux-3.0.7/fs/ecryptfs/inode.c 2011-10-06 04:17:55.000000000 -0400
38796@@ -704,7 +704,7 @@ static int ecryptfs_readlink_lower(struc 40734@@ -704,7 +704,7 @@ static int ecryptfs_readlink_lower(struc
38797 old_fs = get_fs(); 40735 old_fs = get_fs();
38798 set_fs(get_ds()); 40736 set_fs(get_ds());
38799 rc = lower_dentry->d_inode->i_op->readlink(lower_dentry, 40737 rc = lower_dentry->d_inode->i_op->readlink(lower_dentry,
38800- (char __user *)lower_buf, 40738- (char __user *)lower_buf,
38801+ (__force char __user *)lower_buf, 40739+ (char __force_user *)lower_buf,
38802 lower_bufsiz); 40740 lower_bufsiz);
38803 set_fs(old_fs); 40741 set_fs(old_fs);
38804 if (rc < 0) 40742 if (rc < 0)
@@ -38807,7 +40745,7 @@ diff -urNp linux-3.0.4/fs/ecryptfs/inode.c linux-3.0.4/fs/ecryptfs/inode.c
38807 old_fs = get_fs(); 40745 old_fs = get_fs();
38808 set_fs(get_ds()); 40746 set_fs(get_ds());
38809- rc = dentry->d_inode->i_op->readlink(dentry, (char __user *)buf, len); 40747- rc = dentry->d_inode->i_op->readlink(dentry, (char __user *)buf, len);
38810+ rc = dentry->d_inode->i_op->readlink(dentry, (__force char __user *)buf, len); 40748+ rc = dentry->d_inode->i_op->readlink(dentry, (char __force_user *)buf, len);
38811 set_fs(old_fs); 40749 set_fs(old_fs);
38812 if (rc < 0) { 40750 if (rc < 0) {
38813 kfree(buf); 40751 kfree(buf);
@@ -38820,9 +40758,9 @@ diff -urNp linux-3.0.4/fs/ecryptfs/inode.c linux-3.0.4/fs/ecryptfs/inode.c
38820 if (!IS_ERR(buf)) { 40758 if (!IS_ERR(buf)) {
38821 /* Free the char* */ 40759 /* Free the char* */
38822 kfree(buf); 40760 kfree(buf);
38823diff -urNp linux-3.0.4/fs/ecryptfs/miscdev.c linux-3.0.4/fs/ecryptfs/miscdev.c 40761diff -urNp linux-3.0.7/fs/ecryptfs/miscdev.c linux-3.0.7/fs/ecryptfs/miscdev.c
38824--- linux-3.0.4/fs/ecryptfs/miscdev.c 2011-07-21 22:17:23.000000000 -0400 40762--- linux-3.0.7/fs/ecryptfs/miscdev.c 2011-07-21 22:17:23.000000000 -0400
38825+++ linux-3.0.4/fs/ecryptfs/miscdev.c 2011-08-23 21:47:56.000000000 -0400 40763+++ linux-3.0.7/fs/ecryptfs/miscdev.c 2011-08-23 21:47:56.000000000 -0400
38826@@ -328,7 +328,7 @@ check_list: 40764@@ -328,7 +328,7 @@ check_list:
38827 goto out_unlock_msg_ctx; 40765 goto out_unlock_msg_ctx;
38828 i = 5; 40766 i = 5;
@@ -38832,9 +40770,30 @@ diff -urNp linux-3.0.4/fs/ecryptfs/miscdev.c linux-3.0.4/fs/ecryptfs/miscdev.c
38832 goto out_unlock_msg_ctx; 40770 goto out_unlock_msg_ctx;
38833 i += packet_length_size; 40771 i += packet_length_size;
38834 if (copy_to_user(&buf[i], msg_ctx->msg, msg_ctx->msg_size)) 40772 if (copy_to_user(&buf[i], msg_ctx->msg, msg_ctx->msg_size))
38835diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c 40773diff -urNp linux-3.0.7/fs/ecryptfs/read_write.c linux-3.0.7/fs/ecryptfs/read_write.c
38836--- linux-3.0.4/fs/exec.c 2011-07-21 22:17:23.000000000 -0400 40774--- linux-3.0.7/fs/ecryptfs/read_write.c 2011-09-02 18:11:21.000000000 -0400
38837+++ linux-3.0.4/fs/exec.c 2011-08-25 17:26:58.000000000 -0400 40775+++ linux-3.0.7/fs/ecryptfs/read_write.c 2011-10-06 04:17:55.000000000 -0400
40776@@ -48,7 +48,7 @@ int ecryptfs_write_lower(struct inode *e
40777 return -EIO;
40778 fs_save = get_fs();
40779 set_fs(get_ds());
40780- rc = vfs_write(lower_file, data, size, &offset);
40781+ rc = vfs_write(lower_file, (const char __force_user *)data, size, &offset);
40782 set_fs(fs_save);
40783 mark_inode_dirty_sync(ecryptfs_inode);
40784 return rc;
40785@@ -235,7 +235,7 @@ int ecryptfs_read_lower(char *data, loff
40786 return -EIO;
40787 fs_save = get_fs();
40788 set_fs(get_ds());
40789- rc = vfs_read(lower_file, data, size, &offset);
40790+ rc = vfs_read(lower_file, (char __force_user *)data, size, &offset);
40791 set_fs(fs_save);
40792 return rc;
40793 }
40794diff -urNp linux-3.0.7/fs/exec.c linux-3.0.7/fs/exec.c
40795--- linux-3.0.7/fs/exec.c 2011-10-17 23:17:09.000000000 -0400
40796+++ linux-3.0.7/fs/exec.c 2011-10-17 23:17:19.000000000 -0400
38838@@ -55,12 +55,24 @@ 40797@@ -55,12 +55,24 @@
38839 #include <linux/pipe_fs_i.h> 40798 #include <linux/pipe_fs_i.h>
38840 #include <linux/oom.h> 40799 #include <linux/oom.h>
@@ -38946,12 +40905,47 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
38946 { 40905 {
38947 const char __user *native; 40906 const char __user *native;
38948 40907
40908@@ -424,14 +427,14 @@ static const char __user *get_user_arg_p
40909 compat_uptr_t compat;
40910
40911 if (get_user(compat, argv.ptr.compat + nr))
40912- return ERR_PTR(-EFAULT);
40913+ return (const char __force_user *)ERR_PTR(-EFAULT);
40914
40915 return compat_ptr(compat);
40916 }
40917 #endif
40918
40919 if (get_user(native, argv.ptr.native + nr))
40920- return ERR_PTR(-EFAULT);
40921+ return (const char __force_user *)ERR_PTR(-EFAULT);
40922
40923 return native;
40924 }
40925@@ -450,7 +453,7 @@ static int count(struct user_arg_ptr arg
40926 if (!p)
40927 break;
40928
40929- if (IS_ERR(p))
40930+ if (IS_ERR((const char __force_kernel *)p))
40931 return -EFAULT;
40932
40933 if (i++ >= max)
40934@@ -484,7 +487,7 @@ static int copy_strings(int argc, struct
40935
40936 ret = -EFAULT;
40937 str = get_user_arg_ptr(argv, argc);
40938- if (IS_ERR(str))
40939+ if (IS_ERR((const char __force_kernel *)str))
40940 goto out;
40941
40942 len = strnlen_user(str, MAX_ARG_STRLEN);
38949@@ -566,7 +569,7 @@ int copy_strings_kernel(int argc, const 40943@@ -566,7 +569,7 @@ int copy_strings_kernel(int argc, const
38950 int r; 40944 int r;
38951 mm_segment_t oldfs = get_fs(); 40945 mm_segment_t oldfs = get_fs();
38952 struct user_arg_ptr argv = { 40946 struct user_arg_ptr argv = {
38953- .ptr.native = (const char __user *const __user *)__argv, 40947- .ptr.native = (const char __user *const __user *)__argv,
38954+ .ptr.native = (__force const char __user *const __user *)__argv, 40948+ .ptr.native = (const char __force_user *const __force_user *)__argv,
38955 }; 40949 };
38956 40950
38957 set_fs(KERNEL_DS); 40951 set_fs(KERNEL_DS);
@@ -39044,7 +41038,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39044 set_fs(get_ds()); 41038 set_fs(get_ds());
39045 /* The cast to a user pointer is valid due to the set_fs() */ 41039 /* The cast to a user pointer is valid due to the set_fs() */
39046- result = vfs_read(file, (void __user *)addr, count, &pos); 41040- result = vfs_read(file, (void __user *)addr, count, &pos);
39047+ result = vfs_read(file, (__force void __user *)addr, count, &pos); 41041+ result = vfs_read(file, (void __force_user *)addr, count, &pos);
39048 set_fs(old_fs); 41042 set_fs(old_fs);
39049 return result; 41043 return result;
39050 } 41044 }
@@ -39057,7 +41051,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39057 bprm->unsafe |= LSM_UNSAFE_SHARE; 41051 bprm->unsafe |= LSM_UNSAFE_SHARE;
39058 } else { 41052 } else {
39059 res = -EAGAIN; 41053 res = -EAGAIN;
39060@@ -1428,11 +1445,35 @@ static int do_execve_common(const char * 41054@@ -1430,11 +1447,35 @@ static int do_execve_common(const char *
39061 struct user_arg_ptr envp, 41055 struct user_arg_ptr envp,
39062 struct pt_regs *regs) 41056 struct pt_regs *regs)
39063 { 41057 {
@@ -39093,7 +41087,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39093 41087
39094 retval = unshare_files(&displaced); 41088 retval = unshare_files(&displaced);
39095 if (retval) 41089 if (retval)
39096@@ -1464,6 +1505,16 @@ static int do_execve_common(const char * 41090@@ -1466,6 +1507,16 @@ static int do_execve_common(const char *
39097 bprm->filename = filename; 41091 bprm->filename = filename;
39098 bprm->interp = filename; 41092 bprm->interp = filename;
39099 41093
@@ -39110,7 +41104,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39110 retval = bprm_mm_init(bprm); 41104 retval = bprm_mm_init(bprm);
39111 if (retval) 41105 if (retval)
39112 goto out_file; 41106 goto out_file;
39113@@ -1493,9 +1544,40 @@ static int do_execve_common(const char * 41107@@ -1495,9 +1546,40 @@ static int do_execve_common(const char *
39114 if (retval < 0) 41108 if (retval < 0)
39115 goto out; 41109 goto out;
39116 41110
@@ -39152,7 +41146,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39152 41146
39153 /* execve succeeded */ 41147 /* execve succeeded */
39154 current->fs->in_exec = 0; 41148 current->fs->in_exec = 0;
39155@@ -1506,6 +1588,14 @@ static int do_execve_common(const char * 41149@@ -1508,6 +1590,14 @@ static int do_execve_common(const char *
39156 put_files_struct(displaced); 41150 put_files_struct(displaced);
39157 return retval; 41151 return retval;
39158 41152
@@ -39167,7 +41161,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39167 out: 41161 out:
39168 if (bprm->mm) { 41162 if (bprm->mm) {
39169 acct_arg_size(bprm, 0); 41163 acct_arg_size(bprm, 0);
39170@@ -1579,7 +1669,7 @@ static int expand_corename(struct core_n 41164@@ -1581,7 +1671,7 @@ static int expand_corename(struct core_n
39171 { 41165 {
39172 char *old_corename = cn->corename; 41166 char *old_corename = cn->corename;
39173 41167
@@ -39176,7 +41170,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39176 cn->corename = krealloc(old_corename, cn->size, GFP_KERNEL); 41170 cn->corename = krealloc(old_corename, cn->size, GFP_KERNEL);
39177 41171
39178 if (!cn->corename) { 41172 if (!cn->corename) {
39179@@ -1667,7 +1757,7 @@ static int format_corename(struct core_n 41173@@ -1669,7 +1759,7 @@ static int format_corename(struct core_n
39180 int pid_in_pattern = 0; 41174 int pid_in_pattern = 0;
39181 int err = 0; 41175 int err = 0;
39182 41176
@@ -39185,7 +41179,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39185 cn->corename = kmalloc(cn->size, GFP_KERNEL); 41179 cn->corename = kmalloc(cn->size, GFP_KERNEL);
39186 cn->used = 0; 41180 cn->used = 0;
39187 41181
39188@@ -1758,6 +1848,219 @@ out: 41182@@ -1760,6 +1850,219 @@ out:
39189 return ispipe; 41183 return ispipe;
39190 } 41184 }
39191 41185
@@ -39405,7 +41399,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39405 static int zap_process(struct task_struct *start, int exit_code) 41399 static int zap_process(struct task_struct *start, int exit_code)
39406 { 41400 {
39407 struct task_struct *t; 41401 struct task_struct *t;
39408@@ -1969,17 +2272,17 @@ static void wait_for_dump_helpers(struct 41402@@ -1971,17 +2274,17 @@ static void wait_for_dump_helpers(struct
39409 pipe = file->f_path.dentry->d_inode->i_pipe; 41403 pipe = file->f_path.dentry->d_inode->i_pipe;
39410 41404
39411 pipe_lock(pipe); 41405 pipe_lock(pipe);
@@ -39428,7 +41422,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39428 pipe_unlock(pipe); 41422 pipe_unlock(pipe);
39429 41423
39430 } 41424 }
39431@@ -2040,7 +2343,7 @@ void do_coredump(long signr, int exit_co 41425@@ -2042,7 +2345,7 @@ void do_coredump(long signr, int exit_co
39432 int retval = 0; 41426 int retval = 0;
39433 int flag = 0; 41427 int flag = 0;
39434 int ispipe; 41428 int ispipe;
@@ -39437,7 +41431,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39437 struct coredump_params cprm = { 41431 struct coredump_params cprm = {
39438 .signr = signr, 41432 .signr = signr,
39439 .regs = regs, 41433 .regs = regs,
39440@@ -2055,6 +2358,9 @@ void do_coredump(long signr, int exit_co 41434@@ -2057,6 +2360,9 @@ void do_coredump(long signr, int exit_co
39441 41435
39442 audit_core_dumps(signr); 41436 audit_core_dumps(signr);
39443 41437
@@ -39447,7 +41441,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39447 binfmt = mm->binfmt; 41441 binfmt = mm->binfmt;
39448 if (!binfmt || !binfmt->core_dump) 41442 if (!binfmt || !binfmt->core_dump)
39449 goto fail; 41443 goto fail;
39450@@ -2095,6 +2401,8 @@ void do_coredump(long signr, int exit_co 41444@@ -2097,6 +2403,8 @@ void do_coredump(long signr, int exit_co
39451 goto fail_corename; 41445 goto fail_corename;
39452 } 41446 }
39453 41447
@@ -39456,7 +41450,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39456 if (ispipe) { 41450 if (ispipe) {
39457 int dump_count; 41451 int dump_count;
39458 char **helper_argv; 41452 char **helper_argv;
39459@@ -2122,7 +2430,7 @@ void do_coredump(long signr, int exit_co 41453@@ -2124,7 +2432,7 @@ void do_coredump(long signr, int exit_co
39460 } 41454 }
39461 cprm.limit = RLIM_INFINITY; 41455 cprm.limit = RLIM_INFINITY;
39462 41456
@@ -39465,7 +41459,7 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39465 if (core_pipe_limit && (core_pipe_limit < dump_count)) { 41459 if (core_pipe_limit && (core_pipe_limit < dump_count)) {
39466 printk(KERN_WARNING "Pid %d(%s) over core_pipe_limit\n", 41460 printk(KERN_WARNING "Pid %d(%s) over core_pipe_limit\n",
39467 task_tgid_vnr(current), current->comm); 41461 task_tgid_vnr(current), current->comm);
39468@@ -2192,7 +2500,7 @@ close_fail: 41462@@ -2194,7 +2502,7 @@ close_fail:
39469 filp_close(cprm.file, NULL); 41463 filp_close(cprm.file, NULL);
39470 fail_dropcount: 41464 fail_dropcount:
39471 if (ispipe) 41465 if (ispipe)
@@ -39474,9 +41468,18 @@ diff -urNp linux-3.0.4/fs/exec.c linux-3.0.4/fs/exec.c
39474 fail_unlock: 41468 fail_unlock:
39475 kfree(cn.corename); 41469 kfree(cn.corename);
39476 fail_corename: 41470 fail_corename:
39477diff -urNp linux-3.0.4/fs/ext2/balloc.c linux-3.0.4/fs/ext2/balloc.c 41471@@ -2213,7 +2521,7 @@ fail:
39478--- linux-3.0.4/fs/ext2/balloc.c 2011-07-21 22:17:23.000000000 -0400 41472 */
39479+++ linux-3.0.4/fs/ext2/balloc.c 2011-08-23 21:48:14.000000000 -0400 41473 int dump_write(struct file *file, const void *addr, int nr)
41474 {
41475- return access_ok(VERIFY_READ, addr, nr) && file->f_op->write(file, addr, nr, &file->f_pos) == nr;
41476+ return access_ok(VERIFY_READ, addr, nr) && file->f_op->write(file, (const char __force_user *)addr, nr, &file->f_pos) == nr;
41477 }
41478 EXPORT_SYMBOL(dump_write);
41479
41480diff -urNp linux-3.0.7/fs/ext2/balloc.c linux-3.0.7/fs/ext2/balloc.c
41481--- linux-3.0.7/fs/ext2/balloc.c 2011-07-21 22:17:23.000000000 -0400
41482+++ linux-3.0.7/fs/ext2/balloc.c 2011-08-23 21:48:14.000000000 -0400
39480@@ -1192,7 +1192,7 @@ static int ext2_has_free_blocks(struct e 41483@@ -1192,7 +1192,7 @@ static int ext2_has_free_blocks(struct e
39481 41484
39482 free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter); 41485 free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter);
@@ -39486,9 +41489,9 @@ diff -urNp linux-3.0.4/fs/ext2/balloc.c linux-3.0.4/fs/ext2/balloc.c
39486 sbi->s_resuid != current_fsuid() && 41489 sbi->s_resuid != current_fsuid() &&
39487 (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid))) { 41490 (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid))) {
39488 return 0; 41491 return 0;
39489diff -urNp linux-3.0.4/fs/ext3/balloc.c linux-3.0.4/fs/ext3/balloc.c 41492diff -urNp linux-3.0.7/fs/ext3/balloc.c linux-3.0.7/fs/ext3/balloc.c
39490--- linux-3.0.4/fs/ext3/balloc.c 2011-07-21 22:17:23.000000000 -0400 41493--- linux-3.0.7/fs/ext3/balloc.c 2011-07-21 22:17:23.000000000 -0400
39491+++ linux-3.0.4/fs/ext3/balloc.c 2011-08-23 21:48:14.000000000 -0400 41494+++ linux-3.0.7/fs/ext3/balloc.c 2011-08-23 21:48:14.000000000 -0400
39492@@ -1441,7 +1441,7 @@ static int ext3_has_free_blocks(struct e 41495@@ -1441,7 +1441,7 @@ static int ext3_has_free_blocks(struct e
39493 41496
39494 free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter); 41497 free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter);
@@ -39498,9 +41501,30 @@ diff -urNp linux-3.0.4/fs/ext3/balloc.c linux-3.0.4/fs/ext3/balloc.c
39498 sbi->s_resuid != current_fsuid() && 41501 sbi->s_resuid != current_fsuid() &&
39499 (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid))) { 41502 (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid))) {
39500 return 0; 41503 return 0;
39501diff -urNp linux-3.0.4/fs/ext4/balloc.c linux-3.0.4/fs/ext4/balloc.c 41504diff -urNp linux-3.0.7/fs/ext3/ioctl.c linux-3.0.7/fs/ext3/ioctl.c
39502--- linux-3.0.4/fs/ext4/balloc.c 2011-07-21 22:17:23.000000000 -0400 41505--- linux-3.0.7/fs/ext3/ioctl.c 2011-07-21 22:17:23.000000000 -0400
39503+++ linux-3.0.4/fs/ext4/balloc.c 2011-08-23 21:48:14.000000000 -0400 41506+++ linux-3.0.7/fs/ext3/ioctl.c 2011-10-06 04:17:55.000000000 -0400
41507@@ -285,7 +285,7 @@ group_add_out:
41508 if (!capable(CAP_SYS_ADMIN))
41509 return -EPERM;
41510
41511- if (copy_from_user(&range, (struct fstrim_range *)arg,
41512+ if (copy_from_user(&range, (struct fstrim_range __user *)arg,
41513 sizeof(range)))
41514 return -EFAULT;
41515
41516@@ -293,7 +293,7 @@ group_add_out:
41517 if (ret < 0)
41518 return ret;
41519
41520- if (copy_to_user((struct fstrim_range *)arg, &range,
41521+ if (copy_to_user((struct fstrim_range __user *)arg, &range,
41522 sizeof(range)))
41523 return -EFAULT;
41524
41525diff -urNp linux-3.0.7/fs/ext4/balloc.c linux-3.0.7/fs/ext4/balloc.c
41526--- linux-3.0.7/fs/ext4/balloc.c 2011-07-21 22:17:23.000000000 -0400
41527+++ linux-3.0.7/fs/ext4/balloc.c 2011-08-23 21:48:14.000000000 -0400
39504@@ -394,8 +394,8 @@ static int ext4_has_free_blocks(struct e 41528@@ -394,8 +394,8 @@ static int ext4_has_free_blocks(struct e
39505 /* Hm, nope. Are (enough) root reserved blocks available? */ 41529 /* Hm, nope. Are (enough) root reserved blocks available? */
39506 if (sbi->s_resuid == current_fsuid() || 41530 if (sbi->s_resuid == current_fsuid() ||
@@ -39512,9 +41536,9 @@ diff -urNp linux-3.0.4/fs/ext4/balloc.c linux-3.0.4/fs/ext4/balloc.c
39512 41536
39513 if (free_blocks >= (nblocks + dirty_blocks)) 41537 if (free_blocks >= (nblocks + dirty_blocks))
39514 return 1; 41538 return 1;
39515diff -urNp linux-3.0.4/fs/ext4/ext4.h linux-3.0.4/fs/ext4/ext4.h 41539diff -urNp linux-3.0.7/fs/ext4/ext4.h linux-3.0.7/fs/ext4/ext4.h
39516--- linux-3.0.4/fs/ext4/ext4.h 2011-09-02 18:11:21.000000000 -0400 41540--- linux-3.0.7/fs/ext4/ext4.h 2011-09-02 18:11:21.000000000 -0400
39517+++ linux-3.0.4/fs/ext4/ext4.h 2011-08-23 21:47:56.000000000 -0400 41541+++ linux-3.0.7/fs/ext4/ext4.h 2011-08-23 21:47:56.000000000 -0400
39518@@ -1177,19 +1177,19 @@ struct ext4_sb_info { 41542@@ -1177,19 +1177,19 @@ struct ext4_sb_info {
39519 unsigned long s_mb_last_start; 41543 unsigned long s_mb_last_start;
39520 41544
@@ -39545,9 +41569,44 @@ diff -urNp linux-3.0.4/fs/ext4/ext4.h linux-3.0.4/fs/ext4/ext4.h
39545 atomic_t s_lock_busy; 41569 atomic_t s_lock_busy;
39546 41570
39547 /* locality groups */ 41571 /* locality groups */
39548diff -urNp linux-3.0.4/fs/ext4/mballoc.c linux-3.0.4/fs/ext4/mballoc.c 41572diff -urNp linux-3.0.7/fs/ext4/file.c linux-3.0.7/fs/ext4/file.c
39549--- linux-3.0.4/fs/ext4/mballoc.c 2011-09-02 18:11:21.000000000 -0400 41573--- linux-3.0.7/fs/ext4/file.c 2011-07-21 22:17:23.000000000 -0400
39550+++ linux-3.0.4/fs/ext4/mballoc.c 2011-08-23 21:48:14.000000000 -0400 41574+++ linux-3.0.7/fs/ext4/file.c 2011-10-17 02:30:30.000000000 -0400
41575@@ -181,8 +181,8 @@ static int ext4_file_open(struct inode *
41576 path.dentry = mnt->mnt_root;
41577 cp = d_path(&path, buf, sizeof(buf));
41578 if (!IS_ERR(cp)) {
41579- memcpy(sbi->s_es->s_last_mounted, cp,
41580- sizeof(sbi->s_es->s_last_mounted));
41581+ strlcpy(sbi->s_es->s_last_mounted, cp,
41582+ sizeof(sbi->s_es->s_last_mounted));
41583 ext4_mark_super_dirty(sb);
41584 }
41585 }
41586diff -urNp linux-3.0.7/fs/ext4/ioctl.c linux-3.0.7/fs/ext4/ioctl.c
41587--- linux-3.0.7/fs/ext4/ioctl.c 2011-07-21 22:17:23.000000000 -0400
41588+++ linux-3.0.7/fs/ext4/ioctl.c 2011-10-06 04:17:55.000000000 -0400
41589@@ -344,7 +344,7 @@ mext_out:
41590 if (!blk_queue_discard(q))
41591 return -EOPNOTSUPP;
41592
41593- if (copy_from_user(&range, (struct fstrim_range *)arg,
41594+ if (copy_from_user(&range, (struct fstrim_range __user *)arg,
41595 sizeof(range)))
41596 return -EFAULT;
41597
41598@@ -354,7 +354,7 @@ mext_out:
41599 if (ret < 0)
41600 return ret;
41601
41602- if (copy_to_user((struct fstrim_range *)arg, &range,
41603+ if (copy_to_user((struct fstrim_range __user *)arg, &range,
41604 sizeof(range)))
41605 return -EFAULT;
41606
41607diff -urNp linux-3.0.7/fs/ext4/mballoc.c linux-3.0.7/fs/ext4/mballoc.c
41608--- linux-3.0.7/fs/ext4/mballoc.c 2011-09-02 18:11:21.000000000 -0400
41609+++ linux-3.0.7/fs/ext4/mballoc.c 2011-08-23 21:48:14.000000000 -0400
39551@@ -1793,7 +1793,7 @@ void ext4_mb_simple_scan_group(struct ex 41610@@ -1793,7 +1793,7 @@ void ext4_mb_simple_scan_group(struct ex
39552 BUG_ON(ac->ac_b_ex.fe_len != ac->ac_g_ex.fe_len); 41611 BUG_ON(ac->ac_b_ex.fe_len != ac->ac_g_ex.fe_len);
39553 41612
@@ -39670,9 +41729,9 @@ diff -urNp linux-3.0.4/fs/ext4/mballoc.c linux-3.0.4/fs/ext4/mballoc.c
39670 trace_ext4_mballoc_discard(sb, NULL, group, bit, pa->pa_len); 41729 trace_ext4_mballoc_discard(sb, NULL, group, bit, pa->pa_len);
39671 41730
39672 return 0; 41731 return 0;
39673diff -urNp linux-3.0.4/fs/fcntl.c linux-3.0.4/fs/fcntl.c 41732diff -urNp linux-3.0.7/fs/fcntl.c linux-3.0.7/fs/fcntl.c
39674--- linux-3.0.4/fs/fcntl.c 2011-07-21 22:17:23.000000000 -0400 41733--- linux-3.0.7/fs/fcntl.c 2011-07-21 22:17:23.000000000 -0400
39675+++ linux-3.0.4/fs/fcntl.c 2011-08-23 21:48:14.000000000 -0400 41734+++ linux-3.0.7/fs/fcntl.c 2011-10-06 04:17:55.000000000 -0400
39676@@ -224,6 +224,11 @@ int __f_setown(struct file *filp, struct 41735@@ -224,6 +224,11 @@ int __f_setown(struct file *filp, struct
39677 if (err) 41736 if (err)
39678 return err; 41737 return err;
@@ -39685,6 +41744,24 @@ diff -urNp linux-3.0.4/fs/fcntl.c linux-3.0.4/fs/fcntl.c
39685 f_modown(filp, pid, type, force); 41744 f_modown(filp, pid, type, force);
39686 return 0; 41745 return 0;
39687 } 41746 }
41747@@ -266,7 +271,7 @@ pid_t f_getown(struct file *filp)
41748
41749 static int f_setown_ex(struct file *filp, unsigned long arg)
41750 {
41751- struct f_owner_ex * __user owner_p = (void * __user)arg;
41752+ struct f_owner_ex __user *owner_p = (void __user *)arg;
41753 struct f_owner_ex owner;
41754 struct pid *pid;
41755 int type;
41756@@ -306,7 +311,7 @@ static int f_setown_ex(struct file *filp
41757
41758 static int f_getown_ex(struct file *filp, unsigned long arg)
41759 {
41760- struct f_owner_ex * __user owner_p = (void * __user)arg;
41761+ struct f_owner_ex __user *owner_p = (void __user *)arg;
41762 struct f_owner_ex owner;
41763 int ret = 0;
41764
39688@@ -348,6 +353,7 @@ static long do_fcntl(int fd, unsigned in 41765@@ -348,6 +353,7 @@ static long do_fcntl(int fd, unsigned in
39689 switch (cmd) { 41766 switch (cmd) {
39690 case F_DUPFD: 41767 case F_DUPFD:
@@ -39710,9 +41787,9 @@ diff -urNp linux-3.0.4/fs/fcntl.c linux-3.0.4/fs/fcntl.c
39710 )); 41787 ));
39711 41788
39712 fasync_cache = kmem_cache_create("fasync_cache", 41789 fasync_cache = kmem_cache_create("fasync_cache",
39713diff -urNp linux-3.0.4/fs/fifo.c linux-3.0.4/fs/fifo.c 41790diff -urNp linux-3.0.7/fs/fifo.c linux-3.0.7/fs/fifo.c
39714--- linux-3.0.4/fs/fifo.c 2011-07-21 22:17:23.000000000 -0400 41791--- linux-3.0.7/fs/fifo.c 2011-07-21 22:17:23.000000000 -0400
39715+++ linux-3.0.4/fs/fifo.c 2011-08-23 21:47:56.000000000 -0400 41792+++ linux-3.0.7/fs/fifo.c 2011-08-23 21:47:56.000000000 -0400
39716@@ -58,10 +58,10 @@ static int fifo_open(struct inode *inode 41793@@ -58,10 +58,10 @@ static int fifo_open(struct inode *inode
39717 */ 41794 */
39718 filp->f_op = &read_pipefifo_fops; 41795 filp->f_op = &read_pipefifo_fops;
@@ -39783,9 +41860,9 @@ diff -urNp linux-3.0.4/fs/fifo.c linux-3.0.4/fs/fifo.c
39783 free_pipe_info(inode); 41860 free_pipe_info(inode);
39784 41861
39785 err_nocleanup: 41862 err_nocleanup:
39786diff -urNp linux-3.0.4/fs/file.c linux-3.0.4/fs/file.c 41863diff -urNp linux-3.0.7/fs/file.c linux-3.0.7/fs/file.c
39787--- linux-3.0.4/fs/file.c 2011-07-21 22:17:23.000000000 -0400 41864--- linux-3.0.7/fs/file.c 2011-07-21 22:17:23.000000000 -0400
39788+++ linux-3.0.4/fs/file.c 2011-08-23 21:48:14.000000000 -0400 41865+++ linux-3.0.7/fs/file.c 2011-08-23 21:48:14.000000000 -0400
39789@@ -15,6 +15,7 @@ 41866@@ -15,6 +15,7 @@
39790 #include <linux/slab.h> 41867 #include <linux/slab.h>
39791 #include <linux/vmalloc.h> 41868 #include <linux/vmalloc.h>
@@ -39802,9 +41879,9 @@ diff -urNp linux-3.0.4/fs/file.c linux-3.0.4/fs/file.c
39802 if (nr >= rlimit(RLIMIT_NOFILE)) 41879 if (nr >= rlimit(RLIMIT_NOFILE))
39803 return -EMFILE; 41880 return -EMFILE;
39804 41881
39805diff -urNp linux-3.0.4/fs/filesystems.c linux-3.0.4/fs/filesystems.c 41882diff -urNp linux-3.0.7/fs/filesystems.c linux-3.0.7/fs/filesystems.c
39806--- linux-3.0.4/fs/filesystems.c 2011-07-21 22:17:23.000000000 -0400 41883--- linux-3.0.7/fs/filesystems.c 2011-07-21 22:17:23.000000000 -0400
39807+++ linux-3.0.4/fs/filesystems.c 2011-08-23 21:48:14.000000000 -0400 41884+++ linux-3.0.7/fs/filesystems.c 2011-08-23 21:48:14.000000000 -0400
39808@@ -274,7 +274,12 @@ struct file_system_type *get_fs_type(con 41885@@ -274,7 +274,12 @@ struct file_system_type *get_fs_type(con
39809 int len = dot ? dot - name : strlen(name); 41886 int len = dot ? dot - name : strlen(name);
39810 41887
@@ -39818,9 +41895,9 @@ diff -urNp linux-3.0.4/fs/filesystems.c linux-3.0.4/fs/filesystems.c
39818 fs = __get_fs_type(name, len); 41895 fs = __get_fs_type(name, len);
39819 41896
39820 if (dot && fs && !(fs->fs_flags & FS_HAS_SUBTYPE)) { 41897 if (dot && fs && !(fs->fs_flags & FS_HAS_SUBTYPE)) {
39821diff -urNp linux-3.0.4/fs/fscache/cookie.c linux-3.0.4/fs/fscache/cookie.c 41898diff -urNp linux-3.0.7/fs/fscache/cookie.c linux-3.0.7/fs/fscache/cookie.c
39822--- linux-3.0.4/fs/fscache/cookie.c 2011-07-21 22:17:23.000000000 -0400 41899--- linux-3.0.7/fs/fscache/cookie.c 2011-07-21 22:17:23.000000000 -0400
39823+++ linux-3.0.4/fs/fscache/cookie.c 2011-08-23 21:47:56.000000000 -0400 41900+++ linux-3.0.7/fs/fscache/cookie.c 2011-08-23 21:47:56.000000000 -0400
39824@@ -68,11 +68,11 @@ struct fscache_cookie *__fscache_acquire 41901@@ -68,11 +68,11 @@ struct fscache_cookie *__fscache_acquire
39825 parent ? (char *) parent->def->name : "<no-parent>", 41902 parent ? (char *) parent->def->name : "<no-parent>",
39826 def->name, netfs_data); 41903 def->name, netfs_data);
@@ -39939,9 +42016,9 @@ diff -urNp linux-3.0.4/fs/fscache/cookie.c linux-3.0.4/fs/fscache/cookie.c
39939 wait_on_bit(&cookie->flags, FSCACHE_COOKIE_CREATING, 42016 wait_on_bit(&cookie->flags, FSCACHE_COOKIE_CREATING,
39940 fscache_wait_bit, TASK_UNINTERRUPTIBLE); 42017 fscache_wait_bit, TASK_UNINTERRUPTIBLE);
39941 } 42018 }
39942diff -urNp linux-3.0.4/fs/fscache/internal.h linux-3.0.4/fs/fscache/internal.h 42019diff -urNp linux-3.0.7/fs/fscache/internal.h linux-3.0.7/fs/fscache/internal.h
39943--- linux-3.0.4/fs/fscache/internal.h 2011-07-21 22:17:23.000000000 -0400 42020--- linux-3.0.7/fs/fscache/internal.h 2011-07-21 22:17:23.000000000 -0400
39944+++ linux-3.0.4/fs/fscache/internal.h 2011-08-23 21:47:56.000000000 -0400 42021+++ linux-3.0.7/fs/fscache/internal.h 2011-08-23 21:47:56.000000000 -0400
39945@@ -144,94 +144,94 @@ extern void fscache_proc_cleanup(void); 42022@@ -144,94 +144,94 @@ extern void fscache_proc_cleanup(void);
39946 extern atomic_t fscache_n_ops_processed[FSCACHE_MAX_THREADS]; 42023 extern atomic_t fscache_n_ops_processed[FSCACHE_MAX_THREADS];
39947 extern atomic_t fscache_n_objs_processed[FSCACHE_MAX_THREADS]; 42024 extern atomic_t fscache_n_objs_processed[FSCACHE_MAX_THREADS];
@@ -40145,9 +42222,9 @@ diff -urNp linux-3.0.4/fs/fscache/internal.h linux-3.0.4/fs/fscache/internal.h
40145 #define fscache_stat_d(stat) do {} while (0) 42222 #define fscache_stat_d(stat) do {} while (0)
40146 #endif 42223 #endif
40147 42224
40148diff -urNp linux-3.0.4/fs/fscache/object.c linux-3.0.4/fs/fscache/object.c 42225diff -urNp linux-3.0.7/fs/fscache/object.c linux-3.0.7/fs/fscache/object.c
40149--- linux-3.0.4/fs/fscache/object.c 2011-07-21 22:17:23.000000000 -0400 42226--- linux-3.0.7/fs/fscache/object.c 2011-07-21 22:17:23.000000000 -0400
40150+++ linux-3.0.4/fs/fscache/object.c 2011-08-23 21:47:56.000000000 -0400 42227+++ linux-3.0.7/fs/fscache/object.c 2011-08-23 21:47:56.000000000 -0400
40151@@ -128,7 +128,7 @@ static void fscache_object_state_machine 42228@@ -128,7 +128,7 @@ static void fscache_object_state_machine
40152 /* update the object metadata on disk */ 42229 /* update the object metadata on disk */
40153 case FSCACHE_OBJECT_UPDATING: 42230 case FSCACHE_OBJECT_UPDATING:
@@ -40259,9 +42336,9 @@ diff -urNp linux-3.0.4/fs/fscache/object.c linux-3.0.4/fs/fscache/object.c
40259 break; 42336 break;
40260 42337
40261 default: 42338 default:
40262diff -urNp linux-3.0.4/fs/fscache/operation.c linux-3.0.4/fs/fscache/operation.c 42339diff -urNp linux-3.0.7/fs/fscache/operation.c linux-3.0.7/fs/fscache/operation.c
40263--- linux-3.0.4/fs/fscache/operation.c 2011-07-21 22:17:23.000000000 -0400 42340--- linux-3.0.7/fs/fscache/operation.c 2011-07-21 22:17:23.000000000 -0400
40264+++ linux-3.0.4/fs/fscache/operation.c 2011-08-23 21:47:56.000000000 -0400 42341+++ linux-3.0.7/fs/fscache/operation.c 2011-08-23 21:47:56.000000000 -0400
40265@@ -17,7 +17,7 @@ 42342@@ -17,7 +17,7 @@
40266 #include <linux/slab.h> 42343 #include <linux/slab.h>
40267 #include "internal.h" 42344 #include "internal.h"
@@ -40377,9 +42454,9 @@ diff -urNp linux-3.0.4/fs/fscache/operation.c linux-3.0.4/fs/fscache/operation.c
40377 42454
40378 ASSERTCMP(atomic_read(&op->usage), ==, 0); 42455 ASSERTCMP(atomic_read(&op->usage), ==, 0);
40379 42456
40380diff -urNp linux-3.0.4/fs/fscache/page.c linux-3.0.4/fs/fscache/page.c 42457diff -urNp linux-3.0.7/fs/fscache/page.c linux-3.0.7/fs/fscache/page.c
40381--- linux-3.0.4/fs/fscache/page.c 2011-07-21 22:17:23.000000000 -0400 42458--- linux-3.0.7/fs/fscache/page.c 2011-07-21 22:17:23.000000000 -0400
40382+++ linux-3.0.4/fs/fscache/page.c 2011-08-23 21:47:56.000000000 -0400 42459+++ linux-3.0.7/fs/fscache/page.c 2011-08-23 21:47:56.000000000 -0400
40383@@ -60,7 +60,7 @@ bool __fscache_maybe_release_page(struct 42460@@ -60,7 +60,7 @@ bool __fscache_maybe_release_page(struct
40384 val = radix_tree_lookup(&cookie->stores, page->index); 42461 val = radix_tree_lookup(&cookie->stores, page->index);
40385 if (!val) { 42462 if (!val) {
@@ -40763,9 +42840,9 @@ diff -urNp linux-3.0.4/fs/fscache/page.c linux-3.0.4/fs/fscache/page.c
40763 #endif 42840 #endif
40764 42841
40765 for (loop = 0; loop < pagevec->nr; loop++) { 42842 for (loop = 0; loop < pagevec->nr; loop++) {
40766diff -urNp linux-3.0.4/fs/fscache/stats.c linux-3.0.4/fs/fscache/stats.c 42843diff -urNp linux-3.0.7/fs/fscache/stats.c linux-3.0.7/fs/fscache/stats.c
40767--- linux-3.0.4/fs/fscache/stats.c 2011-07-21 22:17:23.000000000 -0400 42844--- linux-3.0.7/fs/fscache/stats.c 2011-07-21 22:17:23.000000000 -0400
40768+++ linux-3.0.4/fs/fscache/stats.c 2011-08-23 21:47:56.000000000 -0400 42845+++ linux-3.0.7/fs/fscache/stats.c 2011-08-23 21:47:56.000000000 -0400
40769@@ -18,95 +18,95 @@ 42846@@ -18,95 +18,95 @@
40770 /* 42847 /*
40771 * operation counters 42848 * operation counters
@@ -41141,9 +43218,9 @@ diff -urNp linux-3.0.4/fs/fscache/stats.c linux-3.0.4/fs/fscache/stats.c
41141 43218
41142 seq_printf(m, "CacheOp: alo=%d luo=%d luc=%d gro=%d\n", 43219 seq_printf(m, "CacheOp: alo=%d luo=%d luc=%d gro=%d\n",
41143 atomic_read(&fscache_n_cop_alloc_object), 43220 atomic_read(&fscache_n_cop_alloc_object),
41144diff -urNp linux-3.0.4/fs/fs_struct.c linux-3.0.4/fs/fs_struct.c 43221diff -urNp linux-3.0.7/fs/fs_struct.c linux-3.0.7/fs/fs_struct.c
41145--- linux-3.0.4/fs/fs_struct.c 2011-07-21 22:17:23.000000000 -0400 43222--- linux-3.0.7/fs/fs_struct.c 2011-07-21 22:17:23.000000000 -0400
41146+++ linux-3.0.4/fs/fs_struct.c 2011-08-23 21:48:14.000000000 -0400 43223+++ linux-3.0.7/fs/fs_struct.c 2011-08-23 21:48:14.000000000 -0400
41147@@ -4,6 +4,7 @@ 43224@@ -4,6 +4,7 @@
41148 #include <linux/path.h> 43225 #include <linux/path.h>
41149 #include <linux/slab.h> 43226 #include <linux/slab.h>
@@ -41233,9 +43310,9 @@ diff -urNp linux-3.0.4/fs/fs_struct.c linux-3.0.4/fs/fs_struct.c
41233 spin_unlock(&fs->lock); 43310 spin_unlock(&fs->lock);
41234 43311
41235 task_unlock(current); 43312 task_unlock(current);
41236diff -urNp linux-3.0.4/fs/fuse/cuse.c linux-3.0.4/fs/fuse/cuse.c 43313diff -urNp linux-3.0.7/fs/fuse/cuse.c linux-3.0.7/fs/fuse/cuse.c
41237--- linux-3.0.4/fs/fuse/cuse.c 2011-07-21 22:17:23.000000000 -0400 43314--- linux-3.0.7/fs/fuse/cuse.c 2011-07-21 22:17:23.000000000 -0400
41238+++ linux-3.0.4/fs/fuse/cuse.c 2011-08-23 21:47:56.000000000 -0400 43315+++ linux-3.0.7/fs/fuse/cuse.c 2011-08-23 21:47:56.000000000 -0400
41239@@ -586,10 +586,12 @@ static int __init cuse_init(void) 43316@@ -586,10 +586,12 @@ static int __init cuse_init(void)
41240 INIT_LIST_HEAD(&cuse_conntbl[i]); 43317 INIT_LIST_HEAD(&cuse_conntbl[i]);
41241 43318
@@ -41253,9 +43330,9 @@ diff -urNp linux-3.0.4/fs/fuse/cuse.c linux-3.0.4/fs/fuse/cuse.c
41253 43330
41254 cuse_class = class_create(THIS_MODULE, "cuse"); 43331 cuse_class = class_create(THIS_MODULE, "cuse");
41255 if (IS_ERR(cuse_class)) 43332 if (IS_ERR(cuse_class))
41256diff -urNp linux-3.0.4/fs/fuse/dev.c linux-3.0.4/fs/fuse/dev.c 43333diff -urNp linux-3.0.7/fs/fuse/dev.c linux-3.0.7/fs/fuse/dev.c
41257--- linux-3.0.4/fs/fuse/dev.c 2011-09-02 18:11:26.000000000 -0400 43334--- linux-3.0.7/fs/fuse/dev.c 2011-09-02 18:11:26.000000000 -0400
41258+++ linux-3.0.4/fs/fuse/dev.c 2011-08-29 23:26:27.000000000 -0400 43335+++ linux-3.0.7/fs/fuse/dev.c 2011-08-29 23:26:27.000000000 -0400
41259@@ -1238,7 +1238,7 @@ static ssize_t fuse_dev_splice_read(stru 43336@@ -1238,7 +1238,7 @@ static ssize_t fuse_dev_splice_read(stru
41260 ret = 0; 43337 ret = 0;
41261 pipe_lock(pipe); 43338 pipe_lock(pipe);
@@ -41265,9 +43342,9 @@ diff -urNp linux-3.0.4/fs/fuse/dev.c linux-3.0.4/fs/fuse/dev.c
41265 send_sig(SIGPIPE, current, 0); 43342 send_sig(SIGPIPE, current, 0);
41266 if (!ret) 43343 if (!ret)
41267 ret = -EPIPE; 43344 ret = -EPIPE;
41268diff -urNp linux-3.0.4/fs/fuse/dir.c linux-3.0.4/fs/fuse/dir.c 43345diff -urNp linux-3.0.7/fs/fuse/dir.c linux-3.0.7/fs/fuse/dir.c
41269--- linux-3.0.4/fs/fuse/dir.c 2011-07-21 22:17:23.000000000 -0400 43346--- linux-3.0.7/fs/fuse/dir.c 2011-07-21 22:17:23.000000000 -0400
41270+++ linux-3.0.4/fs/fuse/dir.c 2011-08-23 21:47:56.000000000 -0400 43347+++ linux-3.0.7/fs/fuse/dir.c 2011-08-23 21:47:56.000000000 -0400
41271@@ -1148,7 +1148,7 @@ static char *read_link(struct dentry *de 43348@@ -1148,7 +1148,7 @@ static char *read_link(struct dentry *de
41272 return link; 43349 return link;
41273 } 43350 }
@@ -41277,9 +43354,9 @@ diff -urNp linux-3.0.4/fs/fuse/dir.c linux-3.0.4/fs/fuse/dir.c
41277 { 43354 {
41278 if (!IS_ERR(link)) 43355 if (!IS_ERR(link))
41279 free_page((unsigned long) link); 43356 free_page((unsigned long) link);
41280diff -urNp linux-3.0.4/fs/gfs2/inode.c linux-3.0.4/fs/gfs2/inode.c 43357diff -urNp linux-3.0.7/fs/gfs2/inode.c linux-3.0.7/fs/gfs2/inode.c
41281--- linux-3.0.4/fs/gfs2/inode.c 2011-07-21 22:17:23.000000000 -0400 43358--- linux-3.0.7/fs/gfs2/inode.c 2011-07-21 22:17:23.000000000 -0400
41282+++ linux-3.0.4/fs/gfs2/inode.c 2011-08-23 21:47:56.000000000 -0400 43359+++ linux-3.0.7/fs/gfs2/inode.c 2011-08-23 21:47:56.000000000 -0400
41283@@ -1525,7 +1525,7 @@ out: 43360@@ -1525,7 +1525,7 @@ out:
41284 43361
41285 static void gfs2_put_link(struct dentry *dentry, struct nameidata *nd, void *p) 43362 static void gfs2_put_link(struct dentry *dentry, struct nameidata *nd, void *p)
@@ -41289,9 +43366,9 @@ diff -urNp linux-3.0.4/fs/gfs2/inode.c linux-3.0.4/fs/gfs2/inode.c
41289 if (!IS_ERR(s)) 43366 if (!IS_ERR(s))
41290 kfree(s); 43367 kfree(s);
41291 } 43368 }
41292diff -urNp linux-3.0.4/fs/hfsplus/catalog.c linux-3.0.4/fs/hfsplus/catalog.c 43369diff -urNp linux-3.0.7/fs/hfsplus/catalog.c linux-3.0.7/fs/hfsplus/catalog.c
41293--- linux-3.0.4/fs/hfsplus/catalog.c 2011-07-21 22:17:23.000000000 -0400 43370--- linux-3.0.7/fs/hfsplus/catalog.c 2011-07-21 22:17:23.000000000 -0400
41294+++ linux-3.0.4/fs/hfsplus/catalog.c 2011-08-23 21:48:14.000000000 -0400 43371+++ linux-3.0.7/fs/hfsplus/catalog.c 2011-08-23 21:48:14.000000000 -0400
41295@@ -179,6 +179,8 @@ int hfsplus_find_cat(struct super_block 43372@@ -179,6 +179,8 @@ int hfsplus_find_cat(struct super_block
41296 int err; 43373 int err;
41297 u16 type; 43374 u16 type;
@@ -41319,9 +43396,9 @@ diff -urNp linux-3.0.4/fs/hfsplus/catalog.c linux-3.0.4/fs/hfsplus/catalog.c
41319 dprint(DBG_CAT_MOD, "rename_cat: %u - %lu,%s - %lu,%s\n", 43396 dprint(DBG_CAT_MOD, "rename_cat: %u - %lu,%s - %lu,%s\n",
41320 cnid, src_dir->i_ino, src_name->name, 43397 cnid, src_dir->i_ino, src_name->name,
41321 dst_dir->i_ino, dst_name->name); 43398 dst_dir->i_ino, dst_name->name);
41322diff -urNp linux-3.0.4/fs/hfsplus/dir.c linux-3.0.4/fs/hfsplus/dir.c 43399diff -urNp linux-3.0.7/fs/hfsplus/dir.c linux-3.0.7/fs/hfsplus/dir.c
41323--- linux-3.0.4/fs/hfsplus/dir.c 2011-07-21 22:17:23.000000000 -0400 43400--- linux-3.0.7/fs/hfsplus/dir.c 2011-07-21 22:17:23.000000000 -0400
41324+++ linux-3.0.4/fs/hfsplus/dir.c 2011-08-23 21:48:14.000000000 -0400 43401+++ linux-3.0.7/fs/hfsplus/dir.c 2011-08-23 21:48:14.000000000 -0400
41325@@ -129,6 +129,8 @@ static int hfsplus_readdir(struct file * 43402@@ -129,6 +129,8 @@ static int hfsplus_readdir(struct file *
41326 struct hfsplus_readdir_data *rd; 43403 struct hfsplus_readdir_data *rd;
41327 u16 type; 43404 u16 type;
@@ -41331,9 +43408,9 @@ diff -urNp linux-3.0.4/fs/hfsplus/dir.c linux-3.0.4/fs/hfsplus/dir.c
41331 if (filp->f_pos >= inode->i_size) 43408 if (filp->f_pos >= inode->i_size)
41332 return 0; 43409 return 0;
41333 43410
41334diff -urNp linux-3.0.4/fs/hfsplus/inode.c linux-3.0.4/fs/hfsplus/inode.c 43411diff -urNp linux-3.0.7/fs/hfsplus/inode.c linux-3.0.7/fs/hfsplus/inode.c
41335--- linux-3.0.4/fs/hfsplus/inode.c 2011-07-21 22:17:23.000000000 -0400 43412--- linux-3.0.7/fs/hfsplus/inode.c 2011-07-21 22:17:23.000000000 -0400
41336+++ linux-3.0.4/fs/hfsplus/inode.c 2011-08-23 21:48:14.000000000 -0400 43413+++ linux-3.0.7/fs/hfsplus/inode.c 2011-08-23 21:48:14.000000000 -0400
41337@@ -489,6 +489,8 @@ int hfsplus_cat_read_inode(struct inode 43414@@ -489,6 +489,8 @@ int hfsplus_cat_read_inode(struct inode
41338 int res = 0; 43415 int res = 0;
41339 u16 type; 43416 u16 type;
@@ -41352,9 +43429,9 @@ diff -urNp linux-3.0.4/fs/hfsplus/inode.c linux-3.0.4/fs/hfsplus/inode.c
41352 if (HFSPLUS_IS_RSRC(inode)) 43429 if (HFSPLUS_IS_RSRC(inode))
41353 main_inode = HFSPLUS_I(inode)->rsrc_inode; 43430 main_inode = HFSPLUS_I(inode)->rsrc_inode;
41354 43431
41355diff -urNp linux-3.0.4/fs/hfsplus/ioctl.c linux-3.0.4/fs/hfsplus/ioctl.c 43432diff -urNp linux-3.0.7/fs/hfsplus/ioctl.c linux-3.0.7/fs/hfsplus/ioctl.c
41356--- linux-3.0.4/fs/hfsplus/ioctl.c 2011-07-21 22:17:23.000000000 -0400 43433--- linux-3.0.7/fs/hfsplus/ioctl.c 2011-07-21 22:17:23.000000000 -0400
41357+++ linux-3.0.4/fs/hfsplus/ioctl.c 2011-08-23 21:48:14.000000000 -0400 43434+++ linux-3.0.7/fs/hfsplus/ioctl.c 2011-08-23 21:48:14.000000000 -0400
41358@@ -122,6 +122,8 @@ int hfsplus_setxattr(struct dentry *dent 43435@@ -122,6 +122,8 @@ int hfsplus_setxattr(struct dentry *dent
41359 struct hfsplus_cat_file *file; 43436 struct hfsplus_cat_file *file;
41360 int res; 43437 int res;
@@ -41373,9 +43450,9 @@ diff -urNp linux-3.0.4/fs/hfsplus/ioctl.c linux-3.0.4/fs/hfsplus/ioctl.c
41373 if (!S_ISREG(inode->i_mode) || HFSPLUS_IS_RSRC(inode)) 43450 if (!S_ISREG(inode->i_mode) || HFSPLUS_IS_RSRC(inode))
41374 return -EOPNOTSUPP; 43451 return -EOPNOTSUPP;
41375 43452
41376diff -urNp linux-3.0.4/fs/hfsplus/super.c linux-3.0.4/fs/hfsplus/super.c 43453diff -urNp linux-3.0.7/fs/hfsplus/super.c linux-3.0.7/fs/hfsplus/super.c
41377--- linux-3.0.4/fs/hfsplus/super.c 2011-07-21 22:17:23.000000000 -0400 43454--- linux-3.0.7/fs/hfsplus/super.c 2011-07-21 22:17:23.000000000 -0400
41378+++ linux-3.0.4/fs/hfsplus/super.c 2011-08-23 21:48:14.000000000 -0400 43455+++ linux-3.0.7/fs/hfsplus/super.c 2011-08-23 21:48:14.000000000 -0400
41379@@ -340,6 +340,8 @@ static int hfsplus_fill_super(struct sup 43456@@ -340,6 +340,8 @@ static int hfsplus_fill_super(struct sup
41380 struct nls_table *nls = NULL; 43457 struct nls_table *nls = NULL;
41381 int err; 43458 int err;
@@ -41385,9 +43462,9 @@ diff -urNp linux-3.0.4/fs/hfsplus/super.c linux-3.0.4/fs/hfsplus/super.c
41385 err = -EINVAL; 43462 err = -EINVAL;
41386 sbi = kzalloc(sizeof(*sbi), GFP_KERNEL); 43463 sbi = kzalloc(sizeof(*sbi), GFP_KERNEL);
41387 if (!sbi) 43464 if (!sbi)
41388diff -urNp linux-3.0.4/fs/hugetlbfs/inode.c linux-3.0.4/fs/hugetlbfs/inode.c 43465diff -urNp linux-3.0.7/fs/hugetlbfs/inode.c linux-3.0.7/fs/hugetlbfs/inode.c
41389--- linux-3.0.4/fs/hugetlbfs/inode.c 2011-07-21 22:17:23.000000000 -0400 43466--- linux-3.0.7/fs/hugetlbfs/inode.c 2011-07-21 22:17:23.000000000 -0400
41390+++ linux-3.0.4/fs/hugetlbfs/inode.c 2011-08-23 21:48:14.000000000 -0400 43467+++ linux-3.0.7/fs/hugetlbfs/inode.c 2011-08-23 21:48:14.000000000 -0400
41391@@ -914,7 +914,7 @@ static struct file_system_type hugetlbfs 43468@@ -914,7 +914,7 @@ static struct file_system_type hugetlbfs
41392 .kill_sb = kill_litter_super, 43469 .kill_sb = kill_litter_super,
41393 }; 43470 };
@@ -41397,9 +43474,9 @@ diff -urNp linux-3.0.4/fs/hugetlbfs/inode.c linux-3.0.4/fs/hugetlbfs/inode.c
41397 43474
41398 static int can_do_hugetlb_shm(void) 43475 static int can_do_hugetlb_shm(void)
41399 { 43476 {
41400diff -urNp linux-3.0.4/fs/inode.c linux-3.0.4/fs/inode.c 43477diff -urNp linux-3.0.7/fs/inode.c linux-3.0.7/fs/inode.c
41401--- linux-3.0.4/fs/inode.c 2011-07-21 22:17:23.000000000 -0400 43478--- linux-3.0.7/fs/inode.c 2011-07-21 22:17:23.000000000 -0400
41402+++ linux-3.0.4/fs/inode.c 2011-08-23 21:47:56.000000000 -0400 43479+++ linux-3.0.7/fs/inode.c 2011-08-23 21:47:56.000000000 -0400
41403@@ -829,8 +829,8 @@ unsigned int get_next_ino(void) 43480@@ -829,8 +829,8 @@ unsigned int get_next_ino(void)
41404 43481
41405 #ifdef CONFIG_SMP 43482 #ifdef CONFIG_SMP
@@ -41411,9 +43488,9 @@ diff -urNp linux-3.0.4/fs/inode.c linux-3.0.4/fs/inode.c
41411 43488
41412 res = next - LAST_INO_BATCH; 43489 res = next - LAST_INO_BATCH;
41413 } 43490 }
41414diff -urNp linux-3.0.4/fs/jbd/checkpoint.c linux-3.0.4/fs/jbd/checkpoint.c 43491diff -urNp linux-3.0.7/fs/jbd/checkpoint.c linux-3.0.7/fs/jbd/checkpoint.c
41415--- linux-3.0.4/fs/jbd/checkpoint.c 2011-07-21 22:17:23.000000000 -0400 43492--- linux-3.0.7/fs/jbd/checkpoint.c 2011-07-21 22:17:23.000000000 -0400
41416+++ linux-3.0.4/fs/jbd/checkpoint.c 2011-08-23 21:48:14.000000000 -0400 43493+++ linux-3.0.7/fs/jbd/checkpoint.c 2011-08-23 21:48:14.000000000 -0400
41417@@ -350,6 +350,8 @@ int log_do_checkpoint(journal_t *journal 43494@@ -350,6 +350,8 @@ int log_do_checkpoint(journal_t *journal
41418 tid_t this_tid; 43495 tid_t this_tid;
41419 int result; 43496 int result;
@@ -41423,9 +43500,9 @@ diff -urNp linux-3.0.4/fs/jbd/checkpoint.c linux-3.0.4/fs/jbd/checkpoint.c
41423 jbd_debug(1, "Start checkpoint\n"); 43500 jbd_debug(1, "Start checkpoint\n");
41424 43501
41425 /* 43502 /*
41426diff -urNp linux-3.0.4/fs/jffs2/compr_rtime.c linux-3.0.4/fs/jffs2/compr_rtime.c 43503diff -urNp linux-3.0.7/fs/jffs2/compr_rtime.c linux-3.0.7/fs/jffs2/compr_rtime.c
41427--- linux-3.0.4/fs/jffs2/compr_rtime.c 2011-07-21 22:17:23.000000000 -0400 43504--- linux-3.0.7/fs/jffs2/compr_rtime.c 2011-07-21 22:17:23.000000000 -0400
41428+++ linux-3.0.4/fs/jffs2/compr_rtime.c 2011-08-23 21:48:14.000000000 -0400 43505+++ linux-3.0.7/fs/jffs2/compr_rtime.c 2011-08-23 21:48:14.000000000 -0400
41429@@ -37,6 +37,8 @@ static int jffs2_rtime_compress(unsigned 43506@@ -37,6 +37,8 @@ static int jffs2_rtime_compress(unsigned
41430 int outpos = 0; 43507 int outpos = 0;
41431 int pos=0; 43508 int pos=0;
@@ -41444,9 +43521,9 @@ diff -urNp linux-3.0.4/fs/jffs2/compr_rtime.c linux-3.0.4/fs/jffs2/compr_rtime.c
41444 memset(positions,0,sizeof(positions)); 43521 memset(positions,0,sizeof(positions));
41445 43522
41446 while (outpos<destlen) { 43523 while (outpos<destlen) {
41447diff -urNp linux-3.0.4/fs/jffs2/compr_rubin.c linux-3.0.4/fs/jffs2/compr_rubin.c 43524diff -urNp linux-3.0.7/fs/jffs2/compr_rubin.c linux-3.0.7/fs/jffs2/compr_rubin.c
41448--- linux-3.0.4/fs/jffs2/compr_rubin.c 2011-07-21 22:17:23.000000000 -0400 43525--- linux-3.0.7/fs/jffs2/compr_rubin.c 2011-07-21 22:17:23.000000000 -0400
41449+++ linux-3.0.4/fs/jffs2/compr_rubin.c 2011-08-23 21:48:14.000000000 -0400 43526+++ linux-3.0.7/fs/jffs2/compr_rubin.c 2011-08-23 21:48:14.000000000 -0400
41450@@ -314,6 +314,8 @@ static int jffs2_dynrubin_compress(unsig 43527@@ -314,6 +314,8 @@ static int jffs2_dynrubin_compress(unsig
41451 int ret; 43528 int ret;
41452 uint32_t mysrclen, mydstlen; 43529 uint32_t mysrclen, mydstlen;
@@ -41456,9 +43533,9 @@ diff -urNp linux-3.0.4/fs/jffs2/compr_rubin.c linux-3.0.4/fs/jffs2/compr_rubin.c
41456 mysrclen = *sourcelen; 43533 mysrclen = *sourcelen;
41457 mydstlen = *dstlen - 8; 43534 mydstlen = *dstlen - 8;
41458 43535
41459diff -urNp linux-3.0.4/fs/jffs2/erase.c linux-3.0.4/fs/jffs2/erase.c 43536diff -urNp linux-3.0.7/fs/jffs2/erase.c linux-3.0.7/fs/jffs2/erase.c
41460--- linux-3.0.4/fs/jffs2/erase.c 2011-07-21 22:17:23.000000000 -0400 43537--- linux-3.0.7/fs/jffs2/erase.c 2011-07-21 22:17:23.000000000 -0400
41461+++ linux-3.0.4/fs/jffs2/erase.c 2011-08-23 21:47:56.000000000 -0400 43538+++ linux-3.0.7/fs/jffs2/erase.c 2011-08-23 21:47:56.000000000 -0400
41462@@ -439,7 +439,8 @@ static void jffs2_mark_erased_block(stru 43539@@ -439,7 +439,8 @@ static void jffs2_mark_erased_block(stru
41463 struct jffs2_unknown_node marker = { 43540 struct jffs2_unknown_node marker = {
41464 .magic = cpu_to_je16(JFFS2_MAGIC_BITMASK), 43541 .magic = cpu_to_je16(JFFS2_MAGIC_BITMASK),
@@ -41469,9 +43546,9 @@ diff -urNp linux-3.0.4/fs/jffs2/erase.c linux-3.0.4/fs/jffs2/erase.c
41469 }; 43546 };
41470 43547
41471 jffs2_prealloc_raw_node_refs(c, jeb, 1); 43548 jffs2_prealloc_raw_node_refs(c, jeb, 1);
41472diff -urNp linux-3.0.4/fs/jffs2/wbuf.c linux-3.0.4/fs/jffs2/wbuf.c 43549diff -urNp linux-3.0.7/fs/jffs2/wbuf.c linux-3.0.7/fs/jffs2/wbuf.c
41473--- linux-3.0.4/fs/jffs2/wbuf.c 2011-07-21 22:17:23.000000000 -0400 43550--- linux-3.0.7/fs/jffs2/wbuf.c 2011-07-21 22:17:23.000000000 -0400
41474+++ linux-3.0.4/fs/jffs2/wbuf.c 2011-08-23 21:47:56.000000000 -0400 43551+++ linux-3.0.7/fs/jffs2/wbuf.c 2011-08-23 21:47:56.000000000 -0400
41475@@ -1012,7 +1012,8 @@ static const struct jffs2_unknown_node o 43552@@ -1012,7 +1012,8 @@ static const struct jffs2_unknown_node o
41476 { 43553 {
41477 .magic = constant_cpu_to_je16(JFFS2_MAGIC_BITMASK), 43554 .magic = constant_cpu_to_je16(JFFS2_MAGIC_BITMASK),
@@ -41482,9 +43559,9 @@ diff -urNp linux-3.0.4/fs/jffs2/wbuf.c linux-3.0.4/fs/jffs2/wbuf.c
41482 }; 43559 };
41483 43560
41484 /* 43561 /*
41485diff -urNp linux-3.0.4/fs/jffs2/xattr.c linux-3.0.4/fs/jffs2/xattr.c 43562diff -urNp linux-3.0.7/fs/jffs2/xattr.c linux-3.0.7/fs/jffs2/xattr.c
41486--- linux-3.0.4/fs/jffs2/xattr.c 2011-07-21 22:17:23.000000000 -0400 43563--- linux-3.0.7/fs/jffs2/xattr.c 2011-07-21 22:17:23.000000000 -0400
41487+++ linux-3.0.4/fs/jffs2/xattr.c 2011-08-23 21:48:14.000000000 -0400 43564+++ linux-3.0.7/fs/jffs2/xattr.c 2011-08-23 21:48:14.000000000 -0400
41488@@ -773,6 +773,8 @@ void jffs2_build_xattr_subsystem(struct 43565@@ -773,6 +773,8 @@ void jffs2_build_xattr_subsystem(struct
41489 43566
41490 BUG_ON(!(c->flags & JFFS2_SB_FLAG_BUILDING)); 43567 BUG_ON(!(c->flags & JFFS2_SB_FLAG_BUILDING));
@@ -41494,9 +43571,9 @@ diff -urNp linux-3.0.4/fs/jffs2/xattr.c linux-3.0.4/fs/jffs2/xattr.c
41494 /* Phase.1 : Merge same xref */ 43571 /* Phase.1 : Merge same xref */
41495 for (i=0; i < XREF_TMPHASH_SIZE; i++) 43572 for (i=0; i < XREF_TMPHASH_SIZE; i++)
41496 xref_tmphash[i] = NULL; 43573 xref_tmphash[i] = NULL;
41497diff -urNp linux-3.0.4/fs/jfs/super.c linux-3.0.4/fs/jfs/super.c 43574diff -urNp linux-3.0.7/fs/jfs/super.c linux-3.0.7/fs/jfs/super.c
41498--- linux-3.0.4/fs/jfs/super.c 2011-07-21 22:17:23.000000000 -0400 43575--- linux-3.0.7/fs/jfs/super.c 2011-07-21 22:17:23.000000000 -0400
41499+++ linux-3.0.4/fs/jfs/super.c 2011-08-23 21:47:56.000000000 -0400 43576+++ linux-3.0.7/fs/jfs/super.c 2011-08-23 21:47:56.000000000 -0400
41500@@ -803,7 +803,7 @@ static int __init init_jfs_fs(void) 43577@@ -803,7 +803,7 @@ static int __init init_jfs_fs(void)
41501 43578
41502 jfs_inode_cachep = 43579 jfs_inode_cachep =
@@ -41506,9 +43583,9 @@ diff -urNp linux-3.0.4/fs/jfs/super.c linux-3.0.4/fs/jfs/super.c
41506 init_once); 43583 init_once);
41507 if (jfs_inode_cachep == NULL) 43584 if (jfs_inode_cachep == NULL)
41508 return -ENOMEM; 43585 return -ENOMEM;
41509diff -urNp linux-3.0.4/fs/Kconfig.binfmt linux-3.0.4/fs/Kconfig.binfmt 43586diff -urNp linux-3.0.7/fs/Kconfig.binfmt linux-3.0.7/fs/Kconfig.binfmt
41510--- linux-3.0.4/fs/Kconfig.binfmt 2011-07-21 22:17:23.000000000 -0400 43587--- linux-3.0.7/fs/Kconfig.binfmt 2011-07-21 22:17:23.000000000 -0400
41511+++ linux-3.0.4/fs/Kconfig.binfmt 2011-08-23 21:47:56.000000000 -0400 43588+++ linux-3.0.7/fs/Kconfig.binfmt 2011-08-23 21:47:56.000000000 -0400
41512@@ -86,7 +86,7 @@ config HAVE_AOUT 43589@@ -86,7 +86,7 @@ config HAVE_AOUT
41513 43590
41514 config BINFMT_AOUT 43591 config BINFMT_AOUT
@@ -41518,9 +43595,9 @@ diff -urNp linux-3.0.4/fs/Kconfig.binfmt linux-3.0.4/fs/Kconfig.binfmt
41518 ---help--- 43595 ---help---
41519 A.out (Assembler.OUTput) is a set of formats for libraries and 43596 A.out (Assembler.OUTput) is a set of formats for libraries and
41520 executables used in the earliest versions of UNIX. Linux used 43597 executables used in the earliest versions of UNIX. Linux used
41521diff -urNp linux-3.0.4/fs/libfs.c linux-3.0.4/fs/libfs.c 43598diff -urNp linux-3.0.7/fs/libfs.c linux-3.0.7/fs/libfs.c
41522--- linux-3.0.4/fs/libfs.c 2011-07-21 22:17:23.000000000 -0400 43599--- linux-3.0.7/fs/libfs.c 2011-07-21 22:17:23.000000000 -0400
41523+++ linux-3.0.4/fs/libfs.c 2011-08-23 21:47:56.000000000 -0400 43600+++ linux-3.0.7/fs/libfs.c 2011-08-23 21:47:56.000000000 -0400
41524@@ -163,6 +163,9 @@ int dcache_readdir(struct file * filp, v 43601@@ -163,6 +163,9 @@ int dcache_readdir(struct file * filp, v
41525 43602
41526 for (p=q->next; p != &dentry->d_subdirs; p=p->next) { 43603 for (p=q->next; p != &dentry->d_subdirs; p=p->next) {
@@ -41545,9 +43622,9 @@ diff -urNp linux-3.0.4/fs/libfs.c linux-3.0.4/fs/libfs.c
41545 next->d_name.len, filp->f_pos, 43622 next->d_name.len, filp->f_pos,
41546 next->d_inode->i_ino, 43623 next->d_inode->i_ino,
41547 dt_type(next->d_inode)) < 0) 43624 dt_type(next->d_inode)) < 0)
41548diff -urNp linux-3.0.4/fs/lockd/clntproc.c linux-3.0.4/fs/lockd/clntproc.c 43625diff -urNp linux-3.0.7/fs/lockd/clntproc.c linux-3.0.7/fs/lockd/clntproc.c
41549--- linux-3.0.4/fs/lockd/clntproc.c 2011-07-21 22:17:23.000000000 -0400 43626--- linux-3.0.7/fs/lockd/clntproc.c 2011-07-21 22:17:23.000000000 -0400
41550+++ linux-3.0.4/fs/lockd/clntproc.c 2011-08-23 21:48:14.000000000 -0400 43627+++ linux-3.0.7/fs/lockd/clntproc.c 2011-08-23 21:48:14.000000000 -0400
41551@@ -36,11 +36,11 @@ static const struct rpc_call_ops nlmclnt 43628@@ -36,11 +36,11 @@ static const struct rpc_call_ops nlmclnt
41552 /* 43629 /*
41553 * Cookie counter for NLM requests 43630 * Cookie counter for NLM requests
@@ -41571,9 +43648,9 @@ diff -urNp linux-3.0.4/fs/lockd/clntproc.c linux-3.0.4/fs/lockd/clntproc.c
41571 req = &reqst; 43648 req = &reqst;
41572 memset(req, 0, sizeof(*req)); 43649 memset(req, 0, sizeof(*req));
41573 locks_init_lock(&req->a_args.lock.fl); 43650 locks_init_lock(&req->a_args.lock.fl);
41574diff -urNp linux-3.0.4/fs/locks.c linux-3.0.4/fs/locks.c 43651diff -urNp linux-3.0.7/fs/locks.c linux-3.0.7/fs/locks.c
41575--- linux-3.0.4/fs/locks.c 2011-07-21 22:17:23.000000000 -0400 43652--- linux-3.0.7/fs/locks.c 2011-07-21 22:17:23.000000000 -0400
41576+++ linux-3.0.4/fs/locks.c 2011-08-23 21:47:56.000000000 -0400 43653+++ linux-3.0.7/fs/locks.c 2011-08-23 21:47:56.000000000 -0400
41577@@ -2043,16 +2043,16 @@ void locks_remove_flock(struct file *fil 43654@@ -2043,16 +2043,16 @@ void locks_remove_flock(struct file *fil
41578 return; 43655 return;
41579 43656
@@ -41595,9 +43672,9 @@ diff -urNp linux-3.0.4/fs/locks.c linux-3.0.4/fs/locks.c
41595 } 43672 }
41596 43673
41597 lock_flocks(); 43674 lock_flocks();
41598diff -urNp linux-3.0.4/fs/logfs/super.c linux-3.0.4/fs/logfs/super.c 43675diff -urNp linux-3.0.7/fs/logfs/super.c linux-3.0.7/fs/logfs/super.c
41599--- linux-3.0.4/fs/logfs/super.c 2011-07-21 22:17:23.000000000 -0400 43676--- linux-3.0.7/fs/logfs/super.c 2011-07-21 22:17:23.000000000 -0400
41600+++ linux-3.0.4/fs/logfs/super.c 2011-08-23 21:48:14.000000000 -0400 43677+++ linux-3.0.7/fs/logfs/super.c 2011-08-23 21:48:14.000000000 -0400
41601@@ -266,6 +266,8 @@ static int logfs_recover_sb(struct super 43678@@ -266,6 +266,8 @@ static int logfs_recover_sb(struct super
41602 struct logfs_disk_super _ds1, *ds1 = &_ds1; 43679 struct logfs_disk_super _ds1, *ds1 = &_ds1;
41603 int err, valid0, valid1; 43680 int err, valid0, valid1;
@@ -41607,9 +43684,9 @@ diff -urNp linux-3.0.4/fs/logfs/super.c linux-3.0.4/fs/logfs/super.c
41607 /* read first superblock */ 43684 /* read first superblock */
41608 err = wbuf_read(sb, super->s_sb_ofs[0], sizeof(*ds0), ds0); 43685 err = wbuf_read(sb, super->s_sb_ofs[0], sizeof(*ds0), ds0);
41609 if (err) 43686 if (err)
41610diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c 43687diff -urNp linux-3.0.7/fs/namei.c linux-3.0.7/fs/namei.c
41611--- linux-3.0.4/fs/namei.c 2011-07-21 22:17:23.000000000 -0400 43688--- linux-3.0.7/fs/namei.c 2011-10-16 21:54:54.000000000 -0400
41612+++ linux-3.0.4/fs/namei.c 2011-08-23 21:48:14.000000000 -0400 43689+++ linux-3.0.7/fs/namei.c 2011-10-16 21:55:28.000000000 -0400
41613@@ -237,21 +237,31 @@ int generic_permission(struct inode *ino 43690@@ -237,21 +237,31 @@ int generic_permission(struct inode *ino
41614 return ret; 43691 return ret;
41615 43692
@@ -41680,7 +43757,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41680 43757
41681 return ret; 43758 return ret;
41682 ok: 43759 ok:
41683@@ -703,11 +723,19 @@ follow_link(struct path *link, struct na 43760@@ -703,11 +723,26 @@ follow_link(struct path *link, struct na
41684 return error; 43761 return error;
41685 } 43762 }
41686 43763
@@ -41692,6 +43769,13 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41692+ return error; 43769+ return error;
41693+ } 43770+ }
41694+ 43771+
43772+ if (!gr_acl_handle_hidden_file(dentry, nd->path.mnt)) {
43773+ error = -ENOENT;
43774+ *p = ERR_PTR(error); /* no ->put_link(), please */
43775+ path_put(&nd->path);
43776+ return error;
43777+ }
43778+
41695 nd->last_type = LAST_BIND; 43779 nd->last_type = LAST_BIND;
41696 *p = dentry->d_inode->i_op->follow_link(dentry, nd); 43780 *p = dentry->d_inode->i_op->follow_link(dentry, nd);
41697 error = PTR_ERR(*p); 43781 error = PTR_ERR(*p);
@@ -41701,7 +43785,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41701 error = 0; 43785 error = 0;
41702 if (s) 43786 if (s)
41703 error = __vfs_follow_link(nd, s); 43787 error = __vfs_follow_link(nd, s);
41704@@ -1625,6 +1653,9 @@ static int do_path_lookup(int dfd, const 43788@@ -1625,6 +1660,9 @@ static int do_path_lookup(int dfd, const
41705 retval = path_lookupat(dfd, name, flags | LOOKUP_REVAL, nd); 43789 retval = path_lookupat(dfd, name, flags | LOOKUP_REVAL, nd);
41706 43790
41707 if (likely(!retval)) { 43791 if (likely(!retval)) {
@@ -41711,7 +43795,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41711 if (unlikely(!audit_dummy_context())) { 43795 if (unlikely(!audit_dummy_context())) {
41712 if (nd->path.dentry && nd->inode) 43796 if (nd->path.dentry && nd->inode)
41713 audit_inode(name, nd->path.dentry); 43797 audit_inode(name, nd->path.dentry);
41714@@ -1935,6 +1966,30 @@ int vfs_create(struct inode *dir, struct 43798@@ -1935,6 +1973,30 @@ int vfs_create(struct inode *dir, struct
41715 return error; 43799 return error;
41716 } 43800 }
41717 43801
@@ -41742,7 +43826,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41742 static int may_open(struct path *path, int acc_mode, int flag) 43826 static int may_open(struct path *path, int acc_mode, int flag)
41743 { 43827 {
41744 struct dentry *dentry = path->dentry; 43828 struct dentry *dentry = path->dentry;
41745@@ -1987,7 +2042,27 @@ static int may_open(struct path *path, i 43829@@ -1987,7 +2049,27 @@ static int may_open(struct path *path, i
41746 /* 43830 /*
41747 * Ensure there are no outstanding leases on the file. 43831 * Ensure there are no outstanding leases on the file.
41748 */ 43832 */
@@ -41771,7 +43855,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41771 } 43855 }
41772 43856
41773 static int handle_truncate(struct file *filp) 43857 static int handle_truncate(struct file *filp)
41774@@ -2013,30 +2088,6 @@ static int handle_truncate(struct file * 43858@@ -2013,30 +2095,6 @@ static int handle_truncate(struct file *
41775 } 43859 }
41776 43860
41777 /* 43861 /*
@@ -41802,7 +43886,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41802 * Handle the last step of open() 43886 * Handle the last step of open()
41803 */ 43887 */
41804 static struct file *do_last(struct nameidata *nd, struct path *path, 43888 static struct file *do_last(struct nameidata *nd, struct path *path,
41805@@ -2045,6 +2096,7 @@ static struct file *do_last(struct namei 43889@@ -2045,6 +2103,7 @@ static struct file *do_last(struct namei
41806 struct dentry *dir = nd->path.dentry; 43890 struct dentry *dir = nd->path.dentry;
41807 struct dentry *dentry; 43891 struct dentry *dentry;
41808 int open_flag = op->open_flag; 43892 int open_flag = op->open_flag;
@@ -41810,7 +43894,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41810 int will_truncate = open_flag & O_TRUNC; 43894 int will_truncate = open_flag & O_TRUNC;
41811 int want_write = 0; 43895 int want_write = 0;
41812 int acc_mode = op->acc_mode; 43896 int acc_mode = op->acc_mode;
41813@@ -2132,6 +2184,12 @@ static struct file *do_last(struct namei 43897@@ -2132,6 +2191,12 @@ static struct file *do_last(struct namei
41814 /* Negative dentry, just create the file */ 43898 /* Negative dentry, just create the file */
41815 if (!dentry->d_inode) { 43899 if (!dentry->d_inode) {
41816 int mode = op->mode; 43900 int mode = op->mode;
@@ -41823,7 +43907,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41823 if (!IS_POSIXACL(dir->d_inode)) 43907 if (!IS_POSIXACL(dir->d_inode))
41824 mode &= ~current_umask(); 43908 mode &= ~current_umask();
41825 /* 43909 /*
41826@@ -2155,6 +2213,8 @@ static struct file *do_last(struct namei 43910@@ -2155,6 +2220,8 @@ static struct file *do_last(struct namei
41827 error = vfs_create(dir->d_inode, dentry, mode, nd); 43911 error = vfs_create(dir->d_inode, dentry, mode, nd);
41828 if (error) 43912 if (error)
41829 goto exit_mutex_unlock; 43913 goto exit_mutex_unlock;
@@ -41832,7 +43916,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41832 mutex_unlock(&dir->d_inode->i_mutex); 43916 mutex_unlock(&dir->d_inode->i_mutex);
41833 dput(nd->path.dentry); 43917 dput(nd->path.dentry);
41834 nd->path.dentry = dentry; 43918 nd->path.dentry = dentry;
41835@@ -2164,6 +2224,14 @@ static struct file *do_last(struct namei 43919@@ -2164,6 +2231,14 @@ static struct file *do_last(struct namei
41836 /* 43920 /*
41837 * It already exists. 43921 * It already exists.
41838 */ 43922 */
@@ -41847,7 +43931,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41847 mutex_unlock(&dir->d_inode->i_mutex); 43931 mutex_unlock(&dir->d_inode->i_mutex);
41848 audit_inode(pathname, path->dentry); 43932 audit_inode(pathname, path->dentry);
41849 43933
41850@@ -2450,6 +2518,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const 43934@@ -2450,6 +2525,17 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const
41851 error = may_mknod(mode); 43935 error = may_mknod(mode);
41852 if (error) 43936 if (error)
41853 goto out_dput; 43937 goto out_dput;
@@ -41865,7 +43949,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41865 error = mnt_want_write(nd.path.mnt); 43949 error = mnt_want_write(nd.path.mnt);
41866 if (error) 43950 if (error)
41867 goto out_dput; 43951 goto out_dput;
41868@@ -2470,6 +2549,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const 43952@@ -2470,6 +2556,9 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const
41869 } 43953 }
41870 out_drop_write: 43954 out_drop_write:
41871 mnt_drop_write(nd.path.mnt); 43955 mnt_drop_write(nd.path.mnt);
@@ -41875,7 +43959,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41875 out_dput: 43959 out_dput:
41876 dput(dentry); 43960 dput(dentry);
41877 out_unlock: 43961 out_unlock:
41878@@ -2522,6 +2604,11 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const 43962@@ -2522,6 +2611,11 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const
41879 if (IS_ERR(dentry)) 43963 if (IS_ERR(dentry))
41880 goto out_unlock; 43964 goto out_unlock;
41881 43965
@@ -41887,7 +43971,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41887 if (!IS_POSIXACL(nd.path.dentry->d_inode)) 43971 if (!IS_POSIXACL(nd.path.dentry->d_inode))
41888 mode &= ~current_umask(); 43972 mode &= ~current_umask();
41889 error = mnt_want_write(nd.path.mnt); 43973 error = mnt_want_write(nd.path.mnt);
41890@@ -2533,6 +2620,10 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const 43974@@ -2533,6 +2627,10 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const
41891 error = vfs_mkdir(nd.path.dentry->d_inode, dentry, mode); 43975 error = vfs_mkdir(nd.path.dentry->d_inode, dentry, mode);
41892 out_drop_write: 43976 out_drop_write:
41893 mnt_drop_write(nd.path.mnt); 43977 mnt_drop_write(nd.path.mnt);
@@ -41898,7 +43982,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41898 out_dput: 43982 out_dput:
41899 dput(dentry); 43983 dput(dentry);
41900 out_unlock: 43984 out_unlock:
41901@@ -2613,6 +2704,8 @@ static long do_rmdir(int dfd, const char 43985@@ -2615,6 +2713,8 @@ static long do_rmdir(int dfd, const char
41902 char * name; 43986 char * name;
41903 struct dentry *dentry; 43987 struct dentry *dentry;
41904 struct nameidata nd; 43988 struct nameidata nd;
@@ -41907,7 +43991,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41907 43991
41908 error = user_path_parent(dfd, pathname, &nd, &name); 43992 error = user_path_parent(dfd, pathname, &nd, &name);
41909 if (error) 43993 if (error)
41910@@ -2641,6 +2734,17 @@ static long do_rmdir(int dfd, const char 43994@@ -2643,6 +2743,17 @@ static long do_rmdir(int dfd, const char
41911 error = -ENOENT; 43995 error = -ENOENT;
41912 goto exit3; 43996 goto exit3;
41913 } 43997 }
@@ -41925,7 +44009,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41925 error = mnt_want_write(nd.path.mnt); 44009 error = mnt_want_write(nd.path.mnt);
41926 if (error) 44010 if (error)
41927 goto exit3; 44011 goto exit3;
41928@@ -2648,6 +2752,8 @@ static long do_rmdir(int dfd, const char 44012@@ -2650,6 +2761,8 @@ static long do_rmdir(int dfd, const char
41929 if (error) 44013 if (error)
41930 goto exit4; 44014 goto exit4;
41931 error = vfs_rmdir(nd.path.dentry->d_inode, dentry); 44015 error = vfs_rmdir(nd.path.dentry->d_inode, dentry);
@@ -41934,7 +44018,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41934 exit4: 44018 exit4:
41935 mnt_drop_write(nd.path.mnt); 44019 mnt_drop_write(nd.path.mnt);
41936 exit3: 44020 exit3:
41937@@ -2710,6 +2816,8 @@ static long do_unlinkat(int dfd, const c 44021@@ -2712,6 +2825,8 @@ static long do_unlinkat(int dfd, const c
41938 struct dentry *dentry; 44022 struct dentry *dentry;
41939 struct nameidata nd; 44023 struct nameidata nd;
41940 struct inode *inode = NULL; 44024 struct inode *inode = NULL;
@@ -41943,7 +44027,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41943 44027
41944 error = user_path_parent(dfd, pathname, &nd, &name); 44028 error = user_path_parent(dfd, pathname, &nd, &name);
41945 if (error) 44029 if (error)
41946@@ -2732,6 +2840,16 @@ static long do_unlinkat(int dfd, const c 44030@@ -2734,6 +2849,16 @@ static long do_unlinkat(int dfd, const c
41947 if (!inode) 44031 if (!inode)
41948 goto slashes; 44032 goto slashes;
41949 ihold(inode); 44033 ihold(inode);
@@ -41960,7 +44044,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41960 error = mnt_want_write(nd.path.mnt); 44044 error = mnt_want_write(nd.path.mnt);
41961 if (error) 44045 if (error)
41962 goto exit2; 44046 goto exit2;
41963@@ -2739,6 +2857,8 @@ static long do_unlinkat(int dfd, const c 44047@@ -2741,6 +2866,8 @@ static long do_unlinkat(int dfd, const c
41964 if (error) 44048 if (error)
41965 goto exit3; 44049 goto exit3;
41966 error = vfs_unlink(nd.path.dentry->d_inode, dentry); 44050 error = vfs_unlink(nd.path.dentry->d_inode, dentry);
@@ -41969,7 +44053,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41969 exit3: 44053 exit3:
41970 mnt_drop_write(nd.path.mnt); 44054 mnt_drop_write(nd.path.mnt);
41971 exit2: 44055 exit2:
41972@@ -2816,6 +2936,11 @@ SYSCALL_DEFINE3(symlinkat, const char __ 44056@@ -2818,6 +2945,11 @@ SYSCALL_DEFINE3(symlinkat, const char __
41973 if (IS_ERR(dentry)) 44057 if (IS_ERR(dentry))
41974 goto out_unlock; 44058 goto out_unlock;
41975 44059
@@ -41981,7 +44065,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41981 error = mnt_want_write(nd.path.mnt); 44065 error = mnt_want_write(nd.path.mnt);
41982 if (error) 44066 if (error)
41983 goto out_dput; 44067 goto out_dput;
41984@@ -2823,6 +2948,8 @@ SYSCALL_DEFINE3(symlinkat, const char __ 44068@@ -2825,6 +2957,8 @@ SYSCALL_DEFINE3(symlinkat, const char __
41985 if (error) 44069 if (error)
41986 goto out_drop_write; 44070 goto out_drop_write;
41987 error = vfs_symlink(nd.path.dentry->d_inode, dentry, from); 44071 error = vfs_symlink(nd.path.dentry->d_inode, dentry, from);
@@ -41990,7 +44074,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
41990 out_drop_write: 44074 out_drop_write:
41991 mnt_drop_write(nd.path.mnt); 44075 mnt_drop_write(nd.path.mnt);
41992 out_dput: 44076 out_dput:
41993@@ -2931,6 +3058,20 @@ SYSCALL_DEFINE5(linkat, int, olddfd, con 44077@@ -2933,6 +3067,20 @@ SYSCALL_DEFINE5(linkat, int, olddfd, con
41994 error = PTR_ERR(new_dentry); 44078 error = PTR_ERR(new_dentry);
41995 if (IS_ERR(new_dentry)) 44079 if (IS_ERR(new_dentry))
41996 goto out_unlock; 44080 goto out_unlock;
@@ -42011,7 +44095,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
42011 error = mnt_want_write(nd.path.mnt); 44095 error = mnt_want_write(nd.path.mnt);
42012 if (error) 44096 if (error)
42013 goto out_dput; 44097 goto out_dput;
42014@@ -2938,6 +3079,8 @@ SYSCALL_DEFINE5(linkat, int, olddfd, con 44098@@ -2940,6 +3088,8 @@ SYSCALL_DEFINE5(linkat, int, olddfd, con
42015 if (error) 44099 if (error)
42016 goto out_drop_write; 44100 goto out_drop_write;
42017 error = vfs_link(old_path.dentry, nd.path.dentry->d_inode, new_dentry); 44101 error = vfs_link(old_path.dentry, nd.path.dentry->d_inode, new_dentry);
@@ -42020,7 +44104,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
42020 out_drop_write: 44104 out_drop_write:
42021 mnt_drop_write(nd.path.mnt); 44105 mnt_drop_write(nd.path.mnt);
42022 out_dput: 44106 out_dput:
42023@@ -3113,6 +3256,8 @@ SYSCALL_DEFINE4(renameat, int, olddfd, c 44107@@ -3117,6 +3267,8 @@ SYSCALL_DEFINE4(renameat, int, olddfd, c
42024 char *to; 44108 char *to;
42025 int error; 44109 int error;
42026 44110
@@ -42029,7 +44113,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
42029 error = user_path_parent(olddfd, oldname, &oldnd, &from); 44113 error = user_path_parent(olddfd, oldname, &oldnd, &from);
42030 if (error) 44114 if (error)
42031 goto exit; 44115 goto exit;
42032@@ -3169,6 +3314,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, c 44116@@ -3173,6 +3325,12 @@ SYSCALL_DEFINE4(renameat, int, olddfd, c
42033 if (new_dentry == trap) 44117 if (new_dentry == trap)
42034 goto exit5; 44118 goto exit5;
42035 44119
@@ -42042,7 +44126,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
42042 error = mnt_want_write(oldnd.path.mnt); 44126 error = mnt_want_write(oldnd.path.mnt);
42043 if (error) 44127 if (error)
42044 goto exit5; 44128 goto exit5;
42045@@ -3178,6 +3329,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, c 44129@@ -3182,6 +3340,9 @@ SYSCALL_DEFINE4(renameat, int, olddfd, c
42046 goto exit6; 44130 goto exit6;
42047 error = vfs_rename(old_dir->d_inode, old_dentry, 44131 error = vfs_rename(old_dir->d_inode, old_dentry,
42048 new_dir->d_inode, new_dentry); 44132 new_dir->d_inode, new_dentry);
@@ -42052,7 +44136,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
42052 exit6: 44136 exit6:
42053 mnt_drop_write(oldnd.path.mnt); 44137 mnt_drop_write(oldnd.path.mnt);
42054 exit5: 44138 exit5:
42055@@ -3203,6 +3357,8 @@ SYSCALL_DEFINE2(rename, const char __use 44139@@ -3207,6 +3368,8 @@ SYSCALL_DEFINE2(rename, const char __use
42056 44140
42057 int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const char *link) 44141 int vfs_readlink(struct dentry *dentry, char __user *buffer, int buflen, const char *link)
42058 { 44142 {
@@ -42061,7 +44145,7 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
42061 int len; 44145 int len;
42062 44146
42063 len = PTR_ERR(link); 44147 len = PTR_ERR(link);
42064@@ -3212,7 +3368,14 @@ int vfs_readlink(struct dentry *dentry, 44148@@ -3216,7 +3379,14 @@ int vfs_readlink(struct dentry *dentry,
42065 len = strlen(link); 44149 len = strlen(link);
42066 if (len > (unsigned) buflen) 44150 if (len > (unsigned) buflen)
42067 len = buflen; 44151 len = buflen;
@@ -42077,9 +44161,9 @@ diff -urNp linux-3.0.4/fs/namei.c linux-3.0.4/fs/namei.c
42077 len = -EFAULT; 44161 len = -EFAULT;
42078 out: 44162 out:
42079 return len; 44163 return len;
42080diff -urNp linux-3.0.4/fs/namespace.c linux-3.0.4/fs/namespace.c 44164diff -urNp linux-3.0.7/fs/namespace.c linux-3.0.7/fs/namespace.c
42081--- linux-3.0.4/fs/namespace.c 2011-07-21 22:17:23.000000000 -0400 44165--- linux-3.0.7/fs/namespace.c 2011-07-21 22:17:23.000000000 -0400
42082+++ linux-3.0.4/fs/namespace.c 2011-08-23 21:48:14.000000000 -0400 44166+++ linux-3.0.7/fs/namespace.c 2011-08-23 21:48:14.000000000 -0400
42083@@ -1328,6 +1328,9 @@ static int do_umount(struct vfsmount *mn 44167@@ -1328,6 +1328,9 @@ static int do_umount(struct vfsmount *mn
42084 if (!(sb->s_flags & MS_RDONLY)) 44168 if (!(sb->s_flags & MS_RDONLY))
42085 retval = do_remount_sb(sb, MS_RDONLY, NULL, 0); 44169 retval = do_remount_sb(sb, MS_RDONLY, NULL, 0);
@@ -42139,9 +44223,9 @@ diff -urNp linux-3.0.4/fs/namespace.c linux-3.0.4/fs/namespace.c
42139 get_fs_root(current->fs, &root); 44223 get_fs_root(current->fs, &root);
42140 error = lock_mount(&old); 44224 error = lock_mount(&old);
42141 if (error) 44225 if (error)
42142diff -urNp linux-3.0.4/fs/ncpfs/dir.c linux-3.0.4/fs/ncpfs/dir.c 44226diff -urNp linux-3.0.7/fs/ncpfs/dir.c linux-3.0.7/fs/ncpfs/dir.c
42143--- linux-3.0.4/fs/ncpfs/dir.c 2011-07-21 22:17:23.000000000 -0400 44227--- linux-3.0.7/fs/ncpfs/dir.c 2011-07-21 22:17:23.000000000 -0400
42144+++ linux-3.0.4/fs/ncpfs/dir.c 2011-08-23 21:48:14.000000000 -0400 44228+++ linux-3.0.7/fs/ncpfs/dir.c 2011-08-23 21:48:14.000000000 -0400
42145@@ -299,6 +299,8 @@ ncp_lookup_validate(struct dentry *dentr 44229@@ -299,6 +299,8 @@ ncp_lookup_validate(struct dentry *dentr
42146 int res, val = 0, len; 44230 int res, val = 0, len;
42147 __u8 __name[NCP_MAXPATHLEN + 1]; 44231 __u8 __name[NCP_MAXPATHLEN + 1];
@@ -42187,9 +44271,9 @@ diff -urNp linux-3.0.4/fs/ncpfs/dir.c linux-3.0.4/fs/ncpfs/dir.c
42187 DPRINTK("ncp_rename: %s/%s to %s/%s\n", 44271 DPRINTK("ncp_rename: %s/%s to %s/%s\n",
42188 old_dentry->d_parent->d_name.name, old_dentry->d_name.name, 44272 old_dentry->d_parent->d_name.name, old_dentry->d_name.name,
42189 new_dentry->d_parent->d_name.name, new_dentry->d_name.name); 44273 new_dentry->d_parent->d_name.name, new_dentry->d_name.name);
42190diff -urNp linux-3.0.4/fs/ncpfs/inode.c linux-3.0.4/fs/ncpfs/inode.c 44274diff -urNp linux-3.0.7/fs/ncpfs/inode.c linux-3.0.7/fs/ncpfs/inode.c
42191--- linux-3.0.4/fs/ncpfs/inode.c 2011-07-21 22:17:23.000000000 -0400 44275--- linux-3.0.7/fs/ncpfs/inode.c 2011-07-21 22:17:23.000000000 -0400
42192+++ linux-3.0.4/fs/ncpfs/inode.c 2011-08-23 21:48:14.000000000 -0400 44276+++ linux-3.0.7/fs/ncpfs/inode.c 2011-08-23 21:48:14.000000000 -0400
42193@@ -461,6 +461,8 @@ static int ncp_fill_super(struct super_b 44277@@ -461,6 +461,8 @@ static int ncp_fill_super(struct super_b
42194 #endif 44278 #endif
42195 struct ncp_entry_info finfo; 44279 struct ncp_entry_info finfo;
@@ -42199,9 +44283,9 @@ diff -urNp linux-3.0.4/fs/ncpfs/inode.c linux-3.0.4/fs/ncpfs/inode.c
42199 memset(&data, 0, sizeof(data)); 44283 memset(&data, 0, sizeof(data));
42200 server = kzalloc(sizeof(struct ncp_server), GFP_KERNEL); 44284 server = kzalloc(sizeof(struct ncp_server), GFP_KERNEL);
42201 if (!server) 44285 if (!server)
42202diff -urNp linux-3.0.4/fs/nfs/inode.c linux-3.0.4/fs/nfs/inode.c 44286diff -urNp linux-3.0.7/fs/nfs/inode.c linux-3.0.7/fs/nfs/inode.c
42203--- linux-3.0.4/fs/nfs/inode.c 2011-07-21 22:17:23.000000000 -0400 44287--- linux-3.0.7/fs/nfs/inode.c 2011-07-21 22:17:23.000000000 -0400
42204+++ linux-3.0.4/fs/nfs/inode.c 2011-08-23 21:47:56.000000000 -0400 44288+++ linux-3.0.7/fs/nfs/inode.c 2011-08-23 21:47:56.000000000 -0400
42205@@ -150,7 +150,7 @@ static void nfs_zap_caches_locked(struct 44289@@ -150,7 +150,7 @@ static void nfs_zap_caches_locked(struct
42206 nfsi->attrtimeo = NFS_MINATTRTIMEO(inode); 44290 nfsi->attrtimeo = NFS_MINATTRTIMEO(inode);
42207 nfsi->attrtimeo_timestamp = jiffies; 44291 nfsi->attrtimeo_timestamp = jiffies;
@@ -42231,9 +44315,9 @@ diff -urNp linux-3.0.4/fs/nfs/inode.c linux-3.0.4/fs/nfs/inode.c
42231 } 44315 }
42232 44316
42233 void nfs_fattr_init(struct nfs_fattr *fattr) 44317 void nfs_fattr_init(struct nfs_fattr *fattr)
42234diff -urNp linux-3.0.4/fs/nfsd/nfs4state.c linux-3.0.4/fs/nfsd/nfs4state.c 44318diff -urNp linux-3.0.7/fs/nfsd/nfs4state.c linux-3.0.7/fs/nfsd/nfs4state.c
42235--- linux-3.0.4/fs/nfsd/nfs4state.c 2011-09-02 18:11:21.000000000 -0400 44319--- linux-3.0.7/fs/nfsd/nfs4state.c 2011-09-02 18:11:21.000000000 -0400
42236+++ linux-3.0.4/fs/nfsd/nfs4state.c 2011-08-23 21:48:14.000000000 -0400 44320+++ linux-3.0.7/fs/nfsd/nfs4state.c 2011-08-23 21:48:14.000000000 -0400
42237@@ -3794,6 +3794,8 @@ nfsd4_lock(struct svc_rqst *rqstp, struc 44321@@ -3794,6 +3794,8 @@ nfsd4_lock(struct svc_rqst *rqstp, struc
42238 unsigned int strhashval; 44322 unsigned int strhashval;
42239 int err; 44323 int err;
@@ -42243,9 +44327,9 @@ diff -urNp linux-3.0.4/fs/nfsd/nfs4state.c linux-3.0.4/fs/nfsd/nfs4state.c
42243 dprintk("NFSD: nfsd4_lock: start=%Ld length=%Ld\n", 44327 dprintk("NFSD: nfsd4_lock: start=%Ld length=%Ld\n",
42244 (long long) lock->lk_offset, 44328 (long long) lock->lk_offset,
42245 (long long) lock->lk_length); 44329 (long long) lock->lk_length);
42246diff -urNp linux-3.0.4/fs/nfsd/nfs4xdr.c linux-3.0.4/fs/nfsd/nfs4xdr.c 44330diff -urNp linux-3.0.7/fs/nfsd/nfs4xdr.c linux-3.0.7/fs/nfsd/nfs4xdr.c
42247--- linux-3.0.4/fs/nfsd/nfs4xdr.c 2011-07-21 22:17:23.000000000 -0400 44331--- linux-3.0.7/fs/nfsd/nfs4xdr.c 2011-07-21 22:17:23.000000000 -0400
42248+++ linux-3.0.4/fs/nfsd/nfs4xdr.c 2011-08-23 21:48:14.000000000 -0400 44332+++ linux-3.0.7/fs/nfsd/nfs4xdr.c 2011-08-23 21:48:14.000000000 -0400
42249@@ -1788,6 +1788,8 @@ nfsd4_encode_fattr(struct svc_fh *fhp, s 44333@@ -1788,6 +1788,8 @@ nfsd4_encode_fattr(struct svc_fh *fhp, s
42250 .dentry = dentry, 44334 .dentry = dentry,
42251 }; 44335 };
@@ -42255,15 +44339,15 @@ diff -urNp linux-3.0.4/fs/nfsd/nfs4xdr.c linux-3.0.4/fs/nfsd/nfs4xdr.c
42255 BUG_ON(bmval1 & NFSD_WRITEONLY_ATTRS_WORD1); 44339 BUG_ON(bmval1 & NFSD_WRITEONLY_ATTRS_WORD1);
42256 BUG_ON(bmval0 & ~nfsd_suppattrs0(minorversion)); 44340 BUG_ON(bmval0 & ~nfsd_suppattrs0(minorversion));
42257 BUG_ON(bmval1 & ~nfsd_suppattrs1(minorversion)); 44341 BUG_ON(bmval1 & ~nfsd_suppattrs1(minorversion));
42258diff -urNp linux-3.0.4/fs/nfsd/vfs.c linux-3.0.4/fs/nfsd/vfs.c 44342diff -urNp linux-3.0.7/fs/nfsd/vfs.c linux-3.0.7/fs/nfsd/vfs.c
42259--- linux-3.0.4/fs/nfsd/vfs.c 2011-07-21 22:17:23.000000000 -0400 44343--- linux-3.0.7/fs/nfsd/vfs.c 2011-07-21 22:17:23.000000000 -0400
42260+++ linux-3.0.4/fs/nfsd/vfs.c 2011-08-23 21:47:56.000000000 -0400 44344+++ linux-3.0.7/fs/nfsd/vfs.c 2011-10-06 04:17:55.000000000 -0400
42261@@ -896,7 +896,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, st 44345@@ -896,7 +896,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, st
42262 } else { 44346 } else {
42263 oldfs = get_fs(); 44347 oldfs = get_fs();
42264 set_fs(KERNEL_DS); 44348 set_fs(KERNEL_DS);
42265- host_err = vfs_readv(file, (struct iovec __user *)vec, vlen, &offset); 44349- host_err = vfs_readv(file, (struct iovec __user *)vec, vlen, &offset);
42266+ host_err = vfs_readv(file, (__force struct iovec __user *)vec, vlen, &offset); 44350+ host_err = vfs_readv(file, (struct iovec __force_user *)vec, vlen, &offset);
42267 set_fs(oldfs); 44351 set_fs(oldfs);
42268 } 44352 }
42269 44353
@@ -42272,7 +44356,7 @@ diff -urNp linux-3.0.4/fs/nfsd/vfs.c linux-3.0.4/fs/nfsd/vfs.c
42272 /* Write the data. */ 44356 /* Write the data. */
42273 oldfs = get_fs(); set_fs(KERNEL_DS); 44357 oldfs = get_fs(); set_fs(KERNEL_DS);
42274- host_err = vfs_writev(file, (struct iovec __user *)vec, vlen, &offset); 44358- host_err = vfs_writev(file, (struct iovec __user *)vec, vlen, &offset);
42275+ host_err = vfs_writev(file, (__force struct iovec __user *)vec, vlen, &offset); 44359+ host_err = vfs_writev(file, (struct iovec __force_user *)vec, vlen, &offset);
42276 set_fs(oldfs); 44360 set_fs(oldfs);
42277 if (host_err < 0) 44361 if (host_err < 0)
42278 goto out_nfserr; 44362 goto out_nfserr;
@@ -42281,13 +44365,13 @@ diff -urNp linux-3.0.4/fs/nfsd/vfs.c linux-3.0.4/fs/nfsd/vfs.c
42281 44365
42282 oldfs = get_fs(); set_fs(KERNEL_DS); 44366 oldfs = get_fs(); set_fs(KERNEL_DS);
42283- host_err = inode->i_op->readlink(dentry, buf, *lenp); 44367- host_err = inode->i_op->readlink(dentry, buf, *lenp);
42284+ host_err = inode->i_op->readlink(dentry, (__force char __user *)buf, *lenp); 44368+ host_err = inode->i_op->readlink(dentry, (char __force_user *)buf, *lenp);
42285 set_fs(oldfs); 44369 set_fs(oldfs);
42286 44370
42287 if (host_err < 0) 44371 if (host_err < 0)
42288diff -urNp linux-3.0.4/fs/notify/fanotify/fanotify_user.c linux-3.0.4/fs/notify/fanotify/fanotify_user.c 44372diff -urNp linux-3.0.7/fs/notify/fanotify/fanotify_user.c linux-3.0.7/fs/notify/fanotify/fanotify_user.c
42289--- linux-3.0.4/fs/notify/fanotify/fanotify_user.c 2011-07-21 22:17:23.000000000 -0400 44373--- linux-3.0.7/fs/notify/fanotify/fanotify_user.c 2011-07-21 22:17:23.000000000 -0400
42290+++ linux-3.0.4/fs/notify/fanotify/fanotify_user.c 2011-08-23 21:48:14.000000000 -0400 44374+++ linux-3.0.7/fs/notify/fanotify/fanotify_user.c 2011-08-23 21:48:14.000000000 -0400
42291@@ -276,7 +276,8 @@ static ssize_t copy_event_to_user(struct 44375@@ -276,7 +276,8 @@ static ssize_t copy_event_to_user(struct
42292 goto out_close_fd; 44376 goto out_close_fd;
42293 44377
@@ -42298,9 +44382,9 @@ diff -urNp linux-3.0.4/fs/notify/fanotify/fanotify_user.c linux-3.0.4/fs/notify/
42298 fanotify_event_metadata.event_len)) 44382 fanotify_event_metadata.event_len))
42299 goto out_kill_access_response; 44383 goto out_kill_access_response;
42300 44384
42301diff -urNp linux-3.0.4/fs/notify/notification.c linux-3.0.4/fs/notify/notification.c 44385diff -urNp linux-3.0.7/fs/notify/notification.c linux-3.0.7/fs/notify/notification.c
42302--- linux-3.0.4/fs/notify/notification.c 2011-07-21 22:17:23.000000000 -0400 44386--- linux-3.0.7/fs/notify/notification.c 2011-07-21 22:17:23.000000000 -0400
42303+++ linux-3.0.4/fs/notify/notification.c 2011-08-23 21:47:56.000000000 -0400 44387+++ linux-3.0.7/fs/notify/notification.c 2011-08-23 21:47:56.000000000 -0400
42304@@ -57,7 +57,7 @@ static struct kmem_cache *fsnotify_event 44388@@ -57,7 +57,7 @@ static struct kmem_cache *fsnotify_event
42305 * get set to 0 so it will never get 'freed' 44389 * get set to 0 so it will never get 'freed'
42306 */ 44390 */
@@ -42319,9 +44403,9 @@ diff -urNp linux-3.0.4/fs/notify/notification.c linux-3.0.4/fs/notify/notificati
42319 } 44403 }
42320 EXPORT_SYMBOL_GPL(fsnotify_get_cookie); 44404 EXPORT_SYMBOL_GPL(fsnotify_get_cookie);
42321 44405
42322diff -urNp linux-3.0.4/fs/ntfs/dir.c linux-3.0.4/fs/ntfs/dir.c 44406diff -urNp linux-3.0.7/fs/ntfs/dir.c linux-3.0.7/fs/ntfs/dir.c
42323--- linux-3.0.4/fs/ntfs/dir.c 2011-07-21 22:17:23.000000000 -0400 44407--- linux-3.0.7/fs/ntfs/dir.c 2011-07-21 22:17:23.000000000 -0400
42324+++ linux-3.0.4/fs/ntfs/dir.c 2011-08-23 21:47:56.000000000 -0400 44408+++ linux-3.0.7/fs/ntfs/dir.c 2011-08-23 21:47:56.000000000 -0400
42325@@ -1329,7 +1329,7 @@ find_next_index_buffer: 44409@@ -1329,7 +1329,7 @@ find_next_index_buffer:
42326 ia = (INDEX_ALLOCATION*)(kaddr + (ia_pos & ~PAGE_CACHE_MASK & 44410 ia = (INDEX_ALLOCATION*)(kaddr + (ia_pos & ~PAGE_CACHE_MASK &
42327 ~(s64)(ndir->itype.index.block_size - 1))); 44411 ~(s64)(ndir->itype.index.block_size - 1)));
@@ -42331,9 +44415,9 @@ diff -urNp linux-3.0.4/fs/ntfs/dir.c linux-3.0.4/fs/ntfs/dir.c
42331 ntfs_error(sb, "Out of bounds check failed. Corrupt directory " 44415 ntfs_error(sb, "Out of bounds check failed. Corrupt directory "
42332 "inode 0x%lx or driver bug.", vdir->i_ino); 44416 "inode 0x%lx or driver bug.", vdir->i_ino);
42333 goto err_out; 44417 goto err_out;
42334diff -urNp linux-3.0.4/fs/ntfs/file.c linux-3.0.4/fs/ntfs/file.c 44418diff -urNp linux-3.0.7/fs/ntfs/file.c linux-3.0.7/fs/ntfs/file.c
42335--- linux-3.0.4/fs/ntfs/file.c 2011-07-21 22:17:23.000000000 -0400 44419--- linux-3.0.7/fs/ntfs/file.c 2011-07-21 22:17:23.000000000 -0400
42336+++ linux-3.0.4/fs/ntfs/file.c 2011-08-23 21:47:56.000000000 -0400 44420+++ linux-3.0.7/fs/ntfs/file.c 2011-08-23 21:47:56.000000000 -0400
42337@@ -2222,6 +2222,6 @@ const struct inode_operations ntfs_file_ 44421@@ -2222,6 +2222,6 @@ const struct inode_operations ntfs_file_
42338 #endif /* NTFS_RW */ 44422 #endif /* NTFS_RW */
42339 }; 44423 };
@@ -42343,9 +44427,9 @@ diff -urNp linux-3.0.4/fs/ntfs/file.c linux-3.0.4/fs/ntfs/file.c
42343 44427
42344-const struct inode_operations ntfs_empty_inode_ops = {}; 44428-const struct inode_operations ntfs_empty_inode_ops = {};
42345+const struct inode_operations ntfs_empty_inode_ops __read_only; 44429+const struct inode_operations ntfs_empty_inode_ops __read_only;
42346diff -urNp linux-3.0.4/fs/ocfs2/localalloc.c linux-3.0.4/fs/ocfs2/localalloc.c 44430diff -urNp linux-3.0.7/fs/ocfs2/localalloc.c linux-3.0.7/fs/ocfs2/localalloc.c
42347--- linux-3.0.4/fs/ocfs2/localalloc.c 2011-07-21 22:17:23.000000000 -0400 44431--- linux-3.0.7/fs/ocfs2/localalloc.c 2011-07-21 22:17:23.000000000 -0400
42348+++ linux-3.0.4/fs/ocfs2/localalloc.c 2011-08-23 21:47:56.000000000 -0400 44432+++ linux-3.0.7/fs/ocfs2/localalloc.c 2011-08-23 21:47:56.000000000 -0400
42349@@ -1283,7 +1283,7 @@ static int ocfs2_local_alloc_slide_windo 44433@@ -1283,7 +1283,7 @@ static int ocfs2_local_alloc_slide_windo
42350 goto bail; 44434 goto bail;
42351 } 44435 }
@@ -42355,9 +44439,9 @@ diff -urNp linux-3.0.4/fs/ocfs2/localalloc.c linux-3.0.4/fs/ocfs2/localalloc.c
42355 44439
42356 bail: 44440 bail:
42357 if (handle) 44441 if (handle)
42358diff -urNp linux-3.0.4/fs/ocfs2/namei.c linux-3.0.4/fs/ocfs2/namei.c 44442diff -urNp linux-3.0.7/fs/ocfs2/namei.c linux-3.0.7/fs/ocfs2/namei.c
42359--- linux-3.0.4/fs/ocfs2/namei.c 2011-07-21 22:17:23.000000000 -0400 44443--- linux-3.0.7/fs/ocfs2/namei.c 2011-07-21 22:17:23.000000000 -0400
42360+++ linux-3.0.4/fs/ocfs2/namei.c 2011-08-23 21:48:14.000000000 -0400 44444+++ linux-3.0.7/fs/ocfs2/namei.c 2011-08-23 21:48:14.000000000 -0400
42361@@ -1063,6 +1063,8 @@ static int ocfs2_rename(struct inode *ol 44445@@ -1063,6 +1063,8 @@ static int ocfs2_rename(struct inode *ol
42362 struct ocfs2_dir_lookup_result orphan_insert = { NULL, }; 44446 struct ocfs2_dir_lookup_result orphan_insert = { NULL, };
42363 struct ocfs2_dir_lookup_result target_insert = { NULL, }; 44447 struct ocfs2_dir_lookup_result target_insert = { NULL, };
@@ -42367,9 +44451,9 @@ diff -urNp linux-3.0.4/fs/ocfs2/namei.c linux-3.0.4/fs/ocfs2/namei.c
42367 /* At some point it might be nice to break this function up a 44451 /* At some point it might be nice to break this function up a
42368 * bit. */ 44452 * bit. */
42369 44453
42370diff -urNp linux-3.0.4/fs/ocfs2/ocfs2.h linux-3.0.4/fs/ocfs2/ocfs2.h 44454diff -urNp linux-3.0.7/fs/ocfs2/ocfs2.h linux-3.0.7/fs/ocfs2/ocfs2.h
42371--- linux-3.0.4/fs/ocfs2/ocfs2.h 2011-07-21 22:17:23.000000000 -0400 44455--- linux-3.0.7/fs/ocfs2/ocfs2.h 2011-07-21 22:17:23.000000000 -0400
42372+++ linux-3.0.4/fs/ocfs2/ocfs2.h 2011-08-23 21:47:56.000000000 -0400 44456+++ linux-3.0.7/fs/ocfs2/ocfs2.h 2011-08-23 21:47:56.000000000 -0400
42373@@ -235,11 +235,11 @@ enum ocfs2_vol_state 44457@@ -235,11 +235,11 @@ enum ocfs2_vol_state
42374 44458
42375 struct ocfs2_alloc_stats 44459 struct ocfs2_alloc_stats
@@ -42387,9 +44471,9 @@ diff -urNp linux-3.0.4/fs/ocfs2/ocfs2.h linux-3.0.4/fs/ocfs2/ocfs2.h
42387 }; 44471 };
42388 44472
42389 enum ocfs2_local_alloc_state 44473 enum ocfs2_local_alloc_state
42390diff -urNp linux-3.0.4/fs/ocfs2/suballoc.c linux-3.0.4/fs/ocfs2/suballoc.c 44474diff -urNp linux-3.0.7/fs/ocfs2/suballoc.c linux-3.0.7/fs/ocfs2/suballoc.c
42391--- linux-3.0.4/fs/ocfs2/suballoc.c 2011-07-21 22:17:23.000000000 -0400 44475--- linux-3.0.7/fs/ocfs2/suballoc.c 2011-07-21 22:17:23.000000000 -0400
42392+++ linux-3.0.4/fs/ocfs2/suballoc.c 2011-08-23 21:47:56.000000000 -0400 44476+++ linux-3.0.7/fs/ocfs2/suballoc.c 2011-08-23 21:47:56.000000000 -0400
42393@@ -872,7 +872,7 @@ static int ocfs2_reserve_suballoc_bits(s 44477@@ -872,7 +872,7 @@ static int ocfs2_reserve_suballoc_bits(s
42394 mlog_errno(status); 44478 mlog_errno(status);
42395 goto bail; 44479 goto bail;
@@ -42444,9 +44528,9 @@ diff -urNp linux-3.0.4/fs/ocfs2/suballoc.c linux-3.0.4/fs/ocfs2/suballoc.c
42444 *num_clusters = res.sr_bits; 44528 *num_clusters = res.sr_bits;
42445 } 44529 }
42446 } 44530 }
42447diff -urNp linux-3.0.4/fs/ocfs2/super.c linux-3.0.4/fs/ocfs2/super.c 44531diff -urNp linux-3.0.7/fs/ocfs2/super.c linux-3.0.7/fs/ocfs2/super.c
42448--- linux-3.0.4/fs/ocfs2/super.c 2011-07-21 22:17:23.000000000 -0400 44532--- linux-3.0.7/fs/ocfs2/super.c 2011-07-21 22:17:23.000000000 -0400
42449+++ linux-3.0.4/fs/ocfs2/super.c 2011-08-23 21:47:56.000000000 -0400 44533+++ linux-3.0.7/fs/ocfs2/super.c 2011-08-23 21:47:56.000000000 -0400
42450@@ -300,11 +300,11 @@ static int ocfs2_osb_dump(struct ocfs2_s 44534@@ -300,11 +300,11 @@ static int ocfs2_osb_dump(struct ocfs2_s
42451 "%10s => GlobalAllocs: %d LocalAllocs: %d " 44535 "%10s => GlobalAllocs: %d LocalAllocs: %d "
42452 "SubAllocs: %d LAWinMoves: %d SAExtends: %d\n", 44536 "SubAllocs: %d LAWinMoves: %d SAExtends: %d\n",
@@ -42481,9 +44565,9 @@ diff -urNp linux-3.0.4/fs/ocfs2/super.c linux-3.0.4/fs/ocfs2/super.c
42481 44565
42482 /* Copy the blockcheck stats from the superblock probe */ 44566 /* Copy the blockcheck stats from the superblock probe */
42483 osb->osb_ecc_stats = *stats; 44567 osb->osb_ecc_stats = *stats;
42484diff -urNp linux-3.0.4/fs/ocfs2/symlink.c linux-3.0.4/fs/ocfs2/symlink.c 44568diff -urNp linux-3.0.7/fs/ocfs2/symlink.c linux-3.0.7/fs/ocfs2/symlink.c
42485--- linux-3.0.4/fs/ocfs2/symlink.c 2011-07-21 22:17:23.000000000 -0400 44569--- linux-3.0.7/fs/ocfs2/symlink.c 2011-07-21 22:17:23.000000000 -0400
42486+++ linux-3.0.4/fs/ocfs2/symlink.c 2011-08-23 21:47:56.000000000 -0400 44570+++ linux-3.0.7/fs/ocfs2/symlink.c 2011-08-23 21:47:56.000000000 -0400
42487@@ -142,7 +142,7 @@ bail: 44571@@ -142,7 +142,7 @@ bail:
42488 44572
42489 static void ocfs2_fast_put_link(struct dentry *dentry, struct nameidata *nd, void *cookie) 44573 static void ocfs2_fast_put_link(struct dentry *dentry, struct nameidata *nd, void *cookie)
@@ -42493,9 +44577,9 @@ diff -urNp linux-3.0.4/fs/ocfs2/symlink.c linux-3.0.4/fs/ocfs2/symlink.c
42493 if (!IS_ERR(link)) 44577 if (!IS_ERR(link))
42494 kfree(link); 44578 kfree(link);
42495 } 44579 }
42496diff -urNp linux-3.0.4/fs/open.c linux-3.0.4/fs/open.c 44580diff -urNp linux-3.0.7/fs/open.c linux-3.0.7/fs/open.c
42497--- linux-3.0.4/fs/open.c 2011-07-21 22:17:23.000000000 -0400 44581--- linux-3.0.7/fs/open.c 2011-07-21 22:17:23.000000000 -0400
42498+++ linux-3.0.4/fs/open.c 2011-09-14 09:16:46.000000000 -0400 44582+++ linux-3.0.7/fs/open.c 2011-09-14 09:16:46.000000000 -0400
42499@@ -112,6 +112,10 @@ static long do_sys_truncate(const char _ 44583@@ -112,6 +112,10 @@ static long do_sys_truncate(const char _
42500 error = locks_verify_truncate(inode, NULL, length); 44584 error = locks_verify_truncate(inode, NULL, length);
42501 if (!error) 44585 if (!error)
@@ -42628,9 +44712,9 @@ diff -urNp linux-3.0.4/fs/open.c linux-3.0.4/fs/open.c
42628 if (IS_ERR(f)) { 44712 if (IS_ERR(f)) {
42629 put_unused_fd(fd); 44713 put_unused_fd(fd);
42630 fd = PTR_ERR(f); 44714 fd = PTR_ERR(f);
42631diff -urNp linux-3.0.4/fs/partitions/ldm.c linux-3.0.4/fs/partitions/ldm.c 44715diff -urNp linux-3.0.7/fs/partitions/ldm.c linux-3.0.7/fs/partitions/ldm.c
42632--- linux-3.0.4/fs/partitions/ldm.c 2011-07-21 22:17:23.000000000 -0400 44716--- linux-3.0.7/fs/partitions/ldm.c 2011-07-21 22:17:23.000000000 -0400
42633+++ linux-3.0.4/fs/partitions/ldm.c 2011-08-23 21:48:14.000000000 -0400 44717+++ linux-3.0.7/fs/partitions/ldm.c 2011-08-23 21:48:14.000000000 -0400
42634@@ -1311,6 +1311,7 @@ static bool ldm_frag_add (const u8 *data 44718@@ -1311,6 +1311,7 @@ static bool ldm_frag_add (const u8 *data
42635 ldm_error ("A VBLK claims to have %d parts.", num); 44719 ldm_error ("A VBLK claims to have %d parts.", num);
42636 return false; 44720 return false;
@@ -42648,9 +44732,9 @@ diff -urNp linux-3.0.4/fs/partitions/ldm.c linux-3.0.4/fs/partitions/ldm.c
42648 if (!f) { 44732 if (!f) {
42649 ldm_crit ("Out of memory."); 44733 ldm_crit ("Out of memory.");
42650 return false; 44734 return false;
42651diff -urNp linux-3.0.4/fs/pipe.c linux-3.0.4/fs/pipe.c 44735diff -urNp linux-3.0.7/fs/pipe.c linux-3.0.7/fs/pipe.c
42652--- linux-3.0.4/fs/pipe.c 2011-07-21 22:17:23.000000000 -0400 44736--- linux-3.0.7/fs/pipe.c 2011-07-21 22:17:23.000000000 -0400
42653+++ linux-3.0.4/fs/pipe.c 2011-08-23 21:48:14.000000000 -0400 44737+++ linux-3.0.7/fs/pipe.c 2011-08-23 21:48:14.000000000 -0400
42654@@ -420,9 +420,9 @@ redo: 44738@@ -420,9 +420,9 @@ redo:
42655 } 44739 }
42656 if (bufs) /* More to do? */ 44740 if (bufs) /* More to do? */
@@ -42774,9 +44858,9 @@ diff -urNp linux-3.0.4/fs/pipe.c linux-3.0.4/fs/pipe.c
42774 inode->i_fop = &rdwr_pipefifo_fops; 44858 inode->i_fop = &rdwr_pipefifo_fops;
42775 44859
42776 /* 44860 /*
42777diff -urNp linux-3.0.4/fs/proc/array.c linux-3.0.4/fs/proc/array.c 44861diff -urNp linux-3.0.7/fs/proc/array.c linux-3.0.7/fs/proc/array.c
42778--- linux-3.0.4/fs/proc/array.c 2011-07-21 22:17:23.000000000 -0400 44862--- linux-3.0.7/fs/proc/array.c 2011-07-21 22:17:23.000000000 -0400
42779+++ linux-3.0.4/fs/proc/array.c 2011-08-23 21:48:14.000000000 -0400 44863+++ linux-3.0.7/fs/proc/array.c 2011-08-23 21:48:14.000000000 -0400
42780@@ -60,6 +60,7 @@ 44864@@ -60,6 +60,7 @@
42781 #include <linux/tty.h> 44865 #include <linux/tty.h>
42782 #include <linux/string.h> 44866 #include <linux/string.h>
@@ -42900,9 +44984,9 @@ diff -urNp linux-3.0.4/fs/proc/array.c linux-3.0.4/fs/proc/array.c
42900+ return sprintf(buffer, "%pI4\n", &curr_ip); 44984+ return sprintf(buffer, "%pI4\n", &curr_ip);
42901+} 44985+}
42902+#endif 44986+#endif
42903diff -urNp linux-3.0.4/fs/proc/base.c linux-3.0.4/fs/proc/base.c 44987diff -urNp linux-3.0.7/fs/proc/base.c linux-3.0.7/fs/proc/base.c
42904--- linux-3.0.4/fs/proc/base.c 2011-09-02 18:11:21.000000000 -0400 44988--- linux-3.0.7/fs/proc/base.c 2011-09-02 18:11:21.000000000 -0400
42905+++ linux-3.0.4/fs/proc/base.c 2011-09-13 14:50:28.000000000 -0400 44989+++ linux-3.0.7/fs/proc/base.c 2011-10-17 06:38:10.000000000 -0400
42906@@ -107,6 +107,22 @@ struct pid_entry { 44990@@ -107,6 +107,22 @@ struct pid_entry {
42907 union proc_op op; 44991 union proc_op op;
42908 }; 44992 };
@@ -43118,12 +45202,12 @@ diff -urNp linux-3.0.4/fs/proc/base.c linux-3.0.4/fs/proc/base.c
43118+#else 45202+#else
43119 stat->gid = cred->egid; 45203 stat->gid = cred->egid;
43120+#endif 45204+#endif
43121 } 45205+ }
43122+#if defined(CONFIG_GRKERNSEC_PROC_USER) || defined(CONFIG_GRKERNSEC_PROC_USERGROUP) 45206+#if defined(CONFIG_GRKERNSEC_PROC_USER) || defined(CONFIG_GRKERNSEC_PROC_USERGROUP)
43123+ } else { 45207+ } else {
43124+ rcu_read_unlock(); 45208+ rcu_read_unlock();
43125+ return -ENOENT; 45209+ return -ENOENT;
43126+ } 45210 }
43127+#endif 45211+#endif
43128 } 45212 }
43129 rcu_read_unlock(); 45213 rcu_read_unlock();
@@ -43212,7 +45296,17 @@ diff -urNp linux-3.0.4/fs/proc/base.c linux-3.0.4/fs/proc/base.c
43212 if (!IS_ERR(s)) 45296 if (!IS_ERR(s))
43213 __putname(s); 45297 __putname(s);
43214 } 45298 }
43215@@ -2795,7 +2910,7 @@ static const struct pid_entry tgid_base_ 45299@@ -2656,6 +2771,9 @@ static struct dentry *proc_base_instanti
45300 if (p->fop)
45301 inode->i_fop = p->fop;
45302 ei->op = p->op;
45303+
45304+ gr_handle_proc_create(dentry, inode);
45305+
45306 d_add(dentry, inode);
45307 error = NULL;
45308 out:
45309@@ -2795,7 +2913,7 @@ static const struct pid_entry tgid_base_
43216 REG("autogroup", S_IRUGO|S_IWUSR, proc_pid_sched_autogroup_operations), 45310 REG("autogroup", S_IRUGO|S_IWUSR, proc_pid_sched_autogroup_operations),
43217 #endif 45311 #endif
43218 REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations), 45312 REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations),
@@ -43221,7 +45315,7 @@ diff -urNp linux-3.0.4/fs/proc/base.c linux-3.0.4/fs/proc/base.c
43221 INF("syscall", S_IRUGO, proc_pid_syscall), 45315 INF("syscall", S_IRUGO, proc_pid_syscall),
43222 #endif 45316 #endif
43223 INF("cmdline", S_IRUGO, proc_pid_cmdline), 45317 INF("cmdline", S_IRUGO, proc_pid_cmdline),
43224@@ -2820,10 +2935,10 @@ static const struct pid_entry tgid_base_ 45318@@ -2820,10 +2938,10 @@ static const struct pid_entry tgid_base_
43225 #ifdef CONFIG_SECURITY 45319 #ifdef CONFIG_SECURITY
43226 DIR("attr", S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, proc_attr_dir_operations), 45320 DIR("attr", S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, proc_attr_dir_operations),
43227 #endif 45321 #endif
@@ -43234,7 +45328,7 @@ diff -urNp linux-3.0.4/fs/proc/base.c linux-3.0.4/fs/proc/base.c
43234 ONE("stack", S_IRUGO, proc_pid_stack), 45328 ONE("stack", S_IRUGO, proc_pid_stack),
43235 #endif 45329 #endif
43236 #ifdef CONFIG_SCHEDSTATS 45330 #ifdef CONFIG_SCHEDSTATS
43237@@ -2857,6 +2972,9 @@ static const struct pid_entry tgid_base_ 45331@@ -2857,6 +2975,9 @@ static const struct pid_entry tgid_base_
43238 #ifdef CONFIG_HARDWALL 45332 #ifdef CONFIG_HARDWALL
43239 INF("hardwall", S_IRUGO, proc_pid_hardwall), 45333 INF("hardwall", S_IRUGO, proc_pid_hardwall),
43240 #endif 45334 #endif
@@ -43244,7 +45338,7 @@ diff -urNp linux-3.0.4/fs/proc/base.c linux-3.0.4/fs/proc/base.c
43244 }; 45338 };
43245 45339
43246 static int proc_tgid_base_readdir(struct file * filp, 45340 static int proc_tgid_base_readdir(struct file * filp,
43247@@ -2982,7 +3100,14 @@ static struct dentry *proc_pid_instantia 45341@@ -2982,7 +3103,14 @@ static struct dentry *proc_pid_instantia
43248 if (!inode) 45342 if (!inode)
43249 goto out; 45343 goto out;
43250 45344
@@ -43259,10 +45353,13 @@ diff -urNp linux-3.0.4/fs/proc/base.c linux-3.0.4/fs/proc/base.c
43259 inode->i_op = &proc_tgid_base_inode_operations; 45353 inode->i_op = &proc_tgid_base_inode_operations;
43260 inode->i_fop = &proc_tgid_base_operations; 45354 inode->i_fop = &proc_tgid_base_operations;
43261 inode->i_flags|=S_IMMUTABLE; 45355 inode->i_flags|=S_IMMUTABLE;
43262@@ -3024,7 +3149,11 @@ struct dentry *proc_pid_lookup(struct in 45356@@ -3024,7 +3152,14 @@ struct dentry *proc_pid_lookup(struct in
43263 if (!task) 45357 if (!task)
43264 goto out; 45358 goto out;
43265 45359
45360+ if (!has_group_leader_pid(task))
45361+ goto out_put_task;
45362+
43266+ if (gr_pid_is_chrooted(task) || gr_check_hidden_task(task)) 45363+ if (gr_pid_is_chrooted(task) || gr_check_hidden_task(task))
43267+ goto out_put_task; 45364+ goto out_put_task;
43268+ 45365+
@@ -43271,7 +45368,7 @@ diff -urNp linux-3.0.4/fs/proc/base.c linux-3.0.4/fs/proc/base.c
43271 put_task_struct(task); 45368 put_task_struct(task);
43272 out: 45369 out:
43273 return result; 45370 return result;
43274@@ -3089,6 +3218,11 @@ int proc_pid_readdir(struct file * filp, 45371@@ -3089,6 +3224,11 @@ int proc_pid_readdir(struct file * filp,
43275 { 45372 {
43276 unsigned int nr; 45373 unsigned int nr;
43277 struct task_struct *reaper; 45374 struct task_struct *reaper;
@@ -43283,7 +45380,7 @@ diff -urNp linux-3.0.4/fs/proc/base.c linux-3.0.4/fs/proc/base.c
43283 struct tgid_iter iter; 45380 struct tgid_iter iter;
43284 struct pid_namespace *ns; 45381 struct pid_namespace *ns;
43285 45382
43286@@ -3112,8 +3246,27 @@ int proc_pid_readdir(struct file * filp, 45383@@ -3112,8 +3252,27 @@ int proc_pid_readdir(struct file * filp,
43287 for (iter = next_tgid(ns, iter); 45384 for (iter = next_tgid(ns, iter);
43288 iter.task; 45385 iter.task;
43289 iter.tgid += 1, iter = next_tgid(ns, iter)) { 45386 iter.tgid += 1, iter = next_tgid(ns, iter)) {
@@ -43312,7 +45409,7 @@ diff -urNp linux-3.0.4/fs/proc/base.c linux-3.0.4/fs/proc/base.c
43312 put_task_struct(iter.task); 45409 put_task_struct(iter.task);
43313 goto out; 45410 goto out;
43314 } 45411 }
43315@@ -3141,7 +3294,7 @@ static const struct pid_entry tid_base_s 45412@@ -3141,7 +3300,7 @@ static const struct pid_entry tid_base_s
43316 REG("sched", S_IRUGO|S_IWUSR, proc_pid_sched_operations), 45413 REG("sched", S_IRUGO|S_IWUSR, proc_pid_sched_operations),
43317 #endif 45414 #endif
43318 REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations), 45415 REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations),
@@ -43321,7 +45418,7 @@ diff -urNp linux-3.0.4/fs/proc/base.c linux-3.0.4/fs/proc/base.c
43321 INF("syscall", S_IRUGO, proc_pid_syscall), 45418 INF("syscall", S_IRUGO, proc_pid_syscall),
43322 #endif 45419 #endif
43323 INF("cmdline", S_IRUGO, proc_pid_cmdline), 45420 INF("cmdline", S_IRUGO, proc_pid_cmdline),
43324@@ -3165,10 +3318,10 @@ static const struct pid_entry tid_base_s 45421@@ -3165,10 +3324,10 @@ static const struct pid_entry tid_base_s
43325 #ifdef CONFIG_SECURITY 45422 #ifdef CONFIG_SECURITY
43326 DIR("attr", S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, proc_attr_dir_operations), 45423 DIR("attr", S_IRUGO|S_IXUGO, proc_attr_dir_inode_operations, proc_attr_dir_operations),
43327 #endif 45424 #endif
@@ -43334,9 +45431,9 @@ diff -urNp linux-3.0.4/fs/proc/base.c linux-3.0.4/fs/proc/base.c
43334 ONE("stack", S_IRUGO, proc_pid_stack), 45431 ONE("stack", S_IRUGO, proc_pid_stack),
43335 #endif 45432 #endif
43336 #ifdef CONFIG_SCHEDSTATS 45433 #ifdef CONFIG_SCHEDSTATS
43337diff -urNp linux-3.0.4/fs/proc/cmdline.c linux-3.0.4/fs/proc/cmdline.c 45434diff -urNp linux-3.0.7/fs/proc/cmdline.c linux-3.0.7/fs/proc/cmdline.c
43338--- linux-3.0.4/fs/proc/cmdline.c 2011-07-21 22:17:23.000000000 -0400 45435--- linux-3.0.7/fs/proc/cmdline.c 2011-07-21 22:17:23.000000000 -0400
43339+++ linux-3.0.4/fs/proc/cmdline.c 2011-08-23 21:48:14.000000000 -0400 45436+++ linux-3.0.7/fs/proc/cmdline.c 2011-08-23 21:48:14.000000000 -0400
43340@@ -23,7 +23,11 @@ static const struct file_operations cmdl 45437@@ -23,7 +23,11 @@ static const struct file_operations cmdl
43341 45438
43342 static int __init proc_cmdline_init(void) 45439 static int __init proc_cmdline_init(void)
@@ -43349,9 +45446,9 @@ diff -urNp linux-3.0.4/fs/proc/cmdline.c linux-3.0.4/fs/proc/cmdline.c
43349 return 0; 45446 return 0;
43350 } 45447 }
43351 module_init(proc_cmdline_init); 45448 module_init(proc_cmdline_init);
43352diff -urNp linux-3.0.4/fs/proc/devices.c linux-3.0.4/fs/proc/devices.c 45449diff -urNp linux-3.0.7/fs/proc/devices.c linux-3.0.7/fs/proc/devices.c
43353--- linux-3.0.4/fs/proc/devices.c 2011-07-21 22:17:23.000000000 -0400 45450--- linux-3.0.7/fs/proc/devices.c 2011-07-21 22:17:23.000000000 -0400
43354+++ linux-3.0.4/fs/proc/devices.c 2011-08-23 21:48:14.000000000 -0400 45451+++ linux-3.0.7/fs/proc/devices.c 2011-08-23 21:48:14.000000000 -0400
43355@@ -64,7 +64,11 @@ static const struct file_operations proc 45452@@ -64,7 +64,11 @@ static const struct file_operations proc
43356 45453
43357 static int __init proc_devices_init(void) 45454 static int __init proc_devices_init(void)
@@ -43364,10 +45461,36 @@ diff -urNp linux-3.0.4/fs/proc/devices.c linux-3.0.4/fs/proc/devices.c
43364 return 0; 45461 return 0;
43365 } 45462 }
43366 module_init(proc_devices_init); 45463 module_init(proc_devices_init);
43367diff -urNp linux-3.0.4/fs/proc/inode.c linux-3.0.4/fs/proc/inode.c 45464diff -urNp linux-3.0.7/fs/proc/inode.c linux-3.0.7/fs/proc/inode.c
43368--- linux-3.0.4/fs/proc/inode.c 2011-07-21 22:17:23.000000000 -0400 45465--- linux-3.0.7/fs/proc/inode.c 2011-07-21 22:17:23.000000000 -0400
43369+++ linux-3.0.4/fs/proc/inode.c 2011-08-23 21:48:14.000000000 -0400 45466+++ linux-3.0.7/fs/proc/inode.c 2011-10-17 06:56:02.000000000 -0400
43370@@ -440,7 +440,11 @@ struct inode *proc_get_inode(struct supe 45467@@ -18,6 +18,7 @@
45468 #include <linux/module.h>
45469 #include <linux/sysctl.h>
45470 #include <linux/slab.h>
45471+#include <linux/grsecurity.h>
45472
45473 #include <asm/system.h>
45474 #include <asm/uaccess.h>
45475@@ -102,10 +103,16 @@ void __init proc_init_inodecache(void)
45476 init_once);
45477 }
45478
45479+static int proc_drop_inode(struct inode *inode)
45480+{
45481+ gr_handle_delete(inode->i_ino, inode->i_sb->s_dev);
45482+ return generic_delete_inode(inode);
45483+}
45484+
45485 static const struct super_operations proc_sops = {
45486 .alloc_inode = proc_alloc_inode,
45487 .destroy_inode = proc_destroy_inode,
45488- .drop_inode = generic_delete_inode,
45489+ .drop_inode = proc_drop_inode,
45490 .evict_inode = proc_evict_inode,
45491 .statfs = simple_statfs,
45492 };
45493@@ -440,7 +447,11 @@ struct inode *proc_get_inode(struct supe
43371 if (de->mode) { 45494 if (de->mode) {
43372 inode->i_mode = de->mode; 45495 inode->i_mode = de->mode;
43373 inode->i_uid = de->uid; 45496 inode->i_uid = de->uid;
@@ -43379,9 +45502,9 @@ diff -urNp linux-3.0.4/fs/proc/inode.c linux-3.0.4/fs/proc/inode.c
43379 } 45502 }
43380 if (de->size) 45503 if (de->size)
43381 inode->i_size = de->size; 45504 inode->i_size = de->size;
43382diff -urNp linux-3.0.4/fs/proc/internal.h linux-3.0.4/fs/proc/internal.h 45505diff -urNp linux-3.0.7/fs/proc/internal.h linux-3.0.7/fs/proc/internal.h
43383--- linux-3.0.4/fs/proc/internal.h 2011-07-21 22:17:23.000000000 -0400 45506--- linux-3.0.7/fs/proc/internal.h 2011-07-21 22:17:23.000000000 -0400
43384+++ linux-3.0.4/fs/proc/internal.h 2011-08-23 21:48:14.000000000 -0400 45507+++ linux-3.0.7/fs/proc/internal.h 2011-08-23 21:48:14.000000000 -0400
43385@@ -51,6 +51,9 @@ extern int proc_pid_status(struct seq_fi 45508@@ -51,6 +51,9 @@ extern int proc_pid_status(struct seq_fi
43386 struct pid *pid, struct task_struct *task); 45509 struct pid *pid, struct task_struct *task);
43387 extern int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns, 45510 extern int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns,
@@ -43392,9 +45515,9 @@ diff -urNp linux-3.0.4/fs/proc/internal.h linux-3.0.4/fs/proc/internal.h
43392 extern loff_t mem_lseek(struct file *file, loff_t offset, int orig); 45515 extern loff_t mem_lseek(struct file *file, loff_t offset, int orig);
43393 45516
43394 extern const struct file_operations proc_maps_operations; 45517 extern const struct file_operations proc_maps_operations;
43395diff -urNp linux-3.0.4/fs/proc/Kconfig linux-3.0.4/fs/proc/Kconfig 45518diff -urNp linux-3.0.7/fs/proc/Kconfig linux-3.0.7/fs/proc/Kconfig
43396--- linux-3.0.4/fs/proc/Kconfig 2011-07-21 22:17:23.000000000 -0400 45519--- linux-3.0.7/fs/proc/Kconfig 2011-07-21 22:17:23.000000000 -0400
43397+++ linux-3.0.4/fs/proc/Kconfig 2011-08-23 21:48:14.000000000 -0400 45520+++ linux-3.0.7/fs/proc/Kconfig 2011-08-23 21:48:14.000000000 -0400
43398@@ -30,12 +30,12 @@ config PROC_FS 45521@@ -30,12 +30,12 @@ config PROC_FS
43399 45522
43400 config PROC_KCORE 45523 config PROC_KCORE
@@ -43422,9 +45545,9 @@ diff -urNp linux-3.0.4/fs/proc/Kconfig linux-3.0.4/fs/proc/Kconfig
43422 bool "Enable /proc page monitoring" if EXPERT 45545 bool "Enable /proc page monitoring" if EXPERT
43423 help 45546 help
43424 Various /proc files exist to monitor process memory utilization: 45547 Various /proc files exist to monitor process memory utilization:
43425diff -urNp linux-3.0.4/fs/proc/kcore.c linux-3.0.4/fs/proc/kcore.c 45548diff -urNp linux-3.0.7/fs/proc/kcore.c linux-3.0.7/fs/proc/kcore.c
43426--- linux-3.0.4/fs/proc/kcore.c 2011-07-21 22:17:23.000000000 -0400 45549--- linux-3.0.7/fs/proc/kcore.c 2011-07-21 22:17:23.000000000 -0400
43427+++ linux-3.0.4/fs/proc/kcore.c 2011-08-23 21:48:14.000000000 -0400 45550+++ linux-3.0.7/fs/proc/kcore.c 2011-08-23 21:48:14.000000000 -0400
43428@@ -321,6 +321,8 @@ static void elf_kcore_store_hdr(char *bu 45551@@ -321,6 +321,8 @@ static void elf_kcore_store_hdr(char *bu
43429 off_t offset = 0; 45552 off_t offset = 0;
43430 struct kcore_list *m; 45553 struct kcore_list *m;
@@ -43492,9 +45615,9 @@ diff -urNp linux-3.0.4/fs/proc/kcore.c linux-3.0.4/fs/proc/kcore.c
43492 if (!capable(CAP_SYS_RAWIO)) 45615 if (!capable(CAP_SYS_RAWIO))
43493 return -EPERM; 45616 return -EPERM;
43494 if (kcore_need_update) 45617 if (kcore_need_update)
43495diff -urNp linux-3.0.4/fs/proc/meminfo.c linux-3.0.4/fs/proc/meminfo.c 45618diff -urNp linux-3.0.7/fs/proc/meminfo.c linux-3.0.7/fs/proc/meminfo.c
43496--- linux-3.0.4/fs/proc/meminfo.c 2011-07-21 22:17:23.000000000 -0400 45619--- linux-3.0.7/fs/proc/meminfo.c 2011-07-21 22:17:23.000000000 -0400
43497+++ linux-3.0.4/fs/proc/meminfo.c 2011-08-23 21:48:14.000000000 -0400 45620+++ linux-3.0.7/fs/proc/meminfo.c 2011-08-23 21:48:14.000000000 -0400
43498@@ -29,6 +29,8 @@ static int meminfo_proc_show(struct seq_ 45621@@ -29,6 +29,8 @@ static int meminfo_proc_show(struct seq_
43499 unsigned long pages[NR_LRU_LISTS]; 45622 unsigned long pages[NR_LRU_LISTS];
43500 int lru; 45623 int lru;
@@ -43513,9 +45636,9 @@ diff -urNp linux-3.0.4/fs/proc/meminfo.c linux-3.0.4/fs/proc/meminfo.c
43513 #endif 45636 #endif
43514 #ifdef CONFIG_TRANSPARENT_HUGEPAGE 45637 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
43515 ,K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) * 45638 ,K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) *
43516diff -urNp linux-3.0.4/fs/proc/nommu.c linux-3.0.4/fs/proc/nommu.c 45639diff -urNp linux-3.0.7/fs/proc/nommu.c linux-3.0.7/fs/proc/nommu.c
43517--- linux-3.0.4/fs/proc/nommu.c 2011-07-21 22:17:23.000000000 -0400 45640--- linux-3.0.7/fs/proc/nommu.c 2011-07-21 22:17:23.000000000 -0400
43518+++ linux-3.0.4/fs/proc/nommu.c 2011-08-23 21:47:56.000000000 -0400 45641+++ linux-3.0.7/fs/proc/nommu.c 2011-08-23 21:47:56.000000000 -0400
43519@@ -66,7 +66,7 @@ static int nommu_region_show(struct seq_ 45642@@ -66,7 +66,7 @@ static int nommu_region_show(struct seq_
43520 if (len < 1) 45643 if (len < 1)
43521 len = 1; 45644 len = 1;
@@ -43525,9 +45648,9 @@ diff -urNp linux-3.0.4/fs/proc/nommu.c linux-3.0.4/fs/proc/nommu.c
43525 } 45648 }
43526 45649
43527 seq_putc(m, '\n'); 45650 seq_putc(m, '\n');
43528diff -urNp linux-3.0.4/fs/proc/proc_net.c linux-3.0.4/fs/proc/proc_net.c 45651diff -urNp linux-3.0.7/fs/proc/proc_net.c linux-3.0.7/fs/proc/proc_net.c
43529--- linux-3.0.4/fs/proc/proc_net.c 2011-07-21 22:17:23.000000000 -0400 45652--- linux-3.0.7/fs/proc/proc_net.c 2011-07-21 22:17:23.000000000 -0400
43530+++ linux-3.0.4/fs/proc/proc_net.c 2011-08-23 21:48:14.000000000 -0400 45653+++ linux-3.0.7/fs/proc/proc_net.c 2011-08-23 21:48:14.000000000 -0400
43531@@ -105,6 +105,17 @@ static struct net *get_proc_task_net(str 45654@@ -105,6 +105,17 @@ static struct net *get_proc_task_net(str
43532 struct task_struct *task; 45655 struct task_struct *task;
43533 struct nsproxy *ns; 45656 struct nsproxy *ns;
@@ -43546,9 +45669,9 @@ diff -urNp linux-3.0.4/fs/proc/proc_net.c linux-3.0.4/fs/proc/proc_net.c
43546 45669
43547 rcu_read_lock(); 45670 rcu_read_lock();
43548 task = pid_task(proc_pid(dir), PIDTYPE_PID); 45671 task = pid_task(proc_pid(dir), PIDTYPE_PID);
43549diff -urNp linux-3.0.4/fs/proc/proc_sysctl.c linux-3.0.4/fs/proc/proc_sysctl.c 45672diff -urNp linux-3.0.7/fs/proc/proc_sysctl.c linux-3.0.7/fs/proc/proc_sysctl.c
43550--- linux-3.0.4/fs/proc/proc_sysctl.c 2011-07-21 22:17:23.000000000 -0400 45673--- linux-3.0.7/fs/proc/proc_sysctl.c 2011-07-21 22:17:23.000000000 -0400
43551+++ linux-3.0.4/fs/proc/proc_sysctl.c 2011-08-23 21:48:14.000000000 -0400 45674+++ linux-3.0.7/fs/proc/proc_sysctl.c 2011-10-17 06:39:12.000000000 -0400
43552@@ -8,6 +8,8 @@ 45675@@ -8,6 +8,8 @@
43553 #include <linux/namei.h> 45676 #include <linux/namei.h>
43554 #include "internal.h" 45677 #include "internal.h"
@@ -43568,7 +45691,27 @@ diff -urNp linux-3.0.4/fs/proc/proc_sysctl.c linux-3.0.4/fs/proc/proc_sysctl.c
43568 err = ERR_PTR(-ENOMEM); 45691 err = ERR_PTR(-ENOMEM);
43569 inode = proc_sys_make_inode(dir->i_sb, h ? h : head, p); 45692 inode = proc_sys_make_inode(dir->i_sb, h ? h : head, p);
43570 if (h) 45693 if (h)
43571@@ -230,6 +235,9 @@ static int scan(struct ctl_table_header 45694@@ -121,6 +126,9 @@ static struct dentry *proc_sys_lookup(st
45695
45696 err = NULL;
45697 d_set_d_op(dentry, &proc_sys_dentry_operations);
45698+
45699+ gr_handle_proc_create(dentry, inode);
45700+
45701 d_add(dentry, inode);
45702
45703 out:
45704@@ -202,6 +210,9 @@ static int proc_sys_fill_cache(struct fi
45705 return -ENOMEM;
45706 } else {
45707 d_set_d_op(child, &proc_sys_dentry_operations);
45708+
45709+ gr_handle_proc_create(child, inode);
45710+
45711 d_add(child, inode);
45712 }
45713 } else {
45714@@ -230,6 +241,9 @@ static int scan(struct ctl_table_header
43572 if (*pos < file->f_pos) 45715 if (*pos < file->f_pos)
43573 continue; 45716 continue;
43574 45717
@@ -43578,7 +45721,7 @@ diff -urNp linux-3.0.4/fs/proc/proc_sysctl.c linux-3.0.4/fs/proc/proc_sysctl.c
43578 res = proc_sys_fill_cache(file, dirent, filldir, head, table); 45721 res = proc_sys_fill_cache(file, dirent, filldir, head, table);
43579 if (res) 45722 if (res)
43580 return res; 45723 return res;
43581@@ -355,6 +363,9 @@ static int proc_sys_getattr(struct vfsmo 45724@@ -355,6 +369,9 @@ static int proc_sys_getattr(struct vfsmo
43582 if (IS_ERR(head)) 45725 if (IS_ERR(head))
43583 return PTR_ERR(head); 45726 return PTR_ERR(head);
43584 45727
@@ -43588,9 +45731,9 @@ diff -urNp linux-3.0.4/fs/proc/proc_sysctl.c linux-3.0.4/fs/proc/proc_sysctl.c
43588 generic_fillattr(inode, stat); 45731 generic_fillattr(inode, stat);
43589 if (table) 45732 if (table)
43590 stat->mode = (stat->mode & S_IFMT) | table->mode; 45733 stat->mode = (stat->mode & S_IFMT) | table->mode;
43591diff -urNp linux-3.0.4/fs/proc/root.c linux-3.0.4/fs/proc/root.c 45734diff -urNp linux-3.0.7/fs/proc/root.c linux-3.0.7/fs/proc/root.c
43592--- linux-3.0.4/fs/proc/root.c 2011-07-21 22:17:23.000000000 -0400 45735--- linux-3.0.7/fs/proc/root.c 2011-07-21 22:17:23.000000000 -0400
43593+++ linux-3.0.4/fs/proc/root.c 2011-08-23 21:48:14.000000000 -0400 45736+++ linux-3.0.7/fs/proc/root.c 2011-08-23 21:48:14.000000000 -0400
43594@@ -123,7 +123,15 @@ void __init proc_root_init(void) 45737@@ -123,7 +123,15 @@ void __init proc_root_init(void)
43595 #ifdef CONFIG_PROC_DEVICETREE 45738 #ifdef CONFIG_PROC_DEVICETREE
43596 proc_device_tree_init(); 45739 proc_device_tree_init();
@@ -43607,9 +45750,9 @@ diff -urNp linux-3.0.4/fs/proc/root.c linux-3.0.4/fs/proc/root.c
43607 proc_sys_init(); 45750 proc_sys_init();
43608 } 45751 }
43609 45752
43610diff -urNp linux-3.0.4/fs/proc/task_mmu.c linux-3.0.4/fs/proc/task_mmu.c 45753diff -urNp linux-3.0.7/fs/proc/task_mmu.c linux-3.0.7/fs/proc/task_mmu.c
43611--- linux-3.0.4/fs/proc/task_mmu.c 2011-07-21 22:17:23.000000000 -0400 45754--- linux-3.0.7/fs/proc/task_mmu.c 2011-10-16 21:54:54.000000000 -0400
43612+++ linux-3.0.4/fs/proc/task_mmu.c 2011-08-23 21:48:14.000000000 -0400 45755+++ linux-3.0.7/fs/proc/task_mmu.c 2011-10-16 21:55:28.000000000 -0400
43613@@ -51,8 +51,13 @@ void task_mem(struct seq_file *m, struct 45756@@ -51,8 +51,13 @@ void task_mem(struct seq_file *m, struct
43614 "VmExe:\t%8lu kB\n" 45757 "VmExe:\t%8lu kB\n"
43615 "VmLib:\t%8lu kB\n" 45758 "VmLib:\t%8lu kB\n"
@@ -43740,7 +45883,7 @@ diff -urNp linux-3.0.4/fs/proc/task_mmu.c linux-3.0.4/fs/proc/task_mmu.c
43740 mss.resident >> 10, 45883 mss.resident >> 10,
43741 (unsigned long)(mss.pss >> (10 + PSS_SHIFT)), 45884 (unsigned long)(mss.pss >> (10 + PSS_SHIFT)),
43742 mss.shared_clean >> 10, 45885 mss.shared_clean >> 10,
43743@@ -1001,7 +1032,7 @@ static int show_numa_map(struct seq_file 45886@@ -1031,7 +1062,7 @@ static int show_numa_map(struct seq_file
43744 45887
43745 if (file) { 45888 if (file) {
43746 seq_printf(m, " file="); 45889 seq_printf(m, " file=");
@@ -43749,9 +45892,9 @@ diff -urNp linux-3.0.4/fs/proc/task_mmu.c linux-3.0.4/fs/proc/task_mmu.c
43749 } else if (vma->vm_start <= mm->brk && vma->vm_end >= mm->start_brk) { 45892 } else if (vma->vm_start <= mm->brk && vma->vm_end >= mm->start_brk) {
43750 seq_printf(m, " heap"); 45893 seq_printf(m, " heap");
43751 } else if (vma->vm_start <= mm->start_stack && 45894 } else if (vma->vm_start <= mm->start_stack &&
43752diff -urNp linux-3.0.4/fs/proc/task_nommu.c linux-3.0.4/fs/proc/task_nommu.c 45895diff -urNp linux-3.0.7/fs/proc/task_nommu.c linux-3.0.7/fs/proc/task_nommu.c
43753--- linux-3.0.4/fs/proc/task_nommu.c 2011-07-21 22:17:23.000000000 -0400 45896--- linux-3.0.7/fs/proc/task_nommu.c 2011-07-21 22:17:23.000000000 -0400
43754+++ linux-3.0.4/fs/proc/task_nommu.c 2011-08-23 21:47:56.000000000 -0400 45897+++ linux-3.0.7/fs/proc/task_nommu.c 2011-08-23 21:47:56.000000000 -0400
43755@@ -51,7 +51,7 @@ void task_mem(struct seq_file *m, struct 45898@@ -51,7 +51,7 @@ void task_mem(struct seq_file *m, struct
43756 else 45899 else
43757 bytes += kobjsize(mm); 45900 bytes += kobjsize(mm);
@@ -43770,9 +45913,9 @@ diff -urNp linux-3.0.4/fs/proc/task_nommu.c linux-3.0.4/fs/proc/task_nommu.c
43770 } else if (mm) { 45913 } else if (mm) {
43771 if (vma->vm_start <= mm->start_stack && 45914 if (vma->vm_start <= mm->start_stack &&
43772 vma->vm_end >= mm->start_stack) { 45915 vma->vm_end >= mm->start_stack) {
43773diff -urNp linux-3.0.4/fs/quota/netlink.c linux-3.0.4/fs/quota/netlink.c 45916diff -urNp linux-3.0.7/fs/quota/netlink.c linux-3.0.7/fs/quota/netlink.c
43774--- linux-3.0.4/fs/quota/netlink.c 2011-07-21 22:17:23.000000000 -0400 45917--- linux-3.0.7/fs/quota/netlink.c 2011-07-21 22:17:23.000000000 -0400
43775+++ linux-3.0.4/fs/quota/netlink.c 2011-08-23 21:47:56.000000000 -0400 45918+++ linux-3.0.7/fs/quota/netlink.c 2011-08-23 21:47:56.000000000 -0400
43776@@ -33,7 +33,7 @@ static struct genl_family quota_genl_fam 45919@@ -33,7 +33,7 @@ static struct genl_family quota_genl_fam
43777 void quota_send_warning(short type, unsigned int id, dev_t dev, 45920 void quota_send_warning(short type, unsigned int id, dev_t dev,
43778 const char warntype) 45921 const char warntype)
@@ -43791,9 +45934,9 @@ diff -urNp linux-3.0.4/fs/quota/netlink.c linux-3.0.4/fs/quota/netlink.c
43791 &quota_genl_family, 0, QUOTA_NL_C_WARNING); 45934 &quota_genl_family, 0, QUOTA_NL_C_WARNING);
43792 if (!msg_head) { 45935 if (!msg_head) {
43793 printk(KERN_ERR 45936 printk(KERN_ERR
43794diff -urNp linux-3.0.4/fs/readdir.c linux-3.0.4/fs/readdir.c 45937diff -urNp linux-3.0.7/fs/readdir.c linux-3.0.7/fs/readdir.c
43795--- linux-3.0.4/fs/readdir.c 2011-07-21 22:17:23.000000000 -0400 45938--- linux-3.0.7/fs/readdir.c 2011-07-21 22:17:23.000000000 -0400
43796+++ linux-3.0.4/fs/readdir.c 2011-08-23 21:48:14.000000000 -0400 45939+++ linux-3.0.7/fs/readdir.c 2011-10-06 04:17:55.000000000 -0400
43797@@ -17,6 +17,7 @@ 45940@@ -17,6 +17,7 @@
43798 #include <linux/security.h> 45941 #include <linux/security.h>
43799 #include <linux/syscalls.h> 45942 #include <linux/syscalls.h>
@@ -43883,9 +46026,18 @@ diff -urNp linux-3.0.4/fs/readdir.c linux-3.0.4/fs/readdir.c
43883 buf.count = count; 46026 buf.count = count;
43884 buf.error = 0; 46027 buf.error = 0;
43885 46028
43886diff -urNp linux-3.0.4/fs/reiserfs/dir.c linux-3.0.4/fs/reiserfs/dir.c 46029@@ -299,7 +318,7 @@ SYSCALL_DEFINE3(getdents64, unsigned int
43887--- linux-3.0.4/fs/reiserfs/dir.c 2011-07-21 22:17:23.000000000 -0400 46030 error = buf.error;
43888+++ linux-3.0.4/fs/reiserfs/dir.c 2011-08-23 21:48:14.000000000 -0400 46031 lastdirent = buf.previous;
46032 if (lastdirent) {
46033- typeof(lastdirent->d_off) d_off = file->f_pos;
46034+ typeof(((struct linux_dirent64 *)0)->d_off) d_off = file->f_pos;
46035 if (__put_user(d_off, &lastdirent->d_off))
46036 error = -EFAULT;
46037 else
46038diff -urNp linux-3.0.7/fs/reiserfs/dir.c linux-3.0.7/fs/reiserfs/dir.c
46039--- linux-3.0.7/fs/reiserfs/dir.c 2011-07-21 22:17:23.000000000 -0400
46040+++ linux-3.0.7/fs/reiserfs/dir.c 2011-08-23 21:48:14.000000000 -0400
43889@@ -66,6 +66,8 @@ int reiserfs_readdir_dentry(struct dentr 46041@@ -66,6 +66,8 @@ int reiserfs_readdir_dentry(struct dentr
43890 struct reiserfs_dir_entry de; 46042 struct reiserfs_dir_entry de;
43891 int ret = 0; 46043 int ret = 0;
@@ -43895,9 +46047,9 @@ diff -urNp linux-3.0.4/fs/reiserfs/dir.c linux-3.0.4/fs/reiserfs/dir.c
43895 reiserfs_write_lock(inode->i_sb); 46047 reiserfs_write_lock(inode->i_sb);
43896 46048
43897 reiserfs_check_lock_depth(inode->i_sb, "readdir"); 46049 reiserfs_check_lock_depth(inode->i_sb, "readdir");
43898diff -urNp linux-3.0.4/fs/reiserfs/do_balan.c linux-3.0.4/fs/reiserfs/do_balan.c 46050diff -urNp linux-3.0.7/fs/reiserfs/do_balan.c linux-3.0.7/fs/reiserfs/do_balan.c
43899--- linux-3.0.4/fs/reiserfs/do_balan.c 2011-07-21 22:17:23.000000000 -0400 46051--- linux-3.0.7/fs/reiserfs/do_balan.c 2011-07-21 22:17:23.000000000 -0400
43900+++ linux-3.0.4/fs/reiserfs/do_balan.c 2011-08-23 21:47:56.000000000 -0400 46052+++ linux-3.0.7/fs/reiserfs/do_balan.c 2011-08-23 21:47:56.000000000 -0400
43901@@ -2051,7 +2051,7 @@ void do_balance(struct tree_balance *tb, 46053@@ -2051,7 +2051,7 @@ void do_balance(struct tree_balance *tb,
43902 return; 46054 return;
43903 } 46055 }
@@ -43907,9 +46059,9 @@ diff -urNp linux-3.0.4/fs/reiserfs/do_balan.c linux-3.0.4/fs/reiserfs/do_balan.c
43907 do_balance_starts(tb); 46059 do_balance_starts(tb);
43908 46060
43909 /* balance leaf returns 0 except if combining L R and S into 46061 /* balance leaf returns 0 except if combining L R and S into
43910diff -urNp linux-3.0.4/fs/reiserfs/journal.c linux-3.0.4/fs/reiserfs/journal.c 46062diff -urNp linux-3.0.7/fs/reiserfs/journal.c linux-3.0.7/fs/reiserfs/journal.c
43911--- linux-3.0.4/fs/reiserfs/journal.c 2011-07-21 22:17:23.000000000 -0400 46063--- linux-3.0.7/fs/reiserfs/journal.c 2011-07-21 22:17:23.000000000 -0400
43912+++ linux-3.0.4/fs/reiserfs/journal.c 2011-08-23 21:48:14.000000000 -0400 46064+++ linux-3.0.7/fs/reiserfs/journal.c 2011-08-23 21:48:14.000000000 -0400
43913@@ -2299,6 +2299,8 @@ static struct buffer_head *reiserfs_brea 46065@@ -2299,6 +2299,8 @@ static struct buffer_head *reiserfs_brea
43914 struct buffer_head *bh; 46066 struct buffer_head *bh;
43915 int i, j; 46067 int i, j;
@@ -43919,9 +46071,9 @@ diff -urNp linux-3.0.4/fs/reiserfs/journal.c linux-3.0.4/fs/reiserfs/journal.c
43919 bh = __getblk(dev, block, bufsize); 46071 bh = __getblk(dev, block, bufsize);
43920 if (buffer_uptodate(bh)) 46072 if (buffer_uptodate(bh))
43921 return (bh); 46073 return (bh);
43922diff -urNp linux-3.0.4/fs/reiserfs/namei.c linux-3.0.4/fs/reiserfs/namei.c 46074diff -urNp linux-3.0.7/fs/reiserfs/namei.c linux-3.0.7/fs/reiserfs/namei.c
43923--- linux-3.0.4/fs/reiserfs/namei.c 2011-07-21 22:17:23.000000000 -0400 46075--- linux-3.0.7/fs/reiserfs/namei.c 2011-07-21 22:17:23.000000000 -0400
43924+++ linux-3.0.4/fs/reiserfs/namei.c 2011-08-23 21:48:14.000000000 -0400 46076+++ linux-3.0.7/fs/reiserfs/namei.c 2011-08-23 21:48:14.000000000 -0400
43925@@ -1225,6 +1225,8 @@ static int reiserfs_rename(struct inode 46077@@ -1225,6 +1225,8 @@ static int reiserfs_rename(struct inode
43926 unsigned long savelink = 1; 46078 unsigned long savelink = 1;
43927 struct timespec ctime; 46079 struct timespec ctime;
@@ -43931,9 +46083,9 @@ diff -urNp linux-3.0.4/fs/reiserfs/namei.c linux-3.0.4/fs/reiserfs/namei.c
43931 /* three balancings: (1) old name removal, (2) new name insertion 46083 /* three balancings: (1) old name removal, (2) new name insertion
43932 and (3) maybe "save" link insertion 46084 and (3) maybe "save" link insertion
43933 stat data updates: (1) old directory, 46085 stat data updates: (1) old directory,
43934diff -urNp linux-3.0.4/fs/reiserfs/procfs.c linux-3.0.4/fs/reiserfs/procfs.c 46086diff -urNp linux-3.0.7/fs/reiserfs/procfs.c linux-3.0.7/fs/reiserfs/procfs.c
43935--- linux-3.0.4/fs/reiserfs/procfs.c 2011-07-21 22:17:23.000000000 -0400 46087--- linux-3.0.7/fs/reiserfs/procfs.c 2011-07-21 22:17:23.000000000 -0400
43936+++ linux-3.0.4/fs/reiserfs/procfs.c 2011-08-23 21:48:14.000000000 -0400 46088+++ linux-3.0.7/fs/reiserfs/procfs.c 2011-08-23 21:48:14.000000000 -0400
43937@@ -113,7 +113,7 @@ static int show_super(struct seq_file *m 46089@@ -113,7 +113,7 @@ static int show_super(struct seq_file *m
43938 "SMALL_TAILS " : "NO_TAILS ", 46090 "SMALL_TAILS " : "NO_TAILS ",
43939 replay_only(sb) ? "REPLAY_ONLY " : "", 46091 replay_only(sb) ? "REPLAY_ONLY " : "",
@@ -43952,9 +46104,9 @@ diff -urNp linux-3.0.4/fs/reiserfs/procfs.c linux-3.0.4/fs/reiserfs/procfs.c
43952 seq_printf(m, /* on-disk fields */ 46104 seq_printf(m, /* on-disk fields */
43953 "jp_journal_1st_block: \t%i\n" 46105 "jp_journal_1st_block: \t%i\n"
43954 "jp_journal_dev: \t%s[%x]\n" 46106 "jp_journal_dev: \t%s[%x]\n"
43955diff -urNp linux-3.0.4/fs/reiserfs/stree.c linux-3.0.4/fs/reiserfs/stree.c 46107diff -urNp linux-3.0.7/fs/reiserfs/stree.c linux-3.0.7/fs/reiserfs/stree.c
43956--- linux-3.0.4/fs/reiserfs/stree.c 2011-07-21 22:17:23.000000000 -0400 46108--- linux-3.0.7/fs/reiserfs/stree.c 2011-07-21 22:17:23.000000000 -0400
43957+++ linux-3.0.4/fs/reiserfs/stree.c 2011-08-23 21:48:14.000000000 -0400 46109+++ linux-3.0.7/fs/reiserfs/stree.c 2011-08-23 21:48:14.000000000 -0400
43958@@ -1196,6 +1196,8 @@ int reiserfs_delete_item(struct reiserfs 46110@@ -1196,6 +1196,8 @@ int reiserfs_delete_item(struct reiserfs
43959 int iter = 0; 46111 int iter = 0;
43960 #endif 46112 #endif
@@ -44000,9 +46152,9 @@ diff -urNp linux-3.0.4/fs/reiserfs/stree.c linux-3.0.4/fs/reiserfs/stree.c
44000 BUG_ON(!th->t_trans_id); 46152 BUG_ON(!th->t_trans_id);
44001 46153
44002 if (inode) { /* Do we count quotas for item? */ 46154 if (inode) { /* Do we count quotas for item? */
44003diff -urNp linux-3.0.4/fs/reiserfs/super.c linux-3.0.4/fs/reiserfs/super.c 46155diff -urNp linux-3.0.7/fs/reiserfs/super.c linux-3.0.7/fs/reiserfs/super.c
44004--- linux-3.0.4/fs/reiserfs/super.c 2011-07-21 22:17:23.000000000 -0400 46156--- linux-3.0.7/fs/reiserfs/super.c 2011-07-21 22:17:23.000000000 -0400
44005+++ linux-3.0.4/fs/reiserfs/super.c 2011-08-23 21:48:14.000000000 -0400 46157+++ linux-3.0.7/fs/reiserfs/super.c 2011-08-23 21:48:14.000000000 -0400
44006@@ -927,6 +927,8 @@ static int reiserfs_parse_options(struct 46158@@ -927,6 +927,8 @@ static int reiserfs_parse_options(struct
44007 {.option_name = NULL} 46159 {.option_name = NULL}
44008 }; 46160 };
@@ -44012,9 +46164,9 @@ diff -urNp linux-3.0.4/fs/reiserfs/super.c linux-3.0.4/fs/reiserfs/super.c
44012 *blocks = 0; 46164 *blocks = 0;
44013 if (!options || !*options) 46165 if (!options || !*options)
44014 /* use default configuration: create tails, journaling on, no 46166 /* use default configuration: create tails, journaling on, no
44015diff -urNp linux-3.0.4/fs/select.c linux-3.0.4/fs/select.c 46167diff -urNp linux-3.0.7/fs/select.c linux-3.0.7/fs/select.c
44016--- linux-3.0.4/fs/select.c 2011-07-21 22:17:23.000000000 -0400 46168--- linux-3.0.7/fs/select.c 2011-07-21 22:17:23.000000000 -0400
44017+++ linux-3.0.4/fs/select.c 2011-08-23 21:48:14.000000000 -0400 46169+++ linux-3.0.7/fs/select.c 2011-08-23 21:48:14.000000000 -0400
44018@@ -20,6 +20,7 @@ 46170@@ -20,6 +20,7 @@
44019 #include <linux/module.h> 46171 #include <linux/module.h>
44020 #include <linux/slab.h> 46172 #include <linux/slab.h>
@@ -44051,9 +46203,9 @@ diff -urNp linux-3.0.4/fs/select.c linux-3.0.4/fs/select.c
44051 if (nfds > rlimit(RLIMIT_NOFILE)) 46203 if (nfds > rlimit(RLIMIT_NOFILE))
44052 return -EINVAL; 46204 return -EINVAL;
44053 46205
44054diff -urNp linux-3.0.4/fs/seq_file.c linux-3.0.4/fs/seq_file.c 46206diff -urNp linux-3.0.7/fs/seq_file.c linux-3.0.7/fs/seq_file.c
44055--- linux-3.0.4/fs/seq_file.c 2011-07-21 22:17:23.000000000 -0400 46207--- linux-3.0.7/fs/seq_file.c 2011-07-21 22:17:23.000000000 -0400
44056+++ linux-3.0.4/fs/seq_file.c 2011-08-23 21:47:56.000000000 -0400 46208+++ linux-3.0.7/fs/seq_file.c 2011-08-23 21:47:56.000000000 -0400
44057@@ -76,7 +76,8 @@ static int traverse(struct seq_file *m, 46209@@ -76,7 +76,8 @@ static int traverse(struct seq_file *m,
44058 return 0; 46210 return 0;
44059 } 46211 }
@@ -44103,9 +46255,9 @@ diff -urNp linux-3.0.4/fs/seq_file.c linux-3.0.4/fs/seq_file.c
44103 int res = -ENOMEM; 46255 int res = -ENOMEM;
44104 46256
44105 if (op) { 46257 if (op) {
44106diff -urNp linux-3.0.4/fs/splice.c linux-3.0.4/fs/splice.c 46258diff -urNp linux-3.0.7/fs/splice.c linux-3.0.7/fs/splice.c
44107--- linux-3.0.4/fs/splice.c 2011-07-21 22:17:23.000000000 -0400 46259--- linux-3.0.7/fs/splice.c 2011-07-21 22:17:23.000000000 -0400
44108+++ linux-3.0.4/fs/splice.c 2011-08-23 21:48:14.000000000 -0400 46260+++ linux-3.0.7/fs/splice.c 2011-10-06 04:17:55.000000000 -0400
44109@@ -194,7 +194,7 @@ ssize_t splice_to_pipe(struct pipe_inode 46261@@ -194,7 +194,7 @@ ssize_t splice_to_pipe(struct pipe_inode
44110 pipe_lock(pipe); 46262 pipe_lock(pipe);
44111 46263
@@ -44141,7 +46293,7 @@ diff -urNp linux-3.0.4/fs/splice.c linux-3.0.4/fs/splice.c
44141 set_fs(get_ds()); 46293 set_fs(get_ds());
44142 /* The cast to a user pointer is valid due to the set_fs() */ 46294 /* The cast to a user pointer is valid due to the set_fs() */
44143- res = vfs_readv(file, (const struct iovec __user *)vec, vlen, &pos); 46295- res = vfs_readv(file, (const struct iovec __user *)vec, vlen, &pos);
44144+ res = vfs_readv(file, (__force const struct iovec __user *)vec, vlen, &pos); 46296+ res = vfs_readv(file, (const struct iovec __force_user *)vec, vlen, &pos);
44145 set_fs(old_fs); 46297 set_fs(old_fs);
44146 46298
44147 return res; 46299 return res;
@@ -44150,7 +46302,7 @@ diff -urNp linux-3.0.4/fs/splice.c linux-3.0.4/fs/splice.c
44150 set_fs(get_ds()); 46302 set_fs(get_ds());
44151 /* The cast to a user pointer is valid due to the set_fs() */ 46303 /* The cast to a user pointer is valid due to the set_fs() */
44152- res = vfs_write(file, (const char __user *)buf, count, &pos); 46304- res = vfs_write(file, (const char __user *)buf, count, &pos);
44153+ res = vfs_write(file, (__force const char __user *)buf, count, &pos); 46305+ res = vfs_write(file, (const char __force_user *)buf, count, &pos);
44154 set_fs(old_fs); 46306 set_fs(old_fs);
44155 46307
44156 return res; 46308 return res;
@@ -44168,7 +46320,7 @@ diff -urNp linux-3.0.4/fs/splice.c linux-3.0.4/fs/splice.c
44168 46320
44169 this_len = min_t(size_t, len, PAGE_CACHE_SIZE - offset); 46321 this_len = min_t(size_t, len, PAGE_CACHE_SIZE - offset);
44170- vec[i].iov_base = (void __user *) page_address(page); 46322- vec[i].iov_base = (void __user *) page_address(page);
44171+ vec[i].iov_base = (__force void __user *) page_address(page); 46323+ vec[i].iov_base = (void __force_user *) page_address(page);
44172 vec[i].iov_len = this_len; 46324 vec[i].iov_len = this_len;
44173 spd.pages[i] = page; 46325 spd.pages[i] = page;
44174 spd.nr_pages++; 46326 spd.nr_pages++;
@@ -44271,9 +46423,9 @@ diff -urNp linux-3.0.4/fs/splice.c linux-3.0.4/fs/splice.c
44271 ret = -EAGAIN; 46423 ret = -EAGAIN;
44272 46424
44273 pipe_unlock(ipipe); 46425 pipe_unlock(ipipe);
44274diff -urNp linux-3.0.4/fs/sysfs/file.c linux-3.0.4/fs/sysfs/file.c 46426diff -urNp linux-3.0.7/fs/sysfs/file.c linux-3.0.7/fs/sysfs/file.c
44275--- linux-3.0.4/fs/sysfs/file.c 2011-07-21 22:17:23.000000000 -0400 46427--- linux-3.0.7/fs/sysfs/file.c 2011-07-21 22:17:23.000000000 -0400
44276+++ linux-3.0.4/fs/sysfs/file.c 2011-08-23 21:47:56.000000000 -0400 46428+++ linux-3.0.7/fs/sysfs/file.c 2011-08-23 21:47:56.000000000 -0400
44277@@ -37,7 +37,7 @@ static DEFINE_SPINLOCK(sysfs_open_dirent 46429@@ -37,7 +37,7 @@ static DEFINE_SPINLOCK(sysfs_open_dirent
44278 46430
44279 struct sysfs_open_dirent { 46431 struct sysfs_open_dirent {
@@ -44319,9 +46471,9 @@ diff -urNp linux-3.0.4/fs/sysfs/file.c linux-3.0.4/fs/sysfs/file.c
44319 wake_up_interruptible(&od->poll); 46471 wake_up_interruptible(&od->poll);
44320 } 46472 }
44321 46473
44322diff -urNp linux-3.0.4/fs/sysfs/mount.c linux-3.0.4/fs/sysfs/mount.c 46474diff -urNp linux-3.0.7/fs/sysfs/mount.c linux-3.0.7/fs/sysfs/mount.c
44323--- linux-3.0.4/fs/sysfs/mount.c 2011-07-21 22:17:23.000000000 -0400 46475--- linux-3.0.7/fs/sysfs/mount.c 2011-07-21 22:17:23.000000000 -0400
44324+++ linux-3.0.4/fs/sysfs/mount.c 2011-08-23 21:48:14.000000000 -0400 46476+++ linux-3.0.7/fs/sysfs/mount.c 2011-08-23 21:48:14.000000000 -0400
44325@@ -36,7 +36,11 @@ struct sysfs_dirent sysfs_root = { 46477@@ -36,7 +36,11 @@ struct sysfs_dirent sysfs_root = {
44326 .s_name = "", 46478 .s_name = "",
44327 .s_count = ATOMIC_INIT(1), 46479 .s_count = ATOMIC_INIT(1),
@@ -44334,9 +46486,9 @@ diff -urNp linux-3.0.4/fs/sysfs/mount.c linux-3.0.4/fs/sysfs/mount.c
44334 .s_ino = 1, 46486 .s_ino = 1,
44335 }; 46487 };
44336 46488
44337diff -urNp linux-3.0.4/fs/sysfs/symlink.c linux-3.0.4/fs/sysfs/symlink.c 46489diff -urNp linux-3.0.7/fs/sysfs/symlink.c linux-3.0.7/fs/sysfs/symlink.c
44338--- linux-3.0.4/fs/sysfs/symlink.c 2011-07-21 22:17:23.000000000 -0400 46490--- linux-3.0.7/fs/sysfs/symlink.c 2011-07-21 22:17:23.000000000 -0400
44339+++ linux-3.0.4/fs/sysfs/symlink.c 2011-08-23 21:47:56.000000000 -0400 46491+++ linux-3.0.7/fs/sysfs/symlink.c 2011-08-23 21:47:56.000000000 -0400
44340@@ -286,7 +286,7 @@ static void *sysfs_follow_link(struct de 46492@@ -286,7 +286,7 @@ static void *sysfs_follow_link(struct de
44341 46493
44342 static void sysfs_put_link(struct dentry *dentry, struct nameidata *nd, void *cookie) 46494 static void sysfs_put_link(struct dentry *dentry, struct nameidata *nd, void *cookie)
@@ -44346,9 +46498,9 @@ diff -urNp linux-3.0.4/fs/sysfs/symlink.c linux-3.0.4/fs/sysfs/symlink.c
44346 if (!IS_ERR(page)) 46498 if (!IS_ERR(page))
44347 free_page((unsigned long)page); 46499 free_page((unsigned long)page);
44348 } 46500 }
44349diff -urNp linux-3.0.4/fs/udf/inode.c linux-3.0.4/fs/udf/inode.c 46501diff -urNp linux-3.0.7/fs/udf/inode.c linux-3.0.7/fs/udf/inode.c
44350--- linux-3.0.4/fs/udf/inode.c 2011-07-21 22:17:23.000000000 -0400 46502--- linux-3.0.7/fs/udf/inode.c 2011-07-21 22:17:23.000000000 -0400
44351+++ linux-3.0.4/fs/udf/inode.c 2011-08-23 21:48:14.000000000 -0400 46503+++ linux-3.0.7/fs/udf/inode.c 2011-08-23 21:48:14.000000000 -0400
44352@@ -560,6 +560,8 @@ static struct buffer_head *inode_getblk( 46504@@ -560,6 +560,8 @@ static struct buffer_head *inode_getblk(
44353 int goal = 0, pgoal = iinfo->i_location.logicalBlockNum; 46505 int goal = 0, pgoal = iinfo->i_location.logicalBlockNum;
44354 int lastblock = 0; 46506 int lastblock = 0;
@@ -44358,9 +46510,9 @@ diff -urNp linux-3.0.4/fs/udf/inode.c linux-3.0.4/fs/udf/inode.c
44358 prev_epos.offset = udf_file_entry_alloc_offset(inode); 46510 prev_epos.offset = udf_file_entry_alloc_offset(inode);
44359 prev_epos.block = iinfo->i_location; 46511 prev_epos.block = iinfo->i_location;
44360 prev_epos.bh = NULL; 46512 prev_epos.bh = NULL;
44361diff -urNp linux-3.0.4/fs/udf/misc.c linux-3.0.4/fs/udf/misc.c 46513diff -urNp linux-3.0.7/fs/udf/misc.c linux-3.0.7/fs/udf/misc.c
44362--- linux-3.0.4/fs/udf/misc.c 2011-07-21 22:17:23.000000000 -0400 46514--- linux-3.0.7/fs/udf/misc.c 2011-07-21 22:17:23.000000000 -0400
44363+++ linux-3.0.4/fs/udf/misc.c 2011-08-23 21:47:56.000000000 -0400 46515+++ linux-3.0.7/fs/udf/misc.c 2011-08-23 21:47:56.000000000 -0400
44364@@ -286,7 +286,7 @@ void udf_new_tag(char *data, uint16_t id 46516@@ -286,7 +286,7 @@ void udf_new_tag(char *data, uint16_t id
44365 46517
44366 u8 udf_tag_checksum(const struct tag *t) 46518 u8 udf_tag_checksum(const struct tag *t)
@@ -44370,9 +46522,9 @@ diff -urNp linux-3.0.4/fs/udf/misc.c linux-3.0.4/fs/udf/misc.c
44370 u8 checksum = 0; 46522 u8 checksum = 0;
44371 int i; 46523 int i;
44372 for (i = 0; i < sizeof(struct tag); ++i) 46524 for (i = 0; i < sizeof(struct tag); ++i)
44373diff -urNp linux-3.0.4/fs/utimes.c linux-3.0.4/fs/utimes.c 46525diff -urNp linux-3.0.7/fs/utimes.c linux-3.0.7/fs/utimes.c
44374--- linux-3.0.4/fs/utimes.c 2011-07-21 22:17:23.000000000 -0400 46526--- linux-3.0.7/fs/utimes.c 2011-07-21 22:17:23.000000000 -0400
44375+++ linux-3.0.4/fs/utimes.c 2011-08-23 21:48:14.000000000 -0400 46527+++ linux-3.0.7/fs/utimes.c 2011-08-23 21:48:14.000000000 -0400
44376@@ -1,6 +1,7 @@ 46528@@ -1,6 +1,7 @@
44377 #include <linux/compiler.h> 46529 #include <linux/compiler.h>
44378 #include <linux/file.h> 46530 #include <linux/file.h>
@@ -44394,9 +46546,9 @@ diff -urNp linux-3.0.4/fs/utimes.c linux-3.0.4/fs/utimes.c
44394 mutex_lock(&inode->i_mutex); 46546 mutex_lock(&inode->i_mutex);
44395 error = notify_change(path->dentry, &newattrs); 46547 error = notify_change(path->dentry, &newattrs);
44396 mutex_unlock(&inode->i_mutex); 46548 mutex_unlock(&inode->i_mutex);
44397diff -urNp linux-3.0.4/fs/xattr_acl.c linux-3.0.4/fs/xattr_acl.c 46549diff -urNp linux-3.0.7/fs/xattr_acl.c linux-3.0.7/fs/xattr_acl.c
44398--- linux-3.0.4/fs/xattr_acl.c 2011-07-21 22:17:23.000000000 -0400 46550--- linux-3.0.7/fs/xattr_acl.c 2011-07-21 22:17:23.000000000 -0400
44399+++ linux-3.0.4/fs/xattr_acl.c 2011-08-23 21:47:56.000000000 -0400 46551+++ linux-3.0.7/fs/xattr_acl.c 2011-08-23 21:47:56.000000000 -0400
44400@@ -17,8 +17,8 @@ 46552@@ -17,8 +17,8 @@
44401 struct posix_acl * 46553 struct posix_acl *
44402 posix_acl_from_xattr(const void *value, size_t size) 46554 posix_acl_from_xattr(const void *value, size_t size)
@@ -44408,9 +46560,9 @@ diff -urNp linux-3.0.4/fs/xattr_acl.c linux-3.0.4/fs/xattr_acl.c
44408 int count; 46560 int count;
44409 struct posix_acl *acl; 46561 struct posix_acl *acl;
44410 struct posix_acl_entry *acl_e; 46562 struct posix_acl_entry *acl_e;
44411diff -urNp linux-3.0.4/fs/xattr.c linux-3.0.4/fs/xattr.c 46563diff -urNp linux-3.0.7/fs/xattr.c linux-3.0.7/fs/xattr.c
44412--- linux-3.0.4/fs/xattr.c 2011-07-21 22:17:23.000000000 -0400 46564--- linux-3.0.7/fs/xattr.c 2011-07-21 22:17:23.000000000 -0400
44413+++ linux-3.0.4/fs/xattr.c 2011-08-23 21:48:14.000000000 -0400 46565+++ linux-3.0.7/fs/xattr.c 2011-08-23 21:48:14.000000000 -0400
44414@@ -254,7 +254,7 @@ EXPORT_SYMBOL_GPL(vfs_removexattr); 46566@@ -254,7 +254,7 @@ EXPORT_SYMBOL_GPL(vfs_removexattr);
44415 * Extended attribute SET operations 46567 * Extended attribute SET operations
44416 */ 46568 */
@@ -44473,9 +46625,9 @@ diff -urNp linux-3.0.4/fs/xattr.c linux-3.0.4/fs/xattr.c
44473 mnt_drop_write(f->f_path.mnt); 46625 mnt_drop_write(f->f_path.mnt);
44474 } 46626 }
44475 fput(f); 46627 fput(f);
44476diff -urNp linux-3.0.4/fs/xfs/linux-2.6/xfs_ioctl32.c linux-3.0.4/fs/xfs/linux-2.6/xfs_ioctl32.c 46628diff -urNp linux-3.0.7/fs/xfs/linux-2.6/xfs_ioctl32.c linux-3.0.7/fs/xfs/linux-2.6/xfs_ioctl32.c
44477--- linux-3.0.4/fs/xfs/linux-2.6/xfs_ioctl32.c 2011-07-21 22:17:23.000000000 -0400 46629--- linux-3.0.7/fs/xfs/linux-2.6/xfs_ioctl32.c 2011-07-21 22:17:23.000000000 -0400
44478+++ linux-3.0.4/fs/xfs/linux-2.6/xfs_ioctl32.c 2011-08-23 21:48:14.000000000 -0400 46630+++ linux-3.0.7/fs/xfs/linux-2.6/xfs_ioctl32.c 2011-08-23 21:48:14.000000000 -0400
44479@@ -73,6 +73,7 @@ xfs_compat_ioc_fsgeometry_v1( 46631@@ -73,6 +73,7 @@ xfs_compat_ioc_fsgeometry_v1(
44480 xfs_fsop_geom_t fsgeo; 46632 xfs_fsop_geom_t fsgeo;
44481 int error; 46633 int error;
@@ -44484,9 +46636,9 @@ diff -urNp linux-3.0.4/fs/xfs/linux-2.6/xfs_ioctl32.c linux-3.0.4/fs/xfs/linux-2
44484 error = xfs_fs_geometry(mp, &fsgeo, 3); 46636 error = xfs_fs_geometry(mp, &fsgeo, 3);
44485 if (error) 46637 if (error)
44486 return -error; 46638 return -error;
44487diff -urNp linux-3.0.4/fs/xfs/linux-2.6/xfs_ioctl.c linux-3.0.4/fs/xfs/linux-2.6/xfs_ioctl.c 46639diff -urNp linux-3.0.7/fs/xfs/linux-2.6/xfs_ioctl.c linux-3.0.7/fs/xfs/linux-2.6/xfs_ioctl.c
44488--- linux-3.0.4/fs/xfs/linux-2.6/xfs_ioctl.c 2011-07-21 22:17:23.000000000 -0400 46640--- linux-3.0.7/fs/xfs/linux-2.6/xfs_ioctl.c 2011-07-21 22:17:23.000000000 -0400
44489+++ linux-3.0.4/fs/xfs/linux-2.6/xfs_ioctl.c 2011-08-23 21:47:56.000000000 -0400 46641+++ linux-3.0.7/fs/xfs/linux-2.6/xfs_ioctl.c 2011-08-23 21:47:56.000000000 -0400
44490@@ -128,7 +128,7 @@ xfs_find_handle( 46642@@ -128,7 +128,7 @@ xfs_find_handle(
44491 } 46643 }
44492 46644
@@ -44496,9 +46648,9 @@ diff -urNp linux-3.0.4/fs/xfs/linux-2.6/xfs_ioctl.c linux-3.0.4/fs/xfs/linux-2.6
44496 copy_to_user(hreq->ohandlen, &hsize, sizeof(__s32))) 46648 copy_to_user(hreq->ohandlen, &hsize, sizeof(__s32)))
44497 goto out_put; 46649 goto out_put;
44498 46650
44499diff -urNp linux-3.0.4/fs/xfs/linux-2.6/xfs_iops.c linux-3.0.4/fs/xfs/linux-2.6/xfs_iops.c 46651diff -urNp linux-3.0.7/fs/xfs/linux-2.6/xfs_iops.c linux-3.0.7/fs/xfs/linux-2.6/xfs_iops.c
44500--- linux-3.0.4/fs/xfs/linux-2.6/xfs_iops.c 2011-07-21 22:17:23.000000000 -0400 46652--- linux-3.0.7/fs/xfs/linux-2.6/xfs_iops.c 2011-07-21 22:17:23.000000000 -0400
44501+++ linux-3.0.4/fs/xfs/linux-2.6/xfs_iops.c 2011-08-23 21:47:56.000000000 -0400 46653+++ linux-3.0.7/fs/xfs/linux-2.6/xfs_iops.c 2011-08-23 21:47:56.000000000 -0400
44502@@ -437,7 +437,7 @@ xfs_vn_put_link( 46654@@ -437,7 +437,7 @@ xfs_vn_put_link(
44503 struct nameidata *nd, 46655 struct nameidata *nd,
44504 void *p) 46656 void *p)
@@ -44508,9 +46660,9 @@ diff -urNp linux-3.0.4/fs/xfs/linux-2.6/xfs_iops.c linux-3.0.4/fs/xfs/linux-2.6/
44508 46660
44509 if (!IS_ERR(s)) 46661 if (!IS_ERR(s))
44510 kfree(s); 46662 kfree(s);
44511diff -urNp linux-3.0.4/fs/xfs/xfs_bmap.c linux-3.0.4/fs/xfs/xfs_bmap.c 46663diff -urNp linux-3.0.7/fs/xfs/xfs_bmap.c linux-3.0.7/fs/xfs/xfs_bmap.c
44512--- linux-3.0.4/fs/xfs/xfs_bmap.c 2011-07-21 22:17:23.000000000 -0400 46664--- linux-3.0.7/fs/xfs/xfs_bmap.c 2011-07-21 22:17:23.000000000 -0400
44513+++ linux-3.0.4/fs/xfs/xfs_bmap.c 2011-08-23 21:47:56.000000000 -0400 46665+++ linux-3.0.7/fs/xfs/xfs_bmap.c 2011-08-23 21:47:56.000000000 -0400
44514@@ -253,7 +253,7 @@ xfs_bmap_validate_ret( 46666@@ -253,7 +253,7 @@ xfs_bmap_validate_ret(
44515 int nmap, 46667 int nmap,
44516 int ret_nmap); 46668 int ret_nmap);
@@ -44520,9 +46672,9 @@ diff -urNp linux-3.0.4/fs/xfs/xfs_bmap.c linux-3.0.4/fs/xfs/xfs_bmap.c
44520 #endif /* DEBUG */ 46672 #endif /* DEBUG */
44521 46673
44522 STATIC int 46674 STATIC int
44523diff -urNp linux-3.0.4/fs/xfs/xfs_dir2_sf.c linux-3.0.4/fs/xfs/xfs_dir2_sf.c 46675diff -urNp linux-3.0.7/fs/xfs/xfs_dir2_sf.c linux-3.0.7/fs/xfs/xfs_dir2_sf.c
44524--- linux-3.0.4/fs/xfs/xfs_dir2_sf.c 2011-07-21 22:17:23.000000000 -0400 46676--- linux-3.0.7/fs/xfs/xfs_dir2_sf.c 2011-07-21 22:17:23.000000000 -0400
44525+++ linux-3.0.4/fs/xfs/xfs_dir2_sf.c 2011-08-23 21:47:56.000000000 -0400 46677+++ linux-3.0.7/fs/xfs/xfs_dir2_sf.c 2011-08-23 21:47:56.000000000 -0400
44526@@ -780,7 +780,15 @@ xfs_dir2_sf_getdents( 46678@@ -780,7 +780,15 @@ xfs_dir2_sf_getdents(
44527 } 46679 }
44528 46680
@@ -44540,9 +46692,9 @@ diff -urNp linux-3.0.4/fs/xfs/xfs_dir2_sf.c linux-3.0.4/fs/xfs/xfs_dir2_sf.c
44540 off & 0x7fffffff, ino, DT_UNKNOWN)) { 46692 off & 0x7fffffff, ino, DT_UNKNOWN)) {
44541 *offset = off & 0x7fffffff; 46693 *offset = off & 0x7fffffff;
44542 return 0; 46694 return 0;
44543diff -urNp linux-3.0.4/grsecurity/gracl_alloc.c linux-3.0.4/grsecurity/gracl_alloc.c 46695diff -urNp linux-3.0.7/grsecurity/gracl_alloc.c linux-3.0.7/grsecurity/gracl_alloc.c
44544--- linux-3.0.4/grsecurity/gracl_alloc.c 1969-12-31 19:00:00.000000000 -0500 46696--- linux-3.0.7/grsecurity/gracl_alloc.c 1969-12-31 19:00:00.000000000 -0500
44545+++ linux-3.0.4/grsecurity/gracl_alloc.c 2011-08-23 21:48:14.000000000 -0400 46697+++ linux-3.0.7/grsecurity/gracl_alloc.c 2011-08-23 21:48:14.000000000 -0400
44546@@ -0,0 +1,105 @@ 46698@@ -0,0 +1,105 @@
44547+#include <linux/kernel.h> 46699+#include <linux/kernel.h>
44548+#include <linux/mm.h> 46700+#include <linux/mm.h>
@@ -44649,10 +46801,10 @@ diff -urNp linux-3.0.4/grsecurity/gracl_alloc.c linux-3.0.4/grsecurity/gracl_all
44649+ else 46801+ else
44650+ return 1; 46802+ return 1;
44651+} 46803+}
44652diff -urNp linux-3.0.4/grsecurity/gracl.c linux-3.0.4/grsecurity/gracl.c 46804diff -urNp linux-3.0.7/grsecurity/gracl.c linux-3.0.7/grsecurity/gracl.c
44653--- linux-3.0.4/grsecurity/gracl.c 1969-12-31 19:00:00.000000000 -0500 46805--- linux-3.0.7/grsecurity/gracl.c 1969-12-31 19:00:00.000000000 -0500
44654+++ linux-3.0.4/grsecurity/gracl.c 2011-08-23 21:48:14.000000000 -0400 46806+++ linux-3.0.7/grsecurity/gracl.c 2011-10-17 06:42:59.000000000 -0400
44655@@ -0,0 +1,4106 @@ 46807@@ -0,0 +1,4154 @@
44656+#include <linux/kernel.h> 46808+#include <linux/kernel.h>
44657+#include <linux/module.h> 46809+#include <linux/module.h>
44658+#include <linux/sched.h> 46810+#include <linux/sched.h>
@@ -44969,6 +47121,27 @@ diff -urNp linux-3.0.4/grsecurity/gracl.c linux-3.0.4/grsecurity/gracl.c
44969+ return ret; 47121+ return ret;
44970+} 47122+}
44971+ 47123+
47124+static char *
47125+gr_to_proc_filename_rbac(const struct dentry *dentry, const struct vfsmount *mnt)
47126+{
47127+ char *ret;
47128+ char *buf;
47129+ int buflen;
47130+
47131+ write_seqlock(&rename_lock);
47132+ br_read_lock(vfsmount_lock);
47133+ buf = per_cpu_ptr(gr_shared_page[0], smp_processor_id());
47134+ ret = __d_real_path(dentry, mnt, buf, PAGE_SIZE - 6);
47135+ buflen = (int)(ret - buf);
47136+ if (buflen >= 5)
47137+ prepend(&ret, &buflen, "/proc", 5);
47138+ else
47139+ ret = strcpy(buf, "<path too long>");
47140+ br_read_unlock(vfsmount_lock);
47141+ write_sequnlock(&rename_lock);
47142+ return ret;
47143+}
47144+
44972+char * 47145+char *
44973+gr_to_filename_nolock(const struct dentry *dentry, const struct vfsmount *mnt) 47146+gr_to_filename_nolock(const struct dentry *dentry, const struct vfsmount *mnt)
44974+{ 47147+{
@@ -46680,63 +48853,6 @@ diff -urNp linux-3.0.4/grsecurity/gracl.c linux-3.0.4/grsecurity/gracl.c
46680+} 48853+}
46681+ 48854+
46682+__u32 48855+__u32
46683+gr_check_link(const struct dentry * new_dentry,
46684+ const struct dentry * parent_dentry,
46685+ const struct vfsmount * parent_mnt,
46686+ const struct dentry * old_dentry, const struct vfsmount * old_mnt)
46687+{
46688+ struct acl_object_label *obj;
46689+ __u32 oldmode, newmode;
46690+ __u32 needmode;
46691+
46692+ if (unlikely(!(gr_status & GR_READY)))
46693+ return (GR_CREATE | GR_LINK);
46694+
46695+ obj = chk_obj_label(old_dentry, old_mnt, current->acl);
46696+ oldmode = obj->mode;
46697+
46698+ if (current->acl->mode & (GR_LEARN | GR_INHERITLEARN))
46699+ oldmode |= (GR_CREATE | GR_LINK);
46700+
46701+ needmode = GR_CREATE | GR_AUDIT_CREATE | GR_SUPPRESS;
46702+ if (old_dentry->d_inode->i_mode & (S_ISUID | S_ISGID))
46703+ needmode |= GR_SETID | GR_AUDIT_SETID;
46704+
46705+ newmode =
46706+ gr_check_create(new_dentry, parent_dentry, parent_mnt,
46707+ oldmode | needmode);
46708+
46709+ needmode = newmode & (GR_FIND | GR_APPEND | GR_WRITE | GR_EXEC |
46710+ GR_SETID | GR_READ | GR_FIND | GR_DELETE |
46711+ GR_INHERIT | GR_AUDIT_INHERIT);
46712+
46713+ if (old_dentry->d_inode->i_mode & (S_ISUID | S_ISGID) && !(newmode & GR_SETID))
46714+ goto bad;
46715+
46716+ if ((oldmode & needmode) != needmode)
46717+ goto bad;
46718+
46719+ needmode = oldmode & (GR_NOPTRACE | GR_PTRACERD | GR_INHERIT | GR_AUDITS);
46720+ if ((newmode & needmode) != needmode)
46721+ goto bad;
46722+
46723+ if ((newmode & (GR_CREATE | GR_LINK)) == (GR_CREATE | GR_LINK))
46724+ return newmode;
46725+bad:
46726+ needmode = oldmode;
46727+ if (old_dentry->d_inode->i_mode & (S_ISUID | S_ISGID))
46728+ needmode |= GR_SETID;
46729+
46730+ if (current->acl->mode & (GR_LEARN | GR_INHERITLEARN)) {
46731+ gr_log_learn(old_dentry, old_mnt, needmode);
46732+ return (GR_CREATE | GR_LINK);
46733+ } else if (newmode & GR_SUPPRESS)
46734+ return GR_SUPPRESS;
46735+ else
46736+ return 0;
46737+}
46738+
46739+__u32
46740+gr_search_file(const struct dentry * dentry, const __u32 mode, 48856+gr_search_file(const struct dentry * dentry, const __u32 mode,
46741+ const struct vfsmount * mnt) 48857+ const struct vfsmount * mnt)
46742+{ 48858+{
@@ -46791,70 +48907,124 @@ diff -urNp linux-3.0.4/grsecurity/gracl.c linux-3.0.4/grsecurity/gracl.c
46791+ return retval; 48907+ return retval;
46792+} 48908+}
46793+ 48909+
46794+__u32 48910+struct acl_object_label *gr_get_create_object(const struct dentry *new_dentry,
46795+gr_check_create(const struct dentry * new_dentry, const struct dentry * parent, 48911+ const struct dentry *parent,
46796+ const struct vfsmount * mnt, const __u32 mode) 48912+ const struct vfsmount *mnt)
46797+{ 48913+{
46798+ struct name_entry *match; 48914+ struct name_entry *match;
46799+ struct acl_object_label *matchpo; 48915+ struct acl_object_label *matchpo;
46800+ struct acl_subject_label *curracl; 48916+ struct acl_subject_label *curracl;
46801+ char *path; 48917+ char *path;
46802+ __u32 retval;
46803+ 48918+
46804+ if (unlikely(!(gr_status & GR_READY))) 48919+ if (unlikely(!(gr_status & GR_READY)))
46805+ return (mode & ~GR_AUDITS); 48920+ return NULL;
46806+ 48921+
46807+ preempt_disable(); 48922+ preempt_disable();
46808+ path = gr_to_filename_rbac(new_dentry, mnt); 48923+ path = gr_to_filename_rbac(new_dentry, mnt);
46809+ match = lookup_name_entry_create(path); 48924+ match = lookup_name_entry_create(path);
46810+ 48925+
46811+ if (!match)
46812+ goto check_parent;
46813+
46814+ curracl = current->acl; 48926+ curracl = current->acl;
46815+ 48927+
46816+ read_lock(&gr_inode_lock); 48928+ if (match) {
46817+ matchpo = lookup_acl_obj_label_create(match->inode, match->device, curracl); 48929+ read_lock(&gr_inode_lock);
46818+ read_unlock(&gr_inode_lock); 48930+ matchpo = lookup_acl_obj_label_create(match->inode, match->device, curracl);
46819+ 48931+ read_unlock(&gr_inode_lock);
46820+ if (matchpo) {
46821+ if ((matchpo->mode & mode) !=
46822+ (mode & ~(GR_AUDITS | GR_SUPPRESS))
46823+ && curracl->mode & (GR_LEARN | GR_INHERITLEARN)) {
46824+ __u32 new_mode = mode;
46825+
46826+ new_mode &= ~(GR_AUDITS | GR_SUPPRESS);
46827+
46828+ gr_log_learn(new_dentry, mnt, new_mode);
46829+ 48932+
48933+ if (matchpo) {
46830+ preempt_enable(); 48934+ preempt_enable();
46831+ return new_mode; 48935+ return matchpo;
46832+ } 48936+ }
46833+ preempt_enable();
46834+ return (matchpo->mode & mode);
46835+ } 48937+ }
46836+ 48938+
46837+ check_parent: 48939+ // lookup parent
46838+ curracl = current->acl;
46839+ 48940+
46840+ matchpo = chk_obj_create_label(parent, mnt, curracl, path); 48941+ matchpo = chk_obj_create_label(parent, mnt, curracl, path);
48942+
48943+ preempt_enable();
48944+ return matchpo;
48945+}
48946+
48947+__u32
48948+gr_check_create(const struct dentry * new_dentry, const struct dentry * parent,
48949+ const struct vfsmount * mnt, const __u32 mode)
48950+{
48951+ struct acl_object_label *matchpo;
48952+ __u32 retval;
48953+
48954+ if (unlikely(!(gr_status & GR_READY)))
48955+ return (mode & ~GR_AUDITS);
48956+
48957+ matchpo = gr_get_create_object(new_dentry, parent, mnt);
48958+
46841+ retval = matchpo->mode & mode; 48959+ retval = matchpo->mode & mode;
46842+ 48960+
46843+ if ((retval != (mode & ~(GR_AUDITS | GR_SUPPRESS))) 48961+ if ((retval != (mode & ~(GR_AUDITS | GR_SUPPRESS)))
46844+ && (curracl->mode & (GR_LEARN | GR_INHERITLEARN))) { 48962+ && (current->acl->mode & (GR_LEARN | GR_INHERITLEARN))) {
46845+ __u32 new_mode = mode; 48963+ __u32 new_mode = mode;
46846+ 48964+
46847+ new_mode &= ~(GR_AUDITS | GR_SUPPRESS); 48965+ new_mode &= ~(GR_AUDITS | GR_SUPPRESS);
46848+ 48966+
46849+ gr_log_learn(new_dentry, mnt, new_mode); 48967+ gr_log_learn(new_dentry, mnt, new_mode);
46850+ preempt_enable();
46851+ return new_mode; 48968+ return new_mode;
46852+ } 48969+ }
46853+ 48970+
46854+ preempt_enable();
46855+ return retval; 48971+ return retval;
46856+} 48972+}
46857+ 48973+
48974+__u32
48975+gr_check_link(const struct dentry * new_dentry,
48976+ const struct dentry * parent_dentry,
48977+ const struct vfsmount * parent_mnt,
48978+ const struct dentry * old_dentry, const struct vfsmount * old_mnt)
48979+{
48980+ struct acl_object_label *obj;
48981+ __u32 oldmode, newmode;
48982+ __u32 needmode;
48983+ __u32 checkmodes = GR_FIND | GR_APPEND | GR_WRITE | GR_EXEC | GR_SETID | GR_READ |
48984+ GR_DELETE | GR_INHERIT;
48985+
48986+ if (unlikely(!(gr_status & GR_READY)))
48987+ return (GR_CREATE | GR_LINK);
48988+
48989+ obj = chk_obj_label(old_dentry, old_mnt, current->acl);
48990+ oldmode = obj->mode;
48991+
48992+ obj = gr_get_create_object(new_dentry, parent_dentry, parent_mnt);
48993+ newmode = obj->mode;
48994+
48995+ needmode = newmode & checkmodes;
48996+
48997+ // old name for hardlink must have at least the permissions of the new name
48998+ if ((oldmode & needmode) != needmode)
48999+ goto bad;
49000+
49001+ // if old name had restrictions/auditing, make sure the new name does as well
49002+ needmode = oldmode & (GR_NOPTRACE | GR_PTRACERD | GR_INHERIT | GR_AUDITS);
49003+
49004+ // don't allow hardlinking of suid/sgid files without permission
49005+ if (old_dentry->d_inode->i_mode & (S_ISUID | S_ISGID))
49006+ needmode |= GR_SETID;
49007+
49008+ if ((newmode & needmode) != needmode)
49009+ goto bad;
49010+
49011+ // enforce minimum permissions
49012+ if ((newmode & (GR_CREATE | GR_LINK)) == (GR_CREATE | GR_LINK))
49013+ return newmode;
49014+bad:
49015+ needmode = oldmode;
49016+ if (old_dentry->d_inode->i_mode & (S_ISUID | S_ISGID))
49017+ needmode |= GR_SETID;
49018+
49019+ if (current->acl->mode & (GR_LEARN | GR_INHERITLEARN)) {
49020+ gr_log_learn(old_dentry, old_mnt, needmode | GR_CREATE | GR_LINK);
49021+ return (GR_CREATE | GR_LINK);
49022+ } else if (newmode & GR_SUPPRESS)
49023+ return GR_SUPPRESS;
49024+ else
49025+ return 0;
49026+}
49027+
46858+int 49028+int
46859+gr_check_hidden_task(const struct task_struct *task) 49029+gr_check_hidden_task(const struct task_struct *task)
46860+{ 49030+{
@@ -47382,15 +49552,12 @@ diff -urNp linux-3.0.4/grsecurity/gracl.c linux-3.0.4/grsecurity/gracl.c
47382+} 49552+}
47383+ 49553+
47384+static void 49554+static void
47385+do_handle_create(const struct name_entry *matchn, const struct dentry *dentry, 49555+__do_handle_create(const struct name_entry *matchn, ino_t ino, dev_t dev)
47386+ const struct vfsmount *mnt)
47387+{ 49556+{
47388+ struct acl_subject_label *subj; 49557+ struct acl_subject_label *subj;
47389+ struct acl_role_label *role; 49558+ struct acl_role_label *role;
47390+ unsigned int x; 49559+ unsigned int x;
47391+ ino_t ino = dentry->d_inode->i_ino; 49560+
47392+ dev_t dev = __get_dev(dentry);
47393+
47394+ FOR_EACH_ROLE_START(role) 49561+ FOR_EACH_ROLE_START(role)
47395+ update_acl_subj_label(matchn->inode, matchn->device, ino, dev, role); 49562+ update_acl_subj_label(matchn->inode, matchn->device, ino, dev, role);
47396+ 49563+
@@ -47411,6 +49578,18 @@ diff -urNp linux-3.0.4/grsecurity/gracl.c linux-3.0.4/grsecurity/gracl.c
47411+ return; 49578+ return;
47412+} 49579+}
47413+ 49580+
49581+static void
49582+do_handle_create(const struct name_entry *matchn, const struct dentry *dentry,
49583+ const struct vfsmount *mnt)
49584+{
49585+ ino_t ino = dentry->d_inode->i_ino;
49586+ dev_t dev = __get_dev(dentry);
49587+
49588+ __do_handle_create(matchn, ino, dev);
49589+
49590+ return;
49591+}
49592+
47414+void 49593+void
47415+gr_handle_create(const struct dentry *dentry, const struct vfsmount *mnt) 49594+gr_handle_create(const struct dentry *dentry, const struct vfsmount *mnt)
47416+{ 49595+{
@@ -47433,6 +49612,27 @@ diff -urNp linux-3.0.4/grsecurity/gracl.c linux-3.0.4/grsecurity/gracl.c
47433+} 49612+}
47434+ 49613+
47435+void 49614+void
49615+gr_handle_proc_create(const struct dentry *dentry, const struct inode *inode)
49616+{
49617+ struct name_entry *matchn;
49618+
49619+ if (unlikely(!(gr_status & GR_READY)))
49620+ return;
49621+
49622+ preempt_disable();
49623+ matchn = lookup_name_entry(gr_to_proc_filename_rbac(dentry, init_pid_ns.proc_mnt));
49624+
49625+ if (unlikely((unsigned long)matchn)) {
49626+ write_lock(&gr_inode_lock);
49627+ __do_handle_create(matchn, inode->i_ino, inode->i_sb->s_dev);
49628+ write_unlock(&gr_inode_lock);
49629+ }
49630+ preempt_enable();
49631+
49632+ return;
49633+}
49634+
49635+void
47436+gr_handle_rename(struct inode *old_dir, struct inode *new_dir, 49636+gr_handle_rename(struct inode *old_dir, struct inode *new_dir,
47437+ struct dentry *old_dentry, 49637+ struct dentry *old_dentry,
47438+ struct dentry *new_dentry, 49638+ struct dentry *new_dentry,
@@ -48759,9 +50959,9 @@ diff -urNp linux-3.0.4/grsecurity/gracl.c linux-3.0.4/grsecurity/gracl.c
48759+EXPORT_SYMBOL(gr_check_group_change); 50959+EXPORT_SYMBOL(gr_check_group_change);
48760+#endif 50960+#endif
48761+ 50961+
48762diff -urNp linux-3.0.4/grsecurity/gracl_cap.c linux-3.0.4/grsecurity/gracl_cap.c 50962diff -urNp linux-3.0.7/grsecurity/gracl_cap.c linux-3.0.7/grsecurity/gracl_cap.c
48763--- linux-3.0.4/grsecurity/gracl_cap.c 1969-12-31 19:00:00.000000000 -0500 50963--- linux-3.0.7/grsecurity/gracl_cap.c 1969-12-31 19:00:00.000000000 -0500
48764+++ linux-3.0.4/grsecurity/gracl_cap.c 2011-09-14 09:21:24.000000000 -0400 50964+++ linux-3.0.7/grsecurity/gracl_cap.c 2011-09-14 09:21:24.000000000 -0400
48765@@ -0,0 +1,101 @@ 50965@@ -0,0 +1,101 @@
48766+#include <linux/kernel.h> 50966+#include <linux/kernel.h>
48767+#include <linux/module.h> 50967+#include <linux/module.h>
@@ -48864,9 +51064,9 @@ diff -urNp linux-3.0.4/grsecurity/gracl_cap.c linux-3.0.4/grsecurity/gracl_cap.c
48864+ return 0; 51064+ return 0;
48865+} 51065+}
48866+ 51066+
48867diff -urNp linux-3.0.4/grsecurity/gracl_fs.c linux-3.0.4/grsecurity/gracl_fs.c 51067diff -urNp linux-3.0.7/grsecurity/gracl_fs.c linux-3.0.7/grsecurity/gracl_fs.c
48868--- linux-3.0.4/grsecurity/gracl_fs.c 1969-12-31 19:00:00.000000000 -0500 51068--- linux-3.0.7/grsecurity/gracl_fs.c 1969-12-31 19:00:00.000000000 -0500
48869+++ linux-3.0.4/grsecurity/gracl_fs.c 2011-08-23 21:48:14.000000000 -0400 51069+++ linux-3.0.7/grsecurity/gracl_fs.c 2011-10-17 01:22:26.000000000 -0400
48870@@ -0,0 +1,431 @@ 51070@@ -0,0 +1,431 @@
48871+#include <linux/kernel.h> 51071+#include <linux/kernel.h>
48872+#include <linux/sched.h> 51072+#include <linux/sched.h>
@@ -49115,7 +51315,7 @@ diff -urNp linux-3.0.4/grsecurity/gracl_fs.c linux-3.0.4/grsecurity/gracl_fs.c
49115+ GR_UNIXCONNECT_ACL_MSG); 51315+ GR_UNIXCONNECT_ACL_MSG);
49116+} 51316+}
49117+ 51317+
49118+/* hardlinks require at minimum create permission, 51318+/* hardlinks require at minimum create and link permission,
49119+ any additional privilege required is based on the 51319+ any additional privilege required is based on the
49120+ privilege of the file being linked to 51320+ privilege of the file being linked to
49121+*/ 51321+*/
@@ -49299,9 +51499,9 @@ diff -urNp linux-3.0.4/grsecurity/gracl_fs.c linux-3.0.4/grsecurity/gracl_fs.c
49299+ 51499+
49300+ return 0; 51500+ return 0;
49301+} 51501+}
49302diff -urNp linux-3.0.4/grsecurity/gracl_ip.c linux-3.0.4/grsecurity/gracl_ip.c 51502diff -urNp linux-3.0.7/grsecurity/gracl_ip.c linux-3.0.7/grsecurity/gracl_ip.c
49303--- linux-3.0.4/grsecurity/gracl_ip.c 1969-12-31 19:00:00.000000000 -0500 51503--- linux-3.0.7/grsecurity/gracl_ip.c 1969-12-31 19:00:00.000000000 -0500
49304+++ linux-3.0.4/grsecurity/gracl_ip.c 2011-08-23 21:48:14.000000000 -0400 51504+++ linux-3.0.7/grsecurity/gracl_ip.c 2011-08-23 21:48:14.000000000 -0400
49305@@ -0,0 +1,381 @@ 51505@@ -0,0 +1,381 @@
49306+#include <linux/kernel.h> 51506+#include <linux/kernel.h>
49307+#include <asm/uaccess.h> 51507+#include <asm/uaccess.h>
@@ -49684,9 +51884,9 @@ diff -urNp linux-3.0.4/grsecurity/gracl_ip.c linux-3.0.4/grsecurity/gracl_ip.c
49684+ 51884+
49685+ return gr_search_connectbind(GR_CONNECT | GR_CONNECTOVERRIDE, sk, &sin, SOCK_DGRAM); 51885+ return gr_search_connectbind(GR_CONNECT | GR_CONNECTOVERRIDE, sk, &sin, SOCK_DGRAM);
49686+} 51886+}
49687diff -urNp linux-3.0.4/grsecurity/gracl_learn.c linux-3.0.4/grsecurity/gracl_learn.c 51887diff -urNp linux-3.0.7/grsecurity/gracl_learn.c linux-3.0.7/grsecurity/gracl_learn.c
49688--- linux-3.0.4/grsecurity/gracl_learn.c 1969-12-31 19:00:00.000000000 -0500 51888--- linux-3.0.7/grsecurity/gracl_learn.c 1969-12-31 19:00:00.000000000 -0500
49689+++ linux-3.0.4/grsecurity/gracl_learn.c 2011-08-23 21:48:14.000000000 -0400 51889+++ linux-3.0.7/grsecurity/gracl_learn.c 2011-08-23 21:48:14.000000000 -0400
49690@@ -0,0 +1,207 @@ 51890@@ -0,0 +1,207 @@
49691+#include <linux/kernel.h> 51891+#include <linux/kernel.h>
49692+#include <linux/mm.h> 51892+#include <linux/mm.h>
@@ -49895,9 +52095,9 @@ diff -urNp linux-3.0.4/grsecurity/gracl_learn.c linux-3.0.4/grsecurity/gracl_lea
49895+ .release = close_learn, 52095+ .release = close_learn,
49896+ .poll = poll_learn, 52096+ .poll = poll_learn,
49897+}; 52097+};
49898diff -urNp linux-3.0.4/grsecurity/gracl_res.c linux-3.0.4/grsecurity/gracl_res.c 52098diff -urNp linux-3.0.7/grsecurity/gracl_res.c linux-3.0.7/grsecurity/gracl_res.c
49899--- linux-3.0.4/grsecurity/gracl_res.c 1969-12-31 19:00:00.000000000 -0500 52099--- linux-3.0.7/grsecurity/gracl_res.c 1969-12-31 19:00:00.000000000 -0500
49900+++ linux-3.0.4/grsecurity/gracl_res.c 2011-08-23 21:48:14.000000000 -0400 52100+++ linux-3.0.7/grsecurity/gracl_res.c 2011-08-23 21:48:14.000000000 -0400
49901@@ -0,0 +1,68 @@ 52101@@ -0,0 +1,68 @@
49902+#include <linux/kernel.h> 52102+#include <linux/kernel.h>
49903+#include <linux/sched.h> 52103+#include <linux/sched.h>
@@ -49967,9 +52167,9 @@ diff -urNp linux-3.0.4/grsecurity/gracl_res.c linux-3.0.4/grsecurity/gracl_res.c
49967+ rcu_read_unlock(); 52167+ rcu_read_unlock();
49968+ return; 52168+ return;
49969+} 52169+}
49970diff -urNp linux-3.0.4/grsecurity/gracl_segv.c linux-3.0.4/grsecurity/gracl_segv.c 52170diff -urNp linux-3.0.7/grsecurity/gracl_segv.c linux-3.0.7/grsecurity/gracl_segv.c
49971--- linux-3.0.4/grsecurity/gracl_segv.c 1969-12-31 19:00:00.000000000 -0500 52171--- linux-3.0.7/grsecurity/gracl_segv.c 1969-12-31 19:00:00.000000000 -0500
49972+++ linux-3.0.4/grsecurity/gracl_segv.c 2011-08-23 21:48:14.000000000 -0400 52172+++ linux-3.0.7/grsecurity/gracl_segv.c 2011-08-23 21:48:14.000000000 -0400
49973@@ -0,0 +1,299 @@ 52173@@ -0,0 +1,299 @@
49974+#include <linux/kernel.h> 52174+#include <linux/kernel.h>
49975+#include <linux/mm.h> 52175+#include <linux/mm.h>
@@ -50270,9 +52470,9 @@ diff -urNp linux-3.0.4/grsecurity/gracl_segv.c linux-3.0.4/grsecurity/gracl_segv
50270+ 52470+
50271+ return; 52471+ return;
50272+} 52472+}
50273diff -urNp linux-3.0.4/grsecurity/gracl_shm.c linux-3.0.4/grsecurity/gracl_shm.c 52473diff -urNp linux-3.0.7/grsecurity/gracl_shm.c linux-3.0.7/grsecurity/gracl_shm.c
50274--- linux-3.0.4/grsecurity/gracl_shm.c 1969-12-31 19:00:00.000000000 -0500 52474--- linux-3.0.7/grsecurity/gracl_shm.c 1969-12-31 19:00:00.000000000 -0500
50275+++ linux-3.0.4/grsecurity/gracl_shm.c 2011-08-23 21:48:14.000000000 -0400 52475+++ linux-3.0.7/grsecurity/gracl_shm.c 2011-08-23 21:48:14.000000000 -0400
50276@@ -0,0 +1,40 @@ 52476@@ -0,0 +1,40 @@
50277+#include <linux/kernel.h> 52477+#include <linux/kernel.h>
50278+#include <linux/mm.h> 52478+#include <linux/mm.h>
@@ -50314,9 +52514,9 @@ diff -urNp linux-3.0.4/grsecurity/gracl_shm.c linux-3.0.4/grsecurity/gracl_shm.c
50314+ 52514+
50315+ return 1; 52515+ return 1;
50316+} 52516+}
50317diff -urNp linux-3.0.4/grsecurity/grsec_chdir.c linux-3.0.4/grsecurity/grsec_chdir.c 52517diff -urNp linux-3.0.7/grsecurity/grsec_chdir.c linux-3.0.7/grsecurity/grsec_chdir.c
50318--- linux-3.0.4/grsecurity/grsec_chdir.c 1969-12-31 19:00:00.000000000 -0500 52518--- linux-3.0.7/grsecurity/grsec_chdir.c 1969-12-31 19:00:00.000000000 -0500
50319+++ linux-3.0.4/grsecurity/grsec_chdir.c 2011-08-23 21:48:14.000000000 -0400 52519+++ linux-3.0.7/grsecurity/grsec_chdir.c 2011-08-23 21:48:14.000000000 -0400
50320@@ -0,0 +1,19 @@ 52520@@ -0,0 +1,19 @@
50321+#include <linux/kernel.h> 52521+#include <linux/kernel.h>
50322+#include <linux/sched.h> 52522+#include <linux/sched.h>
@@ -50337,9 +52537,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_chdir.c linux-3.0.4/grsecurity/grsec_chd
50337+#endif 52537+#endif
50338+ return; 52538+ return;
50339+} 52539+}
50340diff -urNp linux-3.0.4/grsecurity/grsec_chroot.c linux-3.0.4/grsecurity/grsec_chroot.c 52540diff -urNp linux-3.0.7/grsecurity/grsec_chroot.c linux-3.0.7/grsecurity/grsec_chroot.c
50341--- linux-3.0.4/grsecurity/grsec_chroot.c 1969-12-31 19:00:00.000000000 -0500 52541--- linux-3.0.7/grsecurity/grsec_chroot.c 1969-12-31 19:00:00.000000000 -0500
50342+++ linux-3.0.4/grsecurity/grsec_chroot.c 2011-09-15 06:47:48.000000000 -0400 52542+++ linux-3.0.7/grsecurity/grsec_chroot.c 2011-09-15 06:47:48.000000000 -0400
50343@@ -0,0 +1,351 @@ 52543@@ -0,0 +1,351 @@
50344+#include <linux/kernel.h> 52544+#include <linux/kernel.h>
50345+#include <linux/module.h> 52545+#include <linux/module.h>
@@ -50692,9 +52892,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_chroot.c linux-3.0.4/grsecurity/grsec_ch
50692+#endif 52892+#endif
50693+ return 0; 52893+ return 0;
50694+} 52894+}
50695diff -urNp linux-3.0.4/grsecurity/grsec_disabled.c linux-3.0.4/grsecurity/grsec_disabled.c 52895diff -urNp linux-3.0.7/grsecurity/grsec_disabled.c linux-3.0.7/grsecurity/grsec_disabled.c
50696--- linux-3.0.4/grsecurity/grsec_disabled.c 1969-12-31 19:00:00.000000000 -0500 52896--- linux-3.0.7/grsecurity/grsec_disabled.c 1969-12-31 19:00:00.000000000 -0500
50697+++ linux-3.0.4/grsecurity/grsec_disabled.c 2011-09-24 08:13:01.000000000 -0400 52897+++ linux-3.0.7/grsecurity/grsec_disabled.c 2011-09-24 08:13:01.000000000 -0400
50698@@ -0,0 +1,433 @@ 52898@@ -0,0 +1,433 @@
50699+#include <linux/kernel.h> 52899+#include <linux/kernel.h>
50700+#include <linux/module.h> 52900+#include <linux/module.h>
@@ -51129,9 +53329,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_disabled.c linux-3.0.4/grsecurity/grsec_
51129+EXPORT_SYMBOL(gr_check_user_change); 53329+EXPORT_SYMBOL(gr_check_user_change);
51130+EXPORT_SYMBOL(gr_check_group_change); 53330+EXPORT_SYMBOL(gr_check_group_change);
51131+#endif 53331+#endif
51132diff -urNp linux-3.0.4/grsecurity/grsec_exec.c linux-3.0.4/grsecurity/grsec_exec.c 53332diff -urNp linux-3.0.7/grsecurity/grsec_exec.c linux-3.0.7/grsecurity/grsec_exec.c
51133--- linux-3.0.4/grsecurity/grsec_exec.c 1969-12-31 19:00:00.000000000 -0500 53333--- linux-3.0.7/grsecurity/grsec_exec.c 1969-12-31 19:00:00.000000000 -0500
51134+++ linux-3.0.4/grsecurity/grsec_exec.c 2011-09-14 09:20:28.000000000 -0400 53334+++ linux-3.0.7/grsecurity/grsec_exec.c 2011-09-14 09:20:28.000000000 -0400
51135@@ -0,0 +1,145 @@ 53335@@ -0,0 +1,145 @@
51136+#include <linux/kernel.h> 53336+#include <linux/kernel.h>
51137+#include <linux/sched.h> 53337+#include <linux/sched.h>
@@ -51278,9 +53478,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_exec.c linux-3.0.4/grsecurity/grsec_exec
51278+ 53478+
51279+EXPORT_SYMBOL(gr_is_capable); 53479+EXPORT_SYMBOL(gr_is_capable);
51280+EXPORT_SYMBOL(gr_is_capable_nolog); 53480+EXPORT_SYMBOL(gr_is_capable_nolog);
51281diff -urNp linux-3.0.4/grsecurity/grsec_fifo.c linux-3.0.4/grsecurity/grsec_fifo.c 53481diff -urNp linux-3.0.7/grsecurity/grsec_fifo.c linux-3.0.7/grsecurity/grsec_fifo.c
51282--- linux-3.0.4/grsecurity/grsec_fifo.c 1969-12-31 19:00:00.000000000 -0500 53482--- linux-3.0.7/grsecurity/grsec_fifo.c 1969-12-31 19:00:00.000000000 -0500
51283+++ linux-3.0.4/grsecurity/grsec_fifo.c 2011-08-23 21:48:14.000000000 -0400 53483+++ linux-3.0.7/grsecurity/grsec_fifo.c 2011-08-23 21:48:14.000000000 -0400
51284@@ -0,0 +1,24 @@ 53484@@ -0,0 +1,24 @@
51285+#include <linux/kernel.h> 53485+#include <linux/kernel.h>
51286+#include <linux/sched.h> 53486+#include <linux/sched.h>
@@ -51306,9 +53506,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_fifo.c linux-3.0.4/grsecurity/grsec_fifo
51306+#endif 53506+#endif
51307+ return 0; 53507+ return 0;
51308+} 53508+}
51309diff -urNp linux-3.0.4/grsecurity/grsec_fork.c linux-3.0.4/grsecurity/grsec_fork.c 53509diff -urNp linux-3.0.7/grsecurity/grsec_fork.c linux-3.0.7/grsecurity/grsec_fork.c
51310--- linux-3.0.4/grsecurity/grsec_fork.c 1969-12-31 19:00:00.000000000 -0500 53510--- linux-3.0.7/grsecurity/grsec_fork.c 1969-12-31 19:00:00.000000000 -0500
51311+++ linux-3.0.4/grsecurity/grsec_fork.c 2011-08-23 21:48:14.000000000 -0400 53511+++ linux-3.0.7/grsecurity/grsec_fork.c 2011-08-23 21:48:14.000000000 -0400
51312@@ -0,0 +1,23 @@ 53512@@ -0,0 +1,23 @@
51313+#include <linux/kernel.h> 53513+#include <linux/kernel.h>
51314+#include <linux/sched.h> 53514+#include <linux/sched.h>
@@ -51333,9 +53533,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_fork.c linux-3.0.4/grsecurity/grsec_fork
51333+#endif 53533+#endif
51334+ return; 53534+ return;
51335+} 53535+}
51336diff -urNp linux-3.0.4/grsecurity/grsec_init.c linux-3.0.4/grsecurity/grsec_init.c 53536diff -urNp linux-3.0.7/grsecurity/grsec_init.c linux-3.0.7/grsecurity/grsec_init.c
51337--- linux-3.0.4/grsecurity/grsec_init.c 1969-12-31 19:00:00.000000000 -0500 53537--- linux-3.0.7/grsecurity/grsec_init.c 1969-12-31 19:00:00.000000000 -0500
51338+++ linux-3.0.4/grsecurity/grsec_init.c 2011-08-25 17:25:12.000000000 -0400 53538+++ linux-3.0.7/grsecurity/grsec_init.c 2011-08-25 17:25:12.000000000 -0400
51339@@ -0,0 +1,269 @@ 53539@@ -0,0 +1,269 @@
51340+#include <linux/kernel.h> 53540+#include <linux/kernel.h>
51341+#include <linux/sched.h> 53541+#include <linux/sched.h>
@@ -51606,9 +53806,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_init.c linux-3.0.4/grsecurity/grsec_init
51606+ 53806+
51607+ return; 53807+ return;
51608+} 53808+}
51609diff -urNp linux-3.0.4/grsecurity/grsec_link.c linux-3.0.4/grsecurity/grsec_link.c 53809diff -urNp linux-3.0.7/grsecurity/grsec_link.c linux-3.0.7/grsecurity/grsec_link.c
51610--- linux-3.0.4/grsecurity/grsec_link.c 1969-12-31 19:00:00.000000000 -0500 53810--- linux-3.0.7/grsecurity/grsec_link.c 1969-12-31 19:00:00.000000000 -0500
51611+++ linux-3.0.4/grsecurity/grsec_link.c 2011-08-23 21:48:14.000000000 -0400 53811+++ linux-3.0.7/grsecurity/grsec_link.c 2011-08-23 21:48:14.000000000 -0400
51612@@ -0,0 +1,43 @@ 53812@@ -0,0 +1,43 @@
51613+#include <linux/kernel.h> 53813+#include <linux/kernel.h>
51614+#include <linux/sched.h> 53814+#include <linux/sched.h>
@@ -51653,9 +53853,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_link.c linux-3.0.4/grsecurity/grsec_link
51653+#endif 53853+#endif
51654+ return 0; 53854+ return 0;
51655+} 53855+}
51656diff -urNp linux-3.0.4/grsecurity/grsec_log.c linux-3.0.4/grsecurity/grsec_log.c 53856diff -urNp linux-3.0.7/grsecurity/grsec_log.c linux-3.0.7/grsecurity/grsec_log.c
51657--- linux-3.0.4/grsecurity/grsec_log.c 1969-12-31 19:00:00.000000000 -0500 53857--- linux-3.0.7/grsecurity/grsec_log.c 1969-12-31 19:00:00.000000000 -0500
51658+++ linux-3.0.4/grsecurity/grsec_log.c 2011-09-26 10:46:21.000000000 -0400 53858+++ linux-3.0.7/grsecurity/grsec_log.c 2011-09-26 10:46:21.000000000 -0400
51659@@ -0,0 +1,315 @@ 53859@@ -0,0 +1,315 @@
51660+#include <linux/kernel.h> 53860+#include <linux/kernel.h>
51661+#include <linux/sched.h> 53861+#include <linux/sched.h>
@@ -51972,9 +54172,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_log.c linux-3.0.4/grsecurity/grsec_log.c
51972+ gr_log_end(audit); 54172+ gr_log_end(audit);
51973+ END_LOCKS(audit); 54173+ END_LOCKS(audit);
51974+} 54174+}
51975diff -urNp linux-3.0.4/grsecurity/grsec_mem.c linux-3.0.4/grsecurity/grsec_mem.c 54175diff -urNp linux-3.0.7/grsecurity/grsec_mem.c linux-3.0.7/grsecurity/grsec_mem.c
51976--- linux-3.0.4/grsecurity/grsec_mem.c 1969-12-31 19:00:00.000000000 -0500 54176--- linux-3.0.7/grsecurity/grsec_mem.c 1969-12-31 19:00:00.000000000 -0500
51977+++ linux-3.0.4/grsecurity/grsec_mem.c 2011-08-23 21:48:14.000000000 -0400 54177+++ linux-3.0.7/grsecurity/grsec_mem.c 2011-08-23 21:48:14.000000000 -0400
51978@@ -0,0 +1,33 @@ 54178@@ -0,0 +1,33 @@
51979+#include <linux/kernel.h> 54179+#include <linux/kernel.h>
51980+#include <linux/sched.h> 54180+#include <linux/sched.h>
@@ -52009,9 +54209,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_mem.c linux-3.0.4/grsecurity/grsec_mem.c
52009+ gr_log_noargs(GR_DONT_AUDIT, GR_VM86_MSG); 54209+ gr_log_noargs(GR_DONT_AUDIT, GR_VM86_MSG);
52010+ return; 54210+ return;
52011+} 54211+}
52012diff -urNp linux-3.0.4/grsecurity/grsec_mount.c linux-3.0.4/grsecurity/grsec_mount.c 54212diff -urNp linux-3.0.7/grsecurity/grsec_mount.c linux-3.0.7/grsecurity/grsec_mount.c
52013--- linux-3.0.4/grsecurity/grsec_mount.c 1969-12-31 19:00:00.000000000 -0500 54213--- linux-3.0.7/grsecurity/grsec_mount.c 1969-12-31 19:00:00.000000000 -0500
52014+++ linux-3.0.4/grsecurity/grsec_mount.c 2011-08-23 21:48:14.000000000 -0400 54214+++ linux-3.0.7/grsecurity/grsec_mount.c 2011-08-23 21:48:14.000000000 -0400
52015@@ -0,0 +1,62 @@ 54215@@ -0,0 +1,62 @@
52016+#include <linux/kernel.h> 54216+#include <linux/kernel.h>
52017+#include <linux/sched.h> 54217+#include <linux/sched.h>
@@ -52075,9 +54275,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_mount.c linux-3.0.4/grsecurity/grsec_mou
52075+#endif 54275+#endif
52076+ return 0; 54276+ return 0;
52077+} 54277+}
52078diff -urNp linux-3.0.4/grsecurity/grsec_pax.c linux-3.0.4/grsecurity/grsec_pax.c 54278diff -urNp linux-3.0.7/grsecurity/grsec_pax.c linux-3.0.7/grsecurity/grsec_pax.c
52079--- linux-3.0.4/grsecurity/grsec_pax.c 1969-12-31 19:00:00.000000000 -0500 54279--- linux-3.0.7/grsecurity/grsec_pax.c 1969-12-31 19:00:00.000000000 -0500
52080+++ linux-3.0.4/grsecurity/grsec_pax.c 2011-08-23 21:48:14.000000000 -0400 54280+++ linux-3.0.7/grsecurity/grsec_pax.c 2011-08-23 21:48:14.000000000 -0400
52081@@ -0,0 +1,36 @@ 54281@@ -0,0 +1,36 @@
52082+#include <linux/kernel.h> 54282+#include <linux/kernel.h>
52083+#include <linux/sched.h> 54283+#include <linux/sched.h>
@@ -52115,9 +54315,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_pax.c linux-3.0.4/grsecurity/grsec_pax.c
52115+#endif 54315+#endif
52116+ return; 54316+ return;
52117+} 54317+}
52118diff -urNp linux-3.0.4/grsecurity/grsec_ptrace.c linux-3.0.4/grsecurity/grsec_ptrace.c 54318diff -urNp linux-3.0.7/grsecurity/grsec_ptrace.c linux-3.0.7/grsecurity/grsec_ptrace.c
52119--- linux-3.0.4/grsecurity/grsec_ptrace.c 1969-12-31 19:00:00.000000000 -0500 54319--- linux-3.0.7/grsecurity/grsec_ptrace.c 1969-12-31 19:00:00.000000000 -0500
52120+++ linux-3.0.4/grsecurity/grsec_ptrace.c 2011-08-23 21:48:14.000000000 -0400 54320+++ linux-3.0.7/grsecurity/grsec_ptrace.c 2011-08-23 21:48:14.000000000 -0400
52121@@ -0,0 +1,14 @@ 54321@@ -0,0 +1,14 @@
52122+#include <linux/kernel.h> 54322+#include <linux/kernel.h>
52123+#include <linux/sched.h> 54323+#include <linux/sched.h>
@@ -52133,9 +54333,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_ptrace.c linux-3.0.4/grsecurity/grsec_pt
52133+#endif 54333+#endif
52134+ return; 54334+ return;
52135+} 54335+}
52136diff -urNp linux-3.0.4/grsecurity/grsec_sig.c linux-3.0.4/grsecurity/grsec_sig.c 54336diff -urNp linux-3.0.7/grsecurity/grsec_sig.c linux-3.0.7/grsecurity/grsec_sig.c
52137--- linux-3.0.4/grsecurity/grsec_sig.c 1969-12-31 19:00:00.000000000 -0500 54337--- linux-3.0.7/grsecurity/grsec_sig.c 1969-12-31 19:00:00.000000000 -0500
52138+++ linux-3.0.4/grsecurity/grsec_sig.c 2011-08-23 21:48:14.000000000 -0400 54338+++ linux-3.0.7/grsecurity/grsec_sig.c 2011-08-23 21:48:14.000000000 -0400
52139@@ -0,0 +1,206 @@ 54339@@ -0,0 +1,206 @@
52140+#include <linux/kernel.h> 54340+#include <linux/kernel.h>
52141+#include <linux/sched.h> 54341+#include <linux/sched.h>
@@ -52343,9 +54543,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_sig.c linux-3.0.4/grsecurity/grsec_sig.c
52343+#endif 54543+#endif
52344+ return 0; 54544+ return 0;
52345+} 54545+}
52346diff -urNp linux-3.0.4/grsecurity/grsec_sock.c linux-3.0.4/grsecurity/grsec_sock.c 54546diff -urNp linux-3.0.7/grsecurity/grsec_sock.c linux-3.0.7/grsecurity/grsec_sock.c
52347--- linux-3.0.4/grsecurity/grsec_sock.c 1969-12-31 19:00:00.000000000 -0500 54547--- linux-3.0.7/grsecurity/grsec_sock.c 1969-12-31 19:00:00.000000000 -0500
52348+++ linux-3.0.4/grsecurity/grsec_sock.c 2011-08-23 21:48:14.000000000 -0400 54548+++ linux-3.0.7/grsecurity/grsec_sock.c 2011-08-23 21:48:14.000000000 -0400
52349@@ -0,0 +1,244 @@ 54549@@ -0,0 +1,244 @@
52350+#include <linux/kernel.h> 54550+#include <linux/kernel.h>
52351+#include <linux/module.h> 54551+#include <linux/module.h>
@@ -52591,9 +54791,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_sock.c linux-3.0.4/grsecurity/grsec_sock
52591+#endif 54791+#endif
52592+ return 0; 54792+ return 0;
52593+} 54793+}
52594diff -urNp linux-3.0.4/grsecurity/grsec_sysctl.c linux-3.0.4/grsecurity/grsec_sysctl.c 54794diff -urNp linux-3.0.7/grsecurity/grsec_sysctl.c linux-3.0.7/grsecurity/grsec_sysctl.c
52595--- linux-3.0.4/grsecurity/grsec_sysctl.c 1969-12-31 19:00:00.000000000 -0500 54795--- linux-3.0.7/grsecurity/grsec_sysctl.c 1969-12-31 19:00:00.000000000 -0500
52596+++ linux-3.0.4/grsecurity/grsec_sysctl.c 2011-08-25 17:26:15.000000000 -0400 54796+++ linux-3.0.7/grsecurity/grsec_sysctl.c 2011-08-25 17:26:15.000000000 -0400
52597@@ -0,0 +1,433 @@ 54797@@ -0,0 +1,433 @@
52598+#include <linux/kernel.h> 54798+#include <linux/kernel.h>
52599+#include <linux/sched.h> 54799+#include <linux/sched.h>
@@ -53028,9 +55228,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_sysctl.c linux-3.0.4/grsecurity/grsec_sy
53028+ { } 55228+ { }
53029+}; 55229+};
53030+#endif 55230+#endif
53031diff -urNp linux-3.0.4/grsecurity/grsec_time.c linux-3.0.4/grsecurity/grsec_time.c 55231diff -urNp linux-3.0.7/grsecurity/grsec_time.c linux-3.0.7/grsecurity/grsec_time.c
53032--- linux-3.0.4/grsecurity/grsec_time.c 1969-12-31 19:00:00.000000000 -0500 55232--- linux-3.0.7/grsecurity/grsec_time.c 1969-12-31 19:00:00.000000000 -0500
53033+++ linux-3.0.4/grsecurity/grsec_time.c 2011-08-23 21:48:14.000000000 -0400 55233+++ linux-3.0.7/grsecurity/grsec_time.c 2011-08-23 21:48:14.000000000 -0400
53034@@ -0,0 +1,16 @@ 55234@@ -0,0 +1,16 @@
53035+#include <linux/kernel.h> 55235+#include <linux/kernel.h>
53036+#include <linux/sched.h> 55236+#include <linux/sched.h>
@@ -53048,9 +55248,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_time.c linux-3.0.4/grsecurity/grsec_time
53048+} 55248+}
53049+ 55249+
53050+EXPORT_SYMBOL(gr_log_timechange); 55250+EXPORT_SYMBOL(gr_log_timechange);
53051diff -urNp linux-3.0.4/grsecurity/grsec_tpe.c linux-3.0.4/grsecurity/grsec_tpe.c 55251diff -urNp linux-3.0.7/grsecurity/grsec_tpe.c linux-3.0.7/grsecurity/grsec_tpe.c
53052--- linux-3.0.4/grsecurity/grsec_tpe.c 1969-12-31 19:00:00.000000000 -0500 55252--- linux-3.0.7/grsecurity/grsec_tpe.c 1969-12-31 19:00:00.000000000 -0500
53053+++ linux-3.0.4/grsecurity/grsec_tpe.c 2011-08-23 21:48:14.000000000 -0400 55253+++ linux-3.0.7/grsecurity/grsec_tpe.c 2011-08-23 21:48:14.000000000 -0400
53054@@ -0,0 +1,39 @@ 55254@@ -0,0 +1,39 @@
53055+#include <linux/kernel.h> 55255+#include <linux/kernel.h>
53056+#include <linux/sched.h> 55256+#include <linux/sched.h>
@@ -53091,9 +55291,9 @@ diff -urNp linux-3.0.4/grsecurity/grsec_tpe.c linux-3.0.4/grsecurity/grsec_tpe.c
53091+#endif 55291+#endif
53092+ return 1; 55292+ return 1;
53093+} 55293+}
53094diff -urNp linux-3.0.4/grsecurity/grsum.c linux-3.0.4/grsecurity/grsum.c 55294diff -urNp linux-3.0.7/grsecurity/grsum.c linux-3.0.7/grsecurity/grsum.c
53095--- linux-3.0.4/grsecurity/grsum.c 1969-12-31 19:00:00.000000000 -0500 55295--- linux-3.0.7/grsecurity/grsum.c 1969-12-31 19:00:00.000000000 -0500
53096+++ linux-3.0.4/grsecurity/grsum.c 2011-08-23 21:48:14.000000000 -0400 55296+++ linux-3.0.7/grsecurity/grsum.c 2011-08-23 21:48:14.000000000 -0400
53097@@ -0,0 +1,61 @@ 55297@@ -0,0 +1,61 @@
53098+#include <linux/err.h> 55298+#include <linux/err.h>
53099+#include <linux/kernel.h> 55299+#include <linux/kernel.h>
@@ -53156,9 +55356,9 @@ diff -urNp linux-3.0.4/grsecurity/grsum.c linux-3.0.4/grsecurity/grsum.c
53156+ 55356+
53157+ return retval; 55357+ return retval;
53158+} 55358+}
53159diff -urNp linux-3.0.4/grsecurity/Kconfig linux-3.0.4/grsecurity/Kconfig 55359diff -urNp linux-3.0.7/grsecurity/Kconfig linux-3.0.7/grsecurity/Kconfig
53160--- linux-3.0.4/grsecurity/Kconfig 1969-12-31 19:00:00.000000000 -0500 55360--- linux-3.0.7/grsecurity/Kconfig 1969-12-31 19:00:00.000000000 -0500
53161+++ linux-3.0.4/grsecurity/Kconfig 2011-09-15 00:00:57.000000000 -0400 55361+++ linux-3.0.7/grsecurity/Kconfig 2011-09-15 00:00:57.000000000 -0400
53162@@ -0,0 +1,1038 @@ 55362@@ -0,0 +1,1038 @@
53163+# 55363+#
53164+# grecurity configuration 55364+# grecurity configuration
@@ -54198,10 +56398,10 @@ diff -urNp linux-3.0.4/grsecurity/Kconfig linux-3.0.4/grsecurity/Kconfig
54198+endmenu 56398+endmenu
54199+ 56399+
54200+endmenu 56400+endmenu
54201diff -urNp linux-3.0.4/grsecurity/Makefile linux-3.0.4/grsecurity/Makefile 56401diff -urNp linux-3.0.7/grsecurity/Makefile linux-3.0.7/grsecurity/Makefile
54202--- linux-3.0.4/grsecurity/Makefile 1969-12-31 19:00:00.000000000 -0500 56402--- linux-3.0.7/grsecurity/Makefile 1969-12-31 19:00:00.000000000 -0500
54203+++ linux-3.0.4/grsecurity/Makefile 2011-09-14 23:29:56.000000000 -0400 56403+++ linux-3.0.7/grsecurity/Makefile 2011-10-17 06:45:43.000000000 -0400
54204@@ -0,0 +1,35 @@ 56404@@ -0,0 +1,36 @@
54205+# grsecurity's ACL system was originally written in 2001 by Michael Dalton 56405+# grsecurity's ACL system was originally written in 2001 by Michael Dalton
54206+# during 2001-2009 it has been completely redesigned by Brad Spengler 56406+# during 2001-2009 it has been completely redesigned by Brad Spengler
54207+# into an RBAC system 56407+# into an RBAC system
@@ -54234,12 +56434,13 @@ diff -urNp linux-3.0.4/grsecurity/Makefile linux-3.0.4/grsecurity/Makefile
54234+ @-chmod -f 500 /boot 56434+ @-chmod -f 500 /boot
54235+ @-chmod -f 500 /lib/modules 56435+ @-chmod -f 500 /lib/modules
54236+ @-chmod -f 500 /lib64/modules 56436+ @-chmod -f 500 /lib64/modules
56437+ @-chmod -f 500 /lib32/modules
54237+ @-chmod -f 700 . 56438+ @-chmod -f 700 .
54238+ @echo ' grsec: protected kernel image paths' 56439+ @echo ' grsec: protected kernel image paths'
54239+endif 56440+endif
54240diff -urNp linux-3.0.4/include/acpi/acpi_bus.h linux-3.0.4/include/acpi/acpi_bus.h 56441diff -urNp linux-3.0.7/include/acpi/acpi_bus.h linux-3.0.7/include/acpi/acpi_bus.h
54241--- linux-3.0.4/include/acpi/acpi_bus.h 2011-07-21 22:17:23.000000000 -0400 56442--- linux-3.0.7/include/acpi/acpi_bus.h 2011-07-21 22:17:23.000000000 -0400
54242+++ linux-3.0.4/include/acpi/acpi_bus.h 2011-08-23 21:47:56.000000000 -0400 56443+++ linux-3.0.7/include/acpi/acpi_bus.h 2011-08-23 21:47:56.000000000 -0400
54243@@ -107,7 +107,7 @@ struct acpi_device_ops { 56444@@ -107,7 +107,7 @@ struct acpi_device_ops {
54244 acpi_op_bind bind; 56445 acpi_op_bind bind;
54245 acpi_op_unbind unbind; 56446 acpi_op_unbind unbind;
@@ -54249,9 +56450,9 @@ diff -urNp linux-3.0.4/include/acpi/acpi_bus.h linux-3.0.4/include/acpi/acpi_bus
54249 56450
54250 #define ACPI_DRIVER_ALL_NOTIFY_EVENTS 0x1 /* system AND device events */ 56451 #define ACPI_DRIVER_ALL_NOTIFY_EVENTS 0x1 /* system AND device events */
54251 56452
54252diff -urNp linux-3.0.4/include/asm-generic/atomic-long.h linux-3.0.4/include/asm-generic/atomic-long.h 56453diff -urNp linux-3.0.7/include/asm-generic/atomic-long.h linux-3.0.7/include/asm-generic/atomic-long.h
54253--- linux-3.0.4/include/asm-generic/atomic-long.h 2011-07-21 22:17:23.000000000 -0400 56454--- linux-3.0.7/include/asm-generic/atomic-long.h 2011-07-21 22:17:23.000000000 -0400
54254+++ linux-3.0.4/include/asm-generic/atomic-long.h 2011-08-23 21:47:56.000000000 -0400 56455+++ linux-3.0.7/include/asm-generic/atomic-long.h 2011-08-23 21:47:56.000000000 -0400
54255@@ -22,6 +22,12 @@ 56456@@ -22,6 +22,12 @@
54256 56457
54257 typedef atomic64_t atomic_long_t; 56458 typedef atomic64_t atomic_long_t;
@@ -54552,9 +56753,9 @@ diff -urNp linux-3.0.4/include/asm-generic/atomic-long.h linux-3.0.4/include/asm
54552+#endif 56753+#endif
54553+ 56754+
54554 #endif /* _ASM_GENERIC_ATOMIC_LONG_H */ 56755 #endif /* _ASM_GENERIC_ATOMIC_LONG_H */
54555diff -urNp linux-3.0.4/include/asm-generic/cache.h linux-3.0.4/include/asm-generic/cache.h 56756diff -urNp linux-3.0.7/include/asm-generic/cache.h linux-3.0.7/include/asm-generic/cache.h
54556--- linux-3.0.4/include/asm-generic/cache.h 2011-07-21 22:17:23.000000000 -0400 56757--- linux-3.0.7/include/asm-generic/cache.h 2011-07-21 22:17:23.000000000 -0400
54557+++ linux-3.0.4/include/asm-generic/cache.h 2011-08-23 21:47:56.000000000 -0400 56758+++ linux-3.0.7/include/asm-generic/cache.h 2011-08-23 21:47:56.000000000 -0400
54558@@ -6,7 +6,7 @@ 56759@@ -6,7 +6,7 @@
54559 * cache lines need to provide their own cache.h. 56760 * cache lines need to provide their own cache.h.
54560 */ 56761 */
@@ -54565,9 +56766,9 @@ diff -urNp linux-3.0.4/include/asm-generic/cache.h linux-3.0.4/include/asm-gener
54565+#define L1_CACHE_BYTES (1UL << L1_CACHE_SHIFT) 56766+#define L1_CACHE_BYTES (1UL << L1_CACHE_SHIFT)
54566 56767
54567 #endif /* __ASM_GENERIC_CACHE_H */ 56768 #endif /* __ASM_GENERIC_CACHE_H */
54568diff -urNp linux-3.0.4/include/asm-generic/int-l64.h linux-3.0.4/include/asm-generic/int-l64.h 56769diff -urNp linux-3.0.7/include/asm-generic/int-l64.h linux-3.0.7/include/asm-generic/int-l64.h
54569--- linux-3.0.4/include/asm-generic/int-l64.h 2011-07-21 22:17:23.000000000 -0400 56770--- linux-3.0.7/include/asm-generic/int-l64.h 2011-07-21 22:17:23.000000000 -0400
54570+++ linux-3.0.4/include/asm-generic/int-l64.h 2011-08-23 21:47:56.000000000 -0400 56771+++ linux-3.0.7/include/asm-generic/int-l64.h 2011-08-23 21:47:56.000000000 -0400
54571@@ -46,6 +46,8 @@ typedef unsigned int u32; 56772@@ -46,6 +46,8 @@ typedef unsigned int u32;
54572 typedef signed long s64; 56773 typedef signed long s64;
54573 typedef unsigned long u64; 56774 typedef unsigned long u64;
@@ -54577,9 +56778,9 @@ diff -urNp linux-3.0.4/include/asm-generic/int-l64.h linux-3.0.4/include/asm-gen
54577 #define S8_C(x) x 56778 #define S8_C(x) x
54578 #define U8_C(x) x ## U 56779 #define U8_C(x) x ## U
54579 #define S16_C(x) x 56780 #define S16_C(x) x
54580diff -urNp linux-3.0.4/include/asm-generic/int-ll64.h linux-3.0.4/include/asm-generic/int-ll64.h 56781diff -urNp linux-3.0.7/include/asm-generic/int-ll64.h linux-3.0.7/include/asm-generic/int-ll64.h
54581--- linux-3.0.4/include/asm-generic/int-ll64.h 2011-07-21 22:17:23.000000000 -0400 56782--- linux-3.0.7/include/asm-generic/int-ll64.h 2011-07-21 22:17:23.000000000 -0400
54582+++ linux-3.0.4/include/asm-generic/int-ll64.h 2011-08-23 21:47:56.000000000 -0400 56783+++ linux-3.0.7/include/asm-generic/int-ll64.h 2011-08-23 21:47:56.000000000 -0400
54583@@ -51,6 +51,8 @@ typedef unsigned int u32; 56784@@ -51,6 +51,8 @@ typedef unsigned int u32;
54584 typedef signed long long s64; 56785 typedef signed long long s64;
54585 typedef unsigned long long u64; 56786 typedef unsigned long long u64;
@@ -54589,9 +56790,9 @@ diff -urNp linux-3.0.4/include/asm-generic/int-ll64.h linux-3.0.4/include/asm-ge
54589 #define S8_C(x) x 56790 #define S8_C(x) x
54590 #define U8_C(x) x ## U 56791 #define U8_C(x) x ## U
54591 #define S16_C(x) x 56792 #define S16_C(x) x
54592diff -urNp linux-3.0.4/include/asm-generic/kmap_types.h linux-3.0.4/include/asm-generic/kmap_types.h 56793diff -urNp linux-3.0.7/include/asm-generic/kmap_types.h linux-3.0.7/include/asm-generic/kmap_types.h
54593--- linux-3.0.4/include/asm-generic/kmap_types.h 2011-07-21 22:17:23.000000000 -0400 56794--- linux-3.0.7/include/asm-generic/kmap_types.h 2011-07-21 22:17:23.000000000 -0400
54594+++ linux-3.0.4/include/asm-generic/kmap_types.h 2011-08-23 21:47:56.000000000 -0400 56795+++ linux-3.0.7/include/asm-generic/kmap_types.h 2011-08-23 21:47:56.000000000 -0400
54595@@ -29,10 +29,11 @@ KMAP_D(16) KM_IRQ_PTE, 56796@@ -29,10 +29,11 @@ KMAP_D(16) KM_IRQ_PTE,
54596 KMAP_D(17) KM_NMI, 56797 KMAP_D(17) KM_NMI,
54597 KMAP_D(18) KM_NMI_PTE, 56798 KMAP_D(18) KM_NMI_PTE,
@@ -54605,9 +56806,9 @@ diff -urNp linux-3.0.4/include/asm-generic/kmap_types.h linux-3.0.4/include/asm-
54605 }; 56806 };
54606 56807
54607 #undef KMAP_D 56808 #undef KMAP_D
54608diff -urNp linux-3.0.4/include/asm-generic/pgtable.h linux-3.0.4/include/asm-generic/pgtable.h 56809diff -urNp linux-3.0.7/include/asm-generic/pgtable.h linux-3.0.7/include/asm-generic/pgtable.h
54609--- linux-3.0.4/include/asm-generic/pgtable.h 2011-07-21 22:17:23.000000000 -0400 56810--- linux-3.0.7/include/asm-generic/pgtable.h 2011-07-21 22:17:23.000000000 -0400
54610+++ linux-3.0.4/include/asm-generic/pgtable.h 2011-08-23 21:47:56.000000000 -0400 56811+++ linux-3.0.7/include/asm-generic/pgtable.h 2011-08-23 21:47:56.000000000 -0400
54611@@ -443,6 +443,14 @@ static inline int pmd_write(pmd_t pmd) 56812@@ -443,6 +443,14 @@ static inline int pmd_write(pmd_t pmd)
54612 #endif /* __HAVE_ARCH_PMD_WRITE */ 56813 #endif /* __HAVE_ARCH_PMD_WRITE */
54613 #endif 56814 #endif
@@ -54623,9 +56824,9 @@ diff -urNp linux-3.0.4/include/asm-generic/pgtable.h linux-3.0.4/include/asm-gen
54623 #endif /* !__ASSEMBLY__ */ 56824 #endif /* !__ASSEMBLY__ */
54624 56825
54625 #endif /* _ASM_GENERIC_PGTABLE_H */ 56826 #endif /* _ASM_GENERIC_PGTABLE_H */
54626diff -urNp linux-3.0.4/include/asm-generic/pgtable-nopmd.h linux-3.0.4/include/asm-generic/pgtable-nopmd.h 56827diff -urNp linux-3.0.7/include/asm-generic/pgtable-nopmd.h linux-3.0.7/include/asm-generic/pgtable-nopmd.h
54627--- linux-3.0.4/include/asm-generic/pgtable-nopmd.h 2011-07-21 22:17:23.000000000 -0400 56828--- linux-3.0.7/include/asm-generic/pgtable-nopmd.h 2011-07-21 22:17:23.000000000 -0400
54628+++ linux-3.0.4/include/asm-generic/pgtable-nopmd.h 2011-08-23 21:47:56.000000000 -0400 56829+++ linux-3.0.7/include/asm-generic/pgtable-nopmd.h 2011-08-23 21:47:56.000000000 -0400
54629@@ -1,14 +1,19 @@ 56830@@ -1,14 +1,19 @@
54630 #ifndef _PGTABLE_NOPMD_H 56831 #ifndef _PGTABLE_NOPMD_H
54631 #define _PGTABLE_NOPMD_H 56832 #define _PGTABLE_NOPMD_H
@@ -54662,9 +56863,9 @@ diff -urNp linux-3.0.4/include/asm-generic/pgtable-nopmd.h linux-3.0.4/include/a
54662 /* 56863 /*
54663 * The "pud_xxx()" functions here are trivial for a folded two-level 56864 * The "pud_xxx()" functions here are trivial for a folded two-level
54664 * setup: the pmd is never bad, and a pmd always exists (as it's folded 56865 * setup: the pmd is never bad, and a pmd always exists (as it's folded
54665diff -urNp linux-3.0.4/include/asm-generic/pgtable-nopud.h linux-3.0.4/include/asm-generic/pgtable-nopud.h 56866diff -urNp linux-3.0.7/include/asm-generic/pgtable-nopud.h linux-3.0.7/include/asm-generic/pgtable-nopud.h
54666--- linux-3.0.4/include/asm-generic/pgtable-nopud.h 2011-07-21 22:17:23.000000000 -0400 56867--- linux-3.0.7/include/asm-generic/pgtable-nopud.h 2011-07-21 22:17:23.000000000 -0400
54667+++ linux-3.0.4/include/asm-generic/pgtable-nopud.h 2011-08-23 21:47:56.000000000 -0400 56868+++ linux-3.0.7/include/asm-generic/pgtable-nopud.h 2011-08-23 21:47:56.000000000 -0400
54668@@ -1,10 +1,15 @@ 56869@@ -1,10 +1,15 @@
54669 #ifndef _PGTABLE_NOPUD_H 56870 #ifndef _PGTABLE_NOPUD_H
54670 #define _PGTABLE_NOPUD_H 56871 #define _PGTABLE_NOPUD_H
@@ -54695,9 +56896,9 @@ diff -urNp linux-3.0.4/include/asm-generic/pgtable-nopud.h linux-3.0.4/include/a
54695 /* 56896 /*
54696 * The "pgd_xxx()" functions here are trivial for a folded two-level 56897 * The "pgd_xxx()" functions here are trivial for a folded two-level
54697 * setup: the pud is never bad, and a pud always exists (as it's folded 56898 * setup: the pud is never bad, and a pud always exists (as it's folded
54698diff -urNp linux-3.0.4/include/asm-generic/vmlinux.lds.h linux-3.0.4/include/asm-generic/vmlinux.lds.h 56899diff -urNp linux-3.0.7/include/asm-generic/vmlinux.lds.h linux-3.0.7/include/asm-generic/vmlinux.lds.h
54699--- linux-3.0.4/include/asm-generic/vmlinux.lds.h 2011-07-21 22:17:23.000000000 -0400 56900--- linux-3.0.7/include/asm-generic/vmlinux.lds.h 2011-07-21 22:17:23.000000000 -0400
54700+++ linux-3.0.4/include/asm-generic/vmlinux.lds.h 2011-08-23 21:47:56.000000000 -0400 56901+++ linux-3.0.7/include/asm-generic/vmlinux.lds.h 2011-08-23 21:47:56.000000000 -0400
54701@@ -217,6 +217,7 @@ 56902@@ -217,6 +217,7 @@
54702 .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \ 56903 .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \
54703 VMLINUX_SYMBOL(__start_rodata) = .; \ 56904 VMLINUX_SYMBOL(__start_rodata) = .; \
@@ -54729,9 +56930,9 @@ diff -urNp linux-3.0.4/include/asm-generic/vmlinux.lds.h linux-3.0.4/include/asm
54729 56930
54730 /** 56931 /**
54731 * PERCPU_SECTION - define output section for percpu area, simple version 56932 * PERCPU_SECTION - define output section for percpu area, simple version
54732diff -urNp linux-3.0.4/include/drm/drm_crtc_helper.h linux-3.0.4/include/drm/drm_crtc_helper.h 56933diff -urNp linux-3.0.7/include/drm/drm_crtc_helper.h linux-3.0.7/include/drm/drm_crtc_helper.h
54733--- linux-3.0.4/include/drm/drm_crtc_helper.h 2011-07-21 22:17:23.000000000 -0400 56934--- linux-3.0.7/include/drm/drm_crtc_helper.h 2011-07-21 22:17:23.000000000 -0400
54734+++ linux-3.0.4/include/drm/drm_crtc_helper.h 2011-08-23 21:47:56.000000000 -0400 56935+++ linux-3.0.7/include/drm/drm_crtc_helper.h 2011-08-23 21:47:56.000000000 -0400
54735@@ -74,7 +74,7 @@ struct drm_crtc_helper_funcs { 56936@@ -74,7 +74,7 @@ struct drm_crtc_helper_funcs {
54736 56937
54737 /* disable crtc when not in use - more explicit than dpms off */ 56938 /* disable crtc when not in use - more explicit than dpms off */
@@ -54750,9 +56951,9 @@ diff -urNp linux-3.0.4/include/drm/drm_crtc_helper.h linux-3.0.4/include/drm/drm
54750 56951
54751 struct drm_connector_helper_funcs { 56952 struct drm_connector_helper_funcs {
54752 int (*get_modes)(struct drm_connector *connector); 56953 int (*get_modes)(struct drm_connector *connector);
54753diff -urNp linux-3.0.4/include/drm/drmP.h linux-3.0.4/include/drm/drmP.h 56954diff -urNp linux-3.0.7/include/drm/drmP.h linux-3.0.7/include/drm/drmP.h
54754--- linux-3.0.4/include/drm/drmP.h 2011-07-21 22:17:23.000000000 -0400 56955--- linux-3.0.7/include/drm/drmP.h 2011-07-21 22:17:23.000000000 -0400
54755+++ linux-3.0.4/include/drm/drmP.h 2011-08-23 21:47:56.000000000 -0400 56956+++ linux-3.0.7/include/drm/drmP.h 2011-08-23 21:47:56.000000000 -0400
54756@@ -73,6 +73,7 @@ 56957@@ -73,6 +73,7 @@
54757 #include <linux/workqueue.h> 56958 #include <linux/workqueue.h>
54758 #include <linux/poll.h> 56959 #include <linux/poll.h>
@@ -54779,9 +56980,9 @@ diff -urNp linux-3.0.4/include/drm/drmP.h linux-3.0.4/include/drm/drmP.h
54779 /*@} */ 56980 /*@} */
54780 56981
54781 struct list_head filelist; 56982 struct list_head filelist;
54782diff -urNp linux-3.0.4/include/drm/ttm/ttm_memory.h linux-3.0.4/include/drm/ttm/ttm_memory.h 56983diff -urNp linux-3.0.7/include/drm/ttm/ttm_memory.h linux-3.0.7/include/drm/ttm/ttm_memory.h
54783--- linux-3.0.4/include/drm/ttm/ttm_memory.h 2011-07-21 22:17:23.000000000 -0400 56984--- linux-3.0.7/include/drm/ttm/ttm_memory.h 2011-07-21 22:17:23.000000000 -0400
54784+++ linux-3.0.4/include/drm/ttm/ttm_memory.h 2011-08-23 21:47:56.000000000 -0400 56985+++ linux-3.0.7/include/drm/ttm/ttm_memory.h 2011-08-23 21:47:56.000000000 -0400
54785@@ -47,7 +47,7 @@ 56986@@ -47,7 +47,7 @@
54786 56987
54787 struct ttm_mem_shrink { 56988 struct ttm_mem_shrink {
@@ -54791,9 +56992,9 @@ diff -urNp linux-3.0.4/include/drm/ttm/ttm_memory.h linux-3.0.4/include/drm/ttm/
54791 56992
54792 /** 56993 /**
54793 * struct ttm_mem_global - Global memory accounting structure. 56994 * struct ttm_mem_global - Global memory accounting structure.
54794diff -urNp linux-3.0.4/include/linux/a.out.h linux-3.0.4/include/linux/a.out.h 56995diff -urNp linux-3.0.7/include/linux/a.out.h linux-3.0.7/include/linux/a.out.h
54795--- linux-3.0.4/include/linux/a.out.h 2011-07-21 22:17:23.000000000 -0400 56996--- linux-3.0.7/include/linux/a.out.h 2011-07-21 22:17:23.000000000 -0400
54796+++ linux-3.0.4/include/linux/a.out.h 2011-08-23 21:47:56.000000000 -0400 56997+++ linux-3.0.7/include/linux/a.out.h 2011-08-23 21:47:56.000000000 -0400
54797@@ -39,6 +39,14 @@ enum machine_type { 56998@@ -39,6 +39,14 @@ enum machine_type {
54798 M_MIPS2 = 152 /* MIPS R6000/R4000 binary */ 56999 M_MIPS2 = 152 /* MIPS R6000/R4000 binary */
54799 }; 57000 };
@@ -54809,9 +57010,9 @@ diff -urNp linux-3.0.4/include/linux/a.out.h linux-3.0.4/include/linux/a.out.h
54809 #if !defined (N_MAGIC) 57010 #if !defined (N_MAGIC)
54810 #define N_MAGIC(exec) ((exec).a_info & 0xffff) 57011 #define N_MAGIC(exec) ((exec).a_info & 0xffff)
54811 #endif 57012 #endif
54812diff -urNp linux-3.0.4/include/linux/atmdev.h linux-3.0.4/include/linux/atmdev.h 57013diff -urNp linux-3.0.7/include/linux/atmdev.h linux-3.0.7/include/linux/atmdev.h
54813--- linux-3.0.4/include/linux/atmdev.h 2011-07-21 22:17:23.000000000 -0400 57014--- linux-3.0.7/include/linux/atmdev.h 2011-07-21 22:17:23.000000000 -0400
54814+++ linux-3.0.4/include/linux/atmdev.h 2011-08-23 21:47:56.000000000 -0400 57015+++ linux-3.0.7/include/linux/atmdev.h 2011-08-23 21:47:56.000000000 -0400
54815@@ -237,7 +237,7 @@ struct compat_atm_iobuf { 57016@@ -237,7 +237,7 @@ struct compat_atm_iobuf {
54816 #endif 57017 #endif
54817 57018
@@ -54821,9 +57022,9 @@ diff -urNp linux-3.0.4/include/linux/atmdev.h linux-3.0.4/include/linux/atmdev.h
54821 __AAL_STAT_ITEMS 57022 __AAL_STAT_ITEMS
54822 #undef __HANDLE_ITEM 57023 #undef __HANDLE_ITEM
54823 }; 57024 };
54824diff -urNp linux-3.0.4/include/linux/binfmts.h linux-3.0.4/include/linux/binfmts.h 57025diff -urNp linux-3.0.7/include/linux/binfmts.h linux-3.0.7/include/linux/binfmts.h
54825--- linux-3.0.4/include/linux/binfmts.h 2011-07-21 22:17:23.000000000 -0400 57026--- linux-3.0.7/include/linux/binfmts.h 2011-07-21 22:17:23.000000000 -0400
54826+++ linux-3.0.4/include/linux/binfmts.h 2011-08-23 21:47:56.000000000 -0400 57027+++ linux-3.0.7/include/linux/binfmts.h 2011-08-23 21:47:56.000000000 -0400
54827@@ -88,6 +88,7 @@ struct linux_binfmt { 57028@@ -88,6 +88,7 @@ struct linux_binfmt {
54828 int (*load_binary)(struct linux_binprm *, struct pt_regs * regs); 57029 int (*load_binary)(struct linux_binprm *, struct pt_regs * regs);
54829 int (*load_shlib)(struct file *); 57030 int (*load_shlib)(struct file *);
@@ -54832,9 +57033,9 @@ diff -urNp linux-3.0.4/include/linux/binfmts.h linux-3.0.4/include/linux/binfmts
54832 unsigned long min_coredump; /* minimal dump size */ 57033 unsigned long min_coredump; /* minimal dump size */
54833 }; 57034 };
54834 57035
54835diff -urNp linux-3.0.4/include/linux/blkdev.h linux-3.0.4/include/linux/blkdev.h 57036diff -urNp linux-3.0.7/include/linux/blkdev.h linux-3.0.7/include/linux/blkdev.h
54836--- linux-3.0.4/include/linux/blkdev.h 2011-07-21 22:17:23.000000000 -0400 57037--- linux-3.0.7/include/linux/blkdev.h 2011-07-21 22:17:23.000000000 -0400
54837+++ linux-3.0.4/include/linux/blkdev.h 2011-08-26 19:49:56.000000000 -0400 57038+++ linux-3.0.7/include/linux/blkdev.h 2011-08-26 19:49:56.000000000 -0400
54838@@ -1308,7 +1308,7 @@ struct block_device_operations { 57039@@ -1308,7 +1308,7 @@ struct block_device_operations {
54839 /* this callback is with swap_lock and sometimes page table lock held */ 57040 /* this callback is with swap_lock and sometimes page table lock held */
54840 void (*swap_slot_free_notify) (struct block_device *, unsigned long); 57041 void (*swap_slot_free_notify) (struct block_device *, unsigned long);
@@ -54844,9 +57045,9 @@ diff -urNp linux-3.0.4/include/linux/blkdev.h linux-3.0.4/include/linux/blkdev.h
54844 57045
54845 extern int __blkdev_driver_ioctl(struct block_device *, fmode_t, unsigned int, 57046 extern int __blkdev_driver_ioctl(struct block_device *, fmode_t, unsigned int,
54846 unsigned long); 57047 unsigned long);
54847diff -urNp linux-3.0.4/include/linux/blktrace_api.h linux-3.0.4/include/linux/blktrace_api.h 57048diff -urNp linux-3.0.7/include/linux/blktrace_api.h linux-3.0.7/include/linux/blktrace_api.h
54848--- linux-3.0.4/include/linux/blktrace_api.h 2011-07-21 22:17:23.000000000 -0400 57049--- linux-3.0.7/include/linux/blktrace_api.h 2011-07-21 22:17:23.000000000 -0400
54849+++ linux-3.0.4/include/linux/blktrace_api.h 2011-08-23 21:47:56.000000000 -0400 57050+++ linux-3.0.7/include/linux/blktrace_api.h 2011-08-23 21:47:56.000000000 -0400
54850@@ -161,7 +161,7 @@ struct blk_trace { 57051@@ -161,7 +161,7 @@ struct blk_trace {
54851 struct dentry *dir; 57052 struct dentry *dir;
54852 struct dentry *dropped_file; 57053 struct dentry *dropped_file;
@@ -54856,9 +57057,9 @@ diff -urNp linux-3.0.4/include/linux/blktrace_api.h linux-3.0.4/include/linux/bl
54856 }; 57057 };
54857 57058
54858 extern int blk_trace_ioctl(struct block_device *, unsigned, char __user *); 57059 extern int blk_trace_ioctl(struct block_device *, unsigned, char __user *);
54859diff -urNp linux-3.0.4/include/linux/byteorder/little_endian.h linux-3.0.4/include/linux/byteorder/little_endian.h 57060diff -urNp linux-3.0.7/include/linux/byteorder/little_endian.h linux-3.0.7/include/linux/byteorder/little_endian.h
54860--- linux-3.0.4/include/linux/byteorder/little_endian.h 2011-07-21 22:17:23.000000000 -0400 57061--- linux-3.0.7/include/linux/byteorder/little_endian.h 2011-07-21 22:17:23.000000000 -0400
54861+++ linux-3.0.4/include/linux/byteorder/little_endian.h 2011-08-23 21:47:56.000000000 -0400 57062+++ linux-3.0.7/include/linux/byteorder/little_endian.h 2011-08-23 21:47:56.000000000 -0400
54862@@ -42,51 +42,51 @@ 57063@@ -42,51 +42,51 @@
54863 57064
54864 static inline __le64 __cpu_to_le64p(const __u64 *p) 57065 static inline __le64 __cpu_to_le64p(const __u64 *p)
@@ -54923,9 +57124,9 @@ diff -urNp linux-3.0.4/include/linux/byteorder/little_endian.h linux-3.0.4/inclu
54923 } 57124 }
54924 #define __cpu_to_le64s(x) do { (void)(x); } while (0) 57125 #define __cpu_to_le64s(x) do { (void)(x); } while (0)
54925 #define __le64_to_cpus(x) do { (void)(x); } while (0) 57126 #define __le64_to_cpus(x) do { (void)(x); } while (0)
54926diff -urNp linux-3.0.4/include/linux/cache.h linux-3.0.4/include/linux/cache.h 57127diff -urNp linux-3.0.7/include/linux/cache.h linux-3.0.7/include/linux/cache.h
54927--- linux-3.0.4/include/linux/cache.h 2011-07-21 22:17:23.000000000 -0400 57128--- linux-3.0.7/include/linux/cache.h 2011-07-21 22:17:23.000000000 -0400
54928+++ linux-3.0.4/include/linux/cache.h 2011-08-23 21:47:56.000000000 -0400 57129+++ linux-3.0.7/include/linux/cache.h 2011-08-23 21:47:56.000000000 -0400
54929@@ -16,6 +16,10 @@ 57130@@ -16,6 +16,10 @@
54930 #define __read_mostly 57131 #define __read_mostly
54931 #endif 57132 #endif
@@ -54937,9 +57138,9 @@ diff -urNp linux-3.0.4/include/linux/cache.h linux-3.0.4/include/linux/cache.h
54937 #ifndef ____cacheline_aligned 57138 #ifndef ____cacheline_aligned
54938 #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) 57139 #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
54939 #endif 57140 #endif
54940diff -urNp linux-3.0.4/include/linux/capability.h linux-3.0.4/include/linux/capability.h 57141diff -urNp linux-3.0.7/include/linux/capability.h linux-3.0.7/include/linux/capability.h
54941--- linux-3.0.4/include/linux/capability.h 2011-07-21 22:17:23.000000000 -0400 57142--- linux-3.0.7/include/linux/capability.h 2011-07-21 22:17:23.000000000 -0400
54942+++ linux-3.0.4/include/linux/capability.h 2011-08-23 21:48:14.000000000 -0400 57143+++ linux-3.0.7/include/linux/capability.h 2011-08-23 21:48:14.000000000 -0400
54943@@ -547,6 +547,9 @@ extern bool capable(int cap); 57144@@ -547,6 +547,9 @@ extern bool capable(int cap);
54944 extern bool ns_capable(struct user_namespace *ns, int cap); 57145 extern bool ns_capable(struct user_namespace *ns, int cap);
54945 extern bool task_ns_capable(struct task_struct *t, int cap); 57146 extern bool task_ns_capable(struct task_struct *t, int cap);
@@ -54950,9 +57151,9 @@ diff -urNp linux-3.0.4/include/linux/capability.h linux-3.0.4/include/linux/capa
54950 57151
54951 /* audit system wants to get cap info from files as well */ 57152 /* audit system wants to get cap info from files as well */
54952 extern int get_vfs_caps_from_disk(const struct dentry *dentry, struct cpu_vfs_cap_data *cpu_caps); 57153 extern int get_vfs_caps_from_disk(const struct dentry *dentry, struct cpu_vfs_cap_data *cpu_caps);
54953diff -urNp linux-3.0.4/include/linux/cleancache.h linux-3.0.4/include/linux/cleancache.h 57154diff -urNp linux-3.0.7/include/linux/cleancache.h linux-3.0.7/include/linux/cleancache.h
54954--- linux-3.0.4/include/linux/cleancache.h 2011-07-21 22:17:23.000000000 -0400 57155--- linux-3.0.7/include/linux/cleancache.h 2011-07-21 22:17:23.000000000 -0400
54955+++ linux-3.0.4/include/linux/cleancache.h 2011-08-23 21:47:56.000000000 -0400 57156+++ linux-3.0.7/include/linux/cleancache.h 2011-08-23 21:47:56.000000000 -0400
54956@@ -31,7 +31,7 @@ struct cleancache_ops { 57157@@ -31,7 +31,7 @@ struct cleancache_ops {
54957 void (*flush_page)(int, struct cleancache_filekey, pgoff_t); 57158 void (*flush_page)(int, struct cleancache_filekey, pgoff_t);
54958 void (*flush_inode)(int, struct cleancache_filekey); 57159 void (*flush_inode)(int, struct cleancache_filekey);
@@ -54962,9 +57163,9 @@ diff -urNp linux-3.0.4/include/linux/cleancache.h linux-3.0.4/include/linux/clea
54962 57163
54963 extern struct cleancache_ops 57164 extern struct cleancache_ops
54964 cleancache_register_ops(struct cleancache_ops *ops); 57165 cleancache_register_ops(struct cleancache_ops *ops);
54965diff -urNp linux-3.0.4/include/linux/compiler-gcc4.h linux-3.0.4/include/linux/compiler-gcc4.h 57166diff -urNp linux-3.0.7/include/linux/compiler-gcc4.h linux-3.0.7/include/linux/compiler-gcc4.h
54966--- linux-3.0.4/include/linux/compiler-gcc4.h 2011-07-21 22:17:23.000000000 -0400 57167--- linux-3.0.7/include/linux/compiler-gcc4.h 2011-07-21 22:17:23.000000000 -0400
54967+++ linux-3.0.4/include/linux/compiler-gcc4.h 2011-08-26 19:49:56.000000000 -0400 57168+++ linux-3.0.7/include/linux/compiler-gcc4.h 2011-08-26 19:49:56.000000000 -0400
54968@@ -31,6 +31,12 @@ 57169@@ -31,6 +31,12 @@
54969 57170
54970 57171
@@ -54990,10 +57191,83 @@ diff -urNp linux-3.0.4/include/linux/compiler-gcc4.h linux-3.0.4/include/linux/c
54990 #endif 57191 #endif
54991 57192
54992 #if __GNUC_MINOR__ > 0 57193 #if __GNUC_MINOR__ > 0
54993diff -urNp linux-3.0.4/include/linux/compiler.h linux-3.0.4/include/linux/compiler.h 57194diff -urNp linux-3.0.7/include/linux/compiler.h linux-3.0.7/include/linux/compiler.h
54994--- linux-3.0.4/include/linux/compiler.h 2011-07-21 22:17:23.000000000 -0400 57195--- linux-3.0.7/include/linux/compiler.h 2011-07-21 22:17:23.000000000 -0400
54995+++ linux-3.0.4/include/linux/compiler.h 2011-08-26 19:49:56.000000000 -0400 57196+++ linux-3.0.7/include/linux/compiler.h 2011-10-06 04:17:55.000000000 -0400
54996@@ -264,6 +264,14 @@ void ftrace_likely_update(struct ftrace_ 57197@@ -5,31 +5,62 @@
57198
57199 #ifdef __CHECKER__
57200 # define __user __attribute__((noderef, address_space(1)))
57201+# define __force_user __force __user
57202 # define __kernel __attribute__((address_space(0)))
57203+# define __force_kernel __force __kernel
57204 # define __safe __attribute__((safe))
57205 # define __force __attribute__((force))
57206 # define __nocast __attribute__((nocast))
57207 # define __iomem __attribute__((noderef, address_space(2)))
57208+# define __force_iomem __force __iomem
57209 # define __acquires(x) __attribute__((context(x,0,1)))
57210 # define __releases(x) __attribute__((context(x,1,0)))
57211 # define __acquire(x) __context__(x,1)
57212 # define __release(x) __context__(x,-1)
57213 # define __cond_lock(x,c) ((c) ? ({ __acquire(x); 1; }) : 0)
57214 # define __percpu __attribute__((noderef, address_space(3)))
57215+# define __force_percpu __force __percpu
57216 #ifdef CONFIG_SPARSE_RCU_POINTER
57217 # define __rcu __attribute__((noderef, address_space(4)))
57218+# define __force_rcu __force __rcu
57219 #else
57220 # define __rcu
57221+# define __force_rcu
57222 #endif
57223 extern void __chk_user_ptr(const volatile void __user *);
57224 extern void __chk_io_ptr(const volatile void __iomem *);
57225+#elif defined(CHECKER_PLUGIN)
57226+//# define __user
57227+//# define __force_user
57228+//# define __kernel
57229+//# define __force_kernel
57230+# define __safe
57231+# define __force
57232+# define __nocast
57233+# define __iomem
57234+# define __force_iomem
57235+# define __chk_user_ptr(x) (void)0
57236+# define __chk_io_ptr(x) (void)0
57237+# define __builtin_warning(x, y...) (1)
57238+# define __acquires(x)
57239+# define __releases(x)
57240+# define __acquire(x) (void)0
57241+# define __release(x) (void)0
57242+# define __cond_lock(x,c) (c)
57243+# define __percpu
57244+# define __force_percpu
57245+# define __rcu
57246+# define __force_rcu
57247 #else
57248 # define __user
57249+# define __force_user
57250 # define __kernel
57251+# define __force_kernel
57252 # define __safe
57253 # define __force
57254 # define __nocast
57255 # define __iomem
57256+# define __force_iomem
57257 # define __chk_user_ptr(x) (void)0
57258 # define __chk_io_ptr(x) (void)0
57259 # define __builtin_warning(x, y...) (1)
57260@@ -39,7 +70,9 @@ extern void __chk_io_ptr(const volatile
57261 # define __release(x) (void)0
57262 # define __cond_lock(x,c) (c)
57263 # define __percpu
57264+# define __force_percpu
57265 # define __rcu
57266+# define __force_rcu
57267 #endif
57268
57269 #ifdef __KERNEL__
57270@@ -264,6 +297,14 @@ void ftrace_likely_update(struct ftrace_
54997 # define __attribute_const__ /* unimplemented */ 57271 # define __attribute_const__ /* unimplemented */
54998 #endif 57272 #endif
54999 57273
@@ -55008,7 +57282,7 @@ diff -urNp linux-3.0.4/include/linux/compiler.h linux-3.0.4/include/linux/compil
55008 /* 57282 /*
55009 * Tell gcc if a function is cold. The compiler will assume any path 57283 * Tell gcc if a function is cold. The compiler will assume any path
55010 * directly leading to the call is unlikely. 57284 * directly leading to the call is unlikely.
55011@@ -273,6 +281,22 @@ void ftrace_likely_update(struct ftrace_ 57285@@ -273,6 +314,22 @@ void ftrace_likely_update(struct ftrace_
55012 #define __cold 57286 #define __cold
55013 #endif 57287 #endif
55014 57288
@@ -55031,7 +57305,7 @@ diff -urNp linux-3.0.4/include/linux/compiler.h linux-3.0.4/include/linux/compil
55031 /* Simple shorthand for a section definition */ 57305 /* Simple shorthand for a section definition */
55032 #ifndef __section 57306 #ifndef __section
55033 # define __section(S) __attribute__ ((__section__(#S))) 57307 # define __section(S) __attribute__ ((__section__(#S)))
55034@@ -306,6 +330,7 @@ void ftrace_likely_update(struct ftrace_ 57308@@ -306,6 +363,7 @@ void ftrace_likely_update(struct ftrace_
55035 * use is to mediate communication between process-level code and irq/NMI 57309 * use is to mediate communication between process-level code and irq/NMI
55036 * handlers, all running on the same CPU. 57310 * handlers, all running on the same CPU.
55037 */ 57311 */
@@ -55040,9 +57314,9 @@ diff -urNp linux-3.0.4/include/linux/compiler.h linux-3.0.4/include/linux/compil
55040+#define ACCESS_ONCE_RW(x) (*(volatile typeof(x) *)&(x)) 57314+#define ACCESS_ONCE_RW(x) (*(volatile typeof(x) *)&(x))
55041 57315
55042 #endif /* __LINUX_COMPILER_H */ 57316 #endif /* __LINUX_COMPILER_H */
55043diff -urNp linux-3.0.4/include/linux/cpuset.h linux-3.0.4/include/linux/cpuset.h 57317diff -urNp linux-3.0.7/include/linux/cpuset.h linux-3.0.7/include/linux/cpuset.h
55044--- linux-3.0.4/include/linux/cpuset.h 2011-07-21 22:17:23.000000000 -0400 57318--- linux-3.0.7/include/linux/cpuset.h 2011-07-21 22:17:23.000000000 -0400
55045+++ linux-3.0.4/include/linux/cpuset.h 2011-08-23 21:47:56.000000000 -0400 57319+++ linux-3.0.7/include/linux/cpuset.h 2011-08-23 21:47:56.000000000 -0400
55046@@ -118,7 +118,7 @@ static inline void put_mems_allowed(void 57320@@ -118,7 +118,7 @@ static inline void put_mems_allowed(void
55047 * nodemask. 57321 * nodemask.
55048 */ 57322 */
@@ -55052,9 +57326,9 @@ diff -urNp linux-3.0.4/include/linux/cpuset.h linux-3.0.4/include/linux/cpuset.h
55052 } 57326 }
55053 57327
55054 static inline void set_mems_allowed(nodemask_t nodemask) 57328 static inline void set_mems_allowed(nodemask_t nodemask)
55055diff -urNp linux-3.0.4/include/linux/crypto.h linux-3.0.4/include/linux/crypto.h 57329diff -urNp linux-3.0.7/include/linux/crypto.h linux-3.0.7/include/linux/crypto.h
55056--- linux-3.0.4/include/linux/crypto.h 2011-07-21 22:17:23.000000000 -0400 57330--- linux-3.0.7/include/linux/crypto.h 2011-07-21 22:17:23.000000000 -0400
55057+++ linux-3.0.4/include/linux/crypto.h 2011-08-23 21:47:56.000000000 -0400 57331+++ linux-3.0.7/include/linux/crypto.h 2011-08-23 21:47:56.000000000 -0400
55058@@ -361,7 +361,7 @@ struct cipher_tfm { 57332@@ -361,7 +361,7 @@ struct cipher_tfm {
55059 const u8 *key, unsigned int keylen); 57333 const u8 *key, unsigned int keylen);
55060 void (*cit_encrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); 57334 void (*cit_encrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src);
@@ -55080,9 +57354,9 @@ diff -urNp linux-3.0.4/include/linux/crypto.h linux-3.0.4/include/linux/crypto.h
55080 57354
55081 #define crt_ablkcipher crt_u.ablkcipher 57355 #define crt_ablkcipher crt_u.ablkcipher
55082 #define crt_aead crt_u.aead 57356 #define crt_aead crt_u.aead
55083diff -urNp linux-3.0.4/include/linux/decompress/mm.h linux-3.0.4/include/linux/decompress/mm.h 57357diff -urNp linux-3.0.7/include/linux/decompress/mm.h linux-3.0.7/include/linux/decompress/mm.h
55084--- linux-3.0.4/include/linux/decompress/mm.h 2011-07-21 22:17:23.000000000 -0400 57358--- linux-3.0.7/include/linux/decompress/mm.h 2011-07-21 22:17:23.000000000 -0400
55085+++ linux-3.0.4/include/linux/decompress/mm.h 2011-08-23 21:47:56.000000000 -0400 57359+++ linux-3.0.7/include/linux/decompress/mm.h 2011-08-23 21:47:56.000000000 -0400
55086@@ -77,7 +77,7 @@ static void free(void *where) 57360@@ -77,7 +77,7 @@ static void free(void *where)
55087 * warnings when not needed (indeed large_malloc / large_free are not 57361 * warnings when not needed (indeed large_malloc / large_free are not
55088 * needed by inflate */ 57362 * needed by inflate */
@@ -55092,9 +57366,9 @@ diff -urNp linux-3.0.4/include/linux/decompress/mm.h linux-3.0.4/include/linux/d
55092 #define free(a) kfree(a) 57366 #define free(a) kfree(a)
55093 57367
55094 #define large_malloc(a) vmalloc(a) 57368 #define large_malloc(a) vmalloc(a)
55095diff -urNp linux-3.0.4/include/linux/dma-mapping.h linux-3.0.4/include/linux/dma-mapping.h 57369diff -urNp linux-3.0.7/include/linux/dma-mapping.h linux-3.0.7/include/linux/dma-mapping.h
55096--- linux-3.0.4/include/linux/dma-mapping.h 2011-07-21 22:17:23.000000000 -0400 57370--- linux-3.0.7/include/linux/dma-mapping.h 2011-07-21 22:17:23.000000000 -0400
55097+++ linux-3.0.4/include/linux/dma-mapping.h 2011-08-26 19:49:56.000000000 -0400 57371+++ linux-3.0.7/include/linux/dma-mapping.h 2011-08-26 19:49:56.000000000 -0400
55098@@ -50,7 +50,7 @@ struct dma_map_ops { 57372@@ -50,7 +50,7 @@ struct dma_map_ops {
55099 int (*dma_supported)(struct device *dev, u64 mask); 57373 int (*dma_supported)(struct device *dev, u64 mask);
55100 int (*set_dma_mask)(struct device *dev, u64 mask); 57374 int (*set_dma_mask)(struct device *dev, u64 mask);
@@ -55104,9 +57378,9 @@ diff -urNp linux-3.0.4/include/linux/dma-mapping.h linux-3.0.4/include/linux/dma
55104 57378
55105 #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) 57379 #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
55106 57380
55107diff -urNp linux-3.0.4/include/linux/efi.h linux-3.0.4/include/linux/efi.h 57381diff -urNp linux-3.0.7/include/linux/efi.h linux-3.0.7/include/linux/efi.h
55108--- linux-3.0.4/include/linux/efi.h 2011-07-21 22:17:23.000000000 -0400 57382--- linux-3.0.7/include/linux/efi.h 2011-07-21 22:17:23.000000000 -0400
55109+++ linux-3.0.4/include/linux/efi.h 2011-08-23 21:47:56.000000000 -0400 57383+++ linux-3.0.7/include/linux/efi.h 2011-08-23 21:47:56.000000000 -0400
55110@@ -410,7 +410,7 @@ struct efivar_operations { 57384@@ -410,7 +410,7 @@ struct efivar_operations {
55111 efi_get_variable_t *get_variable; 57385 efi_get_variable_t *get_variable;
55112 efi_get_next_variable_t *get_next_variable; 57386 efi_get_next_variable_t *get_next_variable;
@@ -55116,9 +57390,9 @@ diff -urNp linux-3.0.4/include/linux/efi.h linux-3.0.4/include/linux/efi.h
55116 57390
55117 struct efivars { 57391 struct efivars {
55118 /* 57392 /*
55119diff -urNp linux-3.0.4/include/linux/elf.h linux-3.0.4/include/linux/elf.h 57393diff -urNp linux-3.0.7/include/linux/elf.h linux-3.0.7/include/linux/elf.h
55120--- linux-3.0.4/include/linux/elf.h 2011-07-21 22:17:23.000000000 -0400 57394--- linux-3.0.7/include/linux/elf.h 2011-07-21 22:17:23.000000000 -0400
55121+++ linux-3.0.4/include/linux/elf.h 2011-08-23 21:47:56.000000000 -0400 57395+++ linux-3.0.7/include/linux/elf.h 2011-08-23 21:47:56.000000000 -0400
55122@@ -49,6 +49,17 @@ typedef __s64 Elf64_Sxword; 57396@@ -49,6 +49,17 @@ typedef __s64 Elf64_Sxword;
55123 #define PT_GNU_EH_FRAME 0x6474e550 57397 #define PT_GNU_EH_FRAME 0x6474e550
55124 57398
@@ -55191,9 +57465,9 @@ diff -urNp linux-3.0.4/include/linux/elf.h linux-3.0.4/include/linux/elf.h
55191 57465
55192 #endif 57466 #endif
55193 57467
55194diff -urNp linux-3.0.4/include/linux/firewire.h linux-3.0.4/include/linux/firewire.h 57468diff -urNp linux-3.0.7/include/linux/firewire.h linux-3.0.7/include/linux/firewire.h
55195--- linux-3.0.4/include/linux/firewire.h 2011-07-21 22:17:23.000000000 -0400 57469--- linux-3.0.7/include/linux/firewire.h 2011-07-21 22:17:23.000000000 -0400
55196+++ linux-3.0.4/include/linux/firewire.h 2011-08-23 21:47:56.000000000 -0400 57470+++ linux-3.0.7/include/linux/firewire.h 2011-08-23 21:47:56.000000000 -0400
55197@@ -428,7 +428,7 @@ struct fw_iso_context { 57471@@ -428,7 +428,7 @@ struct fw_iso_context {
55198 union { 57472 union {
55199 fw_iso_callback_t sc; 57473 fw_iso_callback_t sc;
@@ -55203,9 +57477,9 @@ diff -urNp linux-3.0.4/include/linux/firewire.h linux-3.0.4/include/linux/firewi
55203 void *callback_data; 57477 void *callback_data;
55204 }; 57478 };
55205 57479
55206diff -urNp linux-3.0.4/include/linux/fscache-cache.h linux-3.0.4/include/linux/fscache-cache.h 57480diff -urNp linux-3.0.7/include/linux/fscache-cache.h linux-3.0.7/include/linux/fscache-cache.h
55207--- linux-3.0.4/include/linux/fscache-cache.h 2011-07-21 22:17:23.000000000 -0400 57481--- linux-3.0.7/include/linux/fscache-cache.h 2011-07-21 22:17:23.000000000 -0400
55208+++ linux-3.0.4/include/linux/fscache-cache.h 2011-08-23 21:47:56.000000000 -0400 57482+++ linux-3.0.7/include/linux/fscache-cache.h 2011-08-23 21:47:56.000000000 -0400
55209@@ -102,7 +102,7 @@ struct fscache_operation { 57483@@ -102,7 +102,7 @@ struct fscache_operation {
55210 fscache_operation_release_t release; 57484 fscache_operation_release_t release;
55211 }; 57485 };
@@ -55224,9 +57498,9 @@ diff -urNp linux-3.0.4/include/linux/fscache-cache.h linux-3.0.4/include/linux/f
55224 op->processor = processor; 57498 op->processor = processor;
55225 op->release = release; 57499 op->release = release;
55226 INIT_LIST_HEAD(&op->pend_link); 57500 INIT_LIST_HEAD(&op->pend_link);
55227diff -urNp linux-3.0.4/include/linux/fs.h linux-3.0.4/include/linux/fs.h 57501diff -urNp linux-3.0.7/include/linux/fs.h linux-3.0.7/include/linux/fs.h
55228--- linux-3.0.4/include/linux/fs.h 2011-07-21 22:17:23.000000000 -0400 57502--- linux-3.0.7/include/linux/fs.h 2011-07-21 22:17:23.000000000 -0400
55229+++ linux-3.0.4/include/linux/fs.h 2011-08-26 19:49:56.000000000 -0400 57503+++ linux-3.0.7/include/linux/fs.h 2011-08-26 19:49:56.000000000 -0400
55230@@ -109,6 +109,11 @@ struct inodes_stat_t { 57504@@ -109,6 +109,11 @@ struct inodes_stat_t {
55231 /* File was opened by fanotify and shouldn't generate fanotify events */ 57505 /* File was opened by fanotify and shouldn't generate fanotify events */
55232 #define FMODE_NONOTIFY ((__force fmode_t)0x1000000) 57506 #define FMODE_NONOTIFY ((__force fmode_t)0x1000000)
@@ -55249,9 +57523,9 @@ diff -urNp linux-3.0.4/include/linux/fs.h linux-3.0.4/include/linux/fs.h
55249 57523
55250 #define IPERM_FLAG_RCU 0x0001 57524 #define IPERM_FLAG_RCU 0x0001
55251 57525
55252diff -urNp linux-3.0.4/include/linux/fsnotify.h linux-3.0.4/include/linux/fsnotify.h 57526diff -urNp linux-3.0.7/include/linux/fsnotify.h linux-3.0.7/include/linux/fsnotify.h
55253--- linux-3.0.4/include/linux/fsnotify.h 2011-07-21 22:17:23.000000000 -0400 57527--- linux-3.0.7/include/linux/fsnotify.h 2011-07-21 22:17:23.000000000 -0400
55254+++ linux-3.0.4/include/linux/fsnotify.h 2011-08-24 18:10:29.000000000 -0400 57528+++ linux-3.0.7/include/linux/fsnotify.h 2011-08-24 18:10:29.000000000 -0400
55255@@ -314,7 +314,7 @@ static inline void fsnotify_change(struc 57529@@ -314,7 +314,7 @@ static inline void fsnotify_change(struc
55256 */ 57530 */
55257 static inline const unsigned char *fsnotify_oldname_init(const unsigned char *name) 57531 static inline const unsigned char *fsnotify_oldname_init(const unsigned char *name)
@@ -55261,9 +57535,9 @@ diff -urNp linux-3.0.4/include/linux/fsnotify.h linux-3.0.4/include/linux/fsnoti
55261 } 57535 }
55262 57536
55263 /* 57537 /*
55264diff -urNp linux-3.0.4/include/linux/fs_struct.h linux-3.0.4/include/linux/fs_struct.h 57538diff -urNp linux-3.0.7/include/linux/fs_struct.h linux-3.0.7/include/linux/fs_struct.h
55265--- linux-3.0.4/include/linux/fs_struct.h 2011-07-21 22:17:23.000000000 -0400 57539--- linux-3.0.7/include/linux/fs_struct.h 2011-07-21 22:17:23.000000000 -0400
55266+++ linux-3.0.4/include/linux/fs_struct.h 2011-08-23 21:47:56.000000000 -0400 57540+++ linux-3.0.7/include/linux/fs_struct.h 2011-08-23 21:47:56.000000000 -0400
55267@@ -6,7 +6,7 @@ 57541@@ -6,7 +6,7 @@
55268 #include <linux/seqlock.h> 57542 #include <linux/seqlock.h>
55269 57543
@@ -55273,9 +57547,9 @@ diff -urNp linux-3.0.4/include/linux/fs_struct.h linux-3.0.4/include/linux/fs_st
55273 spinlock_t lock; 57547 spinlock_t lock;
55274 seqcount_t seq; 57548 seqcount_t seq;
55275 int umask; 57549 int umask;
55276diff -urNp linux-3.0.4/include/linux/ftrace_event.h linux-3.0.4/include/linux/ftrace_event.h 57550diff -urNp linux-3.0.7/include/linux/ftrace_event.h linux-3.0.7/include/linux/ftrace_event.h
55277--- linux-3.0.4/include/linux/ftrace_event.h 2011-07-21 22:17:23.000000000 -0400 57551--- linux-3.0.7/include/linux/ftrace_event.h 2011-07-21 22:17:23.000000000 -0400
55278+++ linux-3.0.4/include/linux/ftrace_event.h 2011-08-23 21:47:56.000000000 -0400 57552+++ linux-3.0.7/include/linux/ftrace_event.h 2011-08-23 21:47:56.000000000 -0400
55279@@ -96,7 +96,7 @@ struct trace_event_functions { 57553@@ -96,7 +96,7 @@ struct trace_event_functions {
55280 trace_print_func raw; 57554 trace_print_func raw;
55281 trace_print_func hex; 57555 trace_print_func hex;
@@ -55294,9 +57568,9 @@ diff -urNp linux-3.0.4/include/linux/ftrace_event.h linux-3.0.4/include/linux/ft
55294 57568
55295 int trace_set_clr_event(const char *system, const char *event, int set); 57569 int trace_set_clr_event(const char *system, const char *event, int set);
55296 57570
55297diff -urNp linux-3.0.4/include/linux/genhd.h linux-3.0.4/include/linux/genhd.h 57571diff -urNp linux-3.0.7/include/linux/genhd.h linux-3.0.7/include/linux/genhd.h
55298--- linux-3.0.4/include/linux/genhd.h 2011-07-21 22:17:23.000000000 -0400 57572--- linux-3.0.7/include/linux/genhd.h 2011-07-21 22:17:23.000000000 -0400
55299+++ linux-3.0.4/include/linux/genhd.h 2011-08-23 21:47:56.000000000 -0400 57573+++ linux-3.0.7/include/linux/genhd.h 2011-08-23 21:47:56.000000000 -0400
55300@@ -184,7 +184,7 @@ struct gendisk { 57574@@ -184,7 +184,7 @@ struct gendisk {
55301 struct kobject *slave_dir; 57575 struct kobject *slave_dir;
55302 57576
@@ -55306,9 +57580,9 @@ diff -urNp linux-3.0.4/include/linux/genhd.h linux-3.0.4/include/linux/genhd.h
55306 struct disk_events *ev; 57580 struct disk_events *ev;
55307 #ifdef CONFIG_BLK_DEV_INTEGRITY 57581 #ifdef CONFIG_BLK_DEV_INTEGRITY
55308 struct blk_integrity *integrity; 57582 struct blk_integrity *integrity;
55309diff -urNp linux-3.0.4/include/linux/gracl.h linux-3.0.4/include/linux/gracl.h 57583diff -urNp linux-3.0.7/include/linux/gracl.h linux-3.0.7/include/linux/gracl.h
55310--- linux-3.0.4/include/linux/gracl.h 1969-12-31 19:00:00.000000000 -0500 57584--- linux-3.0.7/include/linux/gracl.h 1969-12-31 19:00:00.000000000 -0500
55311+++ linux-3.0.4/include/linux/gracl.h 2011-08-23 21:48:14.000000000 -0400 57585+++ linux-3.0.7/include/linux/gracl.h 2011-08-23 21:48:14.000000000 -0400
55312@@ -0,0 +1,317 @@ 57586@@ -0,0 +1,317 @@
55313+#ifndef GR_ACL_H 57587+#ifndef GR_ACL_H
55314+#define GR_ACL_H 57588+#define GR_ACL_H
@@ -55627,9 +57901,9 @@ diff -urNp linux-3.0.4/include/linux/gracl.h linux-3.0.4/include/linux/gracl.h
55627+ 57901+
55628+#endif 57902+#endif
55629+ 57903+
55630diff -urNp linux-3.0.4/include/linux/gralloc.h linux-3.0.4/include/linux/gralloc.h 57904diff -urNp linux-3.0.7/include/linux/gralloc.h linux-3.0.7/include/linux/gralloc.h
55631--- linux-3.0.4/include/linux/gralloc.h 1969-12-31 19:00:00.000000000 -0500 57905--- linux-3.0.7/include/linux/gralloc.h 1969-12-31 19:00:00.000000000 -0500
55632+++ linux-3.0.4/include/linux/gralloc.h 2011-08-23 21:48:14.000000000 -0400 57906+++ linux-3.0.7/include/linux/gralloc.h 2011-08-23 21:48:14.000000000 -0400
55633@@ -0,0 +1,9 @@ 57907@@ -0,0 +1,9 @@
55634+#ifndef __GRALLOC_H 57908+#ifndef __GRALLOC_H
55635+#define __GRALLOC_H 57909+#define __GRALLOC_H
@@ -55640,9 +57914,9 @@ diff -urNp linux-3.0.4/include/linux/gralloc.h linux-3.0.4/include/linux/gralloc
55640+void *acl_alloc_num(unsigned long num, unsigned long len); 57914+void *acl_alloc_num(unsigned long num, unsigned long len);
55641+ 57915+
55642+#endif 57916+#endif
55643diff -urNp linux-3.0.4/include/linux/grdefs.h linux-3.0.4/include/linux/grdefs.h 57917diff -urNp linux-3.0.7/include/linux/grdefs.h linux-3.0.7/include/linux/grdefs.h
55644--- linux-3.0.4/include/linux/grdefs.h 1969-12-31 19:00:00.000000000 -0500 57918--- linux-3.0.7/include/linux/grdefs.h 1969-12-31 19:00:00.000000000 -0500
55645+++ linux-3.0.4/include/linux/grdefs.h 2011-08-23 21:48:14.000000000 -0400 57919+++ linux-3.0.7/include/linux/grdefs.h 2011-08-23 21:48:14.000000000 -0400
55646@@ -0,0 +1,140 @@ 57920@@ -0,0 +1,140 @@
55647+#ifndef GRDEFS_H 57921+#ifndef GRDEFS_H
55648+#define GRDEFS_H 57922+#define GRDEFS_H
@@ -55784,9 +58058,9 @@ diff -urNp linux-3.0.4/include/linux/grdefs.h linux-3.0.4/include/linux/grdefs.h
55784+}; 58058+};
55785+ 58059+
55786+#endif 58060+#endif
55787diff -urNp linux-3.0.4/include/linux/grinternal.h linux-3.0.4/include/linux/grinternal.h 58061diff -urNp linux-3.0.7/include/linux/grinternal.h linux-3.0.7/include/linux/grinternal.h
55788--- linux-3.0.4/include/linux/grinternal.h 1969-12-31 19:00:00.000000000 -0500 58062--- linux-3.0.7/include/linux/grinternal.h 1969-12-31 19:00:00.000000000 -0500
55789+++ linux-3.0.4/include/linux/grinternal.h 2011-09-24 08:43:45.000000000 -0400 58063+++ linux-3.0.7/include/linux/grinternal.h 2011-10-17 00:25:19.000000000 -0400
55790@@ -0,0 +1,219 @@ 58064@@ -0,0 +1,219 @@
55791+#ifndef __GRINTERNAL_H 58065+#ifndef __GRINTERNAL_H
55792+#define __GRINTERNAL_H 58066+#define __GRINTERNAL_H
@@ -56007,9 +58281,9 @@ diff -urNp linux-3.0.4/include/linux/grinternal.h linux-3.0.4/include/linux/grin
56007+#endif 58281+#endif
56008+ 58282+
56009+#endif 58283+#endif
56010diff -urNp linux-3.0.4/include/linux/grmsg.h linux-3.0.4/include/linux/grmsg.h 58284diff -urNp linux-3.0.7/include/linux/grmsg.h linux-3.0.7/include/linux/grmsg.h
56011--- linux-3.0.4/include/linux/grmsg.h 1969-12-31 19:00:00.000000000 -0500 58285--- linux-3.0.7/include/linux/grmsg.h 1969-12-31 19:00:00.000000000 -0500
56012+++ linux-3.0.4/include/linux/grmsg.h 2011-09-14 09:16:54.000000000 -0400 58286+++ linux-3.0.7/include/linux/grmsg.h 2011-09-14 09:16:54.000000000 -0400
56013@@ -0,0 +1,108 @@ 58287@@ -0,0 +1,108 @@
56014+#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" 58288+#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"
56015+#define GR_ACL_PROCACCT_MSG "%.256s[%.16s:%d] IP:%pI4 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:%pI4 TTY:%.64s uid/euid:%u/%u gid/egid:%u/%u" 58289+#define GR_ACL_PROCACCT_MSG "%.256s[%.16s:%d] IP:%pI4 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:%pI4 TTY:%.64s uid/euid:%u/%u gid/egid:%u/%u"
@@ -56119,10 +58393,10 @@ diff -urNp linux-3.0.4/include/linux/grmsg.h linux-3.0.4/include/linux/grmsg.h
56119+#define GR_VM86_MSG "denied use of vm86 by " 58393+#define GR_VM86_MSG "denied use of vm86 by "
56120+#define GR_PTRACE_AUDIT_MSG "process %.950s(%.16s:%d) attached to via ptrace by " 58394+#define GR_PTRACE_AUDIT_MSG "process %.950s(%.16s:%d) attached to via ptrace by "
56121+#define GR_INIT_TRANSFER_MSG "persistent special role transferred privilege to init by " 58395+#define GR_INIT_TRANSFER_MSG "persistent special role transferred privilege to init by "
56122diff -urNp linux-3.0.4/include/linux/grsecurity.h linux-3.0.4/include/linux/grsecurity.h 58396diff -urNp linux-3.0.7/include/linux/grsecurity.h linux-3.0.7/include/linux/grsecurity.h
56123--- linux-3.0.4/include/linux/grsecurity.h 1969-12-31 19:00:00.000000000 -0500 58397--- linux-3.0.7/include/linux/grsecurity.h 1969-12-31 19:00:00.000000000 -0500
56124+++ linux-3.0.4/include/linux/grsecurity.h 2011-09-14 09:16:54.000000000 -0400 58398+++ linux-3.0.7/include/linux/grsecurity.h 2011-10-17 06:35:30.000000000 -0400
56125@@ -0,0 +1,226 @@ 58399@@ -0,0 +1,228 @@
56126+#ifndef GR_SECURITY_H 58400+#ifndef GR_SECURITY_H
56127+#define GR_SECURITY_H 58401+#define GR_SECURITY_H
56128+#include <linux/fs.h> 58402+#include <linux/fs.h>
@@ -56287,6 +58561,8 @@ diff -urNp linux-3.0.4/include/linux/grsecurity.h linux-3.0.4/include/linux/grse
56287+ const int imode); 58561+ const int imode);
56288+void gr_handle_create(const struct dentry *dentry, 58562+void gr_handle_create(const struct dentry *dentry,
56289+ const struct vfsmount *mnt); 58563+ const struct vfsmount *mnt);
58564+void gr_handle_proc_create(const struct dentry *dentry,
58565+ const struct inode *inode);
56290+__u32 gr_acl_handle_mknod(const struct dentry *new_dentry, 58566+__u32 gr_acl_handle_mknod(const struct dentry *new_dentry,
56291+ const struct dentry *parent_dentry, 58567+ const struct dentry *parent_dentry,
56292+ const struct vfsmount *parent_mnt, 58568+ const struct vfsmount *parent_mnt,
@@ -56349,9 +58625,9 @@ diff -urNp linux-3.0.4/include/linux/grsecurity.h linux-3.0.4/include/linux/grse
56349+#endif 58625+#endif
56350+ 58626+
56351+#endif 58627+#endif
56352diff -urNp linux-3.0.4/include/linux/grsock.h linux-3.0.4/include/linux/grsock.h 58628diff -urNp linux-3.0.7/include/linux/grsock.h linux-3.0.7/include/linux/grsock.h
56353--- linux-3.0.4/include/linux/grsock.h 1969-12-31 19:00:00.000000000 -0500 58629--- linux-3.0.7/include/linux/grsock.h 1969-12-31 19:00:00.000000000 -0500
56354+++ linux-3.0.4/include/linux/grsock.h 2011-08-23 21:48:14.000000000 -0400 58630+++ linux-3.0.7/include/linux/grsock.h 2011-08-23 21:48:14.000000000 -0400
56355@@ -0,0 +1,19 @@ 58631@@ -0,0 +1,19 @@
56356+#ifndef __GRSOCK_H 58632+#ifndef __GRSOCK_H
56357+#define __GRSOCK_H 58633+#define __GRSOCK_H
@@ -56372,9 +58648,9 @@ diff -urNp linux-3.0.4/include/linux/grsock.h linux-3.0.4/include/linux/grsock.h
56372+ const int protocol); 58648+ const int protocol);
56373+ 58649+
56374+#endif 58650+#endif
56375diff -urNp linux-3.0.4/include/linux/hid.h linux-3.0.4/include/linux/hid.h 58651diff -urNp linux-3.0.7/include/linux/hid.h linux-3.0.7/include/linux/hid.h
56376--- linux-3.0.4/include/linux/hid.h 2011-07-21 22:17:23.000000000 -0400 58652--- linux-3.0.7/include/linux/hid.h 2011-07-21 22:17:23.000000000 -0400
56377+++ linux-3.0.4/include/linux/hid.h 2011-08-23 21:47:56.000000000 -0400 58653+++ linux-3.0.7/include/linux/hid.h 2011-08-23 21:47:56.000000000 -0400
56378@@ -675,7 +675,7 @@ struct hid_ll_driver { 58654@@ -675,7 +675,7 @@ struct hid_ll_driver {
56379 unsigned int code, int value); 58655 unsigned int code, int value);
56380 58656
@@ -56384,9 +58660,9 @@ diff -urNp linux-3.0.4/include/linux/hid.h linux-3.0.4/include/linux/hid.h
56384 58660
56385 #define PM_HINT_FULLON 1<<5 58661 #define PM_HINT_FULLON 1<<5
56386 #define PM_HINT_NORMAL 1<<1 58662 #define PM_HINT_NORMAL 1<<1
56387diff -urNp linux-3.0.4/include/linux/highmem.h linux-3.0.4/include/linux/highmem.h 58663diff -urNp linux-3.0.7/include/linux/highmem.h linux-3.0.7/include/linux/highmem.h
56388--- linux-3.0.4/include/linux/highmem.h 2011-07-21 22:17:23.000000000 -0400 58664--- linux-3.0.7/include/linux/highmem.h 2011-07-21 22:17:23.000000000 -0400
56389+++ linux-3.0.4/include/linux/highmem.h 2011-08-23 21:47:56.000000000 -0400 58665+++ linux-3.0.7/include/linux/highmem.h 2011-08-23 21:47:56.000000000 -0400
56390@@ -185,6 +185,18 @@ static inline void clear_highpage(struct 58666@@ -185,6 +185,18 @@ static inline void clear_highpage(struct
56391 kunmap_atomic(kaddr, KM_USER0); 58667 kunmap_atomic(kaddr, KM_USER0);
56392 } 58668 }
@@ -56406,9 +58682,9 @@ diff -urNp linux-3.0.4/include/linux/highmem.h linux-3.0.4/include/linux/highmem
56406 static inline void zero_user_segments(struct page *page, 58682 static inline void zero_user_segments(struct page *page,
56407 unsigned start1, unsigned end1, 58683 unsigned start1, unsigned end1,
56408 unsigned start2, unsigned end2) 58684 unsigned start2, unsigned end2)
56409diff -urNp linux-3.0.4/include/linux/i2c.h linux-3.0.4/include/linux/i2c.h 58685diff -urNp linux-3.0.7/include/linux/i2c.h linux-3.0.7/include/linux/i2c.h
56410--- linux-3.0.4/include/linux/i2c.h 2011-07-21 22:17:23.000000000 -0400 58686--- linux-3.0.7/include/linux/i2c.h 2011-07-21 22:17:23.000000000 -0400
56411+++ linux-3.0.4/include/linux/i2c.h 2011-08-23 21:47:56.000000000 -0400 58687+++ linux-3.0.7/include/linux/i2c.h 2011-08-23 21:47:56.000000000 -0400
56412@@ -346,6 +346,7 @@ struct i2c_algorithm { 58688@@ -346,6 +346,7 @@ struct i2c_algorithm {
56413 /* To determine what the adapter supports */ 58689 /* To determine what the adapter supports */
56414 u32 (*functionality) (struct i2c_adapter *); 58690 u32 (*functionality) (struct i2c_adapter *);
@@ -56417,9 +58693,9 @@ diff -urNp linux-3.0.4/include/linux/i2c.h linux-3.0.4/include/linux/i2c.h
56417 58693
56418 /* 58694 /*
56419 * i2c_adapter is the structure used to identify a physical i2c bus along 58695 * i2c_adapter is the structure used to identify a physical i2c bus along
56420diff -urNp linux-3.0.4/include/linux/i2o.h linux-3.0.4/include/linux/i2o.h 58696diff -urNp linux-3.0.7/include/linux/i2o.h linux-3.0.7/include/linux/i2o.h
56421--- linux-3.0.4/include/linux/i2o.h 2011-07-21 22:17:23.000000000 -0400 58697--- linux-3.0.7/include/linux/i2o.h 2011-07-21 22:17:23.000000000 -0400
56422+++ linux-3.0.4/include/linux/i2o.h 2011-08-23 21:47:56.000000000 -0400 58698+++ linux-3.0.7/include/linux/i2o.h 2011-08-23 21:47:56.000000000 -0400
56423@@ -564,7 +564,7 @@ struct i2o_controller { 58699@@ -564,7 +564,7 @@ struct i2o_controller {
56424 struct i2o_device *exec; /* Executive */ 58700 struct i2o_device *exec; /* Executive */
56425 #if BITS_PER_LONG == 64 58701 #if BITS_PER_LONG == 64
@@ -56429,9 +58705,9 @@ diff -urNp linux-3.0.4/include/linux/i2o.h linux-3.0.4/include/linux/i2o.h
56429 struct list_head context_list; /* list of context id's 58705 struct list_head context_list; /* list of context id's
56430 and pointers */ 58706 and pointers */
56431 #endif 58707 #endif
56432diff -urNp linux-3.0.4/include/linux/init.h linux-3.0.4/include/linux/init.h 58708diff -urNp linux-3.0.7/include/linux/init.h linux-3.0.7/include/linux/init.h
56433--- linux-3.0.4/include/linux/init.h 2011-07-21 22:17:23.000000000 -0400 58709--- linux-3.0.7/include/linux/init.h 2011-07-21 22:17:23.000000000 -0400
56434+++ linux-3.0.4/include/linux/init.h 2011-08-23 21:47:56.000000000 -0400 58710+++ linux-3.0.7/include/linux/init.h 2011-08-23 21:47:56.000000000 -0400
56435@@ -293,13 +293,13 @@ void __init parse_early_options(char *cm 58711@@ -293,13 +293,13 @@ void __init parse_early_options(char *cm
56436 58712
56437 /* Each module must use one module_init(). */ 58713 /* Each module must use one module_init(). */
@@ -56448,9 +58724,9 @@ diff -urNp linux-3.0.4/include/linux/init.h linux-3.0.4/include/linux/init.h
56448 { return exitfn; } \ 58724 { return exitfn; } \
56449 void cleanup_module(void) __attribute__((alias(#exitfn))); 58725 void cleanup_module(void) __attribute__((alias(#exitfn)));
56450 58726
56451diff -urNp linux-3.0.4/include/linux/init_task.h linux-3.0.4/include/linux/init_task.h 58727diff -urNp linux-3.0.7/include/linux/init_task.h linux-3.0.7/include/linux/init_task.h
56452--- linux-3.0.4/include/linux/init_task.h 2011-07-21 22:17:23.000000000 -0400 58728--- linux-3.0.7/include/linux/init_task.h 2011-07-21 22:17:23.000000000 -0400
56453+++ linux-3.0.4/include/linux/init_task.h 2011-08-23 21:47:56.000000000 -0400 58729+++ linux-3.0.7/include/linux/init_task.h 2011-08-23 21:47:56.000000000 -0400
56454@@ -126,6 +126,12 @@ extern struct cred init_cred; 58730@@ -126,6 +126,12 @@ extern struct cred init_cred;
56455 # define INIT_PERF_EVENTS(tsk) 58731 # define INIT_PERF_EVENTS(tsk)
56456 #endif 58732 #endif
@@ -56472,9 +58748,9 @@ diff -urNp linux-3.0.4/include/linux/init_task.h linux-3.0.4/include/linux/init_
56472 .fs = &init_fs, \ 58748 .fs = &init_fs, \
56473 .files = &init_files, \ 58749 .files = &init_files, \
56474 .signal = &init_signals, \ 58750 .signal = &init_signals, \
56475diff -urNp linux-3.0.4/include/linux/intel-iommu.h linux-3.0.4/include/linux/intel-iommu.h 58751diff -urNp linux-3.0.7/include/linux/intel-iommu.h linux-3.0.7/include/linux/intel-iommu.h
56476--- linux-3.0.4/include/linux/intel-iommu.h 2011-07-21 22:17:23.000000000 -0400 58752--- linux-3.0.7/include/linux/intel-iommu.h 2011-07-21 22:17:23.000000000 -0400
56477+++ linux-3.0.4/include/linux/intel-iommu.h 2011-08-23 21:47:56.000000000 -0400 58753+++ linux-3.0.7/include/linux/intel-iommu.h 2011-08-23 21:47:56.000000000 -0400
56478@@ -296,7 +296,7 @@ struct iommu_flush { 58754@@ -296,7 +296,7 @@ struct iommu_flush {
56479 u8 fm, u64 type); 58755 u8 fm, u64 type);
56480 void (*flush_iotlb)(struct intel_iommu *iommu, u16 did, u64 addr, 58756 void (*flush_iotlb)(struct intel_iommu *iommu, u16 did, u64 addr,
@@ -56484,9 +58760,9 @@ diff -urNp linux-3.0.4/include/linux/intel-iommu.h linux-3.0.4/include/linux/int
56484 58760
56485 enum { 58761 enum {
56486 SR_DMAR_FECTL_REG, 58762 SR_DMAR_FECTL_REG,
56487diff -urNp linux-3.0.4/include/linux/interrupt.h linux-3.0.4/include/linux/interrupt.h 58763diff -urNp linux-3.0.7/include/linux/interrupt.h linux-3.0.7/include/linux/interrupt.h
56488--- linux-3.0.4/include/linux/interrupt.h 2011-07-21 22:17:23.000000000 -0400 58764--- linux-3.0.7/include/linux/interrupt.h 2011-07-21 22:17:23.000000000 -0400
56489+++ linux-3.0.4/include/linux/interrupt.h 2011-08-23 21:47:56.000000000 -0400 58765+++ linux-3.0.7/include/linux/interrupt.h 2011-08-23 21:47:56.000000000 -0400
56490@@ -422,7 +422,7 @@ enum 58766@@ -422,7 +422,7 @@ enum
56491 /* map softirq index to softirq name. update 'softirq_to_name' in 58767 /* map softirq index to softirq name. update 'softirq_to_name' in
56492 * kernel/softirq.c when adding a new softirq. 58768 * kernel/softirq.c when adding a new softirq.
@@ -56511,9 +58787,9 @@ diff -urNp linux-3.0.4/include/linux/interrupt.h linux-3.0.4/include/linux/inter
56511 extern void softirq_init(void); 58787 extern void softirq_init(void);
56512 static inline void __raise_softirq_irqoff(unsigned int nr) 58788 static inline void __raise_softirq_irqoff(unsigned int nr)
56513 { 58789 {
56514diff -urNp linux-3.0.4/include/linux/kallsyms.h linux-3.0.4/include/linux/kallsyms.h 58790diff -urNp linux-3.0.7/include/linux/kallsyms.h linux-3.0.7/include/linux/kallsyms.h
56515--- linux-3.0.4/include/linux/kallsyms.h 2011-07-21 22:17:23.000000000 -0400 58791--- linux-3.0.7/include/linux/kallsyms.h 2011-07-21 22:17:23.000000000 -0400
56516+++ linux-3.0.4/include/linux/kallsyms.h 2011-08-23 21:48:14.000000000 -0400 58792+++ linux-3.0.7/include/linux/kallsyms.h 2011-08-23 21:48:14.000000000 -0400
56517@@ -15,7 +15,8 @@ 58793@@ -15,7 +15,8 @@
56518 58794
56519 struct module; 58795 struct module;
@@ -56541,9 +58817,9 @@ diff -urNp linux-3.0.4/include/linux/kallsyms.h linux-3.0.4/include/linux/kallsy
56541 58817
56542 /* This macro allows us to keep printk typechecking */ 58818 /* This macro allows us to keep printk typechecking */
56543 static void __check_printsym_format(const char *fmt, ...) 58819 static void __check_printsym_format(const char *fmt, ...)
56544diff -urNp linux-3.0.4/include/linux/kgdb.h linux-3.0.4/include/linux/kgdb.h 58820diff -urNp linux-3.0.7/include/linux/kgdb.h linux-3.0.7/include/linux/kgdb.h
56545--- linux-3.0.4/include/linux/kgdb.h 2011-07-21 22:17:23.000000000 -0400 58821--- linux-3.0.7/include/linux/kgdb.h 2011-07-21 22:17:23.000000000 -0400
56546+++ linux-3.0.4/include/linux/kgdb.h 2011-08-26 19:49:56.000000000 -0400 58822+++ linux-3.0.7/include/linux/kgdb.h 2011-08-26 19:49:56.000000000 -0400
56547@@ -53,7 +53,7 @@ extern int kgdb_connected; 58823@@ -53,7 +53,7 @@ extern int kgdb_connected;
56548 extern int kgdb_io_module_registered; 58824 extern int kgdb_io_module_registered;
56549 58825
@@ -56571,9 +58847,9 @@ diff -urNp linux-3.0.4/include/linux/kgdb.h linux-3.0.4/include/linux/kgdb.h
56571 58847
56572 extern struct kgdb_arch arch_kgdb_ops; 58848 extern struct kgdb_arch arch_kgdb_ops;
56573 58849
56574diff -urNp linux-3.0.4/include/linux/kmod.h linux-3.0.4/include/linux/kmod.h 58850diff -urNp linux-3.0.7/include/linux/kmod.h linux-3.0.7/include/linux/kmod.h
56575--- linux-3.0.4/include/linux/kmod.h 2011-07-21 22:17:23.000000000 -0400 58851--- linux-3.0.7/include/linux/kmod.h 2011-07-21 22:17:23.000000000 -0400
56576+++ linux-3.0.4/include/linux/kmod.h 2011-08-23 21:48:14.000000000 -0400 58852+++ linux-3.0.7/include/linux/kmod.h 2011-08-23 21:48:14.000000000 -0400
56577@@ -34,6 +34,8 @@ extern char modprobe_path[]; /* for sysc 58853@@ -34,6 +34,8 @@ extern char modprobe_path[]; /* for sysc
56578 * usually useless though. */ 58854 * usually useless though. */
56579 extern int __request_module(bool wait, const char *name, ...) \ 58855 extern int __request_module(bool wait, const char *name, ...) \
@@ -56583,9 +58859,9 @@ diff -urNp linux-3.0.4/include/linux/kmod.h linux-3.0.4/include/linux/kmod.h
56583 #define request_module(mod...) __request_module(true, mod) 58859 #define request_module(mod...) __request_module(true, mod)
56584 #define request_module_nowait(mod...) __request_module(false, mod) 58860 #define request_module_nowait(mod...) __request_module(false, mod)
56585 #define try_then_request_module(x, mod...) \ 58861 #define try_then_request_module(x, mod...) \
56586diff -urNp linux-3.0.4/include/linux/kvm_host.h linux-3.0.4/include/linux/kvm_host.h 58862diff -urNp linux-3.0.7/include/linux/kvm_host.h linux-3.0.7/include/linux/kvm_host.h
56587--- linux-3.0.4/include/linux/kvm_host.h 2011-07-21 22:17:23.000000000 -0400 58863--- linux-3.0.7/include/linux/kvm_host.h 2011-07-21 22:17:23.000000000 -0400
56588+++ linux-3.0.4/include/linux/kvm_host.h 2011-08-23 21:47:56.000000000 -0400 58864+++ linux-3.0.7/include/linux/kvm_host.h 2011-08-23 21:47:56.000000000 -0400
56589@@ -307,7 +307,7 @@ void kvm_vcpu_uninit(struct kvm_vcpu *vc 58865@@ -307,7 +307,7 @@ void kvm_vcpu_uninit(struct kvm_vcpu *vc
56590 void vcpu_load(struct kvm_vcpu *vcpu); 58866 void vcpu_load(struct kvm_vcpu *vcpu);
56591 void vcpu_put(struct kvm_vcpu *vcpu); 58867 void vcpu_put(struct kvm_vcpu *vcpu);
@@ -56604,9 +58880,9 @@ diff -urNp linux-3.0.4/include/linux/kvm_host.h linux-3.0.4/include/linux/kvm_ho
56604 void kvm_arch_exit(void); 58880 void kvm_arch_exit(void);
56605 58881
56606 int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu); 58882 int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu);
56607diff -urNp linux-3.0.4/include/linux/libata.h linux-3.0.4/include/linux/libata.h 58883diff -urNp linux-3.0.7/include/linux/libata.h linux-3.0.7/include/linux/libata.h
56608--- linux-3.0.4/include/linux/libata.h 2011-07-21 22:17:23.000000000 -0400 58884--- linux-3.0.7/include/linux/libata.h 2011-07-21 22:17:23.000000000 -0400
56609+++ linux-3.0.4/include/linux/libata.h 2011-08-26 19:49:56.000000000 -0400 58885+++ linux-3.0.7/include/linux/libata.h 2011-08-26 19:49:56.000000000 -0400
56610@@ -899,7 +899,7 @@ struct ata_port_operations { 58886@@ -899,7 +899,7 @@ struct ata_port_operations {
56611 * fields must be pointers. 58887 * fields must be pointers.
56612 */ 58888 */
@@ -56616,9 +58892,20 @@ diff -urNp linux-3.0.4/include/linux/libata.h linux-3.0.4/include/linux/libata.h
56616 58892
56617 struct ata_port_info { 58893 struct ata_port_info {
56618 unsigned long flags; 58894 unsigned long flags;
56619diff -urNp linux-3.0.4/include/linux/mca.h linux-3.0.4/include/linux/mca.h 58895diff -urNp linux-3.0.7/include/linux/linkage.h linux-3.0.7/include/linux/linkage.h
56620--- linux-3.0.4/include/linux/mca.h 2011-07-21 22:17:23.000000000 -0400 58896--- linux-3.0.7/include/linux/linkage.h 2011-07-21 22:17:23.000000000 -0400
56621+++ linux-3.0.4/include/linux/mca.h 2011-08-23 21:47:56.000000000 -0400 58897+++ linux-3.0.7/include/linux/linkage.h 2011-10-11 10:44:33.000000000 -0400
58898@@ -82,6 +82,7 @@
58899 */
58900 #ifndef ENDPROC
58901 #define ENDPROC(name) \
58902+ .size name, .-name; \
58903 .type name, @function; \
58904 END(name)
58905 #endif
58906diff -urNp linux-3.0.7/include/linux/mca.h linux-3.0.7/include/linux/mca.h
58907--- linux-3.0.7/include/linux/mca.h 2011-07-21 22:17:23.000000000 -0400
58908+++ linux-3.0.7/include/linux/mca.h 2011-08-23 21:47:56.000000000 -0400
56622@@ -80,7 +80,7 @@ struct mca_bus_accessor_functions { 58909@@ -80,7 +80,7 @@ struct mca_bus_accessor_functions {
56623 int region); 58910 int region);
56624 void * (*mca_transform_memory)(struct mca_device *, 58911 void * (*mca_transform_memory)(struct mca_device *,
@@ -56628,9 +58915,9 @@ diff -urNp linux-3.0.4/include/linux/mca.h linux-3.0.4/include/linux/mca.h
56628 58915
56629 struct mca_bus { 58916 struct mca_bus {
56630 u64 default_dma_mask; 58917 u64 default_dma_mask;
56631diff -urNp linux-3.0.4/include/linux/memory.h linux-3.0.4/include/linux/memory.h 58918diff -urNp linux-3.0.7/include/linux/memory.h linux-3.0.7/include/linux/memory.h
56632--- linux-3.0.4/include/linux/memory.h 2011-07-21 22:17:23.000000000 -0400 58919--- linux-3.0.7/include/linux/memory.h 2011-07-21 22:17:23.000000000 -0400
56633+++ linux-3.0.4/include/linux/memory.h 2011-08-23 21:47:56.000000000 -0400 58920+++ linux-3.0.7/include/linux/memory.h 2011-08-23 21:47:56.000000000 -0400
56634@@ -144,7 +144,7 @@ struct memory_accessor { 58921@@ -144,7 +144,7 @@ struct memory_accessor {
56635 size_t count); 58922 size_t count);
56636 ssize_t (*write)(struct memory_accessor *, const char *buf, 58923 ssize_t (*write)(struct memory_accessor *, const char *buf,
@@ -56640,9 +58927,9 @@ diff -urNp linux-3.0.4/include/linux/memory.h linux-3.0.4/include/linux/memory.h
56640 58927
56641 /* 58928 /*
56642 * Kernel text modification mutex, used for code patching. Users of this lock 58929 * Kernel text modification mutex, used for code patching. Users of this lock
56643diff -urNp linux-3.0.4/include/linux/mfd/abx500.h linux-3.0.4/include/linux/mfd/abx500.h 58930diff -urNp linux-3.0.7/include/linux/mfd/abx500.h linux-3.0.7/include/linux/mfd/abx500.h
56644--- linux-3.0.4/include/linux/mfd/abx500.h 2011-07-21 22:17:23.000000000 -0400 58931--- linux-3.0.7/include/linux/mfd/abx500.h 2011-07-21 22:17:23.000000000 -0400
56645+++ linux-3.0.4/include/linux/mfd/abx500.h 2011-08-23 21:47:56.000000000 -0400 58932+++ linux-3.0.7/include/linux/mfd/abx500.h 2011-08-23 21:47:56.000000000 -0400
56646@@ -234,6 +234,7 @@ struct abx500_ops { 58933@@ -234,6 +234,7 @@ struct abx500_ops {
56647 int (*event_registers_startup_state_get) (struct device *, u8 *); 58934 int (*event_registers_startup_state_get) (struct device *, u8 *);
56648 int (*startup_irq_enabled) (struct device *, unsigned int); 58935 int (*startup_irq_enabled) (struct device *, unsigned int);
@@ -56651,9 +58938,9 @@ diff -urNp linux-3.0.4/include/linux/mfd/abx500.h linux-3.0.4/include/linux/mfd/
56651 58938
56652 int abx500_register_ops(struct device *core_dev, struct abx500_ops *ops); 58939 int abx500_register_ops(struct device *core_dev, struct abx500_ops *ops);
56653 void abx500_remove_ops(struct device *dev); 58940 void abx500_remove_ops(struct device *dev);
56654diff -urNp linux-3.0.4/include/linux/mm.h linux-3.0.4/include/linux/mm.h 58941diff -urNp linux-3.0.7/include/linux/mm.h linux-3.0.7/include/linux/mm.h
56655--- linux-3.0.4/include/linux/mm.h 2011-09-02 18:11:21.000000000 -0400 58942--- linux-3.0.7/include/linux/mm.h 2011-09-02 18:11:21.000000000 -0400
56656+++ linux-3.0.4/include/linux/mm.h 2011-08-23 21:47:56.000000000 -0400 58943+++ linux-3.0.7/include/linux/mm.h 2011-08-23 21:47:56.000000000 -0400
56657@@ -113,7 +113,14 @@ extern unsigned int kobjsize(const void 58944@@ -113,7 +113,14 @@ extern unsigned int kobjsize(const void
56658 58945
56659 #define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pages */ 58946 #define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pages */
@@ -56776,9 +59063,9 @@ diff -urNp linux-3.0.4/include/linux/mm.h linux-3.0.4/include/linux/mm.h
56776+ 59063+
56777 #endif /* __KERNEL__ */ 59064 #endif /* __KERNEL__ */
56778 #endif /* _LINUX_MM_H */ 59065 #endif /* _LINUX_MM_H */
56779diff -urNp linux-3.0.4/include/linux/mm_types.h linux-3.0.4/include/linux/mm_types.h 59066diff -urNp linux-3.0.7/include/linux/mm_types.h linux-3.0.7/include/linux/mm_types.h
56780--- linux-3.0.4/include/linux/mm_types.h 2011-07-21 22:17:23.000000000 -0400 59067--- linux-3.0.7/include/linux/mm_types.h 2011-07-21 22:17:23.000000000 -0400
56781+++ linux-3.0.4/include/linux/mm_types.h 2011-08-23 21:47:56.000000000 -0400 59068+++ linux-3.0.7/include/linux/mm_types.h 2011-08-23 21:47:56.000000000 -0400
56782@@ -184,6 +184,8 @@ struct vm_area_struct { 59069@@ -184,6 +184,8 @@ struct vm_area_struct {
56783 #ifdef CONFIG_NUMA 59070 #ifdef CONFIG_NUMA
56784 struct mempolicy *vm_policy; /* NUMA policy for the VMA */ 59071 struct mempolicy *vm_policy; /* NUMA policy for the VMA */
@@ -56813,9 +59100,9 @@ diff -urNp linux-3.0.4/include/linux/mm_types.h linux-3.0.4/include/linux/mm_typ
56813 }; 59100 };
56814 59101
56815 static inline void mm_init_cpumask(struct mm_struct *mm) 59102 static inline void mm_init_cpumask(struct mm_struct *mm)
56816diff -urNp linux-3.0.4/include/linux/mmu_notifier.h linux-3.0.4/include/linux/mmu_notifier.h 59103diff -urNp linux-3.0.7/include/linux/mmu_notifier.h linux-3.0.7/include/linux/mmu_notifier.h
56817--- linux-3.0.4/include/linux/mmu_notifier.h 2011-07-21 22:17:23.000000000 -0400 59104--- linux-3.0.7/include/linux/mmu_notifier.h 2011-07-21 22:17:23.000000000 -0400
56818+++ linux-3.0.4/include/linux/mmu_notifier.h 2011-08-23 21:47:56.000000000 -0400 59105+++ linux-3.0.7/include/linux/mmu_notifier.h 2011-08-23 21:47:56.000000000 -0400
56819@@ -255,12 +255,12 @@ static inline void mmu_notifier_mm_destr 59106@@ -255,12 +255,12 @@ static inline void mmu_notifier_mm_destr
56820 */ 59107 */
56821 #define ptep_clear_flush_notify(__vma, __address, __ptep) \ 59108 #define ptep_clear_flush_notify(__vma, __address, __ptep) \
@@ -56832,9 +59119,9 @@ diff -urNp linux-3.0.4/include/linux/mmu_notifier.h linux-3.0.4/include/linux/mm
56832 }) 59119 })
56833 59120
56834 #define pmdp_clear_flush_notify(__vma, __address, __pmdp) \ 59121 #define pmdp_clear_flush_notify(__vma, __address, __pmdp) \
56835diff -urNp linux-3.0.4/include/linux/mmzone.h linux-3.0.4/include/linux/mmzone.h 59122diff -urNp linux-3.0.7/include/linux/mmzone.h linux-3.0.7/include/linux/mmzone.h
56836--- linux-3.0.4/include/linux/mmzone.h 2011-07-21 22:17:23.000000000 -0400 59123--- linux-3.0.7/include/linux/mmzone.h 2011-07-21 22:17:23.000000000 -0400
56837+++ linux-3.0.4/include/linux/mmzone.h 2011-08-23 21:47:56.000000000 -0400 59124+++ linux-3.0.7/include/linux/mmzone.h 2011-08-23 21:47:56.000000000 -0400
56838@@ -350,7 +350,7 @@ struct zone { 59125@@ -350,7 +350,7 @@ struct zone {
56839 unsigned long flags; /* zone flags, see below */ 59126 unsigned long flags; /* zone flags, see below */
56840 59127
@@ -56844,9 +59131,9 @@ diff -urNp linux-3.0.4/include/linux/mmzone.h linux-3.0.4/include/linux/mmzone.h
56844 59131
56845 /* 59132 /*
56846 * The target ratio of ACTIVE_ANON to INACTIVE_ANON pages on 59133 * The target ratio of ACTIVE_ANON to INACTIVE_ANON pages on
56847diff -urNp linux-3.0.4/include/linux/mod_devicetable.h linux-3.0.4/include/linux/mod_devicetable.h 59134diff -urNp linux-3.0.7/include/linux/mod_devicetable.h linux-3.0.7/include/linux/mod_devicetable.h
56848--- linux-3.0.4/include/linux/mod_devicetable.h 2011-07-21 22:17:23.000000000 -0400 59135--- linux-3.0.7/include/linux/mod_devicetable.h 2011-07-21 22:17:23.000000000 -0400
56849+++ linux-3.0.4/include/linux/mod_devicetable.h 2011-08-23 21:47:56.000000000 -0400 59136+++ linux-3.0.7/include/linux/mod_devicetable.h 2011-08-23 21:47:56.000000000 -0400
56850@@ -12,7 +12,7 @@ 59137@@ -12,7 +12,7 @@
56851 typedef unsigned long kernel_ulong_t; 59138 typedef unsigned long kernel_ulong_t;
56852 #endif 59139 #endif
@@ -56865,9 +59152,9 @@ diff -urNp linux-3.0.4/include/linux/mod_devicetable.h linux-3.0.4/include/linux
56865 59152
56866 struct hid_device_id { 59153 struct hid_device_id {
56867 __u16 bus; 59154 __u16 bus;
56868diff -urNp linux-3.0.4/include/linux/module.h linux-3.0.4/include/linux/module.h 59155diff -urNp linux-3.0.7/include/linux/module.h linux-3.0.7/include/linux/module.h
56869--- linux-3.0.4/include/linux/module.h 2011-07-21 22:17:23.000000000 -0400 59156--- linux-3.0.7/include/linux/module.h 2011-07-21 22:17:23.000000000 -0400
56870+++ linux-3.0.4/include/linux/module.h 2011-08-23 21:47:56.000000000 -0400 59157+++ linux-3.0.7/include/linux/module.h 2011-08-23 21:47:56.000000000 -0400
56871@@ -16,6 +16,7 @@ 59158@@ -16,6 +16,7 @@
56872 #include <linux/kobject.h> 59159 #include <linux/kobject.h>
56873 #include <linux/moduleparam.h> 59160 #include <linux/moduleparam.h>
@@ -56962,9 +59249,9 @@ diff -urNp linux-3.0.4/include/linux/module.h linux-3.0.4/include/linux/module.h
56962 } 59249 }
56963 59250
56964 /* Search for module by name: must hold module_mutex. */ 59251 /* Search for module by name: must hold module_mutex. */
56965diff -urNp linux-3.0.4/include/linux/moduleloader.h linux-3.0.4/include/linux/moduleloader.h 59252diff -urNp linux-3.0.7/include/linux/moduleloader.h linux-3.0.7/include/linux/moduleloader.h
56966--- linux-3.0.4/include/linux/moduleloader.h 2011-07-21 22:17:23.000000000 -0400 59253--- linux-3.0.7/include/linux/moduleloader.h 2011-07-21 22:17:23.000000000 -0400
56967+++ linux-3.0.4/include/linux/moduleloader.h 2011-08-23 21:47:56.000000000 -0400 59254+++ linux-3.0.7/include/linux/moduleloader.h 2011-08-23 21:47:56.000000000 -0400
56968@@ -20,9 +20,21 @@ unsigned int arch_mod_section_prepend(st 59255@@ -20,9 +20,21 @@ unsigned int arch_mod_section_prepend(st
56969 sections. Returns NULL on failure. */ 59256 sections. Returns NULL on failure. */
56970 void *module_alloc(unsigned long size); 59257 void *module_alloc(unsigned long size);
@@ -56987,9 +59274,9 @@ diff -urNp linux-3.0.4/include/linux/moduleloader.h linux-3.0.4/include/linux/mo
56987 /* Apply the given relocation to the (simplified) ELF. Return -error 59274 /* Apply the given relocation to the (simplified) ELF. Return -error
56988 or 0. */ 59275 or 0. */
56989 int apply_relocate(Elf_Shdr *sechdrs, 59276 int apply_relocate(Elf_Shdr *sechdrs,
56990diff -urNp linux-3.0.4/include/linux/moduleparam.h linux-3.0.4/include/linux/moduleparam.h 59277diff -urNp linux-3.0.7/include/linux/moduleparam.h linux-3.0.7/include/linux/moduleparam.h
56991--- linux-3.0.4/include/linux/moduleparam.h 2011-07-21 22:17:23.000000000 -0400 59278--- linux-3.0.7/include/linux/moduleparam.h 2011-07-21 22:17:23.000000000 -0400
56992+++ linux-3.0.4/include/linux/moduleparam.h 2011-08-23 21:47:56.000000000 -0400 59279+++ linux-3.0.7/include/linux/moduleparam.h 2011-08-23 21:47:56.000000000 -0400
56993@@ -255,7 +255,7 @@ static inline void __kernel_param_unlock 59280@@ -255,7 +255,7 @@ static inline void __kernel_param_unlock
56994 * @len is usually just sizeof(string). 59281 * @len is usually just sizeof(string).
56995 */ 59282 */
@@ -57008,9 +59295,9 @@ diff -urNp linux-3.0.4/include/linux/moduleparam.h linux-3.0.4/include/linux/mod
57008 = { .max = ARRAY_SIZE(array), .num = nump, \ 59295 = { .max = ARRAY_SIZE(array), .num = nump, \
57009 .ops = &param_ops_##type, \ 59296 .ops = &param_ops_##type, \
57010 .elemsize = sizeof(array[0]), .elem = array }; \ 59297 .elemsize = sizeof(array[0]), .elem = array }; \
57011diff -urNp linux-3.0.4/include/linux/namei.h linux-3.0.4/include/linux/namei.h 59298diff -urNp linux-3.0.7/include/linux/namei.h linux-3.0.7/include/linux/namei.h
57012--- linux-3.0.4/include/linux/namei.h 2011-07-21 22:17:23.000000000 -0400 59299--- linux-3.0.7/include/linux/namei.h 2011-07-21 22:17:23.000000000 -0400
57013+++ linux-3.0.4/include/linux/namei.h 2011-08-23 21:47:56.000000000 -0400 59300+++ linux-3.0.7/include/linux/namei.h 2011-08-23 21:47:56.000000000 -0400
57014@@ -24,7 +24,7 @@ struct nameidata { 59301@@ -24,7 +24,7 @@ struct nameidata {
57015 unsigned seq; 59302 unsigned seq;
57016 int last_type; 59303 int last_type;
@@ -57035,9 +59322,9 @@ diff -urNp linux-3.0.4/include/linux/namei.h linux-3.0.4/include/linux/namei.h
57035 { 59322 {
57036 return nd->saved_names[nd->depth]; 59323 return nd->saved_names[nd->depth];
57037 } 59324 }
57038diff -urNp linux-3.0.4/include/linux/netdevice.h linux-3.0.4/include/linux/netdevice.h 59325diff -urNp linux-3.0.7/include/linux/netdevice.h linux-3.0.7/include/linux/netdevice.h
57039--- linux-3.0.4/include/linux/netdevice.h 2011-09-02 18:11:21.000000000 -0400 59326--- linux-3.0.7/include/linux/netdevice.h 2011-09-02 18:11:21.000000000 -0400
57040+++ linux-3.0.4/include/linux/netdevice.h 2011-08-23 21:47:56.000000000 -0400 59327+++ linux-3.0.7/include/linux/netdevice.h 2011-08-23 21:47:56.000000000 -0400
57041@@ -979,6 +979,7 @@ struct net_device_ops { 59328@@ -979,6 +979,7 @@ struct net_device_ops {
57042 int (*ndo_set_features)(struct net_device *dev, 59329 int (*ndo_set_features)(struct net_device *dev,
57043 u32 features); 59330 u32 features);
@@ -57046,9 +59333,9 @@ diff -urNp linux-3.0.4/include/linux/netdevice.h linux-3.0.4/include/linux/netde
57046 59333
57047 /* 59334 /*
57048 * The DEVICE structure. 59335 * The DEVICE structure.
57049diff -urNp linux-3.0.4/include/linux/netfilter/xt_gradm.h linux-3.0.4/include/linux/netfilter/xt_gradm.h 59336diff -urNp linux-3.0.7/include/linux/netfilter/xt_gradm.h linux-3.0.7/include/linux/netfilter/xt_gradm.h
57050--- linux-3.0.4/include/linux/netfilter/xt_gradm.h 1969-12-31 19:00:00.000000000 -0500 59337--- linux-3.0.7/include/linux/netfilter/xt_gradm.h 1969-12-31 19:00:00.000000000 -0500
57051+++ linux-3.0.4/include/linux/netfilter/xt_gradm.h 2011-08-23 21:48:14.000000000 -0400 59338+++ linux-3.0.7/include/linux/netfilter/xt_gradm.h 2011-08-23 21:48:14.000000000 -0400
57052@@ -0,0 +1,9 @@ 59339@@ -0,0 +1,9 @@
57053+#ifndef _LINUX_NETFILTER_XT_GRADM_H 59340+#ifndef _LINUX_NETFILTER_XT_GRADM_H
57054+#define _LINUX_NETFILTER_XT_GRADM_H 1 59341+#define _LINUX_NETFILTER_XT_GRADM_H 1
@@ -57059,9 +59346,9 @@ diff -urNp linux-3.0.4/include/linux/netfilter/xt_gradm.h linux-3.0.4/include/li
57059+}; 59346+};
57060+ 59347+
57061+#endif 59348+#endif
57062diff -urNp linux-3.0.4/include/linux/of_pdt.h linux-3.0.4/include/linux/of_pdt.h 59349diff -urNp linux-3.0.7/include/linux/of_pdt.h linux-3.0.7/include/linux/of_pdt.h
57063--- linux-3.0.4/include/linux/of_pdt.h 2011-07-21 22:17:23.000000000 -0400 59350--- linux-3.0.7/include/linux/of_pdt.h 2011-07-21 22:17:23.000000000 -0400
57064+++ linux-3.0.4/include/linux/of_pdt.h 2011-08-30 06:20:11.000000000 -0400 59351+++ linux-3.0.7/include/linux/of_pdt.h 2011-08-30 06:20:11.000000000 -0400
57065@@ -32,7 +32,7 @@ struct of_pdt_ops { 59352@@ -32,7 +32,7 @@ struct of_pdt_ops {
57066 59353
57067 /* return 0 on success; fill in 'len' with number of bytes in path */ 59354 /* return 0 on success; fill in 'len' with number of bytes in path */
@@ -57071,9 +59358,9 @@ diff -urNp linux-3.0.4/include/linux/of_pdt.h linux-3.0.4/include/linux/of_pdt.h
57071 59358
57072 extern void *prom_early_alloc(unsigned long size); 59359 extern void *prom_early_alloc(unsigned long size);
57073 59360
57074diff -urNp linux-3.0.4/include/linux/oprofile.h linux-3.0.4/include/linux/oprofile.h 59361diff -urNp linux-3.0.7/include/linux/oprofile.h linux-3.0.7/include/linux/oprofile.h
57075--- linux-3.0.4/include/linux/oprofile.h 2011-07-21 22:17:23.000000000 -0400 59362--- linux-3.0.7/include/linux/oprofile.h 2011-07-21 22:17:23.000000000 -0400
57076+++ linux-3.0.4/include/linux/oprofile.h 2011-08-23 21:47:56.000000000 -0400 59363+++ linux-3.0.7/include/linux/oprofile.h 2011-08-23 21:47:56.000000000 -0400
57077@@ -139,9 +139,9 @@ int oprofilefs_create_ulong(struct super 59364@@ -139,9 +139,9 @@ int oprofilefs_create_ulong(struct super
57078 int oprofilefs_create_ro_ulong(struct super_block * sb, struct dentry * root, 59365 int oprofilefs_create_ro_ulong(struct super_block * sb, struct dentry * root,
57079 char const * name, ulong * val); 59366 char const * name, ulong * val);
@@ -57086,9 +59373,9 @@ diff -urNp linux-3.0.4/include/linux/oprofile.h linux-3.0.4/include/linux/oprofi
57086 59373
57087 /** create a directory */ 59374 /** create a directory */
57088 struct dentry * oprofilefs_mkdir(struct super_block * sb, struct dentry * root, 59375 struct dentry * oprofilefs_mkdir(struct super_block * sb, struct dentry * root,
57089diff -urNp linux-3.0.4/include/linux/padata.h linux-3.0.4/include/linux/padata.h 59376diff -urNp linux-3.0.7/include/linux/padata.h linux-3.0.7/include/linux/padata.h
57090--- linux-3.0.4/include/linux/padata.h 2011-07-21 22:17:23.000000000 -0400 59377--- linux-3.0.7/include/linux/padata.h 2011-07-21 22:17:23.000000000 -0400
57091+++ linux-3.0.4/include/linux/padata.h 2011-08-23 21:47:56.000000000 -0400 59378+++ linux-3.0.7/include/linux/padata.h 2011-08-23 21:47:56.000000000 -0400
57092@@ -129,7 +129,7 @@ struct parallel_data { 59379@@ -129,7 +129,7 @@ struct parallel_data {
57093 struct padata_instance *pinst; 59380 struct padata_instance *pinst;
57094 struct padata_parallel_queue __percpu *pqueue; 59381 struct padata_parallel_queue __percpu *pqueue;
@@ -57098,9 +59385,9 @@ diff -urNp linux-3.0.4/include/linux/padata.h linux-3.0.4/include/linux/padata.h
57098 atomic_t reorder_objects; 59385 atomic_t reorder_objects;
57099 atomic_t refcnt; 59386 atomic_t refcnt;
57100 unsigned int max_seq_nr; 59387 unsigned int max_seq_nr;
57101diff -urNp linux-3.0.4/include/linux/perf_event.h linux-3.0.4/include/linux/perf_event.h 59388diff -urNp linux-3.0.7/include/linux/perf_event.h linux-3.0.7/include/linux/perf_event.h
57102--- linux-3.0.4/include/linux/perf_event.h 2011-07-21 22:17:23.000000000 -0400 59389--- linux-3.0.7/include/linux/perf_event.h 2011-07-21 22:17:23.000000000 -0400
57103+++ linux-3.0.4/include/linux/perf_event.h 2011-08-23 21:47:56.000000000 -0400 59390+++ linux-3.0.7/include/linux/perf_event.h 2011-08-23 21:47:56.000000000 -0400
57104@@ -761,8 +761,8 @@ struct perf_event { 59391@@ -761,8 +761,8 @@ struct perf_event {
57105 59392
57106 enum perf_event_active_state state; 59393 enum perf_event_active_state state;
@@ -57123,9 +59410,9 @@ diff -urNp linux-3.0.4/include/linux/perf_event.h linux-3.0.4/include/linux/perf
57123 59410
57124 /* 59411 /*
57125 * Protect attach/detach and child_list: 59412 * Protect attach/detach and child_list:
57126diff -urNp linux-3.0.4/include/linux/pipe_fs_i.h linux-3.0.4/include/linux/pipe_fs_i.h 59413diff -urNp linux-3.0.7/include/linux/pipe_fs_i.h linux-3.0.7/include/linux/pipe_fs_i.h
57127--- linux-3.0.4/include/linux/pipe_fs_i.h 2011-07-21 22:17:23.000000000 -0400 59414--- linux-3.0.7/include/linux/pipe_fs_i.h 2011-07-21 22:17:23.000000000 -0400
57128+++ linux-3.0.4/include/linux/pipe_fs_i.h 2011-08-23 21:47:56.000000000 -0400 59415+++ linux-3.0.7/include/linux/pipe_fs_i.h 2011-08-23 21:47:56.000000000 -0400
57129@@ -46,9 +46,9 @@ struct pipe_buffer { 59416@@ -46,9 +46,9 @@ struct pipe_buffer {
57130 struct pipe_inode_info { 59417 struct pipe_inode_info {
57131 wait_queue_head_t wait; 59418 wait_queue_head_t wait;
@@ -57139,9 +59426,9 @@ diff -urNp linux-3.0.4/include/linux/pipe_fs_i.h linux-3.0.4/include/linux/pipe_
57139 unsigned int r_counter; 59426 unsigned int r_counter;
57140 unsigned int w_counter; 59427 unsigned int w_counter;
57141 struct page *tmp_page; 59428 struct page *tmp_page;
57142diff -urNp linux-3.0.4/include/linux/pm_runtime.h linux-3.0.4/include/linux/pm_runtime.h 59429diff -urNp linux-3.0.7/include/linux/pm_runtime.h linux-3.0.7/include/linux/pm_runtime.h
57143--- linux-3.0.4/include/linux/pm_runtime.h 2011-07-21 22:17:23.000000000 -0400 59430--- linux-3.0.7/include/linux/pm_runtime.h 2011-07-21 22:17:23.000000000 -0400
57144+++ linux-3.0.4/include/linux/pm_runtime.h 2011-08-23 21:47:56.000000000 -0400 59431+++ linux-3.0.7/include/linux/pm_runtime.h 2011-08-23 21:47:56.000000000 -0400
57145@@ -94,7 +94,7 @@ static inline bool pm_runtime_callbacks_ 59432@@ -94,7 +94,7 @@ static inline bool pm_runtime_callbacks_
57146 59433
57147 static inline void pm_runtime_mark_last_busy(struct device *dev) 59434 static inline void pm_runtime_mark_last_busy(struct device *dev)
@@ -57151,9 +59438,9 @@ diff -urNp linux-3.0.4/include/linux/pm_runtime.h linux-3.0.4/include/linux/pm_r
57151 } 59438 }
57152 59439
57153 #else /* !CONFIG_PM_RUNTIME */ 59440 #else /* !CONFIG_PM_RUNTIME */
57154diff -urNp linux-3.0.4/include/linux/poison.h linux-3.0.4/include/linux/poison.h 59441diff -urNp linux-3.0.7/include/linux/poison.h linux-3.0.7/include/linux/poison.h
57155--- linux-3.0.4/include/linux/poison.h 2011-07-21 22:17:23.000000000 -0400 59442--- linux-3.0.7/include/linux/poison.h 2011-07-21 22:17:23.000000000 -0400
57156+++ linux-3.0.4/include/linux/poison.h 2011-08-23 21:47:56.000000000 -0400 59443+++ linux-3.0.7/include/linux/poison.h 2011-08-23 21:47:56.000000000 -0400
57157@@ -19,8 +19,8 @@ 59444@@ -19,8 +19,8 @@
57158 * under normal circumstances, used to verify that nobody uses 59445 * under normal circumstances, used to verify that nobody uses
57159 * non-initialized list entries. 59446 * non-initialized list entries.
@@ -57165,9 +59452,9 @@ diff -urNp linux-3.0.4/include/linux/poison.h linux-3.0.4/include/linux/poison.h
57165 59452
57166 /********** include/linux/timer.h **********/ 59453 /********** include/linux/timer.h **********/
57167 /* 59454 /*
57168diff -urNp linux-3.0.4/include/linux/preempt.h linux-3.0.4/include/linux/preempt.h 59455diff -urNp linux-3.0.7/include/linux/preempt.h linux-3.0.7/include/linux/preempt.h
57169--- linux-3.0.4/include/linux/preempt.h 2011-07-21 22:17:23.000000000 -0400 59456--- linux-3.0.7/include/linux/preempt.h 2011-07-21 22:17:23.000000000 -0400
57170+++ linux-3.0.4/include/linux/preempt.h 2011-08-23 21:47:56.000000000 -0400 59457+++ linux-3.0.7/include/linux/preempt.h 2011-08-23 21:47:56.000000000 -0400
57171@@ -115,7 +115,7 @@ struct preempt_ops { 59458@@ -115,7 +115,7 @@ struct preempt_ops {
57172 void (*sched_in)(struct preempt_notifier *notifier, int cpu); 59459 void (*sched_in)(struct preempt_notifier *notifier, int cpu);
57173 void (*sched_out)(struct preempt_notifier *notifier, 59460 void (*sched_out)(struct preempt_notifier *notifier,
@@ -57177,9 +59464,9 @@ diff -urNp linux-3.0.4/include/linux/preempt.h linux-3.0.4/include/linux/preempt
57177 59464
57178 /** 59465 /**
57179 * preempt_notifier - key for installing preemption notifiers 59466 * preempt_notifier - key for installing preemption notifiers
57180diff -urNp linux-3.0.4/include/linux/proc_fs.h linux-3.0.4/include/linux/proc_fs.h 59467diff -urNp linux-3.0.7/include/linux/proc_fs.h linux-3.0.7/include/linux/proc_fs.h
57181--- linux-3.0.4/include/linux/proc_fs.h 2011-07-21 22:17:23.000000000 -0400 59468--- linux-3.0.7/include/linux/proc_fs.h 2011-07-21 22:17:23.000000000 -0400
57182+++ linux-3.0.4/include/linux/proc_fs.h 2011-08-23 21:48:14.000000000 -0400 59469+++ linux-3.0.7/include/linux/proc_fs.h 2011-08-23 21:48:14.000000000 -0400
57183@@ -155,6 +155,19 @@ static inline struct proc_dir_entry *pro 59470@@ -155,6 +155,19 @@ static inline struct proc_dir_entry *pro
57184 return proc_create_data(name, mode, parent, proc_fops, NULL); 59471 return proc_create_data(name, mode, parent, proc_fops, NULL);
57185 } 59472 }
@@ -57209,9 +59496,9 @@ diff -urNp linux-3.0.4/include/linux/proc_fs.h linux-3.0.4/include/linux/proc_fs
57209 59496
57210 struct ctl_table_header; 59497 struct ctl_table_header;
57211 struct ctl_table; 59498 struct ctl_table;
57212diff -urNp linux-3.0.4/include/linux/ptrace.h linux-3.0.4/include/linux/ptrace.h 59499diff -urNp linux-3.0.7/include/linux/ptrace.h linux-3.0.7/include/linux/ptrace.h
57213--- linux-3.0.4/include/linux/ptrace.h 2011-07-21 22:17:23.000000000 -0400 59500--- linux-3.0.7/include/linux/ptrace.h 2011-07-21 22:17:23.000000000 -0400
57214+++ linux-3.0.4/include/linux/ptrace.h 2011-08-23 21:48:14.000000000 -0400 59501+++ linux-3.0.7/include/linux/ptrace.h 2011-08-23 21:48:14.000000000 -0400
57215@@ -115,10 +115,10 @@ extern void __ptrace_unlink(struct task_ 59502@@ -115,10 +115,10 @@ extern void __ptrace_unlink(struct task_
57216 extern void exit_ptrace(struct task_struct *tracer); 59503 extern void exit_ptrace(struct task_struct *tracer);
57217 #define PTRACE_MODE_READ 1 59504 #define PTRACE_MODE_READ 1
@@ -57225,9 +59512,9 @@ diff -urNp linux-3.0.4/include/linux/ptrace.h linux-3.0.4/include/linux/ptrace.h
57225 59512
57226 static inline int ptrace_reparented(struct task_struct *child) 59513 static inline int ptrace_reparented(struct task_struct *child)
57227 { 59514 {
57228diff -urNp linux-3.0.4/include/linux/random.h linux-3.0.4/include/linux/random.h 59515diff -urNp linux-3.0.7/include/linux/random.h linux-3.0.7/include/linux/random.h
57229--- linux-3.0.4/include/linux/random.h 2011-09-02 18:11:21.000000000 -0400 59516--- linux-3.0.7/include/linux/random.h 2011-09-02 18:11:21.000000000 -0400
57230+++ linux-3.0.4/include/linux/random.h 2011-08-23 21:47:56.000000000 -0400 59517+++ linux-3.0.7/include/linux/random.h 2011-08-23 21:47:56.000000000 -0400
57231@@ -69,12 +69,17 @@ void srandom32(u32 seed); 59518@@ -69,12 +69,17 @@ void srandom32(u32 seed);
57232 59519
57233 u32 prandom32(struct rnd_state *); 59520 u32 prandom32(struct rnd_state *);
@@ -57247,9 +59534,9 @@ diff -urNp linux-3.0.4/include/linux/random.h linux-3.0.4/include/linux/random.h
57247 } 59534 }
57248 59535
57249 /** 59536 /**
57250diff -urNp linux-3.0.4/include/linux/reboot.h linux-3.0.4/include/linux/reboot.h 59537diff -urNp linux-3.0.7/include/linux/reboot.h linux-3.0.7/include/linux/reboot.h
57251--- linux-3.0.4/include/linux/reboot.h 2011-07-21 22:17:23.000000000 -0400 59538--- linux-3.0.7/include/linux/reboot.h 2011-07-21 22:17:23.000000000 -0400
57252+++ linux-3.0.4/include/linux/reboot.h 2011-08-23 21:47:56.000000000 -0400 59539+++ linux-3.0.7/include/linux/reboot.h 2011-08-23 21:47:56.000000000 -0400
57253@@ -47,9 +47,9 @@ extern int unregister_reboot_notifier(st 59540@@ -47,9 +47,9 @@ extern int unregister_reboot_notifier(st
57254 * Architecture-specific implementations of sys_reboot commands. 59541 * Architecture-specific implementations of sys_reboot commands.
57255 */ 59542 */
@@ -57285,9 +59572,9 @@ diff -urNp linux-3.0.4/include/linux/reboot.h linux-3.0.4/include/linux/reboot.h
57285 #include <asm/emergency-restart.h> 59572 #include <asm/emergency-restart.h>
57286 59573
57287 #endif 59574 #endif
57288diff -urNp linux-3.0.4/include/linux/reiserfs_fs.h linux-3.0.4/include/linux/reiserfs_fs.h 59575diff -urNp linux-3.0.7/include/linux/reiserfs_fs.h linux-3.0.7/include/linux/reiserfs_fs.h
57289--- linux-3.0.4/include/linux/reiserfs_fs.h 2011-07-21 22:17:23.000000000 -0400 59576--- linux-3.0.7/include/linux/reiserfs_fs.h 2011-07-21 22:17:23.000000000 -0400
57290+++ linux-3.0.4/include/linux/reiserfs_fs.h 2011-08-23 21:47:56.000000000 -0400 59577+++ linux-3.0.7/include/linux/reiserfs_fs.h 2011-08-23 21:47:56.000000000 -0400
57291@@ -1406,7 +1406,7 @@ static inline loff_t max_reiserfs_offset 59578@@ -1406,7 +1406,7 @@ static inline loff_t max_reiserfs_offset
57292 #define REISERFS_USER_MEM 1 /* reiserfs user memory mode */ 59579 #define REISERFS_USER_MEM 1 /* reiserfs user memory mode */
57293 59580
@@ -57297,9 +59584,9 @@ diff -urNp linux-3.0.4/include/linux/reiserfs_fs.h linux-3.0.4/include/linux/rei
57297 #define FILESYSTEM_CHANGED_TB(tb) (get_generation((tb)->tb_sb) != (tb)->fs_gen) 59584 #define FILESYSTEM_CHANGED_TB(tb) (get_generation((tb)->tb_sb) != (tb)->fs_gen)
57298 #define __fs_changed(gen,s) (gen != get_generation (s)) 59585 #define __fs_changed(gen,s) (gen != get_generation (s))
57299 #define fs_changed(gen,s) \ 59586 #define fs_changed(gen,s) \
57300diff -urNp linux-3.0.4/include/linux/reiserfs_fs_sb.h linux-3.0.4/include/linux/reiserfs_fs_sb.h 59587diff -urNp linux-3.0.7/include/linux/reiserfs_fs_sb.h linux-3.0.7/include/linux/reiserfs_fs_sb.h
57301--- linux-3.0.4/include/linux/reiserfs_fs_sb.h 2011-07-21 22:17:23.000000000 -0400 59588--- linux-3.0.7/include/linux/reiserfs_fs_sb.h 2011-07-21 22:17:23.000000000 -0400
57302+++ linux-3.0.4/include/linux/reiserfs_fs_sb.h 2011-08-23 21:47:56.000000000 -0400 59589+++ linux-3.0.7/include/linux/reiserfs_fs_sb.h 2011-08-23 21:47:56.000000000 -0400
57303@@ -386,7 +386,7 @@ struct reiserfs_sb_info { 59590@@ -386,7 +386,7 @@ struct reiserfs_sb_info {
57304 /* Comment? -Hans */ 59591 /* Comment? -Hans */
57305 wait_queue_head_t s_wait; 59592 wait_queue_head_t s_wait;
@@ -57309,9 +59596,9 @@ diff -urNp linux-3.0.4/include/linux/reiserfs_fs_sb.h linux-3.0.4/include/linux/
57309 // tree gets re-balanced 59596 // tree gets re-balanced
57310 unsigned long s_properties; /* File system properties. Currently holds 59597 unsigned long s_properties; /* File system properties. Currently holds
57311 on-disk FS format */ 59598 on-disk FS format */
57312diff -urNp linux-3.0.4/include/linux/relay.h linux-3.0.4/include/linux/relay.h 59599diff -urNp linux-3.0.7/include/linux/relay.h linux-3.0.7/include/linux/relay.h
57313--- linux-3.0.4/include/linux/relay.h 2011-07-21 22:17:23.000000000 -0400 59600--- linux-3.0.7/include/linux/relay.h 2011-07-21 22:17:23.000000000 -0400
57314+++ linux-3.0.4/include/linux/relay.h 2011-08-23 21:47:56.000000000 -0400 59601+++ linux-3.0.7/include/linux/relay.h 2011-08-23 21:47:56.000000000 -0400
57315@@ -159,7 +159,7 @@ struct rchan_callbacks 59602@@ -159,7 +159,7 @@ struct rchan_callbacks
57316 * The callback should return 0 if successful, negative if not. 59603 * The callback should return 0 if successful, negative if not.
57317 */ 59604 */
@@ -57321,9 +59608,9 @@ diff -urNp linux-3.0.4/include/linux/relay.h linux-3.0.4/include/linux/relay.h
57321 59608
57322 /* 59609 /*
57323 * CONFIG_RELAY kernel API, kernel/relay.c 59610 * CONFIG_RELAY kernel API, kernel/relay.c
57324diff -urNp linux-3.0.4/include/linux/rfkill.h linux-3.0.4/include/linux/rfkill.h 59611diff -urNp linux-3.0.7/include/linux/rfkill.h linux-3.0.7/include/linux/rfkill.h
57325--- linux-3.0.4/include/linux/rfkill.h 2011-07-21 22:17:23.000000000 -0400 59612--- linux-3.0.7/include/linux/rfkill.h 2011-07-21 22:17:23.000000000 -0400
57326+++ linux-3.0.4/include/linux/rfkill.h 2011-08-23 21:47:56.000000000 -0400 59613+++ linux-3.0.7/include/linux/rfkill.h 2011-08-23 21:47:56.000000000 -0400
57327@@ -147,6 +147,7 @@ struct rfkill_ops { 59614@@ -147,6 +147,7 @@ struct rfkill_ops {
57328 void (*query)(struct rfkill *rfkill, void *data); 59615 void (*query)(struct rfkill *rfkill, void *data);
57329 int (*set_block)(void *data, bool blocked); 59616 int (*set_block)(void *data, bool blocked);
@@ -57332,9 +59619,9 @@ diff -urNp linux-3.0.4/include/linux/rfkill.h linux-3.0.4/include/linux/rfkill.h
57332 59619
57333 #if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE) 59620 #if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE)
57334 /** 59621 /**
57335diff -urNp linux-3.0.4/include/linux/rmap.h linux-3.0.4/include/linux/rmap.h 59622diff -urNp linux-3.0.7/include/linux/rmap.h linux-3.0.7/include/linux/rmap.h
57336--- linux-3.0.4/include/linux/rmap.h 2011-07-21 22:17:23.000000000 -0400 59623--- linux-3.0.7/include/linux/rmap.h 2011-07-21 22:17:23.000000000 -0400
57337+++ linux-3.0.4/include/linux/rmap.h 2011-08-23 21:47:56.000000000 -0400 59624+++ linux-3.0.7/include/linux/rmap.h 2011-08-23 21:47:56.000000000 -0400
57338@@ -119,8 +119,8 @@ static inline void anon_vma_unlock(struc 59625@@ -119,8 +119,8 @@ static inline void anon_vma_unlock(struc
57339 void anon_vma_init(void); /* create anon_vma_cachep */ 59626 void anon_vma_init(void); /* create anon_vma_cachep */
57340 int anon_vma_prepare(struct vm_area_struct *); 59627 int anon_vma_prepare(struct vm_area_struct *);
@@ -57346,9 +59633,9 @@ diff -urNp linux-3.0.4/include/linux/rmap.h linux-3.0.4/include/linux/rmap.h
57346 void __anon_vma_link(struct vm_area_struct *); 59633 void __anon_vma_link(struct vm_area_struct *);
57347 59634
57348 static inline void anon_vma_merge(struct vm_area_struct *vma, 59635 static inline void anon_vma_merge(struct vm_area_struct *vma,
57349diff -urNp linux-3.0.4/include/linux/sched.h linux-3.0.4/include/linux/sched.h 59636diff -urNp linux-3.0.7/include/linux/sched.h linux-3.0.7/include/linux/sched.h
57350--- linux-3.0.4/include/linux/sched.h 2011-07-21 22:17:23.000000000 -0400 59637--- linux-3.0.7/include/linux/sched.h 2011-10-17 23:17:09.000000000 -0400
57351+++ linux-3.0.4/include/linux/sched.h 2011-08-25 17:22:27.000000000 -0400 59638+++ linux-3.0.7/include/linux/sched.h 2011-10-17 23:17:19.000000000 -0400
57352@@ -100,6 +100,7 @@ struct bio_list; 59639@@ -100,6 +100,7 @@ struct bio_list;
57353 struct fs_struct; 59640 struct fs_struct;
57354 struct perf_event_context; 59641 struct perf_event_context;
@@ -57543,7 +59830,7 @@ diff -urNp linux-3.0.4/include/linux/sched.h linux-3.0.4/include/linux/sched.h
57543 #define PF_USED_MATH 0x00002000 /* if unset the fpu must be initialized before use */ 59830 #define PF_USED_MATH 0x00002000 /* if unset the fpu must be initialized before use */
57544 #define PF_FREEZING 0x00004000 /* freeze in progress. do not account to load */ 59831 #define PF_FREEZING 0x00004000 /* freeze in progress. do not account to load */
57545 #define PF_NOFREEZE 0x00008000 /* this thread should not be frozen */ 59832 #define PF_NOFREEZE 0x00008000 /* this thread should not be frozen */
57546@@ -2056,7 +2149,9 @@ void yield(void); 59833@@ -2055,7 +2148,9 @@ void yield(void);
57547 extern struct exec_domain default_exec_domain; 59834 extern struct exec_domain default_exec_domain;
57548 59835
57549 union thread_union { 59836 union thread_union {
@@ -57553,7 +59840,7 @@ diff -urNp linux-3.0.4/include/linux/sched.h linux-3.0.4/include/linux/sched.h
57553 unsigned long stack[THREAD_SIZE/sizeof(long)]; 59840 unsigned long stack[THREAD_SIZE/sizeof(long)];
57554 }; 59841 };
57555 59842
57556@@ -2089,6 +2184,7 @@ extern struct pid_namespace init_pid_ns; 59843@@ -2088,6 +2183,7 @@ extern struct pid_namespace init_pid_ns;
57557 */ 59844 */
57558 59845
57559 extern struct task_struct *find_task_by_vpid(pid_t nr); 59846 extern struct task_struct *find_task_by_vpid(pid_t nr);
@@ -57561,7 +59848,7 @@ diff -urNp linux-3.0.4/include/linux/sched.h linux-3.0.4/include/linux/sched.h
57561 extern struct task_struct *find_task_by_pid_ns(pid_t nr, 59848 extern struct task_struct *find_task_by_pid_ns(pid_t nr,
57562 struct pid_namespace *ns); 59849 struct pid_namespace *ns);
57563 59850
57564@@ -2225,7 +2321,7 @@ extern void __cleanup_sighand(struct sig 59851@@ -2224,7 +2320,7 @@ extern void __cleanup_sighand(struct sig
57565 extern void exit_itimers(struct signal_struct *); 59852 extern void exit_itimers(struct signal_struct *);
57566 extern void flush_itimer_signals(void); 59853 extern void flush_itimer_signals(void);
57567 59854
@@ -57570,7 +59857,7 @@ diff -urNp linux-3.0.4/include/linux/sched.h linux-3.0.4/include/linux/sched.h
57570 59857
57571 extern void daemonize(const char *, ...); 59858 extern void daemonize(const char *, ...);
57572 extern int allow_signal(int); 59859 extern int allow_signal(int);
57573@@ -2393,13 +2489,17 @@ static inline unsigned long *end_of_stac 59860@@ -2392,13 +2488,17 @@ static inline unsigned long *end_of_stac
57574 59861
57575 #endif 59862 #endif
57576 59863
@@ -57590,9 +59877,9 @@ diff -urNp linux-3.0.4/include/linux/sched.h linux-3.0.4/include/linux/sched.h
57590 extern void thread_info_cache_init(void); 59877 extern void thread_info_cache_init(void);
57591 59878
57592 #ifdef CONFIG_DEBUG_STACK_USAGE 59879 #ifdef CONFIG_DEBUG_STACK_USAGE
57593diff -urNp linux-3.0.4/include/linux/screen_info.h linux-3.0.4/include/linux/screen_info.h 59880diff -urNp linux-3.0.7/include/linux/screen_info.h linux-3.0.7/include/linux/screen_info.h
57594--- linux-3.0.4/include/linux/screen_info.h 2011-07-21 22:17:23.000000000 -0400 59881--- linux-3.0.7/include/linux/screen_info.h 2011-07-21 22:17:23.000000000 -0400
57595+++ linux-3.0.4/include/linux/screen_info.h 2011-08-23 21:47:56.000000000 -0400 59882+++ linux-3.0.7/include/linux/screen_info.h 2011-08-23 21:47:56.000000000 -0400
57596@@ -43,7 +43,8 @@ struct screen_info { 59883@@ -43,7 +43,8 @@ struct screen_info {
57597 __u16 pages; /* 0x32 */ 59884 __u16 pages; /* 0x32 */
57598 __u16 vesa_attributes; /* 0x34 */ 59885 __u16 vesa_attributes; /* 0x34 */
@@ -57603,9 +59890,9 @@ diff -urNp linux-3.0.4/include/linux/screen_info.h linux-3.0.4/include/linux/scr
57603 } __attribute__((packed)); 59890 } __attribute__((packed));
57604 59891
57605 #define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */ 59892 #define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */
57606diff -urNp linux-3.0.4/include/linux/security.h linux-3.0.4/include/linux/security.h 59893diff -urNp linux-3.0.7/include/linux/security.h linux-3.0.7/include/linux/security.h
57607--- linux-3.0.4/include/linux/security.h 2011-07-21 22:17:23.000000000 -0400 59894--- linux-3.0.7/include/linux/security.h 2011-07-21 22:17:23.000000000 -0400
57608+++ linux-3.0.4/include/linux/security.h 2011-08-23 21:48:14.000000000 -0400 59895+++ linux-3.0.7/include/linux/security.h 2011-08-23 21:48:14.000000000 -0400
57609@@ -36,6 +36,7 @@ 59896@@ -36,6 +36,7 @@
57610 #include <linux/key.h> 59897 #include <linux/key.h>
57611 #include <linux/xfrm.h> 59898 #include <linux/xfrm.h>
@@ -57614,9 +59901,9 @@ diff -urNp linux-3.0.4/include/linux/security.h linux-3.0.4/include/linux/securi
57614 #include <net/flow.h> 59901 #include <net/flow.h>
57615 59902
57616 /* Maximum number of letters for an LSM name string */ 59903 /* Maximum number of letters for an LSM name string */
57617diff -urNp linux-3.0.4/include/linux/seq_file.h linux-3.0.4/include/linux/seq_file.h 59904diff -urNp linux-3.0.7/include/linux/seq_file.h linux-3.0.7/include/linux/seq_file.h
57618--- linux-3.0.4/include/linux/seq_file.h 2011-07-21 22:17:23.000000000 -0400 59905--- linux-3.0.7/include/linux/seq_file.h 2011-07-21 22:17:23.000000000 -0400
57619+++ linux-3.0.4/include/linux/seq_file.h 2011-08-23 21:47:56.000000000 -0400 59906+++ linux-3.0.7/include/linux/seq_file.h 2011-08-23 21:47:56.000000000 -0400
57620@@ -32,6 +32,7 @@ struct seq_operations { 59907@@ -32,6 +32,7 @@ struct seq_operations {
57621 void * (*next) (struct seq_file *m, void *v, loff_t *pos); 59908 void * (*next) (struct seq_file *m, void *v, loff_t *pos);
57622 int (*show) (struct seq_file *m, void *v); 59909 int (*show) (struct seq_file *m, void *v);
@@ -57625,9 +59912,9 @@ diff -urNp linux-3.0.4/include/linux/seq_file.h linux-3.0.4/include/linux/seq_fi
57625 59912
57626 #define SEQ_SKIP 1 59913 #define SEQ_SKIP 1
57627 59914
57628diff -urNp linux-3.0.4/include/linux/shmem_fs.h linux-3.0.4/include/linux/shmem_fs.h 59915diff -urNp linux-3.0.7/include/linux/shmem_fs.h linux-3.0.7/include/linux/shmem_fs.h
57629--- linux-3.0.4/include/linux/shmem_fs.h 2011-07-21 22:17:23.000000000 -0400 59916--- linux-3.0.7/include/linux/shmem_fs.h 2011-07-21 22:17:23.000000000 -0400
57630+++ linux-3.0.4/include/linux/shmem_fs.h 2011-08-23 21:47:56.000000000 -0400 59917+++ linux-3.0.7/include/linux/shmem_fs.h 2011-08-23 21:47:56.000000000 -0400
57631@@ -10,7 +10,7 @@ 59918@@ -10,7 +10,7 @@
57632 59919
57633 #define SHMEM_NR_DIRECT 16 59920 #define SHMEM_NR_DIRECT 16
@@ -57637,9 +59924,9 @@ diff -urNp linux-3.0.4/include/linux/shmem_fs.h linux-3.0.4/include/linux/shmem_
57637 59924
57638 struct shmem_inode_info { 59925 struct shmem_inode_info {
57639 spinlock_t lock; 59926 spinlock_t lock;
57640diff -urNp linux-3.0.4/include/linux/shm.h linux-3.0.4/include/linux/shm.h 59927diff -urNp linux-3.0.7/include/linux/shm.h linux-3.0.7/include/linux/shm.h
57641--- linux-3.0.4/include/linux/shm.h 2011-07-21 22:17:23.000000000 -0400 59928--- linux-3.0.7/include/linux/shm.h 2011-07-21 22:17:23.000000000 -0400
57642+++ linux-3.0.4/include/linux/shm.h 2011-08-23 21:48:14.000000000 -0400 59929+++ linux-3.0.7/include/linux/shm.h 2011-08-23 21:48:14.000000000 -0400
57643@@ -95,6 +95,10 @@ struct shmid_kernel /* private to the ke 59930@@ -95,6 +95,10 @@ struct shmid_kernel /* private to the ke
57644 pid_t shm_cprid; 59931 pid_t shm_cprid;
57645 pid_t shm_lprid; 59932 pid_t shm_lprid;
@@ -57651,9 +59938,9 @@ diff -urNp linux-3.0.4/include/linux/shm.h linux-3.0.4/include/linux/shm.h
57651 }; 59938 };
57652 59939
57653 /* shm_mode upper byte flags */ 59940 /* shm_mode upper byte flags */
57654diff -urNp linux-3.0.4/include/linux/skbuff.h linux-3.0.4/include/linux/skbuff.h 59941diff -urNp linux-3.0.7/include/linux/skbuff.h linux-3.0.7/include/linux/skbuff.h
57655--- linux-3.0.4/include/linux/skbuff.h 2011-07-21 22:17:23.000000000 -0400 59942--- linux-3.0.7/include/linux/skbuff.h 2011-07-21 22:17:23.000000000 -0400
57656+++ linux-3.0.4/include/linux/skbuff.h 2011-08-23 21:47:56.000000000 -0400 59943+++ linux-3.0.7/include/linux/skbuff.h 2011-08-23 21:47:56.000000000 -0400
57657@@ -592,7 +592,7 @@ static inline struct skb_shared_hwtstamp 59944@@ -592,7 +592,7 @@ static inline struct skb_shared_hwtstamp
57658 */ 59945 */
57659 static inline int skb_queue_empty(const struct sk_buff_head *list) 59946 static inline int skb_queue_empty(const struct sk_buff_head *list)
@@ -57690,9 +59977,9 @@ diff -urNp linux-3.0.4/include/linux/skbuff.h linux-3.0.4/include/linux/skbuff.h
57690 #endif 59977 #endif
57691 59978
57692 extern int ___pskb_trim(struct sk_buff *skb, unsigned int len); 59979 extern int ___pskb_trim(struct sk_buff *skb, unsigned int len);
57693diff -urNp linux-3.0.4/include/linux/slab_def.h linux-3.0.4/include/linux/slab_def.h 59980diff -urNp linux-3.0.7/include/linux/slab_def.h linux-3.0.7/include/linux/slab_def.h
57694--- linux-3.0.4/include/linux/slab_def.h 2011-07-21 22:17:23.000000000 -0400 59981--- linux-3.0.7/include/linux/slab_def.h 2011-07-21 22:17:23.000000000 -0400
57695+++ linux-3.0.4/include/linux/slab_def.h 2011-08-23 21:47:56.000000000 -0400 59982+++ linux-3.0.7/include/linux/slab_def.h 2011-08-23 21:47:56.000000000 -0400
57696@@ -96,10 +96,10 @@ struct kmem_cache { 59983@@ -96,10 +96,10 @@ struct kmem_cache {
57697 unsigned long node_allocs; 59984 unsigned long node_allocs;
57698 unsigned long node_frees; 59985 unsigned long node_frees;
@@ -57708,9 +59995,9 @@ diff -urNp linux-3.0.4/include/linux/slab_def.h linux-3.0.4/include/linux/slab_d
57708 59995
57709 /* 59996 /*
57710 * If debugging is enabled, then the allocator can add additional 59997 * If debugging is enabled, then the allocator can add additional
57711diff -urNp linux-3.0.4/include/linux/slab.h linux-3.0.4/include/linux/slab.h 59998diff -urNp linux-3.0.7/include/linux/slab.h linux-3.0.7/include/linux/slab.h
57712--- linux-3.0.4/include/linux/slab.h 2011-07-21 22:17:23.000000000 -0400 59999--- linux-3.0.7/include/linux/slab.h 2011-07-21 22:17:23.000000000 -0400
57713+++ linux-3.0.4/include/linux/slab.h 2011-08-23 21:47:56.000000000 -0400 60000+++ linux-3.0.7/include/linux/slab.h 2011-08-23 21:47:56.000000000 -0400
57714@@ -11,12 +11,20 @@ 60001@@ -11,12 +11,20 @@
57715 60002
57716 #include <linux/gfp.h> 60003 #include <linux/gfp.h>
@@ -57817,9 +60104,9 @@ diff -urNp linux-3.0.4/include/linux/slab.h linux-3.0.4/include/linux/slab.h
57817+}) 60104+})
57818+ 60105+
57819 #endif /* _LINUX_SLAB_H */ 60106 #endif /* _LINUX_SLAB_H */
57820diff -urNp linux-3.0.4/include/linux/slub_def.h linux-3.0.4/include/linux/slub_def.h 60107diff -urNp linux-3.0.7/include/linux/slub_def.h linux-3.0.7/include/linux/slub_def.h
57821--- linux-3.0.4/include/linux/slub_def.h 2011-07-21 22:17:23.000000000 -0400 60108--- linux-3.0.7/include/linux/slub_def.h 2011-07-21 22:17:23.000000000 -0400
57822+++ linux-3.0.4/include/linux/slub_def.h 2011-08-23 21:47:56.000000000 -0400 60109+++ linux-3.0.7/include/linux/slub_def.h 2011-08-23 21:47:56.000000000 -0400
57823@@ -82,7 +82,7 @@ struct kmem_cache { 60110@@ -82,7 +82,7 @@ struct kmem_cache {
57824 struct kmem_cache_order_objects max; 60111 struct kmem_cache_order_objects max;
57825 struct kmem_cache_order_objects min; 60112 struct kmem_cache_order_objects min;
@@ -57838,9 +60125,9 @@ diff -urNp linux-3.0.4/include/linux/slub_def.h linux-3.0.4/include/linux/slub_d
57838 60125
57839 static __always_inline void * 60126 static __always_inline void *
57840 kmalloc_order(size_t size, gfp_t flags, unsigned int order) 60127 kmalloc_order(size_t size, gfp_t flags, unsigned int order)
57841diff -urNp linux-3.0.4/include/linux/sonet.h linux-3.0.4/include/linux/sonet.h 60128diff -urNp linux-3.0.7/include/linux/sonet.h linux-3.0.7/include/linux/sonet.h
57842--- linux-3.0.4/include/linux/sonet.h 2011-07-21 22:17:23.000000000 -0400 60129--- linux-3.0.7/include/linux/sonet.h 2011-07-21 22:17:23.000000000 -0400
57843+++ linux-3.0.4/include/linux/sonet.h 2011-08-23 21:47:56.000000000 -0400 60130+++ linux-3.0.7/include/linux/sonet.h 2011-08-23 21:47:56.000000000 -0400
57844@@ -61,7 +61,7 @@ struct sonet_stats { 60131@@ -61,7 +61,7 @@ struct sonet_stats {
57845 #include <asm/atomic.h> 60132 #include <asm/atomic.h>
57846 60133
@@ -57850,9 +60137,9 @@ diff -urNp linux-3.0.4/include/linux/sonet.h linux-3.0.4/include/linux/sonet.h
57850 __SONET_ITEMS 60137 __SONET_ITEMS
57851 #undef __HANDLE_ITEM 60138 #undef __HANDLE_ITEM
57852 }; 60139 };
57853diff -urNp linux-3.0.4/include/linux/sunrpc/clnt.h linux-3.0.4/include/linux/sunrpc/clnt.h 60140diff -urNp linux-3.0.7/include/linux/sunrpc/clnt.h linux-3.0.7/include/linux/sunrpc/clnt.h
57854--- linux-3.0.4/include/linux/sunrpc/clnt.h 2011-07-21 22:17:23.000000000 -0400 60141--- linux-3.0.7/include/linux/sunrpc/clnt.h 2011-07-21 22:17:23.000000000 -0400
57855+++ linux-3.0.4/include/linux/sunrpc/clnt.h 2011-08-23 21:47:56.000000000 -0400 60142+++ linux-3.0.7/include/linux/sunrpc/clnt.h 2011-08-23 21:47:56.000000000 -0400
57856@@ -169,9 +169,9 @@ static inline unsigned short rpc_get_por 60143@@ -169,9 +169,9 @@ static inline unsigned short rpc_get_por
57857 { 60144 {
57858 switch (sap->sa_family) { 60145 switch (sap->sa_family) {
@@ -57883,9 +60170,9 @@ diff -urNp linux-3.0.4/include/linux/sunrpc/clnt.h linux-3.0.4/include/linux/sun
57883 } 60170 }
57884 60171
57885 #endif /* __KERNEL__ */ 60172 #endif /* __KERNEL__ */
57886diff -urNp linux-3.0.4/include/linux/sunrpc/svc_rdma.h linux-3.0.4/include/linux/sunrpc/svc_rdma.h 60173diff -urNp linux-3.0.7/include/linux/sunrpc/svc_rdma.h linux-3.0.7/include/linux/sunrpc/svc_rdma.h
57887--- linux-3.0.4/include/linux/sunrpc/svc_rdma.h 2011-07-21 22:17:23.000000000 -0400 60174--- linux-3.0.7/include/linux/sunrpc/svc_rdma.h 2011-07-21 22:17:23.000000000 -0400
57888+++ linux-3.0.4/include/linux/sunrpc/svc_rdma.h 2011-08-23 21:47:56.000000000 -0400 60175+++ linux-3.0.7/include/linux/sunrpc/svc_rdma.h 2011-08-23 21:47:56.000000000 -0400
57889@@ -53,15 +53,15 @@ extern unsigned int svcrdma_ord; 60176@@ -53,15 +53,15 @@ extern unsigned int svcrdma_ord;
57890 extern unsigned int svcrdma_max_requests; 60177 extern unsigned int svcrdma_max_requests;
57891 extern unsigned int svcrdma_max_req_size; 60178 extern unsigned int svcrdma_max_req_size;
@@ -57911,9 +60198,9 @@ diff -urNp linux-3.0.4/include/linux/sunrpc/svc_rdma.h linux-3.0.4/include/linux
57911 60198
57912 #define RPCRDMA_VERSION 1 60199 #define RPCRDMA_VERSION 1
57913 60200
57914diff -urNp linux-3.0.4/include/linux/sysctl.h linux-3.0.4/include/linux/sysctl.h 60201diff -urNp linux-3.0.7/include/linux/sysctl.h linux-3.0.7/include/linux/sysctl.h
57915--- linux-3.0.4/include/linux/sysctl.h 2011-07-21 22:17:23.000000000 -0400 60202--- linux-3.0.7/include/linux/sysctl.h 2011-07-21 22:17:23.000000000 -0400
57916+++ linux-3.0.4/include/linux/sysctl.h 2011-08-23 21:48:14.000000000 -0400 60203+++ linux-3.0.7/include/linux/sysctl.h 2011-08-23 21:48:14.000000000 -0400
57917@@ -155,7 +155,11 @@ enum 60204@@ -155,7 +155,11 @@ enum
57918 KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */ 60205 KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */
57919 }; 60206 };
@@ -57936,9 +60223,9 @@ diff -urNp linux-3.0.4/include/linux/sysctl.h linux-3.0.4/include/linux/sysctl.h
57936 extern int proc_dointvec(struct ctl_table *, int, 60223 extern int proc_dointvec(struct ctl_table *, int,
57937 void __user *, size_t *, loff_t *); 60224 void __user *, size_t *, loff_t *);
57938 extern int proc_dointvec_minmax(struct ctl_table *, int, 60225 extern int proc_dointvec_minmax(struct ctl_table *, int,
57939diff -urNp linux-3.0.4/include/linux/tty_ldisc.h linux-3.0.4/include/linux/tty_ldisc.h 60226diff -urNp linux-3.0.7/include/linux/tty_ldisc.h linux-3.0.7/include/linux/tty_ldisc.h
57940--- linux-3.0.4/include/linux/tty_ldisc.h 2011-07-21 22:17:23.000000000 -0400 60227--- linux-3.0.7/include/linux/tty_ldisc.h 2011-07-21 22:17:23.000000000 -0400
57941+++ linux-3.0.4/include/linux/tty_ldisc.h 2011-08-23 21:47:56.000000000 -0400 60228+++ linux-3.0.7/include/linux/tty_ldisc.h 2011-08-23 21:47:56.000000000 -0400
57942@@ -148,7 +148,7 @@ struct tty_ldisc_ops { 60229@@ -148,7 +148,7 @@ struct tty_ldisc_ops {
57943 60230
57944 struct module *owner; 60231 struct module *owner;
@@ -57948,9 +60235,9 @@ diff -urNp linux-3.0.4/include/linux/tty_ldisc.h linux-3.0.4/include/linux/tty_l
57948 }; 60235 };
57949 60236
57950 struct tty_ldisc { 60237 struct tty_ldisc {
57951diff -urNp linux-3.0.4/include/linux/types.h linux-3.0.4/include/linux/types.h 60238diff -urNp linux-3.0.7/include/linux/types.h linux-3.0.7/include/linux/types.h
57952--- linux-3.0.4/include/linux/types.h 2011-07-21 22:17:23.000000000 -0400 60239--- linux-3.0.7/include/linux/types.h 2011-07-21 22:17:23.000000000 -0400
57953+++ linux-3.0.4/include/linux/types.h 2011-08-23 21:47:56.000000000 -0400 60240+++ linux-3.0.7/include/linux/types.h 2011-08-23 21:47:56.000000000 -0400
57954@@ -213,10 +213,26 @@ typedef struct { 60241@@ -213,10 +213,26 @@ typedef struct {
57955 int counter; 60242 int counter;
57956 } atomic_t; 60243 } atomic_t;
@@ -57978,26 +60265,27 @@ diff -urNp linux-3.0.4/include/linux/types.h linux-3.0.4/include/linux/types.h
57978 #endif 60265 #endif
57979 60266
57980 struct list_head { 60267 struct list_head {
57981diff -urNp linux-3.0.4/include/linux/uaccess.h linux-3.0.4/include/linux/uaccess.h 60268diff -urNp linux-3.0.7/include/linux/uaccess.h linux-3.0.7/include/linux/uaccess.h
57982--- linux-3.0.4/include/linux/uaccess.h 2011-07-21 22:17:23.000000000 -0400 60269--- linux-3.0.7/include/linux/uaccess.h 2011-07-21 22:17:23.000000000 -0400
57983+++ linux-3.0.4/include/linux/uaccess.h 2011-08-23 21:47:56.000000000 -0400 60270+++ linux-3.0.7/include/linux/uaccess.h 2011-10-06 04:17:55.000000000 -0400
57984@@ -76,11 +76,11 @@ static inline unsigned long __copy_from_ 60271@@ -76,11 +76,11 @@ static inline unsigned long __copy_from_
57985 long ret; \ 60272 long ret; \
57986 mm_segment_t old_fs = get_fs(); \ 60273 mm_segment_t old_fs = get_fs(); \
57987 \ 60274 \
57988- set_fs(KERNEL_DS); \ 60275- set_fs(KERNEL_DS); \
57989 pagefault_disable(); \ 60276 pagefault_disable(); \
57990+ set_fs(KERNEL_DS); \ 60277- ret = __copy_from_user_inatomic(&(retval), (__force typeof(retval) __user *)(addr), sizeof(retval)); \
57991 ret = __copy_from_user_inatomic(&(retval), (__force typeof(retval) __user *)(addr), sizeof(retval)); \
57992- pagefault_enable(); \ 60278- pagefault_enable(); \
60279+ set_fs(KERNEL_DS); \
60280+ ret = __copy_from_user_inatomic(&(retval), (typeof(retval) __force_user *)(addr), sizeof(retval)); \
57993 set_fs(old_fs); \ 60281 set_fs(old_fs); \
57994+ pagefault_enable(); \ 60282+ pagefault_enable(); \
57995 ret; \ 60283 ret; \
57996 }) 60284 })
57997 60285
57998diff -urNp linux-3.0.4/include/linux/unaligned/access_ok.h linux-3.0.4/include/linux/unaligned/access_ok.h 60286diff -urNp linux-3.0.7/include/linux/unaligned/access_ok.h linux-3.0.7/include/linux/unaligned/access_ok.h
57999--- linux-3.0.4/include/linux/unaligned/access_ok.h 2011-07-21 22:17:23.000000000 -0400 60287--- linux-3.0.7/include/linux/unaligned/access_ok.h 2011-07-21 22:17:23.000000000 -0400
58000+++ linux-3.0.4/include/linux/unaligned/access_ok.h 2011-08-23 21:47:56.000000000 -0400 60288+++ linux-3.0.7/include/linux/unaligned/access_ok.h 2011-08-23 21:47:56.000000000 -0400
58001@@ -6,32 +6,32 @@ 60289@@ -6,32 +6,32 @@
58002 60290
58003 static inline u16 get_unaligned_le16(const void *p) 60291 static inline u16 get_unaligned_le16(const void *p)
@@ -58037,9 +60325,42 @@ diff -urNp linux-3.0.4/include/linux/unaligned/access_ok.h linux-3.0.4/include/l
58037 } 60325 }
58038 60326
58039 static inline void put_unaligned_le16(u16 val, void *p) 60327 static inline void put_unaligned_le16(u16 val, void *p)
58040diff -urNp linux-3.0.4/include/linux/vmalloc.h linux-3.0.4/include/linux/vmalloc.h 60328diff -urNp linux-3.0.7/include/linux/vermagic.h linux-3.0.7/include/linux/vermagic.h
58041--- linux-3.0.4/include/linux/vmalloc.h 2011-07-21 22:17:23.000000000 -0400 60329--- linux-3.0.7/include/linux/vermagic.h 2011-07-21 22:17:23.000000000 -0400
58042+++ linux-3.0.4/include/linux/vmalloc.h 2011-08-23 21:47:56.000000000 -0400 60330+++ linux-3.0.7/include/linux/vermagic.h 2011-10-07 19:25:35.000000000 -0400
60331@@ -26,9 +26,28 @@
60332 #define MODULE_ARCH_VERMAGIC ""
60333 #endif
60334
60335+#ifdef CONFIG_PAX_REFCOUNT
60336+#define MODULE_PAX_REFCOUNT "REFCOUNT "
60337+#else
60338+#define MODULE_PAX_REFCOUNT ""
60339+#endif
60340+
60341+#ifdef CONSTIFY_PLUGIN
60342+#define MODULE_CONSTIFY_PLUGIN "CONSTIFY_PLUGIN "
60343+#else
60344+#define MODULE_CONSTIFY_PLUGIN ""
60345+#endif
60346+
60347+#ifdef CONFIG_GRKERNSEC
60348+#define MODULE_GRSEC "GRSEC "
60349+#else
60350+#define MODULE_GRSEC ""
60351+#endif
60352+
60353 #define VERMAGIC_STRING \
60354 UTS_RELEASE " " \
60355 MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \
60356 MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \
60357- MODULE_ARCH_VERMAGIC
60358+ MODULE_ARCH_VERMAGIC \
60359+ MODULE_PAX_REFCOUNT MODULE_CONSTIFY_PLUGIN MODULE_GRSEC
60360
60361diff -urNp linux-3.0.7/include/linux/vmalloc.h linux-3.0.7/include/linux/vmalloc.h
60362--- linux-3.0.7/include/linux/vmalloc.h 2011-07-21 22:17:23.000000000 -0400
60363+++ linux-3.0.7/include/linux/vmalloc.h 2011-08-23 21:47:56.000000000 -0400
58043@@ -13,6 +13,11 @@ struct vm_area_struct; /* vma defining 60364@@ -13,6 +13,11 @@ struct vm_area_struct; /* vma defining
58044 #define VM_MAP 0x00000004 /* vmap()ed pages */ 60365 #define VM_MAP 0x00000004 /* vmap()ed pages */
58045 #define VM_USERMAP 0x00000008 /* suitable for remap_vmalloc_range */ 60366 #define VM_USERMAP 0x00000008 /* suitable for remap_vmalloc_range */
@@ -58156,9 +60477,9 @@ diff -urNp linux-3.0.4/include/linux/vmalloc.h linux-3.0.4/include/linux/vmalloc
58156+}) 60477+})
58157+ 60478+
58158 #endif /* _LINUX_VMALLOC_H */ 60479 #endif /* _LINUX_VMALLOC_H */
58159diff -urNp linux-3.0.4/include/linux/vmstat.h linux-3.0.4/include/linux/vmstat.h 60480diff -urNp linux-3.0.7/include/linux/vmstat.h linux-3.0.7/include/linux/vmstat.h
58160--- linux-3.0.4/include/linux/vmstat.h 2011-07-21 22:17:23.000000000 -0400 60481--- linux-3.0.7/include/linux/vmstat.h 2011-07-21 22:17:23.000000000 -0400
58161+++ linux-3.0.4/include/linux/vmstat.h 2011-08-23 21:47:56.000000000 -0400 60482+++ linux-3.0.7/include/linux/vmstat.h 2011-08-23 21:47:56.000000000 -0400
58162@@ -87,18 +87,18 @@ static inline void vm_events_fold_cpu(in 60483@@ -87,18 +87,18 @@ static inline void vm_events_fold_cpu(in
58163 /* 60484 /*
58164 * Zone based page accounting with per cpu differentials. 60485 * Zone based page accounting with per cpu differentials.
@@ -58222,9 +60543,9 @@ diff -urNp linux-3.0.4/include/linux/vmstat.h linux-3.0.4/include/linux/vmstat.h
58222 } 60543 }
58223 60544
58224 static inline void __dec_zone_page_state(struct page *page, 60545 static inline void __dec_zone_page_state(struct page *page,
58225diff -urNp linux-3.0.4/include/media/saa7146_vv.h linux-3.0.4/include/media/saa7146_vv.h 60546diff -urNp linux-3.0.7/include/media/saa7146_vv.h linux-3.0.7/include/media/saa7146_vv.h
58226--- linux-3.0.4/include/media/saa7146_vv.h 2011-07-21 22:17:23.000000000 -0400 60547--- linux-3.0.7/include/media/saa7146_vv.h 2011-07-21 22:17:23.000000000 -0400
58227+++ linux-3.0.4/include/media/saa7146_vv.h 2011-08-24 18:26:09.000000000 -0400 60548+++ linux-3.0.7/include/media/saa7146_vv.h 2011-10-07 19:07:40.000000000 -0400
58228@@ -163,7 +163,7 @@ struct saa7146_ext_vv 60549@@ -163,7 +163,7 @@ struct saa7146_ext_vv
58229 int (*std_callback)(struct saa7146_dev*, struct saa7146_standard *); 60550 int (*std_callback)(struct saa7146_dev*, struct saa7146_standard *);
58230 60551
@@ -58234,9 +60555,29 @@ diff -urNp linux-3.0.4/include/media/saa7146_vv.h linux-3.0.4/include/media/saa7
58234 /* pointer to the saa7146 core ops */ 60555 /* pointer to the saa7146 core ops */
58235 const struct v4l2_ioctl_ops *core_ops; 60556 const struct v4l2_ioctl_ops *core_ops;
58236 60557
58237diff -urNp linux-3.0.4/include/media/v4l2-ioctl.h linux-3.0.4/include/media/v4l2-ioctl.h 60558diff -urNp linux-3.0.7/include/media/v4l2-dev.h linux-3.0.7/include/media/v4l2-dev.h
58238--- linux-3.0.4/include/media/v4l2-ioctl.h 2011-07-21 22:17:23.000000000 -0400 60559--- linux-3.0.7/include/media/v4l2-dev.h 2011-07-21 22:17:23.000000000 -0400
58239+++ linux-3.0.4/include/media/v4l2-ioctl.h 2011-08-24 18:25:45.000000000 -0400 60560+++ linux-3.0.7/include/media/v4l2-dev.h 2011-10-07 19:07:40.000000000 -0400
60561@@ -56,7 +56,7 @@ int v4l2_prio_check(struct v4l2_prio_sta
60562
60563
60564 struct v4l2_file_operations {
60565- struct module *owner;
60566+ struct module * const owner;
60567 ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
60568 ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
60569 unsigned int (*poll) (struct file *, struct poll_table_struct *);
60570@@ -68,6 +68,7 @@ struct v4l2_file_operations {
60571 int (*open) (struct file *);
60572 int (*release) (struct file *);
60573 };
60574+typedef struct v4l2_file_operations __no_const v4l2_file_operations_no_const;
60575
60576 /*
60577 * Newer version of video_device, handled by videodev2.c
60578diff -urNp linux-3.0.7/include/media/v4l2-ioctl.h linux-3.0.7/include/media/v4l2-ioctl.h
60579--- linux-3.0.7/include/media/v4l2-ioctl.h 2011-07-21 22:17:23.000000000 -0400
60580+++ linux-3.0.7/include/media/v4l2-ioctl.h 2011-08-24 18:25:45.000000000 -0400
58240@@ -272,6 +272,7 @@ struct v4l2_ioctl_ops { 60581@@ -272,6 +272,7 @@ struct v4l2_ioctl_ops {
58241 long (*vidioc_default) (struct file *file, void *fh, 60582 long (*vidioc_default) (struct file *file, void *fh,
58242 bool valid_prio, int cmd, void *arg); 60583 bool valid_prio, int cmd, void *arg);
@@ -58245,9 +60586,9 @@ diff -urNp linux-3.0.4/include/media/v4l2-ioctl.h linux-3.0.4/include/media/v4l2
58245 60586
58246 60587
58247 /* v4l debugging and diagnostics */ 60588 /* v4l debugging and diagnostics */
58248diff -urNp linux-3.0.4/include/net/caif/cfctrl.h linux-3.0.4/include/net/caif/cfctrl.h 60589diff -urNp linux-3.0.7/include/net/caif/cfctrl.h linux-3.0.7/include/net/caif/cfctrl.h
58249--- linux-3.0.4/include/net/caif/cfctrl.h 2011-07-21 22:17:23.000000000 -0400 60590--- linux-3.0.7/include/net/caif/cfctrl.h 2011-07-21 22:17:23.000000000 -0400
58250+++ linux-3.0.4/include/net/caif/cfctrl.h 2011-08-23 21:47:56.000000000 -0400 60591+++ linux-3.0.7/include/net/caif/cfctrl.h 2011-08-23 21:47:56.000000000 -0400
58251@@ -52,7 +52,7 @@ struct cfctrl_rsp { 60592@@ -52,7 +52,7 @@ struct cfctrl_rsp {
58252 void (*radioset_rsp)(void); 60593 void (*radioset_rsp)(void);
58253 void (*reject_rsp)(struct cflayer *layer, u8 linkid, 60594 void (*reject_rsp)(struct cflayer *layer, u8 linkid,
@@ -58268,9 +60609,9 @@ diff -urNp linux-3.0.4/include/net/caif/cfctrl.h linux-3.0.4/include/net/caif/cf
58268 struct list_head list; 60609 struct list_head list;
58269 /* Protects from simultaneous access to first_req list */ 60610 /* Protects from simultaneous access to first_req list */
58270 spinlock_t info_list_lock; 60611 spinlock_t info_list_lock;
58271diff -urNp linux-3.0.4/include/net/flow.h linux-3.0.4/include/net/flow.h 60612diff -urNp linux-3.0.7/include/net/flow.h linux-3.0.7/include/net/flow.h
58272--- linux-3.0.4/include/net/flow.h 2011-07-21 22:17:23.000000000 -0400 60613--- linux-3.0.7/include/net/flow.h 2011-07-21 22:17:23.000000000 -0400
58273+++ linux-3.0.4/include/net/flow.h 2011-08-23 21:47:56.000000000 -0400 60614+++ linux-3.0.7/include/net/flow.h 2011-08-23 21:47:56.000000000 -0400
58274@@ -188,6 +188,6 @@ extern struct flow_cache_object *flow_ca 60615@@ -188,6 +188,6 @@ extern struct flow_cache_object *flow_ca
58275 u8 dir, flow_resolve_t resolver, void *ctx); 60616 u8 dir, flow_resolve_t resolver, void *ctx);
58276 60617
@@ -58279,9 +60620,9 @@ diff -urNp linux-3.0.4/include/net/flow.h linux-3.0.4/include/net/flow.h
58279+extern atomic_unchecked_t flow_cache_genid; 60620+extern atomic_unchecked_t flow_cache_genid;
58280 60621
58281 #endif 60622 #endif
58282diff -urNp linux-3.0.4/include/net/inetpeer.h linux-3.0.4/include/net/inetpeer.h 60623diff -urNp linux-3.0.7/include/net/inetpeer.h linux-3.0.7/include/net/inetpeer.h
58283--- linux-3.0.4/include/net/inetpeer.h 2011-07-21 22:17:23.000000000 -0400 60624--- linux-3.0.7/include/net/inetpeer.h 2011-07-21 22:17:23.000000000 -0400
58284+++ linux-3.0.4/include/net/inetpeer.h 2011-08-23 21:47:56.000000000 -0400 60625+++ linux-3.0.7/include/net/inetpeer.h 2011-08-23 21:47:56.000000000 -0400
58285@@ -43,8 +43,8 @@ struct inet_peer { 60626@@ -43,8 +43,8 @@ struct inet_peer {
58286 */ 60627 */
58287 union { 60628 union {
@@ -58302,9 +60643,9 @@ diff -urNp linux-3.0.4/include/net/inetpeer.h linux-3.0.4/include/net/inetpeer.h
58302 } 60643 }
58303 60644
58304 #endif /* _NET_INETPEER_H */ 60645 #endif /* _NET_INETPEER_H */
58305diff -urNp linux-3.0.4/include/net/ip_fib.h linux-3.0.4/include/net/ip_fib.h 60646diff -urNp linux-3.0.7/include/net/ip_fib.h linux-3.0.7/include/net/ip_fib.h
58306--- linux-3.0.4/include/net/ip_fib.h 2011-07-21 22:17:23.000000000 -0400 60647--- linux-3.0.7/include/net/ip_fib.h 2011-07-21 22:17:23.000000000 -0400
58307+++ linux-3.0.4/include/net/ip_fib.h 2011-08-23 21:47:56.000000000 -0400 60648+++ linux-3.0.7/include/net/ip_fib.h 2011-08-23 21:47:56.000000000 -0400
58308@@ -146,7 +146,7 @@ extern __be32 fib_info_update_nh_saddr(s 60649@@ -146,7 +146,7 @@ extern __be32 fib_info_update_nh_saddr(s
58309 60650
58310 #define FIB_RES_SADDR(net, res) \ 60651 #define FIB_RES_SADDR(net, res) \
@@ -58314,9 +60655,9 @@ diff -urNp linux-3.0.4/include/net/ip_fib.h linux-3.0.4/include/net/ip_fib.h
58314 FIB_RES_NH(res).nh_saddr : \ 60655 FIB_RES_NH(res).nh_saddr : \
58315 fib_info_update_nh_saddr((net), &FIB_RES_NH(res))) 60656 fib_info_update_nh_saddr((net), &FIB_RES_NH(res)))
58316 #define FIB_RES_GW(res) (FIB_RES_NH(res).nh_gw) 60657 #define FIB_RES_GW(res) (FIB_RES_NH(res).nh_gw)
58317diff -urNp linux-3.0.4/include/net/ip_vs.h linux-3.0.4/include/net/ip_vs.h 60658diff -urNp linux-3.0.7/include/net/ip_vs.h linux-3.0.7/include/net/ip_vs.h
58318--- linux-3.0.4/include/net/ip_vs.h 2011-07-21 22:17:23.000000000 -0400 60659--- linux-3.0.7/include/net/ip_vs.h 2011-07-21 22:17:23.000000000 -0400
58319+++ linux-3.0.4/include/net/ip_vs.h 2011-08-23 21:47:56.000000000 -0400 60660+++ linux-3.0.7/include/net/ip_vs.h 2011-08-23 21:47:56.000000000 -0400
58320@@ -509,7 +509,7 @@ struct ip_vs_conn { 60661@@ -509,7 +509,7 @@ struct ip_vs_conn {
58321 struct ip_vs_conn *control; /* Master control connection */ 60662 struct ip_vs_conn *control; /* Master control connection */
58322 atomic_t n_control; /* Number of controlled ones */ 60663 atomic_t n_control; /* Number of controlled ones */
@@ -58335,9 +60676,9 @@ diff -urNp linux-3.0.4/include/net/ip_vs.h linux-3.0.4/include/net/ip_vs.h
58335 atomic_t weight; /* server weight */ 60676 atomic_t weight; /* server weight */
58336 60677
58337 atomic_t refcnt; /* reference counter */ 60678 atomic_t refcnt; /* reference counter */
58338diff -urNp linux-3.0.4/include/net/irda/ircomm_core.h linux-3.0.4/include/net/irda/ircomm_core.h 60679diff -urNp linux-3.0.7/include/net/irda/ircomm_core.h linux-3.0.7/include/net/irda/ircomm_core.h
58339--- linux-3.0.4/include/net/irda/ircomm_core.h 2011-07-21 22:17:23.000000000 -0400 60680--- linux-3.0.7/include/net/irda/ircomm_core.h 2011-07-21 22:17:23.000000000 -0400
58340+++ linux-3.0.4/include/net/irda/ircomm_core.h 2011-08-23 21:47:56.000000000 -0400 60681+++ linux-3.0.7/include/net/irda/ircomm_core.h 2011-08-23 21:47:56.000000000 -0400
58341@@ -51,7 +51,7 @@ typedef struct { 60682@@ -51,7 +51,7 @@ typedef struct {
58342 int (*connect_response)(struct ircomm_cb *, struct sk_buff *); 60683 int (*connect_response)(struct ircomm_cb *, struct sk_buff *);
58343 int (*disconnect_request)(struct ircomm_cb *, struct sk_buff *, 60684 int (*disconnect_request)(struct ircomm_cb *, struct sk_buff *,
@@ -58347,9 +60688,9 @@ diff -urNp linux-3.0.4/include/net/irda/ircomm_core.h linux-3.0.4/include/net/ir
58347 60688
58348 struct ircomm_cb { 60689 struct ircomm_cb {
58349 irda_queue_t queue; 60690 irda_queue_t queue;
58350diff -urNp linux-3.0.4/include/net/irda/ircomm_tty.h linux-3.0.4/include/net/irda/ircomm_tty.h 60691diff -urNp linux-3.0.7/include/net/irda/ircomm_tty.h linux-3.0.7/include/net/irda/ircomm_tty.h
58351--- linux-3.0.4/include/net/irda/ircomm_tty.h 2011-07-21 22:17:23.000000000 -0400 60692--- linux-3.0.7/include/net/irda/ircomm_tty.h 2011-07-21 22:17:23.000000000 -0400
58352+++ linux-3.0.4/include/net/irda/ircomm_tty.h 2011-08-23 21:47:56.000000000 -0400 60693+++ linux-3.0.7/include/net/irda/ircomm_tty.h 2011-08-23 21:47:56.000000000 -0400
58353@@ -35,6 +35,7 @@ 60694@@ -35,6 +35,7 @@
58354 #include <linux/termios.h> 60695 #include <linux/termios.h>
58355 #include <linux/timer.h> 60696 #include <linux/timer.h>
@@ -58369,9 +60710,9 @@ diff -urNp linux-3.0.4/include/net/irda/ircomm_tty.h linux-3.0.4/include/net/ird
58369 60710
58370 /* Protect concurent access to : 60711 /* Protect concurent access to :
58371 * o self->open_count 60712 * o self->open_count
58372diff -urNp linux-3.0.4/include/net/iucv/af_iucv.h linux-3.0.4/include/net/iucv/af_iucv.h 60713diff -urNp linux-3.0.7/include/net/iucv/af_iucv.h linux-3.0.7/include/net/iucv/af_iucv.h
58373--- linux-3.0.4/include/net/iucv/af_iucv.h 2011-07-21 22:17:23.000000000 -0400 60714--- linux-3.0.7/include/net/iucv/af_iucv.h 2011-07-21 22:17:23.000000000 -0400
58374+++ linux-3.0.4/include/net/iucv/af_iucv.h 2011-08-23 21:47:56.000000000 -0400 60715+++ linux-3.0.7/include/net/iucv/af_iucv.h 2011-08-23 21:47:56.000000000 -0400
58375@@ -87,7 +87,7 @@ struct iucv_sock { 60716@@ -87,7 +87,7 @@ struct iucv_sock {
58376 struct iucv_sock_list { 60717 struct iucv_sock_list {
58377 struct hlist_head head; 60718 struct hlist_head head;
@@ -58381,9 +60722,9 @@ diff -urNp linux-3.0.4/include/net/iucv/af_iucv.h linux-3.0.4/include/net/iucv/a
58381 }; 60722 };
58382 60723
58383 unsigned int iucv_sock_poll(struct file *file, struct socket *sock, 60724 unsigned int iucv_sock_poll(struct file *file, struct socket *sock,
58384diff -urNp linux-3.0.4/include/net/lapb.h linux-3.0.4/include/net/lapb.h 60725diff -urNp linux-3.0.7/include/net/lapb.h linux-3.0.7/include/net/lapb.h
58385--- linux-3.0.4/include/net/lapb.h 2011-07-21 22:17:23.000000000 -0400 60726--- linux-3.0.7/include/net/lapb.h 2011-07-21 22:17:23.000000000 -0400
58386+++ linux-3.0.4/include/net/lapb.h 2011-08-23 21:47:56.000000000 -0400 60727+++ linux-3.0.7/include/net/lapb.h 2011-08-23 21:47:56.000000000 -0400
58387@@ -95,7 +95,7 @@ struct lapb_cb { 60728@@ -95,7 +95,7 @@ struct lapb_cb {
58388 struct sk_buff_head write_queue; 60729 struct sk_buff_head write_queue;
58389 struct sk_buff_head ack_queue; 60730 struct sk_buff_head ack_queue;
@@ -58393,9 +60734,9 @@ diff -urNp linux-3.0.4/include/net/lapb.h linux-3.0.4/include/net/lapb.h
58393 60734
58394 /* FRMR control information */ 60735 /* FRMR control information */
58395 struct lapb_frame frmr_data; 60736 struct lapb_frame frmr_data;
58396diff -urNp linux-3.0.4/include/net/neighbour.h linux-3.0.4/include/net/neighbour.h 60737diff -urNp linux-3.0.7/include/net/neighbour.h linux-3.0.7/include/net/neighbour.h
58397--- linux-3.0.4/include/net/neighbour.h 2011-07-21 22:17:23.000000000 -0400 60738--- linux-3.0.7/include/net/neighbour.h 2011-07-21 22:17:23.000000000 -0400
58398+++ linux-3.0.4/include/net/neighbour.h 2011-08-31 18:39:25.000000000 -0400 60739+++ linux-3.0.7/include/net/neighbour.h 2011-08-31 18:39:25.000000000 -0400
58399@@ -124,7 +124,7 @@ struct neigh_ops { 60740@@ -124,7 +124,7 @@ struct neigh_ops {
58400 int (*connected_output)(struct sk_buff*); 60741 int (*connected_output)(struct sk_buff*);
58401 int (*hh_output)(struct sk_buff*); 60742 int (*hh_output)(struct sk_buff*);
@@ -58405,9 +60746,9 @@ diff -urNp linux-3.0.4/include/net/neighbour.h linux-3.0.4/include/net/neighbour
58405 60746
58406 struct pneigh_entry { 60747 struct pneigh_entry {
58407 struct pneigh_entry *next; 60748 struct pneigh_entry *next;
58408diff -urNp linux-3.0.4/include/net/netlink.h linux-3.0.4/include/net/netlink.h 60749diff -urNp linux-3.0.7/include/net/netlink.h linux-3.0.7/include/net/netlink.h
58409--- linux-3.0.4/include/net/netlink.h 2011-07-21 22:17:23.000000000 -0400 60750--- linux-3.0.7/include/net/netlink.h 2011-07-21 22:17:23.000000000 -0400
58410+++ linux-3.0.4/include/net/netlink.h 2011-08-23 21:47:56.000000000 -0400 60751+++ linux-3.0.7/include/net/netlink.h 2011-08-23 21:47:56.000000000 -0400
58411@@ -562,7 +562,7 @@ static inline void *nlmsg_get_pos(struct 60752@@ -562,7 +562,7 @@ static inline void *nlmsg_get_pos(struct
58412 static inline void nlmsg_trim(struct sk_buff *skb, const void *mark) 60753 static inline void nlmsg_trim(struct sk_buff *skb, const void *mark)
58413 { 60754 {
@@ -58417,9 +60758,9 @@ diff -urNp linux-3.0.4/include/net/netlink.h linux-3.0.4/include/net/netlink.h
58417 } 60758 }
58418 60759
58419 /** 60760 /**
58420diff -urNp linux-3.0.4/include/net/netns/ipv4.h linux-3.0.4/include/net/netns/ipv4.h 60761diff -urNp linux-3.0.7/include/net/netns/ipv4.h linux-3.0.7/include/net/netns/ipv4.h
58421--- linux-3.0.4/include/net/netns/ipv4.h 2011-07-21 22:17:23.000000000 -0400 60762--- linux-3.0.7/include/net/netns/ipv4.h 2011-07-21 22:17:23.000000000 -0400
58422+++ linux-3.0.4/include/net/netns/ipv4.h 2011-08-23 21:47:56.000000000 -0400 60763+++ linux-3.0.7/include/net/netns/ipv4.h 2011-08-23 21:47:56.000000000 -0400
58423@@ -56,8 +56,8 @@ struct netns_ipv4 { 60764@@ -56,8 +56,8 @@ struct netns_ipv4 {
58424 60765
58425 unsigned int sysctl_ping_group_range[2]; 60766 unsigned int sysctl_ping_group_range[2];
@@ -58431,9 +60772,9 @@ diff -urNp linux-3.0.4/include/net/netns/ipv4.h linux-3.0.4/include/net/netns/ip
58431 60772
58432 #ifdef CONFIG_IP_MROUTE 60773 #ifdef CONFIG_IP_MROUTE
58433 #ifndef CONFIG_IP_MROUTE_MULTIPLE_TABLES 60774 #ifndef CONFIG_IP_MROUTE_MULTIPLE_TABLES
58434diff -urNp linux-3.0.4/include/net/sctp/sctp.h linux-3.0.4/include/net/sctp/sctp.h 60775diff -urNp linux-3.0.7/include/net/sctp/sctp.h linux-3.0.7/include/net/sctp/sctp.h
58435--- linux-3.0.4/include/net/sctp/sctp.h 2011-07-21 22:17:23.000000000 -0400 60776--- linux-3.0.7/include/net/sctp/sctp.h 2011-07-21 22:17:23.000000000 -0400
58436+++ linux-3.0.4/include/net/sctp/sctp.h 2011-08-23 21:47:56.000000000 -0400 60777+++ linux-3.0.7/include/net/sctp/sctp.h 2011-08-23 21:47:56.000000000 -0400
58437@@ -315,9 +315,9 @@ do { \ 60778@@ -315,9 +315,9 @@ do { \
58438 60779
58439 #else /* SCTP_DEBUG */ 60780 #else /* SCTP_DEBUG */
@@ -58447,9 +60788,9 @@ diff -urNp linux-3.0.4/include/net/sctp/sctp.h linux-3.0.4/include/net/sctp/sctp
58447 #define SCTP_ENABLE_DEBUG 60788 #define SCTP_ENABLE_DEBUG
58448 #define SCTP_DISABLE_DEBUG 60789 #define SCTP_DISABLE_DEBUG
58449 #define SCTP_ASSERT(expr, str, func) 60790 #define SCTP_ASSERT(expr, str, func)
58450diff -urNp linux-3.0.4/include/net/sock.h linux-3.0.4/include/net/sock.h 60791diff -urNp linux-3.0.7/include/net/sock.h linux-3.0.7/include/net/sock.h
58451--- linux-3.0.4/include/net/sock.h 2011-07-21 22:17:23.000000000 -0400 60792--- linux-3.0.7/include/net/sock.h 2011-07-21 22:17:23.000000000 -0400
58452+++ linux-3.0.4/include/net/sock.h 2011-08-23 21:47:56.000000000 -0400 60793+++ linux-3.0.7/include/net/sock.h 2011-08-23 21:47:56.000000000 -0400
58453@@ -277,7 +277,7 @@ struct sock { 60794@@ -277,7 +277,7 @@ struct sock {
58454 #ifdef CONFIG_RPS 60795 #ifdef CONFIG_RPS
58455 __u32 sk_rxhash; 60796 __u32 sk_rxhash;
@@ -58468,9 +60809,9 @@ diff -urNp linux-3.0.4/include/net/sock.h linux-3.0.4/include/net/sock.h
58468 int copy, int offset) 60809 int copy, int offset)
58469 { 60810 {
58470 if (skb->ip_summed == CHECKSUM_NONE) { 60811 if (skb->ip_summed == CHECKSUM_NONE) {
58471diff -urNp linux-3.0.4/include/net/tcp.h linux-3.0.4/include/net/tcp.h 60812diff -urNp linux-3.0.7/include/net/tcp.h linux-3.0.7/include/net/tcp.h
58472--- linux-3.0.4/include/net/tcp.h 2011-07-21 22:17:23.000000000 -0400 60813--- linux-3.0.7/include/net/tcp.h 2011-07-21 22:17:23.000000000 -0400
58473+++ linux-3.0.4/include/net/tcp.h 2011-08-23 21:47:56.000000000 -0400 60814+++ linux-3.0.7/include/net/tcp.h 2011-08-23 21:47:56.000000000 -0400
58474@@ -1374,8 +1374,8 @@ enum tcp_seq_states { 60815@@ -1374,8 +1374,8 @@ enum tcp_seq_states {
58475 struct tcp_seq_afinfo { 60816 struct tcp_seq_afinfo {
58476 char *name; 60817 char *name;
@@ -58482,9 +60823,9 @@ diff -urNp linux-3.0.4/include/net/tcp.h linux-3.0.4/include/net/tcp.h
58482 }; 60823 };
58483 60824
58484 struct tcp_iter_state { 60825 struct tcp_iter_state {
58485diff -urNp linux-3.0.4/include/net/udp.h linux-3.0.4/include/net/udp.h 60826diff -urNp linux-3.0.7/include/net/udp.h linux-3.0.7/include/net/udp.h
58486--- linux-3.0.4/include/net/udp.h 2011-07-21 22:17:23.000000000 -0400 60827--- linux-3.0.7/include/net/udp.h 2011-07-21 22:17:23.000000000 -0400
58487+++ linux-3.0.4/include/net/udp.h 2011-08-23 21:47:56.000000000 -0400 60828+++ linux-3.0.7/include/net/udp.h 2011-08-23 21:47:56.000000000 -0400
58488@@ -234,8 +234,8 @@ struct udp_seq_afinfo { 60829@@ -234,8 +234,8 @@ struct udp_seq_afinfo {
58489 char *name; 60830 char *name;
58490 sa_family_t family; 60831 sa_family_t family;
@@ -58496,9 +60837,9 @@ diff -urNp linux-3.0.4/include/net/udp.h linux-3.0.4/include/net/udp.h
58496 }; 60837 };
58497 60838
58498 struct udp_iter_state { 60839 struct udp_iter_state {
58499diff -urNp linux-3.0.4/include/net/xfrm.h linux-3.0.4/include/net/xfrm.h 60840diff -urNp linux-3.0.7/include/net/xfrm.h linux-3.0.7/include/net/xfrm.h
58500--- linux-3.0.4/include/net/xfrm.h 2011-07-21 22:17:23.000000000 -0400 60841--- linux-3.0.7/include/net/xfrm.h 2011-07-21 22:17:23.000000000 -0400
58501+++ linux-3.0.4/include/net/xfrm.h 2011-08-23 21:47:56.000000000 -0400 60842+++ linux-3.0.7/include/net/xfrm.h 2011-08-23 21:47:56.000000000 -0400
58502@@ -505,7 +505,7 @@ struct xfrm_policy { 60843@@ -505,7 +505,7 @@ struct xfrm_policy {
58503 struct timer_list timer; 60844 struct timer_list timer;
58504 60845
@@ -58508,9 +60849,9 @@ diff -urNp linux-3.0.4/include/net/xfrm.h linux-3.0.4/include/net/xfrm.h
58508 u32 priority; 60849 u32 priority;
58509 u32 index; 60850 u32 index;
58510 struct xfrm_mark mark; 60851 struct xfrm_mark mark;
58511diff -urNp linux-3.0.4/include/rdma/iw_cm.h linux-3.0.4/include/rdma/iw_cm.h 60852diff -urNp linux-3.0.7/include/rdma/iw_cm.h linux-3.0.7/include/rdma/iw_cm.h
58512--- linux-3.0.4/include/rdma/iw_cm.h 2011-07-21 22:17:23.000000000 -0400 60853--- linux-3.0.7/include/rdma/iw_cm.h 2011-07-21 22:17:23.000000000 -0400
58513+++ linux-3.0.4/include/rdma/iw_cm.h 2011-08-23 21:47:56.000000000 -0400 60854+++ linux-3.0.7/include/rdma/iw_cm.h 2011-08-23 21:47:56.000000000 -0400
58514@@ -120,7 +120,7 @@ struct iw_cm_verbs { 60855@@ -120,7 +120,7 @@ struct iw_cm_verbs {
58515 int backlog); 60856 int backlog);
58516 60857
@@ -58520,9 +60861,9 @@ diff -urNp linux-3.0.4/include/rdma/iw_cm.h linux-3.0.4/include/rdma/iw_cm.h
58520 60861
58521 /** 60862 /**
58522 * iw_create_cm_id - Create an IW CM identifier. 60863 * iw_create_cm_id - Create an IW CM identifier.
58523diff -urNp linux-3.0.4/include/scsi/libfc.h linux-3.0.4/include/scsi/libfc.h 60864diff -urNp linux-3.0.7/include/scsi/libfc.h linux-3.0.7/include/scsi/libfc.h
58524--- linux-3.0.4/include/scsi/libfc.h 2011-07-21 22:17:23.000000000 -0400 60865--- linux-3.0.7/include/scsi/libfc.h 2011-07-21 22:17:23.000000000 -0400
58525+++ linux-3.0.4/include/scsi/libfc.h 2011-08-23 21:47:56.000000000 -0400 60866+++ linux-3.0.7/include/scsi/libfc.h 2011-08-23 21:47:56.000000000 -0400
58526@@ -750,6 +750,7 @@ struct libfc_function_template { 60867@@ -750,6 +750,7 @@ struct libfc_function_template {
58527 */ 60868 */
58528 void (*disc_stop_final) (struct fc_lport *); 60869 void (*disc_stop_final) (struct fc_lport *);
@@ -58540,9 +60881,9 @@ diff -urNp linux-3.0.4/include/scsi/libfc.h linux-3.0.4/include/scsi/libfc.h
58540 u8 link_up; 60881 u8 link_up;
58541 u8 qfull; 60882 u8 qfull;
58542 enum fc_lport_state state; 60883 enum fc_lport_state state;
58543diff -urNp linux-3.0.4/include/scsi/scsi_device.h linux-3.0.4/include/scsi/scsi_device.h 60884diff -urNp linux-3.0.7/include/scsi/scsi_device.h linux-3.0.7/include/scsi/scsi_device.h
58544--- linux-3.0.4/include/scsi/scsi_device.h 2011-07-21 22:17:23.000000000 -0400 60885--- linux-3.0.7/include/scsi/scsi_device.h 2011-07-21 22:17:23.000000000 -0400
58545+++ linux-3.0.4/include/scsi/scsi_device.h 2011-08-23 21:47:56.000000000 -0400 60886+++ linux-3.0.7/include/scsi/scsi_device.h 2011-08-23 21:47:56.000000000 -0400
58546@@ -161,9 +161,9 @@ struct scsi_device { 60887@@ -161,9 +161,9 @@ struct scsi_device {
58547 unsigned int max_device_blocked; /* what device_blocked counts down from */ 60888 unsigned int max_device_blocked; /* what device_blocked counts down from */
58548 #define SCSI_DEFAULT_DEVICE_BLOCKED 3 60889 #define SCSI_DEFAULT_DEVICE_BLOCKED 3
@@ -58556,9 +60897,9 @@ diff -urNp linux-3.0.4/include/scsi/scsi_device.h linux-3.0.4/include/scsi/scsi_
58556 60897
58557 struct device sdev_gendev, 60898 struct device sdev_gendev,
58558 sdev_dev; 60899 sdev_dev;
58559diff -urNp linux-3.0.4/include/scsi/scsi_transport_fc.h linux-3.0.4/include/scsi/scsi_transport_fc.h 60900diff -urNp linux-3.0.7/include/scsi/scsi_transport_fc.h linux-3.0.7/include/scsi/scsi_transport_fc.h
58560--- linux-3.0.4/include/scsi/scsi_transport_fc.h 2011-07-21 22:17:23.000000000 -0400 60901--- linux-3.0.7/include/scsi/scsi_transport_fc.h 2011-07-21 22:17:23.000000000 -0400
58561+++ linux-3.0.4/include/scsi/scsi_transport_fc.h 2011-08-26 19:49:56.000000000 -0400 60902+++ linux-3.0.7/include/scsi/scsi_transport_fc.h 2011-08-26 19:49:56.000000000 -0400
58562@@ -711,7 +711,7 @@ struct fc_function_template { 60903@@ -711,7 +711,7 @@ struct fc_function_template {
58563 unsigned long show_host_system_hostname:1; 60904 unsigned long show_host_system_hostname:1;
58564 60905
@@ -58568,9 +60909,9 @@ diff -urNp linux-3.0.4/include/scsi/scsi_transport_fc.h linux-3.0.4/include/scsi
58568 60909
58569 60910
58570 /** 60911 /**
58571diff -urNp linux-3.0.4/include/sound/ak4xxx-adda.h linux-3.0.4/include/sound/ak4xxx-adda.h 60912diff -urNp linux-3.0.7/include/sound/ak4xxx-adda.h linux-3.0.7/include/sound/ak4xxx-adda.h
58572--- linux-3.0.4/include/sound/ak4xxx-adda.h 2011-07-21 22:17:23.000000000 -0400 60913--- linux-3.0.7/include/sound/ak4xxx-adda.h 2011-07-21 22:17:23.000000000 -0400
58573+++ linux-3.0.4/include/sound/ak4xxx-adda.h 2011-08-23 21:47:56.000000000 -0400 60914+++ linux-3.0.7/include/sound/ak4xxx-adda.h 2011-08-23 21:47:56.000000000 -0400
58574@@ -35,7 +35,7 @@ struct snd_ak4xxx_ops { 60915@@ -35,7 +35,7 @@ struct snd_ak4xxx_ops {
58575 void (*write)(struct snd_akm4xxx *ak, int chip, unsigned char reg, 60916 void (*write)(struct snd_akm4xxx *ak, int chip, unsigned char reg,
58576 unsigned char val); 60917 unsigned char val);
@@ -58580,9 +60921,9 @@ diff -urNp linux-3.0.4/include/sound/ak4xxx-adda.h linux-3.0.4/include/sound/ak4
58580 60921
58581 #define AK4XXX_IMAGE_SIZE (AK4XXX_MAX_CHIPS * 16) /* 64 bytes */ 60922 #define AK4XXX_IMAGE_SIZE (AK4XXX_MAX_CHIPS * 16) /* 64 bytes */
58582 60923
58583diff -urNp linux-3.0.4/include/sound/hwdep.h linux-3.0.4/include/sound/hwdep.h 60924diff -urNp linux-3.0.7/include/sound/hwdep.h linux-3.0.7/include/sound/hwdep.h
58584--- linux-3.0.4/include/sound/hwdep.h 2011-07-21 22:17:23.000000000 -0400 60925--- linux-3.0.7/include/sound/hwdep.h 2011-07-21 22:17:23.000000000 -0400
58585+++ linux-3.0.4/include/sound/hwdep.h 2011-08-23 21:47:56.000000000 -0400 60926+++ linux-3.0.7/include/sound/hwdep.h 2011-08-23 21:47:56.000000000 -0400
58586@@ -49,7 +49,7 @@ struct snd_hwdep_ops { 60927@@ -49,7 +49,7 @@ struct snd_hwdep_ops {
58587 struct snd_hwdep_dsp_status *status); 60928 struct snd_hwdep_dsp_status *status);
58588 int (*dsp_load)(struct snd_hwdep *hw, 60929 int (*dsp_load)(struct snd_hwdep *hw,
@@ -58592,9 +60933,9 @@ diff -urNp linux-3.0.4/include/sound/hwdep.h linux-3.0.4/include/sound/hwdep.h
58592 60933
58593 struct snd_hwdep { 60934 struct snd_hwdep {
58594 struct snd_card *card; 60935 struct snd_card *card;
58595diff -urNp linux-3.0.4/include/sound/info.h linux-3.0.4/include/sound/info.h 60936diff -urNp linux-3.0.7/include/sound/info.h linux-3.0.7/include/sound/info.h
58596--- linux-3.0.4/include/sound/info.h 2011-07-21 22:17:23.000000000 -0400 60937--- linux-3.0.7/include/sound/info.h 2011-07-21 22:17:23.000000000 -0400
58597+++ linux-3.0.4/include/sound/info.h 2011-08-23 21:47:56.000000000 -0400 60938+++ linux-3.0.7/include/sound/info.h 2011-08-23 21:47:56.000000000 -0400
58598@@ -44,7 +44,7 @@ struct snd_info_entry_text { 60939@@ -44,7 +44,7 @@ struct snd_info_entry_text {
58599 struct snd_info_buffer *buffer); 60940 struct snd_info_buffer *buffer);
58600 void (*write)(struct snd_info_entry *entry, 60941 void (*write)(struct snd_info_entry *entry,
@@ -58604,9 +60945,9 @@ diff -urNp linux-3.0.4/include/sound/info.h linux-3.0.4/include/sound/info.h
58604 60945
58605 struct snd_info_entry_ops { 60946 struct snd_info_entry_ops {
58606 int (*open)(struct snd_info_entry *entry, 60947 int (*open)(struct snd_info_entry *entry,
58607diff -urNp linux-3.0.4/include/sound/pcm.h linux-3.0.4/include/sound/pcm.h 60948diff -urNp linux-3.0.7/include/sound/pcm.h linux-3.0.7/include/sound/pcm.h
58608--- linux-3.0.4/include/sound/pcm.h 2011-07-21 22:17:23.000000000 -0400 60949--- linux-3.0.7/include/sound/pcm.h 2011-07-21 22:17:23.000000000 -0400
58609+++ linux-3.0.4/include/sound/pcm.h 2011-08-23 21:47:56.000000000 -0400 60950+++ linux-3.0.7/include/sound/pcm.h 2011-08-23 21:47:56.000000000 -0400
58610@@ -81,6 +81,7 @@ struct snd_pcm_ops { 60951@@ -81,6 +81,7 @@ struct snd_pcm_ops {
58611 int (*mmap)(struct snd_pcm_substream *substream, struct vm_area_struct *vma); 60952 int (*mmap)(struct snd_pcm_substream *substream, struct vm_area_struct *vma);
58612 int (*ack)(struct snd_pcm_substream *substream); 60953 int (*ack)(struct snd_pcm_substream *substream);
@@ -58615,9 +60956,9 @@ diff -urNp linux-3.0.4/include/sound/pcm.h linux-3.0.4/include/sound/pcm.h
58615 60956
58616 /* 60957 /*
58617 * 60958 *
58618diff -urNp linux-3.0.4/include/sound/sb16_csp.h linux-3.0.4/include/sound/sb16_csp.h 60959diff -urNp linux-3.0.7/include/sound/sb16_csp.h linux-3.0.7/include/sound/sb16_csp.h
58619--- linux-3.0.4/include/sound/sb16_csp.h 2011-07-21 22:17:23.000000000 -0400 60960--- linux-3.0.7/include/sound/sb16_csp.h 2011-07-21 22:17:23.000000000 -0400
58620+++ linux-3.0.4/include/sound/sb16_csp.h 2011-08-23 21:47:56.000000000 -0400 60961+++ linux-3.0.7/include/sound/sb16_csp.h 2011-08-23 21:47:56.000000000 -0400
58621@@ -146,7 +146,7 @@ struct snd_sb_csp_ops { 60962@@ -146,7 +146,7 @@ struct snd_sb_csp_ops {
58622 int (*csp_start) (struct snd_sb_csp * p, int sample_width, int channels); 60963 int (*csp_start) (struct snd_sb_csp * p, int sample_width, int channels);
58623 int (*csp_stop) (struct snd_sb_csp * p); 60964 int (*csp_stop) (struct snd_sb_csp * p);
@@ -58627,9 +60968,9 @@ diff -urNp linux-3.0.4/include/sound/sb16_csp.h linux-3.0.4/include/sound/sb16_c
58627 60968
58628 /* 60969 /*
58629 * CSP private data 60970 * CSP private data
58630diff -urNp linux-3.0.4/include/sound/soc.h linux-3.0.4/include/sound/soc.h 60971diff -urNp linux-3.0.7/include/sound/soc.h linux-3.0.7/include/sound/soc.h
58631--- linux-3.0.4/include/sound/soc.h 2011-07-21 22:17:23.000000000 -0400 60972--- linux-3.0.7/include/sound/soc.h 2011-07-21 22:17:23.000000000 -0400
58632+++ linux-3.0.4/include/sound/soc.h 2011-08-26 19:49:56.000000000 -0400 60973+++ linux-3.0.7/include/sound/soc.h 2011-08-26 19:49:56.000000000 -0400
58633@@ -636,7 +636,7 @@ struct snd_soc_platform_driver { 60974@@ -636,7 +636,7 @@ struct snd_soc_platform_driver {
58634 60975
58635 /* platform stream ops */ 60976 /* platform stream ops */
@@ -58639,9 +60980,9 @@ diff -urNp linux-3.0.4/include/sound/soc.h linux-3.0.4/include/sound/soc.h
58639 60980
58640 struct snd_soc_platform { 60981 struct snd_soc_platform {
58641 const char *name; 60982 const char *name;
58642diff -urNp linux-3.0.4/include/sound/ymfpci.h linux-3.0.4/include/sound/ymfpci.h 60983diff -urNp linux-3.0.7/include/sound/ymfpci.h linux-3.0.7/include/sound/ymfpci.h
58643--- linux-3.0.4/include/sound/ymfpci.h 2011-07-21 22:17:23.000000000 -0400 60984--- linux-3.0.7/include/sound/ymfpci.h 2011-07-21 22:17:23.000000000 -0400
58644+++ linux-3.0.4/include/sound/ymfpci.h 2011-08-23 21:47:56.000000000 -0400 60985+++ linux-3.0.7/include/sound/ymfpci.h 2011-08-23 21:47:56.000000000 -0400
58645@@ -358,7 +358,7 @@ struct snd_ymfpci { 60986@@ -358,7 +358,7 @@ struct snd_ymfpci {
58646 spinlock_t reg_lock; 60987 spinlock_t reg_lock;
58647 spinlock_t voice_lock; 60988 spinlock_t voice_lock;
@@ -58651,9 +60992,9 @@ diff -urNp linux-3.0.4/include/sound/ymfpci.h linux-3.0.4/include/sound/ymfpci.h
58651 struct snd_info_entry *proc_entry; 60992 struct snd_info_entry *proc_entry;
58652 const struct firmware *dsp_microcode; 60993 const struct firmware *dsp_microcode;
58653 const struct firmware *controller_microcode; 60994 const struct firmware *controller_microcode;
58654diff -urNp linux-3.0.4/include/target/target_core_base.h linux-3.0.4/include/target/target_core_base.h 60995diff -urNp linux-3.0.7/include/target/target_core_base.h linux-3.0.7/include/target/target_core_base.h
58655--- linux-3.0.4/include/target/target_core_base.h 2011-07-21 22:17:23.000000000 -0400 60996--- linux-3.0.7/include/target/target_core_base.h 2011-07-21 22:17:23.000000000 -0400
58656+++ linux-3.0.4/include/target/target_core_base.h 2011-08-23 21:47:56.000000000 -0400 60997+++ linux-3.0.7/include/target/target_core_base.h 2011-08-23 21:47:56.000000000 -0400
58657@@ -364,7 +364,7 @@ struct t10_reservation_ops { 60998@@ -364,7 +364,7 @@ struct t10_reservation_ops {
58658 int (*t10_seq_non_holder)(struct se_cmd *, unsigned char *, u32); 60999 int (*t10_seq_non_holder)(struct se_cmd *, unsigned char *, u32);
58659 int (*t10_pr_register)(struct se_cmd *); 61000 int (*t10_pr_register)(struct se_cmd *);
@@ -58683,9 +61024,9 @@ diff -urNp linux-3.0.4/include/target/target_core_base.h linux-3.0.4/include/tar
58683 atomic_t dev_tur_active; 61024 atomic_t dev_tur_active;
58684 atomic_t execute_tasks; 61025 atomic_t execute_tasks;
58685 atomic_t dev_status_thr_count; 61026 atomic_t dev_status_thr_count;
58686diff -urNp linux-3.0.4/include/trace/events/irq.h linux-3.0.4/include/trace/events/irq.h 61027diff -urNp linux-3.0.7/include/trace/events/irq.h linux-3.0.7/include/trace/events/irq.h
58687--- linux-3.0.4/include/trace/events/irq.h 2011-07-21 22:17:23.000000000 -0400 61028--- linux-3.0.7/include/trace/events/irq.h 2011-07-21 22:17:23.000000000 -0400
58688+++ linux-3.0.4/include/trace/events/irq.h 2011-08-23 21:47:56.000000000 -0400 61029+++ linux-3.0.7/include/trace/events/irq.h 2011-08-23 21:47:56.000000000 -0400
58689@@ -36,7 +36,7 @@ struct softirq_action; 61030@@ -36,7 +36,7 @@ struct softirq_action;
58690 */ 61031 */
58691 TRACE_EVENT(irq_handler_entry, 61032 TRACE_EVENT(irq_handler_entry,
@@ -58704,9 +61045,9 @@ diff -urNp linux-3.0.4/include/trace/events/irq.h linux-3.0.4/include/trace/even
58704 61045
58705 TP_ARGS(irq, action, ret), 61046 TP_ARGS(irq, action, ret),
58706 61047
58707diff -urNp linux-3.0.4/include/video/udlfb.h linux-3.0.4/include/video/udlfb.h 61048diff -urNp linux-3.0.7/include/video/udlfb.h linux-3.0.7/include/video/udlfb.h
58708--- linux-3.0.4/include/video/udlfb.h 2011-07-21 22:17:23.000000000 -0400 61049--- linux-3.0.7/include/video/udlfb.h 2011-07-21 22:17:23.000000000 -0400
58709+++ linux-3.0.4/include/video/udlfb.h 2011-08-23 21:47:56.000000000 -0400 61050+++ linux-3.0.7/include/video/udlfb.h 2011-08-23 21:47:56.000000000 -0400
58710@@ -51,10 +51,10 @@ struct dlfb_data { 61051@@ -51,10 +51,10 @@ struct dlfb_data {
58711 int base8; 61052 int base8;
58712 u32 pseudo_palette[256]; 61053 u32 pseudo_palette[256];
@@ -58722,9 +61063,9 @@ diff -urNp linux-3.0.4/include/video/udlfb.h linux-3.0.4/include/video/udlfb.h
58722 }; 61063 };
58723 61064
58724 #define NR_USB_REQUEST_I2C_SUB_IO 0x02 61065 #define NR_USB_REQUEST_I2C_SUB_IO 0x02
58725diff -urNp linux-3.0.4/include/video/uvesafb.h linux-3.0.4/include/video/uvesafb.h 61066diff -urNp linux-3.0.7/include/video/uvesafb.h linux-3.0.7/include/video/uvesafb.h
58726--- linux-3.0.4/include/video/uvesafb.h 2011-07-21 22:17:23.000000000 -0400 61067--- linux-3.0.7/include/video/uvesafb.h 2011-07-21 22:17:23.000000000 -0400
58727+++ linux-3.0.4/include/video/uvesafb.h 2011-08-23 21:47:56.000000000 -0400 61068+++ linux-3.0.7/include/video/uvesafb.h 2011-08-23 21:47:56.000000000 -0400
58728@@ -177,6 +177,7 @@ struct uvesafb_par { 61069@@ -177,6 +177,7 @@ struct uvesafb_par {
58729 u8 ypan; /* 0 - nothing, 1 - ypan, 2 - ywrap */ 61070 u8 ypan; /* 0 - nothing, 1 - ypan, 2 - ywrap */
58730 u8 pmi_setpal; /* PMI for palette changes */ 61071 u8 pmi_setpal; /* PMI for palette changes */
@@ -58733,18 +61074,23 @@ diff -urNp linux-3.0.4/include/video/uvesafb.h linux-3.0.4/include/video/uvesafb
58733 void *pmi_start; 61074 void *pmi_start;
58734 void *pmi_pal; 61075 void *pmi_pal;
58735 u8 *vbe_state_orig; /* 61076 u8 *vbe_state_orig; /*
58736diff -urNp linux-3.0.4/init/do_mounts.c linux-3.0.4/init/do_mounts.c 61077diff -urNp linux-3.0.7/init/do_mounts.c linux-3.0.7/init/do_mounts.c
58737--- linux-3.0.4/init/do_mounts.c 2011-07-21 22:17:23.000000000 -0400 61078--- linux-3.0.7/init/do_mounts.c 2011-07-21 22:17:23.000000000 -0400
58738+++ linux-3.0.4/init/do_mounts.c 2011-08-23 21:47:56.000000000 -0400 61079+++ linux-3.0.7/init/do_mounts.c 2011-10-06 04:17:55.000000000 -0400
58739@@ -287,7 +287,7 @@ static void __init get_fs_names(char *pa 61080@@ -287,11 +287,11 @@ static void __init get_fs_names(char *pa
58740 61081
58741 static int __init do_mount_root(char *name, char *fs, int flags, void *data) 61082 static int __init do_mount_root(char *name, char *fs, int flags, void *data)
58742 { 61083 {
58743- int err = sys_mount(name, "/root", fs, flags, data); 61084- int err = sys_mount(name, "/root", fs, flags, data);
58744+ int err = sys_mount((__force char __user *)name, (__force char __user *)"/root", (__force char __user *)fs, flags, (__force void __user *)data); 61085+ int err = sys_mount((char __force_user *)name, (char __force_user *)"/root", (char __force_user *)fs, flags, (void __force_user *)data);
58745 if (err) 61086 if (err)
58746 return err; 61087 return err;
58747 61088
61089- sys_chdir((const char __user __force *)"/root");
61090+ sys_chdir((const char __force_user*)"/root");
61091 ROOT_DEV = current->fs->pwd.mnt->mnt_sb->s_dev;
61092 printk(KERN_INFO
61093 "VFS: Mounted root (%s filesystem)%s on device %u:%u.\n",
58748@@ -383,18 +383,18 @@ void __init change_floppy(char *fmt, ... 61094@@ -383,18 +383,18 @@ void __init change_floppy(char *fmt, ...
58749 va_start(args, fmt); 61095 va_start(args, fmt);
58750 vsprintf(buf, fmt, args); 61096 vsprintf(buf, fmt, args);
@@ -58772,20 +61118,21 @@ diff -urNp linux-3.0.4/init/do_mounts.c linux-3.0.4/init/do_mounts.c
58772 out: 61118 out:
58773 devtmpfs_mount("dev"); 61119 devtmpfs_mount("dev");
58774- sys_mount(".", "/", NULL, MS_MOVE, NULL); 61120- sys_mount(".", "/", NULL, MS_MOVE, NULL);
58775+ sys_mount((__force char __user *)".", (__force char __user *)"/", NULL, MS_MOVE, NULL); 61121- sys_chroot((const char __user __force *)".");
58776 sys_chroot((const char __user __force *)"."); 61122+ sys_mount((char __force_user *)".", (char __force_user *)"/", NULL, MS_MOVE, NULL);
61123+ sys_chroot((const char __force_user *)".");
58777 } 61124 }
58778diff -urNp linux-3.0.4/init/do_mounts.h linux-3.0.4/init/do_mounts.h 61125diff -urNp linux-3.0.7/init/do_mounts.h linux-3.0.7/init/do_mounts.h
58779--- linux-3.0.4/init/do_mounts.h 2011-07-21 22:17:23.000000000 -0400 61126--- linux-3.0.7/init/do_mounts.h 2011-07-21 22:17:23.000000000 -0400
58780+++ linux-3.0.4/init/do_mounts.h 2011-08-23 21:47:56.000000000 -0400 61127+++ linux-3.0.7/init/do_mounts.h 2011-10-06 04:17:55.000000000 -0400
58781@@ -15,15 +15,15 @@ extern int root_mountflags; 61128@@ -15,15 +15,15 @@ extern int root_mountflags;
58782 61129
58783 static inline int create_dev(char *name, dev_t dev) 61130 static inline int create_dev(char *name, dev_t dev)
58784 { 61131 {
58785- sys_unlink(name); 61132- sys_unlink(name);
58786- return sys_mknod(name, S_IFBLK|0600, new_encode_dev(dev)); 61133- return sys_mknod(name, S_IFBLK|0600, new_encode_dev(dev));
58787+ sys_unlink((__force char __user *)name); 61134+ sys_unlink((char __force_user *)name);
58788+ return sys_mknod((__force char __user *)name, S_IFBLK|0600, new_encode_dev(dev)); 61135+ return sys_mknod((char __force_user *)name, S_IFBLK|0600, new_encode_dev(dev));
58789 } 61136 }
58790 61137
58791 #if BITS_PER_LONG == 32 61138 #if BITS_PER_LONG == 32
@@ -58793,13 +61140,22 @@ diff -urNp linux-3.0.4/init/do_mounts.h linux-3.0.4/init/do_mounts.h
58793 { 61140 {
58794 struct stat64 stat; 61141 struct stat64 stat;
58795- if (sys_stat64(name, &stat) != 0) 61142- if (sys_stat64(name, &stat) != 0)
58796+ if (sys_stat64((__force char __user *)name, (__force struct stat64 __user *)&stat) != 0) 61143+ if (sys_stat64((char __force_user *)name, (struct stat64 __force_user *)&stat) != 0)
58797 return 0; 61144 return 0;
58798 if (!S_ISBLK(stat.st_mode)) 61145 if (!S_ISBLK(stat.st_mode))
58799 return 0; 61146 return 0;
58800diff -urNp linux-3.0.4/init/do_mounts_initrd.c linux-3.0.4/init/do_mounts_initrd.c 61147@@ -35,7 +35,7 @@ static inline u32 bstat(char *name)
58801--- linux-3.0.4/init/do_mounts_initrd.c 2011-07-21 22:17:23.000000000 -0400 61148 static inline u32 bstat(char *name)
58802+++ linux-3.0.4/init/do_mounts_initrd.c 2011-08-23 21:47:56.000000000 -0400 61149 {
61150 struct stat stat;
61151- if (sys_newstat(name, &stat) != 0)
61152+ if (sys_newstat((const char __force_user *)name, (struct stat __force_user *)&stat) != 0)
61153 return 0;
61154 if (!S_ISBLK(stat.st_mode))
61155 return 0;
61156diff -urNp linux-3.0.7/init/do_mounts_initrd.c linux-3.0.7/init/do_mounts_initrd.c
61157--- linux-3.0.7/init/do_mounts_initrd.c 2011-07-21 22:17:23.000000000 -0400
61158+++ linux-3.0.7/init/do_mounts_initrd.c 2011-10-06 04:17:55.000000000 -0400
58803@@ -44,13 +44,13 @@ static void __init handle_initrd(void) 61159@@ -44,13 +44,13 @@ static void __init handle_initrd(void)
58804 create_dev("/dev/root.old", Root_RAM0); 61160 create_dev("/dev/root.old", Root_RAM0);
58805 /* mount initrd on rootfs' /root */ 61161 /* mount initrd on rootfs' /root */
@@ -58807,16 +61163,16 @@ diff -urNp linux-3.0.4/init/do_mounts_initrd.c linux-3.0.4/init/do_mounts_initrd
58807- sys_mkdir("/old", 0700); 61163- sys_mkdir("/old", 0700);
58808- root_fd = sys_open("/", 0, 0); 61164- root_fd = sys_open("/", 0, 0);
58809- old_fd = sys_open("/old", 0, 0); 61165- old_fd = sys_open("/old", 0, 0);
58810+ sys_mkdir((__force const char __user *)"/old", 0700); 61166+ sys_mkdir((const char __force_user *)"/old", 0700);
58811+ root_fd = sys_open((__force const char __user *)"/", 0, 0); 61167+ root_fd = sys_open((const char __force_user *)"/", 0, 0);
58812+ old_fd = sys_open((__force const char __user *)"/old", 0, 0); 61168+ old_fd = sys_open((const char __force_user *)"/old", 0, 0);
58813 /* move initrd over / and chdir/chroot in initrd root */ 61169 /* move initrd over / and chdir/chroot in initrd root */
58814- sys_chdir("/root"); 61170- sys_chdir("/root");
58815- sys_mount(".", "/", NULL, MS_MOVE, NULL); 61171- sys_mount(".", "/", NULL, MS_MOVE, NULL);
58816- sys_chroot("."); 61172- sys_chroot(".");
58817+ sys_chdir((__force const char __user *)"/root"); 61173+ sys_chdir((const char __force_user *)"/root");
58818+ sys_mount((__force char __user *)".", (__force char __user *)"/", NULL, MS_MOVE, NULL); 61174+ sys_mount((char __force_user *)".", (char __force_user *)"/", NULL, MS_MOVE, NULL);
58819+ sys_chroot((__force const char __user *)"."); 61175+ sys_chroot((const char __force_user *)".");
58820 61176
58821 /* 61177 /*
58822 * In case that a resume from disk is carried out by linuxrc or one of 61178 * In case that a resume from disk is carried out by linuxrc or one of
@@ -58825,17 +61181,17 @@ diff -urNp linux-3.0.4/init/do_mounts_initrd.c linux-3.0.4/init/do_mounts_initrd
58825 /* move initrd to rootfs' /old */ 61181 /* move initrd to rootfs' /old */
58826 sys_fchdir(old_fd); 61182 sys_fchdir(old_fd);
58827- sys_mount("/", ".", NULL, MS_MOVE, NULL); 61183- sys_mount("/", ".", NULL, MS_MOVE, NULL);
58828+ sys_mount((__force char __user *)"/", (__force char __user *)".", NULL, MS_MOVE, NULL); 61184+ sys_mount((char __force_user *)"/", (char __force_user *)".", NULL, MS_MOVE, NULL);
58829 /* switch root and cwd back to / of rootfs */ 61185 /* switch root and cwd back to / of rootfs */
58830 sys_fchdir(root_fd); 61186 sys_fchdir(root_fd);
58831- sys_chroot("."); 61187- sys_chroot(".");
58832+ sys_chroot((__force const char __user *)"."); 61188+ sys_chroot((const char __force_user *)".");
58833 sys_close(old_fd); 61189 sys_close(old_fd);
58834 sys_close(root_fd); 61190 sys_close(root_fd);
58835 61191
58836 if (new_decode_dev(real_root_dev) == Root_RAM0) { 61192 if (new_decode_dev(real_root_dev) == Root_RAM0) {
58837- sys_chdir("/old"); 61193- sys_chdir("/old");
58838+ sys_chdir((__force const char __user *)"/old"); 61194+ sys_chdir((const char __force_user *)"/old");
58839 return; 61195 return;
58840 } 61196 }
58841 61197
@@ -58844,19 +61200,19 @@ diff -urNp linux-3.0.4/init/do_mounts_initrd.c linux-3.0.4/init/do_mounts_initrd
58844 61200
58845 printk(KERN_NOTICE "Trying to move old root to /initrd ... "); 61201 printk(KERN_NOTICE "Trying to move old root to /initrd ... ");
58846- error = sys_mount("/old", "/root/initrd", NULL, MS_MOVE, NULL); 61202- error = sys_mount("/old", "/root/initrd", NULL, MS_MOVE, NULL);
58847+ error = sys_mount((__force char __user *)"/old", (__force char __user *)"/root/initrd", NULL, MS_MOVE, NULL); 61203+ error = sys_mount((char __force_user *)"/old", (char __force_user *)"/root/initrd", NULL, MS_MOVE, NULL);
58848 if (!error) 61204 if (!error)
58849 printk("okay\n"); 61205 printk("okay\n");
58850 else { 61206 else {
58851- int fd = sys_open("/dev/root.old", O_RDWR, 0); 61207- int fd = sys_open("/dev/root.old", O_RDWR, 0);
58852+ int fd = sys_open((__force const char __user *)"/dev/root.old", O_RDWR, 0); 61208+ int fd = sys_open((const char __force_user *)"/dev/root.old", O_RDWR, 0);
58853 if (error == -ENOENT) 61209 if (error == -ENOENT)
58854 printk("/initrd does not exist. Ignored.\n"); 61210 printk("/initrd does not exist. Ignored.\n");
58855 else 61211 else
58856 printk("failed\n"); 61212 printk("failed\n");
58857 printk(KERN_NOTICE "Unmounting old root\n"); 61213 printk(KERN_NOTICE "Unmounting old root\n");
58858- sys_umount("/old", MNT_DETACH); 61214- sys_umount("/old", MNT_DETACH);
58859+ sys_umount((__force char __user *)"/old", MNT_DETACH); 61215+ sys_umount((char __force_user *)"/old", MNT_DETACH);
58860 printk(KERN_NOTICE "Trying to free ramdisk memory ... "); 61216 printk(KERN_NOTICE "Trying to free ramdisk memory ... ");
58861 if (fd < 0) { 61217 if (fd < 0) {
58862 error = fd; 61218 error = fd;
@@ -58865,24 +61221,24 @@ diff -urNp linux-3.0.4/init/do_mounts_initrd.c linux-3.0.4/init/do_mounts_initrd
58865 */ 61221 */
58866 if (rd_load_image("/initrd.image") && ROOT_DEV != Root_RAM0) { 61222 if (rd_load_image("/initrd.image") && ROOT_DEV != Root_RAM0) {
58867- sys_unlink("/initrd.image"); 61223- sys_unlink("/initrd.image");
58868+ sys_unlink((__force const char __user *)"/initrd.image"); 61224+ sys_unlink((const char __force_user *)"/initrd.image");
58869 handle_initrd(); 61225 handle_initrd();
58870 return 1; 61226 return 1;
58871 } 61227 }
58872 } 61228 }
58873- sys_unlink("/initrd.image"); 61229- sys_unlink("/initrd.image");
58874+ sys_unlink((__force const char __user *)"/initrd.image"); 61230+ sys_unlink((const char __force_user *)"/initrd.image");
58875 return 0; 61231 return 0;
58876 } 61232 }
58877diff -urNp linux-3.0.4/init/do_mounts_md.c linux-3.0.4/init/do_mounts_md.c 61233diff -urNp linux-3.0.7/init/do_mounts_md.c linux-3.0.7/init/do_mounts_md.c
58878--- linux-3.0.4/init/do_mounts_md.c 2011-07-21 22:17:23.000000000 -0400 61234--- linux-3.0.7/init/do_mounts_md.c 2011-07-21 22:17:23.000000000 -0400
58879+++ linux-3.0.4/init/do_mounts_md.c 2011-08-23 21:47:56.000000000 -0400 61235+++ linux-3.0.7/init/do_mounts_md.c 2011-10-06 04:17:55.000000000 -0400
58880@@ -170,7 +170,7 @@ static void __init md_setup_drive(void) 61236@@ -170,7 +170,7 @@ static void __init md_setup_drive(void)
58881 partitioned ? "_d" : "", minor, 61237 partitioned ? "_d" : "", minor,
58882 md_setup_args[ent].device_names); 61238 md_setup_args[ent].device_names);
58883 61239
58884- fd = sys_open(name, 0, 0); 61240- fd = sys_open(name, 0, 0);
58885+ fd = sys_open((__force char __user *)name, 0, 0); 61241+ fd = sys_open((char __force_user *)name, 0, 0);
58886 if (fd < 0) { 61242 if (fd < 0) {
58887 printk(KERN_ERR "md: open failed - cannot start " 61243 printk(KERN_ERR "md: open failed - cannot start "
58888 "array %s\n", name); 61244 "array %s\n", name);
@@ -58891,13 +61247,22 @@ diff -urNp linux-3.0.4/init/do_mounts_md.c linux-3.0.4/init/do_mounts_md.c
58891 */ 61247 */
58892 sys_close(fd); 61248 sys_close(fd);
58893- fd = sys_open(name, 0, 0); 61249- fd = sys_open(name, 0, 0);
58894+ fd = sys_open((__force char __user *)name, 0, 0); 61250+ fd = sys_open((char __force_user *)name, 0, 0);
58895 sys_ioctl(fd, BLKRRPART, 0); 61251 sys_ioctl(fd, BLKRRPART, 0);
58896 } 61252 }
58897 sys_close(fd); 61253 sys_close(fd);
58898diff -urNp linux-3.0.4/init/initramfs.c linux-3.0.4/init/initramfs.c 61254@@ -283,7 +283,7 @@ static void __init autodetect_raid(void)
58899--- linux-3.0.4/init/initramfs.c 2011-07-21 22:17:23.000000000 -0400 61255
58900+++ linux-3.0.4/init/initramfs.c 2011-08-23 21:47:56.000000000 -0400 61256 wait_for_device_probe();
61257
61258- fd = sys_open((const char __user __force *) "/dev/md0", 0, 0);
61259+ fd = sys_open((const char __force_user *) "/dev/md0", 0, 0);
61260 if (fd >= 0) {
61261 sys_ioctl(fd, RAID_AUTORUN, raid_autopart);
61262 sys_close(fd);
61263diff -urNp linux-3.0.7/init/initramfs.c linux-3.0.7/init/initramfs.c
61264--- linux-3.0.7/init/initramfs.c 2011-07-21 22:17:23.000000000 -0400
61265+++ linux-3.0.7/init/initramfs.c 2011-10-06 04:17:55.000000000 -0400
58901@@ -74,7 +74,7 @@ static void __init free_hash(void) 61266@@ -74,7 +74,7 @@ static void __init free_hash(void)
58902 } 61267 }
58903 } 61268 }
@@ -58912,7 +61277,7 @@ diff -urNp linux-3.0.4/init/initramfs.c linux-3.0.4/init/initramfs.c
58912 list_for_each_entry_safe(de, tmp, &dir_list, list) { 61277 list_for_each_entry_safe(de, tmp, &dir_list, list) {
58913 list_del(&de->list); 61278 list_del(&de->list);
58914- do_utime(de->name, de->mtime); 61279- do_utime(de->name, de->mtime);
58915+ do_utime((__force char __user *)de->name, de->mtime); 61280+ do_utime((char __force_user *)de->name, de->mtime);
58916 kfree(de->name); 61281 kfree(de->name);
58917 kfree(de); 61282 kfree(de);
58918 } 61283 }
@@ -58921,7 +61286,7 @@ diff -urNp linux-3.0.4/init/initramfs.c linux-3.0.4/init/initramfs.c
58921 char *old = find_link(major, minor, ino, mode, collected); 61286 char *old = find_link(major, minor, ino, mode, collected);
58922 if (old) 61287 if (old)
58923- return (sys_link(old, collected) < 0) ? -1 : 1; 61288- return (sys_link(old, collected) < 0) ? -1 : 1;
58924+ return (sys_link((__force char __user *)old, (__force char __user *)collected) < 0) ? -1 : 1; 61289+ return (sys_link((char __force_user *)old, (char __force_user *)collected) < 0) ? -1 : 1;
58925 } 61290 }
58926 return 0; 61291 return 0;
58927 } 61292 }
@@ -58930,13 +61295,13 @@ diff -urNp linux-3.0.4/init/initramfs.c linux-3.0.4/init/initramfs.c
58930 struct stat st; 61295 struct stat st;
58931 61296
58932- if (!sys_newlstat(path, &st) && (st.st_mode^mode) & S_IFMT) { 61297- if (!sys_newlstat(path, &st) && (st.st_mode^mode) & S_IFMT) {
58933+ if (!sys_newlstat((__force char __user *)path, (__force struct stat __user *)&st) && (st.st_mode^mode) & S_IFMT) { 61298+ if (!sys_newlstat((char __force_user *)path, (struct stat __force_user *)&st) && (st.st_mode^mode) & S_IFMT) {
58934 if (S_ISDIR(st.st_mode)) 61299 if (S_ISDIR(st.st_mode))
58935- sys_rmdir(path); 61300- sys_rmdir(path);
58936+ sys_rmdir((__force char __user *)path); 61301+ sys_rmdir((char __force_user *)path);
58937 else 61302 else
58938- sys_unlink(path); 61303- sys_unlink(path);
58939+ sys_unlink((__force char __user *)path); 61304+ sys_unlink((char __force_user *)path);
58940 } 61305 }
58941 } 61306 }
58942 61307
@@ -58945,7 +61310,7 @@ diff -urNp linux-3.0.4/init/initramfs.c linux-3.0.4/init/initramfs.c
58945 if (ml != 1) 61310 if (ml != 1)
58946 openflags |= O_TRUNC; 61311 openflags |= O_TRUNC;
58947- wfd = sys_open(collected, openflags, mode); 61312- wfd = sys_open(collected, openflags, mode);
58948+ wfd = sys_open((__force char __user *)collected, openflags, mode); 61313+ wfd = sys_open((char __force_user *)collected, openflags, mode);
58949 61314
58950 if (wfd >= 0) { 61315 if (wfd >= 0) {
58951 sys_fchown(wfd, uid, gid); 61316 sys_fchown(wfd, uid, gid);
@@ -58956,9 +61321,9 @@ diff -urNp linux-3.0.4/init/initramfs.c linux-3.0.4/init/initramfs.c
58956- sys_mkdir(collected, mode); 61321- sys_mkdir(collected, mode);
58957- sys_chown(collected, uid, gid); 61322- sys_chown(collected, uid, gid);
58958- sys_chmod(collected, mode); 61323- sys_chmod(collected, mode);
58959+ sys_mkdir((__force char __user *)collected, mode); 61324+ sys_mkdir((char __force_user *)collected, mode);
58960+ sys_chown((__force char __user *)collected, uid, gid); 61325+ sys_chown((char __force_user *)collected, uid, gid);
58961+ sys_chmod((__force char __user *)collected, mode); 61326+ sys_chmod((char __force_user *)collected, mode);
58962 dir_add(collected, mtime); 61327 dir_add(collected, mtime);
58963 } else if (S_ISBLK(mode) || S_ISCHR(mode) || 61328 } else if (S_ISBLK(mode) || S_ISCHR(mode) ||
58964 S_ISFIFO(mode) || S_ISSOCK(mode)) { 61329 S_ISFIFO(mode) || S_ISSOCK(mode)) {
@@ -58967,10 +61332,10 @@ diff -urNp linux-3.0.4/init/initramfs.c linux-3.0.4/init/initramfs.c
58967- sys_chown(collected, uid, gid); 61332- sys_chown(collected, uid, gid);
58968- sys_chmod(collected, mode); 61333- sys_chmod(collected, mode);
58969- do_utime(collected, mtime); 61334- do_utime(collected, mtime);
58970+ sys_mknod((__force char __user *)collected, mode, rdev); 61335+ sys_mknod((char __force_user *)collected, mode, rdev);
58971+ sys_chown((__force char __user *)collected, uid, gid); 61336+ sys_chown((char __force_user *)collected, uid, gid);
58972+ sys_chmod((__force char __user *)collected, mode); 61337+ sys_chmod((char __force_user *)collected, mode);
58973+ do_utime((__force char __user *)collected, mtime); 61338+ do_utime((char __force_user *)collected, mtime);
58974 } 61339 }
58975 } 61340 }
58976 return 0; 61341 return 0;
@@ -58979,17 +61344,17 @@ diff -urNp linux-3.0.4/init/initramfs.c linux-3.0.4/init/initramfs.c
58979 { 61344 {
58980 if (count >= body_len) { 61345 if (count >= body_len) {
58981- sys_write(wfd, victim, body_len); 61346- sys_write(wfd, victim, body_len);
58982+ sys_write(wfd, (__force char __user *)victim, body_len); 61347+ sys_write(wfd, (char __force_user *)victim, body_len);
58983 sys_close(wfd); 61348 sys_close(wfd);
58984- do_utime(vcollected, mtime); 61349- do_utime(vcollected, mtime);
58985+ do_utime((__force char __user *)vcollected, mtime); 61350+ do_utime((char __force_user *)vcollected, mtime);
58986 kfree(vcollected); 61351 kfree(vcollected);
58987 eat(body_len); 61352 eat(body_len);
58988 state = SkipIt; 61353 state = SkipIt;
58989 return 0; 61354 return 0;
58990 } else { 61355 } else {
58991- sys_write(wfd, victim, count); 61356- sys_write(wfd, victim, count);
58992+ sys_write(wfd, (__force char __user *)victim, count); 61357+ sys_write(wfd, (char __force_user *)victim, count);
58993 body_len -= count; 61358 body_len -= count;
58994 eat(count); 61359 eat(count);
58995 return 1; 61360 return 1;
@@ -59000,15 +61365,15 @@ diff -urNp linux-3.0.4/init/initramfs.c linux-3.0.4/init/initramfs.c
59000- sys_symlink(collected + N_ALIGN(name_len), collected); 61365- sys_symlink(collected + N_ALIGN(name_len), collected);
59001- sys_lchown(collected, uid, gid); 61366- sys_lchown(collected, uid, gid);
59002- do_utime(collected, mtime); 61367- do_utime(collected, mtime);
59003+ sys_symlink((__force char __user *)collected + N_ALIGN(name_len), (__force char __user *)collected); 61368+ sys_symlink((char __force_user *)collected + N_ALIGN(name_len), (char __force_user *)collected);
59004+ sys_lchown((__force char __user *)collected, uid, gid); 61369+ sys_lchown((char __force_user *)collected, uid, gid);
59005+ do_utime((__force char __user *)collected, mtime); 61370+ do_utime((char __force_user *)collected, mtime);
59006 state = SkipIt; 61371 state = SkipIt;
59007 next_state = Reset; 61372 next_state = Reset;
59008 return 0; 61373 return 0;
59009diff -urNp linux-3.0.4/init/Kconfig linux-3.0.4/init/Kconfig 61374diff -urNp linux-3.0.7/init/Kconfig linux-3.0.7/init/Kconfig
59010--- linux-3.0.4/init/Kconfig 2011-07-21 22:17:23.000000000 -0400 61375--- linux-3.0.7/init/Kconfig 2011-07-21 22:17:23.000000000 -0400
59011+++ linux-3.0.4/init/Kconfig 2011-08-23 21:47:56.000000000 -0400 61376+++ linux-3.0.7/init/Kconfig 2011-08-23 21:47:56.000000000 -0400
59012@@ -1195,7 +1195,7 @@ config SLUB_DEBUG 61377@@ -1195,7 +1195,7 @@ config SLUB_DEBUG
59013 61378
59014 config COMPAT_BRK 61379 config COMPAT_BRK
@@ -59018,9 +61383,9 @@ diff -urNp linux-3.0.4/init/Kconfig linux-3.0.4/init/Kconfig
59018 help 61383 help
59019 Randomizing heap placement makes heap exploits harder, but it 61384 Randomizing heap placement makes heap exploits harder, but it
59020 also breaks ancient binaries (including anything libc5 based). 61385 also breaks ancient binaries (including anything libc5 based).
59021diff -urNp linux-3.0.4/init/main.c linux-3.0.4/init/main.c 61386diff -urNp linux-3.0.7/init/main.c linux-3.0.7/init/main.c
59022--- linux-3.0.4/init/main.c 2011-07-21 22:17:23.000000000 -0400 61387--- linux-3.0.7/init/main.c 2011-07-21 22:17:23.000000000 -0400
59023+++ linux-3.0.4/init/main.c 2011-08-23 21:48:14.000000000 -0400 61388+++ linux-3.0.7/init/main.c 2011-10-06 04:17:55.000000000 -0400
59024@@ -96,6 +96,8 @@ static inline void mark_rodata_ro(void) 61389@@ -96,6 +96,8 @@ static inline void mark_rodata_ro(void)
59025 extern void tc_init(void); 61390 extern void tc_init(void);
59026 #endif 61391 #endif
@@ -59113,7 +61478,7 @@ diff -urNp linux-3.0.4/init/main.c linux-3.0.4/init/main.c
59113 61478
59114 /* Open the /dev/console on the rootfs, this should never fail */ 61479 /* Open the /dev/console on the rootfs, this should never fail */
59115- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) 61480- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
59116+ if (sys_open((__force const char __user *) "/dev/console", O_RDWR, 0) < 0) 61481+ if (sys_open((const char __force_user *) "/dev/console", O_RDWR, 0) < 0)
59117 printk(KERN_WARNING "Warning: unable to open an initial console.\n"); 61482 printk(KERN_WARNING "Warning: unable to open an initial console.\n");
59118 61483
59119 (void) sys_dup(0); 61484 (void) sys_dup(0);
@@ -59122,7 +61487,7 @@ diff -urNp linux-3.0.4/init/main.c linux-3.0.4/init/main.c
59122 ramdisk_execute_command = "/init"; 61487 ramdisk_execute_command = "/init";
59123 61488
59124- if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) { 61489- if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
59125+ if (sys_access((__force const char __user *) ramdisk_execute_command, 0) != 0) { 61490+ if (sys_access((const char __force_user *) ramdisk_execute_command, 0) != 0) {
59126 ramdisk_execute_command = NULL; 61491 ramdisk_execute_command = NULL;
59127 prepare_namespace(); 61492 prepare_namespace();
59128 } 61493 }
@@ -59132,20 +61497,20 @@ diff -urNp linux-3.0.4/init/main.c linux-3.0.4/init/main.c
59132 /* 61497 /*
59133 * Ok, we have completed the initial bootup, and 61498 * Ok, we have completed the initial bootup, and
59134 * we're essentially up and running. Get rid of the 61499 * we're essentially up and running. Get rid of the
59135diff -urNp linux-3.0.4/ipc/mqueue.c linux-3.0.4/ipc/mqueue.c 61500diff -urNp linux-3.0.7/ipc/mqueue.c linux-3.0.7/ipc/mqueue.c
59136--- linux-3.0.4/ipc/mqueue.c 2011-07-21 22:17:23.000000000 -0400 61501--- linux-3.0.7/ipc/mqueue.c 2011-10-16 21:54:54.000000000 -0400
59137+++ linux-3.0.4/ipc/mqueue.c 2011-08-23 21:48:14.000000000 -0400 61502+++ linux-3.0.7/ipc/mqueue.c 2011-10-16 21:59:31.000000000 -0400
59138@@ -154,6 +154,7 @@ static struct inode *mqueue_get_inode(st 61503@@ -156,6 +156,7 @@ static struct inode *mqueue_get_inode(st
59139 mq_bytes = (mq_msg_tblsz + 61504 mq_bytes = (mq_msg_tblsz +
59140 (info->attr.mq_maxmsg * info->attr.mq_msgsize)); 61505 (info->attr.mq_maxmsg * info->attr.mq_msgsize));
59141 61506
59142+ gr_learn_resource(current, RLIMIT_MSGQUEUE, u->mq_bytes + mq_bytes, 1); 61507+ gr_learn_resource(current, RLIMIT_MSGQUEUE, u->mq_bytes + mq_bytes, 1);
59143 spin_lock(&mq_lock); 61508 spin_lock(&mq_lock);
59144 if (u->mq_bytes + mq_bytes < u->mq_bytes || 61509 if (u->mq_bytes + mq_bytes < u->mq_bytes ||
59145 u->mq_bytes + mq_bytes > 61510 u->mq_bytes + mq_bytes > task_rlimit(p, RLIMIT_MSGQUEUE)) {
59146diff -urNp linux-3.0.4/ipc/msg.c linux-3.0.4/ipc/msg.c 61511diff -urNp linux-3.0.7/ipc/msg.c linux-3.0.7/ipc/msg.c
59147--- linux-3.0.4/ipc/msg.c 2011-07-21 22:17:23.000000000 -0400 61512--- linux-3.0.7/ipc/msg.c 2011-07-21 22:17:23.000000000 -0400
59148+++ linux-3.0.4/ipc/msg.c 2011-08-23 21:47:56.000000000 -0400 61513+++ linux-3.0.7/ipc/msg.c 2011-08-23 21:47:56.000000000 -0400
59149@@ -309,18 +309,19 @@ static inline int msg_security(struct ke 61514@@ -309,18 +309,19 @@ static inline int msg_security(struct ke
59150 return security_msg_queue_associate(msq, msgflg); 61515 return security_msg_queue_associate(msq, msgflg);
59151 } 61516 }
@@ -59171,9 +61536,9 @@ diff -urNp linux-3.0.4/ipc/msg.c linux-3.0.4/ipc/msg.c
59171 msg_params.key = key; 61536 msg_params.key = key;
59172 msg_params.flg = msgflg; 61537 msg_params.flg = msgflg;
59173 61538
59174diff -urNp linux-3.0.4/ipc/sem.c linux-3.0.4/ipc/sem.c 61539diff -urNp linux-3.0.7/ipc/sem.c linux-3.0.7/ipc/sem.c
59175--- linux-3.0.4/ipc/sem.c 2011-09-02 18:11:21.000000000 -0400 61540--- linux-3.0.7/ipc/sem.c 2011-09-02 18:11:21.000000000 -0400
59176+++ linux-3.0.4/ipc/sem.c 2011-08-23 21:48:14.000000000 -0400 61541+++ linux-3.0.7/ipc/sem.c 2011-08-23 21:48:14.000000000 -0400
59177@@ -318,10 +318,15 @@ static inline int sem_more_checks(struct 61542@@ -318,10 +318,15 @@ static inline int sem_more_checks(struct
59178 return 0; 61543 return 0;
59179 } 61544 }
@@ -59220,9 +61585,9 @@ diff -urNp linux-3.0.4/ipc/sem.c linux-3.0.4/ipc/sem.c
59220 ns = current->nsproxy->ipc_ns; 61585 ns = current->nsproxy->ipc_ns;
59221 61586
59222 if (nsops < 1 || semid < 0) 61587 if (nsops < 1 || semid < 0)
59223diff -urNp linux-3.0.4/ipc/shm.c linux-3.0.4/ipc/shm.c 61588diff -urNp linux-3.0.7/ipc/shm.c linux-3.0.7/ipc/shm.c
59224--- linux-3.0.4/ipc/shm.c 2011-07-21 22:17:23.000000000 -0400 61589--- linux-3.0.7/ipc/shm.c 2011-07-21 22:17:23.000000000 -0400
59225+++ linux-3.0.4/ipc/shm.c 2011-08-23 21:48:14.000000000 -0400 61590+++ linux-3.0.7/ipc/shm.c 2011-08-23 21:48:14.000000000 -0400
59226@@ -69,6 +69,14 @@ static void shm_destroy (struct ipc_name 61591@@ -69,6 +69,14 @@ static void shm_destroy (struct ipc_name
59227 static int sysvipc_shm_proc_show(struct seq_file *s, void *it); 61592 static int sysvipc_shm_proc_show(struct seq_file *s, void *it);
59228 #endif 61593 #endif
@@ -59309,21 +61674,21 @@ diff -urNp linux-3.0.4/ipc/shm.c linux-3.0.4/ipc/shm.c
59309 size = i_size_read(path.dentry->d_inode); 61674 size = i_size_read(path.dentry->d_inode);
59310 shm_unlock(shp); 61675 shm_unlock(shp);
59311 61676
59312diff -urNp linux-3.0.4/kernel/acct.c linux-3.0.4/kernel/acct.c 61677diff -urNp linux-3.0.7/kernel/acct.c linux-3.0.7/kernel/acct.c
59313--- linux-3.0.4/kernel/acct.c 2011-07-21 22:17:23.000000000 -0400 61678--- linux-3.0.7/kernel/acct.c 2011-07-21 22:17:23.000000000 -0400
59314+++ linux-3.0.4/kernel/acct.c 2011-08-23 21:47:56.000000000 -0400 61679+++ linux-3.0.7/kernel/acct.c 2011-10-06 04:17:55.000000000 -0400
59315@@ -570,7 +570,7 @@ static void do_acct_process(struct bsd_a 61680@@ -570,7 +570,7 @@ static void do_acct_process(struct bsd_a
59316 */ 61681 */
59317 flim = current->signal->rlim[RLIMIT_FSIZE].rlim_cur; 61682 flim = current->signal->rlim[RLIMIT_FSIZE].rlim_cur;
59318 current->signal->rlim[RLIMIT_FSIZE].rlim_cur = RLIM_INFINITY; 61683 current->signal->rlim[RLIMIT_FSIZE].rlim_cur = RLIM_INFINITY;
59319- file->f_op->write(file, (char *)&ac, 61684- file->f_op->write(file, (char *)&ac,
59320+ file->f_op->write(file, (__force char __user *)&ac, 61685+ file->f_op->write(file, (char __force_user *)&ac,
59321 sizeof(acct_t), &file->f_pos); 61686 sizeof(acct_t), &file->f_pos);
59322 current->signal->rlim[RLIMIT_FSIZE].rlim_cur = flim; 61687 current->signal->rlim[RLIMIT_FSIZE].rlim_cur = flim;
59323 set_fs(fs); 61688 set_fs(fs);
59324diff -urNp linux-3.0.4/kernel/audit.c linux-3.0.4/kernel/audit.c 61689diff -urNp linux-3.0.7/kernel/audit.c linux-3.0.7/kernel/audit.c
59325--- linux-3.0.4/kernel/audit.c 2011-07-21 22:17:23.000000000 -0400 61690--- linux-3.0.7/kernel/audit.c 2011-07-21 22:17:23.000000000 -0400
59326+++ linux-3.0.4/kernel/audit.c 2011-08-23 21:47:56.000000000 -0400 61691+++ linux-3.0.7/kernel/audit.c 2011-08-23 21:47:56.000000000 -0400
59327@@ -112,7 +112,7 @@ u32 audit_sig_sid = 0; 61692@@ -112,7 +112,7 @@ u32 audit_sig_sid = 0;
59328 3) suppressed due to audit_rate_limit 61693 3) suppressed due to audit_rate_limit
59329 4) suppressed due to audit_backlog_limit 61694 4) suppressed due to audit_backlog_limit
@@ -59360,9 +61725,9 @@ diff -urNp linux-3.0.4/kernel/audit.c linux-3.0.4/kernel/audit.c
59360 status_set.backlog = skb_queue_len(&audit_skb_queue); 61725 status_set.backlog = skb_queue_len(&audit_skb_queue);
59361 audit_send_reply(NETLINK_CB(skb).pid, seq, AUDIT_GET, 0, 0, 61726 audit_send_reply(NETLINK_CB(skb).pid, seq, AUDIT_GET, 0, 0,
59362 &status_set, sizeof(status_set)); 61727 &status_set, sizeof(status_set));
59363diff -urNp linux-3.0.4/kernel/auditsc.c linux-3.0.4/kernel/auditsc.c 61728diff -urNp linux-3.0.7/kernel/auditsc.c linux-3.0.7/kernel/auditsc.c
59364--- linux-3.0.4/kernel/auditsc.c 2011-07-21 22:17:23.000000000 -0400 61729--- linux-3.0.7/kernel/auditsc.c 2011-07-21 22:17:23.000000000 -0400
59365+++ linux-3.0.4/kernel/auditsc.c 2011-08-23 21:47:56.000000000 -0400 61730+++ linux-3.0.7/kernel/auditsc.c 2011-08-23 21:47:56.000000000 -0400
59366@@ -2118,7 +2118,7 @@ int auditsc_get_stamp(struct audit_conte 61731@@ -2118,7 +2118,7 @@ int auditsc_get_stamp(struct audit_conte
59367 } 61732 }
59368 61733
@@ -59381,9 +61746,9 @@ diff -urNp linux-3.0.4/kernel/auditsc.c linux-3.0.4/kernel/auditsc.c
59381 struct audit_context *context = task->audit_context; 61746 struct audit_context *context = task->audit_context;
59382 61747
59383 if (context && context->in_syscall) { 61748 if (context && context->in_syscall) {
59384diff -urNp linux-3.0.4/kernel/capability.c linux-3.0.4/kernel/capability.c 61749diff -urNp linux-3.0.7/kernel/capability.c linux-3.0.7/kernel/capability.c
59385--- linux-3.0.4/kernel/capability.c 2011-07-21 22:17:23.000000000 -0400 61750--- linux-3.0.7/kernel/capability.c 2011-07-21 22:17:23.000000000 -0400
59386+++ linux-3.0.4/kernel/capability.c 2011-08-23 21:48:14.000000000 -0400 61751+++ linux-3.0.7/kernel/capability.c 2011-08-23 21:48:14.000000000 -0400
59387@@ -202,6 +202,9 @@ SYSCALL_DEFINE2(capget, cap_user_header_ 61752@@ -202,6 +202,9 @@ SYSCALL_DEFINE2(capget, cap_user_header_
59388 * before modification is attempted and the application 61753 * before modification is attempted and the application
59389 * fails. 61754 * fails.
@@ -59444,9 +61809,9 @@ diff -urNp linux-3.0.4/kernel/capability.c linux-3.0.4/kernel/capability.c
59444 /** 61809 /**
59445 * nsown_capable - Check superior capability to one's own user_ns 61810 * nsown_capable - Check superior capability to one's own user_ns
59446 * @cap: The capability in question 61811 * @cap: The capability in question
59447diff -urNp linux-3.0.4/kernel/cgroup.c linux-3.0.4/kernel/cgroup.c 61812diff -urNp linux-3.0.7/kernel/cgroup.c linux-3.0.7/kernel/cgroup.c
59448--- linux-3.0.4/kernel/cgroup.c 2011-07-21 22:17:23.000000000 -0400 61813--- linux-3.0.7/kernel/cgroup.c 2011-07-21 22:17:23.000000000 -0400
59449+++ linux-3.0.4/kernel/cgroup.c 2011-08-23 21:48:14.000000000 -0400 61814+++ linux-3.0.7/kernel/cgroup.c 2011-08-23 21:48:14.000000000 -0400
59450@@ -593,6 +593,8 @@ static struct css_set *find_css_set( 61815@@ -593,6 +593,8 @@ static struct css_set *find_css_set(
59451 struct hlist_head *hhead; 61816 struct hlist_head *hhead;
59452 struct cg_cgroup_link *link; 61817 struct cg_cgroup_link *link;
@@ -59456,9 +61821,9 @@ diff -urNp linux-3.0.4/kernel/cgroup.c linux-3.0.4/kernel/cgroup.c
59456 /* First see if we already have a cgroup group that matches 61821 /* First see if we already have a cgroup group that matches
59457 * the desired set */ 61822 * the desired set */
59458 read_lock(&css_set_lock); 61823 read_lock(&css_set_lock);
59459diff -urNp linux-3.0.4/kernel/compat.c linux-3.0.4/kernel/compat.c 61824diff -urNp linux-3.0.7/kernel/compat.c linux-3.0.7/kernel/compat.c
59460--- linux-3.0.4/kernel/compat.c 2011-07-21 22:17:23.000000000 -0400 61825--- linux-3.0.7/kernel/compat.c 2011-07-21 22:17:23.000000000 -0400
59461+++ linux-3.0.4/kernel/compat.c 2011-08-23 21:48:14.000000000 -0400 61826+++ linux-3.0.7/kernel/compat.c 2011-10-06 04:17:55.000000000 -0400
59462@@ -13,6 +13,7 @@ 61827@@ -13,6 +13,7 @@
59463 61828
59464 #include <linux/linkage.h> 61829 #include <linux/linkage.h>
@@ -59467,9 +61832,166 @@ diff -urNp linux-3.0.4/kernel/compat.c linux-3.0.4/kernel/compat.c
59467 #include <linux/errno.h> 61832 #include <linux/errno.h>
59468 #include <linux/time.h> 61833 #include <linux/time.h>
59469 #include <linux/signal.h> 61834 #include <linux/signal.h>
59470diff -urNp linux-3.0.4/kernel/configs.c linux-3.0.4/kernel/configs.c 61835@@ -166,7 +167,7 @@ static long compat_nanosleep_restart(str
59471--- linux-3.0.4/kernel/configs.c 2011-07-21 22:17:23.000000000 -0400 61836 mm_segment_t oldfs;
59472+++ linux-3.0.4/kernel/configs.c 2011-08-23 21:48:14.000000000 -0400 61837 long ret;
61838
61839- restart->nanosleep.rmtp = (struct timespec __user *) &rmt;
61840+ restart->nanosleep.rmtp = (struct timespec __force_user *) &rmt;
61841 oldfs = get_fs();
61842 set_fs(KERNEL_DS);
61843 ret = hrtimer_nanosleep_restart(restart);
61844@@ -198,7 +199,7 @@ asmlinkage long compat_sys_nanosleep(str
61845 oldfs = get_fs();
61846 set_fs(KERNEL_DS);
61847 ret = hrtimer_nanosleep(&tu,
61848- rmtp ? (struct timespec __user *)&rmt : NULL,
61849+ rmtp ? (struct timespec __force_user *)&rmt : NULL,
61850 HRTIMER_MODE_REL, CLOCK_MONOTONIC);
61851 set_fs(oldfs);
61852
61853@@ -307,7 +308,7 @@ asmlinkage long compat_sys_sigpending(co
61854 mm_segment_t old_fs = get_fs();
61855
61856 set_fs(KERNEL_DS);
61857- ret = sys_sigpending((old_sigset_t __user *) &s);
61858+ ret = sys_sigpending((old_sigset_t __force_user *) &s);
61859 set_fs(old_fs);
61860 if (ret == 0)
61861 ret = put_user(s, set);
61862@@ -330,8 +331,8 @@ asmlinkage long compat_sys_sigprocmask(i
61863 old_fs = get_fs();
61864 set_fs(KERNEL_DS);
61865 ret = sys_sigprocmask(how,
61866- set ? (old_sigset_t __user *) &s : NULL,
61867- oset ? (old_sigset_t __user *) &s : NULL);
61868+ set ? (old_sigset_t __force_user *) &s : NULL,
61869+ oset ? (old_sigset_t __force_user *) &s : NULL);
61870 set_fs(old_fs);
61871 if (ret == 0)
61872 if (oset)
61873@@ -368,7 +369,7 @@ asmlinkage long compat_sys_old_getrlimit
61874 mm_segment_t old_fs = get_fs();
61875
61876 set_fs(KERNEL_DS);
61877- ret = sys_old_getrlimit(resource, &r);
61878+ ret = sys_old_getrlimit(resource, (struct rlimit __force_user *)&r);
61879 set_fs(old_fs);
61880
61881 if (!ret) {
61882@@ -440,7 +441,7 @@ asmlinkage long compat_sys_getrusage(int
61883 mm_segment_t old_fs = get_fs();
61884
61885 set_fs(KERNEL_DS);
61886- ret = sys_getrusage(who, (struct rusage __user *) &r);
61887+ ret = sys_getrusage(who, (struct rusage __force_user *) &r);
61888 set_fs(old_fs);
61889
61890 if (ret)
61891@@ -467,8 +468,8 @@ compat_sys_wait4(compat_pid_t pid, compa
61892 set_fs (KERNEL_DS);
61893 ret = sys_wait4(pid,
61894 (stat_addr ?
61895- (unsigned int __user *) &status : NULL),
61896- options, (struct rusage __user *) &r);
61897+ (unsigned int __force_user *) &status : NULL),
61898+ options, (struct rusage __force_user *) &r);
61899 set_fs (old_fs);
61900
61901 if (ret > 0) {
61902@@ -493,8 +494,8 @@ asmlinkage long compat_sys_waitid(int wh
61903 memset(&info, 0, sizeof(info));
61904
61905 set_fs(KERNEL_DS);
61906- ret = sys_waitid(which, pid, (siginfo_t __user *)&info, options,
61907- uru ? (struct rusage __user *)&ru : NULL);
61908+ ret = sys_waitid(which, pid, (siginfo_t __force_user *)&info, options,
61909+ uru ? (struct rusage __force_user *)&ru : NULL);
61910 set_fs(old_fs);
61911
61912 if ((ret < 0) || (info.si_signo == 0))
61913@@ -624,8 +625,8 @@ long compat_sys_timer_settime(timer_t ti
61914 oldfs = get_fs();
61915 set_fs(KERNEL_DS);
61916 err = sys_timer_settime(timer_id, flags,
61917- (struct itimerspec __user *) &newts,
61918- (struct itimerspec __user *) &oldts);
61919+ (struct itimerspec __force_user *) &newts,
61920+ (struct itimerspec __force_user *) &oldts);
61921 set_fs(oldfs);
61922 if (!err && old && put_compat_itimerspec(old, &oldts))
61923 return -EFAULT;
61924@@ -642,7 +643,7 @@ long compat_sys_timer_gettime(timer_t ti
61925 oldfs = get_fs();
61926 set_fs(KERNEL_DS);
61927 err = sys_timer_gettime(timer_id,
61928- (struct itimerspec __user *) &ts);
61929+ (struct itimerspec __force_user *) &ts);
61930 set_fs(oldfs);
61931 if (!err && put_compat_itimerspec(setting, &ts))
61932 return -EFAULT;
61933@@ -661,7 +662,7 @@ long compat_sys_clock_settime(clockid_t
61934 oldfs = get_fs();
61935 set_fs(KERNEL_DS);
61936 err = sys_clock_settime(which_clock,
61937- (struct timespec __user *) &ts);
61938+ (struct timespec __force_user *) &ts);
61939 set_fs(oldfs);
61940 return err;
61941 }
61942@@ -676,7 +677,7 @@ long compat_sys_clock_gettime(clockid_t
61943 oldfs = get_fs();
61944 set_fs(KERNEL_DS);
61945 err = sys_clock_gettime(which_clock,
61946- (struct timespec __user *) &ts);
61947+ (struct timespec __force_user *) &ts);
61948 set_fs(oldfs);
61949 if (!err && put_compat_timespec(&ts, tp))
61950 return -EFAULT;
61951@@ -696,7 +697,7 @@ long compat_sys_clock_adjtime(clockid_t
61952
61953 oldfs = get_fs();
61954 set_fs(KERNEL_DS);
61955- ret = sys_clock_adjtime(which_clock, (struct timex __user *) &txc);
61956+ ret = sys_clock_adjtime(which_clock, (struct timex __force_user *) &txc);
61957 set_fs(oldfs);
61958
61959 err = compat_put_timex(utp, &txc);
61960@@ -716,7 +717,7 @@ long compat_sys_clock_getres(clockid_t w
61961 oldfs = get_fs();
61962 set_fs(KERNEL_DS);
61963 err = sys_clock_getres(which_clock,
61964- (struct timespec __user *) &ts);
61965+ (struct timespec __force_user *) &ts);
61966 set_fs(oldfs);
61967 if (!err && tp && put_compat_timespec(&ts, tp))
61968 return -EFAULT;
61969@@ -728,9 +729,9 @@ static long compat_clock_nanosleep_resta
61970 long err;
61971 mm_segment_t oldfs;
61972 struct timespec tu;
61973- struct compat_timespec *rmtp = restart->nanosleep.compat_rmtp;
61974+ struct compat_timespec __user *rmtp = restart->nanosleep.compat_rmtp;
61975
61976- restart->nanosleep.rmtp = (struct timespec __user *) &tu;
61977+ restart->nanosleep.rmtp = (struct timespec __force_user *) &tu;
61978 oldfs = get_fs();
61979 set_fs(KERNEL_DS);
61980 err = clock_nanosleep_restart(restart);
61981@@ -762,8 +763,8 @@ long compat_sys_clock_nanosleep(clockid_
61982 oldfs = get_fs();
61983 set_fs(KERNEL_DS);
61984 err = sys_clock_nanosleep(which_clock, flags,
61985- (struct timespec __user *) &in,
61986- (struct timespec __user *) &out);
61987+ (struct timespec __force_user *) &in,
61988+ (struct timespec __force_user *) &out);
61989 set_fs(oldfs);
61990
61991 if ((err == -ERESTART_RESTARTBLOCK) && rmtp &&
61992diff -urNp linux-3.0.7/kernel/configs.c linux-3.0.7/kernel/configs.c
61993--- linux-3.0.7/kernel/configs.c 2011-07-21 22:17:23.000000000 -0400
61994+++ linux-3.0.7/kernel/configs.c 2011-08-23 21:48:14.000000000 -0400
59473@@ -74,8 +74,19 @@ static int __init ikconfig_init(void) 61995@@ -74,8 +74,19 @@ static int __init ikconfig_init(void)
59474 struct proc_dir_entry *entry; 61996 struct proc_dir_entry *entry;
59475 61997
@@ -59490,9 +62012,9 @@ diff -urNp linux-3.0.4/kernel/configs.c linux-3.0.4/kernel/configs.c
59490 if (!entry) 62012 if (!entry)
59491 return -ENOMEM; 62013 return -ENOMEM;
59492 62014
59493diff -urNp linux-3.0.4/kernel/cred.c linux-3.0.4/kernel/cred.c 62015diff -urNp linux-3.0.7/kernel/cred.c linux-3.0.7/kernel/cred.c
59494--- linux-3.0.4/kernel/cred.c 2011-07-21 22:17:23.000000000 -0400 62016--- linux-3.0.7/kernel/cred.c 2011-07-21 22:17:23.000000000 -0400
59495+++ linux-3.0.4/kernel/cred.c 2011-08-25 17:23:03.000000000 -0400 62017+++ linux-3.0.7/kernel/cred.c 2011-08-25 17:23:03.000000000 -0400
59496@@ -158,6 +158,8 @@ static void put_cred_rcu(struct rcu_head 62018@@ -158,6 +158,8 @@ static void put_cred_rcu(struct rcu_head
59497 */ 62019 */
59498 void __put_cred(struct cred *cred) 62020 void __put_cred(struct cred *cred)
@@ -59641,9 +62163,9 @@ diff -urNp linux-3.0.4/kernel/cred.c linux-3.0.4/kernel/cred.c
59641 ret = security_secctx_to_secid(secctx, strlen(secctx), &secid); 62163 ret = security_secctx_to_secid(secctx, strlen(secctx), &secid);
59642 if (ret < 0) 62164 if (ret < 0)
59643 return ret; 62165 return ret;
59644diff -urNp linux-3.0.4/kernel/debug/debug_core.c linux-3.0.4/kernel/debug/debug_core.c 62166diff -urNp linux-3.0.7/kernel/debug/debug_core.c linux-3.0.7/kernel/debug/debug_core.c
59645--- linux-3.0.4/kernel/debug/debug_core.c 2011-07-21 22:17:23.000000000 -0400 62167--- linux-3.0.7/kernel/debug/debug_core.c 2011-07-21 22:17:23.000000000 -0400
59646+++ linux-3.0.4/kernel/debug/debug_core.c 2011-08-23 21:47:56.000000000 -0400 62168+++ linux-3.0.7/kernel/debug/debug_core.c 2011-08-23 21:47:56.000000000 -0400
59647@@ -119,7 +119,7 @@ static DEFINE_RAW_SPINLOCK(dbg_slave_loc 62169@@ -119,7 +119,7 @@ static DEFINE_RAW_SPINLOCK(dbg_slave_loc
59648 */ 62170 */
59649 static atomic_t masters_in_kgdb; 62171 static atomic_t masters_in_kgdb;
@@ -59704,9 +62226,9 @@ diff -urNp linux-3.0.4/kernel/debug/debug_core.c linux-3.0.4/kernel/debug/debug_
59704 tasklet_schedule(&kgdb_tasklet_breakpoint); 62226 tasklet_schedule(&kgdb_tasklet_breakpoint);
59705 } 62227 }
59706 EXPORT_SYMBOL_GPL(kgdb_schedule_breakpoint); 62228 EXPORT_SYMBOL_GPL(kgdb_schedule_breakpoint);
59707diff -urNp linux-3.0.4/kernel/debug/kdb/kdb_main.c linux-3.0.4/kernel/debug/kdb/kdb_main.c 62229diff -urNp linux-3.0.7/kernel/debug/kdb/kdb_main.c linux-3.0.7/kernel/debug/kdb/kdb_main.c
59708--- linux-3.0.4/kernel/debug/kdb/kdb_main.c 2011-07-21 22:17:23.000000000 -0400 62230--- linux-3.0.7/kernel/debug/kdb/kdb_main.c 2011-07-21 22:17:23.000000000 -0400
59709+++ linux-3.0.4/kernel/debug/kdb/kdb_main.c 2011-08-23 21:47:56.000000000 -0400 62231+++ linux-3.0.7/kernel/debug/kdb/kdb_main.c 2011-08-23 21:47:56.000000000 -0400
59710@@ -1980,7 +1980,7 @@ static int kdb_lsmod(int argc, const cha 62232@@ -1980,7 +1980,7 @@ static int kdb_lsmod(int argc, const cha
59711 list_for_each_entry(mod, kdb_modules, list) { 62233 list_for_each_entry(mod, kdb_modules, list) {
59712 62234
@@ -59725,9 +62247,9 @@ diff -urNp linux-3.0.4/kernel/debug/kdb/kdb_main.c linux-3.0.4/kernel/debug/kdb/
59725 62247
59726 #ifdef CONFIG_MODULE_UNLOAD 62248 #ifdef CONFIG_MODULE_UNLOAD
59727 { 62249 {
59728diff -urNp linux-3.0.4/kernel/events/core.c linux-3.0.4/kernel/events/core.c 62250diff -urNp linux-3.0.7/kernel/events/core.c linux-3.0.7/kernel/events/core.c
59729--- linux-3.0.4/kernel/events/core.c 2011-09-02 18:11:21.000000000 -0400 62251--- linux-3.0.7/kernel/events/core.c 2011-09-02 18:11:21.000000000 -0400
59730+++ linux-3.0.4/kernel/events/core.c 2011-09-14 09:08:05.000000000 -0400 62252+++ linux-3.0.7/kernel/events/core.c 2011-09-14 09:08:05.000000000 -0400
59731@@ -170,7 +170,7 @@ int perf_proc_update_handler(struct ctl_ 62253@@ -170,7 +170,7 @@ int perf_proc_update_handler(struct ctl_
59732 return 0; 62254 return 0;
59733 } 62255 }
@@ -59823,9 +62345,9 @@ diff -urNp linux-3.0.4/kernel/events/core.c linux-3.0.4/kernel/events/core.c
59823 &parent_event->child_total_time_running); 62345 &parent_event->child_total_time_running);
59824 62346
59825 /* 62347 /*
59826diff -urNp linux-3.0.4/kernel/exit.c linux-3.0.4/kernel/exit.c 62348diff -urNp linux-3.0.7/kernel/exit.c linux-3.0.7/kernel/exit.c
59827--- linux-3.0.4/kernel/exit.c 2011-07-21 22:17:23.000000000 -0400 62349--- linux-3.0.7/kernel/exit.c 2011-07-21 22:17:23.000000000 -0400
59828+++ linux-3.0.4/kernel/exit.c 2011-08-23 21:48:14.000000000 -0400 62350+++ linux-3.0.7/kernel/exit.c 2011-08-23 21:48:14.000000000 -0400
59829@@ -57,6 +57,10 @@ 62351@@ -57,6 +57,10 @@
59830 #include <asm/pgtable.h> 62352 #include <asm/pgtable.h>
59831 #include <asm/mmu_context.h> 62353 #include <asm/mmu_context.h>
@@ -59939,9 +62461,9 @@ diff -urNp linux-3.0.4/kernel/exit.c linux-3.0.4/kernel/exit.c
59939 exit_mm(tsk); 62461 exit_mm(tsk);
59940 62462
59941 if (group_dead) 62463 if (group_dead)
59942diff -urNp linux-3.0.4/kernel/fork.c linux-3.0.4/kernel/fork.c 62464diff -urNp linux-3.0.7/kernel/fork.c linux-3.0.7/kernel/fork.c
59943--- linux-3.0.4/kernel/fork.c 2011-07-21 22:17:23.000000000 -0400 62465--- linux-3.0.7/kernel/fork.c 2011-07-21 22:17:23.000000000 -0400
59944+++ linux-3.0.4/kernel/fork.c 2011-08-25 17:23:36.000000000 -0400 62466+++ linux-3.0.7/kernel/fork.c 2011-08-25 17:23:36.000000000 -0400
59945@@ -286,7 +286,7 @@ static struct task_struct *dup_task_stru 62467@@ -286,7 +286,7 @@ static struct task_struct *dup_task_stru
59946 *stackend = STACK_END_MAGIC; /* for overflow detection */ 62468 *stackend = STACK_END_MAGIC; /* for overflow detection */
59947 62469
@@ -60239,9 +62761,9 @@ diff -urNp linux-3.0.4/kernel/fork.c linux-3.0.4/kernel/fork.c
60239 new_fs = NULL; 62761 new_fs = NULL;
60240 else 62762 else
60241 new_fs = fs; 62763 new_fs = fs;
60242diff -urNp linux-3.0.4/kernel/futex.c linux-3.0.4/kernel/futex.c 62764diff -urNp linux-3.0.7/kernel/futex.c linux-3.0.7/kernel/futex.c
60243--- linux-3.0.4/kernel/futex.c 2011-09-02 18:11:21.000000000 -0400 62765--- linux-3.0.7/kernel/futex.c 2011-09-02 18:11:21.000000000 -0400
60244+++ linux-3.0.4/kernel/futex.c 2011-08-23 21:48:14.000000000 -0400 62766+++ linux-3.0.7/kernel/futex.c 2011-08-23 21:48:14.000000000 -0400
60245@@ -54,6 +54,7 @@ 62767@@ -54,6 +54,7 @@
60246 #include <linux/mount.h> 62768 #include <linux/mount.h>
60247 #include <linux/pagemap.h> 62769 #include <linux/pagemap.h>
@@ -60329,9 +62851,9 @@ diff -urNp linux-3.0.4/kernel/futex.c linux-3.0.4/kernel/futex.c
60329 62851
60330 for (i = 0; i < ARRAY_SIZE(futex_queues); i++) { 62852 for (i = 0; i < ARRAY_SIZE(futex_queues); i++) {
60331 plist_head_init(&futex_queues[i].chain, &futex_queues[i].lock); 62853 plist_head_init(&futex_queues[i].chain, &futex_queues[i].lock);
60332diff -urNp linux-3.0.4/kernel/futex_compat.c linux-3.0.4/kernel/futex_compat.c 62854diff -urNp linux-3.0.7/kernel/futex_compat.c linux-3.0.7/kernel/futex_compat.c
60333--- linux-3.0.4/kernel/futex_compat.c 2011-07-21 22:17:23.000000000 -0400 62855--- linux-3.0.7/kernel/futex_compat.c 2011-07-21 22:17:23.000000000 -0400
60334+++ linux-3.0.4/kernel/futex_compat.c 2011-08-23 21:48:14.000000000 -0400 62856+++ linux-3.0.7/kernel/futex_compat.c 2011-08-23 21:48:14.000000000 -0400
60335@@ -10,6 +10,7 @@ 62857@@ -10,6 +10,7 @@
60336 #include <linux/compat.h> 62858 #include <linux/compat.h>
60337 #include <linux/nsproxy.h> 62859 #include <linux/nsproxy.h>
@@ -60371,9 +62893,9 @@ diff -urNp linux-3.0.4/kernel/futex_compat.c linux-3.0.4/kernel/futex_compat.c
60371 head = p->compat_robust_list; 62893 head = p->compat_robust_list;
60372 rcu_read_unlock(); 62894 rcu_read_unlock();
60373 } 62895 }
60374diff -urNp linux-3.0.4/kernel/gcov/base.c linux-3.0.4/kernel/gcov/base.c 62896diff -urNp linux-3.0.7/kernel/gcov/base.c linux-3.0.7/kernel/gcov/base.c
60375--- linux-3.0.4/kernel/gcov/base.c 2011-07-21 22:17:23.000000000 -0400 62897--- linux-3.0.7/kernel/gcov/base.c 2011-07-21 22:17:23.000000000 -0400
60376+++ linux-3.0.4/kernel/gcov/base.c 2011-08-23 21:47:56.000000000 -0400 62898+++ linux-3.0.7/kernel/gcov/base.c 2011-08-23 21:47:56.000000000 -0400
60377@@ -102,11 +102,6 @@ void gcov_enable_events(void) 62899@@ -102,11 +102,6 @@ void gcov_enable_events(void)
60378 } 62900 }
60379 62901
@@ -60395,9 +62917,9 @@ diff -urNp linux-3.0.4/kernel/gcov/base.c linux-3.0.4/kernel/gcov/base.c
60395 if (prev) 62917 if (prev)
60396 prev->next = info->next; 62918 prev->next = info->next;
60397 else 62919 else
60398diff -urNp linux-3.0.4/kernel/hrtimer.c linux-3.0.4/kernel/hrtimer.c 62920diff -urNp linux-3.0.7/kernel/hrtimer.c linux-3.0.7/kernel/hrtimer.c
60399--- linux-3.0.4/kernel/hrtimer.c 2011-07-21 22:17:23.000000000 -0400 62921--- linux-3.0.7/kernel/hrtimer.c 2011-07-21 22:17:23.000000000 -0400
60400+++ linux-3.0.4/kernel/hrtimer.c 2011-08-23 21:47:56.000000000 -0400 62922+++ linux-3.0.7/kernel/hrtimer.c 2011-08-23 21:47:56.000000000 -0400
60401@@ -1391,7 +1391,7 @@ void hrtimer_peek_ahead_timers(void) 62923@@ -1391,7 +1391,7 @@ void hrtimer_peek_ahead_timers(void)
60402 local_irq_restore(flags); 62924 local_irq_restore(flags);
60403 } 62925 }
@@ -60407,9 +62929,9 @@ diff -urNp linux-3.0.4/kernel/hrtimer.c linux-3.0.4/kernel/hrtimer.c
60407 { 62929 {
60408 hrtimer_peek_ahead_timers(); 62930 hrtimer_peek_ahead_timers();
60409 } 62931 }
60410diff -urNp linux-3.0.4/kernel/jump_label.c linux-3.0.4/kernel/jump_label.c 62932diff -urNp linux-3.0.7/kernel/jump_label.c linux-3.0.7/kernel/jump_label.c
60411--- linux-3.0.4/kernel/jump_label.c 2011-07-21 22:17:23.000000000 -0400 62933--- linux-3.0.7/kernel/jump_label.c 2011-07-21 22:17:23.000000000 -0400
60412+++ linux-3.0.4/kernel/jump_label.c 2011-08-23 21:47:56.000000000 -0400 62934+++ linux-3.0.7/kernel/jump_label.c 2011-08-23 21:47:56.000000000 -0400
60413@@ -55,7 +55,9 @@ jump_label_sort_entries(struct jump_entr 62935@@ -55,7 +55,9 @@ jump_label_sort_entries(struct jump_entr
60414 62936
60415 size = (((unsigned long)stop - (unsigned long)start) 62937 size = (((unsigned long)stop - (unsigned long)start)
@@ -60433,9 +62955,9 @@ diff -urNp linux-3.0.4/kernel/jump_label.c linux-3.0.4/kernel/jump_label.c
60433 } 62955 }
60434 62956
60435 static int 62957 static int
60436diff -urNp linux-3.0.4/kernel/kallsyms.c linux-3.0.4/kernel/kallsyms.c 62958diff -urNp linux-3.0.7/kernel/kallsyms.c linux-3.0.7/kernel/kallsyms.c
60437--- linux-3.0.4/kernel/kallsyms.c 2011-07-21 22:17:23.000000000 -0400 62959--- linux-3.0.7/kernel/kallsyms.c 2011-07-21 22:17:23.000000000 -0400
60438+++ linux-3.0.4/kernel/kallsyms.c 2011-08-23 21:48:14.000000000 -0400 62960+++ linux-3.0.7/kernel/kallsyms.c 2011-08-23 21:48:14.000000000 -0400
60439@@ -11,6 +11,9 @@ 62961@@ -11,6 +11,9 @@
60440 * Changed the compression method from stem compression to "table lookup" 62962 * Changed the compression method from stem compression to "table lookup"
60441 * compression (see scripts/kallsyms.c for a more complete description) 62963 * compression (see scripts/kallsyms.c for a more complete description)
@@ -60538,9 +63060,22 @@ diff -urNp linux-3.0.4/kernel/kallsyms.c linux-3.0.4/kernel/kallsyms.c
60538 if (!iter) 63060 if (!iter)
60539 return -ENOMEM; 63061 return -ENOMEM;
60540 reset_iter(iter, 0); 63062 reset_iter(iter, 0);
60541diff -urNp linux-3.0.4/kernel/kmod.c linux-3.0.4/kernel/kmod.c 63063diff -urNp linux-3.0.7/kernel/kexec.c linux-3.0.7/kernel/kexec.c
60542--- linux-3.0.4/kernel/kmod.c 2011-07-21 22:17:23.000000000 -0400 63064--- linux-3.0.7/kernel/kexec.c 2011-07-21 22:17:23.000000000 -0400
60543+++ linux-3.0.4/kernel/kmod.c 2011-08-23 21:48:14.000000000 -0400 63065+++ linux-3.0.7/kernel/kexec.c 2011-10-06 04:17:55.000000000 -0400
63066@@ -1033,7 +1033,8 @@ asmlinkage long compat_sys_kexec_load(un
63067 unsigned long flags)
63068 {
63069 struct compat_kexec_segment in;
63070- struct kexec_segment out, __user *ksegments;
63071+ struct kexec_segment out;
63072+ struct kexec_segment __user *ksegments;
63073 unsigned long i, result;
63074
63075 /* Don't allow clients that don't understand the native
63076diff -urNp linux-3.0.7/kernel/kmod.c linux-3.0.7/kernel/kmod.c
63077--- linux-3.0.7/kernel/kmod.c 2011-07-21 22:17:23.000000000 -0400
63078+++ linux-3.0.7/kernel/kmod.c 2011-10-06 04:17:55.000000000 -0400
60544@@ -73,13 +73,12 @@ char modprobe_path[KMOD_PATH_LEN] = "/sb 63079@@ -73,13 +73,12 @@ char modprobe_path[KMOD_PATH_LEN] = "/sb
60545 * If module auto-loading support is disabled then this function 63080 * If module auto-loading support is disabled then this function
60546 * becomes a no-operation. 63081 * becomes a no-operation.
@@ -60637,9 +63172,18 @@ diff -urNp linux-3.0.4/kernel/kmod.c linux-3.0.4/kernel/kmod.c
60637 EXPORT_SYMBOL(__request_module); 63172 EXPORT_SYMBOL(__request_module);
60638 #endif /* CONFIG_MODULES */ 63173 #endif /* CONFIG_MODULES */
60639 63174
60640diff -urNp linux-3.0.4/kernel/kprobes.c linux-3.0.4/kernel/kprobes.c 63175@@ -220,7 +272,7 @@ static int wait_for_helper(void *data)
60641--- linux-3.0.4/kernel/kprobes.c 2011-07-21 22:17:23.000000000 -0400 63176 *
60642+++ linux-3.0.4/kernel/kprobes.c 2011-08-23 21:47:56.000000000 -0400 63177 * Thus the __user pointer cast is valid here.
63178 */
63179- sys_wait4(pid, (int __user *)&ret, 0, NULL);
63180+ sys_wait4(pid, (int __force_user *)&ret, 0, NULL);
63181
63182 /*
63183 * If ret is 0, either ____call_usermodehelper failed and the
63184diff -urNp linux-3.0.7/kernel/kprobes.c linux-3.0.7/kernel/kprobes.c
63185--- linux-3.0.7/kernel/kprobes.c 2011-07-21 22:17:23.000000000 -0400
63186+++ linux-3.0.7/kernel/kprobes.c 2011-08-23 21:47:56.000000000 -0400
60643@@ -185,7 +185,7 @@ static kprobe_opcode_t __kprobes *__get_ 63187@@ -185,7 +185,7 @@ static kprobe_opcode_t __kprobes *__get_
60644 * kernel image and loaded module images reside. This is required 63188 * kernel image and loaded module images reside. This is required
60645 * so x86_64 can correctly handle the %rip-relative fixups. 63189 * so x86_64 can correctly handle the %rip-relative fixups.
@@ -60676,9 +63220,9 @@ diff -urNp linux-3.0.4/kernel/kprobes.c linux-3.0.4/kernel/kprobes.c
60676 63220
60677 head = &kprobe_table[i]; 63221 head = &kprobe_table[i];
60678 preempt_disable(); 63222 preempt_disable();
60679diff -urNp linux-3.0.4/kernel/lockdep.c linux-3.0.4/kernel/lockdep.c 63223diff -urNp linux-3.0.7/kernel/lockdep.c linux-3.0.7/kernel/lockdep.c
60680--- linux-3.0.4/kernel/lockdep.c 2011-07-21 22:17:23.000000000 -0400 63224--- linux-3.0.7/kernel/lockdep.c 2011-07-21 22:17:23.000000000 -0400
60681+++ linux-3.0.4/kernel/lockdep.c 2011-08-23 21:47:56.000000000 -0400 63225+++ linux-3.0.7/kernel/lockdep.c 2011-08-23 21:47:56.000000000 -0400
60682@@ -583,6 +583,10 @@ static int static_obj(void *obj) 63226@@ -583,6 +583,10 @@ static int static_obj(void *obj)
60683 end = (unsigned long) &_end, 63227 end = (unsigned long) &_end,
60684 addr = (unsigned long) obj; 63228 addr = (unsigned long) obj;
@@ -60707,9 +63251,9 @@ diff -urNp linux-3.0.4/kernel/lockdep.c linux-3.0.4/kernel/lockdep.c
60707 if (very_verbose(class)) { 63251 if (very_verbose(class)) {
60708 printk("\nacquire class [%p] %s", class->key, class->name); 63252 printk("\nacquire class [%p] %s", class->key, class->name);
60709 if (class->name_version > 1) 63253 if (class->name_version > 1)
60710diff -urNp linux-3.0.4/kernel/lockdep_proc.c linux-3.0.4/kernel/lockdep_proc.c 63254diff -urNp linux-3.0.7/kernel/lockdep_proc.c linux-3.0.7/kernel/lockdep_proc.c
60711--- linux-3.0.4/kernel/lockdep_proc.c 2011-07-21 22:17:23.000000000 -0400 63255--- linux-3.0.7/kernel/lockdep_proc.c 2011-07-21 22:17:23.000000000 -0400
60712+++ linux-3.0.4/kernel/lockdep_proc.c 2011-08-23 21:47:56.000000000 -0400 63256+++ linux-3.0.7/kernel/lockdep_proc.c 2011-08-23 21:47:56.000000000 -0400
60713@@ -39,7 +39,7 @@ static void l_stop(struct seq_file *m, v 63257@@ -39,7 +39,7 @@ static void l_stop(struct seq_file *m, v
60714 63258
60715 static void print_name(struct seq_file *m, struct lock_class *class) 63259 static void print_name(struct seq_file *m, struct lock_class *class)
@@ -60719,9 +63263,9 @@ diff -urNp linux-3.0.4/kernel/lockdep_proc.c linux-3.0.4/kernel/lockdep_proc.c
60719 const char *name = class->name; 63263 const char *name = class->name;
60720 63264
60721 if (!name) { 63265 if (!name) {
60722diff -urNp linux-3.0.4/kernel/module.c linux-3.0.4/kernel/module.c 63266diff -urNp linux-3.0.7/kernel/module.c linux-3.0.7/kernel/module.c
60723--- linux-3.0.4/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 63267--- linux-3.0.7/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
60724+++ linux-3.0.4/kernel/module.c 2011-08-23 21:48:14.000000000 -0400 63268+++ linux-3.0.7/kernel/module.c 2011-08-23 21:48:14.000000000 -0400
60725@@ -58,6 +58,7 @@ 63269@@ -58,6 +58,7 @@
60726 #include <linux/jump_label.h> 63270 #include <linux/jump_label.h>
60727 #include <linux/pfn.h> 63271 #include <linux/pfn.h>
@@ -61450,9 +63994,9 @@ diff -urNp linux-3.0.4/kernel/module.c linux-3.0.4/kernel/module.c
61450 mod = NULL; 63994 mod = NULL;
61451 } 63995 }
61452 return mod; 63996 return mod;
61453diff -urNp linux-3.0.4/kernel/mutex.c linux-3.0.4/kernel/mutex.c 63997diff -urNp linux-3.0.7/kernel/mutex.c linux-3.0.7/kernel/mutex.c
61454--- linux-3.0.4/kernel/mutex.c 2011-07-21 22:17:23.000000000 -0400 63998--- linux-3.0.7/kernel/mutex.c 2011-07-21 22:17:23.000000000 -0400
61455+++ linux-3.0.4/kernel/mutex.c 2011-08-23 21:47:56.000000000 -0400 63999+++ linux-3.0.7/kernel/mutex.c 2011-08-23 21:47:56.000000000 -0400
61456@@ -198,7 +198,7 @@ __mutex_lock_common(struct mutex *lock, 64000@@ -198,7 +198,7 @@ __mutex_lock_common(struct mutex *lock,
61457 spin_lock_mutex(&lock->wait_lock, flags); 64001 spin_lock_mutex(&lock->wait_lock, flags);
61458 64002
@@ -61481,9 +64025,9 @@ diff -urNp linux-3.0.4/kernel/mutex.c linux-3.0.4/kernel/mutex.c
61481 mutex_set_owner(lock); 64025 mutex_set_owner(lock);
61482 64026
61483 /* set it to 0 if there are no waiters left: */ 64027 /* set it to 0 if there are no waiters left: */
61484diff -urNp linux-3.0.4/kernel/mutex-debug.c linux-3.0.4/kernel/mutex-debug.c 64028diff -urNp linux-3.0.7/kernel/mutex-debug.c linux-3.0.7/kernel/mutex-debug.c
61485--- linux-3.0.4/kernel/mutex-debug.c 2011-07-21 22:17:23.000000000 -0400 64029--- linux-3.0.7/kernel/mutex-debug.c 2011-07-21 22:17:23.000000000 -0400
61486+++ linux-3.0.4/kernel/mutex-debug.c 2011-08-23 21:47:56.000000000 -0400 64030+++ linux-3.0.7/kernel/mutex-debug.c 2011-08-23 21:47:56.000000000 -0400
61487@@ -49,21 +49,21 @@ void debug_mutex_free_waiter(struct mute 64031@@ -49,21 +49,21 @@ void debug_mutex_free_waiter(struct mute
61488 } 64032 }
61489 64033
@@ -61512,9 +64056,9 @@ diff -urNp linux-3.0.4/kernel/mutex-debug.c linux-3.0.4/kernel/mutex-debug.c
61512 64056
61513 list_del_init(&waiter->list); 64057 list_del_init(&waiter->list);
61514 waiter->task = NULL; 64058 waiter->task = NULL;
61515diff -urNp linux-3.0.4/kernel/mutex-debug.h linux-3.0.4/kernel/mutex-debug.h 64059diff -urNp linux-3.0.7/kernel/mutex-debug.h linux-3.0.7/kernel/mutex-debug.h
61516--- linux-3.0.4/kernel/mutex-debug.h 2011-07-21 22:17:23.000000000 -0400 64060--- linux-3.0.7/kernel/mutex-debug.h 2011-07-21 22:17:23.000000000 -0400
61517+++ linux-3.0.4/kernel/mutex-debug.h 2011-08-23 21:47:56.000000000 -0400 64061+++ linux-3.0.7/kernel/mutex-debug.h 2011-08-23 21:47:56.000000000 -0400
61518@@ -20,9 +20,9 @@ extern void debug_mutex_wake_waiter(stru 64062@@ -20,9 +20,9 @@ extern void debug_mutex_wake_waiter(stru
61519 extern void debug_mutex_free_waiter(struct mutex_waiter *waiter); 64063 extern void debug_mutex_free_waiter(struct mutex_waiter *waiter);
61520 extern void debug_mutex_add_waiter(struct mutex *lock, 64064 extern void debug_mutex_add_waiter(struct mutex *lock,
@@ -61527,9 +64071,9 @@ diff -urNp linux-3.0.4/kernel/mutex-debug.h linux-3.0.4/kernel/mutex-debug.h
61527 extern void debug_mutex_unlock(struct mutex *lock); 64071 extern void debug_mutex_unlock(struct mutex *lock);
61528 extern void debug_mutex_init(struct mutex *lock, const char *name, 64072 extern void debug_mutex_init(struct mutex *lock, const char *name,
61529 struct lock_class_key *key); 64073 struct lock_class_key *key);
61530diff -urNp linux-3.0.4/kernel/padata.c linux-3.0.4/kernel/padata.c 64074diff -urNp linux-3.0.7/kernel/padata.c linux-3.0.7/kernel/padata.c
61531--- linux-3.0.4/kernel/padata.c 2011-07-21 22:17:23.000000000 -0400 64075--- linux-3.0.7/kernel/padata.c 2011-07-21 22:17:23.000000000 -0400
61532+++ linux-3.0.4/kernel/padata.c 2011-08-23 21:47:56.000000000 -0400 64076+++ linux-3.0.7/kernel/padata.c 2011-08-23 21:47:56.000000000 -0400
61533@@ -132,10 +132,10 @@ int padata_do_parallel(struct padata_ins 64077@@ -132,10 +132,10 @@ int padata_do_parallel(struct padata_ins
61534 padata->pd = pd; 64078 padata->pd = pd;
61535 padata->cb_cpu = cb_cpu; 64079 padata->cb_cpu = cb_cpu;
@@ -61553,9 +64097,9 @@ diff -urNp linux-3.0.4/kernel/padata.c linux-3.0.4/kernel/padata.c
61553 atomic_set(&pd->reorder_objects, 0); 64097 atomic_set(&pd->reorder_objects, 0);
61554 atomic_set(&pd->refcnt, 0); 64098 atomic_set(&pd->refcnt, 0);
61555 pd->pinst = pinst; 64099 pd->pinst = pinst;
61556diff -urNp linux-3.0.4/kernel/panic.c linux-3.0.4/kernel/panic.c 64100diff -urNp linux-3.0.7/kernel/panic.c linux-3.0.7/kernel/panic.c
61557--- linux-3.0.4/kernel/panic.c 2011-07-21 22:17:23.000000000 -0400 64101--- linux-3.0.7/kernel/panic.c 2011-07-21 22:17:23.000000000 -0400
61558+++ linux-3.0.4/kernel/panic.c 2011-08-23 21:48:14.000000000 -0400 64102+++ linux-3.0.7/kernel/panic.c 2011-08-23 21:48:14.000000000 -0400
61559@@ -369,7 +369,7 @@ static void warn_slowpath_common(const c 64103@@ -369,7 +369,7 @@ static void warn_slowpath_common(const c
61560 const char *board; 64104 const char *board;
61561 64105
@@ -61575,9 +64119,9 @@ diff -urNp linux-3.0.4/kernel/panic.c linux-3.0.4/kernel/panic.c
61575 __builtin_return_address(0)); 64119 __builtin_return_address(0));
61576 } 64120 }
61577 EXPORT_SYMBOL(__stack_chk_fail); 64121 EXPORT_SYMBOL(__stack_chk_fail);
61578diff -urNp linux-3.0.4/kernel/pid.c linux-3.0.4/kernel/pid.c 64122diff -urNp linux-3.0.7/kernel/pid.c linux-3.0.7/kernel/pid.c
61579--- linux-3.0.4/kernel/pid.c 2011-07-21 22:17:23.000000000 -0400 64123--- linux-3.0.7/kernel/pid.c 2011-07-21 22:17:23.000000000 -0400
61580+++ linux-3.0.4/kernel/pid.c 2011-08-23 21:48:14.000000000 -0400 64124+++ linux-3.0.7/kernel/pid.c 2011-08-23 21:48:14.000000000 -0400
61581@@ -33,6 +33,7 @@ 64125@@ -33,6 +33,7 @@
61582 #include <linux/rculist.h> 64126 #include <linux/rculist.h>
61583 #include <linux/bootmem.h> 64127 #include <linux/bootmem.h>
@@ -61625,9 +64169,9 @@ diff -urNp linux-3.0.4/kernel/pid.c linux-3.0.4/kernel/pid.c
61625 struct pid *get_task_pid(struct task_struct *task, enum pid_type type) 64169 struct pid *get_task_pid(struct task_struct *task, enum pid_type type)
61626 { 64170 {
61627 struct pid *pid; 64171 struct pid *pid;
61628diff -urNp linux-3.0.4/kernel/posix-cpu-timers.c linux-3.0.4/kernel/posix-cpu-timers.c 64172diff -urNp linux-3.0.7/kernel/posix-cpu-timers.c linux-3.0.7/kernel/posix-cpu-timers.c
61629--- linux-3.0.4/kernel/posix-cpu-timers.c 2011-07-21 22:17:23.000000000 -0400 64173--- linux-3.0.7/kernel/posix-cpu-timers.c 2011-10-17 23:17:09.000000000 -0400
61630+++ linux-3.0.4/kernel/posix-cpu-timers.c 2011-08-23 21:48:14.000000000 -0400 64174+++ linux-3.0.7/kernel/posix-cpu-timers.c 2011-10-17 23:17:19.000000000 -0400
61631@@ -6,6 +6,7 @@ 64175@@ -6,6 +6,7 @@
61632 #include <linux/posix-timers.h> 64176 #include <linux/posix-timers.h>
61633 #include <linux/errno.h> 64177 #include <linux/errno.h>
@@ -61636,7 +64180,7 @@ diff -urNp linux-3.0.4/kernel/posix-cpu-timers.c linux-3.0.4/kernel/posix-cpu-ti
61636 #include <asm/uaccess.h> 64180 #include <asm/uaccess.h>
61637 #include <linux/kernel_stat.h> 64181 #include <linux/kernel_stat.h>
61638 #include <trace/events/timer.h> 64182 #include <trace/events/timer.h>
61639@@ -1604,14 +1605,14 @@ struct k_clock clock_posix_cpu = { 64183@@ -1605,14 +1606,14 @@ struct k_clock clock_posix_cpu = {
61640 64184
61641 static __init int init_posix_cpu_timers(void) 64185 static __init int init_posix_cpu_timers(void)
61642 { 64186 {
@@ -61653,9 +64197,9 @@ diff -urNp linux-3.0.4/kernel/posix-cpu-timers.c linux-3.0.4/kernel/posix-cpu-ti
61653 .clock_getres = thread_cpu_clock_getres, 64197 .clock_getres = thread_cpu_clock_getres,
61654 .clock_get = thread_cpu_clock_get, 64198 .clock_get = thread_cpu_clock_get,
61655 .timer_create = thread_cpu_timer_create, 64199 .timer_create = thread_cpu_timer_create,
61656diff -urNp linux-3.0.4/kernel/posix-timers.c linux-3.0.4/kernel/posix-timers.c 64200diff -urNp linux-3.0.7/kernel/posix-timers.c linux-3.0.7/kernel/posix-timers.c
61657--- linux-3.0.4/kernel/posix-timers.c 2011-07-21 22:17:23.000000000 -0400 64201--- linux-3.0.7/kernel/posix-timers.c 2011-07-21 22:17:23.000000000 -0400
61658+++ linux-3.0.4/kernel/posix-timers.c 2011-08-23 21:48:14.000000000 -0400 64202+++ linux-3.0.7/kernel/posix-timers.c 2011-08-23 21:48:14.000000000 -0400
61659@@ -43,6 +43,7 @@ 64203@@ -43,6 +43,7 @@
61660 #include <linux/idr.h> 64204 #include <linux/idr.h>
61661 #include <linux/posix-clock.h> 64205 #include <linux/posix-clock.h>
@@ -61759,9 +64303,9 @@ diff -urNp linux-3.0.4/kernel/posix-timers.c linux-3.0.4/kernel/posix-timers.c
61759 return kc->clock_set(which_clock, &new_tp); 64303 return kc->clock_set(which_clock, &new_tp);
61760 } 64304 }
61761 64305
61762diff -urNp linux-3.0.4/kernel/power/poweroff.c linux-3.0.4/kernel/power/poweroff.c 64306diff -urNp linux-3.0.7/kernel/power/poweroff.c linux-3.0.7/kernel/power/poweroff.c
61763--- linux-3.0.4/kernel/power/poweroff.c 2011-07-21 22:17:23.000000000 -0400 64307--- linux-3.0.7/kernel/power/poweroff.c 2011-07-21 22:17:23.000000000 -0400
61764+++ linux-3.0.4/kernel/power/poweroff.c 2011-08-23 21:47:56.000000000 -0400 64308+++ linux-3.0.7/kernel/power/poweroff.c 2011-08-23 21:47:56.000000000 -0400
61765@@ -37,7 +37,7 @@ static struct sysrq_key_op sysrq_powerof 64309@@ -37,7 +37,7 @@ static struct sysrq_key_op sysrq_powerof
61766 .enable_mask = SYSRQ_ENABLE_BOOT, 64310 .enable_mask = SYSRQ_ENABLE_BOOT,
61767 }; 64311 };
@@ -61771,9 +64315,9 @@ diff -urNp linux-3.0.4/kernel/power/poweroff.c linux-3.0.4/kernel/power/poweroff
61771 { 64315 {
61772 register_sysrq_key('o', &sysrq_poweroff_op); 64316 register_sysrq_key('o', &sysrq_poweroff_op);
61773 return 0; 64317 return 0;
61774diff -urNp linux-3.0.4/kernel/power/process.c linux-3.0.4/kernel/power/process.c 64318diff -urNp linux-3.0.7/kernel/power/process.c linux-3.0.7/kernel/power/process.c
61775--- linux-3.0.4/kernel/power/process.c 2011-07-21 22:17:23.000000000 -0400 64319--- linux-3.0.7/kernel/power/process.c 2011-07-21 22:17:23.000000000 -0400
61776+++ linux-3.0.4/kernel/power/process.c 2011-08-23 21:47:56.000000000 -0400 64320+++ linux-3.0.7/kernel/power/process.c 2011-08-23 21:47:56.000000000 -0400
61777@@ -41,6 +41,7 @@ static int try_to_freeze_tasks(bool sig_ 64321@@ -41,6 +41,7 @@ static int try_to_freeze_tasks(bool sig_
61778 u64 elapsed_csecs64; 64322 u64 elapsed_csecs64;
61779 unsigned int elapsed_csecs; 64323 unsigned int elapsed_csecs;
@@ -61816,9 +64360,9 @@ diff -urNp linux-3.0.4/kernel/power/process.c linux-3.0.4/kernel/power/process.c
61816 break; 64360 break;
61817 64361
61818 if (pm_wakeup_pending()) { 64362 if (pm_wakeup_pending()) {
61819diff -urNp linux-3.0.4/kernel/printk.c linux-3.0.4/kernel/printk.c 64363diff -urNp linux-3.0.7/kernel/printk.c linux-3.0.7/kernel/printk.c
61820--- linux-3.0.4/kernel/printk.c 2011-07-21 22:17:23.000000000 -0400 64364--- linux-3.0.7/kernel/printk.c 2011-10-16 21:54:54.000000000 -0400
61821+++ linux-3.0.4/kernel/printk.c 2011-08-23 21:48:14.000000000 -0400 64365+++ linux-3.0.7/kernel/printk.c 2011-10-16 21:55:28.000000000 -0400
61822@@ -313,12 +313,17 @@ static int check_syslog_permissions(int 64366@@ -313,12 +313,17 @@ static int check_syslog_permissions(int
61823 if (from_file && type != SYSLOG_ACTION_OPEN) 64367 if (from_file && type != SYSLOG_ACTION_OPEN)
61824 return 0; 64368 return 0;
@@ -61838,9 +64382,9 @@ diff -urNp linux-3.0.4/kernel/printk.c linux-3.0.4/kernel/printk.c
61838 "but no CAP_SYSLOG (deprecated).\n"); 64382 "but no CAP_SYSLOG (deprecated).\n");
61839 return 0; 64383 return 0;
61840 } 64384 }
61841diff -urNp linux-3.0.4/kernel/profile.c linux-3.0.4/kernel/profile.c 64385diff -urNp linux-3.0.7/kernel/profile.c linux-3.0.7/kernel/profile.c
61842--- linux-3.0.4/kernel/profile.c 2011-07-21 22:17:23.000000000 -0400 64386--- linux-3.0.7/kernel/profile.c 2011-07-21 22:17:23.000000000 -0400
61843+++ linux-3.0.4/kernel/profile.c 2011-08-23 21:47:56.000000000 -0400 64387+++ linux-3.0.7/kernel/profile.c 2011-08-23 21:47:56.000000000 -0400
61844@@ -39,7 +39,7 @@ struct profile_hit { 64388@@ -39,7 +39,7 @@ struct profile_hit {
61845 /* Oprofile timer tick hook */ 64389 /* Oprofile timer tick hook */
61846 static int (*timer_hook)(struct pt_regs *) __read_mostly; 64390 static int (*timer_hook)(struct pt_regs *) __read_mostly;
@@ -61898,9 +64442,9 @@ diff -urNp linux-3.0.4/kernel/profile.c linux-3.0.4/kernel/profile.c
61898 return count; 64442 return count;
61899 } 64443 }
61900 64444
61901diff -urNp linux-3.0.4/kernel/ptrace.c linux-3.0.4/kernel/ptrace.c 64445diff -urNp linux-3.0.7/kernel/ptrace.c linux-3.0.7/kernel/ptrace.c
61902--- linux-3.0.4/kernel/ptrace.c 2011-07-21 22:17:23.000000000 -0400 64446--- linux-3.0.7/kernel/ptrace.c 2011-07-21 22:17:23.000000000 -0400
61903+++ linux-3.0.4/kernel/ptrace.c 2011-08-23 21:48:14.000000000 -0400 64447+++ linux-3.0.7/kernel/ptrace.c 2011-08-23 21:48:14.000000000 -0400
61904@@ -132,7 +132,8 @@ int ptrace_check_attach(struct task_stru 64448@@ -132,7 +132,8 @@ int ptrace_check_attach(struct task_stru
61905 return ret; 64449 return ret;
61906 } 64450 }
@@ -62072,9 +64616,9 @@ diff -urNp linux-3.0.4/kernel/ptrace.c linux-3.0.4/kernel/ptrace.c
62072 goto out_put_task_struct; 64616 goto out_put_task_struct;
62073 } 64617 }
62074 64618
62075diff -urNp linux-3.0.4/kernel/rcutorture.c linux-3.0.4/kernel/rcutorture.c 64619diff -urNp linux-3.0.7/kernel/rcutorture.c linux-3.0.7/kernel/rcutorture.c
62076--- linux-3.0.4/kernel/rcutorture.c 2011-07-21 22:17:23.000000000 -0400 64620--- linux-3.0.7/kernel/rcutorture.c 2011-07-21 22:17:23.000000000 -0400
62077+++ linux-3.0.4/kernel/rcutorture.c 2011-08-23 21:47:56.000000000 -0400 64621+++ linux-3.0.7/kernel/rcutorture.c 2011-08-23 21:47:56.000000000 -0400
62078@@ -138,12 +138,12 @@ static DEFINE_PER_CPU(long [RCU_TORTURE_ 64622@@ -138,12 +138,12 @@ static DEFINE_PER_CPU(long [RCU_TORTURE_
62079 { 0 }; 64623 { 0 };
62080 static DEFINE_PER_CPU(long [RCU_TORTURE_PIPE_LEN + 1], rcu_torture_batch) = 64624 static DEFINE_PER_CPU(long [RCU_TORTURE_PIPE_LEN + 1], rcu_torture_batch) =
@@ -62235,9 +64779,9 @@ diff -urNp linux-3.0.4/kernel/rcutorture.c linux-3.0.4/kernel/rcutorture.c
62235 for_each_possible_cpu(cpu) { 64779 for_each_possible_cpu(cpu) {
62236 for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) { 64780 for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) {
62237 per_cpu(rcu_torture_count, cpu)[i] = 0; 64781 per_cpu(rcu_torture_count, cpu)[i] = 0;
62238diff -urNp linux-3.0.4/kernel/rcutree.c linux-3.0.4/kernel/rcutree.c 64782diff -urNp linux-3.0.7/kernel/rcutree.c linux-3.0.7/kernel/rcutree.c
62239--- linux-3.0.4/kernel/rcutree.c 2011-07-21 22:17:23.000000000 -0400 64783--- linux-3.0.7/kernel/rcutree.c 2011-07-21 22:17:23.000000000 -0400
62240+++ linux-3.0.4/kernel/rcutree.c 2011-09-14 09:08:05.000000000 -0400 64784+++ linux-3.0.7/kernel/rcutree.c 2011-09-14 09:08:05.000000000 -0400
62241@@ -356,9 +356,9 @@ void rcu_enter_nohz(void) 64785@@ -356,9 +356,9 @@ void rcu_enter_nohz(void)
62242 } 64786 }
62243 /* CPUs seeing atomic_inc() must see prior RCU read-side crit sects */ 64787 /* CPUs seeing atomic_inc() must see prior RCU read-side crit sects */
@@ -62320,9 +64864,9 @@ diff -urNp linux-3.0.4/kernel/rcutree.c linux-3.0.4/kernel/rcutree.c
62320 { 64864 {
62321 __rcu_process_callbacks(&rcu_sched_state, 64865 __rcu_process_callbacks(&rcu_sched_state,
62322 &__get_cpu_var(rcu_sched_data)); 64866 &__get_cpu_var(rcu_sched_data));
62323diff -urNp linux-3.0.4/kernel/rcutree.h linux-3.0.4/kernel/rcutree.h 64867diff -urNp linux-3.0.7/kernel/rcutree.h linux-3.0.7/kernel/rcutree.h
62324--- linux-3.0.4/kernel/rcutree.h 2011-07-21 22:17:23.000000000 -0400 64868--- linux-3.0.7/kernel/rcutree.h 2011-07-21 22:17:23.000000000 -0400
62325+++ linux-3.0.4/kernel/rcutree.h 2011-09-14 09:08:05.000000000 -0400 64869+++ linux-3.0.7/kernel/rcutree.h 2011-09-14 09:08:05.000000000 -0400
62326@@ -86,7 +86,7 @@ 64870@@ -86,7 +86,7 @@
62327 struct rcu_dynticks { 64871 struct rcu_dynticks {
62328 int dynticks_nesting; /* Track irq/process nesting level. */ 64872 int dynticks_nesting; /* Track irq/process nesting level. */
@@ -62332,9 +64876,9 @@ diff -urNp linux-3.0.4/kernel/rcutree.h linux-3.0.4/kernel/rcutree.h
62332 }; 64876 };
62333 64877
62334 /* RCU's kthread states for tracing. */ 64878 /* RCU's kthread states for tracing. */
62335diff -urNp linux-3.0.4/kernel/rcutree_plugin.h linux-3.0.4/kernel/rcutree_plugin.h 64879diff -urNp linux-3.0.7/kernel/rcutree_plugin.h linux-3.0.7/kernel/rcutree_plugin.h
62336--- linux-3.0.4/kernel/rcutree_plugin.h 2011-07-21 22:17:23.000000000 -0400 64880--- linux-3.0.7/kernel/rcutree_plugin.h 2011-07-21 22:17:23.000000000 -0400
62337+++ linux-3.0.4/kernel/rcutree_plugin.h 2011-08-23 21:47:56.000000000 -0400 64881+++ linux-3.0.7/kernel/rcutree_plugin.h 2011-08-23 21:47:56.000000000 -0400
62338@@ -822,7 +822,7 @@ void synchronize_rcu_expedited(void) 64882@@ -822,7 +822,7 @@ void synchronize_rcu_expedited(void)
62339 64883
62340 /* Clean up and exit. */ 64884 /* Clean up and exit. */
@@ -62397,9 +64941,9 @@ diff -urNp linux-3.0.4/kernel/rcutree_plugin.h linux-3.0.4/kernel/rcutree_plugin
62397 64941
62398 put_online_cpus(); 64942 put_online_cpus();
62399 } 64943 }
62400diff -urNp linux-3.0.4/kernel/relay.c linux-3.0.4/kernel/relay.c 64944diff -urNp linux-3.0.7/kernel/relay.c linux-3.0.7/kernel/relay.c
62401--- linux-3.0.4/kernel/relay.c 2011-07-21 22:17:23.000000000 -0400 64945--- linux-3.0.7/kernel/relay.c 2011-07-21 22:17:23.000000000 -0400
62402+++ linux-3.0.4/kernel/relay.c 2011-08-23 21:48:14.000000000 -0400 64946+++ linux-3.0.7/kernel/relay.c 2011-08-23 21:48:14.000000000 -0400
62403@@ -1236,6 +1236,8 @@ static ssize_t subbuf_splice_actor(struc 64947@@ -1236,6 +1236,8 @@ static ssize_t subbuf_splice_actor(struc
62404 }; 64948 };
62405 ssize_t ret; 64949 ssize_t ret;
@@ -62409,9 +64953,9 @@ diff -urNp linux-3.0.4/kernel/relay.c linux-3.0.4/kernel/relay.c
62409 if (rbuf->subbufs_produced == rbuf->subbufs_consumed) 64953 if (rbuf->subbufs_produced == rbuf->subbufs_consumed)
62410 return 0; 64954 return 0;
62411 if (splice_grow_spd(pipe, &spd)) 64955 if (splice_grow_spd(pipe, &spd))
62412diff -urNp linux-3.0.4/kernel/resource.c linux-3.0.4/kernel/resource.c 64956diff -urNp linux-3.0.7/kernel/resource.c linux-3.0.7/kernel/resource.c
62413--- linux-3.0.4/kernel/resource.c 2011-07-21 22:17:23.000000000 -0400 64957--- linux-3.0.7/kernel/resource.c 2011-07-21 22:17:23.000000000 -0400
62414+++ linux-3.0.4/kernel/resource.c 2011-08-23 21:48:14.000000000 -0400 64958+++ linux-3.0.7/kernel/resource.c 2011-08-23 21:48:14.000000000 -0400
62415@@ -141,8 +141,18 @@ static const struct file_operations proc 64959@@ -141,8 +141,18 @@ static const struct file_operations proc
62416 64960
62417 static int __init ioresources_init(void) 64961 static int __init ioresources_init(void)
@@ -62431,9 +64975,9 @@ diff -urNp linux-3.0.4/kernel/resource.c linux-3.0.4/kernel/resource.c
62431 return 0; 64975 return 0;
62432 } 64976 }
62433 __initcall(ioresources_init); 64977 __initcall(ioresources_init);
62434diff -urNp linux-3.0.4/kernel/rtmutex-tester.c linux-3.0.4/kernel/rtmutex-tester.c 64978diff -urNp linux-3.0.7/kernel/rtmutex-tester.c linux-3.0.7/kernel/rtmutex-tester.c
62435--- linux-3.0.4/kernel/rtmutex-tester.c 2011-07-21 22:17:23.000000000 -0400 64979--- linux-3.0.7/kernel/rtmutex-tester.c 2011-07-21 22:17:23.000000000 -0400
62436+++ linux-3.0.4/kernel/rtmutex-tester.c 2011-08-23 21:47:56.000000000 -0400 64980+++ linux-3.0.7/kernel/rtmutex-tester.c 2011-08-23 21:47:56.000000000 -0400
62437@@ -20,7 +20,7 @@ 64981@@ -20,7 +20,7 @@
62438 #define MAX_RT_TEST_MUTEXES 8 64982 #define MAX_RT_TEST_MUTEXES 8
62439 64983
@@ -62524,9 +65068,9 @@ diff -urNp linux-3.0.4/kernel/rtmutex-tester.c linux-3.0.4/kernel/rtmutex-tester
62524 return; 65068 return;
62525 65069
62526 default: 65070 default:
62527diff -urNp linux-3.0.4/kernel/sched_autogroup.c linux-3.0.4/kernel/sched_autogroup.c 65071diff -urNp linux-3.0.7/kernel/sched_autogroup.c linux-3.0.7/kernel/sched_autogroup.c
62528--- linux-3.0.4/kernel/sched_autogroup.c 2011-07-21 22:17:23.000000000 -0400 65072--- linux-3.0.7/kernel/sched_autogroup.c 2011-07-21 22:17:23.000000000 -0400
62529+++ linux-3.0.4/kernel/sched_autogroup.c 2011-08-23 21:47:56.000000000 -0400 65073+++ linux-3.0.7/kernel/sched_autogroup.c 2011-08-23 21:47:56.000000000 -0400
62530@@ -7,7 +7,7 @@ 65074@@ -7,7 +7,7 @@
62531 65075
62532 unsigned int __read_mostly sysctl_sched_autogroup_enabled = 1; 65076 unsigned int __read_mostly sysctl_sched_autogroup_enabled = 1;
@@ -62545,10 +65089,10 @@ diff -urNp linux-3.0.4/kernel/sched_autogroup.c linux-3.0.4/kernel/sched_autogro
62545 ag->tg = tg; 65089 ag->tg = tg;
62546 #ifdef CONFIG_RT_GROUP_SCHED 65090 #ifdef CONFIG_RT_GROUP_SCHED
62547 /* 65091 /*
62548diff -urNp linux-3.0.4/kernel/sched.c linux-3.0.4/kernel/sched.c 65092diff -urNp linux-3.0.7/kernel/sched.c linux-3.0.7/kernel/sched.c
62549--- linux-3.0.4/kernel/sched.c 2011-07-21 22:17:23.000000000 -0400 65093--- linux-3.0.7/kernel/sched.c 2011-10-17 23:17:09.000000000 -0400
62550+++ linux-3.0.4/kernel/sched.c 2011-08-23 21:48:14.000000000 -0400 65094+++ linux-3.0.7/kernel/sched.c 2011-10-17 23:17:19.000000000 -0400
62551@@ -4251,6 +4251,8 @@ asmlinkage void __sched schedule(void) 65095@@ -4227,6 +4227,8 @@ static void __sched __schedule(void)
62552 struct rq *rq; 65096 struct rq *rq;
62553 int cpu; 65097 int cpu;
62554 65098
@@ -62557,7 +65101,7 @@ diff -urNp linux-3.0.4/kernel/sched.c linux-3.0.4/kernel/sched.c
62557 need_resched: 65101 need_resched:
62558 preempt_disable(); 65102 preempt_disable();
62559 cpu = smp_processor_id(); 65103 cpu = smp_processor_id();
62560@@ -4934,6 +4936,8 @@ int can_nice(const struct task_struct *p 65104@@ -4920,6 +4922,8 @@ int can_nice(const struct task_struct *p
62561 /* convert nice value [19,-20] to rlimit style value [1,40] */ 65105 /* convert nice value [19,-20] to rlimit style value [1,40] */
62562 int nice_rlim = 20 - nice; 65106 int nice_rlim = 20 - nice;
62563 65107
@@ -62566,7 +65110,7 @@ diff -urNp linux-3.0.4/kernel/sched.c linux-3.0.4/kernel/sched.c
62566 return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) || 65110 return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) ||
62567 capable(CAP_SYS_NICE)); 65111 capable(CAP_SYS_NICE));
62568 } 65112 }
62569@@ -4967,7 +4971,8 @@ SYSCALL_DEFINE1(nice, int, increment) 65113@@ -4953,7 +4957,8 @@ SYSCALL_DEFINE1(nice, int, increment)
62570 if (nice > 19) 65114 if (nice > 19)
62571 nice = 19; 65115 nice = 19;
62572 65116
@@ -62576,7 +65120,7 @@ diff -urNp linux-3.0.4/kernel/sched.c linux-3.0.4/kernel/sched.c
62576 return -EPERM; 65120 return -EPERM;
62577 65121
62578 retval = security_task_setnice(current, nice); 65122 retval = security_task_setnice(current, nice);
62579@@ -5111,6 +5116,7 @@ recheck: 65123@@ -5097,6 +5102,7 @@ recheck:
62580 unsigned long rlim_rtprio = 65124 unsigned long rlim_rtprio =
62581 task_rlimit(p, RLIMIT_RTPRIO); 65125 task_rlimit(p, RLIMIT_RTPRIO);
62582 65126
@@ -62584,9 +65128,9 @@ diff -urNp linux-3.0.4/kernel/sched.c linux-3.0.4/kernel/sched.c
62584 /* can't set/change the rt policy */ 65128 /* can't set/change the rt policy */
62585 if (policy != p->policy && !rlim_rtprio) 65129 if (policy != p->policy && !rlim_rtprio)
62586 return -EPERM; 65130 return -EPERM;
62587diff -urNp linux-3.0.4/kernel/sched_fair.c linux-3.0.4/kernel/sched_fair.c 65131diff -urNp linux-3.0.7/kernel/sched_fair.c linux-3.0.7/kernel/sched_fair.c
62588--- linux-3.0.4/kernel/sched_fair.c 2011-07-21 22:17:23.000000000 -0400 65132--- linux-3.0.7/kernel/sched_fair.c 2011-07-21 22:17:23.000000000 -0400
62589+++ linux-3.0.4/kernel/sched_fair.c 2011-08-23 21:47:56.000000000 -0400 65133+++ linux-3.0.7/kernel/sched_fair.c 2011-08-23 21:47:56.000000000 -0400
62590@@ -4050,7 +4050,7 @@ static void nohz_idle_balance(int this_c 65134@@ -4050,7 +4050,7 @@ static void nohz_idle_balance(int this_c
62591 * run_rebalance_domains is triggered when needed from the scheduler tick. 65135 * run_rebalance_domains is triggered when needed from the scheduler tick.
62592 * Also triggered for nohz idle balancing (with nohz_balancing_kick set). 65136 * Also triggered for nohz idle balancing (with nohz_balancing_kick set).
@@ -62596,9 +65140,9 @@ diff -urNp linux-3.0.4/kernel/sched_fair.c linux-3.0.4/kernel/sched_fair.c
62596 { 65140 {
62597 int this_cpu = smp_processor_id(); 65141 int this_cpu = smp_processor_id();
62598 struct rq *this_rq = cpu_rq(this_cpu); 65142 struct rq *this_rq = cpu_rq(this_cpu);
62599diff -urNp linux-3.0.4/kernel/signal.c linux-3.0.4/kernel/signal.c 65143diff -urNp linux-3.0.7/kernel/signal.c linux-3.0.7/kernel/signal.c
62600--- linux-3.0.4/kernel/signal.c 2011-07-21 22:17:23.000000000 -0400 65144--- linux-3.0.7/kernel/signal.c 2011-07-21 22:17:23.000000000 -0400
62601+++ linux-3.0.4/kernel/signal.c 2011-08-23 21:48:14.000000000 -0400 65145+++ linux-3.0.7/kernel/signal.c 2011-08-23 21:48:14.000000000 -0400
62602@@ -45,12 +45,12 @@ static struct kmem_cache *sigqueue_cache 65146@@ -45,12 +45,12 @@ static struct kmem_cache *sigqueue_cache
62603 65147
62604 int print_fatal_signals __read_mostly; 65148 int print_fatal_signals __read_mostly;
@@ -62731,9 +65275,9 @@ diff -urNp linux-3.0.4/kernel/signal.c linux-3.0.4/kernel/signal.c
62731 if (p && (tgid <= 0 || task_tgid_vnr(p) == tgid)) { 65275 if (p && (tgid <= 0 || task_tgid_vnr(p) == tgid)) {
62732 error = check_kill_permission(sig, info, p); 65276 error = check_kill_permission(sig, info, p);
62733 /* 65277 /*
62734diff -urNp linux-3.0.4/kernel/smp.c linux-3.0.4/kernel/smp.c 65278diff -urNp linux-3.0.7/kernel/smp.c linux-3.0.7/kernel/smp.c
62735--- linux-3.0.4/kernel/smp.c 2011-07-21 22:17:23.000000000 -0400 65279--- linux-3.0.7/kernel/smp.c 2011-07-21 22:17:23.000000000 -0400
62736+++ linux-3.0.4/kernel/smp.c 2011-08-23 21:47:56.000000000 -0400 65280+++ linux-3.0.7/kernel/smp.c 2011-08-23 21:47:56.000000000 -0400
62737@@ -580,22 +580,22 @@ int smp_call_function(smp_call_func_t fu 65281@@ -580,22 +580,22 @@ int smp_call_function(smp_call_func_t fu
62738 } 65282 }
62739 EXPORT_SYMBOL(smp_call_function); 65283 EXPORT_SYMBOL(smp_call_function);
@@ -62761,9 +65305,9 @@ diff -urNp linux-3.0.4/kernel/smp.c linux-3.0.4/kernel/smp.c
62761 { 65305 {
62762 raw_spin_unlock_irq(&call_function.lock); 65306 raw_spin_unlock_irq(&call_function.lock);
62763 } 65307 }
62764diff -urNp linux-3.0.4/kernel/softirq.c linux-3.0.4/kernel/softirq.c 65308diff -urNp linux-3.0.7/kernel/softirq.c linux-3.0.7/kernel/softirq.c
62765--- linux-3.0.4/kernel/softirq.c 2011-07-21 22:17:23.000000000 -0400 65309--- linux-3.0.7/kernel/softirq.c 2011-07-21 22:17:23.000000000 -0400
62766+++ linux-3.0.4/kernel/softirq.c 2011-08-23 21:47:56.000000000 -0400 65310+++ linux-3.0.7/kernel/softirq.c 2011-08-23 21:47:56.000000000 -0400
62767@@ -56,7 +56,7 @@ static struct softirq_action softirq_vec 65311@@ -56,7 +56,7 @@ static struct softirq_action softirq_vec
62768 65312
62769 DEFINE_PER_CPU(struct task_struct *, ksoftirqd); 65313 DEFINE_PER_CPU(struct task_struct *, ksoftirqd);
@@ -62814,9 +65358,9 @@ diff -urNp linux-3.0.4/kernel/softirq.c linux-3.0.4/kernel/softirq.c
62814 { 65358 {
62815 struct tasklet_struct *list; 65359 struct tasklet_struct *list;
62816 65360
62817diff -urNp linux-3.0.4/kernel/sys.c linux-3.0.4/kernel/sys.c 65361diff -urNp linux-3.0.7/kernel/sys.c linux-3.0.7/kernel/sys.c
62818--- linux-3.0.4/kernel/sys.c 2011-09-02 18:11:26.000000000 -0400 65362--- linux-3.0.7/kernel/sys.c 2011-09-02 18:11:26.000000000 -0400
62819+++ linux-3.0.4/kernel/sys.c 2011-08-29 23:26:27.000000000 -0400 65363+++ linux-3.0.7/kernel/sys.c 2011-10-06 04:17:55.000000000 -0400
62820@@ -158,6 +158,12 @@ static int set_one_prio(struct task_stru 65364@@ -158,6 +158,12 @@ static int set_one_prio(struct task_stru
62821 error = -EACCES; 65365 error = -EACCES;
62822 goto out; 65366 goto out;
@@ -62952,6 +65496,31 @@ diff -urNp linux-3.0.4/kernel/sys.c linux-3.0.4/kernel/sys.c
62952 abort_creds(new); 65496 abort_creds(new);
62953 return old_fsgid; 65497 return old_fsgid;
62954 65498
65499@@ -1205,19 +1248,19 @@ SYSCALL_DEFINE1(olduname, struct oldold_
65500 return -EFAULT;
65501
65502 down_read(&uts_sem);
65503- error = __copy_to_user(&name->sysname, &utsname()->sysname,
65504+ error = __copy_to_user(name->sysname, &utsname()->sysname,
65505 __OLD_UTS_LEN);
65506 error |= __put_user(0, name->sysname + __OLD_UTS_LEN);
65507- error |= __copy_to_user(&name->nodename, &utsname()->nodename,
65508+ error |= __copy_to_user(name->nodename, &utsname()->nodename,
65509 __OLD_UTS_LEN);
65510 error |= __put_user(0, name->nodename + __OLD_UTS_LEN);
65511- error |= __copy_to_user(&name->release, &utsname()->release,
65512+ error |= __copy_to_user(name->release, &utsname()->release,
65513 __OLD_UTS_LEN);
65514 error |= __put_user(0, name->release + __OLD_UTS_LEN);
65515- error |= __copy_to_user(&name->version, &utsname()->version,
65516+ error |= __copy_to_user(name->version, &utsname()->version,
65517 __OLD_UTS_LEN);
65518 error |= __put_user(0, name->version + __OLD_UTS_LEN);
65519- error |= __copy_to_user(&name->machine, &utsname()->machine,
65520+ error |= __copy_to_user(name->machine, &utsname()->machine,
65521 __OLD_UTS_LEN);
65522 error |= __put_user(0, name->machine + __OLD_UTS_LEN);
65523 up_read(&uts_sem);
62955@@ -1680,7 +1723,7 @@ SYSCALL_DEFINE5(prctl, int, option, unsi 65524@@ -1680,7 +1723,7 @@ SYSCALL_DEFINE5(prctl, int, option, unsi
62956 error = get_dumpable(me->mm); 65525 error = get_dumpable(me->mm);
62957 break; 65526 break;
@@ -62961,9 +65530,75 @@ diff -urNp linux-3.0.4/kernel/sys.c linux-3.0.4/kernel/sys.c
62961 error = -EINVAL; 65530 error = -EINVAL;
62962 break; 65531 break;
62963 } 65532 }
62964diff -urNp linux-3.0.4/kernel/sysctl.c linux-3.0.4/kernel/sysctl.c 65533diff -urNp linux-3.0.7/kernel/sysctl_binary.c linux-3.0.7/kernel/sysctl_binary.c
62965--- linux-3.0.4/kernel/sysctl.c 2011-07-21 22:17:23.000000000 -0400 65534--- linux-3.0.7/kernel/sysctl_binary.c 2011-07-21 22:17:23.000000000 -0400
62966+++ linux-3.0.4/kernel/sysctl.c 2011-08-23 21:48:14.000000000 -0400 65535+++ linux-3.0.7/kernel/sysctl_binary.c 2011-10-06 04:17:55.000000000 -0400
65536@@ -989,7 +989,7 @@ static ssize_t bin_intvec(struct file *f
65537 int i;
65538
65539 set_fs(KERNEL_DS);
65540- result = vfs_read(file, buffer, BUFSZ - 1, &pos);
65541+ result = vfs_read(file, (char __force_user *)buffer, BUFSZ - 1, &pos);
65542 set_fs(old_fs);
65543 if (result < 0)
65544 goto out_kfree;
65545@@ -1034,7 +1034,7 @@ static ssize_t bin_intvec(struct file *f
65546 }
65547
65548 set_fs(KERNEL_DS);
65549- result = vfs_write(file, buffer, str - buffer, &pos);
65550+ result = vfs_write(file, (const char __force_user *)buffer, str - buffer, &pos);
65551 set_fs(old_fs);
65552 if (result < 0)
65553 goto out_kfree;
65554@@ -1067,7 +1067,7 @@ static ssize_t bin_ulongvec(struct file
65555 int i;
65556
65557 set_fs(KERNEL_DS);
65558- result = vfs_read(file, buffer, BUFSZ - 1, &pos);
65559+ result = vfs_read(file, (char __force_user *)buffer, BUFSZ - 1, &pos);
65560 set_fs(old_fs);
65561 if (result < 0)
65562 goto out_kfree;
65563@@ -1112,7 +1112,7 @@ static ssize_t bin_ulongvec(struct file
65564 }
65565
65566 set_fs(KERNEL_DS);
65567- result = vfs_write(file, buffer, str - buffer, &pos);
65568+ result = vfs_write(file, (const char __force_user *)buffer, str - buffer, &pos);
65569 set_fs(old_fs);
65570 if (result < 0)
65571 goto out_kfree;
65572@@ -1138,7 +1138,7 @@ static ssize_t bin_uuid(struct file *fil
65573 int i;
65574
65575 set_fs(KERNEL_DS);
65576- result = vfs_read(file, buf, sizeof(buf) - 1, &pos);
65577+ result = vfs_read(file, (char __force_user *)buf, sizeof(buf) - 1, &pos);
65578 set_fs(old_fs);
65579 if (result < 0)
65580 goto out;
65581@@ -1185,7 +1185,7 @@ static ssize_t bin_dn_node_address(struc
65582 __le16 dnaddr;
65583
65584 set_fs(KERNEL_DS);
65585- result = vfs_read(file, buf, sizeof(buf) - 1, &pos);
65586+ result = vfs_read(file, (char __force_user *)buf, sizeof(buf) - 1, &pos);
65587 set_fs(old_fs);
65588 if (result < 0)
65589 goto out;
65590@@ -1233,7 +1233,7 @@ static ssize_t bin_dn_node_address(struc
65591 le16_to_cpu(dnaddr) & 0x3ff);
65592
65593 set_fs(KERNEL_DS);
65594- result = vfs_write(file, buf, len, &pos);
65595+ result = vfs_write(file, (const char __force_user *)buf, len, &pos);
65596 set_fs(old_fs);
65597 if (result < 0)
65598 goto out;
65599diff -urNp linux-3.0.7/kernel/sysctl.c linux-3.0.7/kernel/sysctl.c
65600--- linux-3.0.7/kernel/sysctl.c 2011-07-21 22:17:23.000000000 -0400
65601+++ linux-3.0.7/kernel/sysctl.c 2011-08-23 21:48:14.000000000 -0400
62967@@ -85,6 +85,13 @@ 65602@@ -85,6 +85,13 @@
62968 65603
62969 65604
@@ -63153,9 +65788,9 @@ diff -urNp linux-3.0.4/kernel/sysctl.c linux-3.0.4/kernel/sysctl.c
63153 EXPORT_SYMBOL(proc_doulongvec_minmax); 65788 EXPORT_SYMBOL(proc_doulongvec_minmax);
63154 EXPORT_SYMBOL(proc_doulongvec_ms_jiffies_minmax); 65789 EXPORT_SYMBOL(proc_doulongvec_ms_jiffies_minmax);
63155 EXPORT_SYMBOL(register_sysctl_table); 65790 EXPORT_SYMBOL(register_sysctl_table);
63156diff -urNp linux-3.0.4/kernel/sysctl_check.c linux-3.0.4/kernel/sysctl_check.c 65791diff -urNp linux-3.0.7/kernel/sysctl_check.c linux-3.0.7/kernel/sysctl_check.c
63157--- linux-3.0.4/kernel/sysctl_check.c 2011-07-21 22:17:23.000000000 -0400 65792--- linux-3.0.7/kernel/sysctl_check.c 2011-07-21 22:17:23.000000000 -0400
63158+++ linux-3.0.4/kernel/sysctl_check.c 2011-08-23 21:48:14.000000000 -0400 65793+++ linux-3.0.7/kernel/sysctl_check.c 2011-08-23 21:48:14.000000000 -0400
63159@@ -129,6 +129,7 @@ int sysctl_check_table(struct nsproxy *n 65794@@ -129,6 +129,7 @@ int sysctl_check_table(struct nsproxy *n
63160 set_fail(&fail, table, "Directory with extra2"); 65795 set_fail(&fail, table, "Directory with extra2");
63161 } else { 65796 } else {
@@ -63164,9 +65799,9 @@ diff -urNp linux-3.0.4/kernel/sysctl_check.c linux-3.0.4/kernel/sysctl_check.c
63164 (table->proc_handler == proc_dointvec) || 65799 (table->proc_handler == proc_dointvec) ||
63165 (table->proc_handler == proc_dointvec_minmax) || 65800 (table->proc_handler == proc_dointvec_minmax) ||
63166 (table->proc_handler == proc_dointvec_jiffies) || 65801 (table->proc_handler == proc_dointvec_jiffies) ||
63167diff -urNp linux-3.0.4/kernel/taskstats.c linux-3.0.4/kernel/taskstats.c 65802diff -urNp linux-3.0.7/kernel/taskstats.c linux-3.0.7/kernel/taskstats.c
63168--- linux-3.0.4/kernel/taskstats.c 2011-07-21 22:17:23.000000000 -0400 65803--- linux-3.0.7/kernel/taskstats.c 2011-07-21 22:17:23.000000000 -0400
63169+++ linux-3.0.4/kernel/taskstats.c 2011-08-23 21:48:14.000000000 -0400 65804+++ linux-3.0.7/kernel/taskstats.c 2011-08-23 21:48:14.000000000 -0400
63170@@ -27,9 +27,12 @@ 65805@@ -27,9 +27,12 @@
63171 #include <linux/cgroup.h> 65806 #include <linux/cgroup.h>
63172 #include <linux/fs.h> 65807 #include <linux/fs.h>
@@ -63190,10 +65825,10 @@ diff -urNp linux-3.0.4/kernel/taskstats.c linux-3.0.4/kernel/taskstats.c
63190 if (info->attrs[TASKSTATS_CMD_ATTR_REGISTER_CPUMASK]) 65825 if (info->attrs[TASKSTATS_CMD_ATTR_REGISTER_CPUMASK])
63191 return cmd_attr_register_cpumask(info); 65826 return cmd_attr_register_cpumask(info);
63192 else if (info->attrs[TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK]) 65827 else if (info->attrs[TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK])
63193diff -urNp linux-3.0.4/kernel/time/alarmtimer.c linux-3.0.4/kernel/time/alarmtimer.c 65828diff -urNp linux-3.0.7/kernel/time/alarmtimer.c linux-3.0.7/kernel/time/alarmtimer.c
63194--- linux-3.0.4/kernel/time/alarmtimer.c 2011-07-21 22:17:23.000000000 -0400 65829--- linux-3.0.7/kernel/time/alarmtimer.c 2011-10-16 21:54:54.000000000 -0400
63195+++ linux-3.0.4/kernel/time/alarmtimer.c 2011-08-23 21:47:56.000000000 -0400 65830+++ linux-3.0.7/kernel/time/alarmtimer.c 2011-10-16 21:55:28.000000000 -0400
63196@@ -685,7 +685,7 @@ static int __init alarmtimer_init(void) 65831@@ -693,7 +693,7 @@ static int __init alarmtimer_init(void)
63197 { 65832 {
63198 int error = 0; 65833 int error = 0;
63199 int i; 65834 int i;
@@ -63202,9 +65837,9 @@ diff -urNp linux-3.0.4/kernel/time/alarmtimer.c linux-3.0.4/kernel/time/alarmtim
63202 .clock_getres = alarm_clock_getres, 65837 .clock_getres = alarm_clock_getres,
63203 .clock_get = alarm_clock_get, 65838 .clock_get = alarm_clock_get,
63204 .timer_create = alarm_timer_create, 65839 .timer_create = alarm_timer_create,
63205diff -urNp linux-3.0.4/kernel/time/tick-broadcast.c linux-3.0.4/kernel/time/tick-broadcast.c 65840diff -urNp linux-3.0.7/kernel/time/tick-broadcast.c linux-3.0.7/kernel/time/tick-broadcast.c
63206--- linux-3.0.4/kernel/time/tick-broadcast.c 2011-07-21 22:17:23.000000000 -0400 65841--- linux-3.0.7/kernel/time/tick-broadcast.c 2011-07-21 22:17:23.000000000 -0400
63207+++ linux-3.0.4/kernel/time/tick-broadcast.c 2011-08-23 21:47:56.000000000 -0400 65842+++ linux-3.0.7/kernel/time/tick-broadcast.c 2011-08-23 21:47:56.000000000 -0400
63208@@ -115,7 +115,7 @@ int tick_device_uses_broadcast(struct cl 65843@@ -115,7 +115,7 @@ int tick_device_uses_broadcast(struct cl
63209 * then clear the broadcast bit. 65844 * then clear the broadcast bit.
63210 */ 65845 */
@@ -63214,9 +65849,9 @@ diff -urNp linux-3.0.4/kernel/time/tick-broadcast.c linux-3.0.4/kernel/time/tick
63214 65849
63215 cpumask_clear_cpu(cpu, tick_get_broadcast_mask()); 65850 cpumask_clear_cpu(cpu, tick_get_broadcast_mask());
63216 tick_broadcast_clear_oneshot(cpu); 65851 tick_broadcast_clear_oneshot(cpu);
63217diff -urNp linux-3.0.4/kernel/time/timekeeping.c linux-3.0.4/kernel/time/timekeeping.c 65852diff -urNp linux-3.0.7/kernel/time/timekeeping.c linux-3.0.7/kernel/time/timekeeping.c
63218--- linux-3.0.4/kernel/time/timekeeping.c 2011-07-21 22:17:23.000000000 -0400 65853--- linux-3.0.7/kernel/time/timekeeping.c 2011-07-21 22:17:23.000000000 -0400
63219+++ linux-3.0.4/kernel/time/timekeeping.c 2011-08-23 21:48:14.000000000 -0400 65854+++ linux-3.0.7/kernel/time/timekeeping.c 2011-08-23 21:48:14.000000000 -0400
63220@@ -14,6 +14,7 @@ 65855@@ -14,6 +14,7 @@
63221 #include <linux/init.h> 65856 #include <linux/init.h>
63222 #include <linux/mm.h> 65857 #include <linux/mm.h>
@@ -63234,9 +65869,9 @@ diff -urNp linux-3.0.4/kernel/time/timekeeping.c linux-3.0.4/kernel/time/timekee
63234 write_seqlock_irqsave(&xtime_lock, flags); 65869 write_seqlock_irqsave(&xtime_lock, flags);
63235 65870
63236 timekeeping_forward_now(); 65871 timekeeping_forward_now();
63237diff -urNp linux-3.0.4/kernel/time/timer_list.c linux-3.0.4/kernel/time/timer_list.c 65872diff -urNp linux-3.0.7/kernel/time/timer_list.c linux-3.0.7/kernel/time/timer_list.c
63238--- linux-3.0.4/kernel/time/timer_list.c 2011-07-21 22:17:23.000000000 -0400 65873--- linux-3.0.7/kernel/time/timer_list.c 2011-07-21 22:17:23.000000000 -0400
63239+++ linux-3.0.4/kernel/time/timer_list.c 2011-08-23 21:48:14.000000000 -0400 65874+++ linux-3.0.7/kernel/time/timer_list.c 2011-08-23 21:48:14.000000000 -0400
63240@@ -38,12 +38,16 @@ DECLARE_PER_CPU(struct hrtimer_cpu_base, 65875@@ -38,12 +38,16 @@ DECLARE_PER_CPU(struct hrtimer_cpu_base,
63241 65876
63242 static void print_name_offset(struct seq_file *m, void *sym) 65877 static void print_name_offset(struct seq_file *m, void *sym)
@@ -63278,9 +65913,9 @@ diff -urNp linux-3.0.4/kernel/time/timer_list.c linux-3.0.4/kernel/time/timer_li
63278 if (!pe) 65913 if (!pe)
63279 return -ENOMEM; 65914 return -ENOMEM;
63280 return 0; 65915 return 0;
63281diff -urNp linux-3.0.4/kernel/time/timer_stats.c linux-3.0.4/kernel/time/timer_stats.c 65916diff -urNp linux-3.0.7/kernel/time/timer_stats.c linux-3.0.7/kernel/time/timer_stats.c
63282--- linux-3.0.4/kernel/time/timer_stats.c 2011-07-21 22:17:23.000000000 -0400 65917--- linux-3.0.7/kernel/time/timer_stats.c 2011-07-21 22:17:23.000000000 -0400
63283+++ linux-3.0.4/kernel/time/timer_stats.c 2011-08-23 21:48:14.000000000 -0400 65918+++ linux-3.0.7/kernel/time/timer_stats.c 2011-08-23 21:48:14.000000000 -0400
63284@@ -116,7 +116,7 @@ static ktime_t time_start, time_stop; 65919@@ -116,7 +116,7 @@ static ktime_t time_start, time_stop;
63285 static unsigned long nr_entries; 65920 static unsigned long nr_entries;
63286 static struct entry entries[MAX_ENTRIES]; 65921 static struct entry entries[MAX_ENTRIES];
@@ -63349,9 +65984,9 @@ diff -urNp linux-3.0.4/kernel/time/timer_stats.c linux-3.0.4/kernel/time/timer_s
63349 if (!pe) 65984 if (!pe)
63350 return -ENOMEM; 65985 return -ENOMEM;
63351 return 0; 65986 return 0;
63352diff -urNp linux-3.0.4/kernel/time.c linux-3.0.4/kernel/time.c 65987diff -urNp linux-3.0.7/kernel/time.c linux-3.0.7/kernel/time.c
63353--- linux-3.0.4/kernel/time.c 2011-07-21 22:17:23.000000000 -0400 65988--- linux-3.0.7/kernel/time.c 2011-07-21 22:17:23.000000000 -0400
63354+++ linux-3.0.4/kernel/time.c 2011-08-23 21:48:14.000000000 -0400 65989+++ linux-3.0.7/kernel/time.c 2011-08-23 21:48:14.000000000 -0400
63355@@ -163,6 +163,11 @@ int do_sys_settimeofday(const struct tim 65990@@ -163,6 +163,11 @@ int do_sys_settimeofday(const struct tim
63356 return error; 65991 return error;
63357 65992
@@ -63364,9 +65999,9 @@ diff -urNp linux-3.0.4/kernel/time.c linux-3.0.4/kernel/time.c
63364 /* SMP safe, global irq locking makes it work. */ 65999 /* SMP safe, global irq locking makes it work. */
63365 sys_tz = *tz; 66000 sys_tz = *tz;
63366 update_vsyscall_tz(); 66001 update_vsyscall_tz();
63367diff -urNp linux-3.0.4/kernel/timer.c linux-3.0.4/kernel/timer.c 66002diff -urNp linux-3.0.7/kernel/timer.c linux-3.0.7/kernel/timer.c
63368--- linux-3.0.4/kernel/timer.c 2011-07-21 22:17:23.000000000 -0400 66003--- linux-3.0.7/kernel/timer.c 2011-07-21 22:17:23.000000000 -0400
63369+++ linux-3.0.4/kernel/timer.c 2011-08-23 21:47:56.000000000 -0400 66004+++ linux-3.0.7/kernel/timer.c 2011-08-23 21:47:56.000000000 -0400
63370@@ -1304,7 +1304,7 @@ void update_process_times(int user_tick) 66005@@ -1304,7 +1304,7 @@ void update_process_times(int user_tick)
63371 /* 66006 /*
63372 * This function runs timers and the timer-tq in bottom half context. 66007 * This function runs timers and the timer-tq in bottom half context.
@@ -63376,9 +66011,9 @@ diff -urNp linux-3.0.4/kernel/timer.c linux-3.0.4/kernel/timer.c
63376 { 66011 {
63377 struct tvec_base *base = __this_cpu_read(tvec_bases); 66012 struct tvec_base *base = __this_cpu_read(tvec_bases);
63378 66013
63379diff -urNp linux-3.0.4/kernel/trace/blktrace.c linux-3.0.4/kernel/trace/blktrace.c 66014diff -urNp linux-3.0.7/kernel/trace/blktrace.c linux-3.0.7/kernel/trace/blktrace.c
63380--- linux-3.0.4/kernel/trace/blktrace.c 2011-07-21 22:17:23.000000000 -0400 66015--- linux-3.0.7/kernel/trace/blktrace.c 2011-07-21 22:17:23.000000000 -0400
63381+++ linux-3.0.4/kernel/trace/blktrace.c 2011-08-23 21:47:56.000000000 -0400 66016+++ linux-3.0.7/kernel/trace/blktrace.c 2011-08-23 21:47:56.000000000 -0400
63382@@ -321,7 +321,7 @@ static ssize_t blk_dropped_read(struct f 66017@@ -321,7 +321,7 @@ static ssize_t blk_dropped_read(struct f
63383 struct blk_trace *bt = filp->private_data; 66018 struct blk_trace *bt = filp->private_data;
63384 char buf[16]; 66019 char buf[16];
@@ -63406,9 +66041,9 @@ diff -urNp linux-3.0.4/kernel/trace/blktrace.c linux-3.0.4/kernel/trace/blktrace
63406 66041
63407 ret = -EIO; 66042 ret = -EIO;
63408 bt->dropped_file = debugfs_create_file("dropped", 0444, dir, bt, 66043 bt->dropped_file = debugfs_create_file("dropped", 0444, dir, bt,
63409diff -urNp linux-3.0.4/kernel/trace/ftrace.c linux-3.0.4/kernel/trace/ftrace.c 66044diff -urNp linux-3.0.7/kernel/trace/ftrace.c linux-3.0.7/kernel/trace/ftrace.c
63410--- linux-3.0.4/kernel/trace/ftrace.c 2011-07-21 22:17:23.000000000 -0400 66045--- linux-3.0.7/kernel/trace/ftrace.c 2011-10-17 23:17:09.000000000 -0400
63411+++ linux-3.0.4/kernel/trace/ftrace.c 2011-08-23 21:47:56.000000000 -0400 66046+++ linux-3.0.7/kernel/trace/ftrace.c 2011-10-17 23:17:19.000000000 -0400
63412@@ -1566,12 +1566,17 @@ ftrace_code_disable(struct module *mod, 66047@@ -1566,12 +1566,17 @@ ftrace_code_disable(struct module *mod,
63413 if (unlikely(ftrace_disabled)) 66048 if (unlikely(ftrace_disabled))
63414 return 0; 66049 return 0;
@@ -63429,7 +66064,7 @@ diff -urNp linux-3.0.4/kernel/trace/ftrace.c linux-3.0.4/kernel/trace/ftrace.c
63429 } 66064 }
63430 66065
63431 /* 66066 /*
63432@@ -2550,7 +2555,7 @@ static void ftrace_free_entry_rcu(struct 66067@@ -2570,7 +2575,7 @@ static void ftrace_free_entry_rcu(struct
63433 66068
63434 int 66069 int
63435 register_ftrace_function_probe(char *glob, struct ftrace_probe_ops *ops, 66070 register_ftrace_function_probe(char *glob, struct ftrace_probe_ops *ops,
@@ -63438,9 +66073,9 @@ diff -urNp linux-3.0.4/kernel/trace/ftrace.c linux-3.0.4/kernel/trace/ftrace.c
63438 { 66073 {
63439 struct ftrace_func_probe *entry; 66074 struct ftrace_func_probe *entry;
63440 struct ftrace_page *pg; 66075 struct ftrace_page *pg;
63441diff -urNp linux-3.0.4/kernel/trace/trace.c linux-3.0.4/kernel/trace/trace.c 66076diff -urNp linux-3.0.7/kernel/trace/trace.c linux-3.0.7/kernel/trace/trace.c
63442--- linux-3.0.4/kernel/trace/trace.c 2011-07-21 22:17:23.000000000 -0400 66077--- linux-3.0.7/kernel/trace/trace.c 2011-07-21 22:17:23.000000000 -0400
63443+++ linux-3.0.4/kernel/trace/trace.c 2011-08-23 21:48:14.000000000 -0400 66078+++ linux-3.0.7/kernel/trace/trace.c 2011-08-23 21:48:14.000000000 -0400
63444@@ -3339,6 +3339,8 @@ static ssize_t tracing_splice_read_pipe( 66079@@ -3339,6 +3339,8 @@ static ssize_t tracing_splice_read_pipe(
63445 size_t rem; 66080 size_t rem;
63446 unsigned int i; 66081 unsigned int i;
@@ -63483,9 +66118,9 @@ diff -urNp linux-3.0.4/kernel/trace/trace.c linux-3.0.4/kernel/trace/trace.c
63483 static int once; 66118 static int once;
63484 struct dentry *d_tracer; 66119 struct dentry *d_tracer;
63485 66120
63486diff -urNp linux-3.0.4/kernel/trace/trace_events.c linux-3.0.4/kernel/trace/trace_events.c 66121diff -urNp linux-3.0.7/kernel/trace/trace_events.c linux-3.0.7/kernel/trace/trace_events.c
63487--- linux-3.0.4/kernel/trace/trace_events.c 2011-09-02 18:11:21.000000000 -0400 66122--- linux-3.0.7/kernel/trace/trace_events.c 2011-09-02 18:11:21.000000000 -0400
63488+++ linux-3.0.4/kernel/trace/trace_events.c 2011-08-23 21:47:56.000000000 -0400 66123+++ linux-3.0.7/kernel/trace/trace_events.c 2011-08-23 21:47:56.000000000 -0400
63489@@ -1318,10 +1318,6 @@ static LIST_HEAD(ftrace_module_file_list 66124@@ -1318,10 +1318,6 @@ static LIST_HEAD(ftrace_module_file_list
63490 struct ftrace_module_file_ops { 66125 struct ftrace_module_file_ops {
63491 struct list_head list; 66126 struct list_head list;
@@ -63532,9 +66167,48 @@ diff -urNp linux-3.0.4/kernel/trace/trace_events.c linux-3.0.4/kernel/trace/trac
63532 } 66167 }
63533 } 66168 }
63534 66169
63535diff -urNp linux-3.0.4/kernel/trace/trace_mmiotrace.c linux-3.0.4/kernel/trace/trace_mmiotrace.c 66170diff -urNp linux-3.0.7/kernel/trace/trace_kprobe.c linux-3.0.7/kernel/trace/trace_kprobe.c
63536--- linux-3.0.4/kernel/trace/trace_mmiotrace.c 2011-07-21 22:17:23.000000000 -0400 66171--- linux-3.0.7/kernel/trace/trace_kprobe.c 2011-07-21 22:17:23.000000000 -0400
63537+++ linux-3.0.4/kernel/trace/trace_mmiotrace.c 2011-08-23 21:47:56.000000000 -0400 66172+++ linux-3.0.7/kernel/trace/trace_kprobe.c 2011-10-06 04:17:55.000000000 -0400
66173@@ -217,7 +217,7 @@ static __kprobes void FETCH_FUNC_NAME(me
66174 long ret;
66175 int maxlen = get_rloc_len(*(u32 *)dest);
66176 u8 *dst = get_rloc_data(dest);
66177- u8 *src = addr;
66178+ const u8 __user *src = (const u8 __force_user *)addr;
66179 mm_segment_t old_fs = get_fs();
66180 if (!maxlen)
66181 return;
66182@@ -229,7 +229,7 @@ static __kprobes void FETCH_FUNC_NAME(me
66183 pagefault_disable();
66184 do
66185 ret = __copy_from_user_inatomic(dst++, src++, 1);
66186- while (dst[-1] && ret == 0 && src - (u8 *)addr < maxlen);
66187+ while (dst[-1] && ret == 0 && src - (const u8 __force_user *)addr < maxlen);
66188 dst[-1] = '\0';
66189 pagefault_enable();
66190 set_fs(old_fs);
66191@@ -238,7 +238,7 @@ static __kprobes void FETCH_FUNC_NAME(me
66192 ((u8 *)get_rloc_data(dest))[0] = '\0';
66193 *(u32 *)dest = make_data_rloc(0, get_rloc_offs(*(u32 *)dest));
66194 } else
66195- *(u32 *)dest = make_data_rloc(src - (u8 *)addr,
66196+ *(u32 *)dest = make_data_rloc(src - (const u8 __force_user *)addr,
66197 get_rloc_offs(*(u32 *)dest));
66198 }
66199 /* Return the length of string -- including null terminal byte */
66200@@ -252,7 +252,7 @@ static __kprobes void FETCH_FUNC_NAME(me
66201 set_fs(KERNEL_DS);
66202 pagefault_disable();
66203 do {
66204- ret = __copy_from_user_inatomic(&c, (u8 *)addr + len, 1);
66205+ ret = __copy_from_user_inatomic(&c, (const u8 __force_user *)addr + len, 1);
66206 len++;
66207 } while (c && ret == 0 && len < MAX_STRING_SIZE);
66208 pagefault_enable();
66209diff -urNp linux-3.0.7/kernel/trace/trace_mmiotrace.c linux-3.0.7/kernel/trace/trace_mmiotrace.c
66210--- linux-3.0.7/kernel/trace/trace_mmiotrace.c 2011-07-21 22:17:23.000000000 -0400
66211+++ linux-3.0.7/kernel/trace/trace_mmiotrace.c 2011-08-23 21:47:56.000000000 -0400
63538@@ -24,7 +24,7 @@ struct header_iter { 66212@@ -24,7 +24,7 @@ struct header_iter {
63539 static struct trace_array *mmio_trace_array; 66213 static struct trace_array *mmio_trace_array;
63540 static bool overrun_detected; 66214 static bool overrun_detected;
@@ -63571,9 +66245,9 @@ diff -urNp linux-3.0.4/kernel/trace/trace_mmiotrace.c linux-3.0.4/kernel/trace/t
63571 return; 66245 return;
63572 } 66246 }
63573 entry = ring_buffer_event_data(event); 66247 entry = ring_buffer_event_data(event);
63574diff -urNp linux-3.0.4/kernel/trace/trace_output.c linux-3.0.4/kernel/trace/trace_output.c 66248diff -urNp linux-3.0.7/kernel/trace/trace_output.c linux-3.0.7/kernel/trace/trace_output.c
63575--- linux-3.0.4/kernel/trace/trace_output.c 2011-07-21 22:17:23.000000000 -0400 66249--- linux-3.0.7/kernel/trace/trace_output.c 2011-07-21 22:17:23.000000000 -0400
63576+++ linux-3.0.4/kernel/trace/trace_output.c 2011-08-23 21:47:56.000000000 -0400 66250+++ linux-3.0.7/kernel/trace/trace_output.c 2011-08-23 21:47:56.000000000 -0400
63577@@ -278,7 +278,7 @@ int trace_seq_path(struct trace_seq *s, 66251@@ -278,7 +278,7 @@ int trace_seq_path(struct trace_seq *s,
63578 66252
63579 p = d_path(path, s->buffer + s->len, PAGE_SIZE - s->len); 66253 p = d_path(path, s->buffer + s->len, PAGE_SIZE - s->len);
@@ -63583,9 +66257,9 @@ diff -urNp linux-3.0.4/kernel/trace/trace_output.c linux-3.0.4/kernel/trace/trac
63583 if (p) { 66257 if (p) {
63584 s->len = p - s->buffer; 66258 s->len = p - s->buffer;
63585 return 1; 66259 return 1;
63586diff -urNp linux-3.0.4/kernel/trace/trace_stack.c linux-3.0.4/kernel/trace/trace_stack.c 66260diff -urNp linux-3.0.7/kernel/trace/trace_stack.c linux-3.0.7/kernel/trace/trace_stack.c
63587--- linux-3.0.4/kernel/trace/trace_stack.c 2011-07-21 22:17:23.000000000 -0400 66261--- linux-3.0.7/kernel/trace/trace_stack.c 2011-07-21 22:17:23.000000000 -0400
63588+++ linux-3.0.4/kernel/trace/trace_stack.c 2011-08-23 21:47:56.000000000 -0400 66262+++ linux-3.0.7/kernel/trace/trace_stack.c 2011-08-23 21:47:56.000000000 -0400
63589@@ -50,7 +50,7 @@ static inline void check_stack(void) 66263@@ -50,7 +50,7 @@ static inline void check_stack(void)
63590 return; 66264 return;
63591 66265
@@ -63595,9 +66269,9 @@ diff -urNp linux-3.0.4/kernel/trace/trace_stack.c linux-3.0.4/kernel/trace/trace
63595 return; 66269 return;
63596 66270
63597 local_irq_save(flags); 66271 local_irq_save(flags);
63598diff -urNp linux-3.0.4/kernel/trace/trace_workqueue.c linux-3.0.4/kernel/trace/trace_workqueue.c 66272diff -urNp linux-3.0.7/kernel/trace/trace_workqueue.c linux-3.0.7/kernel/trace/trace_workqueue.c
63599--- linux-3.0.4/kernel/trace/trace_workqueue.c 2011-07-21 22:17:23.000000000 -0400 66273--- linux-3.0.7/kernel/trace/trace_workqueue.c 2011-07-21 22:17:23.000000000 -0400
63600+++ linux-3.0.4/kernel/trace/trace_workqueue.c 2011-08-23 21:47:56.000000000 -0400 66274+++ linux-3.0.7/kernel/trace/trace_workqueue.c 2011-08-23 21:47:56.000000000 -0400
63601@@ -22,7 +22,7 @@ struct cpu_workqueue_stats { 66275@@ -22,7 +22,7 @@ struct cpu_workqueue_stats {
63602 int cpu; 66276 int cpu;
63603 pid_t pid; 66277 pid_t pid;
@@ -63625,9 +66299,48 @@ diff -urNp linux-3.0.4/kernel/trace/trace_workqueue.c linux-3.0.4/kernel/trace/t
63625 tsk->comm); 66299 tsk->comm);
63626 put_task_struct(tsk); 66300 put_task_struct(tsk);
63627 } 66301 }
63628diff -urNp linux-3.0.4/lib/bug.c linux-3.0.4/lib/bug.c 66302diff -urNp linux-3.0.7/lib/bitmap.c linux-3.0.7/lib/bitmap.c
63629--- linux-3.0.4/lib/bug.c 2011-07-21 22:17:23.000000000 -0400 66303--- linux-3.0.7/lib/bitmap.c 2011-07-21 22:17:23.000000000 -0400
63630+++ linux-3.0.4/lib/bug.c 2011-08-23 21:47:56.000000000 -0400 66304+++ linux-3.0.7/lib/bitmap.c 2011-10-06 04:17:55.000000000 -0400
66305@@ -421,7 +421,7 @@ int __bitmap_parse(const char *buf, unsi
66306 {
66307 int c, old_c, totaldigits, ndigits, nchunks, nbits;
66308 u32 chunk;
66309- const char __user *ubuf = buf;
66310+ const char __user *ubuf = (const char __force_user *)buf;
66311
66312 bitmap_zero(maskp, nmaskbits);
66313
66314@@ -506,7 +506,7 @@ int bitmap_parse_user(const char __user
66315 {
66316 if (!access_ok(VERIFY_READ, ubuf, ulen))
66317 return -EFAULT;
66318- return __bitmap_parse((const char *)ubuf, ulen, 1, maskp, nmaskbits);
66319+ return __bitmap_parse((const char __force_kernel *)ubuf, ulen, 1, maskp, nmaskbits);
66320 }
66321 EXPORT_SYMBOL(bitmap_parse_user);
66322
66323@@ -596,7 +596,7 @@ static int __bitmap_parselist(const char
66324 {
66325 unsigned a, b;
66326 int c, old_c, totaldigits;
66327- const char __user *ubuf = buf;
66328+ const char __user *ubuf = (const char __force_user *)buf;
66329 int exp_digit, in_range;
66330
66331 totaldigits = c = 0;
66332@@ -696,7 +696,7 @@ int bitmap_parselist_user(const char __u
66333 {
66334 if (!access_ok(VERIFY_READ, ubuf, ulen))
66335 return -EFAULT;
66336- return __bitmap_parselist((const char *)ubuf,
66337+ return __bitmap_parselist((const char __force_kernel *)ubuf,
66338 ulen, 1, maskp, nmaskbits);
66339 }
66340 EXPORT_SYMBOL(bitmap_parselist_user);
66341diff -urNp linux-3.0.7/lib/bug.c linux-3.0.7/lib/bug.c
66342--- linux-3.0.7/lib/bug.c 2011-07-21 22:17:23.000000000 -0400
66343+++ linux-3.0.7/lib/bug.c 2011-08-23 21:47:56.000000000 -0400
63631@@ -133,6 +133,8 @@ enum bug_trap_type report_bug(unsigned l 66344@@ -133,6 +133,8 @@ enum bug_trap_type report_bug(unsigned l
63632 return BUG_TRAP_TYPE_NONE; 66345 return BUG_TRAP_TYPE_NONE;
63633 66346
@@ -63637,9 +66350,9 @@ diff -urNp linux-3.0.4/lib/bug.c linux-3.0.4/lib/bug.c
63637 66350
63638 file = NULL; 66351 file = NULL;
63639 line = 0; 66352 line = 0;
63640diff -urNp linux-3.0.4/lib/debugobjects.c linux-3.0.4/lib/debugobjects.c 66353diff -urNp linux-3.0.7/lib/debugobjects.c linux-3.0.7/lib/debugobjects.c
63641--- linux-3.0.4/lib/debugobjects.c 2011-07-21 22:17:23.000000000 -0400 66354--- linux-3.0.7/lib/debugobjects.c 2011-07-21 22:17:23.000000000 -0400
63642+++ linux-3.0.4/lib/debugobjects.c 2011-08-23 21:47:56.000000000 -0400 66355+++ linux-3.0.7/lib/debugobjects.c 2011-08-23 21:47:56.000000000 -0400
63643@@ -284,7 +284,7 @@ static void debug_object_is_on_stack(voi 66356@@ -284,7 +284,7 @@ static void debug_object_is_on_stack(voi
63644 if (limit > 4) 66357 if (limit > 4)
63645 return; 66358 return;
@@ -63649,9 +66362,30 @@ diff -urNp linux-3.0.4/lib/debugobjects.c linux-3.0.4/lib/debugobjects.c
63649 if (is_on_stack == onstack) 66362 if (is_on_stack == onstack)
63650 return; 66363 return;
63651 66364
63652diff -urNp linux-3.0.4/lib/dma-debug.c linux-3.0.4/lib/dma-debug.c 66365diff -urNp linux-3.0.7/lib/devres.c linux-3.0.7/lib/devres.c
63653--- linux-3.0.4/lib/dma-debug.c 2011-07-21 22:17:23.000000000 -0400 66366--- linux-3.0.7/lib/devres.c 2011-07-21 22:17:23.000000000 -0400
63654+++ linux-3.0.4/lib/dma-debug.c 2011-08-23 21:47:56.000000000 -0400 66367+++ linux-3.0.7/lib/devres.c 2011-10-06 04:17:55.000000000 -0400
66368@@ -81,7 +81,7 @@ void devm_iounmap(struct device *dev, vo
66369 {
66370 iounmap(addr);
66371 WARN_ON(devres_destroy(dev, devm_ioremap_release, devm_ioremap_match,
66372- (void *)addr));
66373+ (void __force *)addr));
66374 }
66375 EXPORT_SYMBOL(devm_iounmap);
66376
66377@@ -141,7 +141,7 @@ void devm_ioport_unmap(struct device *de
66378 {
66379 ioport_unmap(addr);
66380 WARN_ON(devres_destroy(dev, devm_ioport_map_release,
66381- devm_ioport_map_match, (void *)addr));
66382+ devm_ioport_map_match, (void __force *)addr));
66383 }
66384 EXPORT_SYMBOL(devm_ioport_unmap);
66385
66386diff -urNp linux-3.0.7/lib/dma-debug.c linux-3.0.7/lib/dma-debug.c
66387--- linux-3.0.7/lib/dma-debug.c 2011-07-21 22:17:23.000000000 -0400
66388+++ linux-3.0.7/lib/dma-debug.c 2011-08-23 21:47:56.000000000 -0400
63655@@ -870,7 +870,7 @@ out: 66389@@ -870,7 +870,7 @@ out:
63656 66390
63657 static void check_for_stack(struct device *dev, void *addr) 66391 static void check_for_stack(struct device *dev, void *addr)
@@ -63661,9 +66395,9 @@ diff -urNp linux-3.0.4/lib/dma-debug.c linux-3.0.4/lib/dma-debug.c
63661 err_printk(dev, NULL, "DMA-API: device driver maps memory from" 66395 err_printk(dev, NULL, "DMA-API: device driver maps memory from"
63662 "stack [addr=%p]\n", addr); 66396 "stack [addr=%p]\n", addr);
63663 } 66397 }
63664diff -urNp linux-3.0.4/lib/extable.c linux-3.0.4/lib/extable.c 66398diff -urNp linux-3.0.7/lib/extable.c linux-3.0.7/lib/extable.c
63665--- linux-3.0.4/lib/extable.c 2011-07-21 22:17:23.000000000 -0400 66399--- linux-3.0.7/lib/extable.c 2011-07-21 22:17:23.000000000 -0400
63666+++ linux-3.0.4/lib/extable.c 2011-08-23 21:47:56.000000000 -0400 66400+++ linux-3.0.7/lib/extable.c 2011-08-23 21:47:56.000000000 -0400
63667@@ -13,6 +13,7 @@ 66401@@ -13,6 +13,7 @@
63668 #include <linux/init.h> 66402 #include <linux/init.h>
63669 #include <linux/sort.h> 66403 #include <linux/sort.h>
@@ -63683,9 +66417,9 @@ diff -urNp linux-3.0.4/lib/extable.c linux-3.0.4/lib/extable.c
63683 } 66417 }
63684 66418
63685 #ifdef CONFIG_MODULES 66419 #ifdef CONFIG_MODULES
63686diff -urNp linux-3.0.4/lib/inflate.c linux-3.0.4/lib/inflate.c 66420diff -urNp linux-3.0.7/lib/inflate.c linux-3.0.7/lib/inflate.c
63687--- linux-3.0.4/lib/inflate.c 2011-07-21 22:17:23.000000000 -0400 66421--- linux-3.0.7/lib/inflate.c 2011-07-21 22:17:23.000000000 -0400
63688+++ linux-3.0.4/lib/inflate.c 2011-08-23 21:47:56.000000000 -0400 66422+++ linux-3.0.7/lib/inflate.c 2011-08-23 21:47:56.000000000 -0400
63689@@ -269,7 +269,7 @@ static void free(void *where) 66423@@ -269,7 +269,7 @@ static void free(void *where)
63690 malloc_ptr = free_mem_ptr; 66424 malloc_ptr = free_mem_ptr;
63691 } 66425 }
@@ -63695,9 +66429,9 @@ diff -urNp linux-3.0.4/lib/inflate.c linux-3.0.4/lib/inflate.c
63695 #define free(a) kfree(a) 66429 #define free(a) kfree(a)
63696 #endif 66430 #endif
63697 66431
63698diff -urNp linux-3.0.4/lib/Kconfig.debug linux-3.0.4/lib/Kconfig.debug 66432diff -urNp linux-3.0.7/lib/Kconfig.debug linux-3.0.7/lib/Kconfig.debug
63699--- linux-3.0.4/lib/Kconfig.debug 2011-07-21 22:17:23.000000000 -0400 66433--- linux-3.0.7/lib/Kconfig.debug 2011-07-21 22:17:23.000000000 -0400
63700+++ linux-3.0.4/lib/Kconfig.debug 2011-08-23 21:48:14.000000000 -0400 66434+++ linux-3.0.7/lib/Kconfig.debug 2011-08-23 21:48:14.000000000 -0400
63701@@ -1088,6 +1088,7 @@ config LATENCYTOP 66435@@ -1088,6 +1088,7 @@ config LATENCYTOP
63702 depends on DEBUG_KERNEL 66436 depends on DEBUG_KERNEL
63703 depends on STACKTRACE_SUPPORT 66437 depends on STACKTRACE_SUPPORT
@@ -63706,9 +66440,9 @@ diff -urNp linux-3.0.4/lib/Kconfig.debug linux-3.0.4/lib/Kconfig.debug
63706 select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE 66440 select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE
63707 select KALLSYMS 66441 select KALLSYMS
63708 select KALLSYMS_ALL 66442 select KALLSYMS_ALL
63709diff -urNp linux-3.0.4/lib/kref.c linux-3.0.4/lib/kref.c 66443diff -urNp linux-3.0.7/lib/kref.c linux-3.0.7/lib/kref.c
63710--- linux-3.0.4/lib/kref.c 2011-07-21 22:17:23.000000000 -0400 66444--- linux-3.0.7/lib/kref.c 2011-07-21 22:17:23.000000000 -0400
63711+++ linux-3.0.4/lib/kref.c 2011-08-23 21:47:56.000000000 -0400 66445+++ linux-3.0.7/lib/kref.c 2011-08-23 21:47:56.000000000 -0400
63712@@ -52,7 +52,7 @@ void kref_get(struct kref *kref) 66446@@ -52,7 +52,7 @@ void kref_get(struct kref *kref)
63713 */ 66447 */
63714 int kref_put(struct kref *kref, void (*release)(struct kref *kref)) 66448 int kref_put(struct kref *kref, void (*release)(struct kref *kref))
@@ -63718,9 +66452,9 @@ diff -urNp linux-3.0.4/lib/kref.c linux-3.0.4/lib/kref.c
63718 WARN_ON(release == (void (*)(struct kref *))kfree); 66452 WARN_ON(release == (void (*)(struct kref *))kfree);
63719 66453
63720 if (atomic_dec_and_test(&kref->refcount)) { 66454 if (atomic_dec_and_test(&kref->refcount)) {
63721diff -urNp linux-3.0.4/lib/radix-tree.c linux-3.0.4/lib/radix-tree.c 66455diff -urNp linux-3.0.7/lib/radix-tree.c linux-3.0.7/lib/radix-tree.c
63722--- linux-3.0.4/lib/radix-tree.c 2011-07-21 22:17:23.000000000 -0400 66456--- linux-3.0.7/lib/radix-tree.c 2011-07-21 22:17:23.000000000 -0400
63723+++ linux-3.0.4/lib/radix-tree.c 2011-08-23 21:47:56.000000000 -0400 66457+++ linux-3.0.7/lib/radix-tree.c 2011-08-23 21:47:56.000000000 -0400
63724@@ -80,7 +80,7 @@ struct radix_tree_preload { 66458@@ -80,7 +80,7 @@ struct radix_tree_preload {
63725 int nr; 66459 int nr;
63726 struct radix_tree_node *nodes[RADIX_TREE_MAX_PATH]; 66460 struct radix_tree_node *nodes[RADIX_TREE_MAX_PATH];
@@ -63730,9 +66464,9 @@ diff -urNp linux-3.0.4/lib/radix-tree.c linux-3.0.4/lib/radix-tree.c
63730 66464
63731 static inline void *ptr_to_indirect(void *ptr) 66465 static inline void *ptr_to_indirect(void *ptr)
63732 { 66466 {
63733diff -urNp linux-3.0.4/lib/vsprintf.c linux-3.0.4/lib/vsprintf.c 66467diff -urNp linux-3.0.7/lib/vsprintf.c linux-3.0.7/lib/vsprintf.c
63734--- linux-3.0.4/lib/vsprintf.c 2011-07-21 22:17:23.000000000 -0400 66468--- linux-3.0.7/lib/vsprintf.c 2011-07-21 22:17:23.000000000 -0400
63735+++ linux-3.0.4/lib/vsprintf.c 2011-08-23 21:48:14.000000000 -0400 66469+++ linux-3.0.7/lib/vsprintf.c 2011-08-23 21:48:14.000000000 -0400
63736@@ -16,6 +16,9 @@ 66470@@ -16,6 +16,9 @@
63737 * - scnprintf and vscnprintf 66471 * - scnprintf and vscnprintf
63738 */ 66472 */
@@ -63826,14 +66560,14 @@ diff -urNp linux-3.0.4/lib/vsprintf.c linux-3.0.4/lib/vsprintf.c
63826 break; 66560 break;
63827 } 66561 }
63828 66562
63829diff -urNp linux-3.0.4/localversion-grsec linux-3.0.4/localversion-grsec 66563diff -urNp linux-3.0.7/localversion-grsec linux-3.0.7/localversion-grsec
63830--- linux-3.0.4/localversion-grsec 1969-12-31 19:00:00.000000000 -0500 66564--- linux-3.0.7/localversion-grsec 1969-12-31 19:00:00.000000000 -0500
63831+++ linux-3.0.4/localversion-grsec 2011-08-23 21:48:14.000000000 -0400 66565+++ linux-3.0.7/localversion-grsec 2011-08-23 21:48:14.000000000 -0400
63832@@ -0,0 +1 @@ 66566@@ -0,0 +1 @@
63833+-grsec 66567+-grsec
63834diff -urNp linux-3.0.4/Makefile linux-3.0.4/Makefile 66568diff -urNp linux-3.0.7/Makefile linux-3.0.7/Makefile
63835--- linux-3.0.4/Makefile 2011-09-02 18:11:26.000000000 -0400 66569--- linux-3.0.7/Makefile 2011-10-17 23:17:08.000000000 -0400
63836+++ linux-3.0.4/Makefile 2011-09-17 00:56:07.000000000 -0400 66570+++ linux-3.0.7/Makefile 2011-10-17 23:17:19.000000000 -0400
63837@@ -245,8 +245,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" 66571@@ -245,8 +245,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH"
63838 66572
63839 HOSTCC = gcc 66573 HOSTCC = gcc
@@ -63870,23 +66604,28 @@ diff -urNp linux-3.0.4/Makefile linux-3.0.4/Makefile
63870 $(Q)$(MAKE) $(build)=scripts/basic 66604 $(Q)$(MAKE) $(build)=scripts/basic
63871 $(Q)rm -f .tmp_quiet_recordmcount 66605 $(Q)rm -f .tmp_quiet_recordmcount
63872 66606
63873@@ -564,6 +567,31 @@ else 66607@@ -564,6 +567,36 @@ else
63874 KBUILD_CFLAGS += -O2 66608 KBUILD_CFLAGS += -O2
63875 endif 66609 endif
63876 66610
63877+ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(CC)"), y) 66611+ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(CC)"), y)
63878+CONSTIFY_PLUGIN := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN 66612+CONSTIFY_PLUGIN := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN
63879+ifdef CONFIG_PAX_KERNEXEC_PLUGIN 66613+ifdef CONFIG_PAX_MEMORY_STACKLEAK
63880+KERNEXEC_PLUGIN := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so 66614+STACKLEAK_PLUGIN := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -fplugin-arg-stackleak_plugin-track-lowest-sp=100
63881+endif 66615+endif
63882+ifdef CONFIG_KALLOCSTAT_PLUGIN 66616+ifdef CONFIG_KALLOCSTAT_PLUGIN
63883+KALLOCSTAT_PLUGIN := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so 66617+KALLOCSTAT_PLUGIN := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so
63884+endif 66618+endif
63885+ifdef CONFIG_PAX_MEMORY_STACKLEAK 66619+ifdef CONFIG_PAX_KERNEXEC_PLUGIN
63886+STACKLEAK_PLUGIN := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -fplugin-arg-stackleak_plugin-track-lowest-sp=100 66620+KERNEXEC_PLUGIN := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so
66621+endif
66622+ifdef CONFIG_CHECKER_PLUGIN
66623+ifeq ($(call cc-ifversion, -ge, 0406, y), y)
66624+CHECKER_PLUGIN := -fplugin=$(objtree)/tools/gcc/checker_plugin.so -DCHECKER_PLUGIN
63887+endif 66625+endif
63888+GCC_PLUGINS := $(CONSTIFY_PLUGIN) $(STACKLEAK_PLUGIN) $(KALLOCSTAT_PLUGIN) $(KERNEXEC_PLUGIN) 66626+endif
63889+export CONSTIFY_PLUGIN STACKLEAK_PLUGIN KERNEXEC_PLUGIN 66627+GCC_PLUGINS := $(CONSTIFY_PLUGIN) $(STACKLEAK_PLUGIN) $(KALLOCSTAT_PLUGIN) $(KERNEXEC_PLUGIN) $(CHECKER_PLUGIN)
66628+export CONSTIFY_PLUGIN STACKLEAK_PLUGIN KERNEXEC_PLUGIN CHECKER_PLUGIN
63890+gcc-plugins: 66629+gcc-plugins:
63891+ $(Q)$(MAKE) $(build)=tools/gcc 66630+ $(Q)$(MAKE) $(build)=tools/gcc
63892+else 66631+else
@@ -63902,7 +66641,7 @@ diff -urNp linux-3.0.4/Makefile linux-3.0.4/Makefile
63902 include $(srctree)/arch/$(SRCARCH)/Makefile 66641 include $(srctree)/arch/$(SRCARCH)/Makefile
63903 66642
63904 ifneq ($(CONFIG_FRAME_WARN),0) 66643 ifneq ($(CONFIG_FRAME_WARN),0)
63905@@ -708,7 +736,7 @@ export mod_strip_cmd 66644@@ -708,7 +741,7 @@ export mod_strip_cmd
63906 66645
63907 66646
63908 ifeq ($(KBUILD_EXTMOD),) 66647 ifeq ($(KBUILD_EXTMOD),)
@@ -63911,26 +66650,24 @@ diff -urNp linux-3.0.4/Makefile linux-3.0.4/Makefile
63911 66650
63912 vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \ 66651 vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
63913 $(core-y) $(core-m) $(drivers-y) $(drivers-m) \ 66652 $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
63914@@ -907,6 +935,8 @@ define rule_vmlinux-modpost 66653@@ -932,6 +965,7 @@ vmlinux.o: $(modpost-init) $(vmlinux-mai
63915 endef
63916 66654
63917 # vmlinux image - including updated kernel symbols 66655 # The actual objects are generated when descending,
63918+$(vmlinux-all): KBUILD_CFLAGS += $(GCC_PLUGINS) 66656 # make sure no implicit rule kicks in
63919+$(vmlinux-all): gcc-plugins 66657+$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): KBUILD_CFLAGS += $(GCC_PLUGINS)
63920 vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) vmlinux.o $(kallsyms.o) FORCE 66658 $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
63921 ifdef CONFIG_HEADERS_CHECK 66659
63922 $(Q)$(MAKE) -f $(srctree)/Makefile headers_check 66660 # Handle descending into subdirectories listed in $(vmlinux-dirs)
63923@@ -941,7 +971,8 @@ $(sort $(vmlinux-init) $(vmlinux-main)) 66661@@ -941,7 +975,7 @@ $(sort $(vmlinux-init) $(vmlinux-main))
63924 # Error messages still appears in the original language 66662 # Error messages still appears in the original language
63925 66663
63926 PHONY += $(vmlinux-dirs) 66664 PHONY += $(vmlinux-dirs)
63927-$(vmlinux-dirs): prepare scripts 66665-$(vmlinux-dirs): prepare scripts
63928+$(vmlinux-dirs): KBUILD_CFLAGS += $(GCC_PLUGINS)
63929+$(vmlinux-dirs): gcc-plugins prepare scripts 66666+$(vmlinux-dirs): gcc-plugins prepare scripts
63930 $(Q)$(MAKE) $(build)=$@ 66667 $(Q)$(MAKE) $(build)=$@
63931 66668
63932 # Store (new) KERNELRELASE string in include/config/kernel.release 66669 # Store (new) KERNELRELASE string in include/config/kernel.release
63933@@ -986,6 +1017,7 @@ prepare0: archprepare FORCE 66670@@ -986,6 +1020,7 @@ prepare0: archprepare FORCE
63934 $(Q)$(MAKE) $(build)=. missing-syscalls 66671 $(Q)$(MAKE) $(build)=. missing-syscalls
63935 66672
63936 # All the preparing.. 66673 # All the preparing..
@@ -63938,7 +66675,15 @@ diff -urNp linux-3.0.4/Makefile linux-3.0.4/Makefile
63938 prepare: prepare0 66675 prepare: prepare0
63939 66676
63940 # Generate some files 66677 # Generate some files
63941@@ -1102,7 +1134,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modu 66678@@ -1087,6 +1122,7 @@ all: modules
66679 # using awk while concatenating to the final file.
66680
66681 PHONY += modules
66682+modules: KBUILD_CFLAGS += $(GCC_PLUGINS)
66683 modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
66684 $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order
66685 @$(kecho) ' Building modules, stage 2.';
66686@@ -1102,7 +1138,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modu
63942 66687
63943 # Target to prepare building external modules 66688 # Target to prepare building external modules
63944 PHONY += modules_prepare 66689 PHONY += modules_prepare
@@ -63947,7 +66692,7 @@ diff -urNp linux-3.0.4/Makefile linux-3.0.4/Makefile
63947 66692
63948 # Target to install modules 66693 # Target to install modules
63949 PHONY += modules_install 66694 PHONY += modules_install
63950@@ -1198,7 +1230,7 @@ distclean: mrproper 66695@@ -1198,7 +1234,7 @@ distclean: mrproper
63951 @find $(srctree) $(RCS_FIND_IGNORE) \ 66696 @find $(srctree) $(RCS_FIND_IGNORE) \
63952 \( -name '*.orig' -o -name '*.rej' -o -name '*~' \ 66697 \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
63953 -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ 66698 -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
@@ -63956,7 +66701,7 @@ diff -urNp linux-3.0.4/Makefile linux-3.0.4/Makefile
63956 -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \ 66701 -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \
63957 -type f -print | xargs rm -f 66702 -type f -print | xargs rm -f
63958 66703
63959@@ -1359,6 +1391,7 @@ PHONY += $(module-dirs) modules 66704@@ -1359,6 +1395,7 @@ PHONY += $(module-dirs) modules
63960 $(module-dirs): crmodverdir $(objtree)/Module.symvers 66705 $(module-dirs): crmodverdir $(objtree)/Module.symvers
63961 $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@) 66706 $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
63962 66707
@@ -63964,7 +66709,7 @@ diff -urNp linux-3.0.4/Makefile linux-3.0.4/Makefile
63964 modules: $(module-dirs) 66709 modules: $(module-dirs)
63965 @$(kecho) ' Building modules, stage 2.'; 66710 @$(kecho) ' Building modules, stage 2.';
63966 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost 66711 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
63967@@ -1485,17 +1518,19 @@ else 66712@@ -1485,17 +1522,19 @@ else
63968 target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@)) 66713 target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@))
63969 endif 66714 endif
63970 66715
@@ -63988,7 +66733,7 @@ diff -urNp linux-3.0.4/Makefile linux-3.0.4/Makefile
63988 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) 66733 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
63989 %.symtypes: %.c prepare scripts FORCE 66734 %.symtypes: %.c prepare scripts FORCE
63990 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) 66735 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
63991@@ -1505,11 +1540,13 @@ endif 66736@@ -1505,11 +1544,13 @@ endif
63992 $(cmd_crmodverdir) 66737 $(cmd_crmodverdir)
63993 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ 66738 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
63994 $(build)=$(build-dir) 66739 $(build)=$(build-dir)
@@ -64004,9 +66749,9 @@ diff -urNp linux-3.0.4/Makefile linux-3.0.4/Makefile
64004 $(cmd_crmodverdir) 66749 $(cmd_crmodverdir)
64005 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \ 66750 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
64006 $(build)=$(build-dir) $(@:.ko=.o) 66751 $(build)=$(build-dir) $(@:.ko=.o)
64007diff -urNp linux-3.0.4/mm/filemap.c linux-3.0.4/mm/filemap.c 66752diff -urNp linux-3.0.7/mm/filemap.c linux-3.0.7/mm/filemap.c
64008--- linux-3.0.4/mm/filemap.c 2011-07-21 22:17:23.000000000 -0400 66753--- linux-3.0.7/mm/filemap.c 2011-07-21 22:17:23.000000000 -0400
64009+++ linux-3.0.4/mm/filemap.c 2011-08-23 21:48:14.000000000 -0400 66754+++ linux-3.0.7/mm/filemap.c 2011-08-23 21:48:14.000000000 -0400
64010@@ -1763,7 +1763,7 @@ int generic_file_mmap(struct file * file 66755@@ -1763,7 +1763,7 @@ int generic_file_mmap(struct file * file
64011 struct address_space *mapping = file->f_mapping; 66756 struct address_space *mapping = file->f_mapping;
64012 66757
@@ -64024,9 +66769,9 @@ diff -urNp linux-3.0.4/mm/filemap.c linux-3.0.4/mm/filemap.c
64024 if (*pos >= limit) { 66769 if (*pos >= limit) {
64025 send_sig(SIGXFSZ, current, 0); 66770 send_sig(SIGXFSZ, current, 0);
64026 return -EFBIG; 66771 return -EFBIG;
64027diff -urNp linux-3.0.4/mm/fremap.c linux-3.0.4/mm/fremap.c 66772diff -urNp linux-3.0.7/mm/fremap.c linux-3.0.7/mm/fremap.c
64028--- linux-3.0.4/mm/fremap.c 2011-07-21 22:17:23.000000000 -0400 66773--- linux-3.0.7/mm/fremap.c 2011-07-21 22:17:23.000000000 -0400
64029+++ linux-3.0.4/mm/fremap.c 2011-08-23 21:47:56.000000000 -0400 66774+++ linux-3.0.7/mm/fremap.c 2011-08-23 21:47:56.000000000 -0400
64030@@ -156,6 +156,11 @@ SYSCALL_DEFINE5(remap_file_pages, unsign 66775@@ -156,6 +156,11 @@ SYSCALL_DEFINE5(remap_file_pages, unsign
64031 retry: 66776 retry:
64032 vma = find_vma(mm, start); 66777 vma = find_vma(mm, start);
@@ -64039,9 +66784,9 @@ diff -urNp linux-3.0.4/mm/fremap.c linux-3.0.4/mm/fremap.c
64039 /* 66784 /*
64040 * Make sure the vma is shared, that it supports prefaulting, 66785 * Make sure the vma is shared, that it supports prefaulting,
64041 * and that the remapped range is valid and fully within 66786 * and that the remapped range is valid and fully within
64042diff -urNp linux-3.0.4/mm/highmem.c linux-3.0.4/mm/highmem.c 66787diff -urNp linux-3.0.7/mm/highmem.c linux-3.0.7/mm/highmem.c
64043--- linux-3.0.4/mm/highmem.c 2011-07-21 22:17:23.000000000 -0400 66788--- linux-3.0.7/mm/highmem.c 2011-07-21 22:17:23.000000000 -0400
64044+++ linux-3.0.4/mm/highmem.c 2011-08-23 21:47:56.000000000 -0400 66789+++ linux-3.0.7/mm/highmem.c 2011-08-23 21:47:56.000000000 -0400
64045@@ -125,9 +125,10 @@ static void flush_all_zero_pkmaps(void) 66790@@ -125,9 +125,10 @@ static void flush_all_zero_pkmaps(void)
64046 * So no dangers, even with speculative execution. 66791 * So no dangers, even with speculative execution.
64047 */ 66792 */
@@ -64067,9 +66812,9 @@ diff -urNp linux-3.0.4/mm/highmem.c linux-3.0.4/mm/highmem.c
64067 pkmap_count[last_pkmap_nr] = 1; 66812 pkmap_count[last_pkmap_nr] = 1;
64068 set_page_address(page, (void *)vaddr); 66813 set_page_address(page, (void *)vaddr);
64069 66814
64070diff -urNp linux-3.0.4/mm/huge_memory.c linux-3.0.4/mm/huge_memory.c 66815diff -urNp linux-3.0.7/mm/huge_memory.c linux-3.0.7/mm/huge_memory.c
64071--- linux-3.0.4/mm/huge_memory.c 2011-07-21 22:17:23.000000000 -0400 66816--- linux-3.0.7/mm/huge_memory.c 2011-07-21 22:17:23.000000000 -0400
64072+++ linux-3.0.4/mm/huge_memory.c 2011-08-23 21:47:56.000000000 -0400 66817+++ linux-3.0.7/mm/huge_memory.c 2011-08-23 21:47:56.000000000 -0400
64073@@ -702,7 +702,7 @@ out: 66818@@ -702,7 +702,7 @@ out:
64074 * run pte_offset_map on the pmd, if an huge pmd could 66819 * run pte_offset_map on the pmd, if an huge pmd could
64075 * materialize from under us from a different thread. 66820 * materialize from under us from a different thread.
@@ -64079,9 +66824,9 @@ diff -urNp linux-3.0.4/mm/huge_memory.c linux-3.0.4/mm/huge_memory.c
64079 return VM_FAULT_OOM; 66824 return VM_FAULT_OOM;
64080 /* if an huge pmd materialized from under us just retry later */ 66825 /* if an huge pmd materialized from under us just retry later */
64081 if (unlikely(pmd_trans_huge(*pmd))) 66826 if (unlikely(pmd_trans_huge(*pmd)))
64082diff -urNp linux-3.0.4/mm/hugetlb.c linux-3.0.4/mm/hugetlb.c 66827diff -urNp linux-3.0.7/mm/hugetlb.c linux-3.0.7/mm/hugetlb.c
64083--- linux-3.0.4/mm/hugetlb.c 2011-07-21 22:17:23.000000000 -0400 66828--- linux-3.0.7/mm/hugetlb.c 2011-07-21 22:17:23.000000000 -0400
64084+++ linux-3.0.4/mm/hugetlb.c 2011-08-23 21:47:56.000000000 -0400 66829+++ linux-3.0.7/mm/hugetlb.c 2011-08-23 21:47:56.000000000 -0400
64085@@ -2339,6 +2339,27 @@ static int unmap_ref_private(struct mm_s 66830@@ -2339,6 +2339,27 @@ static int unmap_ref_private(struct mm_s
64086 return 1; 66831 return 1;
64087 } 66832 }
@@ -64171,9 +66916,9 @@ diff -urNp linux-3.0.4/mm/hugetlb.c linux-3.0.4/mm/hugetlb.c
64171 ptep = huge_pte_alloc(mm, address, huge_page_size(h)); 66916 ptep = huge_pte_alloc(mm, address, huge_page_size(h));
64172 if (!ptep) 66917 if (!ptep)
64173 return VM_FAULT_OOM; 66918 return VM_FAULT_OOM;
64174diff -urNp linux-3.0.4/mm/internal.h linux-3.0.4/mm/internal.h 66919diff -urNp linux-3.0.7/mm/internal.h linux-3.0.7/mm/internal.h
64175--- linux-3.0.4/mm/internal.h 2011-07-21 22:17:23.000000000 -0400 66920--- linux-3.0.7/mm/internal.h 2011-07-21 22:17:23.000000000 -0400
64176+++ linux-3.0.4/mm/internal.h 2011-08-23 21:47:56.000000000 -0400 66921+++ linux-3.0.7/mm/internal.h 2011-08-23 21:47:56.000000000 -0400
64177@@ -49,6 +49,7 @@ extern void putback_lru_page(struct page 66922@@ -49,6 +49,7 @@ extern void putback_lru_page(struct page
64178 * in mm/page_alloc.c 66923 * in mm/page_alloc.c
64179 */ 66924 */
@@ -64182,9 +66927,9 @@ diff -urNp linux-3.0.4/mm/internal.h linux-3.0.4/mm/internal.h
64182 extern void prep_compound_page(struct page *page, unsigned long order); 66927 extern void prep_compound_page(struct page *page, unsigned long order);
64183 #ifdef CONFIG_MEMORY_FAILURE 66928 #ifdef CONFIG_MEMORY_FAILURE
64184 extern bool is_free_buddy_page(struct page *page); 66929 extern bool is_free_buddy_page(struct page *page);
64185diff -urNp linux-3.0.4/mm/Kconfig linux-3.0.4/mm/Kconfig 66930diff -urNp linux-3.0.7/mm/Kconfig linux-3.0.7/mm/Kconfig
64186--- linux-3.0.4/mm/Kconfig 2011-07-21 22:17:23.000000000 -0400 66931--- linux-3.0.7/mm/Kconfig 2011-07-21 22:17:23.000000000 -0400
64187+++ linux-3.0.4/mm/Kconfig 2011-08-23 21:48:14.000000000 -0400 66932+++ linux-3.0.7/mm/Kconfig 2011-08-23 21:48:14.000000000 -0400
64188@@ -240,7 +240,7 @@ config KSM 66933@@ -240,7 +240,7 @@ config KSM
64189 config DEFAULT_MMAP_MIN_ADDR 66934 config DEFAULT_MMAP_MIN_ADDR
64190 int "Low address space to protect from user allocation" 66935 int "Low address space to protect from user allocation"
@@ -64194,9 +66939,9 @@ diff -urNp linux-3.0.4/mm/Kconfig linux-3.0.4/mm/Kconfig
64194 help 66939 help
64195 This is the portion of low virtual memory which should be protected 66940 This is the portion of low virtual memory which should be protected
64196 from userspace allocation. Keeping a user from writing to low pages 66941 from userspace allocation. Keeping a user from writing to low pages
64197diff -urNp linux-3.0.4/mm/kmemleak.c linux-3.0.4/mm/kmemleak.c 66942diff -urNp linux-3.0.7/mm/kmemleak.c linux-3.0.7/mm/kmemleak.c
64198--- linux-3.0.4/mm/kmemleak.c 2011-07-21 22:17:23.000000000 -0400 66943--- linux-3.0.7/mm/kmemleak.c 2011-07-21 22:17:23.000000000 -0400
64199+++ linux-3.0.4/mm/kmemleak.c 2011-08-23 21:48:14.000000000 -0400 66944+++ linux-3.0.7/mm/kmemleak.c 2011-08-23 21:48:14.000000000 -0400
64200@@ -357,7 +357,7 @@ static void print_unreferenced(struct se 66945@@ -357,7 +357,7 @@ static void print_unreferenced(struct se
64201 66946
64202 for (i = 0; i < object->trace_len; i++) { 66947 for (i = 0; i < object->trace_len; i++) {
@@ -64206,9 +66951,30 @@ diff -urNp linux-3.0.4/mm/kmemleak.c linux-3.0.4/mm/kmemleak.c
64206 } 66951 }
64207 } 66952 }
64208 66953
64209diff -urNp linux-3.0.4/mm/madvise.c linux-3.0.4/mm/madvise.c 66954diff -urNp linux-3.0.7/mm/maccess.c linux-3.0.7/mm/maccess.c
64210--- linux-3.0.4/mm/madvise.c 2011-07-21 22:17:23.000000000 -0400 66955--- linux-3.0.7/mm/maccess.c 2011-07-21 22:17:23.000000000 -0400
64211+++ linux-3.0.4/mm/madvise.c 2011-08-23 21:47:56.000000000 -0400 66956+++ linux-3.0.7/mm/maccess.c 2011-10-06 04:17:55.000000000 -0400
66957@@ -26,7 +26,7 @@ long __probe_kernel_read(void *dst, cons
66958 set_fs(KERNEL_DS);
66959 pagefault_disable();
66960 ret = __copy_from_user_inatomic(dst,
66961- (__force const void __user *)src, size);
66962+ (const void __force_user *)src, size);
66963 pagefault_enable();
66964 set_fs(old_fs);
66965
66966@@ -53,7 +53,7 @@ long __probe_kernel_write(void *dst, con
66967
66968 set_fs(KERNEL_DS);
66969 pagefault_disable();
66970- ret = __copy_to_user_inatomic((__force void __user *)dst, src, size);
66971+ ret = __copy_to_user_inatomic((void __force_user *)dst, src, size);
66972 pagefault_enable();
66973 set_fs(old_fs);
66974
66975diff -urNp linux-3.0.7/mm/madvise.c linux-3.0.7/mm/madvise.c
66976--- linux-3.0.7/mm/madvise.c 2011-07-21 22:17:23.000000000 -0400
66977+++ linux-3.0.7/mm/madvise.c 2011-08-23 21:47:56.000000000 -0400
64212@@ -45,6 +45,10 @@ static long madvise_behavior(struct vm_a 66978@@ -45,6 +45,10 @@ static long madvise_behavior(struct vm_a
64213 pgoff_t pgoff; 66979 pgoff_t pgoff;
64214 unsigned long new_flags = vma->vm_flags; 66980 unsigned long new_flags = vma->vm_flags;
@@ -64285,9 +67051,9 @@ diff -urNp linux-3.0.4/mm/madvise.c linux-3.0.4/mm/madvise.c
64285 error = 0; 67051 error = 0;
64286 if (end == start) 67052 if (end == start)
64287 goto out; 67053 goto out;
64288diff -urNp linux-3.0.4/mm/memory.c linux-3.0.4/mm/memory.c 67054diff -urNp linux-3.0.7/mm/memory.c linux-3.0.7/mm/memory.c
64289--- linux-3.0.4/mm/memory.c 2011-09-02 18:11:21.000000000 -0400 67055--- linux-3.0.7/mm/memory.c 2011-09-02 18:11:21.000000000 -0400
64290+++ linux-3.0.4/mm/memory.c 2011-08-23 21:47:56.000000000 -0400 67056+++ linux-3.0.7/mm/memory.c 2011-08-23 21:47:56.000000000 -0400
64291@@ -457,8 +457,12 @@ static inline void free_pmd_range(struct 67057@@ -457,8 +457,12 @@ static inline void free_pmd_range(struct
64292 return; 67058 return;
64293 67059
@@ -64851,9 +67617,9 @@ diff -urNp linux-3.0.4/mm/memory.c linux-3.0.4/mm/memory.c
64851 /* 67617 /*
64852 * Make sure the vDSO gets into every core dump. 67618 * Make sure the vDSO gets into every core dump.
64853 * Dumping its contents makes post-mortem fully interpretable later 67619 * Dumping its contents makes post-mortem fully interpretable later
64854diff -urNp linux-3.0.4/mm/memory-failure.c linux-3.0.4/mm/memory-failure.c 67620diff -urNp linux-3.0.7/mm/memory-failure.c linux-3.0.7/mm/memory-failure.c
64855--- linux-3.0.4/mm/memory-failure.c 2011-07-21 22:17:23.000000000 -0400 67621--- linux-3.0.7/mm/memory-failure.c 2011-07-21 22:17:23.000000000 -0400
64856+++ linux-3.0.4/mm/memory-failure.c 2011-08-23 21:47:56.000000000 -0400 67622+++ linux-3.0.7/mm/memory-failure.c 2011-10-06 04:17:55.000000000 -0400
64857@@ -59,7 +59,7 @@ int sysctl_memory_failure_early_kill __r 67623@@ -59,7 +59,7 @@ int sysctl_memory_failure_early_kill __r
64858 67624
64859 int sysctl_memory_failure_recovery __read_mostly = 1; 67625 int sysctl_memory_failure_recovery __read_mostly = 1;
@@ -64863,6 +67629,15 @@ diff -urNp linux-3.0.4/mm/memory-failure.c linux-3.0.4/mm/memory-failure.c
64863 67629
64864 #if defined(CONFIG_HWPOISON_INJECT) || defined(CONFIG_HWPOISON_INJECT_MODULE) 67630 #if defined(CONFIG_HWPOISON_INJECT) || defined(CONFIG_HWPOISON_INJECT_MODULE)
64865 67631
67632@@ -200,7 +200,7 @@ static int kill_proc_ao(struct task_stru
67633 si.si_signo = SIGBUS;
67634 si.si_errno = 0;
67635 si.si_code = BUS_MCEERR_AO;
67636- si.si_addr = (void *)addr;
67637+ si.si_addr = (void __user *)addr;
67638 #ifdef __ARCH_SI_TRAPNO
67639 si.si_trapno = trapno;
67640 #endif
64866@@ -1008,7 +1008,7 @@ int __memory_failure(unsigned long pfn, 67641@@ -1008,7 +1008,7 @@ int __memory_failure(unsigned long pfn,
64867 } 67642 }
64868 67643
@@ -64926,9 +67701,9 @@ diff -urNp linux-3.0.4/mm/memory-failure.c linux-3.0.4/mm/memory-failure.c
64926 SetPageHWPoison(page); 67701 SetPageHWPoison(page);
64927 /* keep elevated page count for bad page */ 67702 /* keep elevated page count for bad page */
64928 return ret; 67703 return ret;
64929diff -urNp linux-3.0.4/mm/mempolicy.c linux-3.0.4/mm/mempolicy.c 67704diff -urNp linux-3.0.7/mm/mempolicy.c linux-3.0.7/mm/mempolicy.c
64930--- linux-3.0.4/mm/mempolicy.c 2011-07-21 22:17:23.000000000 -0400 67705--- linux-3.0.7/mm/mempolicy.c 2011-07-21 22:17:23.000000000 -0400
64931+++ linux-3.0.4/mm/mempolicy.c 2011-08-23 21:48:14.000000000 -0400 67706+++ linux-3.0.7/mm/mempolicy.c 2011-08-23 21:48:14.000000000 -0400
64932@@ -639,6 +639,10 @@ static int mbind_range(struct mm_struct 67707@@ -639,6 +639,10 @@ static int mbind_range(struct mm_struct
64933 unsigned long vmstart; 67708 unsigned long vmstart;
64934 unsigned long vmend; 67709 unsigned long vmend;
@@ -65000,9 +67775,9 @@ diff -urNp linux-3.0.4/mm/mempolicy.c linux-3.0.4/mm/mempolicy.c
65000 rcu_read_unlock(); 67775 rcu_read_unlock();
65001 err = -EPERM; 67776 err = -EPERM;
65002 goto out; 67777 goto out;
65003diff -urNp linux-3.0.4/mm/migrate.c linux-3.0.4/mm/migrate.c 67778diff -urNp linux-3.0.7/mm/migrate.c linux-3.0.7/mm/migrate.c
65004--- linux-3.0.4/mm/migrate.c 2011-07-21 22:17:23.000000000 -0400 67779--- linux-3.0.7/mm/migrate.c 2011-07-21 22:17:23.000000000 -0400
65005+++ linux-3.0.4/mm/migrate.c 2011-08-23 21:48:14.000000000 -0400 67780+++ linux-3.0.7/mm/migrate.c 2011-08-23 21:48:14.000000000 -0400
65006@@ -1124,6 +1124,8 @@ static int do_pages_move(struct mm_struc 67781@@ -1124,6 +1124,8 @@ static int do_pages_move(struct mm_struc
65007 unsigned long chunk_start; 67782 unsigned long chunk_start;
65008 int err; 67783 int err;
@@ -65037,9 +67812,9 @@ diff -urNp linux-3.0.4/mm/migrate.c linux-3.0.4/mm/migrate.c
65037 rcu_read_unlock(); 67812 rcu_read_unlock();
65038 err = -EPERM; 67813 err = -EPERM;
65039 goto out; 67814 goto out;
65040diff -urNp linux-3.0.4/mm/mlock.c linux-3.0.4/mm/mlock.c 67815diff -urNp linux-3.0.7/mm/mlock.c linux-3.0.7/mm/mlock.c
65041--- linux-3.0.4/mm/mlock.c 2011-07-21 22:17:23.000000000 -0400 67816--- linux-3.0.7/mm/mlock.c 2011-07-21 22:17:23.000000000 -0400
65042+++ linux-3.0.4/mm/mlock.c 2011-08-23 21:48:14.000000000 -0400 67817+++ linux-3.0.7/mm/mlock.c 2011-08-23 21:48:14.000000000 -0400
65043@@ -13,6 +13,7 @@ 67818@@ -13,6 +13,7 @@
65044 #include <linux/pagemap.h> 67819 #include <linux/pagemap.h>
65045 #include <linux/mempolicy.h> 67820 #include <linux/mempolicy.h>
@@ -65113,9 +67888,9 @@ diff -urNp linux-3.0.4/mm/mlock.c linux-3.0.4/mm/mlock.c
65113 if (!(flags & MCL_CURRENT) || (current->mm->total_vm <= lock_limit) || 67888 if (!(flags & MCL_CURRENT) || (current->mm->total_vm <= lock_limit) ||
65114 capable(CAP_IPC_LOCK)) 67889 capable(CAP_IPC_LOCK))
65115 ret = do_mlockall(flags); 67890 ret = do_mlockall(flags);
65116diff -urNp linux-3.0.4/mm/mmap.c linux-3.0.4/mm/mmap.c 67891diff -urNp linux-3.0.7/mm/mmap.c linux-3.0.7/mm/mmap.c
65117--- linux-3.0.4/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 67892--- linux-3.0.7/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400
65118+++ linux-3.0.4/mm/mmap.c 2011-08-23 21:48:14.000000000 -0400 67893+++ linux-3.0.7/mm/mmap.c 2011-08-23 21:48:14.000000000 -0400
65119@@ -46,6 +46,16 @@ 67894@@ -46,6 +46,16 @@
65120 #define arch_rebalance_pgtables(addr, len) (addr) 67895 #define arch_rebalance_pgtables(addr, len) (addr)
65121 #endif 67896 #endif
@@ -66374,9 +69149,9 @@ diff -urNp linux-3.0.4/mm/mmap.c linux-3.0.4/mm/mmap.c
66374 vma->vm_flags = vm_flags | mm->def_flags | VM_DONTEXPAND; 69149 vma->vm_flags = vm_flags | mm->def_flags | VM_DONTEXPAND;
66375 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); 69150 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
66376 69151
66377diff -urNp linux-3.0.4/mm/mprotect.c linux-3.0.4/mm/mprotect.c 69152diff -urNp linux-3.0.7/mm/mprotect.c linux-3.0.7/mm/mprotect.c
66378--- linux-3.0.4/mm/mprotect.c 2011-07-21 22:17:23.000000000 -0400 69153--- linux-3.0.7/mm/mprotect.c 2011-07-21 22:17:23.000000000 -0400
66379+++ linux-3.0.4/mm/mprotect.c 2011-08-23 21:48:14.000000000 -0400 69154+++ linux-3.0.7/mm/mprotect.c 2011-08-23 21:48:14.000000000 -0400
66380@@ -23,10 +23,16 @@ 69155@@ -23,10 +23,16 @@
66381 #include <linux/mmu_notifier.h> 69156 #include <linux/mmu_notifier.h>
66382 #include <linux/migrate.h> 69157 #include <linux/migrate.h>
@@ -66603,9 +69378,9 @@ diff -urNp linux-3.0.4/mm/mprotect.c linux-3.0.4/mm/mprotect.c
66603 nstart = tmp; 69378 nstart = tmp;
66604 69379
66605 if (nstart < prev->vm_end) 69380 if (nstart < prev->vm_end)
66606diff -urNp linux-3.0.4/mm/mremap.c linux-3.0.4/mm/mremap.c 69381diff -urNp linux-3.0.7/mm/mremap.c linux-3.0.7/mm/mremap.c
66607--- linux-3.0.4/mm/mremap.c 2011-07-21 22:17:23.000000000 -0400 69382--- linux-3.0.7/mm/mremap.c 2011-07-21 22:17:23.000000000 -0400
66608+++ linux-3.0.4/mm/mremap.c 2011-08-23 21:47:56.000000000 -0400 69383+++ linux-3.0.7/mm/mremap.c 2011-08-23 21:47:56.000000000 -0400
66609@@ -113,6 +113,12 @@ static void move_ptes(struct vm_area_str 69384@@ -113,6 +113,12 @@ static void move_ptes(struct vm_area_str
66610 continue; 69385 continue;
66611 pte = ptep_clear_flush(vma, old_addr, old_pte); 69386 pte = ptep_clear_flush(vma, old_addr, old_pte);
@@ -66710,9 +69485,9 @@ diff -urNp linux-3.0.4/mm/mremap.c linux-3.0.4/mm/mremap.c
66710 } 69485 }
66711 out: 69486 out:
66712 if (ret & ~PAGE_MASK) 69487 if (ret & ~PAGE_MASK)
66713diff -urNp linux-3.0.4/mm/nobootmem.c linux-3.0.4/mm/nobootmem.c 69488diff -urNp linux-3.0.7/mm/nobootmem.c linux-3.0.7/mm/nobootmem.c
66714--- linux-3.0.4/mm/nobootmem.c 2011-07-21 22:17:23.000000000 -0400 69489--- linux-3.0.7/mm/nobootmem.c 2011-07-21 22:17:23.000000000 -0400
66715+++ linux-3.0.4/mm/nobootmem.c 2011-08-23 21:47:56.000000000 -0400 69490+++ linux-3.0.7/mm/nobootmem.c 2011-08-23 21:47:56.000000000 -0400
66716@@ -110,19 +110,30 @@ static void __init __free_pages_memory(u 69491@@ -110,19 +110,30 @@ static void __init __free_pages_memory(u
66717 unsigned long __init free_all_memory_core_early(int nodeid) 69492 unsigned long __init free_all_memory_core_early(int nodeid)
66718 { 69493 {
@@ -66746,9 +69521,9 @@ diff -urNp linux-3.0.4/mm/nobootmem.c linux-3.0.4/mm/nobootmem.c
66746 69521
66747 return count; 69522 return count;
66748 } 69523 }
66749diff -urNp linux-3.0.4/mm/nommu.c linux-3.0.4/mm/nommu.c 69524diff -urNp linux-3.0.7/mm/nommu.c linux-3.0.7/mm/nommu.c
66750--- linux-3.0.4/mm/nommu.c 2011-07-21 22:17:23.000000000 -0400 69525--- linux-3.0.7/mm/nommu.c 2011-07-21 22:17:23.000000000 -0400
66751+++ linux-3.0.4/mm/nommu.c 2011-08-23 21:47:56.000000000 -0400 69526+++ linux-3.0.7/mm/nommu.c 2011-08-23 21:47:56.000000000 -0400
66752@@ -63,7 +63,6 @@ int sysctl_overcommit_memory = OVERCOMMI 69527@@ -63,7 +63,6 @@ int sysctl_overcommit_memory = OVERCOMMI
66753 int sysctl_overcommit_ratio = 50; /* default is 50% */ 69528 int sysctl_overcommit_ratio = 50; /* default is 50% */
66754 int sysctl_max_map_count = DEFAULT_MAX_MAP_COUNT; 69529 int sysctl_max_map_count = DEFAULT_MAX_MAP_COUNT;
@@ -66781,9 +69556,9 @@ diff -urNp linux-3.0.4/mm/nommu.c linux-3.0.4/mm/nommu.c
66781 *region = *vma->vm_region; 69556 *region = *vma->vm_region;
66782 new->vm_region = region; 69557 new->vm_region = region;
66783 69558
66784diff -urNp linux-3.0.4/mm/page_alloc.c linux-3.0.4/mm/page_alloc.c 69559diff -urNp linux-3.0.7/mm/page_alloc.c linux-3.0.7/mm/page_alloc.c
66785--- linux-3.0.4/mm/page_alloc.c 2011-07-21 22:17:23.000000000 -0400 69560--- linux-3.0.7/mm/page_alloc.c 2011-10-16 21:54:54.000000000 -0400
66786+++ linux-3.0.4/mm/page_alloc.c 2011-08-23 21:48:14.000000000 -0400 69561+++ linux-3.0.7/mm/page_alloc.c 2011-10-16 21:55:28.000000000 -0400
66787@@ -340,7 +340,7 @@ out: 69562@@ -340,7 +340,7 @@ out:
66788 * This usage means that zero-order pages may not be compound. 69563 * This usage means that zero-order pages may not be compound.
66789 */ 69564 */
@@ -66828,7 +69603,7 @@ diff -urNp linux-3.0.4/mm/page_alloc.c linux-3.0.4/mm/page_alloc.c
66828 69603
66829 if (order && (gfp_flags & __GFP_COMP)) 69604 if (order && (gfp_flags & __GFP_COMP))
66830 prep_compound_page(page, order); 69605 prep_compound_page(page, order);
66831@@ -2525,6 +2537,8 @@ void show_free_areas(unsigned int filter 69606@@ -2557,6 +2569,8 @@ void show_free_areas(unsigned int filter
66832 int cpu; 69607 int cpu;
66833 struct zone *zone; 69608 struct zone *zone;
66834 69609
@@ -66837,9 +69612,9 @@ diff -urNp linux-3.0.4/mm/page_alloc.c linux-3.0.4/mm/page_alloc.c
66837 for_each_populated_zone(zone) { 69612 for_each_populated_zone(zone) {
66838 if (skip_free_areas_node(filter, zone_to_nid(zone))) 69613 if (skip_free_areas_node(filter, zone_to_nid(zone)))
66839 continue; 69614 continue;
66840diff -urNp linux-3.0.4/mm/percpu.c linux-3.0.4/mm/percpu.c 69615diff -urNp linux-3.0.7/mm/percpu.c linux-3.0.7/mm/percpu.c
66841--- linux-3.0.4/mm/percpu.c 2011-07-21 22:17:23.000000000 -0400 69616--- linux-3.0.7/mm/percpu.c 2011-07-21 22:17:23.000000000 -0400
66842+++ linux-3.0.4/mm/percpu.c 2011-08-23 21:47:56.000000000 -0400 69617+++ linux-3.0.7/mm/percpu.c 2011-08-23 21:47:56.000000000 -0400
66843@@ -121,7 +121,7 @@ static unsigned int pcpu_first_unit_cpu 69618@@ -121,7 +121,7 @@ static unsigned int pcpu_first_unit_cpu
66844 static unsigned int pcpu_last_unit_cpu __read_mostly; 69619 static unsigned int pcpu_last_unit_cpu __read_mostly;
66845 69620
@@ -66849,9 +69624,9 @@ diff -urNp linux-3.0.4/mm/percpu.c linux-3.0.4/mm/percpu.c
66849 EXPORT_SYMBOL_GPL(pcpu_base_addr); 69624 EXPORT_SYMBOL_GPL(pcpu_base_addr);
66850 69625
66851 static const int *pcpu_unit_map __read_mostly; /* cpu -> unit */ 69626 static const int *pcpu_unit_map __read_mostly; /* cpu -> unit */
66852diff -urNp linux-3.0.4/mm/rmap.c linux-3.0.4/mm/rmap.c 69627diff -urNp linux-3.0.7/mm/rmap.c linux-3.0.7/mm/rmap.c
66853--- linux-3.0.4/mm/rmap.c 2011-07-21 22:17:23.000000000 -0400 69628--- linux-3.0.7/mm/rmap.c 2011-07-21 22:17:23.000000000 -0400
66854+++ linux-3.0.4/mm/rmap.c 2011-08-23 21:47:56.000000000 -0400 69629+++ linux-3.0.7/mm/rmap.c 2011-08-23 21:47:56.000000000 -0400
66855@@ -153,6 +153,10 @@ int anon_vma_prepare(struct vm_area_stru 69630@@ -153,6 +153,10 @@ int anon_vma_prepare(struct vm_area_stru
66856 struct anon_vma *anon_vma = vma->anon_vma; 69631 struct anon_vma *anon_vma = vma->anon_vma;
66857 struct anon_vma_chain *avc; 69632 struct anon_vma_chain *avc;
@@ -66941,9 +69716,9 @@ diff -urNp linux-3.0.4/mm/rmap.c linux-3.0.4/mm/rmap.c
66941 { 69716 {
66942 struct anon_vma_chain *avc; 69717 struct anon_vma_chain *avc;
66943 struct anon_vma *anon_vma; 69718 struct anon_vma *anon_vma;
66944diff -urNp linux-3.0.4/mm/shmem.c linux-3.0.4/mm/shmem.c 69719diff -urNp linux-3.0.7/mm/shmem.c linux-3.0.7/mm/shmem.c
66945--- linux-3.0.4/mm/shmem.c 2011-07-21 22:17:23.000000000 -0400 69720--- linux-3.0.7/mm/shmem.c 2011-07-21 22:17:23.000000000 -0400
66946+++ linux-3.0.4/mm/shmem.c 2011-08-23 21:48:14.000000000 -0400 69721+++ linux-3.0.7/mm/shmem.c 2011-08-23 21:48:14.000000000 -0400
66947@@ -31,7 +31,7 @@ 69722@@ -31,7 +31,7 @@
66948 #include <linux/percpu_counter.h> 69723 #include <linux/percpu_counter.h>
66949 #include <linux/swap.h> 69724 #include <linux/swap.h>
@@ -66981,9 +69756,9 @@ diff -urNp linux-3.0.4/mm/shmem.c linux-3.0.4/mm/shmem.c
66981 if (!sbinfo) 69756 if (!sbinfo)
66982 return -ENOMEM; 69757 return -ENOMEM;
66983 69758
66984diff -urNp linux-3.0.4/mm/slab.c linux-3.0.4/mm/slab.c 69759diff -urNp linux-3.0.7/mm/slab.c linux-3.0.7/mm/slab.c
66985--- linux-3.0.4/mm/slab.c 2011-07-21 22:17:23.000000000 -0400 69760--- linux-3.0.7/mm/slab.c 2011-07-21 22:17:23.000000000 -0400
66986+++ linux-3.0.4/mm/slab.c 2011-08-23 21:48:14.000000000 -0400 69761+++ linux-3.0.7/mm/slab.c 2011-08-23 21:48:14.000000000 -0400
66987@@ -151,7 +151,7 @@ 69762@@ -151,7 +151,7 @@
66988 69763
66989 /* Legal flag mask for kmem_cache_create(). */ 69764 /* Legal flag mask for kmem_cache_create(). */
@@ -67155,9 +69930,9 @@ diff -urNp linux-3.0.4/mm/slab.c linux-3.0.4/mm/slab.c
67155 /** 69930 /**
67156 * ksize - get the actual amount of memory allocated for a given object 69931 * ksize - get the actual amount of memory allocated for a given object
67157 * @objp: Pointer to the object 69932 * @objp: Pointer to the object
67158diff -urNp linux-3.0.4/mm/slob.c linux-3.0.4/mm/slob.c 69933diff -urNp linux-3.0.7/mm/slob.c linux-3.0.7/mm/slob.c
67159--- linux-3.0.4/mm/slob.c 2011-07-21 22:17:23.000000000 -0400 69934--- linux-3.0.7/mm/slob.c 2011-07-21 22:17:23.000000000 -0400
67160+++ linux-3.0.4/mm/slob.c 2011-08-23 21:47:56.000000000 -0400 69935+++ linux-3.0.7/mm/slob.c 2011-08-23 21:47:56.000000000 -0400
67161@@ -29,7 +29,7 @@ 69936@@ -29,7 +29,7 @@
67162 * If kmalloc is asked for objects of PAGE_SIZE or larger, it calls 69937 * If kmalloc is asked for objects of PAGE_SIZE or larger, it calls
67163 * alloc_pages() directly, allocating compound pages so the page order 69938 * alloc_pages() directly, allocating compound pages so the page order
@@ -67506,9 +70281,9 @@ diff -urNp linux-3.0.4/mm/slob.c linux-3.0.4/mm/slob.c
67506 } 70281 }
67507 EXPORT_SYMBOL(kmem_cache_free); 70282 EXPORT_SYMBOL(kmem_cache_free);
67508 70283
67509diff -urNp linux-3.0.4/mm/slub.c linux-3.0.4/mm/slub.c 70284diff -urNp linux-3.0.7/mm/slub.c linux-3.0.7/mm/slub.c
67510--- linux-3.0.4/mm/slub.c 2011-07-21 22:17:23.000000000 -0400 70285--- linux-3.0.7/mm/slub.c 2011-07-21 22:17:23.000000000 -0400
67511+++ linux-3.0.4/mm/slub.c 2011-09-25 22:15:40.000000000 -0400 70286+++ linux-3.0.7/mm/slub.c 2011-09-25 22:15:40.000000000 -0400
67512@@ -200,7 +200,7 @@ struct track { 70287@@ -200,7 +200,7 @@ struct track {
67513 70288
67514 enum track_item { TRACK_ALLOC, TRACK_FREE }; 70289 enum track_item { TRACK_ALLOC, TRACK_FREE };
@@ -67748,9 +70523,9 @@ diff -urNp linux-3.0.4/mm/slub.c linux-3.0.4/mm/slub.c
67748 return 0; 70523 return 0;
67749 } 70524 }
67750 module_init(slab_proc_init); 70525 module_init(slab_proc_init);
67751diff -urNp linux-3.0.4/mm/swap.c linux-3.0.4/mm/swap.c 70526diff -urNp linux-3.0.7/mm/swap.c linux-3.0.7/mm/swap.c
67752--- linux-3.0.4/mm/swap.c 2011-07-21 22:17:23.000000000 -0400 70527--- linux-3.0.7/mm/swap.c 2011-07-21 22:17:23.000000000 -0400
67753+++ linux-3.0.4/mm/swap.c 2011-08-23 21:47:56.000000000 -0400 70528+++ linux-3.0.7/mm/swap.c 2011-08-23 21:47:56.000000000 -0400
67754@@ -31,6 +31,7 @@ 70529@@ -31,6 +31,7 @@
67755 #include <linux/backing-dev.h> 70530 #include <linux/backing-dev.h>
67756 #include <linux/memcontrol.h> 70531 #include <linux/memcontrol.h>
@@ -67768,9 +70543,9 @@ diff -urNp linux-3.0.4/mm/swap.c linux-3.0.4/mm/swap.c
67768 (*dtor)(page); 70543 (*dtor)(page);
67769 } 70544 }
67770 70545
67771diff -urNp linux-3.0.4/mm/swapfile.c linux-3.0.4/mm/swapfile.c 70546diff -urNp linux-3.0.7/mm/swapfile.c linux-3.0.7/mm/swapfile.c
67772--- linux-3.0.4/mm/swapfile.c 2011-07-21 22:17:23.000000000 -0400 70547--- linux-3.0.7/mm/swapfile.c 2011-07-21 22:17:23.000000000 -0400
67773+++ linux-3.0.4/mm/swapfile.c 2011-08-23 21:47:56.000000000 -0400 70548+++ linux-3.0.7/mm/swapfile.c 2011-08-23 21:47:56.000000000 -0400
67774@@ -62,7 +62,7 @@ static DEFINE_MUTEX(swapon_mutex); 70549@@ -62,7 +62,7 @@ static DEFINE_MUTEX(swapon_mutex);
67775 70550
67776 static DECLARE_WAIT_QUEUE_HEAD(proc_poll_wait); 70551 static DECLARE_WAIT_QUEUE_HEAD(proc_poll_wait);
@@ -67818,9 +70593,9 @@ diff -urNp linux-3.0.4/mm/swapfile.c linux-3.0.4/mm/swapfile.c
67818 wake_up_interruptible(&proc_poll_wait); 70593 wake_up_interruptible(&proc_poll_wait);
67819 70594
67820 if (S_ISREG(inode->i_mode)) 70595 if (S_ISREG(inode->i_mode))
67821diff -urNp linux-3.0.4/mm/util.c linux-3.0.4/mm/util.c 70596diff -urNp linux-3.0.7/mm/util.c linux-3.0.7/mm/util.c
67822--- linux-3.0.4/mm/util.c 2011-07-21 22:17:23.000000000 -0400 70597--- linux-3.0.7/mm/util.c 2011-07-21 22:17:23.000000000 -0400
67823+++ linux-3.0.4/mm/util.c 2011-08-23 21:47:56.000000000 -0400 70598+++ linux-3.0.7/mm/util.c 2011-08-23 21:47:56.000000000 -0400
67824@@ -114,6 +114,7 @@ EXPORT_SYMBOL(memdup_user); 70599@@ -114,6 +114,7 @@ EXPORT_SYMBOL(memdup_user);
67825 * allocated buffer. Use this if you don't want to free the buffer immediately 70600 * allocated buffer. Use this if you don't want to free the buffer immediately
67826 * like, for example, with RCU. 70601 * like, for example, with RCU.
@@ -67850,9 +70625,9 @@ diff -urNp linux-3.0.4/mm/util.c linux-3.0.4/mm/util.c
67850 mm->get_unmapped_area = arch_get_unmapped_area; 70625 mm->get_unmapped_area = arch_get_unmapped_area;
67851 mm->unmap_area = arch_unmap_area; 70626 mm->unmap_area = arch_unmap_area;
67852 } 70627 }
67853diff -urNp linux-3.0.4/mm/vmalloc.c linux-3.0.4/mm/vmalloc.c 70628diff -urNp linux-3.0.7/mm/vmalloc.c linux-3.0.7/mm/vmalloc.c
67854--- linux-3.0.4/mm/vmalloc.c 2011-09-02 18:11:21.000000000 -0400 70629--- linux-3.0.7/mm/vmalloc.c 2011-10-16 21:54:54.000000000 -0400
67855+++ linux-3.0.4/mm/vmalloc.c 2011-08-23 21:47:56.000000000 -0400 70630+++ linux-3.0.7/mm/vmalloc.c 2011-10-16 21:55:28.000000000 -0400
67856@@ -39,8 +39,19 @@ static void vunmap_pte_range(pmd_t *pmd, 70631@@ -39,8 +39,19 @@ static void vunmap_pte_range(pmd_t *pmd,
67857 70632
67858 pte = pte_offset_kernel(pmd, addr); 70633 pte = pte_offset_kernel(pmd, addr);
@@ -68085,9 +70860,9 @@ diff -urNp linux-3.0.4/mm/vmalloc.c linux-3.0.4/mm/vmalloc.c
68085 if ((PAGE_SIZE-1) & (unsigned long)addr) 70860 if ((PAGE_SIZE-1) & (unsigned long)addr)
68086 return -EINVAL; 70861 return -EINVAL;
68087 70862
68088diff -urNp linux-3.0.4/mm/vmstat.c linux-3.0.4/mm/vmstat.c 70863diff -urNp linux-3.0.7/mm/vmstat.c linux-3.0.7/mm/vmstat.c
68089--- linux-3.0.4/mm/vmstat.c 2011-07-21 22:17:23.000000000 -0400 70864--- linux-3.0.7/mm/vmstat.c 2011-07-21 22:17:23.000000000 -0400
68090+++ linux-3.0.4/mm/vmstat.c 2011-08-23 21:48:14.000000000 -0400 70865+++ linux-3.0.7/mm/vmstat.c 2011-08-23 21:48:14.000000000 -0400
68091@@ -78,7 +78,7 @@ void vm_events_fold_cpu(int cpu) 70866@@ -78,7 +78,7 @@ void vm_events_fold_cpu(int cpu)
68092 * 70867 *
68093 * vm_stat contains the global counters 70868 * vm_stat contains the global counters
@@ -68140,9 +70915,9 @@ diff -urNp linux-3.0.4/mm/vmstat.c linux-3.0.4/mm/vmstat.c
68140 #endif 70915 #endif
68141 return 0; 70916 return 0;
68142 } 70917 }
68143diff -urNp linux-3.0.4/net/8021q/vlan.c linux-3.0.4/net/8021q/vlan.c 70918diff -urNp linux-3.0.7/net/8021q/vlan.c linux-3.0.7/net/8021q/vlan.c
68144--- linux-3.0.4/net/8021q/vlan.c 2011-07-21 22:17:23.000000000 -0400 70919--- linux-3.0.7/net/8021q/vlan.c 2011-07-21 22:17:23.000000000 -0400
68145+++ linux-3.0.4/net/8021q/vlan.c 2011-08-23 21:47:56.000000000 -0400 70920+++ linux-3.0.7/net/8021q/vlan.c 2011-08-23 21:47:56.000000000 -0400
68146@@ -591,8 +591,7 @@ static int vlan_ioctl_handler(struct net 70921@@ -591,8 +591,7 @@ static int vlan_ioctl_handler(struct net
68147 err = -EPERM; 70922 err = -EPERM;
68148 if (!capable(CAP_NET_ADMIN)) 70923 if (!capable(CAP_NET_ADMIN))
@@ -68153,9 +70928,42 @@ diff -urNp linux-3.0.4/net/8021q/vlan.c linux-3.0.4/net/8021q/vlan.c
68153 struct vlan_net *vn; 70928 struct vlan_net *vn;
68154 70929
68155 vn = net_generic(net, vlan_net_id); 70930 vn = net_generic(net, vlan_net_id);
68156diff -urNp linux-3.0.4/net/atm/atm_misc.c linux-3.0.4/net/atm/atm_misc.c 70931diff -urNp linux-3.0.7/net/9p/trans_fd.c linux-3.0.7/net/9p/trans_fd.c
68157--- linux-3.0.4/net/atm/atm_misc.c 2011-07-21 22:17:23.000000000 -0400 70932--- linux-3.0.7/net/9p/trans_fd.c 2011-07-21 22:17:23.000000000 -0400
68158+++ linux-3.0.4/net/atm/atm_misc.c 2011-08-23 21:47:56.000000000 -0400 70933+++ linux-3.0.7/net/9p/trans_fd.c 2011-10-06 04:17:55.000000000 -0400
70934@@ -423,7 +423,7 @@ static int p9_fd_write(struct p9_client
70935 oldfs = get_fs();
70936 set_fs(get_ds());
70937 /* The cast to a user pointer is valid due to the set_fs() */
70938- ret = vfs_write(ts->wr, (__force void __user *)v, len, &ts->wr->f_pos);
70939+ ret = vfs_write(ts->wr, (void __force_user *)v, len, &ts->wr->f_pos);
70940 set_fs(oldfs);
70941
70942 if (ret <= 0 && ret != -ERESTARTSYS && ret != -EAGAIN)
70943diff -urNp linux-3.0.7/net/9p/trans_virtio.c linux-3.0.7/net/9p/trans_virtio.c
70944--- linux-3.0.7/net/9p/trans_virtio.c 2011-10-16 21:54:54.000000000 -0400
70945+++ linux-3.0.7/net/9p/trans_virtio.c 2011-10-16 21:55:28.000000000 -0400
70946@@ -327,7 +327,7 @@ req_retry_pinned:
70947 } else {
70948 char *pbuf;
70949 if (req->tc->pubuf)
70950- pbuf = (__force char *) req->tc->pubuf;
70951+ pbuf = (char __force_kernel *) req->tc->pubuf;
70952 else
70953 pbuf = req->tc->pkbuf;
70954 outp = pack_sg_list(chan->sg, out, VIRTQUEUE_NUM, pbuf,
70955@@ -357,7 +357,7 @@ req_retry_pinned:
70956 } else {
70957 char *pbuf;
70958 if (req->tc->pubuf)
70959- pbuf = (__force char *) req->tc->pubuf;
70960+ pbuf = (char __force_kernel *) req->tc->pubuf;
70961 else
70962 pbuf = req->tc->pkbuf;
70963
70964diff -urNp linux-3.0.7/net/atm/atm_misc.c linux-3.0.7/net/atm/atm_misc.c
70965--- linux-3.0.7/net/atm/atm_misc.c 2011-07-21 22:17:23.000000000 -0400
70966+++ linux-3.0.7/net/atm/atm_misc.c 2011-08-23 21:47:56.000000000 -0400
68159@@ -17,7 +17,7 @@ int atm_charge(struct atm_vcc *vcc, int 70967@@ -17,7 +17,7 @@ int atm_charge(struct atm_vcc *vcc, int
68160 if (atomic_read(&sk_atm(vcc)->sk_rmem_alloc) <= sk_atm(vcc)->sk_rcvbuf) 70968 if (atomic_read(&sk_atm(vcc)->sk_rmem_alloc) <= sk_atm(vcc)->sk_rcvbuf)
68161 return 1; 70969 return 1;
@@ -68192,9 +71000,9 @@ diff -urNp linux-3.0.4/net/atm/atm_misc.c linux-3.0.4/net/atm/atm_misc.c
68192 __SONET_ITEMS 71000 __SONET_ITEMS
68193 #undef __HANDLE_ITEM 71001 #undef __HANDLE_ITEM
68194 } 71002 }
68195diff -urNp linux-3.0.4/net/atm/lec.h linux-3.0.4/net/atm/lec.h 71003diff -urNp linux-3.0.7/net/atm/lec.h linux-3.0.7/net/atm/lec.h
68196--- linux-3.0.4/net/atm/lec.h 2011-07-21 22:17:23.000000000 -0400 71004--- linux-3.0.7/net/atm/lec.h 2011-07-21 22:17:23.000000000 -0400
68197+++ linux-3.0.4/net/atm/lec.h 2011-08-23 21:47:56.000000000 -0400 71005+++ linux-3.0.7/net/atm/lec.h 2011-08-23 21:47:56.000000000 -0400
68198@@ -48,7 +48,7 @@ struct lane2_ops { 71006@@ -48,7 +48,7 @@ struct lane2_ops {
68199 const u8 *tlvs, u32 sizeoftlvs); 71007 const u8 *tlvs, u32 sizeoftlvs);
68200 void (*associate_indicator) (struct net_device *dev, const u8 *mac_addr, 71008 void (*associate_indicator) (struct net_device *dev, const u8 *mac_addr,
@@ -68204,9 +71012,9 @@ diff -urNp linux-3.0.4/net/atm/lec.h linux-3.0.4/net/atm/lec.h
68204 71012
68205 /* 71013 /*
68206 * ATM LAN Emulation supports both LLC & Dix Ethernet EtherType 71014 * ATM LAN Emulation supports both LLC & Dix Ethernet EtherType
68207diff -urNp linux-3.0.4/net/atm/mpc.h linux-3.0.4/net/atm/mpc.h 71015diff -urNp linux-3.0.7/net/atm/mpc.h linux-3.0.7/net/atm/mpc.h
68208--- linux-3.0.4/net/atm/mpc.h 2011-07-21 22:17:23.000000000 -0400 71016--- linux-3.0.7/net/atm/mpc.h 2011-07-21 22:17:23.000000000 -0400
68209+++ linux-3.0.4/net/atm/mpc.h 2011-08-23 21:47:56.000000000 -0400 71017+++ linux-3.0.7/net/atm/mpc.h 2011-08-23 21:47:56.000000000 -0400
68210@@ -33,7 +33,7 @@ struct mpoa_client { 71018@@ -33,7 +33,7 @@ struct mpoa_client {
68211 struct mpc_parameters parameters; /* parameters for this client */ 71019 struct mpc_parameters parameters; /* parameters for this client */
68212 71020
@@ -68216,9 +71024,9 @@ diff -urNp linux-3.0.4/net/atm/mpc.h linux-3.0.4/net/atm/mpc.h
68216 }; 71024 };
68217 71025
68218 71026
68219diff -urNp linux-3.0.4/net/atm/mpoa_caches.c linux-3.0.4/net/atm/mpoa_caches.c 71027diff -urNp linux-3.0.7/net/atm/mpoa_caches.c linux-3.0.7/net/atm/mpoa_caches.c
68220--- linux-3.0.4/net/atm/mpoa_caches.c 2011-07-21 22:17:23.000000000 -0400 71028--- linux-3.0.7/net/atm/mpoa_caches.c 2011-07-21 22:17:23.000000000 -0400
68221+++ linux-3.0.4/net/atm/mpoa_caches.c 2011-08-23 21:48:14.000000000 -0400 71029+++ linux-3.0.7/net/atm/mpoa_caches.c 2011-08-23 21:48:14.000000000 -0400
68222@@ -255,6 +255,8 @@ static void check_resolving_entries(stru 71030@@ -255,6 +255,8 @@ static void check_resolving_entries(stru
68223 struct timeval now; 71031 struct timeval now;
68224 struct k_message msg; 71032 struct k_message msg;
@@ -68228,9 +71036,9 @@ diff -urNp linux-3.0.4/net/atm/mpoa_caches.c linux-3.0.4/net/atm/mpoa_caches.c
68228 do_gettimeofday(&now); 71036 do_gettimeofday(&now);
68229 71037
68230 read_lock_bh(&client->ingress_lock); 71038 read_lock_bh(&client->ingress_lock);
68231diff -urNp linux-3.0.4/net/atm/proc.c linux-3.0.4/net/atm/proc.c 71039diff -urNp linux-3.0.7/net/atm/proc.c linux-3.0.7/net/atm/proc.c
68232--- linux-3.0.4/net/atm/proc.c 2011-07-21 22:17:23.000000000 -0400 71040--- linux-3.0.7/net/atm/proc.c 2011-07-21 22:17:23.000000000 -0400
68233+++ linux-3.0.4/net/atm/proc.c 2011-08-23 21:47:56.000000000 -0400 71041+++ linux-3.0.7/net/atm/proc.c 2011-08-23 21:47:56.000000000 -0400
68234@@ -45,9 +45,9 @@ static void add_stats(struct seq_file *s 71042@@ -45,9 +45,9 @@ static void add_stats(struct seq_file *s
68235 const struct k_atm_aal_stats *stats) 71043 const struct k_atm_aal_stats *stats)
68236 { 71044 {
@@ -68244,9 +71052,9 @@ diff -urNp linux-3.0.4/net/atm/proc.c linux-3.0.4/net/atm/proc.c
68244 } 71052 }
68245 71053
68246 static void atm_dev_info(struct seq_file *seq, const struct atm_dev *dev) 71054 static void atm_dev_info(struct seq_file *seq, const struct atm_dev *dev)
68247diff -urNp linux-3.0.4/net/atm/resources.c linux-3.0.4/net/atm/resources.c 71055diff -urNp linux-3.0.7/net/atm/resources.c linux-3.0.7/net/atm/resources.c
68248--- linux-3.0.4/net/atm/resources.c 2011-07-21 22:17:23.000000000 -0400 71056--- linux-3.0.7/net/atm/resources.c 2011-07-21 22:17:23.000000000 -0400
68249+++ linux-3.0.4/net/atm/resources.c 2011-08-23 21:47:56.000000000 -0400 71057+++ linux-3.0.7/net/atm/resources.c 2011-08-23 21:47:56.000000000 -0400
68250@@ -160,7 +160,7 @@ EXPORT_SYMBOL(atm_dev_deregister); 71058@@ -160,7 +160,7 @@ EXPORT_SYMBOL(atm_dev_deregister);
68251 static void copy_aal_stats(struct k_atm_aal_stats *from, 71059 static void copy_aal_stats(struct k_atm_aal_stats *from,
68252 struct atm_aal_stats *to) 71060 struct atm_aal_stats *to)
@@ -68265,9 +71073,9 @@ diff -urNp linux-3.0.4/net/atm/resources.c linux-3.0.4/net/atm/resources.c
68265 __AAL_STAT_ITEMS 71073 __AAL_STAT_ITEMS
68266 #undef __HANDLE_ITEM 71074 #undef __HANDLE_ITEM
68267 } 71075 }
68268diff -urNp linux-3.0.4/net/batman-adv/hard-interface.c linux-3.0.4/net/batman-adv/hard-interface.c 71076diff -urNp linux-3.0.7/net/batman-adv/hard-interface.c linux-3.0.7/net/batman-adv/hard-interface.c
68269--- linux-3.0.4/net/batman-adv/hard-interface.c 2011-07-21 22:17:23.000000000 -0400 71077--- linux-3.0.7/net/batman-adv/hard-interface.c 2011-07-21 22:17:23.000000000 -0400
68270+++ linux-3.0.4/net/batman-adv/hard-interface.c 2011-08-23 21:47:56.000000000 -0400 71078+++ linux-3.0.7/net/batman-adv/hard-interface.c 2011-08-23 21:47:56.000000000 -0400
68271@@ -351,8 +351,8 @@ int hardif_enable_interface(struct hard_ 71079@@ -351,8 +351,8 @@ int hardif_enable_interface(struct hard_
68272 hard_iface->batman_adv_ptype.dev = hard_iface->net_dev; 71080 hard_iface->batman_adv_ptype.dev = hard_iface->net_dev;
68273 dev_add_pack(&hard_iface->batman_adv_ptype); 71081 dev_add_pack(&hard_iface->batman_adv_ptype);
@@ -68279,9 +71087,9 @@ diff -urNp linux-3.0.4/net/batman-adv/hard-interface.c linux-3.0.4/net/batman-ad
68279 bat_info(hard_iface->soft_iface, "Adding interface: %s\n", 71087 bat_info(hard_iface->soft_iface, "Adding interface: %s\n",
68280 hard_iface->net_dev->name); 71088 hard_iface->net_dev->name);
68281 71089
68282diff -urNp linux-3.0.4/net/batman-adv/routing.c linux-3.0.4/net/batman-adv/routing.c 71090diff -urNp linux-3.0.7/net/batman-adv/routing.c linux-3.0.7/net/batman-adv/routing.c
68283--- linux-3.0.4/net/batman-adv/routing.c 2011-07-21 22:17:23.000000000 -0400 71091--- linux-3.0.7/net/batman-adv/routing.c 2011-07-21 22:17:23.000000000 -0400
68284+++ linux-3.0.4/net/batman-adv/routing.c 2011-08-23 21:47:56.000000000 -0400 71092+++ linux-3.0.7/net/batman-adv/routing.c 2011-08-23 21:47:56.000000000 -0400
68285@@ -627,7 +627,7 @@ void receive_bat_packet(struct ethhdr *e 71093@@ -627,7 +627,7 @@ void receive_bat_packet(struct ethhdr *e
68286 return; 71094 return;
68287 71095
@@ -68291,9 +71099,9 @@ diff -urNp linux-3.0.4/net/batman-adv/routing.c linux-3.0.4/net/batman-adv/routi
68291 71099
68292 has_directlink_flag = (batman_packet->flags & DIRECTLINK ? 1 : 0); 71100 has_directlink_flag = (batman_packet->flags & DIRECTLINK ? 1 : 0);
68293 71101
68294diff -urNp linux-3.0.4/net/batman-adv/send.c linux-3.0.4/net/batman-adv/send.c 71102diff -urNp linux-3.0.7/net/batman-adv/send.c linux-3.0.7/net/batman-adv/send.c
68295--- linux-3.0.4/net/batman-adv/send.c 2011-07-21 22:17:23.000000000 -0400 71103--- linux-3.0.7/net/batman-adv/send.c 2011-07-21 22:17:23.000000000 -0400
68296+++ linux-3.0.4/net/batman-adv/send.c 2011-08-23 21:47:56.000000000 -0400 71104+++ linux-3.0.7/net/batman-adv/send.c 2011-08-23 21:47:56.000000000 -0400
68297@@ -279,7 +279,7 @@ void schedule_own_packet(struct hard_ifa 71105@@ -279,7 +279,7 @@ void schedule_own_packet(struct hard_ifa
68298 71106
68299 /* change sequence number to network order */ 71107 /* change sequence number to network order */
@@ -68312,9 +71120,9 @@ diff -urNp linux-3.0.4/net/batman-adv/send.c linux-3.0.4/net/batman-adv/send.c
68312 71120
68313 slide_own_bcast_window(hard_iface); 71121 slide_own_bcast_window(hard_iface);
68314 send_time = own_send_time(bat_priv); 71122 send_time = own_send_time(bat_priv);
68315diff -urNp linux-3.0.4/net/batman-adv/soft-interface.c linux-3.0.4/net/batman-adv/soft-interface.c 71123diff -urNp linux-3.0.7/net/batman-adv/soft-interface.c linux-3.0.7/net/batman-adv/soft-interface.c
68316--- linux-3.0.4/net/batman-adv/soft-interface.c 2011-07-21 22:17:23.000000000 -0400 71124--- linux-3.0.7/net/batman-adv/soft-interface.c 2011-07-21 22:17:23.000000000 -0400
68317+++ linux-3.0.4/net/batman-adv/soft-interface.c 2011-08-23 21:47:56.000000000 -0400 71125+++ linux-3.0.7/net/batman-adv/soft-interface.c 2011-08-23 21:47:56.000000000 -0400
68318@@ -628,7 +628,7 @@ int interface_tx(struct sk_buff *skb, st 71126@@ -628,7 +628,7 @@ int interface_tx(struct sk_buff *skb, st
68319 71127
68320 /* set broadcast sequence number */ 71128 /* set broadcast sequence number */
@@ -68333,9 +71141,9 @@ diff -urNp linux-3.0.4/net/batman-adv/soft-interface.c linux-3.0.4/net/batman-ad
68333 atomic_set(&bat_priv->tt_local_changed, 0); 71141 atomic_set(&bat_priv->tt_local_changed, 0);
68334 71142
68335 bat_priv->primary_if = NULL; 71143 bat_priv->primary_if = NULL;
68336diff -urNp linux-3.0.4/net/batman-adv/types.h linux-3.0.4/net/batman-adv/types.h 71144diff -urNp linux-3.0.7/net/batman-adv/types.h linux-3.0.7/net/batman-adv/types.h
68337--- linux-3.0.4/net/batman-adv/types.h 2011-07-21 22:17:23.000000000 -0400 71145--- linux-3.0.7/net/batman-adv/types.h 2011-07-21 22:17:23.000000000 -0400
68338+++ linux-3.0.4/net/batman-adv/types.h 2011-08-23 21:47:56.000000000 -0400 71146+++ linux-3.0.7/net/batman-adv/types.h 2011-08-23 21:47:56.000000000 -0400
68339@@ -38,8 +38,8 @@ struct hard_iface { 71147@@ -38,8 +38,8 @@ struct hard_iface {
68340 int16_t if_num; 71148 int16_t if_num;
68341 char if_status; 71149 char if_status;
@@ -68356,9 +71164,9 @@ diff -urNp linux-3.0.4/net/batman-adv/types.h linux-3.0.4/net/batman-adv/types.h
68356 atomic_t bcast_queue_left; 71164 atomic_t bcast_queue_left;
68357 atomic_t batman_queue_left; 71165 atomic_t batman_queue_left;
68358 char num_ifaces; 71166 char num_ifaces;
68359diff -urNp linux-3.0.4/net/batman-adv/unicast.c linux-3.0.4/net/batman-adv/unicast.c 71167diff -urNp linux-3.0.7/net/batman-adv/unicast.c linux-3.0.7/net/batman-adv/unicast.c
68360--- linux-3.0.4/net/batman-adv/unicast.c 2011-07-21 22:17:23.000000000 -0400 71168--- linux-3.0.7/net/batman-adv/unicast.c 2011-07-21 22:17:23.000000000 -0400
68361+++ linux-3.0.4/net/batman-adv/unicast.c 2011-08-23 21:47:56.000000000 -0400 71169+++ linux-3.0.7/net/batman-adv/unicast.c 2011-08-23 21:47:56.000000000 -0400
68362@@ -265,7 +265,7 @@ int frag_send_skb(struct sk_buff *skb, s 71170@@ -265,7 +265,7 @@ int frag_send_skb(struct sk_buff *skb, s
68363 frag1->flags = UNI_FRAG_HEAD | large_tail; 71171 frag1->flags = UNI_FRAG_HEAD | large_tail;
68364 frag2->flags = large_tail; 71172 frag2->flags = large_tail;
@@ -68368,9 +71176,9 @@ diff -urNp linux-3.0.4/net/batman-adv/unicast.c linux-3.0.4/net/batman-adv/unica
68368 frag1->seqno = htons(seqno - 1); 71176 frag1->seqno = htons(seqno - 1);
68369 frag2->seqno = htons(seqno); 71177 frag2->seqno = htons(seqno);
68370 71178
68371diff -urNp linux-3.0.4/net/bridge/br_multicast.c linux-3.0.4/net/bridge/br_multicast.c 71179diff -urNp linux-3.0.7/net/bridge/br_multicast.c linux-3.0.7/net/bridge/br_multicast.c
68372--- linux-3.0.4/net/bridge/br_multicast.c 2011-07-21 22:17:23.000000000 -0400 71180--- linux-3.0.7/net/bridge/br_multicast.c 2011-10-16 21:54:54.000000000 -0400
68373+++ linux-3.0.4/net/bridge/br_multicast.c 2011-08-23 21:47:56.000000000 -0400 71181+++ linux-3.0.7/net/bridge/br_multicast.c 2011-10-16 21:55:28.000000000 -0400
68374@@ -1485,7 +1485,7 @@ static int br_multicast_ipv6_rcv(struct 71182@@ -1485,7 +1485,7 @@ static int br_multicast_ipv6_rcv(struct
68375 nexthdr = ip6h->nexthdr; 71183 nexthdr = ip6h->nexthdr;
68376 offset = ipv6_skip_exthdr(skb, sizeof(*ip6h), &nexthdr); 71184 offset = ipv6_skip_exthdr(skb, sizeof(*ip6h), &nexthdr);
@@ -68380,9 +71188,9 @@ diff -urNp linux-3.0.4/net/bridge/br_multicast.c linux-3.0.4/net/bridge/br_multi
68380 return 0; 71188 return 0;
68381 71189
68382 /* Okay, we found ICMPv6 header */ 71190 /* Okay, we found ICMPv6 header */
68383diff -urNp linux-3.0.4/net/bridge/netfilter/ebtables.c linux-3.0.4/net/bridge/netfilter/ebtables.c 71191diff -urNp linux-3.0.7/net/bridge/netfilter/ebtables.c linux-3.0.7/net/bridge/netfilter/ebtables.c
68384--- linux-3.0.4/net/bridge/netfilter/ebtables.c 2011-07-21 22:17:23.000000000 -0400 71192--- linux-3.0.7/net/bridge/netfilter/ebtables.c 2011-07-21 22:17:23.000000000 -0400
68385+++ linux-3.0.4/net/bridge/netfilter/ebtables.c 2011-08-23 21:48:14.000000000 -0400 71193+++ linux-3.0.7/net/bridge/netfilter/ebtables.c 2011-08-23 21:48:14.000000000 -0400
68386@@ -1512,7 +1512,7 @@ static int do_ebt_get_ctl(struct sock *s 71194@@ -1512,7 +1512,7 @@ static int do_ebt_get_ctl(struct sock *s
68387 tmp.valid_hooks = t->table->valid_hooks; 71195 tmp.valid_hooks = t->table->valid_hooks;
68388 } 71196 }
@@ -68401,9 +71209,9 @@ diff -urNp linux-3.0.4/net/bridge/netfilter/ebtables.c linux-3.0.4/net/bridge/ne
68401 memset(&tinfo, 0, sizeof(tinfo)); 71209 memset(&tinfo, 0, sizeof(tinfo));
68402 71210
68403 if (cmd == EBT_SO_GET_ENTRIES) { 71211 if (cmd == EBT_SO_GET_ENTRIES) {
68404diff -urNp linux-3.0.4/net/caif/caif_socket.c linux-3.0.4/net/caif/caif_socket.c 71212diff -urNp linux-3.0.7/net/caif/caif_socket.c linux-3.0.7/net/caif/caif_socket.c
68405--- linux-3.0.4/net/caif/caif_socket.c 2011-07-21 22:17:23.000000000 -0400 71213--- linux-3.0.7/net/caif/caif_socket.c 2011-07-21 22:17:23.000000000 -0400
68406+++ linux-3.0.4/net/caif/caif_socket.c 2011-08-23 21:47:56.000000000 -0400 71214+++ linux-3.0.7/net/caif/caif_socket.c 2011-08-23 21:47:56.000000000 -0400
68407@@ -48,19 +48,20 @@ static struct dentry *debugfsdir; 71215@@ -48,19 +48,20 @@ static struct dentry *debugfsdir;
68408 #ifdef CONFIG_DEBUG_FS 71216 #ifdef CONFIG_DEBUG_FS
68409 struct debug_fs_counter { 71217 struct debug_fs_counter {
@@ -68533,9 +71341,9 @@ diff -urNp linux-3.0.4/net/caif/caif_socket.c linux-3.0.4/net/caif/caif_socket.c
68533 #ifdef CONFIG_DEBUG_FS 71341 #ifdef CONFIG_DEBUG_FS
68534 if (!IS_ERR(debugfsdir)) { 71342 if (!IS_ERR(debugfsdir)) {
68535 71343
68536diff -urNp linux-3.0.4/net/caif/cfctrl.c linux-3.0.4/net/caif/cfctrl.c 71344diff -urNp linux-3.0.7/net/caif/cfctrl.c linux-3.0.7/net/caif/cfctrl.c
68537--- linux-3.0.4/net/caif/cfctrl.c 2011-07-21 22:17:23.000000000 -0400 71345--- linux-3.0.7/net/caif/cfctrl.c 2011-07-21 22:17:23.000000000 -0400
68538+++ linux-3.0.4/net/caif/cfctrl.c 2011-08-23 21:48:14.000000000 -0400 71346+++ linux-3.0.7/net/caif/cfctrl.c 2011-08-23 21:48:14.000000000 -0400
68539@@ -9,6 +9,7 @@ 71347@@ -9,6 +9,7 @@
68540 #include <linux/stddef.h> 71348 #include <linux/stddef.h>
68541 #include <linux/spinlock.h> 71349 #include <linux/spinlock.h>
@@ -68583,9 +71391,139 @@ diff -urNp linux-3.0.4/net/caif/cfctrl.c linux-3.0.4/net/caif/cfctrl.c
68583 71391
68584 cfpkt_extr_head(pkt, &cmdrsp, 1); 71392 cfpkt_extr_head(pkt, &cmdrsp, 1);
68585 cmd = cmdrsp & CFCTRL_CMD_MASK; 71393 cmd = cmdrsp & CFCTRL_CMD_MASK;
68586diff -urNp linux-3.0.4/net/core/datagram.c linux-3.0.4/net/core/datagram.c 71394diff -urNp linux-3.0.7/net/compat.c linux-3.0.7/net/compat.c
68587--- linux-3.0.4/net/core/datagram.c 2011-07-21 22:17:23.000000000 -0400 71395--- linux-3.0.7/net/compat.c 2011-07-21 22:17:23.000000000 -0400
68588+++ linux-3.0.4/net/core/datagram.c 2011-08-23 21:47:56.000000000 -0400 71396+++ linux-3.0.7/net/compat.c 2011-10-06 04:17:55.000000000 -0400
71397@@ -70,9 +70,9 @@ int get_compat_msghdr(struct msghdr *kms
71398 __get_user(kmsg->msg_controllen, &umsg->msg_controllen) ||
71399 __get_user(kmsg->msg_flags, &umsg->msg_flags))
71400 return -EFAULT;
71401- kmsg->msg_name = compat_ptr(tmp1);
71402- kmsg->msg_iov = compat_ptr(tmp2);
71403- kmsg->msg_control = compat_ptr(tmp3);
71404+ kmsg->msg_name = (void __force_kernel *)compat_ptr(tmp1);
71405+ kmsg->msg_iov = (void __force_kernel *)compat_ptr(tmp2);
71406+ kmsg->msg_control = (void __force_kernel *)compat_ptr(tmp3);
71407 return 0;
71408 }
71409
71410@@ -84,7 +84,7 @@ int verify_compat_iovec(struct msghdr *k
71411
71412 if (kern_msg->msg_namelen) {
71413 if (mode == VERIFY_READ) {
71414- int err = move_addr_to_kernel(kern_msg->msg_name,
71415+ int err = move_addr_to_kernel((void __force_user *)kern_msg->msg_name,
71416 kern_msg->msg_namelen,
71417 kern_address);
71418 if (err < 0)
71419@@ -95,7 +95,7 @@ int verify_compat_iovec(struct msghdr *k
71420 kern_msg->msg_name = NULL;
71421
71422 tot_len = iov_from_user_compat_to_kern(kern_iov,
71423- (struct compat_iovec __user *)kern_msg->msg_iov,
71424+ (struct compat_iovec __force_user *)kern_msg->msg_iov,
71425 kern_msg->msg_iovlen);
71426 if (tot_len >= 0)
71427 kern_msg->msg_iov = kern_iov;
71428@@ -115,20 +115,20 @@ int verify_compat_iovec(struct msghdr *k
71429
71430 #define CMSG_COMPAT_FIRSTHDR(msg) \
71431 (((msg)->msg_controllen) >= sizeof(struct compat_cmsghdr) ? \
71432- (struct compat_cmsghdr __user *)((msg)->msg_control) : \
71433+ (struct compat_cmsghdr __force_user *)((msg)->msg_control) : \
71434 (struct compat_cmsghdr __user *)NULL)
71435
71436 #define CMSG_COMPAT_OK(ucmlen, ucmsg, mhdr) \
71437 ((ucmlen) >= sizeof(struct compat_cmsghdr) && \
71438 (ucmlen) <= (unsigned long) \
71439 ((mhdr)->msg_controllen - \
71440- ((char *)(ucmsg) - (char *)(mhdr)->msg_control)))
71441+ ((char __force_kernel *)(ucmsg) - (char *)(mhdr)->msg_control)))
71442
71443 static inline struct compat_cmsghdr __user *cmsg_compat_nxthdr(struct msghdr *msg,
71444 struct compat_cmsghdr __user *cmsg, int cmsg_len)
71445 {
71446 char __user *ptr = (char __user *)cmsg + CMSG_COMPAT_ALIGN(cmsg_len);
71447- if ((unsigned long)(ptr + 1 - (char __user *)msg->msg_control) >
71448+ if ((unsigned long)(ptr + 1 - (char __force_user *)msg->msg_control) >
71449 msg->msg_controllen)
71450 return NULL;
71451 return (struct compat_cmsghdr __user *)ptr;
71452@@ -220,7 +220,7 @@ int put_cmsg_compat(struct msghdr *kmsg,
71453 {
71454 struct compat_timeval ctv;
71455 struct compat_timespec cts[3];
71456- struct compat_cmsghdr __user *cm = (struct compat_cmsghdr __user *) kmsg->msg_control;
71457+ struct compat_cmsghdr __user *cm = (struct compat_cmsghdr __force_user *) kmsg->msg_control;
71458 struct compat_cmsghdr cmhdr;
71459 int cmlen;
71460
71461@@ -272,7 +272,7 @@ int put_cmsg_compat(struct msghdr *kmsg,
71462
71463 void scm_detach_fds_compat(struct msghdr *kmsg, struct scm_cookie *scm)
71464 {
71465- struct compat_cmsghdr __user *cm = (struct compat_cmsghdr __user *) kmsg->msg_control;
71466+ struct compat_cmsghdr __user *cm = (struct compat_cmsghdr __force_user *) kmsg->msg_control;
71467 int fdmax = (kmsg->msg_controllen - sizeof(struct compat_cmsghdr)) / sizeof(int);
71468 int fdnum = scm->fp->count;
71469 struct file **fp = scm->fp->fp;
71470@@ -369,7 +369,7 @@ static int do_set_sock_timeout(struct so
71471 return -EFAULT;
71472 old_fs = get_fs();
71473 set_fs(KERNEL_DS);
71474- err = sock_setsockopt(sock, level, optname, (char *)&ktime, sizeof(ktime));
71475+ err = sock_setsockopt(sock, level, optname, (char __force_user *)&ktime, sizeof(ktime));
71476 set_fs(old_fs);
71477
71478 return err;
71479@@ -430,7 +430,7 @@ static int do_get_sock_timeout(struct so
71480 len = sizeof(ktime);
71481 old_fs = get_fs();
71482 set_fs(KERNEL_DS);
71483- err = sock_getsockopt(sock, level, optname, (char *) &ktime, &len);
71484+ err = sock_getsockopt(sock, level, optname, (char __force_user *) &ktime, (int __force_user *)&len);
71485 set_fs(old_fs);
71486
71487 if (!err) {
71488@@ -565,7 +565,7 @@ int compat_mc_setsockopt(struct sock *so
71489 case MCAST_JOIN_GROUP:
71490 case MCAST_LEAVE_GROUP:
71491 {
71492- struct compat_group_req __user *gr32 = (void *)optval;
71493+ struct compat_group_req __user *gr32 = (void __user *)optval;
71494 struct group_req __user *kgr =
71495 compat_alloc_user_space(sizeof(struct group_req));
71496 u32 interface;
71497@@ -586,7 +586,7 @@ int compat_mc_setsockopt(struct sock *so
71498 case MCAST_BLOCK_SOURCE:
71499 case MCAST_UNBLOCK_SOURCE:
71500 {
71501- struct compat_group_source_req __user *gsr32 = (void *)optval;
71502+ struct compat_group_source_req __user *gsr32 = (void __user *)optval;
71503 struct group_source_req __user *kgsr = compat_alloc_user_space(
71504 sizeof(struct group_source_req));
71505 u32 interface;
71506@@ -607,7 +607,7 @@ int compat_mc_setsockopt(struct sock *so
71507 }
71508 case MCAST_MSFILTER:
71509 {
71510- struct compat_group_filter __user *gf32 = (void *)optval;
71511+ struct compat_group_filter __user *gf32 = (void __user *)optval;
71512 struct group_filter __user *kgf;
71513 u32 interface, fmode, numsrc;
71514
71515@@ -645,7 +645,7 @@ int compat_mc_getsockopt(struct sock *so
71516 char __user *optval, int __user *optlen,
71517 int (*getsockopt)(struct sock *, int, int, char __user *, int __user *))
71518 {
71519- struct compat_group_filter __user *gf32 = (void *)optval;
71520+ struct compat_group_filter __user *gf32 = (void __user *)optval;
71521 struct group_filter __user *kgf;
71522 int __user *koptlen;
71523 u32 interface, fmode, numsrc;
71524diff -urNp linux-3.0.7/net/core/datagram.c linux-3.0.7/net/core/datagram.c
71525--- linux-3.0.7/net/core/datagram.c 2011-07-21 22:17:23.000000000 -0400
71526+++ linux-3.0.7/net/core/datagram.c 2011-08-23 21:47:56.000000000 -0400
68589@@ -285,7 +285,7 @@ int skb_kill_datagram(struct sock *sk, s 71527@@ -285,7 +285,7 @@ int skb_kill_datagram(struct sock *sk, s
68590 } 71528 }
68591 71529
@@ -68595,9 +71533,9 @@ diff -urNp linux-3.0.4/net/core/datagram.c linux-3.0.4/net/core/datagram.c
68595 sk_mem_reclaim_partial(sk); 71533 sk_mem_reclaim_partial(sk);
68596 71534
68597 return err; 71535 return err;
68598diff -urNp linux-3.0.4/net/core/dev.c linux-3.0.4/net/core/dev.c 71536diff -urNp linux-3.0.7/net/core/dev.c linux-3.0.7/net/core/dev.c
68599--- linux-3.0.4/net/core/dev.c 2011-07-21 22:17:23.000000000 -0400 71537--- linux-3.0.7/net/core/dev.c 2011-07-21 22:17:23.000000000 -0400
68600+++ linux-3.0.4/net/core/dev.c 2011-08-23 21:48:14.000000000 -0400 71538+++ linux-3.0.7/net/core/dev.c 2011-08-23 21:48:14.000000000 -0400
68601@@ -1125,10 +1125,14 @@ void dev_load(struct net *net, const cha 71539@@ -1125,10 +1125,14 @@ void dev_load(struct net *net, const cha
68602 if (no_module && capable(CAP_NET_ADMIN)) 71540 if (no_module && capable(CAP_NET_ADMIN))
68603 no_module = request_module("netdev-%s", name); 71541 no_module = request_module("netdev-%s", name);
@@ -68640,9 +71578,9 @@ diff -urNp linux-3.0.4/net/core/dev.c linux-3.0.4/net/core/dev.c
68640 { 71578 {
68641 struct softnet_data *sd = &__get_cpu_var(softnet_data); 71579 struct softnet_data *sd = &__get_cpu_var(softnet_data);
68642 unsigned long time_limit = jiffies + 2; 71580 unsigned long time_limit = jiffies + 2;
68643diff -urNp linux-3.0.4/net/core/flow.c linux-3.0.4/net/core/flow.c 71581diff -urNp linux-3.0.7/net/core/flow.c linux-3.0.7/net/core/flow.c
68644--- linux-3.0.4/net/core/flow.c 2011-07-21 22:17:23.000000000 -0400 71582--- linux-3.0.7/net/core/flow.c 2011-07-21 22:17:23.000000000 -0400
68645+++ linux-3.0.4/net/core/flow.c 2011-08-23 21:47:56.000000000 -0400 71583+++ linux-3.0.7/net/core/flow.c 2011-08-23 21:47:56.000000000 -0400
68646@@ -60,7 +60,7 @@ struct flow_cache { 71584@@ -60,7 +60,7 @@ struct flow_cache {
68647 struct timer_list rnd_timer; 71585 struct timer_list rnd_timer;
68648 }; 71586 };
@@ -68679,9 +71617,30 @@ diff -urNp linux-3.0.4/net/core/flow.c linux-3.0.4/net/core/flow.c
68679 if (!IS_ERR(flo)) 71617 if (!IS_ERR(flo))
68680 fle->object = flo; 71618 fle->object = flo;
68681 else 71619 else
68682diff -urNp linux-3.0.4/net/core/rtnetlink.c linux-3.0.4/net/core/rtnetlink.c 71620diff -urNp linux-3.0.7/net/core/iovec.c linux-3.0.7/net/core/iovec.c
68683--- linux-3.0.4/net/core/rtnetlink.c 2011-07-21 22:17:23.000000000 -0400 71621--- linux-3.0.7/net/core/iovec.c 2011-07-21 22:17:23.000000000 -0400
68684+++ linux-3.0.4/net/core/rtnetlink.c 2011-08-23 21:47:56.000000000 -0400 71622+++ linux-3.0.7/net/core/iovec.c 2011-10-06 04:17:55.000000000 -0400
71623@@ -42,7 +42,7 @@ int verify_iovec(struct msghdr *m, struc
71624 if (m->msg_namelen) {
71625 if (mode == VERIFY_READ) {
71626 void __user *namep;
71627- namep = (void __user __force *) m->msg_name;
71628+ namep = (void __force_user *) m->msg_name;
71629 err = move_addr_to_kernel(namep, m->msg_namelen,
71630 address);
71631 if (err < 0)
71632@@ -54,7 +54,7 @@ int verify_iovec(struct msghdr *m, struc
71633 }
71634
71635 size = m->msg_iovlen * sizeof(struct iovec);
71636- if (copy_from_user(iov, (void __user __force *) m->msg_iov, size))
71637+ if (copy_from_user(iov, (void __force_user *) m->msg_iov, size))
71638 return -EFAULT;
71639
71640 m->msg_iov = iov;
71641diff -urNp linux-3.0.7/net/core/rtnetlink.c linux-3.0.7/net/core/rtnetlink.c
71642--- linux-3.0.7/net/core/rtnetlink.c 2011-07-21 22:17:23.000000000 -0400
71643+++ linux-3.0.7/net/core/rtnetlink.c 2011-08-23 21:47:56.000000000 -0400
68685@@ -56,7 +56,7 @@ 71644@@ -56,7 +56,7 @@
68686 struct rtnl_link { 71645 struct rtnl_link {
68687 rtnl_doit_func doit; 71646 rtnl_doit_func doit;
@@ -68691,9 +71650,48 @@ diff -urNp linux-3.0.4/net/core/rtnetlink.c linux-3.0.4/net/core/rtnetlink.c
68691 71650
68692 static DEFINE_MUTEX(rtnl_mutex); 71651 static DEFINE_MUTEX(rtnl_mutex);
68693 71652
68694diff -urNp linux-3.0.4/net/core/skbuff.c linux-3.0.4/net/core/skbuff.c 71653diff -urNp linux-3.0.7/net/core/scm.c linux-3.0.7/net/core/scm.c
68695--- linux-3.0.4/net/core/skbuff.c 2011-07-21 22:17:23.000000000 -0400 71654--- linux-3.0.7/net/core/scm.c 2011-10-16 21:54:54.000000000 -0400
68696+++ linux-3.0.4/net/core/skbuff.c 2011-08-23 21:48:14.000000000 -0400 71655+++ linux-3.0.7/net/core/scm.c 2011-10-16 21:55:28.000000000 -0400
71656@@ -218,7 +218,7 @@ EXPORT_SYMBOL(__scm_send);
71657 int put_cmsg(struct msghdr * msg, int level, int type, int len, void *data)
71658 {
71659 struct cmsghdr __user *cm
71660- = (__force struct cmsghdr __user *)msg->msg_control;
71661+ = (struct cmsghdr __force_user *)msg->msg_control;
71662 struct cmsghdr cmhdr;
71663 int cmlen = CMSG_LEN(len);
71664 int err;
71665@@ -241,7 +241,7 @@ int put_cmsg(struct msghdr * msg, int le
71666 err = -EFAULT;
71667 if (copy_to_user(cm, &cmhdr, sizeof cmhdr))
71668 goto out;
71669- if (copy_to_user(CMSG_DATA(cm), data, cmlen - sizeof(struct cmsghdr)))
71670+ if (copy_to_user((void __force_user *)CMSG_DATA((void __force_kernel *)cm), data, cmlen - sizeof(struct cmsghdr)))
71671 goto out;
71672 cmlen = CMSG_SPACE(len);
71673 if (msg->msg_controllen < cmlen)
71674@@ -257,7 +257,7 @@ EXPORT_SYMBOL(put_cmsg);
71675 void scm_detach_fds(struct msghdr *msg, struct scm_cookie *scm)
71676 {
71677 struct cmsghdr __user *cm
71678- = (__force struct cmsghdr __user*)msg->msg_control;
71679+ = (struct cmsghdr __force_user *)msg->msg_control;
71680
71681 int fdmax = 0;
71682 int fdnum = scm->fp->count;
71683@@ -277,7 +277,7 @@ void scm_detach_fds(struct msghdr *msg,
71684 if (fdnum < fdmax)
71685 fdmax = fdnum;
71686
71687- for (i=0, cmfptr=(__force int __user *)CMSG_DATA(cm); i<fdmax;
71688+ for (i=0, cmfptr=(int __force_user *)CMSG_DATA((void __force_kernel *)cm); i<fdmax;
71689 i++, cmfptr++)
71690 {
71691 int new_fd;
71692diff -urNp linux-3.0.7/net/core/skbuff.c linux-3.0.7/net/core/skbuff.c
71693--- linux-3.0.7/net/core/skbuff.c 2011-07-21 22:17:23.000000000 -0400
71694+++ linux-3.0.7/net/core/skbuff.c 2011-08-23 21:48:14.000000000 -0400
68697@@ -1543,6 +1543,8 @@ int skb_splice_bits(struct sk_buff *skb, 71695@@ -1543,6 +1543,8 @@ int skb_splice_bits(struct sk_buff *skb,
68698 struct sock *sk = skb->sk; 71696 struct sock *sk = skb->sk;
68699 int ret = 0; 71697 int ret = 0;
@@ -68703,9 +71701,9 @@ diff -urNp linux-3.0.4/net/core/skbuff.c linux-3.0.4/net/core/skbuff.c
68703 if (splice_grow_spd(pipe, &spd)) 71701 if (splice_grow_spd(pipe, &spd))
68704 return -ENOMEM; 71702 return -ENOMEM;
68705 71703
68706diff -urNp linux-3.0.4/net/core/sock.c linux-3.0.4/net/core/sock.c 71704diff -urNp linux-3.0.7/net/core/sock.c linux-3.0.7/net/core/sock.c
68707--- linux-3.0.4/net/core/sock.c 2011-07-21 22:17:23.000000000 -0400 71705--- linux-3.0.7/net/core/sock.c 2011-07-21 22:17:23.000000000 -0400
68708+++ linux-3.0.4/net/core/sock.c 2011-08-23 21:48:14.000000000 -0400 71706+++ linux-3.0.7/net/core/sock.c 2011-08-23 21:48:14.000000000 -0400
68709@@ -291,7 +291,7 @@ int sock_queue_rcv_skb(struct sock *sk, 71707@@ -291,7 +291,7 @@ int sock_queue_rcv_skb(struct sock *sk,
68710 */ 71708 */
68711 if (atomic_read(&sk->sk_rmem_alloc) + skb->truesize >= 71709 if (atomic_read(&sk->sk_rmem_alloc) + skb->truesize >=
@@ -68787,9 +71785,9 @@ diff -urNp linux-3.0.4/net/core/sock.c linux-3.0.4/net/core/sock.c
68787 } 71785 }
68788 EXPORT_SYMBOL(sock_init_data); 71786 EXPORT_SYMBOL(sock_init_data);
68789 71787
68790diff -urNp linux-3.0.4/net/decnet/sysctl_net_decnet.c linux-3.0.4/net/decnet/sysctl_net_decnet.c 71788diff -urNp linux-3.0.7/net/decnet/sysctl_net_decnet.c linux-3.0.7/net/decnet/sysctl_net_decnet.c
68791--- linux-3.0.4/net/decnet/sysctl_net_decnet.c 2011-07-21 22:17:23.000000000 -0400 71789--- linux-3.0.7/net/decnet/sysctl_net_decnet.c 2011-07-21 22:17:23.000000000 -0400
68792+++ linux-3.0.4/net/decnet/sysctl_net_decnet.c 2011-08-23 21:47:56.000000000 -0400 71790+++ linux-3.0.7/net/decnet/sysctl_net_decnet.c 2011-08-23 21:47:56.000000000 -0400
68793@@ -173,7 +173,7 @@ static int dn_node_address_handler(ctl_t 71791@@ -173,7 +173,7 @@ static int dn_node_address_handler(ctl_t
68794 71792
68795 if (len > *lenp) len = *lenp; 71793 if (len > *lenp) len = *lenp;
@@ -68808,9 +71806,9 @@ diff -urNp linux-3.0.4/net/decnet/sysctl_net_decnet.c linux-3.0.4/net/decnet/sys
68808 return -EFAULT; 71806 return -EFAULT;
68809 71807
68810 *lenp = len; 71808 *lenp = len;
68811diff -urNp linux-3.0.4/net/econet/Kconfig linux-3.0.4/net/econet/Kconfig 71809diff -urNp linux-3.0.7/net/econet/Kconfig linux-3.0.7/net/econet/Kconfig
68812--- linux-3.0.4/net/econet/Kconfig 2011-07-21 22:17:23.000000000 -0400 71810--- linux-3.0.7/net/econet/Kconfig 2011-07-21 22:17:23.000000000 -0400
68813+++ linux-3.0.4/net/econet/Kconfig 2011-08-23 21:48:14.000000000 -0400 71811+++ linux-3.0.7/net/econet/Kconfig 2011-08-23 21:48:14.000000000 -0400
68814@@ -4,7 +4,7 @@ 71812@@ -4,7 +4,7 @@
68815 71813
68816 config ECONET 71814 config ECONET
@@ -68820,9 +71818,9 @@ diff -urNp linux-3.0.4/net/econet/Kconfig linux-3.0.4/net/econet/Kconfig
68820 ---help--- 71818 ---help---
68821 Econet is a fairly old and slow networking protocol mainly used by 71819 Econet is a fairly old and slow networking protocol mainly used by
68822 Acorn computers to access file and print servers. It uses native 71820 Acorn computers to access file and print servers. It uses native
68823diff -urNp linux-3.0.4/net/ipv4/fib_frontend.c linux-3.0.4/net/ipv4/fib_frontend.c 71821diff -urNp linux-3.0.7/net/ipv4/fib_frontend.c linux-3.0.7/net/ipv4/fib_frontend.c
68824--- linux-3.0.4/net/ipv4/fib_frontend.c 2011-07-21 22:17:23.000000000 -0400 71822--- linux-3.0.7/net/ipv4/fib_frontend.c 2011-07-21 22:17:23.000000000 -0400
68825+++ linux-3.0.4/net/ipv4/fib_frontend.c 2011-08-23 21:47:56.000000000 -0400 71823+++ linux-3.0.7/net/ipv4/fib_frontend.c 2011-08-23 21:47:56.000000000 -0400
68826@@ -970,12 +970,12 @@ static int fib_inetaddr_event(struct not 71824@@ -970,12 +970,12 @@ static int fib_inetaddr_event(struct not
68827 #ifdef CONFIG_IP_ROUTE_MULTIPATH 71825 #ifdef CONFIG_IP_ROUTE_MULTIPATH
68828 fib_sync_up(dev); 71826 fib_sync_up(dev);
@@ -68847,9 +71845,9 @@ diff -urNp linux-3.0.4/net/ipv4/fib_frontend.c linux-3.0.4/net/ipv4/fib_frontend
68847 rt_cache_flush(dev_net(dev), -1); 71845 rt_cache_flush(dev_net(dev), -1);
68848 break; 71846 break;
68849 case NETDEV_DOWN: 71847 case NETDEV_DOWN:
68850diff -urNp linux-3.0.4/net/ipv4/fib_semantics.c linux-3.0.4/net/ipv4/fib_semantics.c 71848diff -urNp linux-3.0.7/net/ipv4/fib_semantics.c linux-3.0.7/net/ipv4/fib_semantics.c
68851--- linux-3.0.4/net/ipv4/fib_semantics.c 2011-07-21 22:17:23.000000000 -0400 71849--- linux-3.0.7/net/ipv4/fib_semantics.c 2011-07-21 22:17:23.000000000 -0400
68852+++ linux-3.0.4/net/ipv4/fib_semantics.c 2011-08-23 21:47:56.000000000 -0400 71850+++ linux-3.0.7/net/ipv4/fib_semantics.c 2011-08-23 21:47:56.000000000 -0400
68853@@ -691,7 +691,7 @@ __be32 fib_info_update_nh_saddr(struct n 71851@@ -691,7 +691,7 @@ __be32 fib_info_update_nh_saddr(struct n
68854 nh->nh_saddr = inet_select_addr(nh->nh_dev, 71852 nh->nh_saddr = inet_select_addr(nh->nh_dev,
68855 nh->nh_gw, 71853 nh->nh_gw,
@@ -68859,9 +71857,9 @@ diff -urNp linux-3.0.4/net/ipv4/fib_semantics.c linux-3.0.4/net/ipv4/fib_semanti
68859 71857
68860 return nh->nh_saddr; 71858 return nh->nh_saddr;
68861 } 71859 }
68862diff -urNp linux-3.0.4/net/ipv4/inet_diag.c linux-3.0.4/net/ipv4/inet_diag.c 71860diff -urNp linux-3.0.7/net/ipv4/inet_diag.c linux-3.0.7/net/ipv4/inet_diag.c
68863--- linux-3.0.4/net/ipv4/inet_diag.c 2011-07-21 22:17:23.000000000 -0400 71861--- linux-3.0.7/net/ipv4/inet_diag.c 2011-07-21 22:17:23.000000000 -0400
68864+++ linux-3.0.4/net/ipv4/inet_diag.c 2011-08-23 21:48:14.000000000 -0400 71862+++ linux-3.0.7/net/ipv4/inet_diag.c 2011-08-23 21:48:14.000000000 -0400
68865@@ -114,8 +114,14 @@ static int inet_csk_diag_fill(struct soc 71863@@ -114,8 +114,14 @@ static int inet_csk_diag_fill(struct soc
68866 r->idiag_retrans = 0; 71864 r->idiag_retrans = 0;
68867 71865
@@ -68923,9 +71921,9 @@ diff -urNp linux-3.0.4/net/ipv4/inet_diag.c linux-3.0.4/net/ipv4/inet_diag.c
68923 71921
68924 tmo = req->expires - jiffies; 71922 tmo = req->expires - jiffies;
68925 if (tmo < 0) 71923 if (tmo < 0)
68926diff -urNp linux-3.0.4/net/ipv4/inet_hashtables.c linux-3.0.4/net/ipv4/inet_hashtables.c 71924diff -urNp linux-3.0.7/net/ipv4/inet_hashtables.c linux-3.0.7/net/ipv4/inet_hashtables.c
68927--- linux-3.0.4/net/ipv4/inet_hashtables.c 2011-09-02 18:11:21.000000000 -0400 71925--- linux-3.0.7/net/ipv4/inet_hashtables.c 2011-09-02 18:11:21.000000000 -0400
68928+++ linux-3.0.4/net/ipv4/inet_hashtables.c 2011-08-23 21:55:24.000000000 -0400 71926+++ linux-3.0.7/net/ipv4/inet_hashtables.c 2011-08-23 21:55:24.000000000 -0400
68929@@ -18,12 +18,15 @@ 71927@@ -18,12 +18,15 @@
68930 #include <linux/sched.h> 71928 #include <linux/sched.h>
68931 #include <linux/slab.h> 71929 #include <linux/slab.h>
@@ -68951,9 +71949,9 @@ diff -urNp linux-3.0.4/net/ipv4/inet_hashtables.c linux-3.0.4/net/ipv4/inet_hash
68951 if (tw) { 71949 if (tw) {
68952 inet_twsk_deschedule(tw, death_row); 71950 inet_twsk_deschedule(tw, death_row);
68953 while (twrefcnt) { 71951 while (twrefcnt) {
68954diff -urNp linux-3.0.4/net/ipv4/inetpeer.c linux-3.0.4/net/ipv4/inetpeer.c 71952diff -urNp linux-3.0.7/net/ipv4/inetpeer.c linux-3.0.7/net/ipv4/inetpeer.c
68955--- linux-3.0.4/net/ipv4/inetpeer.c 2011-09-02 18:11:21.000000000 -0400 71953--- linux-3.0.7/net/ipv4/inetpeer.c 2011-09-02 18:11:21.000000000 -0400
68956+++ linux-3.0.4/net/ipv4/inetpeer.c 2011-08-23 21:48:14.000000000 -0400 71954+++ linux-3.0.7/net/ipv4/inetpeer.c 2011-08-23 21:48:14.000000000 -0400
68957@@ -481,6 +481,8 @@ struct inet_peer *inet_getpeer(struct in 71955@@ -481,6 +481,8 @@ struct inet_peer *inet_getpeer(struct in
68958 unsigned int sequence; 71956 unsigned int sequence;
68959 int invalidated, newrefcnt = 0; 71957 int invalidated, newrefcnt = 0;
@@ -68974,9 +71972,39 @@ diff -urNp linux-3.0.4/net/ipv4/inetpeer.c linux-3.0.4/net/ipv4/inetpeer.c
68974 p->tcp_ts_stamp = 0; 71972 p->tcp_ts_stamp = 0;
68975 p->metrics[RTAX_LOCK-1] = INETPEER_METRICS_NEW; 71973 p->metrics[RTAX_LOCK-1] = INETPEER_METRICS_NEW;
68976 p->rate_tokens = 0; 71974 p->rate_tokens = 0;
68977diff -urNp linux-3.0.4/net/ipv4/ip_fragment.c linux-3.0.4/net/ipv4/ip_fragment.c 71975diff -urNp linux-3.0.7/net/ipv4/ipconfig.c linux-3.0.7/net/ipv4/ipconfig.c
68978--- linux-3.0.4/net/ipv4/ip_fragment.c 2011-07-21 22:17:23.000000000 -0400 71976--- linux-3.0.7/net/ipv4/ipconfig.c 2011-07-21 22:17:23.000000000 -0400
68979+++ linux-3.0.4/net/ipv4/ip_fragment.c 2011-08-23 21:47:56.000000000 -0400 71977+++ linux-3.0.7/net/ipv4/ipconfig.c 2011-10-06 04:17:55.000000000 -0400
71978@@ -313,7 +313,7 @@ static int __init ic_devinet_ioctl(unsig
71979
71980 mm_segment_t oldfs = get_fs();
71981 set_fs(get_ds());
71982- res = devinet_ioctl(&init_net, cmd, (struct ifreq __user *) arg);
71983+ res = devinet_ioctl(&init_net, cmd, (struct ifreq __force_user *) arg);
71984 set_fs(oldfs);
71985 return res;
71986 }
71987@@ -324,7 +324,7 @@ static int __init ic_dev_ioctl(unsigned
71988
71989 mm_segment_t oldfs = get_fs();
71990 set_fs(get_ds());
71991- res = dev_ioctl(&init_net, cmd, (struct ifreq __user *) arg);
71992+ res = dev_ioctl(&init_net, cmd, (struct ifreq __force_user *) arg);
71993 set_fs(oldfs);
71994 return res;
71995 }
71996@@ -335,7 +335,7 @@ static int __init ic_route_ioctl(unsigne
71997
71998 mm_segment_t oldfs = get_fs();
71999 set_fs(get_ds());
72000- res = ip_rt_ioctl(&init_net, cmd, (void __user *) arg);
72001+ res = ip_rt_ioctl(&init_net, cmd, (void __force_user *) arg);
72002 set_fs(oldfs);
72003 return res;
72004 }
72005diff -urNp linux-3.0.7/net/ipv4/ip_fragment.c linux-3.0.7/net/ipv4/ip_fragment.c
72006--- linux-3.0.7/net/ipv4/ip_fragment.c 2011-07-21 22:17:23.000000000 -0400
72007+++ linux-3.0.7/net/ipv4/ip_fragment.c 2011-08-23 21:47:56.000000000 -0400
68980@@ -315,7 +315,7 @@ static inline int ip_frag_too_far(struct 72008@@ -315,7 +315,7 @@ static inline int ip_frag_too_far(struct
68981 return 0; 72009 return 0;
68982 72010
@@ -68986,9 +72014,9 @@ diff -urNp linux-3.0.4/net/ipv4/ip_fragment.c linux-3.0.4/net/ipv4/ip_fragment.c
68986 qp->rid = end; 72014 qp->rid = end;
68987 72015
68988 rc = qp->q.fragments && (end - start) > max; 72016 rc = qp->q.fragments && (end - start) > max;
68989diff -urNp linux-3.0.4/net/ipv4/ip_sockglue.c linux-3.0.4/net/ipv4/ip_sockglue.c 72017diff -urNp linux-3.0.7/net/ipv4/ip_sockglue.c linux-3.0.7/net/ipv4/ip_sockglue.c
68990--- linux-3.0.4/net/ipv4/ip_sockglue.c 2011-07-21 22:17:23.000000000 -0400 72018--- linux-3.0.7/net/ipv4/ip_sockglue.c 2011-07-21 22:17:23.000000000 -0400
68991+++ linux-3.0.4/net/ipv4/ip_sockglue.c 2011-08-23 21:48:14.000000000 -0400 72019+++ linux-3.0.7/net/ipv4/ip_sockglue.c 2011-10-06 04:17:55.000000000 -0400
68992@@ -1073,6 +1073,8 @@ static int do_ip_getsockopt(struct sock 72020@@ -1073,6 +1073,8 @@ static int do_ip_getsockopt(struct sock
68993 int val; 72021 int val;
68994 int len; 72022 int len;
@@ -69008,9 +72036,18 @@ diff -urNp linux-3.0.4/net/ipv4/ip_sockglue.c linux-3.0.4/net/ipv4/ip_sockglue.c
69008 return -EFAULT; 72036 return -EFAULT;
69009 return 0; 72037 return 0;
69010 } 72038 }
69011diff -urNp linux-3.0.4/net/ipv4/netfilter/nf_nat_snmp_basic.c linux-3.0.4/net/ipv4/netfilter/nf_nat_snmp_basic.c 72039@@ -1238,7 +1241,7 @@ static int do_ip_getsockopt(struct sock
69012--- linux-3.0.4/net/ipv4/netfilter/nf_nat_snmp_basic.c 2011-07-21 22:17:23.000000000 -0400 72040 if (sk->sk_type != SOCK_STREAM)
69013+++ linux-3.0.4/net/ipv4/netfilter/nf_nat_snmp_basic.c 2011-08-23 21:47:56.000000000 -0400 72041 return -ENOPROTOOPT;
72042
72043- msg.msg_control = optval;
72044+ msg.msg_control = (void __force_kernel *)optval;
72045 msg.msg_controllen = len;
72046 msg.msg_flags = 0;
72047
72048diff -urNp linux-3.0.7/net/ipv4/netfilter/nf_nat_snmp_basic.c linux-3.0.7/net/ipv4/netfilter/nf_nat_snmp_basic.c
72049--- linux-3.0.7/net/ipv4/netfilter/nf_nat_snmp_basic.c 2011-07-21 22:17:23.000000000 -0400
72050+++ linux-3.0.7/net/ipv4/netfilter/nf_nat_snmp_basic.c 2011-08-23 21:47:56.000000000 -0400
69014@@ -399,7 +399,7 @@ static unsigned char asn1_octets_decode( 72051@@ -399,7 +399,7 @@ static unsigned char asn1_octets_decode(
69015 72052
69016 *len = 0; 72053 *len = 0;
@@ -69020,9 +72057,9 @@ diff -urNp linux-3.0.4/net/ipv4/netfilter/nf_nat_snmp_basic.c linux-3.0.4/net/ip
69020 if (*octets == NULL) { 72057 if (*octets == NULL) {
69021 if (net_ratelimit()) 72058 if (net_ratelimit())
69022 pr_notice("OOM in bsalg (%d)\n", __LINE__); 72059 pr_notice("OOM in bsalg (%d)\n", __LINE__);
69023diff -urNp linux-3.0.4/net/ipv4/ping.c linux-3.0.4/net/ipv4/ping.c 72060diff -urNp linux-3.0.7/net/ipv4/ping.c linux-3.0.7/net/ipv4/ping.c
69024--- linux-3.0.4/net/ipv4/ping.c 2011-07-21 22:17:23.000000000 -0400 72061--- linux-3.0.7/net/ipv4/ping.c 2011-07-21 22:17:23.000000000 -0400
69025+++ linux-3.0.4/net/ipv4/ping.c 2011-08-23 21:47:56.000000000 -0400 72062+++ linux-3.0.7/net/ipv4/ping.c 2011-08-23 21:47:56.000000000 -0400
69026@@ -837,7 +837,7 @@ static void ping_format_sock(struct sock 72063@@ -837,7 +837,7 @@ static void ping_format_sock(struct sock
69027 sk_rmem_alloc_get(sp), 72064 sk_rmem_alloc_get(sp),
69028 0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp), 72065 0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
@@ -69032,9 +72069,9 @@ diff -urNp linux-3.0.4/net/ipv4/ping.c linux-3.0.4/net/ipv4/ping.c
69032 } 72069 }
69033 72070
69034 static int ping_seq_show(struct seq_file *seq, void *v) 72071 static int ping_seq_show(struct seq_file *seq, void *v)
69035diff -urNp linux-3.0.4/net/ipv4/raw.c linux-3.0.4/net/ipv4/raw.c 72072diff -urNp linux-3.0.7/net/ipv4/raw.c linux-3.0.7/net/ipv4/raw.c
69036--- linux-3.0.4/net/ipv4/raw.c 2011-07-21 22:17:23.000000000 -0400 72073--- linux-3.0.7/net/ipv4/raw.c 2011-07-21 22:17:23.000000000 -0400
69037+++ linux-3.0.4/net/ipv4/raw.c 2011-08-23 21:48:14.000000000 -0400 72074+++ linux-3.0.7/net/ipv4/raw.c 2011-08-23 21:48:14.000000000 -0400
69038@@ -302,7 +302,7 @@ static int raw_rcv_skb(struct sock * sk, 72075@@ -302,7 +302,7 @@ static int raw_rcv_skb(struct sock * sk,
69039 int raw_rcv(struct sock *sk, struct sk_buff *skb) 72076 int raw_rcv(struct sock *sk, struct sk_buff *skb)
69040 { 72077 {
@@ -69093,9 +72130,9 @@ diff -urNp linux-3.0.4/net/ipv4/raw.c linux-3.0.4/net/ipv4/raw.c
69093 } 72130 }
69094 72131
69095 static int raw_seq_show(struct seq_file *seq, void *v) 72132 static int raw_seq_show(struct seq_file *seq, void *v)
69096diff -urNp linux-3.0.4/net/ipv4/route.c linux-3.0.4/net/ipv4/route.c 72133diff -urNp linux-3.0.7/net/ipv4/route.c linux-3.0.7/net/ipv4/route.c
69097--- linux-3.0.4/net/ipv4/route.c 2011-09-02 18:11:21.000000000 -0400 72134--- linux-3.0.7/net/ipv4/route.c 2011-10-16 21:54:54.000000000 -0400
69098+++ linux-3.0.4/net/ipv4/route.c 2011-08-23 21:47:56.000000000 -0400 72135+++ linux-3.0.7/net/ipv4/route.c 2011-10-16 21:55:28.000000000 -0400
69099@@ -304,7 +304,7 @@ static inline unsigned int rt_hash(__be3 72136@@ -304,7 +304,7 @@ static inline unsigned int rt_hash(__be3
69100 72137
69101 static inline int rt_genid(struct net *net) 72138 static inline int rt_genid(struct net *net)
@@ -69105,7 +72142,7 @@ diff -urNp linux-3.0.4/net/ipv4/route.c linux-3.0.4/net/ipv4/route.c
69105 } 72142 }
69106 72143
69107 #ifdef CONFIG_PROC_FS 72144 #ifdef CONFIG_PROC_FS
69108@@ -833,7 +833,7 @@ static void rt_cache_invalidate(struct n 72145@@ -832,7 +832,7 @@ static void rt_cache_invalidate(struct n
69109 unsigned char shuffle; 72146 unsigned char shuffle;
69110 72147
69111 get_random_bytes(&shuffle, sizeof(shuffle)); 72148 get_random_bytes(&shuffle, sizeof(shuffle));
@@ -69114,7 +72151,7 @@ diff -urNp linux-3.0.4/net/ipv4/route.c linux-3.0.4/net/ipv4/route.c
69114 } 72151 }
69115 72152
69116 /* 72153 /*
69117@@ -2834,7 +2834,7 @@ static int rt_fill_info(struct net *net, 72154@@ -2832,7 +2832,7 @@ static int rt_fill_info(struct net *net,
69118 error = rt->dst.error; 72155 error = rt->dst.error;
69119 if (peer) { 72156 if (peer) {
69120 inet_peer_refcheck(rt->peer); 72157 inet_peer_refcheck(rt->peer);
@@ -69123,9 +72160,9 @@ diff -urNp linux-3.0.4/net/ipv4/route.c linux-3.0.4/net/ipv4/route.c
69123 if (peer->tcp_ts_stamp) { 72160 if (peer->tcp_ts_stamp) {
69124 ts = peer->tcp_ts; 72161 ts = peer->tcp_ts;
69125 tsage = get_seconds() - peer->tcp_ts_stamp; 72162 tsage = get_seconds() - peer->tcp_ts_stamp;
69126diff -urNp linux-3.0.4/net/ipv4/tcp.c linux-3.0.4/net/ipv4/tcp.c 72163diff -urNp linux-3.0.7/net/ipv4/tcp.c linux-3.0.7/net/ipv4/tcp.c
69127--- linux-3.0.4/net/ipv4/tcp.c 2011-07-21 22:17:23.000000000 -0400 72164--- linux-3.0.7/net/ipv4/tcp.c 2011-07-21 22:17:23.000000000 -0400
69128+++ linux-3.0.4/net/ipv4/tcp.c 2011-08-23 21:48:14.000000000 -0400 72165+++ linux-3.0.7/net/ipv4/tcp.c 2011-08-23 21:48:14.000000000 -0400
69129@@ -2122,6 +2122,8 @@ static int do_tcp_setsockopt(struct sock 72166@@ -2122,6 +2122,8 @@ static int do_tcp_setsockopt(struct sock
69130 int val; 72167 int val;
69131 int err = 0; 72168 int err = 0;
@@ -69144,9 +72181,9 @@ diff -urNp linux-3.0.4/net/ipv4/tcp.c linux-3.0.4/net/ipv4/tcp.c
69144 if (get_user(len, optlen)) 72181 if (get_user(len, optlen))
69145 return -EFAULT; 72182 return -EFAULT;
69146 72183
69147diff -urNp linux-3.0.4/net/ipv4/tcp_ipv4.c linux-3.0.4/net/ipv4/tcp_ipv4.c 72184diff -urNp linux-3.0.7/net/ipv4/tcp_ipv4.c linux-3.0.7/net/ipv4/tcp_ipv4.c
69148--- linux-3.0.4/net/ipv4/tcp_ipv4.c 2011-09-02 18:11:21.000000000 -0400 72185--- linux-3.0.7/net/ipv4/tcp_ipv4.c 2011-09-02 18:11:21.000000000 -0400
69149+++ linux-3.0.4/net/ipv4/tcp_ipv4.c 2011-08-23 21:48:14.000000000 -0400 72186+++ linux-3.0.7/net/ipv4/tcp_ipv4.c 2011-08-23 21:48:14.000000000 -0400
69150@@ -87,6 +87,9 @@ int sysctl_tcp_tw_reuse __read_mostly; 72187@@ -87,6 +87,9 @@ int sysctl_tcp_tw_reuse __read_mostly;
69151 int sysctl_tcp_low_latency __read_mostly; 72188 int sysctl_tcp_low_latency __read_mostly;
69152 EXPORT_SYMBOL(sysctl_tcp_low_latency); 72189 EXPORT_SYMBOL(sysctl_tcp_low_latency);
@@ -69242,9 +72279,9 @@ diff -urNp linux-3.0.4/net/ipv4/tcp_ipv4.c linux-3.0.4/net/ipv4/tcp_ipv4.c
69242 } 72279 }
69243 72280
69244 #define TMPSZ 150 72281 #define TMPSZ 150
69245diff -urNp linux-3.0.4/net/ipv4/tcp_minisocks.c linux-3.0.4/net/ipv4/tcp_minisocks.c 72282diff -urNp linux-3.0.7/net/ipv4/tcp_minisocks.c linux-3.0.7/net/ipv4/tcp_minisocks.c
69246--- linux-3.0.4/net/ipv4/tcp_minisocks.c 2011-07-21 22:17:23.000000000 -0400 72283--- linux-3.0.7/net/ipv4/tcp_minisocks.c 2011-07-21 22:17:23.000000000 -0400
69247+++ linux-3.0.4/net/ipv4/tcp_minisocks.c 2011-08-23 21:48:14.000000000 -0400 72284+++ linux-3.0.7/net/ipv4/tcp_minisocks.c 2011-08-23 21:48:14.000000000 -0400
69248@@ -27,6 +27,10 @@ 72285@@ -27,6 +27,10 @@
69249 #include <net/inet_common.h> 72286 #include <net/inet_common.h>
69250 #include <net/xfrm.h> 72287 #include <net/xfrm.h>
@@ -69267,9 +72304,9 @@ diff -urNp linux-3.0.4/net/ipv4/tcp_minisocks.c linux-3.0.4/net/ipv4/tcp_minisoc
69267 if (!(flg & TCP_FLAG_RST)) 72304 if (!(flg & TCP_FLAG_RST))
69268 req->rsk_ops->send_reset(sk, skb); 72305 req->rsk_ops->send_reset(sk, skb);
69269 72306
69270diff -urNp linux-3.0.4/net/ipv4/tcp_output.c linux-3.0.4/net/ipv4/tcp_output.c 72307diff -urNp linux-3.0.7/net/ipv4/tcp_output.c linux-3.0.7/net/ipv4/tcp_output.c
69271--- linux-3.0.4/net/ipv4/tcp_output.c 2011-07-21 22:17:23.000000000 -0400 72308--- linux-3.0.7/net/ipv4/tcp_output.c 2011-07-21 22:17:23.000000000 -0400
69272+++ linux-3.0.4/net/ipv4/tcp_output.c 2011-08-23 21:48:14.000000000 -0400 72309+++ linux-3.0.7/net/ipv4/tcp_output.c 2011-08-23 21:48:14.000000000 -0400
69273@@ -2421,6 +2421,8 @@ struct sk_buff *tcp_make_synack(struct s 72310@@ -2421,6 +2421,8 @@ struct sk_buff *tcp_make_synack(struct s
69274 int mss; 72311 int mss;
69275 int s_data_desired = 0; 72312 int s_data_desired = 0;
@@ -69279,9 +72316,9 @@ diff -urNp linux-3.0.4/net/ipv4/tcp_output.c linux-3.0.4/net/ipv4/tcp_output.c
69279 if (cvp != NULL && cvp->s_data_constant && cvp->s_data_desired) 72316 if (cvp != NULL && cvp->s_data_constant && cvp->s_data_desired)
69280 s_data_desired = cvp->s_data_desired; 72317 s_data_desired = cvp->s_data_desired;
69281 skb = sock_wmalloc(sk, MAX_TCP_HEADER + 15 + s_data_desired, 1, GFP_ATOMIC); 72318 skb = sock_wmalloc(sk, MAX_TCP_HEADER + 15 + s_data_desired, 1, GFP_ATOMIC);
69282diff -urNp linux-3.0.4/net/ipv4/tcp_probe.c linux-3.0.4/net/ipv4/tcp_probe.c 72319diff -urNp linux-3.0.7/net/ipv4/tcp_probe.c linux-3.0.7/net/ipv4/tcp_probe.c
69283--- linux-3.0.4/net/ipv4/tcp_probe.c 2011-07-21 22:17:23.000000000 -0400 72320--- linux-3.0.7/net/ipv4/tcp_probe.c 2011-07-21 22:17:23.000000000 -0400
69284+++ linux-3.0.4/net/ipv4/tcp_probe.c 2011-08-23 21:47:56.000000000 -0400 72321+++ linux-3.0.7/net/ipv4/tcp_probe.c 2011-08-23 21:47:56.000000000 -0400
69285@@ -202,7 +202,7 @@ static ssize_t tcpprobe_read(struct file 72322@@ -202,7 +202,7 @@ static ssize_t tcpprobe_read(struct file
69286 if (cnt + width >= len) 72323 if (cnt + width >= len)
69287 break; 72324 break;
@@ -69291,9 +72328,9 @@ diff -urNp linux-3.0.4/net/ipv4/tcp_probe.c linux-3.0.4/net/ipv4/tcp_probe.c
69291 return -EFAULT; 72328 return -EFAULT;
69292 cnt += width; 72329 cnt += width;
69293 } 72330 }
69294diff -urNp linux-3.0.4/net/ipv4/tcp_timer.c linux-3.0.4/net/ipv4/tcp_timer.c 72331diff -urNp linux-3.0.7/net/ipv4/tcp_timer.c linux-3.0.7/net/ipv4/tcp_timer.c
69295--- linux-3.0.4/net/ipv4/tcp_timer.c 2011-07-21 22:17:23.000000000 -0400 72332--- linux-3.0.7/net/ipv4/tcp_timer.c 2011-07-21 22:17:23.000000000 -0400
69296+++ linux-3.0.4/net/ipv4/tcp_timer.c 2011-08-23 21:48:14.000000000 -0400 72333+++ linux-3.0.7/net/ipv4/tcp_timer.c 2011-08-23 21:48:14.000000000 -0400
69297@@ -22,6 +22,10 @@ 72334@@ -22,6 +22,10 @@
69298 #include <linux/gfp.h> 72335 #include <linux/gfp.h>
69299 #include <net/tcp.h> 72336 #include <net/tcp.h>
@@ -69319,9 +72356,9 @@ diff -urNp linux-3.0.4/net/ipv4/tcp_timer.c linux-3.0.4/net/ipv4/tcp_timer.c
69319 if (retransmits_timed_out(sk, retry_until, 72356 if (retransmits_timed_out(sk, retry_until,
69320 syn_set ? 0 : icsk->icsk_user_timeout, syn_set)) { 72357 syn_set ? 0 : icsk->icsk_user_timeout, syn_set)) {
69321 /* Has it gone just too far? */ 72358 /* Has it gone just too far? */
69322diff -urNp linux-3.0.4/net/ipv4/udp.c linux-3.0.4/net/ipv4/udp.c 72359diff -urNp linux-3.0.7/net/ipv4/udp.c linux-3.0.7/net/ipv4/udp.c
69323--- linux-3.0.4/net/ipv4/udp.c 2011-07-21 22:17:23.000000000 -0400 72360--- linux-3.0.7/net/ipv4/udp.c 2011-07-21 22:17:23.000000000 -0400
69324+++ linux-3.0.4/net/ipv4/udp.c 2011-08-23 21:48:14.000000000 -0400 72361+++ linux-3.0.7/net/ipv4/udp.c 2011-08-23 21:48:14.000000000 -0400
69325@@ -86,6 +86,7 @@ 72362@@ -86,6 +86,7 @@
69326 #include <linux/types.h> 72363 #include <linux/types.h>
69327 #include <linux/fcntl.h> 72364 #include <linux/fcntl.h>
@@ -69434,9 +72471,21 @@ diff -urNp linux-3.0.4/net/ipv4/udp.c linux-3.0.4/net/ipv4/udp.c
69434 } 72471 }
69435 72472
69436 int udp4_seq_show(struct seq_file *seq, void *v) 72473 int udp4_seq_show(struct seq_file *seq, void *v)
69437diff -urNp linux-3.0.4/net/ipv6/inet6_connection_sock.c linux-3.0.4/net/ipv6/inet6_connection_sock.c 72474diff -urNp linux-3.0.7/net/ipv6/addrconf.c linux-3.0.7/net/ipv6/addrconf.c
69438--- linux-3.0.4/net/ipv6/inet6_connection_sock.c 2011-07-21 22:17:23.000000000 -0400 72475--- linux-3.0.7/net/ipv6/addrconf.c 2011-07-21 22:17:23.000000000 -0400
69439+++ linux-3.0.4/net/ipv6/inet6_connection_sock.c 2011-08-23 21:47:56.000000000 -0400 72476+++ linux-3.0.7/net/ipv6/addrconf.c 2011-10-06 04:17:55.000000000 -0400
72477@@ -2072,7 +2072,7 @@ int addrconf_set_dstaddr(struct net *net
72478 p.iph.ihl = 5;
72479 p.iph.protocol = IPPROTO_IPV6;
72480 p.iph.ttl = 64;
72481- ifr.ifr_ifru.ifru_data = (__force void __user *)&p;
72482+ ifr.ifr_ifru.ifru_data = (void __force_user *)&p;
72483
72484 if (ops->ndo_do_ioctl) {
72485 mm_segment_t oldfs = get_fs();
72486diff -urNp linux-3.0.7/net/ipv6/inet6_connection_sock.c linux-3.0.7/net/ipv6/inet6_connection_sock.c
72487--- linux-3.0.7/net/ipv6/inet6_connection_sock.c 2011-07-21 22:17:23.000000000 -0400
72488+++ linux-3.0.7/net/ipv6/inet6_connection_sock.c 2011-08-23 21:47:56.000000000 -0400
69440@@ -178,7 +178,7 @@ void __inet6_csk_dst_store(struct sock * 72489@@ -178,7 +178,7 @@ void __inet6_csk_dst_store(struct sock *
69441 #ifdef CONFIG_XFRM 72490 #ifdef CONFIG_XFRM
69442 { 72491 {
@@ -69455,9 +72504,9 @@ diff -urNp linux-3.0.4/net/ipv6/inet6_connection_sock.c linux-3.0.4/net/ipv6/ine
69455 __sk_dst_reset(sk); 72504 __sk_dst_reset(sk);
69456 dst = NULL; 72505 dst = NULL;
69457 } 72506 }
69458diff -urNp linux-3.0.4/net/ipv6/ipv6_sockglue.c linux-3.0.4/net/ipv6/ipv6_sockglue.c 72507diff -urNp linux-3.0.7/net/ipv6/ipv6_sockglue.c linux-3.0.7/net/ipv6/ipv6_sockglue.c
69459--- linux-3.0.4/net/ipv6/ipv6_sockglue.c 2011-07-21 22:17:23.000000000 -0400 72508--- linux-3.0.7/net/ipv6/ipv6_sockglue.c 2011-10-16 21:54:54.000000000 -0400
69460+++ linux-3.0.4/net/ipv6/ipv6_sockglue.c 2011-08-23 21:48:14.000000000 -0400 72509+++ linux-3.0.7/net/ipv6/ipv6_sockglue.c 2011-10-16 21:55:28.000000000 -0400
69461@@ -129,6 +129,8 @@ static int do_ipv6_setsockopt(struct soc 72510@@ -129,6 +129,8 @@ static int do_ipv6_setsockopt(struct soc
69462 int val, valbool; 72511 int val, valbool;
69463 int retv = -ENOPROTOOPT; 72512 int retv = -ENOPROTOOPT;
@@ -69476,9 +72525,18 @@ diff -urNp linux-3.0.4/net/ipv6/ipv6_sockglue.c linux-3.0.4/net/ipv6/ipv6_sockgl
69476 if (ip6_mroute_opt(optname)) 72525 if (ip6_mroute_opt(optname))
69477 return ip6_mroute_getsockopt(sk, optname, optval, optlen); 72526 return ip6_mroute_getsockopt(sk, optname, optval, optlen);
69478 72527
69479diff -urNp linux-3.0.4/net/ipv6/raw.c linux-3.0.4/net/ipv6/raw.c 72528@@ -960,7 +964,7 @@ static int do_ipv6_getsockopt(struct soc
69480--- linux-3.0.4/net/ipv6/raw.c 2011-07-21 22:17:23.000000000 -0400 72529 if (sk->sk_type != SOCK_STREAM)
69481+++ linux-3.0.4/net/ipv6/raw.c 2011-08-23 21:48:14.000000000 -0400 72530 return -ENOPROTOOPT;
72531
72532- msg.msg_control = optval;
72533+ msg.msg_control = (void __force_kernel *)optval;
72534 msg.msg_controllen = len;
72535 msg.msg_flags = flags;
72536
72537diff -urNp linux-3.0.7/net/ipv6/raw.c linux-3.0.7/net/ipv6/raw.c
72538--- linux-3.0.7/net/ipv6/raw.c 2011-07-21 22:17:23.000000000 -0400
72539+++ linux-3.0.7/net/ipv6/raw.c 2011-08-23 21:48:14.000000000 -0400
69482@@ -376,7 +376,7 @@ static inline int rawv6_rcv_skb(struct s 72540@@ -376,7 +376,7 @@ static inline int rawv6_rcv_skb(struct s
69483 { 72541 {
69484 if ((raw6_sk(sk)->checksum || rcu_dereference_raw(sk->sk_filter)) && 72542 if ((raw6_sk(sk)->checksum || rcu_dereference_raw(sk->sk_filter)) &&
@@ -69574,9 +72632,9 @@ diff -urNp linux-3.0.4/net/ipv6/raw.c linux-3.0.4/net/ipv6/raw.c
69574 } 72632 }
69575 72633
69576 static int raw6_seq_show(struct seq_file *seq, void *v) 72634 static int raw6_seq_show(struct seq_file *seq, void *v)
69577diff -urNp linux-3.0.4/net/ipv6/tcp_ipv6.c linux-3.0.4/net/ipv6/tcp_ipv6.c 72635diff -urNp linux-3.0.7/net/ipv6/tcp_ipv6.c linux-3.0.7/net/ipv6/tcp_ipv6.c
69578--- linux-3.0.4/net/ipv6/tcp_ipv6.c 2011-09-02 18:11:21.000000000 -0400 72636--- linux-3.0.7/net/ipv6/tcp_ipv6.c 2011-09-02 18:11:21.000000000 -0400
69579+++ linux-3.0.4/net/ipv6/tcp_ipv6.c 2011-08-23 21:48:14.000000000 -0400 72637+++ linux-3.0.7/net/ipv6/tcp_ipv6.c 2011-08-23 21:48:14.000000000 -0400
69580@@ -93,6 +93,10 @@ static struct tcp_md5sig_key *tcp_v6_md5 72638@@ -93,6 +93,10 @@ static struct tcp_md5sig_key *tcp_v6_md5
69581 } 72639 }
69582 #endif 72640 #endif
@@ -69676,9 +72734,9 @@ diff -urNp linux-3.0.4/net/ipv6/tcp_ipv6.c linux-3.0.4/net/ipv6/tcp_ipv6.c
69676 } 72734 }
69677 72735
69678 static int tcp6_seq_show(struct seq_file *seq, void *v) 72736 static int tcp6_seq_show(struct seq_file *seq, void *v)
69679diff -urNp linux-3.0.4/net/ipv6/udp.c linux-3.0.4/net/ipv6/udp.c 72737diff -urNp linux-3.0.7/net/ipv6/udp.c linux-3.0.7/net/ipv6/udp.c
69680--- linux-3.0.4/net/ipv6/udp.c 2011-09-02 18:11:21.000000000 -0400 72738--- linux-3.0.7/net/ipv6/udp.c 2011-10-17 23:17:09.000000000 -0400
69681+++ linux-3.0.4/net/ipv6/udp.c 2011-08-23 21:48:14.000000000 -0400 72739+++ linux-3.0.7/net/ipv6/udp.c 2011-10-17 23:17:19.000000000 -0400
69682@@ -50,6 +50,10 @@ 72740@@ -50,6 +50,10 @@
69683 #include <linux/seq_file.h> 72741 #include <linux/seq_file.h>
69684 #include "udp_impl.h" 72742 #include "udp_impl.h"
@@ -69727,7 +72785,7 @@ diff -urNp linux-3.0.4/net/ipv6/udp.c linux-3.0.4/net/ipv6/udp.c
69727 bh_unlock_sock(sk); 72785 bh_unlock_sock(sk);
69728 sock_put(sk); 72786 sock_put(sk);
69729 goto discard; 72787 goto discard;
69730@@ -1406,8 +1413,13 @@ static void udp6_sock_seq_show(struct se 72788@@ -1408,8 +1415,13 @@ static void udp6_sock_seq_show(struct se
69731 0, 0L, 0, 72789 0, 0L, 0,
69732 sock_i_uid(sp), 0, 72790 sock_i_uid(sp), 0,
69733 sock_i_ino(sp), 72791 sock_i_ino(sp),
@@ -69743,9 +72801,9 @@ diff -urNp linux-3.0.4/net/ipv6/udp.c linux-3.0.4/net/ipv6/udp.c
69743 } 72801 }
69744 72802
69745 int udp6_seq_show(struct seq_file *seq, void *v) 72803 int udp6_seq_show(struct seq_file *seq, void *v)
69746diff -urNp linux-3.0.4/net/irda/ircomm/ircomm_tty.c linux-3.0.4/net/irda/ircomm/ircomm_tty.c 72804diff -urNp linux-3.0.7/net/irda/ircomm/ircomm_tty.c linux-3.0.7/net/irda/ircomm/ircomm_tty.c
69747--- linux-3.0.4/net/irda/ircomm/ircomm_tty.c 2011-07-21 22:17:23.000000000 -0400 72805--- linux-3.0.7/net/irda/ircomm/ircomm_tty.c 2011-07-21 22:17:23.000000000 -0400
69748+++ linux-3.0.4/net/irda/ircomm/ircomm_tty.c 2011-08-23 21:47:56.000000000 -0400 72806+++ linux-3.0.7/net/irda/ircomm/ircomm_tty.c 2011-08-23 21:47:56.000000000 -0400
69749@@ -282,16 +282,16 @@ static int ircomm_tty_block_til_ready(st 72807@@ -282,16 +282,16 @@ static int ircomm_tty_block_til_ready(st
69750 add_wait_queue(&self->open_wait, &wait); 72808 add_wait_queue(&self->open_wait, &wait);
69751 72809
@@ -69868,9 +72926,9 @@ diff -urNp linux-3.0.4/net/irda/ircomm/ircomm_tty.c linux-3.0.4/net/irda/ircomm/
69868 seq_printf(m, "Max data size: %d\n", self->max_data_size); 72926 seq_printf(m, "Max data size: %d\n", self->max_data_size);
69869 seq_printf(m, "Max header size: %d\n", self->max_header_size); 72927 seq_printf(m, "Max header size: %d\n", self->max_header_size);
69870 72928
69871diff -urNp linux-3.0.4/net/iucv/af_iucv.c linux-3.0.4/net/iucv/af_iucv.c 72929diff -urNp linux-3.0.7/net/iucv/af_iucv.c linux-3.0.7/net/iucv/af_iucv.c
69872--- linux-3.0.4/net/iucv/af_iucv.c 2011-07-21 22:17:23.000000000 -0400 72930--- linux-3.0.7/net/iucv/af_iucv.c 2011-07-21 22:17:23.000000000 -0400
69873+++ linux-3.0.4/net/iucv/af_iucv.c 2011-08-23 21:47:56.000000000 -0400 72931+++ linux-3.0.7/net/iucv/af_iucv.c 2011-08-23 21:47:56.000000000 -0400
69874@@ -648,10 +648,10 @@ static int iucv_sock_autobind(struct soc 72932@@ -648,10 +648,10 @@ static int iucv_sock_autobind(struct soc
69875 72933
69876 write_lock_bh(&iucv_sk_list.lock); 72934 write_lock_bh(&iucv_sk_list.lock);
@@ -69884,9 +72942,9 @@ diff -urNp linux-3.0.4/net/iucv/af_iucv.c linux-3.0.4/net/iucv/af_iucv.c
69884 } 72942 }
69885 72943
69886 write_unlock_bh(&iucv_sk_list.lock); 72944 write_unlock_bh(&iucv_sk_list.lock);
69887diff -urNp linux-3.0.4/net/key/af_key.c linux-3.0.4/net/key/af_key.c 72945diff -urNp linux-3.0.7/net/key/af_key.c linux-3.0.7/net/key/af_key.c
69888--- linux-3.0.4/net/key/af_key.c 2011-07-21 22:17:23.000000000 -0400 72946--- linux-3.0.7/net/key/af_key.c 2011-07-21 22:17:23.000000000 -0400
69889+++ linux-3.0.4/net/key/af_key.c 2011-08-23 21:48:14.000000000 -0400 72947+++ linux-3.0.7/net/key/af_key.c 2011-08-23 21:48:14.000000000 -0400
69890@@ -2481,6 +2481,8 @@ static int pfkey_migrate(struct sock *sk 72948@@ -2481,6 +2481,8 @@ static int pfkey_migrate(struct sock *sk
69891 struct xfrm_migrate m[XFRM_MAX_DEPTH]; 72949 struct xfrm_migrate m[XFRM_MAX_DEPTH];
69892 struct xfrm_kmaddress k; 72950 struct xfrm_kmaddress k;
@@ -69909,9 +72967,9 @@ diff -urNp linux-3.0.4/net/key/af_key.c linux-3.0.4/net/key/af_key.c
69909 } while (!res); 72967 } while (!res);
69910 return res; 72968 return res;
69911 } 72969 }
69912diff -urNp linux-3.0.4/net/lapb/lapb_iface.c linux-3.0.4/net/lapb/lapb_iface.c 72970diff -urNp linux-3.0.7/net/lapb/lapb_iface.c linux-3.0.7/net/lapb/lapb_iface.c
69913--- linux-3.0.4/net/lapb/lapb_iface.c 2011-07-21 22:17:23.000000000 -0400 72971--- linux-3.0.7/net/lapb/lapb_iface.c 2011-07-21 22:17:23.000000000 -0400
69914+++ linux-3.0.4/net/lapb/lapb_iface.c 2011-08-23 21:47:56.000000000 -0400 72972+++ linux-3.0.7/net/lapb/lapb_iface.c 2011-08-23 21:47:56.000000000 -0400
69915@@ -158,7 +158,7 @@ int lapb_register(struct net_device *dev 72973@@ -158,7 +158,7 @@ int lapb_register(struct net_device *dev
69916 goto out; 72974 goto out;
69917 72975
@@ -69975,9 +73033,9 @@ diff -urNp linux-3.0.4/net/lapb/lapb_iface.c linux-3.0.4/net/lapb/lapb_iface.c
69975 used = 1; 73033 used = 1;
69976 } 73034 }
69977 73035
69978diff -urNp linux-3.0.4/net/mac80211/debugfs_sta.c linux-3.0.4/net/mac80211/debugfs_sta.c 73036diff -urNp linux-3.0.7/net/mac80211/debugfs_sta.c linux-3.0.7/net/mac80211/debugfs_sta.c
69979--- linux-3.0.4/net/mac80211/debugfs_sta.c 2011-07-21 22:17:23.000000000 -0400 73037--- linux-3.0.7/net/mac80211/debugfs_sta.c 2011-07-21 22:17:23.000000000 -0400
69980+++ linux-3.0.4/net/mac80211/debugfs_sta.c 2011-08-23 21:48:14.000000000 -0400 73038+++ linux-3.0.7/net/mac80211/debugfs_sta.c 2011-08-23 21:48:14.000000000 -0400
69981@@ -140,6 +140,8 @@ static ssize_t sta_agg_status_read(struc 73039@@ -140,6 +140,8 @@ static ssize_t sta_agg_status_read(struc
69982 struct tid_ampdu_rx *tid_rx; 73040 struct tid_ampdu_rx *tid_rx;
69983 struct tid_ampdu_tx *tid_tx; 73041 struct tid_ampdu_tx *tid_tx;
@@ -69996,9 +73054,9 @@ diff -urNp linux-3.0.4/net/mac80211/debugfs_sta.c linux-3.0.4/net/mac80211/debug
69996 p += scnprintf(p, sizeof(buf) + buf - p, "ht %ssupported\n", 73054 p += scnprintf(p, sizeof(buf) + buf - p, "ht %ssupported\n",
69997 htc->ht_supported ? "" : "not "); 73055 htc->ht_supported ? "" : "not ");
69998 if (htc->ht_supported) { 73056 if (htc->ht_supported) {
69999diff -urNp linux-3.0.4/net/mac80211/ieee80211_i.h linux-3.0.4/net/mac80211/ieee80211_i.h 73057diff -urNp linux-3.0.7/net/mac80211/ieee80211_i.h linux-3.0.7/net/mac80211/ieee80211_i.h
70000--- linux-3.0.4/net/mac80211/ieee80211_i.h 2011-07-21 22:17:23.000000000 -0400 73058--- linux-3.0.7/net/mac80211/ieee80211_i.h 2011-07-21 22:17:23.000000000 -0400
70001+++ linux-3.0.4/net/mac80211/ieee80211_i.h 2011-08-23 21:47:56.000000000 -0400 73059+++ linux-3.0.7/net/mac80211/ieee80211_i.h 2011-08-23 21:47:56.000000000 -0400
70002@@ -27,6 +27,7 @@ 73060@@ -27,6 +27,7 @@
70003 #include <net/ieee80211_radiotap.h> 73061 #include <net/ieee80211_radiotap.h>
70004 #include <net/cfg80211.h> 73062 #include <net/cfg80211.h>
@@ -70016,9 +73074,9 @@ diff -urNp linux-3.0.4/net/mac80211/ieee80211_i.h linux-3.0.4/net/mac80211/ieee8
70016 int monitors, cooked_mntrs; 73074 int monitors, cooked_mntrs;
70017 /* number of interfaces with corresponding FIF_ flags */ 73075 /* number of interfaces with corresponding FIF_ flags */
70018 int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll, 73076 int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll,
70019diff -urNp linux-3.0.4/net/mac80211/iface.c linux-3.0.4/net/mac80211/iface.c 73077diff -urNp linux-3.0.7/net/mac80211/iface.c linux-3.0.7/net/mac80211/iface.c
70020--- linux-3.0.4/net/mac80211/iface.c 2011-09-02 18:11:21.000000000 -0400 73078--- linux-3.0.7/net/mac80211/iface.c 2011-09-02 18:11:21.000000000 -0400
70021+++ linux-3.0.4/net/mac80211/iface.c 2011-08-23 21:47:56.000000000 -0400 73079+++ linux-3.0.7/net/mac80211/iface.c 2011-08-23 21:47:56.000000000 -0400
70022@@ -211,7 +211,7 @@ static int ieee80211_do_open(struct net_ 73080@@ -211,7 +211,7 @@ static int ieee80211_do_open(struct net_
70023 break; 73081 break;
70024 } 73082 }
@@ -70073,9 +73131,9 @@ diff -urNp linux-3.0.4/net/mac80211/iface.c linux-3.0.4/net/mac80211/iface.c
70073 if (local->ops->napi_poll) 73131 if (local->ops->napi_poll)
70074 napi_disable(&local->napi); 73132 napi_disable(&local->napi);
70075 ieee80211_clear_tx_pending(local); 73133 ieee80211_clear_tx_pending(local);
70076diff -urNp linux-3.0.4/net/mac80211/main.c linux-3.0.4/net/mac80211/main.c 73134diff -urNp linux-3.0.7/net/mac80211/main.c linux-3.0.7/net/mac80211/main.c
70077--- linux-3.0.4/net/mac80211/main.c 2011-07-21 22:17:23.000000000 -0400 73135--- linux-3.0.7/net/mac80211/main.c 2011-07-21 22:17:23.000000000 -0400
70078+++ linux-3.0.4/net/mac80211/main.c 2011-08-23 21:47:56.000000000 -0400 73136+++ linux-3.0.7/net/mac80211/main.c 2011-08-23 21:47:56.000000000 -0400
70079@@ -209,7 +209,7 @@ int ieee80211_hw_config(struct ieee80211 73137@@ -209,7 +209,7 @@ int ieee80211_hw_config(struct ieee80211
70080 local->hw.conf.power_level = power; 73138 local->hw.conf.power_level = power;
70081 } 73139 }
@@ -70085,9 +73143,9 @@ diff -urNp linux-3.0.4/net/mac80211/main.c linux-3.0.4/net/mac80211/main.c
70085 ret = drv_config(local, changed); 73143 ret = drv_config(local, changed);
70086 /* 73144 /*
70087 * Goal: 73145 * Goal:
70088diff -urNp linux-3.0.4/net/mac80211/mlme.c linux-3.0.4/net/mac80211/mlme.c 73146diff -urNp linux-3.0.7/net/mac80211/mlme.c linux-3.0.7/net/mac80211/mlme.c
70089--- linux-3.0.4/net/mac80211/mlme.c 2011-09-02 18:11:21.000000000 -0400 73147--- linux-3.0.7/net/mac80211/mlme.c 2011-09-02 18:11:21.000000000 -0400
70090+++ linux-3.0.4/net/mac80211/mlme.c 2011-08-23 21:48:14.000000000 -0400 73148+++ linux-3.0.7/net/mac80211/mlme.c 2011-08-23 21:48:14.000000000 -0400
70091@@ -1444,6 +1444,8 @@ static bool ieee80211_assoc_success(stru 73149@@ -1444,6 +1444,8 @@ static bool ieee80211_assoc_success(stru
70092 bool have_higher_than_11mbit = false; 73150 bool have_higher_than_11mbit = false;
70093 u16 ap_ht_cap_flags; 73151 u16 ap_ht_cap_flags;
@@ -70097,9 +73155,9 @@ diff -urNp linux-3.0.4/net/mac80211/mlme.c linux-3.0.4/net/mac80211/mlme.c
70097 /* AssocResp and ReassocResp have identical structure */ 73155 /* AssocResp and ReassocResp have identical structure */
70098 73156
70099 aid = le16_to_cpu(mgmt->u.assoc_resp.aid); 73157 aid = le16_to_cpu(mgmt->u.assoc_resp.aid);
70100diff -urNp linux-3.0.4/net/mac80211/pm.c linux-3.0.4/net/mac80211/pm.c 73158diff -urNp linux-3.0.7/net/mac80211/pm.c linux-3.0.7/net/mac80211/pm.c
70101--- linux-3.0.4/net/mac80211/pm.c 2011-07-21 22:17:23.000000000 -0400 73159--- linux-3.0.7/net/mac80211/pm.c 2011-07-21 22:17:23.000000000 -0400
70102+++ linux-3.0.4/net/mac80211/pm.c 2011-08-23 21:47:56.000000000 -0400 73160+++ linux-3.0.7/net/mac80211/pm.c 2011-08-23 21:47:56.000000000 -0400
70103@@ -47,7 +47,7 @@ int __ieee80211_suspend(struct ieee80211 73161@@ -47,7 +47,7 @@ int __ieee80211_suspend(struct ieee80211
70104 cancel_work_sync(&local->dynamic_ps_enable_work); 73162 cancel_work_sync(&local->dynamic_ps_enable_work);
70105 del_timer_sync(&local->dynamic_ps_timer); 73163 del_timer_sync(&local->dynamic_ps_timer);
@@ -70118,9 +73176,9 @@ diff -urNp linux-3.0.4/net/mac80211/pm.c linux-3.0.4/net/mac80211/pm.c
70118 ieee80211_stop_device(local); 73176 ieee80211_stop_device(local);
70119 73177
70120 suspend: 73178 suspend:
70121diff -urNp linux-3.0.4/net/mac80211/rate.c linux-3.0.4/net/mac80211/rate.c 73179diff -urNp linux-3.0.7/net/mac80211/rate.c linux-3.0.7/net/mac80211/rate.c
70122--- linux-3.0.4/net/mac80211/rate.c 2011-07-21 22:17:23.000000000 -0400 73180--- linux-3.0.7/net/mac80211/rate.c 2011-07-21 22:17:23.000000000 -0400
70123+++ linux-3.0.4/net/mac80211/rate.c 2011-08-23 21:47:56.000000000 -0400 73181+++ linux-3.0.7/net/mac80211/rate.c 2011-08-23 21:47:56.000000000 -0400
70124@@ -371,7 +371,7 @@ int ieee80211_init_rate_ctrl_alg(struct 73182@@ -371,7 +371,7 @@ int ieee80211_init_rate_ctrl_alg(struct
70125 73183
70126 ASSERT_RTNL(); 73184 ASSERT_RTNL();
@@ -70130,9 +73188,9 @@ diff -urNp linux-3.0.4/net/mac80211/rate.c linux-3.0.4/net/mac80211/rate.c
70130 return -EBUSY; 73188 return -EBUSY;
70131 73189
70132 if (local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) { 73190 if (local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) {
70133diff -urNp linux-3.0.4/net/mac80211/rc80211_pid_debugfs.c linux-3.0.4/net/mac80211/rc80211_pid_debugfs.c 73191diff -urNp linux-3.0.7/net/mac80211/rc80211_pid_debugfs.c linux-3.0.7/net/mac80211/rc80211_pid_debugfs.c
70134--- linux-3.0.4/net/mac80211/rc80211_pid_debugfs.c 2011-07-21 22:17:23.000000000 -0400 73192--- linux-3.0.7/net/mac80211/rc80211_pid_debugfs.c 2011-07-21 22:17:23.000000000 -0400
70135+++ linux-3.0.4/net/mac80211/rc80211_pid_debugfs.c 2011-08-23 21:47:56.000000000 -0400 73193+++ linux-3.0.7/net/mac80211/rc80211_pid_debugfs.c 2011-08-23 21:47:56.000000000 -0400
70136@@ -192,7 +192,7 @@ static ssize_t rate_control_pid_events_r 73194@@ -192,7 +192,7 @@ static ssize_t rate_control_pid_events_r
70137 73195
70138 spin_unlock_irqrestore(&events->lock, status); 73196 spin_unlock_irqrestore(&events->lock, status);
@@ -70142,9 +73200,9 @@ diff -urNp linux-3.0.4/net/mac80211/rc80211_pid_debugfs.c linux-3.0.4/net/mac802
70142 return -EFAULT; 73200 return -EFAULT;
70143 73201
70144 return p; 73202 return p;
70145diff -urNp linux-3.0.4/net/mac80211/util.c linux-3.0.4/net/mac80211/util.c 73203diff -urNp linux-3.0.7/net/mac80211/util.c linux-3.0.7/net/mac80211/util.c
70146--- linux-3.0.4/net/mac80211/util.c 2011-07-21 22:17:23.000000000 -0400 73204--- linux-3.0.7/net/mac80211/util.c 2011-07-21 22:17:23.000000000 -0400
70147+++ linux-3.0.4/net/mac80211/util.c 2011-08-23 21:47:56.000000000 -0400 73205+++ linux-3.0.7/net/mac80211/util.c 2011-08-23 21:47:56.000000000 -0400
70148@@ -1147,7 +1147,7 @@ int ieee80211_reconfig(struct ieee80211_ 73206@@ -1147,7 +1147,7 @@ int ieee80211_reconfig(struct ieee80211_
70149 #endif 73207 #endif
70150 73208
@@ -70154,9 +73212,9 @@ diff -urNp linux-3.0.4/net/mac80211/util.c linux-3.0.4/net/mac80211/util.c
70154 /* 73212 /*
70155 * Upon resume hardware can sometimes be goofy due to 73213 * Upon resume hardware can sometimes be goofy due to
70156 * various platform / driver / bus issues, so restarting 73214 * various platform / driver / bus issues, so restarting
70157diff -urNp linux-3.0.4/net/netfilter/ipvs/ip_vs_conn.c linux-3.0.4/net/netfilter/ipvs/ip_vs_conn.c 73215diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_conn.c linux-3.0.7/net/netfilter/ipvs/ip_vs_conn.c
70158--- linux-3.0.4/net/netfilter/ipvs/ip_vs_conn.c 2011-07-21 22:17:23.000000000 -0400 73216--- linux-3.0.7/net/netfilter/ipvs/ip_vs_conn.c 2011-07-21 22:17:23.000000000 -0400
70159+++ linux-3.0.4/net/netfilter/ipvs/ip_vs_conn.c 2011-08-23 21:47:56.000000000 -0400 73217+++ linux-3.0.7/net/netfilter/ipvs/ip_vs_conn.c 2011-08-23 21:47:56.000000000 -0400
70160@@ -556,7 +556,7 @@ ip_vs_bind_dest(struct ip_vs_conn *cp, s 73218@@ -556,7 +556,7 @@ ip_vs_bind_dest(struct ip_vs_conn *cp, s
70161 /* Increase the refcnt counter of the dest */ 73219 /* Increase the refcnt counter of the dest */
70162 atomic_inc(&dest->refcnt); 73220 atomic_inc(&dest->refcnt);
@@ -70184,9 +73242,9 @@ diff -urNp linux-3.0.4/net/netfilter/ipvs/ip_vs_conn.c linux-3.0.4/net/netfilter
70184 if (i > 8 || i < 0) return 0; 73242 if (i > 8 || i < 0) return 0;
70185 73243
70186 if (!todrop_rate[i]) return 0; 73244 if (!todrop_rate[i]) return 0;
70187diff -urNp linux-3.0.4/net/netfilter/ipvs/ip_vs_core.c linux-3.0.4/net/netfilter/ipvs/ip_vs_core.c 73245diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_core.c linux-3.0.7/net/netfilter/ipvs/ip_vs_core.c
70188--- linux-3.0.4/net/netfilter/ipvs/ip_vs_core.c 2011-07-21 22:17:23.000000000 -0400 73246--- linux-3.0.7/net/netfilter/ipvs/ip_vs_core.c 2011-07-21 22:17:23.000000000 -0400
70189+++ linux-3.0.4/net/netfilter/ipvs/ip_vs_core.c 2011-08-23 21:47:56.000000000 -0400 73247+++ linux-3.0.7/net/netfilter/ipvs/ip_vs_core.c 2011-08-23 21:47:56.000000000 -0400
70190@@ -563,7 +563,7 @@ int ip_vs_leave(struct ip_vs_service *sv 73248@@ -563,7 +563,7 @@ int ip_vs_leave(struct ip_vs_service *sv
70191 ret = cp->packet_xmit(skb, cp, pd->pp); 73249 ret = cp->packet_xmit(skb, cp, pd->pp);
70192 /* do not touch skb anymore */ 73250 /* do not touch skb anymore */
@@ -70205,9 +73263,9 @@ diff -urNp linux-3.0.4/net/netfilter/ipvs/ip_vs_core.c linux-3.0.4/net/netfilter
70205 73263
70206 if ((ipvs->sync_state & IP_VS_STATE_MASTER) && 73264 if ((ipvs->sync_state & IP_VS_STATE_MASTER) &&
70207 cp->protocol == IPPROTO_SCTP) { 73265 cp->protocol == IPPROTO_SCTP) {
70208diff -urNp linux-3.0.4/net/netfilter/ipvs/ip_vs_ctl.c linux-3.0.4/net/netfilter/ipvs/ip_vs_ctl.c 73266diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_ctl.c linux-3.0.7/net/netfilter/ipvs/ip_vs_ctl.c
70209--- linux-3.0.4/net/netfilter/ipvs/ip_vs_ctl.c 2011-09-02 18:11:21.000000000 -0400 73267--- linux-3.0.7/net/netfilter/ipvs/ip_vs_ctl.c 2011-09-02 18:11:21.000000000 -0400
70210+++ linux-3.0.4/net/netfilter/ipvs/ip_vs_ctl.c 2011-08-23 21:48:14.000000000 -0400 73268+++ linux-3.0.7/net/netfilter/ipvs/ip_vs_ctl.c 2011-08-23 21:48:14.000000000 -0400
70211@@ -782,7 +782,7 @@ __ip_vs_update_dest(struct ip_vs_service 73269@@ -782,7 +782,7 @@ __ip_vs_update_dest(struct ip_vs_service
70212 ip_vs_rs_hash(ipvs, dest); 73270 ip_vs_rs_hash(ipvs, dest);
70213 write_unlock_bh(&ipvs->rs_lock); 73271 write_unlock_bh(&ipvs->rs_lock);
@@ -70262,9 +73320,9 @@ diff -urNp linux-3.0.4/net/netfilter/ipvs/ip_vs_ctl.c linux-3.0.4/net/netfilter/
70262 NLA_PUT_U32(skb, IPVS_DEST_ATTR_WEIGHT, atomic_read(&dest->weight)); 73320 NLA_PUT_U32(skb, IPVS_DEST_ATTR_WEIGHT, atomic_read(&dest->weight));
70263 NLA_PUT_U32(skb, IPVS_DEST_ATTR_U_THRESH, dest->u_threshold); 73321 NLA_PUT_U32(skb, IPVS_DEST_ATTR_U_THRESH, dest->u_threshold);
70264 NLA_PUT_U32(skb, IPVS_DEST_ATTR_L_THRESH, dest->l_threshold); 73322 NLA_PUT_U32(skb, IPVS_DEST_ATTR_L_THRESH, dest->l_threshold);
70265diff -urNp linux-3.0.4/net/netfilter/ipvs/ip_vs_sync.c linux-3.0.4/net/netfilter/ipvs/ip_vs_sync.c 73323diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_sync.c linux-3.0.7/net/netfilter/ipvs/ip_vs_sync.c
70266--- linux-3.0.4/net/netfilter/ipvs/ip_vs_sync.c 2011-07-21 22:17:23.000000000 -0400 73324--- linux-3.0.7/net/netfilter/ipvs/ip_vs_sync.c 2011-07-21 22:17:23.000000000 -0400
70267+++ linux-3.0.4/net/netfilter/ipvs/ip_vs_sync.c 2011-08-23 21:47:56.000000000 -0400 73325+++ linux-3.0.7/net/netfilter/ipvs/ip_vs_sync.c 2011-08-23 21:47:56.000000000 -0400
70268@@ -648,7 +648,7 @@ control: 73326@@ -648,7 +648,7 @@ control:
70269 * i.e only increment in_pkts for Templates. 73327 * i.e only increment in_pkts for Templates.
70270 */ 73328 */
@@ -70283,9 +73341,9 @@ diff -urNp linux-3.0.4/net/netfilter/ipvs/ip_vs_sync.c linux-3.0.4/net/netfilter
70283 cp->state = state; 73341 cp->state = state;
70284 cp->old_state = cp->state; 73342 cp->old_state = cp->state;
70285 /* 73343 /*
70286diff -urNp linux-3.0.4/net/netfilter/ipvs/ip_vs_xmit.c linux-3.0.4/net/netfilter/ipvs/ip_vs_xmit.c 73344diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_xmit.c linux-3.0.7/net/netfilter/ipvs/ip_vs_xmit.c
70287--- linux-3.0.4/net/netfilter/ipvs/ip_vs_xmit.c 2011-07-21 22:17:23.000000000 -0400 73345--- linux-3.0.7/net/netfilter/ipvs/ip_vs_xmit.c 2011-07-21 22:17:23.000000000 -0400
70288+++ linux-3.0.4/net/netfilter/ipvs/ip_vs_xmit.c 2011-08-23 21:47:56.000000000 -0400 73346+++ linux-3.0.7/net/netfilter/ipvs/ip_vs_xmit.c 2011-08-23 21:47:56.000000000 -0400
70289@@ -1151,7 +1151,7 @@ ip_vs_icmp_xmit(struct sk_buff *skb, str 73347@@ -1151,7 +1151,7 @@ ip_vs_icmp_xmit(struct sk_buff *skb, str
70290 else 73348 else
70291 rc = NF_ACCEPT; 73349 rc = NF_ACCEPT;
@@ -70304,9 +73362,9 @@ diff -urNp linux-3.0.4/net/netfilter/ipvs/ip_vs_xmit.c linux-3.0.4/net/netfilter
70304 goto out; 73362 goto out;
70305 } 73363 }
70306 73364
70307diff -urNp linux-3.0.4/net/netfilter/Kconfig linux-3.0.4/net/netfilter/Kconfig 73365diff -urNp linux-3.0.7/net/netfilter/Kconfig linux-3.0.7/net/netfilter/Kconfig
70308--- linux-3.0.4/net/netfilter/Kconfig 2011-07-21 22:17:23.000000000 -0400 73366--- linux-3.0.7/net/netfilter/Kconfig 2011-07-21 22:17:23.000000000 -0400
70309+++ linux-3.0.4/net/netfilter/Kconfig 2011-08-23 21:48:14.000000000 -0400 73367+++ linux-3.0.7/net/netfilter/Kconfig 2011-08-23 21:48:14.000000000 -0400
70310@@ -781,6 +781,16 @@ config NETFILTER_XT_MATCH_ESP 73368@@ -781,6 +781,16 @@ config NETFILTER_XT_MATCH_ESP
70311 73369
70312 To compile it as a module, choose M here. If unsure, say N. 73370 To compile it as a module, choose M here. If unsure, say N.
@@ -70324,9 +73382,9 @@ diff -urNp linux-3.0.4/net/netfilter/Kconfig linux-3.0.4/net/netfilter/Kconfig
70324 config NETFILTER_XT_MATCH_HASHLIMIT 73382 config NETFILTER_XT_MATCH_HASHLIMIT
70325 tristate '"hashlimit" match support' 73383 tristate '"hashlimit" match support'
70326 depends on (IP6_NF_IPTABLES || IP6_NF_IPTABLES=n) 73384 depends on (IP6_NF_IPTABLES || IP6_NF_IPTABLES=n)
70327diff -urNp linux-3.0.4/net/netfilter/Makefile linux-3.0.4/net/netfilter/Makefile 73385diff -urNp linux-3.0.7/net/netfilter/Makefile linux-3.0.7/net/netfilter/Makefile
70328--- linux-3.0.4/net/netfilter/Makefile 2011-07-21 22:17:23.000000000 -0400 73386--- linux-3.0.7/net/netfilter/Makefile 2011-07-21 22:17:23.000000000 -0400
70329+++ linux-3.0.4/net/netfilter/Makefile 2011-08-23 21:48:14.000000000 -0400 73387+++ linux-3.0.7/net/netfilter/Makefile 2011-08-23 21:48:14.000000000 -0400
70330@@ -81,6 +81,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_DCCP) += 73388@@ -81,6 +81,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_DCCP) +=
70331 obj-$(CONFIG_NETFILTER_XT_MATCH_DEVGROUP) += xt_devgroup.o 73389 obj-$(CONFIG_NETFILTER_XT_MATCH_DEVGROUP) += xt_devgroup.o
70332 obj-$(CONFIG_NETFILTER_XT_MATCH_DSCP) += xt_dscp.o 73390 obj-$(CONFIG_NETFILTER_XT_MATCH_DSCP) += xt_dscp.o
@@ -70335,9 +73393,9 @@ diff -urNp linux-3.0.4/net/netfilter/Makefile linux-3.0.4/net/netfilter/Makefile
70335 obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o 73393 obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o
70336 obj-$(CONFIG_NETFILTER_XT_MATCH_HELPER) += xt_helper.o 73394 obj-$(CONFIG_NETFILTER_XT_MATCH_HELPER) += xt_helper.o
70337 obj-$(CONFIG_NETFILTER_XT_MATCH_HL) += xt_hl.o 73395 obj-$(CONFIG_NETFILTER_XT_MATCH_HL) += xt_hl.o
70338diff -urNp linux-3.0.4/net/netfilter/nfnetlink_log.c linux-3.0.4/net/netfilter/nfnetlink_log.c 73396diff -urNp linux-3.0.7/net/netfilter/nfnetlink_log.c linux-3.0.7/net/netfilter/nfnetlink_log.c
70339--- linux-3.0.4/net/netfilter/nfnetlink_log.c 2011-07-21 22:17:23.000000000 -0400 73397--- linux-3.0.7/net/netfilter/nfnetlink_log.c 2011-07-21 22:17:23.000000000 -0400
70340+++ linux-3.0.4/net/netfilter/nfnetlink_log.c 2011-08-23 21:47:56.000000000 -0400 73398+++ linux-3.0.7/net/netfilter/nfnetlink_log.c 2011-08-23 21:47:56.000000000 -0400
70341@@ -70,7 +70,7 @@ struct nfulnl_instance { 73399@@ -70,7 +70,7 @@ struct nfulnl_instance {
70342 }; 73400 };
70343 73401
@@ -70356,9 +73414,9 @@ diff -urNp linux-3.0.4/net/netfilter/nfnetlink_log.c linux-3.0.4/net/netfilter/n
70356 73414
70357 if (data_len) { 73415 if (data_len) {
70358 struct nlattr *nla; 73416 struct nlattr *nla;
70359diff -urNp linux-3.0.4/net/netfilter/nfnetlink_queue.c linux-3.0.4/net/netfilter/nfnetlink_queue.c 73417diff -urNp linux-3.0.7/net/netfilter/nfnetlink_queue.c linux-3.0.7/net/netfilter/nfnetlink_queue.c
70360--- linux-3.0.4/net/netfilter/nfnetlink_queue.c 2011-07-21 22:17:23.000000000 -0400 73418--- linux-3.0.7/net/netfilter/nfnetlink_queue.c 2011-07-21 22:17:23.000000000 -0400
70361+++ linux-3.0.4/net/netfilter/nfnetlink_queue.c 2011-08-23 21:47:56.000000000 -0400 73419+++ linux-3.0.7/net/netfilter/nfnetlink_queue.c 2011-08-23 21:47:56.000000000 -0400
70362@@ -58,7 +58,7 @@ struct nfqnl_instance { 73420@@ -58,7 +58,7 @@ struct nfqnl_instance {
70363 */ 73421 */
70364 spinlock_t lock; 73422 spinlock_t lock;
@@ -70386,9 +73444,9 @@ diff -urNp linux-3.0.4/net/netfilter/nfnetlink_queue.c linux-3.0.4/net/netfilter
70386 } 73444 }
70387 73445
70388 static const struct seq_operations nfqnl_seq_ops = { 73446 static const struct seq_operations nfqnl_seq_ops = {
70389diff -urNp linux-3.0.4/net/netfilter/xt_gradm.c linux-3.0.4/net/netfilter/xt_gradm.c 73447diff -urNp linux-3.0.7/net/netfilter/xt_gradm.c linux-3.0.7/net/netfilter/xt_gradm.c
70390--- linux-3.0.4/net/netfilter/xt_gradm.c 1969-12-31 19:00:00.000000000 -0500 73448--- linux-3.0.7/net/netfilter/xt_gradm.c 1969-12-31 19:00:00.000000000 -0500
70391+++ linux-3.0.4/net/netfilter/xt_gradm.c 2011-08-23 21:48:14.000000000 -0400 73449+++ linux-3.0.7/net/netfilter/xt_gradm.c 2011-08-23 21:48:14.000000000 -0400
70392@@ -0,0 +1,51 @@ 73450@@ -0,0 +1,51 @@
70393+/* 73451+/*
70394+ * gradm match for netfilter 73452+ * gradm match for netfilter
@@ -70441,9 +73499,9 @@ diff -urNp linux-3.0.4/net/netfilter/xt_gradm.c linux-3.0.4/net/netfilter/xt_gra
70441+MODULE_LICENSE("GPL"); 73499+MODULE_LICENSE("GPL");
70442+MODULE_ALIAS("ipt_gradm"); 73500+MODULE_ALIAS("ipt_gradm");
70443+MODULE_ALIAS("ip6t_gradm"); 73501+MODULE_ALIAS("ip6t_gradm");
70444diff -urNp linux-3.0.4/net/netfilter/xt_statistic.c linux-3.0.4/net/netfilter/xt_statistic.c 73502diff -urNp linux-3.0.7/net/netfilter/xt_statistic.c linux-3.0.7/net/netfilter/xt_statistic.c
70445--- linux-3.0.4/net/netfilter/xt_statistic.c 2011-07-21 22:17:23.000000000 -0400 73503--- linux-3.0.7/net/netfilter/xt_statistic.c 2011-07-21 22:17:23.000000000 -0400
70446+++ linux-3.0.4/net/netfilter/xt_statistic.c 2011-08-23 21:47:56.000000000 -0400 73504+++ linux-3.0.7/net/netfilter/xt_statistic.c 2011-08-23 21:47:56.000000000 -0400
70447@@ -18,7 +18,7 @@ 73505@@ -18,7 +18,7 @@
70448 #include <linux/netfilter/x_tables.h> 73506 #include <linux/netfilter/x_tables.h>
70449 73507
@@ -70474,9 +73532,9 @@ diff -urNp linux-3.0.4/net/netfilter/xt_statistic.c linux-3.0.4/net/netfilter/xt
70474 73532
70475 return 0; 73533 return 0;
70476 } 73534 }
70477diff -urNp linux-3.0.4/net/netlink/af_netlink.c linux-3.0.4/net/netlink/af_netlink.c 73535diff -urNp linux-3.0.7/net/netlink/af_netlink.c linux-3.0.7/net/netlink/af_netlink.c
70478--- linux-3.0.4/net/netlink/af_netlink.c 2011-07-21 22:17:23.000000000 -0400 73536--- linux-3.0.7/net/netlink/af_netlink.c 2011-07-21 22:17:23.000000000 -0400
70479+++ linux-3.0.4/net/netlink/af_netlink.c 2011-08-23 21:47:56.000000000 -0400 73537+++ linux-3.0.7/net/netlink/af_netlink.c 2011-08-23 21:47:56.000000000 -0400
70480@@ -742,7 +742,7 @@ static void netlink_overrun(struct sock 73538@@ -742,7 +742,7 @@ static void netlink_overrun(struct sock
70481 sk->sk_error_report(sk); 73539 sk->sk_error_report(sk);
70482 } 73540 }
@@ -70495,9 +73553,9 @@ diff -urNp linux-3.0.4/net/netlink/af_netlink.c linux-3.0.4/net/netlink/af_netli
70495 sock_i_ino(s) 73553 sock_i_ino(s)
70496 ); 73554 );
70497 73555
70498diff -urNp linux-3.0.4/net/netrom/af_netrom.c linux-3.0.4/net/netrom/af_netrom.c 73556diff -urNp linux-3.0.7/net/netrom/af_netrom.c linux-3.0.7/net/netrom/af_netrom.c
70499--- linux-3.0.4/net/netrom/af_netrom.c 2011-07-21 22:17:23.000000000 -0400 73557--- linux-3.0.7/net/netrom/af_netrom.c 2011-07-21 22:17:23.000000000 -0400
70500+++ linux-3.0.4/net/netrom/af_netrom.c 2011-08-23 21:48:14.000000000 -0400 73558+++ linux-3.0.7/net/netrom/af_netrom.c 2011-08-23 21:48:14.000000000 -0400
70501@@ -839,6 +839,7 @@ static int nr_getname(struct socket *soc 73559@@ -839,6 +839,7 @@ static int nr_getname(struct socket *soc
70502 struct sock *sk = sock->sk; 73560 struct sock *sk = sock->sk;
70503 struct nr_sock *nr = nr_sk(sk); 73561 struct nr_sock *nr = nr_sk(sk);
@@ -70514,9 +73572,9 @@ diff -urNp linux-3.0.4/net/netrom/af_netrom.c linux-3.0.4/net/netrom/af_netrom.c
70514 sax->fsa_ax25.sax25_call = nr->source_addr; 73572 sax->fsa_ax25.sax25_call = nr->source_addr;
70515 *uaddr_len = sizeof(struct sockaddr_ax25); 73573 *uaddr_len = sizeof(struct sockaddr_ax25);
70516 } 73574 }
70517diff -urNp linux-3.0.4/net/packet/af_packet.c linux-3.0.4/net/packet/af_packet.c 73575diff -urNp linux-3.0.7/net/packet/af_packet.c linux-3.0.7/net/packet/af_packet.c
70518--- linux-3.0.4/net/packet/af_packet.c 2011-07-21 22:17:23.000000000 -0400 73576--- linux-3.0.7/net/packet/af_packet.c 2011-07-21 22:17:23.000000000 -0400
70519+++ linux-3.0.4/net/packet/af_packet.c 2011-08-23 21:47:56.000000000 -0400 73577+++ linux-3.0.7/net/packet/af_packet.c 2011-08-23 21:47:56.000000000 -0400
70520@@ -647,14 +647,14 @@ static int packet_rcv(struct sk_buff *sk 73578@@ -647,14 +647,14 @@ static int packet_rcv(struct sk_buff *sk
70521 73579
70522 spin_lock(&sk->sk_receive_queue.lock); 73580 spin_lock(&sk->sk_receive_queue.lock);
@@ -70552,9 +73610,9 @@ diff -urNp linux-3.0.4/net/packet/af_packet.c linux-3.0.4/net/packet/af_packet.c
70552 return -EFAULT; 73610 return -EFAULT;
70553 return 0; 73611 return 0;
70554 } 73612 }
70555diff -urNp linux-3.0.4/net/phonet/af_phonet.c linux-3.0.4/net/phonet/af_phonet.c 73613diff -urNp linux-3.0.7/net/phonet/af_phonet.c linux-3.0.7/net/phonet/af_phonet.c
70556--- linux-3.0.4/net/phonet/af_phonet.c 2011-07-21 22:17:23.000000000 -0400 73614--- linux-3.0.7/net/phonet/af_phonet.c 2011-07-21 22:17:23.000000000 -0400
70557+++ linux-3.0.4/net/phonet/af_phonet.c 2011-08-23 21:48:14.000000000 -0400 73615+++ linux-3.0.7/net/phonet/af_phonet.c 2011-08-23 21:48:14.000000000 -0400
70558@@ -41,7 +41,7 @@ static struct phonet_protocol *phonet_pr 73616@@ -41,7 +41,7 @@ static struct phonet_protocol *phonet_pr
70559 { 73617 {
70560 struct phonet_protocol *pp; 73618 struct phonet_protocol *pp;
@@ -70573,9 +73631,9 @@ diff -urNp linux-3.0.4/net/phonet/af_phonet.c linux-3.0.4/net/phonet/af_phonet.c
70573 return -EINVAL; 73631 return -EINVAL;
70574 73632
70575 err = proto_register(pp->prot, 1); 73633 err = proto_register(pp->prot, 1);
70576diff -urNp linux-3.0.4/net/phonet/pep.c linux-3.0.4/net/phonet/pep.c 73634diff -urNp linux-3.0.7/net/phonet/pep.c linux-3.0.7/net/phonet/pep.c
70577--- linux-3.0.4/net/phonet/pep.c 2011-07-21 22:17:23.000000000 -0400 73635--- linux-3.0.7/net/phonet/pep.c 2011-07-21 22:17:23.000000000 -0400
70578+++ linux-3.0.4/net/phonet/pep.c 2011-08-23 21:47:56.000000000 -0400 73636+++ linux-3.0.7/net/phonet/pep.c 2011-08-23 21:47:56.000000000 -0400
70579@@ -387,7 +387,7 @@ static int pipe_do_rcv(struct sock *sk, 73637@@ -387,7 +387,7 @@ static int pipe_do_rcv(struct sock *sk,
70580 73638
70581 case PNS_PEP_CTRL_REQ: 73639 case PNS_PEP_CTRL_REQ:
@@ -70603,9 +73661,9 @@ diff -urNp linux-3.0.4/net/phonet/pep.c linux-3.0.4/net/phonet/pep.c
70603 err = NET_RX_DROP; 73661 err = NET_RX_DROP;
70604 break; 73662 break;
70605 } 73663 }
70606diff -urNp linux-3.0.4/net/phonet/socket.c linux-3.0.4/net/phonet/socket.c 73664diff -urNp linux-3.0.7/net/phonet/socket.c linux-3.0.7/net/phonet/socket.c
70607--- linux-3.0.4/net/phonet/socket.c 2011-07-21 22:17:23.000000000 -0400 73665--- linux-3.0.7/net/phonet/socket.c 2011-07-21 22:17:23.000000000 -0400
70608+++ linux-3.0.4/net/phonet/socket.c 2011-08-23 21:48:14.000000000 -0400 73666+++ linux-3.0.7/net/phonet/socket.c 2011-08-23 21:48:14.000000000 -0400
70609@@ -612,8 +612,13 @@ static int pn_sock_seq_show(struct seq_f 73667@@ -612,8 +612,13 @@ static int pn_sock_seq_show(struct seq_f
70610 pn->resource, sk->sk_state, 73668 pn->resource, sk->sk_state,
70611 sk_wmem_alloc_get(sk), sk_rmem_alloc_get(sk), 73669 sk_wmem_alloc_get(sk), sk_rmem_alloc_get(sk),
@@ -70622,9 +73680,9 @@ diff -urNp linux-3.0.4/net/phonet/socket.c linux-3.0.4/net/phonet/socket.c
70622 } 73680 }
70623 seq_printf(seq, "%*s\n", 127 - len, ""); 73681 seq_printf(seq, "%*s\n", 127 - len, "");
70624 return 0; 73682 return 0;
70625diff -urNp linux-3.0.4/net/rds/cong.c linux-3.0.4/net/rds/cong.c 73683diff -urNp linux-3.0.7/net/rds/cong.c linux-3.0.7/net/rds/cong.c
70626--- linux-3.0.4/net/rds/cong.c 2011-07-21 22:17:23.000000000 -0400 73684--- linux-3.0.7/net/rds/cong.c 2011-07-21 22:17:23.000000000 -0400
70627+++ linux-3.0.4/net/rds/cong.c 2011-08-23 21:47:56.000000000 -0400 73685+++ linux-3.0.7/net/rds/cong.c 2011-08-23 21:47:56.000000000 -0400
70628@@ -77,7 +77,7 @@ 73686@@ -77,7 +77,7 @@
70629 * finds that the saved generation number is smaller than the global generation 73687 * finds that the saved generation number is smaller than the global generation
70630 * number, it wakes up the process. 73688 * number, it wakes up the process.
@@ -70652,9 +73710,9 @@ diff -urNp linux-3.0.4/net/rds/cong.c linux-3.0.4/net/rds/cong.c
70652 73710
70653 if (likely(*recent == gen)) 73711 if (likely(*recent == gen))
70654 return 0; 73712 return 0;
70655diff -urNp linux-3.0.4/net/rds/ib_cm.c linux-3.0.4/net/rds/ib_cm.c 73713diff -urNp linux-3.0.7/net/rds/ib_cm.c linux-3.0.7/net/rds/ib_cm.c
70656--- linux-3.0.4/net/rds/ib_cm.c 2011-07-21 22:17:23.000000000 -0400 73714--- linux-3.0.7/net/rds/ib_cm.c 2011-07-21 22:17:23.000000000 -0400
70657+++ linux-3.0.4/net/rds/ib_cm.c 2011-08-23 21:47:56.000000000 -0400 73715+++ linux-3.0.7/net/rds/ib_cm.c 2011-08-23 21:47:56.000000000 -0400
70658@@ -720,7 +720,7 @@ void rds_ib_conn_shutdown(struct rds_con 73716@@ -720,7 +720,7 @@ void rds_ib_conn_shutdown(struct rds_con
70659 /* Clear the ACK state */ 73717 /* Clear the ACK state */
70660 clear_bit(IB_ACK_IN_FLIGHT, &ic->i_ack_flags); 73718 clear_bit(IB_ACK_IN_FLIGHT, &ic->i_ack_flags);
@@ -70664,9 +73722,9 @@ diff -urNp linux-3.0.4/net/rds/ib_cm.c linux-3.0.4/net/rds/ib_cm.c
70664 #else 73722 #else
70665 ic->i_ack_next = 0; 73723 ic->i_ack_next = 0;
70666 #endif 73724 #endif
70667diff -urNp linux-3.0.4/net/rds/ib.h linux-3.0.4/net/rds/ib.h 73725diff -urNp linux-3.0.7/net/rds/ib.h linux-3.0.7/net/rds/ib.h
70668--- linux-3.0.4/net/rds/ib.h 2011-07-21 22:17:23.000000000 -0400 73726--- linux-3.0.7/net/rds/ib.h 2011-07-21 22:17:23.000000000 -0400
70669+++ linux-3.0.4/net/rds/ib.h 2011-08-23 21:47:56.000000000 -0400 73727+++ linux-3.0.7/net/rds/ib.h 2011-08-23 21:47:56.000000000 -0400
70670@@ -127,7 +127,7 @@ struct rds_ib_connection { 73728@@ -127,7 +127,7 @@ struct rds_ib_connection {
70671 /* sending acks */ 73729 /* sending acks */
70672 unsigned long i_ack_flags; 73730 unsigned long i_ack_flags;
@@ -70676,9 +73734,9 @@ diff -urNp linux-3.0.4/net/rds/ib.h linux-3.0.4/net/rds/ib.h
70676 #else 73734 #else
70677 spinlock_t i_ack_lock; /* protect i_ack_next */ 73735 spinlock_t i_ack_lock; /* protect i_ack_next */
70678 u64 i_ack_next; /* next ACK to send */ 73736 u64 i_ack_next; /* next ACK to send */
70679diff -urNp linux-3.0.4/net/rds/ib_recv.c linux-3.0.4/net/rds/ib_recv.c 73737diff -urNp linux-3.0.7/net/rds/ib_recv.c linux-3.0.7/net/rds/ib_recv.c
70680--- linux-3.0.4/net/rds/ib_recv.c 2011-07-21 22:17:23.000000000 -0400 73738--- linux-3.0.7/net/rds/ib_recv.c 2011-07-21 22:17:23.000000000 -0400
70681+++ linux-3.0.4/net/rds/ib_recv.c 2011-08-23 21:47:56.000000000 -0400 73739+++ linux-3.0.7/net/rds/ib_recv.c 2011-08-23 21:47:56.000000000 -0400
70682@@ -592,7 +592,7 @@ static u64 rds_ib_get_ack(struct rds_ib_ 73740@@ -592,7 +592,7 @@ static u64 rds_ib_get_ack(struct rds_ib_
70683 static void rds_ib_set_ack(struct rds_ib_connection *ic, u64 seq, 73741 static void rds_ib_set_ack(struct rds_ib_connection *ic, u64 seq,
70684 int ack_required) 73742 int ack_required)
@@ -70697,9 +73755,9 @@ diff -urNp linux-3.0.4/net/rds/ib_recv.c linux-3.0.4/net/rds/ib_recv.c
70697 } 73755 }
70698 #endif 73756 #endif
70699 73757
70700diff -urNp linux-3.0.4/net/rds/iw_cm.c linux-3.0.4/net/rds/iw_cm.c 73758diff -urNp linux-3.0.7/net/rds/iw_cm.c linux-3.0.7/net/rds/iw_cm.c
70701--- linux-3.0.4/net/rds/iw_cm.c 2011-07-21 22:17:23.000000000 -0400 73759--- linux-3.0.7/net/rds/iw_cm.c 2011-07-21 22:17:23.000000000 -0400
70702+++ linux-3.0.4/net/rds/iw_cm.c 2011-08-23 21:47:56.000000000 -0400 73760+++ linux-3.0.7/net/rds/iw_cm.c 2011-08-23 21:47:56.000000000 -0400
70703@@ -664,7 +664,7 @@ void rds_iw_conn_shutdown(struct rds_con 73761@@ -664,7 +664,7 @@ void rds_iw_conn_shutdown(struct rds_con
70704 /* Clear the ACK state */ 73762 /* Clear the ACK state */
70705 clear_bit(IB_ACK_IN_FLIGHT, &ic->i_ack_flags); 73763 clear_bit(IB_ACK_IN_FLIGHT, &ic->i_ack_flags);
@@ -70709,9 +73767,9 @@ diff -urNp linux-3.0.4/net/rds/iw_cm.c linux-3.0.4/net/rds/iw_cm.c
70709 #else 73767 #else
70710 ic->i_ack_next = 0; 73768 ic->i_ack_next = 0;
70711 #endif 73769 #endif
70712diff -urNp linux-3.0.4/net/rds/iw.h linux-3.0.4/net/rds/iw.h 73770diff -urNp linux-3.0.7/net/rds/iw.h linux-3.0.7/net/rds/iw.h
70713--- linux-3.0.4/net/rds/iw.h 2011-07-21 22:17:23.000000000 -0400 73771--- linux-3.0.7/net/rds/iw.h 2011-07-21 22:17:23.000000000 -0400
70714+++ linux-3.0.4/net/rds/iw.h 2011-08-23 21:47:56.000000000 -0400 73772+++ linux-3.0.7/net/rds/iw.h 2011-08-23 21:47:56.000000000 -0400
70715@@ -133,7 +133,7 @@ struct rds_iw_connection { 73773@@ -133,7 +133,7 @@ struct rds_iw_connection {
70716 /* sending acks */ 73774 /* sending acks */
70717 unsigned long i_ack_flags; 73775 unsigned long i_ack_flags;
@@ -70721,9 +73779,9 @@ diff -urNp linux-3.0.4/net/rds/iw.h linux-3.0.4/net/rds/iw.h
70721 #else 73779 #else
70722 spinlock_t i_ack_lock; /* protect i_ack_next */ 73780 spinlock_t i_ack_lock; /* protect i_ack_next */
70723 u64 i_ack_next; /* next ACK to send */ 73781 u64 i_ack_next; /* next ACK to send */
70724diff -urNp linux-3.0.4/net/rds/iw_rdma.c linux-3.0.4/net/rds/iw_rdma.c 73782diff -urNp linux-3.0.7/net/rds/iw_rdma.c linux-3.0.7/net/rds/iw_rdma.c
70725--- linux-3.0.4/net/rds/iw_rdma.c 2011-07-21 22:17:23.000000000 -0400 73783--- linux-3.0.7/net/rds/iw_rdma.c 2011-07-21 22:17:23.000000000 -0400
70726+++ linux-3.0.4/net/rds/iw_rdma.c 2011-08-23 21:48:14.000000000 -0400 73784+++ linux-3.0.7/net/rds/iw_rdma.c 2011-08-23 21:48:14.000000000 -0400
70727@@ -182,6 +182,8 @@ int rds_iw_update_cm_id(struct rds_iw_de 73785@@ -182,6 +182,8 @@ int rds_iw_update_cm_id(struct rds_iw_de
70728 struct rdma_cm_id *pcm_id; 73786 struct rdma_cm_id *pcm_id;
70729 int rc; 73787 int rc;
@@ -70733,9 +73791,9 @@ diff -urNp linux-3.0.4/net/rds/iw_rdma.c linux-3.0.4/net/rds/iw_rdma.c
70733 src_addr = (struct sockaddr_in *)&cm_id->route.addr.src_addr; 73791 src_addr = (struct sockaddr_in *)&cm_id->route.addr.src_addr;
70734 dst_addr = (struct sockaddr_in *)&cm_id->route.addr.dst_addr; 73792 dst_addr = (struct sockaddr_in *)&cm_id->route.addr.dst_addr;
70735 73793
70736diff -urNp linux-3.0.4/net/rds/iw_recv.c linux-3.0.4/net/rds/iw_recv.c 73794diff -urNp linux-3.0.7/net/rds/iw_recv.c linux-3.0.7/net/rds/iw_recv.c
70737--- linux-3.0.4/net/rds/iw_recv.c 2011-07-21 22:17:23.000000000 -0400 73795--- linux-3.0.7/net/rds/iw_recv.c 2011-07-21 22:17:23.000000000 -0400
70738+++ linux-3.0.4/net/rds/iw_recv.c 2011-08-23 21:47:56.000000000 -0400 73796+++ linux-3.0.7/net/rds/iw_recv.c 2011-08-23 21:47:56.000000000 -0400
70739@@ -427,7 +427,7 @@ static u64 rds_iw_get_ack(struct rds_iw_ 73797@@ -427,7 +427,7 @@ static u64 rds_iw_get_ack(struct rds_iw_
70740 static void rds_iw_set_ack(struct rds_iw_connection *ic, u64 seq, 73798 static void rds_iw_set_ack(struct rds_iw_connection *ic, u64 seq,
70741 int ack_required) 73799 int ack_required)
@@ -70754,9 +73812,33 @@ diff -urNp linux-3.0.4/net/rds/iw_recv.c linux-3.0.4/net/rds/iw_recv.c
70754 } 73812 }
70755 #endif 73813 #endif
70756 73814
70757diff -urNp linux-3.0.4/net/rxrpc/af_rxrpc.c linux-3.0.4/net/rxrpc/af_rxrpc.c 73815diff -urNp linux-3.0.7/net/rds/tcp.c linux-3.0.7/net/rds/tcp.c
70758--- linux-3.0.4/net/rxrpc/af_rxrpc.c 2011-07-21 22:17:23.000000000 -0400 73816--- linux-3.0.7/net/rds/tcp.c 2011-07-21 22:17:23.000000000 -0400
70759+++ linux-3.0.4/net/rxrpc/af_rxrpc.c 2011-08-23 21:47:56.000000000 -0400 73817+++ linux-3.0.7/net/rds/tcp.c 2011-10-06 04:17:55.000000000 -0400
73818@@ -58,7 +58,7 @@ void rds_tcp_nonagle(struct socket *sock
73819 int val = 1;
73820
73821 set_fs(KERNEL_DS);
73822- sock->ops->setsockopt(sock, SOL_TCP, TCP_NODELAY, (char __user *)&val,
73823+ sock->ops->setsockopt(sock, SOL_TCP, TCP_NODELAY, (char __force_user *)&val,
73824 sizeof(val));
73825 set_fs(oldfs);
73826 }
73827diff -urNp linux-3.0.7/net/rds/tcp_send.c linux-3.0.7/net/rds/tcp_send.c
73828--- linux-3.0.7/net/rds/tcp_send.c 2011-07-21 22:17:23.000000000 -0400
73829+++ linux-3.0.7/net/rds/tcp_send.c 2011-10-06 04:17:55.000000000 -0400
73830@@ -43,7 +43,7 @@ static void rds_tcp_cork(struct socket *
73831
73832 oldfs = get_fs();
73833 set_fs(KERNEL_DS);
73834- sock->ops->setsockopt(sock, SOL_TCP, TCP_CORK, (char __user *)&val,
73835+ sock->ops->setsockopt(sock, SOL_TCP, TCP_CORK, (char __force_user *)&val,
73836 sizeof(val));
73837 set_fs(oldfs);
73838 }
73839diff -urNp linux-3.0.7/net/rxrpc/af_rxrpc.c linux-3.0.7/net/rxrpc/af_rxrpc.c
73840--- linux-3.0.7/net/rxrpc/af_rxrpc.c 2011-07-21 22:17:23.000000000 -0400
73841+++ linux-3.0.7/net/rxrpc/af_rxrpc.c 2011-08-23 21:47:56.000000000 -0400
70760@@ -39,7 +39,7 @@ static const struct proto_ops rxrpc_rpc_ 73842@@ -39,7 +39,7 @@ static const struct proto_ops rxrpc_rpc_
70761 __be32 rxrpc_epoch; 73843 __be32 rxrpc_epoch;
70762 73844
@@ -70766,9 +73848,9 @@ diff -urNp linux-3.0.4/net/rxrpc/af_rxrpc.c linux-3.0.4/net/rxrpc/af_rxrpc.c
70766 73848
70767 /* count of skbs currently in use */ 73849 /* count of skbs currently in use */
70768 atomic_t rxrpc_n_skbs; 73850 atomic_t rxrpc_n_skbs;
70769diff -urNp linux-3.0.4/net/rxrpc/ar-ack.c linux-3.0.4/net/rxrpc/ar-ack.c 73851diff -urNp linux-3.0.7/net/rxrpc/ar-ack.c linux-3.0.7/net/rxrpc/ar-ack.c
70770--- linux-3.0.4/net/rxrpc/ar-ack.c 2011-07-21 22:17:23.000000000 -0400 73852--- linux-3.0.7/net/rxrpc/ar-ack.c 2011-07-21 22:17:23.000000000 -0400
70771+++ linux-3.0.4/net/rxrpc/ar-ack.c 2011-08-23 21:48:14.000000000 -0400 73853+++ linux-3.0.7/net/rxrpc/ar-ack.c 2011-08-23 21:48:14.000000000 -0400
70772@@ -175,7 +175,7 @@ static void rxrpc_resend(struct rxrpc_ca 73854@@ -175,7 +175,7 @@ static void rxrpc_resend(struct rxrpc_ca
70773 73855
70774 _enter("{%d,%d,%d,%d},", 73856 _enter("{%d,%d,%d,%d},",
@@ -70841,9 +73923,9 @@ diff -urNp linux-3.0.4/net/rxrpc/ar-ack.c linux-3.0.4/net/rxrpc/ar-ack.c
70841 _proto("Tx %s %%%u", rxrpc_pkts[hdr.type], ntohl(hdr.serial)); 73923 _proto("Tx %s %%%u", rxrpc_pkts[hdr.type], ntohl(hdr.serial));
70842 send_message_2: 73924 send_message_2:
70843 73925
70844diff -urNp linux-3.0.4/net/rxrpc/ar-call.c linux-3.0.4/net/rxrpc/ar-call.c 73926diff -urNp linux-3.0.7/net/rxrpc/ar-call.c linux-3.0.7/net/rxrpc/ar-call.c
70845--- linux-3.0.4/net/rxrpc/ar-call.c 2011-07-21 22:17:23.000000000 -0400 73927--- linux-3.0.7/net/rxrpc/ar-call.c 2011-07-21 22:17:23.000000000 -0400
70846+++ linux-3.0.4/net/rxrpc/ar-call.c 2011-08-23 21:47:56.000000000 -0400 73928+++ linux-3.0.7/net/rxrpc/ar-call.c 2011-08-23 21:47:56.000000000 -0400
70847@@ -83,7 +83,7 @@ static struct rxrpc_call *rxrpc_alloc_ca 73929@@ -83,7 +83,7 @@ static struct rxrpc_call *rxrpc_alloc_ca
70848 spin_lock_init(&call->lock); 73930 spin_lock_init(&call->lock);
70849 rwlock_init(&call->state_lock); 73931 rwlock_init(&call->state_lock);
@@ -70853,9 +73935,9 @@ diff -urNp linux-3.0.4/net/rxrpc/ar-call.c linux-3.0.4/net/rxrpc/ar-call.c
70853 call->state = RXRPC_CALL_CLIENT_SEND_REQUEST; 73935 call->state = RXRPC_CALL_CLIENT_SEND_REQUEST;
70854 73936
70855 memset(&call->sock_node, 0xed, sizeof(call->sock_node)); 73937 memset(&call->sock_node, 0xed, sizeof(call->sock_node));
70856diff -urNp linux-3.0.4/net/rxrpc/ar-connection.c linux-3.0.4/net/rxrpc/ar-connection.c 73938diff -urNp linux-3.0.7/net/rxrpc/ar-connection.c linux-3.0.7/net/rxrpc/ar-connection.c
70857--- linux-3.0.4/net/rxrpc/ar-connection.c 2011-07-21 22:17:23.000000000 -0400 73939--- linux-3.0.7/net/rxrpc/ar-connection.c 2011-07-21 22:17:23.000000000 -0400
70858+++ linux-3.0.4/net/rxrpc/ar-connection.c 2011-08-23 21:47:56.000000000 -0400 73940+++ linux-3.0.7/net/rxrpc/ar-connection.c 2011-08-23 21:47:56.000000000 -0400
70859@@ -206,7 +206,7 @@ static struct rxrpc_connection *rxrpc_al 73941@@ -206,7 +206,7 @@ static struct rxrpc_connection *rxrpc_al
70860 rwlock_init(&conn->lock); 73942 rwlock_init(&conn->lock);
70861 spin_lock_init(&conn->state_lock); 73943 spin_lock_init(&conn->state_lock);
@@ -70865,9 +73947,9 @@ diff -urNp linux-3.0.4/net/rxrpc/ar-connection.c linux-3.0.4/net/rxrpc/ar-connec
70865 conn->avail_calls = RXRPC_MAXCALLS; 73947 conn->avail_calls = RXRPC_MAXCALLS;
70866 conn->size_align = 4; 73948 conn->size_align = 4;
70867 conn->header_size = sizeof(struct rxrpc_header); 73949 conn->header_size = sizeof(struct rxrpc_header);
70868diff -urNp linux-3.0.4/net/rxrpc/ar-connevent.c linux-3.0.4/net/rxrpc/ar-connevent.c 73950diff -urNp linux-3.0.7/net/rxrpc/ar-connevent.c linux-3.0.7/net/rxrpc/ar-connevent.c
70869--- linux-3.0.4/net/rxrpc/ar-connevent.c 2011-07-21 22:17:23.000000000 -0400 73951--- linux-3.0.7/net/rxrpc/ar-connevent.c 2011-07-21 22:17:23.000000000 -0400
70870+++ linux-3.0.4/net/rxrpc/ar-connevent.c 2011-08-23 21:47:56.000000000 -0400 73952+++ linux-3.0.7/net/rxrpc/ar-connevent.c 2011-08-23 21:47:56.000000000 -0400
70871@@ -109,7 +109,7 @@ static int rxrpc_abort_connection(struct 73953@@ -109,7 +109,7 @@ static int rxrpc_abort_connection(struct
70872 73954
70873 len = iov[0].iov_len + iov[1].iov_len; 73955 len = iov[0].iov_len + iov[1].iov_len;
@@ -70877,9 +73959,9 @@ diff -urNp linux-3.0.4/net/rxrpc/ar-connevent.c linux-3.0.4/net/rxrpc/ar-conneve
70877 _proto("Tx CONN ABORT %%%u { %d }", ntohl(hdr.serial), abort_code); 73959 _proto("Tx CONN ABORT %%%u { %d }", ntohl(hdr.serial), abort_code);
70878 73960
70879 ret = kernel_sendmsg(conn->trans->local->socket, &msg, iov, 2, len); 73961 ret = kernel_sendmsg(conn->trans->local->socket, &msg, iov, 2, len);
70880diff -urNp linux-3.0.4/net/rxrpc/ar-input.c linux-3.0.4/net/rxrpc/ar-input.c 73962diff -urNp linux-3.0.7/net/rxrpc/ar-input.c linux-3.0.7/net/rxrpc/ar-input.c
70881--- linux-3.0.4/net/rxrpc/ar-input.c 2011-07-21 22:17:23.000000000 -0400 73963--- linux-3.0.7/net/rxrpc/ar-input.c 2011-07-21 22:17:23.000000000 -0400
70882+++ linux-3.0.4/net/rxrpc/ar-input.c 2011-08-23 21:47:56.000000000 -0400 73964+++ linux-3.0.7/net/rxrpc/ar-input.c 2011-08-23 21:47:56.000000000 -0400
70883@@ -340,9 +340,9 @@ void rxrpc_fast_process_packet(struct rx 73965@@ -340,9 +340,9 @@ void rxrpc_fast_process_packet(struct rx
70884 /* track the latest serial number on this connection for ACK packet 73966 /* track the latest serial number on this connection for ACK packet
70885 * information */ 73967 * information */
@@ -70892,9 +73974,9 @@ diff -urNp linux-3.0.4/net/rxrpc/ar-input.c linux-3.0.4/net/rxrpc/ar-input.c
70892 serial); 73974 serial);
70893 73975
70894 /* request ACK generation for any ACK or DATA packet that requests 73976 /* request ACK generation for any ACK or DATA packet that requests
70895diff -urNp linux-3.0.4/net/rxrpc/ar-internal.h linux-3.0.4/net/rxrpc/ar-internal.h 73977diff -urNp linux-3.0.7/net/rxrpc/ar-internal.h linux-3.0.7/net/rxrpc/ar-internal.h
70896--- linux-3.0.4/net/rxrpc/ar-internal.h 2011-07-21 22:17:23.000000000 -0400 73978--- linux-3.0.7/net/rxrpc/ar-internal.h 2011-07-21 22:17:23.000000000 -0400
70897+++ linux-3.0.4/net/rxrpc/ar-internal.h 2011-08-23 21:47:56.000000000 -0400 73979+++ linux-3.0.7/net/rxrpc/ar-internal.h 2011-08-23 21:47:56.000000000 -0400
70898@@ -272,8 +272,8 @@ struct rxrpc_connection { 73980@@ -272,8 +272,8 @@ struct rxrpc_connection {
70899 int error; /* error code for local abort */ 73981 int error; /* error code for local abort */
70900 int debug_id; /* debug ID for printks */ 73982 int debug_id; /* debug ID for printks */
@@ -70924,9 +74006,9 @@ diff -urNp linux-3.0.4/net/rxrpc/ar-internal.h linux-3.0.4/net/rxrpc/ar-internal
70924 extern struct workqueue_struct *rxrpc_workqueue; 74006 extern struct workqueue_struct *rxrpc_workqueue;
70925 74007
70926 /* 74008 /*
70927diff -urNp linux-3.0.4/net/rxrpc/ar-local.c linux-3.0.4/net/rxrpc/ar-local.c 74009diff -urNp linux-3.0.7/net/rxrpc/ar-local.c linux-3.0.7/net/rxrpc/ar-local.c
70928--- linux-3.0.4/net/rxrpc/ar-local.c 2011-07-21 22:17:23.000000000 -0400 74010--- linux-3.0.7/net/rxrpc/ar-local.c 2011-07-21 22:17:23.000000000 -0400
70929+++ linux-3.0.4/net/rxrpc/ar-local.c 2011-08-23 21:47:56.000000000 -0400 74011+++ linux-3.0.7/net/rxrpc/ar-local.c 2011-08-23 21:47:56.000000000 -0400
70930@@ -45,7 +45,7 @@ struct rxrpc_local *rxrpc_alloc_local(st 74012@@ -45,7 +45,7 @@ struct rxrpc_local *rxrpc_alloc_local(st
70931 spin_lock_init(&local->lock); 74013 spin_lock_init(&local->lock);
70932 rwlock_init(&local->services_lock); 74014 rwlock_init(&local->services_lock);
@@ -70936,9 +74018,9 @@ diff -urNp linux-3.0.4/net/rxrpc/ar-local.c linux-3.0.4/net/rxrpc/ar-local.c
70936 memcpy(&local->srx, srx, sizeof(*srx)); 74018 memcpy(&local->srx, srx, sizeof(*srx));
70937 } 74019 }
70938 74020
70939diff -urNp linux-3.0.4/net/rxrpc/ar-output.c linux-3.0.4/net/rxrpc/ar-output.c 74021diff -urNp linux-3.0.7/net/rxrpc/ar-output.c linux-3.0.7/net/rxrpc/ar-output.c
70940--- linux-3.0.4/net/rxrpc/ar-output.c 2011-07-21 22:17:23.000000000 -0400 74022--- linux-3.0.7/net/rxrpc/ar-output.c 2011-07-21 22:17:23.000000000 -0400
70941+++ linux-3.0.4/net/rxrpc/ar-output.c 2011-08-23 21:47:56.000000000 -0400 74023+++ linux-3.0.7/net/rxrpc/ar-output.c 2011-08-23 21:47:56.000000000 -0400
70942@@ -681,9 +681,9 @@ static int rxrpc_send_data(struct kiocb 74024@@ -681,9 +681,9 @@ static int rxrpc_send_data(struct kiocb
70943 sp->hdr.cid = call->cid; 74025 sp->hdr.cid = call->cid;
70944 sp->hdr.callNumber = call->call_id; 74026 sp->hdr.callNumber = call->call_id;
@@ -70951,9 +74033,9 @@ diff -urNp linux-3.0.4/net/rxrpc/ar-output.c linux-3.0.4/net/rxrpc/ar-output.c
70951 sp->hdr.type = RXRPC_PACKET_TYPE_DATA; 74033 sp->hdr.type = RXRPC_PACKET_TYPE_DATA;
70952 sp->hdr.userStatus = 0; 74034 sp->hdr.userStatus = 0;
70953 sp->hdr.securityIndex = conn->security_ix; 74035 sp->hdr.securityIndex = conn->security_ix;
70954diff -urNp linux-3.0.4/net/rxrpc/ar-peer.c linux-3.0.4/net/rxrpc/ar-peer.c 74036diff -urNp linux-3.0.7/net/rxrpc/ar-peer.c linux-3.0.7/net/rxrpc/ar-peer.c
70955--- linux-3.0.4/net/rxrpc/ar-peer.c 2011-07-21 22:17:23.000000000 -0400 74037--- linux-3.0.7/net/rxrpc/ar-peer.c 2011-07-21 22:17:23.000000000 -0400
70956+++ linux-3.0.4/net/rxrpc/ar-peer.c 2011-08-23 21:47:56.000000000 -0400 74038+++ linux-3.0.7/net/rxrpc/ar-peer.c 2011-08-23 21:47:56.000000000 -0400
70957@@ -72,7 +72,7 @@ static struct rxrpc_peer *rxrpc_alloc_pe 74039@@ -72,7 +72,7 @@ static struct rxrpc_peer *rxrpc_alloc_pe
70958 INIT_LIST_HEAD(&peer->error_targets); 74040 INIT_LIST_HEAD(&peer->error_targets);
70959 spin_lock_init(&peer->lock); 74041 spin_lock_init(&peer->lock);
@@ -70963,9 +74045,9 @@ diff -urNp linux-3.0.4/net/rxrpc/ar-peer.c linux-3.0.4/net/rxrpc/ar-peer.c
70963 memcpy(&peer->srx, srx, sizeof(*srx)); 74045 memcpy(&peer->srx, srx, sizeof(*srx));
70964 74046
70965 rxrpc_assess_MTU_size(peer); 74047 rxrpc_assess_MTU_size(peer);
70966diff -urNp linux-3.0.4/net/rxrpc/ar-proc.c linux-3.0.4/net/rxrpc/ar-proc.c 74048diff -urNp linux-3.0.7/net/rxrpc/ar-proc.c linux-3.0.7/net/rxrpc/ar-proc.c
70967--- linux-3.0.4/net/rxrpc/ar-proc.c 2011-07-21 22:17:23.000000000 -0400 74049--- linux-3.0.7/net/rxrpc/ar-proc.c 2011-07-21 22:17:23.000000000 -0400
70968+++ linux-3.0.4/net/rxrpc/ar-proc.c 2011-08-23 21:47:56.000000000 -0400 74050+++ linux-3.0.7/net/rxrpc/ar-proc.c 2011-08-23 21:47:56.000000000 -0400
70969@@ -164,8 +164,8 @@ static int rxrpc_connection_seq_show(str 74051@@ -164,8 +164,8 @@ static int rxrpc_connection_seq_show(str
70970 atomic_read(&conn->usage), 74052 atomic_read(&conn->usage),
70971 rxrpc_conn_states[conn->state], 74053 rxrpc_conn_states[conn->state],
@@ -70977,9 +74059,9 @@ diff -urNp linux-3.0.4/net/rxrpc/ar-proc.c linux-3.0.4/net/rxrpc/ar-proc.c
70977 74059
70978 return 0; 74060 return 0;
70979 } 74061 }
70980diff -urNp linux-3.0.4/net/rxrpc/ar-transport.c linux-3.0.4/net/rxrpc/ar-transport.c 74062diff -urNp linux-3.0.7/net/rxrpc/ar-transport.c linux-3.0.7/net/rxrpc/ar-transport.c
70981--- linux-3.0.4/net/rxrpc/ar-transport.c 2011-07-21 22:17:23.000000000 -0400 74063--- linux-3.0.7/net/rxrpc/ar-transport.c 2011-07-21 22:17:23.000000000 -0400
70982+++ linux-3.0.4/net/rxrpc/ar-transport.c 2011-08-23 21:47:56.000000000 -0400 74064+++ linux-3.0.7/net/rxrpc/ar-transport.c 2011-08-23 21:47:56.000000000 -0400
70983@@ -47,7 +47,7 @@ static struct rxrpc_transport *rxrpc_all 74065@@ -47,7 +47,7 @@ static struct rxrpc_transport *rxrpc_all
70984 spin_lock_init(&trans->client_lock); 74066 spin_lock_init(&trans->client_lock);
70985 rwlock_init(&trans->conn_lock); 74067 rwlock_init(&trans->conn_lock);
@@ -70989,9 +74071,9 @@ diff -urNp linux-3.0.4/net/rxrpc/ar-transport.c linux-3.0.4/net/rxrpc/ar-transpo
70989 74071
70990 if (peer->srx.transport.family == AF_INET) { 74072 if (peer->srx.transport.family == AF_INET) {
70991 switch (peer->srx.transport_type) { 74073 switch (peer->srx.transport_type) {
70992diff -urNp linux-3.0.4/net/rxrpc/rxkad.c linux-3.0.4/net/rxrpc/rxkad.c 74074diff -urNp linux-3.0.7/net/rxrpc/rxkad.c linux-3.0.7/net/rxrpc/rxkad.c
70993--- linux-3.0.4/net/rxrpc/rxkad.c 2011-07-21 22:17:23.000000000 -0400 74075--- linux-3.0.7/net/rxrpc/rxkad.c 2011-07-21 22:17:23.000000000 -0400
70994+++ linux-3.0.4/net/rxrpc/rxkad.c 2011-08-23 21:48:14.000000000 -0400 74076+++ linux-3.0.7/net/rxrpc/rxkad.c 2011-08-23 21:48:14.000000000 -0400
70995@@ -211,6 +211,8 @@ static int rxkad_secure_packet_encrypt(c 74077@@ -211,6 +211,8 @@ static int rxkad_secure_packet_encrypt(c
70996 u16 check; 74078 u16 check;
70997 int nsg; 74079 int nsg;
@@ -71028,9 +74110,9 @@ diff -urNp linux-3.0.4/net/rxrpc/rxkad.c linux-3.0.4/net/rxrpc/rxkad.c
71028 _proto("Tx RESPONSE %%%u", ntohl(hdr->serial)); 74110 _proto("Tx RESPONSE %%%u", ntohl(hdr->serial));
71029 74111
71030 ret = kernel_sendmsg(conn->trans->local->socket, &msg, iov, 3, len); 74112 ret = kernel_sendmsg(conn->trans->local->socket, &msg, iov, 3, len);
71031diff -urNp linux-3.0.4/net/sctp/proc.c linux-3.0.4/net/sctp/proc.c 74113diff -urNp linux-3.0.7/net/sctp/proc.c linux-3.0.7/net/sctp/proc.c
71032--- linux-3.0.4/net/sctp/proc.c 2011-07-21 22:17:23.000000000 -0400 74114--- linux-3.0.7/net/sctp/proc.c 2011-07-21 22:17:23.000000000 -0400
71033+++ linux-3.0.4/net/sctp/proc.c 2011-08-23 21:48:14.000000000 -0400 74115+++ linux-3.0.7/net/sctp/proc.c 2011-08-23 21:48:14.000000000 -0400
71034@@ -318,7 +318,8 @@ static int sctp_assocs_seq_show(struct s 74116@@ -318,7 +318,8 @@ static int sctp_assocs_seq_show(struct s
71035 seq_printf(seq, 74117 seq_printf(seq,
71036 "%8pK %8pK %-3d %-3d %-2d %-4d " 74118 "%8pK %8pK %-3d %-3d %-2d %-4d "
@@ -71041,9 +74123,9 @@ diff -urNp linux-3.0.4/net/sctp/proc.c linux-3.0.4/net/sctp/proc.c
71041 assoc->state, hash, 74123 assoc->state, hash,
71042 assoc->assoc_id, 74124 assoc->assoc_id,
71043 assoc->sndbuf_used, 74125 assoc->sndbuf_used,
71044diff -urNp linux-3.0.4/net/sctp/socket.c linux-3.0.4/net/sctp/socket.c 74126diff -urNp linux-3.0.7/net/sctp/socket.c linux-3.0.7/net/sctp/socket.c
71045--- linux-3.0.4/net/sctp/socket.c 2011-07-21 22:17:23.000000000 -0400 74127--- linux-3.0.7/net/sctp/socket.c 2011-07-21 22:17:23.000000000 -0400
71046+++ linux-3.0.4/net/sctp/socket.c 2011-08-23 21:47:56.000000000 -0400 74128+++ linux-3.0.7/net/sctp/socket.c 2011-08-23 21:47:56.000000000 -0400
71047@@ -4452,7 +4452,7 @@ static int sctp_getsockopt_peer_addrs(st 74129@@ -4452,7 +4452,7 @@ static int sctp_getsockopt_peer_addrs(st
71048 addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len; 74130 addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
71049 if (space_left < addrlen) 74131 if (space_left < addrlen)
@@ -71053,9 +74135,9 @@ diff -urNp linux-3.0.4/net/sctp/socket.c linux-3.0.4/net/sctp/socket.c
71053 return -EFAULT; 74135 return -EFAULT;
71054 to += addrlen; 74136 to += addrlen;
71055 cnt++; 74137 cnt++;
71056diff -urNp linux-3.0.4/net/socket.c linux-3.0.4/net/socket.c 74138diff -urNp linux-3.0.7/net/socket.c linux-3.0.7/net/socket.c
71057--- linux-3.0.4/net/socket.c 2011-09-02 18:11:21.000000000 -0400 74139--- linux-3.0.7/net/socket.c 2011-10-16 21:54:54.000000000 -0400
71058+++ linux-3.0.4/net/socket.c 2011-08-23 21:48:14.000000000 -0400 74140+++ linux-3.0.7/net/socket.c 2011-10-16 21:55:28.000000000 -0400
71059@@ -88,6 +88,7 @@ 74141@@ -88,6 +88,7 @@
71060 #include <linux/nsproxy.h> 74142 #include <linux/nsproxy.h>
71061 #include <linux/magic.h> 74143 #include <linux/magic.h>
@@ -71215,9 +74297,117 @@ diff -urNp linux-3.0.4/net/socket.c linux-3.0.4/net/socket.c
71215 err = -EFAULT; 74297 err = -EFAULT;
71216 if (MSG_CMSG_COMPAT & flags) { 74298 if (MSG_CMSG_COMPAT & flags) {
71217 if (get_compat_msghdr(msg_sys, msg_compat)) 74299 if (get_compat_msghdr(msg_sys, msg_compat))
71218diff -urNp linux-3.0.4/net/sunrpc/sched.c linux-3.0.4/net/sunrpc/sched.c 74300@@ -1950,7 +2012,7 @@ static int __sys_sendmsg(struct socket *
71219--- linux-3.0.4/net/sunrpc/sched.c 2011-07-21 22:17:23.000000000 -0400 74301 * checking falls down on this.
71220+++ linux-3.0.4/net/sunrpc/sched.c 2011-08-23 21:47:56.000000000 -0400 74302 */
74303 if (copy_from_user(ctl_buf,
74304- (void __user __force *)msg_sys->msg_control,
74305+ (void __force_user *)msg_sys->msg_control,
74306 ctl_len))
74307 goto out_freectl;
74308 msg_sys->msg_control = ctl_buf;
74309@@ -2120,7 +2182,7 @@ static int __sys_recvmsg(struct socket *
74310 * kernel msghdr to use the kernel address space)
74311 */
74312
74313- uaddr = (__force void __user *)msg_sys->msg_name;
74314+ uaddr = (void __force_user *)msg_sys->msg_name;
74315 uaddr_len = COMPAT_NAMELEN(msg);
74316 if (MSG_CMSG_COMPAT & flags) {
74317 err = verify_compat_iovec(msg_sys, iov,
74318@@ -2748,7 +2810,7 @@ static int ethtool_ioctl(struct net *net
74319 }
74320
74321 ifr = compat_alloc_user_space(buf_size);
74322- rxnfc = (void *)ifr + ALIGN(sizeof(struct ifreq), 8);
74323+ rxnfc = (void __user *)ifr + ALIGN(sizeof(struct ifreq), 8);
74324
74325 if (copy_in_user(&ifr->ifr_name, &ifr32->ifr_name, IFNAMSIZ))
74326 return -EFAULT;
74327@@ -2772,12 +2834,12 @@ static int ethtool_ioctl(struct net *net
74328 offsetof(struct ethtool_rxnfc, fs.ring_cookie));
74329
74330 if (copy_in_user(rxnfc, compat_rxnfc,
74331- (void *)(&rxnfc->fs.m_ext + 1) -
74332- (void *)rxnfc) ||
74333+ (void __user *)(&rxnfc->fs.m_ext + 1) -
74334+ (void __user *)rxnfc) ||
74335 copy_in_user(&rxnfc->fs.ring_cookie,
74336 &compat_rxnfc->fs.ring_cookie,
74337- (void *)(&rxnfc->fs.location + 1) -
74338- (void *)&rxnfc->fs.ring_cookie) ||
74339+ (void __user *)(&rxnfc->fs.location + 1) -
74340+ (void __user *)&rxnfc->fs.ring_cookie) ||
74341 copy_in_user(&rxnfc->rule_cnt, &compat_rxnfc->rule_cnt,
74342 sizeof(rxnfc->rule_cnt)))
74343 return -EFAULT;
74344@@ -2789,12 +2851,12 @@ static int ethtool_ioctl(struct net *net
74345
74346 if (convert_out) {
74347 if (copy_in_user(compat_rxnfc, rxnfc,
74348- (const void *)(&rxnfc->fs.m_ext + 1) -
74349- (const void *)rxnfc) ||
74350+ (const void __user *)(&rxnfc->fs.m_ext + 1) -
74351+ (const void __user *)rxnfc) ||
74352 copy_in_user(&compat_rxnfc->fs.ring_cookie,
74353 &rxnfc->fs.ring_cookie,
74354- (const void *)(&rxnfc->fs.location + 1) -
74355- (const void *)&rxnfc->fs.ring_cookie) ||
74356+ (const void __user *)(&rxnfc->fs.location + 1) -
74357+ (const void __user *)&rxnfc->fs.ring_cookie) ||
74358 copy_in_user(&compat_rxnfc->rule_cnt, &rxnfc->rule_cnt,
74359 sizeof(rxnfc->rule_cnt)))
74360 return -EFAULT;
74361@@ -2864,7 +2926,7 @@ static int bond_ioctl(struct net *net, u
74362 old_fs = get_fs();
74363 set_fs(KERNEL_DS);
74364 err = dev_ioctl(net, cmd,
74365- (struct ifreq __user __force *) &kifr);
74366+ (struct ifreq __force_user *) &kifr);
74367 set_fs(old_fs);
74368
74369 return err;
74370@@ -2973,7 +3035,7 @@ static int compat_sioc_ifmap(struct net
74371
74372 old_fs = get_fs();
74373 set_fs(KERNEL_DS);
74374- err = dev_ioctl(net, cmd, (void __user __force *)&ifr);
74375+ err = dev_ioctl(net, cmd, (void __force_user *)&ifr);
74376 set_fs(old_fs);
74377
74378 if (cmd == SIOCGIFMAP && !err) {
74379@@ -3078,7 +3140,7 @@ static int routing_ioctl(struct net *net
74380 ret |= __get_user(rtdev, &(ur4->rt_dev));
74381 if (rtdev) {
74382 ret |= copy_from_user(devname, compat_ptr(rtdev), 15);
74383- r4.rt_dev = (char __user __force *)devname;
74384+ r4.rt_dev = (char __force_user *)devname;
74385 devname[15] = 0;
74386 } else
74387 r4.rt_dev = NULL;
74388@@ -3318,8 +3380,8 @@ int kernel_getsockopt(struct socket *soc
74389 int __user *uoptlen;
74390 int err;
74391
74392- uoptval = (char __user __force *) optval;
74393- uoptlen = (int __user __force *) optlen;
74394+ uoptval = (char __force_user *) optval;
74395+ uoptlen = (int __force_user *) optlen;
74396
74397 set_fs(KERNEL_DS);
74398 if (level == SOL_SOCKET)
74399@@ -3339,7 +3401,7 @@ int kernel_setsockopt(struct socket *soc
74400 char __user *uoptval;
74401 int err;
74402
74403- uoptval = (char __user __force *) optval;
74404+ uoptval = (char __force_user *) optval;
74405
74406 set_fs(KERNEL_DS);
74407 if (level == SOL_SOCKET)
74408diff -urNp linux-3.0.7/net/sunrpc/sched.c linux-3.0.7/net/sunrpc/sched.c
74409--- linux-3.0.7/net/sunrpc/sched.c 2011-07-21 22:17:23.000000000 -0400
74410+++ linux-3.0.7/net/sunrpc/sched.c 2011-08-23 21:47:56.000000000 -0400
71221@@ -234,9 +234,9 @@ static int rpc_wait_bit_killable(void *w 74411@@ -234,9 +234,9 @@ static int rpc_wait_bit_killable(void *w
71222 #ifdef RPC_DEBUG 74412 #ifdef RPC_DEBUG
71223 static void rpc_task_set_debuginfo(struct rpc_task *task) 74413 static void rpc_task_set_debuginfo(struct rpc_task *task)
@@ -71230,9 +74420,21 @@ diff -urNp linux-3.0.4/net/sunrpc/sched.c linux-3.0.4/net/sunrpc/sched.c
71230 } 74420 }
71231 #else 74421 #else
71232 static inline void rpc_task_set_debuginfo(struct rpc_task *task) 74422 static inline void rpc_task_set_debuginfo(struct rpc_task *task)
71233diff -urNp linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma.c linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma.c 74423diff -urNp linux-3.0.7/net/sunrpc/svcsock.c linux-3.0.7/net/sunrpc/svcsock.c
71234--- linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma.c 2011-07-21 22:17:23.000000000 -0400 74424--- linux-3.0.7/net/sunrpc/svcsock.c 2011-07-21 22:17:23.000000000 -0400
71235+++ linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma.c 2011-08-23 21:47:56.000000000 -0400 74425+++ linux-3.0.7/net/sunrpc/svcsock.c 2011-10-06 04:17:55.000000000 -0400
74426@@ -392,7 +392,7 @@ static int svc_partial_recvfrom(struct s
74427 int buflen, unsigned int base)
74428 {
74429 size_t save_iovlen;
74430- void __user *save_iovbase;
74431+ void *save_iovbase;
74432 unsigned int i;
74433 int ret;
74434
74435diff -urNp linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma.c linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma.c
74436--- linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma.c 2011-07-21 22:17:23.000000000 -0400
74437+++ linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma.c 2011-08-23 21:47:56.000000000 -0400
71236@@ -61,15 +61,15 @@ unsigned int svcrdma_max_req_size = RPCR 74438@@ -61,15 +61,15 @@ unsigned int svcrdma_max_req_size = RPCR
71237 static unsigned int min_max_inline = 4096; 74439 static unsigned int min_max_inline = 4096;
71238 static unsigned int max_max_inline = 65536; 74440 static unsigned int max_max_inline = 65536;
@@ -71340,9 +74542,9 @@ diff -urNp linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma.c linux-3.0.4/net/sunrpc/xpr
71340 .mode = 0644, 74542 .mode = 0644,
71341 .proc_handler = read_reset_stat, 74543 .proc_handler = read_reset_stat,
71342 }, 74544 },
71343diff -urNp linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 74545diff -urNp linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
71344--- linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 2011-07-21 22:17:23.000000000 -0400 74546--- linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 2011-07-21 22:17:23.000000000 -0400
71345+++ linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 2011-08-23 21:47:56.000000000 -0400 74547+++ linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 2011-08-23 21:47:56.000000000 -0400
71346@@ -499,7 +499,7 @@ next_sge: 74548@@ -499,7 +499,7 @@ next_sge:
71347 svc_rdma_put_context(ctxt, 0); 74549 svc_rdma_put_context(ctxt, 0);
71348 goto out; 74550 goto out;
@@ -71370,9 +74572,9 @@ diff -urNp linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c linux-3.0.4/net/s
71370 74572
71371 /* Build up the XDR from the receive buffers. */ 74573 /* Build up the XDR from the receive buffers. */
71372 rdma_build_arg_xdr(rqstp, ctxt, ctxt->byte_len); 74574 rdma_build_arg_xdr(rqstp, ctxt, ctxt->byte_len);
71373diff -urNp linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_sendto.c linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_sendto.c 74575diff -urNp linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_sendto.c linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_sendto.c
71374--- linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_sendto.c 2011-07-21 22:17:23.000000000 -0400 74576--- linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_sendto.c 2011-07-21 22:17:23.000000000 -0400
71375+++ linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_sendto.c 2011-08-23 21:47:56.000000000 -0400 74577+++ linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_sendto.c 2011-08-23 21:47:56.000000000 -0400
71376@@ -362,7 +362,7 @@ static int send_write(struct svcxprt_rdm 74578@@ -362,7 +362,7 @@ static int send_write(struct svcxprt_rdm
71377 write_wr.wr.rdma.remote_addr = to; 74579 write_wr.wr.rdma.remote_addr = to;
71378 74580
@@ -71382,9 +74584,9 @@ diff -urNp linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_sendto.c linux-3.0.4/net/sun
71382 if (svc_rdma_send(xprt, &write_wr)) 74584 if (svc_rdma_send(xprt, &write_wr))
71383 goto err; 74585 goto err;
71384 return 0; 74586 return 0;
71385diff -urNp linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_transport.c linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_transport.c 74587diff -urNp linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_transport.c linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_transport.c
71386--- linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_transport.c 2011-07-21 22:17:23.000000000 -0400 74588--- linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_transport.c 2011-07-21 22:17:23.000000000 -0400
71387+++ linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_transport.c 2011-08-23 21:47:56.000000000 -0400 74589+++ linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_transport.c 2011-08-23 21:47:56.000000000 -0400
71388@@ -298,7 +298,7 @@ static void rq_cq_reap(struct svcxprt_rd 74590@@ -298,7 +298,7 @@ static void rq_cq_reap(struct svcxprt_rd
71389 return; 74591 return;
71390 74592
@@ -71430,9 +74632,9 @@ diff -urNp linux-3.0.4/net/sunrpc/xprtrdma/svc_rdma_transport.c linux-3.0.4/net/
71430 74632
71431 /* See if we can opportunistically reap SQ WR to make room */ 74633 /* See if we can opportunistically reap SQ WR to make room */
71432 sq_cq_reap(xprt); 74634 sq_cq_reap(xprt);
71433diff -urNp linux-3.0.4/net/sysctl_net.c linux-3.0.4/net/sysctl_net.c 74635diff -urNp linux-3.0.7/net/sysctl_net.c linux-3.0.7/net/sysctl_net.c
71434--- linux-3.0.4/net/sysctl_net.c 2011-07-21 22:17:23.000000000 -0400 74636--- linux-3.0.7/net/sysctl_net.c 2011-07-21 22:17:23.000000000 -0400
71435+++ linux-3.0.4/net/sysctl_net.c 2011-08-23 21:48:14.000000000 -0400 74637+++ linux-3.0.7/net/sysctl_net.c 2011-08-23 21:48:14.000000000 -0400
71436@@ -46,7 +46,7 @@ static int net_ctl_permissions(struct ct 74638@@ -46,7 +46,7 @@ static int net_ctl_permissions(struct ct
71437 struct ctl_table *table) 74639 struct ctl_table *table)
71438 { 74640 {
@@ -71442,9 +74644,63 @@ diff -urNp linux-3.0.4/net/sysctl_net.c linux-3.0.4/net/sysctl_net.c
71442 int mode = (table->mode >> 6) & 7; 74644 int mode = (table->mode >> 6) & 7;
71443 return (mode << 6) | (mode << 3) | mode; 74645 return (mode << 6) | (mode << 3) | mode;
71444 } 74646 }
71445diff -urNp linux-3.0.4/net/unix/af_unix.c linux-3.0.4/net/unix/af_unix.c 74647diff -urNp linux-3.0.7/net/tipc/link.c linux-3.0.7/net/tipc/link.c
71446--- linux-3.0.4/net/unix/af_unix.c 2011-07-21 22:17:23.000000000 -0400 74648--- linux-3.0.7/net/tipc/link.c 2011-07-21 22:17:23.000000000 -0400
71447+++ linux-3.0.4/net/unix/af_unix.c 2011-08-23 21:48:14.000000000 -0400 74649+++ linux-3.0.7/net/tipc/link.c 2011-10-06 04:17:55.000000000 -0400
74650@@ -1170,7 +1170,7 @@ static int link_send_sections_long(struc
74651 struct tipc_msg fragm_hdr;
74652 struct sk_buff *buf, *buf_chain, *prev;
74653 u32 fragm_crs, fragm_rest, hsz, sect_rest;
74654- const unchar *sect_crs;
74655+ const unchar __user *sect_crs;
74656 int curr_sect;
74657 u32 fragm_no;
74658
74659@@ -1214,7 +1214,7 @@ again:
74660
74661 if (!sect_rest) {
74662 sect_rest = msg_sect[++curr_sect].iov_len;
74663- sect_crs = (const unchar *)msg_sect[curr_sect].iov_base;
74664+ sect_crs = (const unchar __user *)msg_sect[curr_sect].iov_base;
74665 }
74666
74667 if (sect_rest < fragm_rest)
74668@@ -1233,7 +1233,7 @@ error:
74669 }
74670 } else
74671 skb_copy_to_linear_data_offset(buf, fragm_crs,
74672- sect_crs, sz);
74673+ (const void __force_kernel *)sect_crs, sz);
74674 sect_crs += sz;
74675 sect_rest -= sz;
74676 fragm_crs += sz;
74677diff -urNp linux-3.0.7/net/tipc/msg.c linux-3.0.7/net/tipc/msg.c
74678--- linux-3.0.7/net/tipc/msg.c 2011-07-21 22:17:23.000000000 -0400
74679+++ linux-3.0.7/net/tipc/msg.c 2011-10-06 04:17:55.000000000 -0400
74680@@ -101,7 +101,7 @@ int tipc_msg_build(struct tipc_msg *hdr,
74681 msg_sect[cnt].iov_len);
74682 else
74683 skb_copy_to_linear_data_offset(*buf, pos,
74684- msg_sect[cnt].iov_base,
74685+ (const void __force_kernel *)msg_sect[cnt].iov_base,
74686 msg_sect[cnt].iov_len);
74687 pos += msg_sect[cnt].iov_len;
74688 }
74689diff -urNp linux-3.0.7/net/tipc/subscr.c linux-3.0.7/net/tipc/subscr.c
74690--- linux-3.0.7/net/tipc/subscr.c 2011-07-21 22:17:23.000000000 -0400
74691+++ linux-3.0.7/net/tipc/subscr.c 2011-10-06 04:17:55.000000000 -0400
74692@@ -101,7 +101,7 @@ static void subscr_send_event(struct sub
74693 {
74694 struct iovec msg_sect;
74695
74696- msg_sect.iov_base = (void *)&sub->evt;
74697+ msg_sect.iov_base = (void __force_user *)&sub->evt;
74698 msg_sect.iov_len = sizeof(struct tipc_event);
74699
74700 sub->evt.event = htohl(event, sub->swap);
74701diff -urNp linux-3.0.7/net/unix/af_unix.c linux-3.0.7/net/unix/af_unix.c
74702--- linux-3.0.7/net/unix/af_unix.c 2011-07-21 22:17:23.000000000 -0400
74703+++ linux-3.0.7/net/unix/af_unix.c 2011-08-23 21:48:14.000000000 -0400
71448@@ -767,6 +767,12 @@ static struct sock *unix_find_other(stru 74704@@ -767,6 +767,12 @@ static struct sock *unix_find_other(stru
71449 err = -ECONNREFUSED; 74705 err = -ECONNREFUSED;
71450 if (!S_ISSOCK(inode->i_mode)) 74706 if (!S_ISSOCK(inode->i_mode))
@@ -71491,9 +74747,9 @@ diff -urNp linux-3.0.4/net/unix/af_unix.c linux-3.0.4/net/unix/af_unix.c
71491 mutex_unlock(&nd.path.dentry->d_inode->i_mutex); 74747 mutex_unlock(&nd.path.dentry->d_inode->i_mutex);
71492 dput(nd.path.dentry); 74748 dput(nd.path.dentry);
71493 nd.path.dentry = dentry; 74749 nd.path.dentry = dentry;
71494diff -urNp linux-3.0.4/net/wireless/core.h linux-3.0.4/net/wireless/core.h 74750diff -urNp linux-3.0.7/net/wireless/core.h linux-3.0.7/net/wireless/core.h
71495--- linux-3.0.4/net/wireless/core.h 2011-07-21 22:17:23.000000000 -0400 74751--- linux-3.0.7/net/wireless/core.h 2011-07-21 22:17:23.000000000 -0400
71496+++ linux-3.0.4/net/wireless/core.h 2011-08-23 21:47:56.000000000 -0400 74752+++ linux-3.0.7/net/wireless/core.h 2011-08-23 21:47:56.000000000 -0400
71497@@ -27,7 +27,7 @@ struct cfg80211_registered_device { 74753@@ -27,7 +27,7 @@ struct cfg80211_registered_device {
71498 struct mutex mtx; 74754 struct mutex mtx;
71499 74755
@@ -71503,9 +74759,9 @@ diff -urNp linux-3.0.4/net/wireless/core.h linux-3.0.4/net/wireless/core.h
71503 struct rfkill *rfkill; 74759 struct rfkill *rfkill;
71504 struct work_struct rfkill_sync; 74760 struct work_struct rfkill_sync;
71505 74761
71506diff -urNp linux-3.0.4/net/wireless/wext-core.c linux-3.0.4/net/wireless/wext-core.c 74762diff -urNp linux-3.0.7/net/wireless/wext-core.c linux-3.0.7/net/wireless/wext-core.c
71507--- linux-3.0.4/net/wireless/wext-core.c 2011-07-21 22:17:23.000000000 -0400 74763--- linux-3.0.7/net/wireless/wext-core.c 2011-07-21 22:17:23.000000000 -0400
71508+++ linux-3.0.4/net/wireless/wext-core.c 2011-08-23 21:47:56.000000000 -0400 74764+++ linux-3.0.7/net/wireless/wext-core.c 2011-08-23 21:47:56.000000000 -0400
71509@@ -746,8 +746,7 @@ static int ioctl_standard_iw_point(struc 74765@@ -746,8 +746,7 @@ static int ioctl_standard_iw_point(struc
71510 */ 74766 */
71511 74767
@@ -71539,9 +74795,9 @@ diff -urNp linux-3.0.4/net/wireless/wext-core.c linux-3.0.4/net/wireless/wext-co
71539 err = handler(dev, info, (union iwreq_data *) iwp, extra); 74795 err = handler(dev, info, (union iwreq_data *) iwp, extra);
71540 74796
71541 iwp->length += essid_compat; 74797 iwp->length += essid_compat;
71542diff -urNp linux-3.0.4/net/xfrm/xfrm_policy.c linux-3.0.4/net/xfrm/xfrm_policy.c 74798diff -urNp linux-3.0.7/net/xfrm/xfrm_policy.c linux-3.0.7/net/xfrm/xfrm_policy.c
71543--- linux-3.0.4/net/xfrm/xfrm_policy.c 2011-07-21 22:17:23.000000000 -0400 74799--- linux-3.0.7/net/xfrm/xfrm_policy.c 2011-07-21 22:17:23.000000000 -0400
71544+++ linux-3.0.4/net/xfrm/xfrm_policy.c 2011-08-23 21:47:56.000000000 -0400 74800+++ linux-3.0.7/net/xfrm/xfrm_policy.c 2011-08-23 21:47:56.000000000 -0400
71545@@ -299,7 +299,7 @@ static void xfrm_policy_kill(struct xfrm 74801@@ -299,7 +299,7 @@ static void xfrm_policy_kill(struct xfrm
71546 { 74802 {
71547 policy->walk.dead = 1; 74803 policy->walk.dead = 1;
@@ -71614,9 +74870,9 @@ diff -urNp linux-3.0.4/net/xfrm/xfrm_policy.c linux-3.0.4/net/xfrm/xfrm_policy.c
71614 } 74870 }
71615 } 74871 }
71616 74872
71617diff -urNp linux-3.0.4/net/xfrm/xfrm_user.c linux-3.0.4/net/xfrm/xfrm_user.c 74873diff -urNp linux-3.0.7/net/xfrm/xfrm_user.c linux-3.0.7/net/xfrm/xfrm_user.c
71618--- linux-3.0.4/net/xfrm/xfrm_user.c 2011-07-21 22:17:23.000000000 -0400 74874--- linux-3.0.7/net/xfrm/xfrm_user.c 2011-07-21 22:17:23.000000000 -0400
71619+++ linux-3.0.4/net/xfrm/xfrm_user.c 2011-08-23 21:48:14.000000000 -0400 74875+++ linux-3.0.7/net/xfrm/xfrm_user.c 2011-08-23 21:48:14.000000000 -0400
71620@@ -1394,6 +1394,8 @@ static int copy_to_user_tmpl(struct xfrm 74876@@ -1394,6 +1394,8 @@ static int copy_to_user_tmpl(struct xfrm
71621 struct xfrm_user_tmpl vec[XFRM_MAX_DEPTH]; 74877 struct xfrm_user_tmpl vec[XFRM_MAX_DEPTH];
71622 int i; 74878 int i;
@@ -71635,9 +74891,31 @@ diff -urNp linux-3.0.4/net/xfrm/xfrm_user.c linux-3.0.4/net/xfrm/xfrm_user.c
71635 if (attrs[XFRMA_MIGRATE] == NULL) 74891 if (attrs[XFRMA_MIGRATE] == NULL)
71636 return -EINVAL; 74892 return -EINVAL;
71637 74893
71638diff -urNp linux-3.0.4/scripts/basic/fixdep.c linux-3.0.4/scripts/basic/fixdep.c 74894diff -urNp linux-3.0.7/scripts/basic/fixdep.c linux-3.0.7/scripts/basic/fixdep.c
71639--- linux-3.0.4/scripts/basic/fixdep.c 2011-07-21 22:17:23.000000000 -0400 74895--- linux-3.0.7/scripts/basic/fixdep.c 2011-07-21 22:17:23.000000000 -0400
71640+++ linux-3.0.4/scripts/basic/fixdep.c 2011-08-23 21:47:56.000000000 -0400 74896+++ linux-3.0.7/scripts/basic/fixdep.c 2011-10-06 04:17:55.000000000 -0400
74897@@ -161,7 +161,7 @@ static unsigned int strhash(const char *
74898 /*
74899 * Lookup a value in the configuration string.
74900 */
74901-static int is_defined_config(const char *name, int len, unsigned int hash)
74902+static int is_defined_config(const char *name, unsigned int len, unsigned int hash)
74903 {
74904 struct item *aux;
74905
74906@@ -211,10 +211,10 @@ static void clear_config(void)
74907 /*
74908 * Record the use of a CONFIG_* word.
74909 */
74910-static void use_config(const char *m, int slen)
74911+static void use_config(const char *m, unsigned int slen)
74912 {
74913 unsigned int hash = strhash(m, slen);
74914- int c, i;
74915+ unsigned int c, i;
74916
74917 if (is_defined_config(m, slen, hash))
74918 return;
71641@@ -235,9 +235,9 @@ static void use_config(const char *m, in 74919@@ -235,9 +235,9 @@ static void use_config(const char *m, in
71642 74920
71643 static void parse_config_file(const char *map, size_t len) 74921 static void parse_config_file(const char *map, size_t len)
@@ -71659,15 +74937,15 @@ diff -urNp linux-3.0.4/scripts/basic/fixdep.c linux-3.0.4/scripts/basic/fixdep.c
71659 74937
71660 if (*p != INT_CONF) { 74938 if (*p != INT_CONF) {
71661 fprintf(stderr, "fixdep: sizeof(int) != 4 or wrong endianess? %#x\n", 74939 fprintf(stderr, "fixdep: sizeof(int) != 4 or wrong endianess? %#x\n",
71662diff -urNp linux-3.0.4/scripts/gcc-plugin.sh linux-3.0.4/scripts/gcc-plugin.sh 74940diff -urNp linux-3.0.7/scripts/gcc-plugin.sh linux-3.0.7/scripts/gcc-plugin.sh
71663--- linux-3.0.4/scripts/gcc-plugin.sh 1969-12-31 19:00:00.000000000 -0500 74941--- linux-3.0.7/scripts/gcc-plugin.sh 1969-12-31 19:00:00.000000000 -0500
71664+++ linux-3.0.4/scripts/gcc-plugin.sh 2011-09-14 09:08:05.000000000 -0400 74942+++ linux-3.0.7/scripts/gcc-plugin.sh 2011-09-14 09:08:05.000000000 -0400
71665@@ -0,0 +1,2 @@ 74943@@ -0,0 +1,2 @@
71666+#!/bin/sh 74944+#!/bin/sh
71667+echo "#include \"gcc-plugin.h\"\n#include \"rtl.h\"" | $1 -x c -shared - -o /dev/null -I`$2 -print-file-name=plugin`/include >/dev/null 2>&1 && echo "y" 74945+echo "#include \"gcc-plugin.h\"\n#include \"rtl.h\"" | $1 -x c -shared - -o /dev/null -I`$2 -print-file-name=plugin`/include >/dev/null 2>&1 && echo "y"
71668diff -urNp linux-3.0.4/scripts/Makefile.build linux-3.0.4/scripts/Makefile.build 74946diff -urNp linux-3.0.7/scripts/Makefile.build linux-3.0.7/scripts/Makefile.build
71669--- linux-3.0.4/scripts/Makefile.build 2011-07-21 22:17:23.000000000 -0400 74947--- linux-3.0.7/scripts/Makefile.build 2011-07-21 22:17:23.000000000 -0400
71670+++ linux-3.0.4/scripts/Makefile.build 2011-08-23 21:47:56.000000000 -0400 74948+++ linux-3.0.7/scripts/Makefile.build 2011-08-23 21:47:56.000000000 -0400
71671@@ -109,7 +109,7 @@ endif 74949@@ -109,7 +109,7 @@ endif
71672 endif 74950 endif
71673 74951
@@ -71677,9 +74955,9 @@ diff -urNp linux-3.0.4/scripts/Makefile.build linux-3.0.4/scripts/Makefile.build
71677 include scripts/Makefile.host 74955 include scripts/Makefile.host
71678 endif 74956 endif
71679 74957
71680diff -urNp linux-3.0.4/scripts/Makefile.clean linux-3.0.4/scripts/Makefile.clean 74958diff -urNp linux-3.0.7/scripts/Makefile.clean linux-3.0.7/scripts/Makefile.clean
71681--- linux-3.0.4/scripts/Makefile.clean 2011-07-21 22:17:23.000000000 -0400 74959--- linux-3.0.7/scripts/Makefile.clean 2011-07-21 22:17:23.000000000 -0400
71682+++ linux-3.0.4/scripts/Makefile.clean 2011-08-23 21:47:56.000000000 -0400 74960+++ linux-3.0.7/scripts/Makefile.clean 2011-08-23 21:47:56.000000000 -0400
71683@@ -43,7 +43,8 @@ subdir-ymn := $(addprefix $(obj)/,$(subd 74961@@ -43,7 +43,8 @@ subdir-ymn := $(addprefix $(obj)/,$(subd
71684 __clean-files := $(extra-y) $(always) \ 74962 __clean-files := $(extra-y) $(always) \
71685 $(targets) $(clean-files) \ 74963 $(targets) $(clean-files) \
@@ -71690,9 +74968,9 @@ diff -urNp linux-3.0.4/scripts/Makefile.clean linux-3.0.4/scripts/Makefile.clean
71690 74968
71691 __clean-files := $(filter-out $(no-clean-files), $(__clean-files)) 74969 __clean-files := $(filter-out $(no-clean-files), $(__clean-files))
71692 74970
71693diff -urNp linux-3.0.4/scripts/Makefile.host linux-3.0.4/scripts/Makefile.host 74971diff -urNp linux-3.0.7/scripts/Makefile.host linux-3.0.7/scripts/Makefile.host
71694--- linux-3.0.4/scripts/Makefile.host 2011-07-21 22:17:23.000000000 -0400 74972--- linux-3.0.7/scripts/Makefile.host 2011-07-21 22:17:23.000000000 -0400
71695+++ linux-3.0.4/scripts/Makefile.host 2011-08-23 21:47:56.000000000 -0400 74973+++ linux-3.0.7/scripts/Makefile.host 2011-08-23 21:47:56.000000000 -0400
71696@@ -31,6 +31,7 @@ 74974@@ -31,6 +31,7 @@
71697 # Note: Shared libraries consisting of C++ files are not supported 74975 # Note: Shared libraries consisting of C++ files are not supported
71698 74976
@@ -71709,9 +74987,9 @@ diff -urNp linux-3.0.4/scripts/Makefile.host linux-3.0.4/scripts/Makefile.host
71709 # Remove .so files from "xxx-objs" 74987 # Remove .so files from "xxx-objs"
71710 host-cobjs := $(filter-out %.so,$(host-cobjs)) 74988 host-cobjs := $(filter-out %.so,$(host-cobjs))
71711 74989
71712diff -urNp linux-3.0.4/scripts/mod/file2alias.c linux-3.0.4/scripts/mod/file2alias.c 74990diff -urNp linux-3.0.7/scripts/mod/file2alias.c linux-3.0.7/scripts/mod/file2alias.c
71713--- linux-3.0.4/scripts/mod/file2alias.c 2011-07-21 22:17:23.000000000 -0400 74991--- linux-3.0.7/scripts/mod/file2alias.c 2011-07-21 22:17:23.000000000 -0400
71714+++ linux-3.0.4/scripts/mod/file2alias.c 2011-08-23 21:47:56.000000000 -0400 74992+++ linux-3.0.7/scripts/mod/file2alias.c 2011-10-06 04:17:55.000000000 -0400
71715@@ -72,7 +72,7 @@ static void device_id_check(const char * 74993@@ -72,7 +72,7 @@ static void device_id_check(const char *
71716 unsigned long size, unsigned long id_size, 74994 unsigned long size, unsigned long id_size,
71717 void *symval) 74995 void *symval)
@@ -71730,6 +75008,15 @@ diff -urNp linux-3.0.4/scripts/mod/file2alias.c linux-3.0.4/scripts/mod/file2ali
71730 unsigned char range_lo, unsigned char range_hi, 75008 unsigned char range_lo, unsigned char range_hi,
71731 unsigned char max, struct module *mod) 75009 unsigned char max, struct module *mod)
71732 { 75010 {
75011@@ -203,7 +203,7 @@ static void do_usb_entry_multi(struct us
75012 {
75013 unsigned int devlo, devhi;
75014 unsigned char chi, clo, max;
75015- int ndigits;
75016+ unsigned int ndigits;
75017
75018 id->match_flags = TO_NATIVE(id->match_flags);
75019 id->idVendor = TO_NATIVE(id->idVendor);
71733@@ -437,7 +437,7 @@ static void do_pnp_device_entry(void *sy 75020@@ -437,7 +437,7 @@ static void do_pnp_device_entry(void *sy
71734 for (i = 0; i < count; i++) { 75021 for (i = 0; i < count; i++) {
71735 const char *id = (char *)devs[i].id; 75022 const char *id = (char *)devs[i].id;
@@ -71766,9 +75053,9 @@ diff -urNp linux-3.0.4/scripts/mod/file2alias.c linux-3.0.4/scripts/mod/file2ali
71766 75053
71767 sprintf(alias, "dmi*"); 75054 sprintf(alias, "dmi*");
71768 75055
71769diff -urNp linux-3.0.4/scripts/mod/modpost.c linux-3.0.4/scripts/mod/modpost.c 75056diff -urNp linux-3.0.7/scripts/mod/modpost.c linux-3.0.7/scripts/mod/modpost.c
71770--- linux-3.0.4/scripts/mod/modpost.c 2011-07-21 22:17:23.000000000 -0400 75057--- linux-3.0.7/scripts/mod/modpost.c 2011-07-21 22:17:23.000000000 -0400
71771+++ linux-3.0.4/scripts/mod/modpost.c 2011-08-23 21:47:56.000000000 -0400 75058+++ linux-3.0.7/scripts/mod/modpost.c 2011-08-23 21:47:56.000000000 -0400
71772@@ -892,6 +892,7 @@ enum mismatch { 75059@@ -892,6 +892,7 @@ enum mismatch {
71773 ANY_INIT_TO_ANY_EXIT, 75060 ANY_INIT_TO_ANY_EXIT,
71774 ANY_EXIT_TO_ANY_INIT, 75061 ANY_EXIT_TO_ANY_INIT,
@@ -71845,9 +75132,9 @@ diff -urNp linux-3.0.4/scripts/mod/modpost.c linux-3.0.4/scripts/mod/modpost.c
71845 goto close_write; 75132 goto close_write;
71846 75133
71847 tmp = NOFAIL(malloc(b->pos)); 75134 tmp = NOFAIL(malloc(b->pos));
71848diff -urNp linux-3.0.4/scripts/mod/modpost.h linux-3.0.4/scripts/mod/modpost.h 75135diff -urNp linux-3.0.7/scripts/mod/modpost.h linux-3.0.7/scripts/mod/modpost.h
71849--- linux-3.0.4/scripts/mod/modpost.h 2011-07-21 22:17:23.000000000 -0400 75136--- linux-3.0.7/scripts/mod/modpost.h 2011-07-21 22:17:23.000000000 -0400
71850+++ linux-3.0.4/scripts/mod/modpost.h 2011-08-23 21:47:56.000000000 -0400 75137+++ linux-3.0.7/scripts/mod/modpost.h 2011-08-23 21:47:56.000000000 -0400
71851@@ -92,15 +92,15 @@ void *do_nofail(void *ptr, const char *e 75138@@ -92,15 +92,15 @@ void *do_nofail(void *ptr, const char *e
71852 75139
71853 struct buffer { 75140 struct buffer {
@@ -71867,9 +75154,9 @@ diff -urNp linux-3.0.4/scripts/mod/modpost.h linux-3.0.4/scripts/mod/modpost.h
71867 75154
71868 struct module { 75155 struct module {
71869 struct module *next; 75156 struct module *next;
71870diff -urNp linux-3.0.4/scripts/mod/sumversion.c linux-3.0.4/scripts/mod/sumversion.c 75157diff -urNp linux-3.0.7/scripts/mod/sumversion.c linux-3.0.7/scripts/mod/sumversion.c
71871--- linux-3.0.4/scripts/mod/sumversion.c 2011-07-21 22:17:23.000000000 -0400 75158--- linux-3.0.7/scripts/mod/sumversion.c 2011-07-21 22:17:23.000000000 -0400
71872+++ linux-3.0.4/scripts/mod/sumversion.c 2011-08-23 21:47:56.000000000 -0400 75159+++ linux-3.0.7/scripts/mod/sumversion.c 2011-08-23 21:47:56.000000000 -0400
71873@@ -470,7 +470,7 @@ static void write_version(const char *fi 75160@@ -470,7 +470,7 @@ static void write_version(const char *fi
71874 goto out; 75161 goto out;
71875 } 75162 }
@@ -71879,9 +75166,9 @@ diff -urNp linux-3.0.4/scripts/mod/sumversion.c linux-3.0.4/scripts/mod/sumversi
71879 warn("writing sum in %s failed: %s\n", 75166 warn("writing sum in %s failed: %s\n",
71880 filename, strerror(errno)); 75167 filename, strerror(errno));
71881 goto out; 75168 goto out;
71882diff -urNp linux-3.0.4/scripts/pnmtologo.c linux-3.0.4/scripts/pnmtologo.c 75169diff -urNp linux-3.0.7/scripts/pnmtologo.c linux-3.0.7/scripts/pnmtologo.c
71883--- linux-3.0.4/scripts/pnmtologo.c 2011-07-21 22:17:23.000000000 -0400 75170--- linux-3.0.7/scripts/pnmtologo.c 2011-07-21 22:17:23.000000000 -0400
71884+++ linux-3.0.4/scripts/pnmtologo.c 2011-08-23 21:47:56.000000000 -0400 75171+++ linux-3.0.7/scripts/pnmtologo.c 2011-08-23 21:47:56.000000000 -0400
71885@@ -237,14 +237,14 @@ static void write_header(void) 75172@@ -237,14 +237,14 @@ static void write_header(void)
71886 fprintf(out, " * Linux logo %s\n", logoname); 75173 fprintf(out, " * Linux logo %s\n", logoname);
71887 fputs(" */\n\n", out); 75174 fputs(" */\n\n", out);
@@ -71908,9 +75195,9 @@ diff -urNp linux-3.0.4/scripts/pnmtologo.c linux-3.0.4/scripts/pnmtologo.c
71908 logoname); 75195 logoname);
71909 write_hex_cnt = 0; 75196 write_hex_cnt = 0;
71910 for (i = 0; i < logo_clutsize; i++) { 75197 for (i = 0; i < logo_clutsize; i++) {
71911diff -urNp linux-3.0.4/security/apparmor/lsm.c linux-3.0.4/security/apparmor/lsm.c 75198diff -urNp linux-3.0.7/security/apparmor/lsm.c linux-3.0.7/security/apparmor/lsm.c
71912--- linux-3.0.4/security/apparmor/lsm.c 2011-09-02 18:11:21.000000000 -0400 75199--- linux-3.0.7/security/apparmor/lsm.c 2011-09-02 18:11:21.000000000 -0400
71913+++ linux-3.0.4/security/apparmor/lsm.c 2011-08-23 21:48:14.000000000 -0400 75200+++ linux-3.0.7/security/apparmor/lsm.c 2011-08-23 21:48:14.000000000 -0400
71914@@ -621,7 +621,7 @@ static int apparmor_task_setrlimit(struc 75201@@ -621,7 +621,7 @@ static int apparmor_task_setrlimit(struc
71915 return error; 75202 return error;
71916 } 75203 }
@@ -71920,9 +75207,9 @@ diff -urNp linux-3.0.4/security/apparmor/lsm.c linux-3.0.4/security/apparmor/lsm
71920 .name = "apparmor", 75207 .name = "apparmor",
71921 75208
71922 .ptrace_access_check = apparmor_ptrace_access_check, 75209 .ptrace_access_check = apparmor_ptrace_access_check,
71923diff -urNp linux-3.0.4/security/commoncap.c linux-3.0.4/security/commoncap.c 75210diff -urNp linux-3.0.7/security/commoncap.c linux-3.0.7/security/commoncap.c
71924--- linux-3.0.4/security/commoncap.c 2011-07-21 22:17:23.000000000 -0400 75211--- linux-3.0.7/security/commoncap.c 2011-07-21 22:17:23.000000000 -0400
71925+++ linux-3.0.4/security/commoncap.c 2011-08-23 21:48:14.000000000 -0400 75212+++ linux-3.0.7/security/commoncap.c 2011-08-23 21:48:14.000000000 -0400
71926@@ -28,6 +28,7 @@ 75213@@ -28,6 +28,7 @@
71927 #include <linux/prctl.h> 75214 #include <linux/prctl.h>
71928 #include <linux/securebits.h> 75215 #include <linux/securebits.h>
@@ -71950,9 +75237,9 @@ diff -urNp linux-3.0.4/security/commoncap.c linux-3.0.4/security/commoncap.c
71950 if (cred->uid != 0) { 75237 if (cred->uid != 0) {
71951 if (bprm->cap_effective) 75238 if (bprm->cap_effective)
71952 return 1; 75239 return 1;
71953diff -urNp linux-3.0.4/security/integrity/ima/ima_api.c linux-3.0.4/security/integrity/ima/ima_api.c 75240diff -urNp linux-3.0.7/security/integrity/ima/ima_api.c linux-3.0.7/security/integrity/ima/ima_api.c
71954--- linux-3.0.4/security/integrity/ima/ima_api.c 2011-07-21 22:17:23.000000000 -0400 75241--- linux-3.0.7/security/integrity/ima/ima_api.c 2011-07-21 22:17:23.000000000 -0400
71955+++ linux-3.0.4/security/integrity/ima/ima_api.c 2011-08-23 21:47:56.000000000 -0400 75242+++ linux-3.0.7/security/integrity/ima/ima_api.c 2011-08-23 21:47:56.000000000 -0400
71956@@ -75,7 +75,7 @@ void ima_add_violation(struct inode *ino 75243@@ -75,7 +75,7 @@ void ima_add_violation(struct inode *ino
71957 int result; 75244 int result;
71958 75245
@@ -71962,9 +75249,9 @@ diff -urNp linux-3.0.4/security/integrity/ima/ima_api.c linux-3.0.4/security/int
71962 75249
71963 entry = kmalloc(sizeof(*entry), GFP_KERNEL); 75250 entry = kmalloc(sizeof(*entry), GFP_KERNEL);
71964 if (!entry) { 75251 if (!entry) {
71965diff -urNp linux-3.0.4/security/integrity/ima/ima_fs.c linux-3.0.4/security/integrity/ima/ima_fs.c 75252diff -urNp linux-3.0.7/security/integrity/ima/ima_fs.c linux-3.0.7/security/integrity/ima/ima_fs.c
71966--- linux-3.0.4/security/integrity/ima/ima_fs.c 2011-07-21 22:17:23.000000000 -0400 75253--- linux-3.0.7/security/integrity/ima/ima_fs.c 2011-07-21 22:17:23.000000000 -0400
71967+++ linux-3.0.4/security/integrity/ima/ima_fs.c 2011-08-23 21:47:56.000000000 -0400 75254+++ linux-3.0.7/security/integrity/ima/ima_fs.c 2011-08-23 21:47:56.000000000 -0400
71968@@ -28,12 +28,12 @@ 75255@@ -28,12 +28,12 @@
71969 static int valid_policy = 1; 75256 static int valid_policy = 1;
71970 #define TMPBUFLEN 12 75257 #define TMPBUFLEN 12
@@ -71980,9 +75267,9 @@ diff -urNp linux-3.0.4/security/integrity/ima/ima_fs.c linux-3.0.4/security/inte
71980 return simple_read_from_buffer(buf, count, ppos, tmpbuf, len); 75267 return simple_read_from_buffer(buf, count, ppos, tmpbuf, len);
71981 } 75268 }
71982 75269
71983diff -urNp linux-3.0.4/security/integrity/ima/ima.h linux-3.0.4/security/integrity/ima/ima.h 75270diff -urNp linux-3.0.7/security/integrity/ima/ima.h linux-3.0.7/security/integrity/ima/ima.h
71984--- linux-3.0.4/security/integrity/ima/ima.h 2011-07-21 22:17:23.000000000 -0400 75271--- linux-3.0.7/security/integrity/ima/ima.h 2011-07-21 22:17:23.000000000 -0400
71985+++ linux-3.0.4/security/integrity/ima/ima.h 2011-08-23 21:47:56.000000000 -0400 75272+++ linux-3.0.7/security/integrity/ima/ima.h 2011-08-23 21:47:56.000000000 -0400
71986@@ -85,8 +85,8 @@ void ima_add_violation(struct inode *ino 75273@@ -85,8 +85,8 @@ void ima_add_violation(struct inode *ino
71987 extern spinlock_t ima_queue_lock; 75274 extern spinlock_t ima_queue_lock;
71988 75275
@@ -71994,9 +75281,9 @@ diff -urNp linux-3.0.4/security/integrity/ima/ima.h linux-3.0.4/security/integri
71994 struct hlist_head queue[IMA_MEASURE_HTABLE_SIZE]; 75281 struct hlist_head queue[IMA_MEASURE_HTABLE_SIZE];
71995 }; 75282 };
71996 extern struct ima_h_table ima_htable; 75283 extern struct ima_h_table ima_htable;
71997diff -urNp linux-3.0.4/security/integrity/ima/ima_queue.c linux-3.0.4/security/integrity/ima/ima_queue.c 75284diff -urNp linux-3.0.7/security/integrity/ima/ima_queue.c linux-3.0.7/security/integrity/ima/ima_queue.c
71998--- linux-3.0.4/security/integrity/ima/ima_queue.c 2011-07-21 22:17:23.000000000 -0400 75285--- linux-3.0.7/security/integrity/ima/ima_queue.c 2011-07-21 22:17:23.000000000 -0400
71999+++ linux-3.0.4/security/integrity/ima/ima_queue.c 2011-08-23 21:47:56.000000000 -0400 75286+++ linux-3.0.7/security/integrity/ima/ima_queue.c 2011-08-23 21:47:56.000000000 -0400
72000@@ -79,7 +79,7 @@ static int ima_add_digest_entry(struct i 75287@@ -79,7 +79,7 @@ static int ima_add_digest_entry(struct i
72001 INIT_LIST_HEAD(&qe->later); 75288 INIT_LIST_HEAD(&qe->later);
72002 list_add_tail_rcu(&qe->later, &ima_measurements); 75289 list_add_tail_rcu(&qe->later, &ima_measurements);
@@ -72006,9 +75293,9 @@ diff -urNp linux-3.0.4/security/integrity/ima/ima_queue.c linux-3.0.4/security/i
72006 key = ima_hash_key(entry->digest); 75293 key = ima_hash_key(entry->digest);
72007 hlist_add_head_rcu(&qe->hnext, &ima_htable.queue[key]); 75294 hlist_add_head_rcu(&qe->hnext, &ima_htable.queue[key]);
72008 return 0; 75295 return 0;
72009diff -urNp linux-3.0.4/security/Kconfig linux-3.0.4/security/Kconfig 75296diff -urNp linux-3.0.7/security/Kconfig linux-3.0.7/security/Kconfig
72010--- linux-3.0.4/security/Kconfig 2011-07-21 22:17:23.000000000 -0400 75297--- linux-3.0.7/security/Kconfig 2011-07-21 22:17:23.000000000 -0400
72011+++ linux-3.0.4/security/Kconfig 2011-09-17 00:58:04.000000000 -0400 75298+++ linux-3.0.7/security/Kconfig 2011-10-06 04:19:25.000000000 -0400
72012@@ -4,6 +4,558 @@ 75299@@ -4,6 +4,558 @@
72013 75300
72014 menu "Security options" 75301 menu "Security options"
@@ -72331,7 +75618,7 @@ diff -urNp linux-3.0.4/security/Kconfig linux-3.0.4/security/Kconfig
72331+ 75618+
72332+config PAX_KERNEXEC 75619+config PAX_KERNEXEC
72333+ bool "Enforce non-executable kernel pages" 75620+ bool "Enforce non-executable kernel pages"
72334+ depends on PAX_NOEXEC && (PPC || X86) && (!X86_32 || X86_WP_WORKS_OK) && !XEN 75621+ depends on (PPC || X86) && (!X86_32 || X86_WP_WORKS_OK) && !XEN
72335+ select PAX_PER_CPU_PGD if X86_64 || (X86_32 && X86_PAE) 75622+ select PAX_PER_CPU_PGD if X86_64 || (X86_32 && X86_PAE)
72336+ select PAX_KERNEXEC_PLUGIN if X86_64 75623+ select PAX_KERNEXEC_PLUGIN if X86_64
72337+ help 75624+ help
@@ -72399,7 +75686,7 @@ diff -urNp linux-3.0.4/security/Kconfig linux-3.0.4/security/Kconfig
72399+ 75686+
72400+config PAX_RANDKSTACK 75687+config PAX_RANDKSTACK
72401+ bool "Randomize kernel stack base" 75688+ bool "Randomize kernel stack base"
72402+ depends on PAX_ASLR && X86_TSC && X86 75689+ depends on X86_TSC && X86
72403+ help 75690+ help
72404+ By saying Y here the kernel will randomize every task's kernel 75691+ By saying Y here the kernel will randomize every task's kernel
72405+ stack on every system call. This will not only force an attacker 75692+ stack on every system call. This will not only force an attacker
@@ -72577,9 +75864,60 @@ diff -urNp linux-3.0.4/security/Kconfig linux-3.0.4/security/Kconfig
72577 default 65536 75864 default 65536
72578 help 75865 help
72579 This is the portion of low virtual memory which should be protected 75866 This is the portion of low virtual memory which should be protected
72580diff -urNp linux-3.0.4/security/keys/keyring.c linux-3.0.4/security/keys/keyring.c 75867diff -urNp linux-3.0.7/security/keys/compat.c linux-3.0.7/security/keys/compat.c
72581--- linux-3.0.4/security/keys/keyring.c 2011-07-21 22:17:23.000000000 -0400 75868--- linux-3.0.7/security/keys/compat.c 2011-07-21 22:17:23.000000000 -0400
72582+++ linux-3.0.4/security/keys/keyring.c 2011-08-23 21:47:56.000000000 -0400 75869+++ linux-3.0.7/security/keys/compat.c 2011-10-06 04:17:55.000000000 -0400
75870@@ -44,7 +44,7 @@ long compat_keyctl_instantiate_key_iov(
75871 if (ret == 0)
75872 goto no_payload_free;
75873
75874- ret = keyctl_instantiate_key_common(id, iov, ioc, ret, ringid);
75875+ ret = keyctl_instantiate_key_common(id, (const struct iovec __force_user *)iov, ioc, ret, ringid);
75876
75877 if (iov != iovstack)
75878 kfree(iov);
75879diff -urNp linux-3.0.7/security/keys/keyctl.c linux-3.0.7/security/keys/keyctl.c
75880--- linux-3.0.7/security/keys/keyctl.c 2011-07-21 22:17:23.000000000 -0400
75881+++ linux-3.0.7/security/keys/keyctl.c 2011-10-06 04:17:55.000000000 -0400
75882@@ -921,7 +921,7 @@ static int keyctl_change_reqkey_auth(str
75883 /*
75884 * Copy the iovec data from userspace
75885 */
75886-static long copy_from_user_iovec(void *buffer, const struct iovec *iov,
75887+static long copy_from_user_iovec(void *buffer, const struct iovec __user *iov,
75888 unsigned ioc)
75889 {
75890 for (; ioc > 0; ioc--) {
75891@@ -943,7 +943,7 @@ static long copy_from_user_iovec(void *b
75892 * If successful, 0 will be returned.
75893 */
75894 long keyctl_instantiate_key_common(key_serial_t id,
75895- const struct iovec *payload_iov,
75896+ const struct iovec __user *payload_iov,
75897 unsigned ioc,
75898 size_t plen,
75899 key_serial_t ringid)
75900@@ -1038,7 +1038,7 @@ long keyctl_instantiate_key(key_serial_t
75901 [0].iov_len = plen
75902 };
75903
75904- return keyctl_instantiate_key_common(id, iov, 1, plen, ringid);
75905+ return keyctl_instantiate_key_common(id, (const struct iovec __force_user *)iov, 1, plen, ringid);
75906 }
75907
75908 return keyctl_instantiate_key_common(id, NULL, 0, 0, ringid);
75909@@ -1071,7 +1071,7 @@ long keyctl_instantiate_key_iov(key_seri
75910 if (ret == 0)
75911 goto no_payload_free;
75912
75913- ret = keyctl_instantiate_key_common(id, iov, ioc, ret, ringid);
75914+ ret = keyctl_instantiate_key_common(id, (const struct iovec __force_user *)iov, ioc, ret, ringid);
75915
75916 if (iov != iovstack)
75917 kfree(iov);
75918diff -urNp linux-3.0.7/security/keys/keyring.c linux-3.0.7/security/keys/keyring.c
75919--- linux-3.0.7/security/keys/keyring.c 2011-07-21 22:17:23.000000000 -0400
75920+++ linux-3.0.7/security/keys/keyring.c 2011-08-23 21:47:56.000000000 -0400
72583@@ -215,15 +215,15 @@ static long keyring_read(const struct ke 75921@@ -215,15 +215,15 @@ static long keyring_read(const struct ke
72584 ret = -EFAULT; 75922 ret = -EFAULT;
72585 75923
@@ -72599,9 +75937,9 @@ diff -urNp linux-3.0.4/security/keys/keyring.c linux-3.0.4/security/keys/keyring
72599 goto error; 75937 goto error;
72600 75938
72601 buflen -= tmp; 75939 buflen -= tmp;
72602diff -urNp linux-3.0.4/security/min_addr.c linux-3.0.4/security/min_addr.c 75940diff -urNp linux-3.0.7/security/min_addr.c linux-3.0.7/security/min_addr.c
72603--- linux-3.0.4/security/min_addr.c 2011-07-21 22:17:23.000000000 -0400 75941--- linux-3.0.7/security/min_addr.c 2011-07-21 22:17:23.000000000 -0400
72604+++ linux-3.0.4/security/min_addr.c 2011-08-23 21:48:14.000000000 -0400 75942+++ linux-3.0.7/security/min_addr.c 2011-08-23 21:48:14.000000000 -0400
72605@@ -14,6 +14,7 @@ unsigned long dac_mmap_min_addr = CONFIG 75943@@ -14,6 +14,7 @@ unsigned long dac_mmap_min_addr = CONFIG
72606 */ 75944 */
72607 static void update_mmap_min_addr(void) 75945 static void update_mmap_min_addr(void)
@@ -72618,9 +75956,9 @@ diff -urNp linux-3.0.4/security/min_addr.c linux-3.0.4/security/min_addr.c
72618 } 75956 }
72619 75957
72620 /* 75958 /*
72621diff -urNp linux-3.0.4/security/security.c linux-3.0.4/security/security.c 75959diff -urNp linux-3.0.7/security/security.c linux-3.0.7/security/security.c
72622--- linux-3.0.4/security/security.c 2011-07-21 22:17:23.000000000 -0400 75960--- linux-3.0.7/security/security.c 2011-07-21 22:17:23.000000000 -0400
72623+++ linux-3.0.4/security/security.c 2011-08-23 21:48:14.000000000 -0400 75961+++ linux-3.0.7/security/security.c 2011-08-23 21:48:14.000000000 -0400
72624@@ -25,8 +25,8 @@ static __initdata char chosen_lsm[SECURI 75962@@ -25,8 +25,8 @@ static __initdata char chosen_lsm[SECURI
72625 /* things that live in capability.c */ 75963 /* things that live in capability.c */
72626 extern void __init security_fixup_ops(struct security_operations *ops); 75964 extern void __init security_fixup_ops(struct security_operations *ops);
@@ -72642,9 +75980,9 @@ diff -urNp linux-3.0.4/security/security.c linux-3.0.4/security/security.c
72642 } 75980 }
72643 75981
72644 /* Save user chosen LSM */ 75982 /* Save user chosen LSM */
72645diff -urNp linux-3.0.4/security/selinux/hooks.c linux-3.0.4/security/selinux/hooks.c 75983diff -urNp linux-3.0.7/security/selinux/hooks.c linux-3.0.7/security/selinux/hooks.c
72646--- linux-3.0.4/security/selinux/hooks.c 2011-07-21 22:17:23.000000000 -0400 75984--- linux-3.0.7/security/selinux/hooks.c 2011-07-21 22:17:23.000000000 -0400
72647+++ linux-3.0.4/security/selinux/hooks.c 2011-08-23 21:48:14.000000000 -0400 75985+++ linux-3.0.7/security/selinux/hooks.c 2011-08-23 21:48:14.000000000 -0400
72648@@ -93,7 +93,6 @@ 75986@@ -93,7 +93,6 @@
72649 #define NUM_SEL_MNT_OPTS 5 75987 #define NUM_SEL_MNT_OPTS 5
72650 75988
@@ -72662,9 +76000,9 @@ diff -urNp linux-3.0.4/security/selinux/hooks.c linux-3.0.4/security/selinux/hoo
72662 .name = "selinux", 76000 .name = "selinux",
72663 76001
72664 .ptrace_access_check = selinux_ptrace_access_check, 76002 .ptrace_access_check = selinux_ptrace_access_check,
72665diff -urNp linux-3.0.4/security/selinux/include/xfrm.h linux-3.0.4/security/selinux/include/xfrm.h 76003diff -urNp linux-3.0.7/security/selinux/include/xfrm.h linux-3.0.7/security/selinux/include/xfrm.h
72666--- linux-3.0.4/security/selinux/include/xfrm.h 2011-07-21 22:17:23.000000000 -0400 76004--- linux-3.0.7/security/selinux/include/xfrm.h 2011-07-21 22:17:23.000000000 -0400
72667+++ linux-3.0.4/security/selinux/include/xfrm.h 2011-08-23 21:47:56.000000000 -0400 76005+++ linux-3.0.7/security/selinux/include/xfrm.h 2011-08-23 21:47:56.000000000 -0400
72668@@ -48,7 +48,7 @@ int selinux_xfrm_decode_session(struct s 76006@@ -48,7 +48,7 @@ int selinux_xfrm_decode_session(struct s
72669 76007
72670 static inline void selinux_xfrm_notify_policyload(void) 76008 static inline void selinux_xfrm_notify_policyload(void)
@@ -72674,9 +76012,9 @@ diff -urNp linux-3.0.4/security/selinux/include/xfrm.h linux-3.0.4/security/seli
72674 } 76012 }
72675 #else 76013 #else
72676 static inline int selinux_xfrm_enabled(void) 76014 static inline int selinux_xfrm_enabled(void)
72677diff -urNp linux-3.0.4/security/selinux/ss/services.c linux-3.0.4/security/selinux/ss/services.c 76015diff -urNp linux-3.0.7/security/selinux/ss/services.c linux-3.0.7/security/selinux/ss/services.c
72678--- linux-3.0.4/security/selinux/ss/services.c 2011-07-21 22:17:23.000000000 -0400 76016--- linux-3.0.7/security/selinux/ss/services.c 2011-07-21 22:17:23.000000000 -0400
72679+++ linux-3.0.4/security/selinux/ss/services.c 2011-08-23 21:48:14.000000000 -0400 76017+++ linux-3.0.7/security/selinux/ss/services.c 2011-08-23 21:48:14.000000000 -0400
72680@@ -1814,6 +1814,8 @@ int security_load_policy(void *data, siz 76018@@ -1814,6 +1814,8 @@ int security_load_policy(void *data, siz
72681 int rc = 0; 76019 int rc = 0;
72682 struct policy_file file = { data, len }, *fp = &file; 76020 struct policy_file file = { data, len }, *fp = &file;
@@ -72686,9 +76024,9 @@ diff -urNp linux-3.0.4/security/selinux/ss/services.c linux-3.0.4/security/selin
72686 if (!ss_initialized) { 76024 if (!ss_initialized) {
72687 avtab_cache_init(); 76025 avtab_cache_init();
72688 rc = policydb_read(&policydb, fp); 76026 rc = policydb_read(&policydb, fp);
72689diff -urNp linux-3.0.4/security/smack/smack_lsm.c linux-3.0.4/security/smack/smack_lsm.c 76027diff -urNp linux-3.0.7/security/smack/smack_lsm.c linux-3.0.7/security/smack/smack_lsm.c
72690--- linux-3.0.4/security/smack/smack_lsm.c 2011-07-21 22:17:23.000000000 -0400 76028--- linux-3.0.7/security/smack/smack_lsm.c 2011-07-21 22:17:23.000000000 -0400
72691+++ linux-3.0.4/security/smack/smack_lsm.c 2011-08-23 21:47:56.000000000 -0400 76029+++ linux-3.0.7/security/smack/smack_lsm.c 2011-08-23 21:47:56.000000000 -0400
72692@@ -3392,7 +3392,7 @@ static int smack_inode_getsecctx(struct 76030@@ -3392,7 +3392,7 @@ static int smack_inode_getsecctx(struct
72693 return 0; 76031 return 0;
72694 } 76032 }
@@ -72698,9 +76036,9 @@ diff -urNp linux-3.0.4/security/smack/smack_lsm.c linux-3.0.4/security/smack/sma
72698 .name = "smack", 76036 .name = "smack",
72699 76037
72700 .ptrace_access_check = smack_ptrace_access_check, 76038 .ptrace_access_check = smack_ptrace_access_check,
72701diff -urNp linux-3.0.4/security/tomoyo/tomoyo.c linux-3.0.4/security/tomoyo/tomoyo.c 76039diff -urNp linux-3.0.7/security/tomoyo/tomoyo.c linux-3.0.7/security/tomoyo/tomoyo.c
72702--- linux-3.0.4/security/tomoyo/tomoyo.c 2011-07-21 22:17:23.000000000 -0400 76040--- linux-3.0.7/security/tomoyo/tomoyo.c 2011-07-21 22:17:23.000000000 -0400
72703+++ linux-3.0.4/security/tomoyo/tomoyo.c 2011-08-23 21:47:56.000000000 -0400 76041+++ linux-3.0.7/security/tomoyo/tomoyo.c 2011-08-23 21:47:56.000000000 -0400
72704@@ -240,7 +240,7 @@ static int tomoyo_sb_pivotroot(struct pa 76042@@ -240,7 +240,7 @@ static int tomoyo_sb_pivotroot(struct pa
72705 * tomoyo_security_ops is a "struct security_operations" which is used for 76043 * tomoyo_security_ops is a "struct security_operations" which is used for
72706 * registering TOMOYO. 76044 * registering TOMOYO.
@@ -72710,9 +76048,9 @@ diff -urNp linux-3.0.4/security/tomoyo/tomoyo.c linux-3.0.4/security/tomoyo/tomo
72710 .name = "tomoyo", 76048 .name = "tomoyo",
72711 .cred_alloc_blank = tomoyo_cred_alloc_blank, 76049 .cred_alloc_blank = tomoyo_cred_alloc_blank,
72712 .cred_prepare = tomoyo_cred_prepare, 76050 .cred_prepare = tomoyo_cred_prepare,
72713diff -urNp linux-3.0.4/sound/aoa/codecs/onyx.c linux-3.0.4/sound/aoa/codecs/onyx.c 76051diff -urNp linux-3.0.7/sound/aoa/codecs/onyx.c linux-3.0.7/sound/aoa/codecs/onyx.c
72714--- linux-3.0.4/sound/aoa/codecs/onyx.c 2011-07-21 22:17:23.000000000 -0400 76052--- linux-3.0.7/sound/aoa/codecs/onyx.c 2011-07-21 22:17:23.000000000 -0400
72715+++ linux-3.0.4/sound/aoa/codecs/onyx.c 2011-08-23 21:47:56.000000000 -0400 76053+++ linux-3.0.7/sound/aoa/codecs/onyx.c 2011-08-23 21:47:56.000000000 -0400
72716@@ -54,7 +54,7 @@ struct onyx { 76054@@ -54,7 +54,7 @@ struct onyx {
72717 spdif_locked:1, 76055 spdif_locked:1,
72718 analog_locked:1, 76056 analog_locked:1,
@@ -72741,9 +76079,9 @@ diff -urNp linux-3.0.4/sound/aoa/codecs/onyx.c linux-3.0.4/sound/aoa/codecs/onyx
72741 onyx->spdif_locked = onyx->analog_locked = 0; 76079 onyx->spdif_locked = onyx->analog_locked = 0;
72742 mutex_unlock(&onyx->mutex); 76080 mutex_unlock(&onyx->mutex);
72743 76081
72744diff -urNp linux-3.0.4/sound/aoa/codecs/onyx.h linux-3.0.4/sound/aoa/codecs/onyx.h 76082diff -urNp linux-3.0.7/sound/aoa/codecs/onyx.h linux-3.0.7/sound/aoa/codecs/onyx.h
72745--- linux-3.0.4/sound/aoa/codecs/onyx.h 2011-07-21 22:17:23.000000000 -0400 76083--- linux-3.0.7/sound/aoa/codecs/onyx.h 2011-07-21 22:17:23.000000000 -0400
72746+++ linux-3.0.4/sound/aoa/codecs/onyx.h 2011-08-23 21:47:56.000000000 -0400 76084+++ linux-3.0.7/sound/aoa/codecs/onyx.h 2011-08-23 21:47:56.000000000 -0400
72747@@ -11,6 +11,7 @@ 76085@@ -11,6 +11,7 @@
72748 #include <linux/i2c.h> 76086 #include <linux/i2c.h>
72749 #include <asm/pmac_low_i2c.h> 76087 #include <asm/pmac_low_i2c.h>
@@ -72752,9 +76090,112 @@ diff -urNp linux-3.0.4/sound/aoa/codecs/onyx.h linux-3.0.4/sound/aoa/codecs/onyx
72752 76090
72753 /* PCM3052 register definitions */ 76091 /* PCM3052 register definitions */
72754 76092
72755diff -urNp linux-3.0.4/sound/core/seq/seq_device.c linux-3.0.4/sound/core/seq/seq_device.c 76093diff -urNp linux-3.0.7/sound/core/oss/pcm_oss.c linux-3.0.7/sound/core/oss/pcm_oss.c
72756--- linux-3.0.4/sound/core/seq/seq_device.c 2011-07-21 22:17:23.000000000 -0400 76094--- linux-3.0.7/sound/core/oss/pcm_oss.c 2011-07-21 22:17:23.000000000 -0400
72757+++ linux-3.0.4/sound/core/seq/seq_device.c 2011-08-23 21:47:56.000000000 -0400 76095+++ linux-3.0.7/sound/core/oss/pcm_oss.c 2011-10-06 04:17:55.000000000 -0400
76096@@ -1189,10 +1189,10 @@ snd_pcm_sframes_t snd_pcm_oss_write3(str
76097 if (in_kernel) {
76098 mm_segment_t fs;
76099 fs = snd_enter_user();
76100- ret = snd_pcm_lib_write(substream, (void __force __user *)ptr, frames);
76101+ ret = snd_pcm_lib_write(substream, (void __force_user *)ptr, frames);
76102 snd_leave_user(fs);
76103 } else {
76104- ret = snd_pcm_lib_write(substream, (void __force __user *)ptr, frames);
76105+ ret = snd_pcm_lib_write(substream, (void __force_user *)ptr, frames);
76106 }
76107 if (ret != -EPIPE && ret != -ESTRPIPE)
76108 break;
76109@@ -1234,10 +1234,10 @@ snd_pcm_sframes_t snd_pcm_oss_read3(stru
76110 if (in_kernel) {
76111 mm_segment_t fs;
76112 fs = snd_enter_user();
76113- ret = snd_pcm_lib_read(substream, (void __force __user *)ptr, frames);
76114+ ret = snd_pcm_lib_read(substream, (void __force_user *)ptr, frames);
76115 snd_leave_user(fs);
76116 } else {
76117- ret = snd_pcm_lib_read(substream, (void __force __user *)ptr, frames);
76118+ ret = snd_pcm_lib_read(substream, (void __force_user *)ptr, frames);
76119 }
76120 if (ret == -EPIPE) {
76121 if (runtime->status->state == SNDRV_PCM_STATE_DRAINING) {
76122@@ -1337,7 +1337,7 @@ static ssize_t snd_pcm_oss_write2(struct
76123 struct snd_pcm_plugin_channel *channels;
76124 size_t oss_frame_bytes = (runtime->oss.plugin_first->src_width * runtime->oss.plugin_first->src_format.channels) / 8;
76125 if (!in_kernel) {
76126- if (copy_from_user(runtime->oss.buffer, (const char __force __user *)buf, bytes))
76127+ if (copy_from_user(runtime->oss.buffer, (const char __force_user *)buf, bytes))
76128 return -EFAULT;
76129 buf = runtime->oss.buffer;
76130 }
76131@@ -1407,7 +1407,7 @@ static ssize_t snd_pcm_oss_write1(struct
76132 }
76133 } else {
76134 tmp = snd_pcm_oss_write2(substream,
76135- (const char __force *)buf,
76136+ (const char __force_kernel *)buf,
76137 runtime->oss.period_bytes, 0);
76138 if (tmp <= 0)
76139 goto err;
76140@@ -1433,7 +1433,7 @@ static ssize_t snd_pcm_oss_read2(struct
76141 struct snd_pcm_runtime *runtime = substream->runtime;
76142 snd_pcm_sframes_t frames, frames1;
76143 #ifdef CONFIG_SND_PCM_OSS_PLUGINS
76144- char __user *final_dst = (char __force __user *)buf;
76145+ char __user *final_dst = (char __force_user *)buf;
76146 if (runtime->oss.plugin_first) {
76147 struct snd_pcm_plugin_channel *channels;
76148 size_t oss_frame_bytes = (runtime->oss.plugin_last->dst_width * runtime->oss.plugin_last->dst_format.channels) / 8;
76149@@ -1495,7 +1495,7 @@ static ssize_t snd_pcm_oss_read1(struct
76150 xfer += tmp;
76151 runtime->oss.buffer_used -= tmp;
76152 } else {
76153- tmp = snd_pcm_oss_read2(substream, (char __force *)buf,
76154+ tmp = snd_pcm_oss_read2(substream, (char __force_kernel *)buf,
76155 runtime->oss.period_bytes, 0);
76156 if (tmp <= 0)
76157 goto err;
76158@@ -1663,7 +1663,7 @@ static int snd_pcm_oss_sync(struct snd_p
76159 size1);
76160 size1 /= runtime->channels; /* frames */
76161 fs = snd_enter_user();
76162- snd_pcm_lib_write(substream, (void __force __user *)runtime->oss.buffer, size1);
76163+ snd_pcm_lib_write(substream, (void __force_user *)runtime->oss.buffer, size1);
76164 snd_leave_user(fs);
76165 }
76166 } else if (runtime->access == SNDRV_PCM_ACCESS_RW_NONINTERLEAVED) {
76167diff -urNp linux-3.0.7/sound/core/pcm_compat.c linux-3.0.7/sound/core/pcm_compat.c
76168--- linux-3.0.7/sound/core/pcm_compat.c 2011-09-02 18:11:21.000000000 -0400
76169+++ linux-3.0.7/sound/core/pcm_compat.c 2011-10-06 04:17:55.000000000 -0400
76170@@ -31,7 +31,7 @@ static int snd_pcm_ioctl_delay_compat(st
76171 int err;
76172
76173 fs = snd_enter_user();
76174- err = snd_pcm_delay(substream, &delay);
76175+ err = snd_pcm_delay(substream, (snd_pcm_sframes_t __force_user *)&delay);
76176 snd_leave_user(fs);
76177 if (err < 0)
76178 return err;
76179diff -urNp linux-3.0.7/sound/core/pcm_native.c linux-3.0.7/sound/core/pcm_native.c
76180--- linux-3.0.7/sound/core/pcm_native.c 2011-07-21 22:17:23.000000000 -0400
76181+++ linux-3.0.7/sound/core/pcm_native.c 2011-10-06 04:17:55.000000000 -0400
76182@@ -2770,11 +2770,11 @@ int snd_pcm_kernel_ioctl(struct snd_pcm_
76183 switch (substream->stream) {
76184 case SNDRV_PCM_STREAM_PLAYBACK:
76185 result = snd_pcm_playback_ioctl1(NULL, substream, cmd,
76186- (void __user *)arg);
76187+ (void __force_user *)arg);
76188 break;
76189 case SNDRV_PCM_STREAM_CAPTURE:
76190 result = snd_pcm_capture_ioctl1(NULL, substream, cmd,
76191- (void __user *)arg);
76192+ (void __force_user *)arg);
76193 break;
76194 default:
76195 result = -EINVAL;
76196diff -urNp linux-3.0.7/sound/core/seq/seq_device.c linux-3.0.7/sound/core/seq/seq_device.c
76197--- linux-3.0.7/sound/core/seq/seq_device.c 2011-07-21 22:17:23.000000000 -0400
76198+++ linux-3.0.7/sound/core/seq/seq_device.c 2011-08-23 21:47:56.000000000 -0400
72758@@ -63,7 +63,7 @@ struct ops_list { 76199@@ -63,7 +63,7 @@ struct ops_list {
72759 int argsize; /* argument size */ 76200 int argsize; /* argument size */
72760 76201
@@ -72791,9 +76232,9 @@ diff -urNp linux-3.0.4/sound/core/seq/seq_device.c linux-3.0.4/sound/core/seq/se
72791 dev->status = SNDRV_SEQ_DEVICE_FREE; 76232 dev->status = SNDRV_SEQ_DEVICE_FREE;
72792 dev->driver_data = NULL; 76233 dev->driver_data = NULL;
72793 ops->num_init_devices--; 76234 ops->num_init_devices--;
72794diff -urNp linux-3.0.4/sound/drivers/mts64.c linux-3.0.4/sound/drivers/mts64.c 76235diff -urNp linux-3.0.7/sound/drivers/mts64.c linux-3.0.7/sound/drivers/mts64.c
72795--- linux-3.0.4/sound/drivers/mts64.c 2011-07-21 22:17:23.000000000 -0400 76236--- linux-3.0.7/sound/drivers/mts64.c 2011-07-21 22:17:23.000000000 -0400
72796+++ linux-3.0.4/sound/drivers/mts64.c 2011-08-23 21:47:56.000000000 -0400 76237+++ linux-3.0.7/sound/drivers/mts64.c 2011-08-23 21:47:56.000000000 -0400
72797@@ -28,6 +28,7 @@ 76238@@ -28,6 +28,7 @@
72798 #include <sound/initval.h> 76239 #include <sound/initval.h>
72799 #include <sound/rawmidi.h> 76240 #include <sound/rawmidi.h>
@@ -72850,9 +76291,9 @@ diff -urNp linux-3.0.4/sound/drivers/mts64.c linux-3.0.4/sound/drivers/mts64.c
72850 76291
72851 return 0; 76292 return 0;
72852 } 76293 }
72853diff -urNp linux-3.0.4/sound/drivers/opl4/opl4_lib.c linux-3.0.4/sound/drivers/opl4/opl4_lib.c 76294diff -urNp linux-3.0.7/sound/drivers/opl4/opl4_lib.c linux-3.0.7/sound/drivers/opl4/opl4_lib.c
72854--- linux-3.0.4/sound/drivers/opl4/opl4_lib.c 2011-07-21 22:17:23.000000000 -0400 76295--- linux-3.0.7/sound/drivers/opl4/opl4_lib.c 2011-07-21 22:17:23.000000000 -0400
72855+++ linux-3.0.4/sound/drivers/opl4/opl4_lib.c 2011-08-23 21:47:56.000000000 -0400 76296+++ linux-3.0.7/sound/drivers/opl4/opl4_lib.c 2011-08-23 21:47:56.000000000 -0400
72856@@ -28,7 +28,7 @@ MODULE_AUTHOR("Clemens Ladisch <clemens@ 76297@@ -28,7 +28,7 @@ MODULE_AUTHOR("Clemens Ladisch <clemens@
72857 MODULE_DESCRIPTION("OPL4 driver"); 76298 MODULE_DESCRIPTION("OPL4 driver");
72858 MODULE_LICENSE("GPL"); 76299 MODULE_LICENSE("GPL");
@@ -72862,9 +76303,9 @@ diff -urNp linux-3.0.4/sound/drivers/opl4/opl4_lib.c linux-3.0.4/sound/drivers/o
72862 { 76303 {
72863 int timeout = 10; 76304 int timeout = 10;
72864 while ((inb(opl4->fm_port) & OPL4_STATUS_BUSY) && --timeout > 0) 76305 while ((inb(opl4->fm_port) & OPL4_STATUS_BUSY) && --timeout > 0)
72865diff -urNp linux-3.0.4/sound/drivers/portman2x4.c linux-3.0.4/sound/drivers/portman2x4.c 76306diff -urNp linux-3.0.7/sound/drivers/portman2x4.c linux-3.0.7/sound/drivers/portman2x4.c
72866--- linux-3.0.4/sound/drivers/portman2x4.c 2011-07-21 22:17:23.000000000 -0400 76307--- linux-3.0.7/sound/drivers/portman2x4.c 2011-07-21 22:17:23.000000000 -0400
72867+++ linux-3.0.4/sound/drivers/portman2x4.c 2011-08-23 21:47:56.000000000 -0400 76308+++ linux-3.0.7/sound/drivers/portman2x4.c 2011-08-23 21:47:56.000000000 -0400
72868@@ -47,6 +47,7 @@ 76309@@ -47,6 +47,7 @@
72869 #include <sound/initval.h> 76310 #include <sound/initval.h>
72870 #include <sound/rawmidi.h> 76311 #include <sound/rawmidi.h>
@@ -72882,9 +76323,9 @@ diff -urNp linux-3.0.4/sound/drivers/portman2x4.c linux-3.0.4/sound/drivers/port
72882 int mode[PORTMAN_NUM_INPUT_PORTS]; 76323 int mode[PORTMAN_NUM_INPUT_PORTS];
72883 struct snd_rawmidi_substream *midi_input[PORTMAN_NUM_INPUT_PORTS]; 76324 struct snd_rawmidi_substream *midi_input[PORTMAN_NUM_INPUT_PORTS];
72884 }; 76325 };
72885diff -urNp linux-3.0.4/sound/firewire/amdtp.c linux-3.0.4/sound/firewire/amdtp.c 76326diff -urNp linux-3.0.7/sound/firewire/amdtp.c linux-3.0.7/sound/firewire/amdtp.c
72886--- linux-3.0.4/sound/firewire/amdtp.c 2011-07-21 22:17:23.000000000 -0400 76327--- linux-3.0.7/sound/firewire/amdtp.c 2011-07-21 22:17:23.000000000 -0400
72887+++ linux-3.0.4/sound/firewire/amdtp.c 2011-08-23 21:47:56.000000000 -0400 76328+++ linux-3.0.7/sound/firewire/amdtp.c 2011-08-23 21:47:56.000000000 -0400
72888@@ -371,7 +371,7 @@ static void queue_out_packet(struct amdt 76329@@ -371,7 +371,7 @@ static void queue_out_packet(struct amdt
72889 ptr = s->pcm_buffer_pointer + data_blocks; 76330 ptr = s->pcm_buffer_pointer + data_blocks;
72890 if (ptr >= pcm->runtime->buffer_size) 76331 if (ptr >= pcm->runtime->buffer_size)
@@ -72903,9 +76344,9 @@ diff -urNp linux-3.0.4/sound/firewire/amdtp.c linux-3.0.4/sound/firewire/amdtp.c
72903 (fw_parent_device(s->unit)->card->node_id & 0x3f) << 24; 76344 (fw_parent_device(s->unit)->card->node_id & 0x3f) << 24;
72904 } 76345 }
72905 EXPORT_SYMBOL(amdtp_out_stream_update); 76346 EXPORT_SYMBOL(amdtp_out_stream_update);
72906diff -urNp linux-3.0.4/sound/firewire/amdtp.h linux-3.0.4/sound/firewire/amdtp.h 76347diff -urNp linux-3.0.7/sound/firewire/amdtp.h linux-3.0.7/sound/firewire/amdtp.h
72907--- linux-3.0.4/sound/firewire/amdtp.h 2011-07-21 22:17:23.000000000 -0400 76348--- linux-3.0.7/sound/firewire/amdtp.h 2011-07-21 22:17:23.000000000 -0400
72908+++ linux-3.0.4/sound/firewire/amdtp.h 2011-08-23 21:47:56.000000000 -0400 76349+++ linux-3.0.7/sound/firewire/amdtp.h 2011-08-23 21:47:56.000000000 -0400
72909@@ -146,7 +146,7 @@ static inline void amdtp_out_stream_pcm_ 76350@@ -146,7 +146,7 @@ static inline void amdtp_out_stream_pcm_
72910 static inline void amdtp_out_stream_pcm_trigger(struct amdtp_out_stream *s, 76351 static inline void amdtp_out_stream_pcm_trigger(struct amdtp_out_stream *s,
72911 struct snd_pcm_substream *pcm) 76352 struct snd_pcm_substream *pcm)
@@ -72915,9 +76356,9 @@ diff -urNp linux-3.0.4/sound/firewire/amdtp.h linux-3.0.4/sound/firewire/amdtp.h
72915 } 76356 }
72916 76357
72917 /** 76358 /**
72918diff -urNp linux-3.0.4/sound/firewire/isight.c linux-3.0.4/sound/firewire/isight.c 76359diff -urNp linux-3.0.7/sound/firewire/isight.c linux-3.0.7/sound/firewire/isight.c
72919--- linux-3.0.4/sound/firewire/isight.c 2011-07-21 22:17:23.000000000 -0400 76360--- linux-3.0.7/sound/firewire/isight.c 2011-07-21 22:17:23.000000000 -0400
72920+++ linux-3.0.4/sound/firewire/isight.c 2011-08-23 21:47:56.000000000 -0400 76361+++ linux-3.0.7/sound/firewire/isight.c 2011-08-23 21:47:56.000000000 -0400
72921@@ -97,7 +97,7 @@ static void isight_update_pointers(struc 76362@@ -97,7 +97,7 @@ static void isight_update_pointers(struc
72922 ptr += count; 76363 ptr += count;
72923 if (ptr >= runtime->buffer_size) 76364 if (ptr >= runtime->buffer_size)
@@ -72958,9 +76399,9 @@ diff -urNp linux-3.0.4/sound/firewire/isight.c linux-3.0.4/sound/firewire/isight
72958 break; 76399 break;
72959 default: 76400 default:
72960 return -EINVAL; 76401 return -EINVAL;
72961diff -urNp linux-3.0.4/sound/isa/cmi8330.c linux-3.0.4/sound/isa/cmi8330.c 76402diff -urNp linux-3.0.7/sound/isa/cmi8330.c linux-3.0.7/sound/isa/cmi8330.c
72962--- linux-3.0.4/sound/isa/cmi8330.c 2011-07-21 22:17:23.000000000 -0400 76403--- linux-3.0.7/sound/isa/cmi8330.c 2011-07-21 22:17:23.000000000 -0400
72963+++ linux-3.0.4/sound/isa/cmi8330.c 2011-08-23 21:47:56.000000000 -0400 76404+++ linux-3.0.7/sound/isa/cmi8330.c 2011-08-23 21:47:56.000000000 -0400
72964@@ -172,7 +172,7 @@ struct snd_cmi8330 { 76405@@ -172,7 +172,7 @@ struct snd_cmi8330 {
72965 76406
72966 struct snd_pcm *pcm; 76407 struct snd_pcm *pcm;
@@ -72970,9 +76411,9 @@ diff -urNp linux-3.0.4/sound/isa/cmi8330.c linux-3.0.4/sound/isa/cmi8330.c
72970 snd_pcm_open_callback_t open; 76411 snd_pcm_open_callback_t open;
72971 void *private_data; /* sb or wss */ 76412 void *private_data; /* sb or wss */
72972 } streams[2]; 76413 } streams[2];
72973diff -urNp linux-3.0.4/sound/oss/sb_audio.c linux-3.0.4/sound/oss/sb_audio.c 76414diff -urNp linux-3.0.7/sound/oss/sb_audio.c linux-3.0.7/sound/oss/sb_audio.c
72974--- linux-3.0.4/sound/oss/sb_audio.c 2011-07-21 22:17:23.000000000 -0400 76415--- linux-3.0.7/sound/oss/sb_audio.c 2011-07-21 22:17:23.000000000 -0400
72975+++ linux-3.0.4/sound/oss/sb_audio.c 2011-08-23 21:47:56.000000000 -0400 76416+++ linux-3.0.7/sound/oss/sb_audio.c 2011-08-23 21:47:56.000000000 -0400
72976@@ -901,7 +901,7 @@ sb16_copy_from_user(int dev, 76417@@ -901,7 +901,7 @@ sb16_copy_from_user(int dev,
72977 buf16 = (signed short *)(localbuf + localoffs); 76418 buf16 = (signed short *)(localbuf + localoffs);
72978 while (c) 76419 while (c)
@@ -72982,9 +76423,9 @@ diff -urNp linux-3.0.4/sound/oss/sb_audio.c linux-3.0.4/sound/oss/sb_audio.c
72982 if (copy_from_user(lbuf8, 76423 if (copy_from_user(lbuf8,
72983 userbuf+useroffs + p, 76424 userbuf+useroffs + p,
72984 locallen)) 76425 locallen))
72985diff -urNp linux-3.0.4/sound/oss/swarm_cs4297a.c linux-3.0.4/sound/oss/swarm_cs4297a.c 76426diff -urNp linux-3.0.7/sound/oss/swarm_cs4297a.c linux-3.0.7/sound/oss/swarm_cs4297a.c
72986--- linux-3.0.4/sound/oss/swarm_cs4297a.c 2011-07-21 22:17:23.000000000 -0400 76427--- linux-3.0.7/sound/oss/swarm_cs4297a.c 2011-07-21 22:17:23.000000000 -0400
72987+++ linux-3.0.4/sound/oss/swarm_cs4297a.c 2011-08-23 21:47:56.000000000 -0400 76428+++ linux-3.0.7/sound/oss/swarm_cs4297a.c 2011-08-23 21:47:56.000000000 -0400
72988@@ -2606,7 +2606,6 @@ static int __init cs4297a_init(void) 76429@@ -2606,7 +2606,6 @@ static int __init cs4297a_init(void)
72989 { 76430 {
72990 struct cs4297a_state *s; 76431 struct cs4297a_state *s;
@@ -73019,9 +76460,9 @@ diff -urNp linux-3.0.4/sound/oss/swarm_cs4297a.c linux-3.0.4/sound/oss/swarm_cs4
73019 76460
73020 list_add(&s->list, &cs4297a_devs); 76461 list_add(&s->list, &cs4297a_devs);
73021 76462
73022diff -urNp linux-3.0.4/sound/pci/hda/hda_codec.h linux-3.0.4/sound/pci/hda/hda_codec.h 76463diff -urNp linux-3.0.7/sound/pci/hda/hda_codec.h linux-3.0.7/sound/pci/hda/hda_codec.h
73023--- linux-3.0.4/sound/pci/hda/hda_codec.h 2011-07-21 22:17:23.000000000 -0400 76464--- linux-3.0.7/sound/pci/hda/hda_codec.h 2011-07-21 22:17:23.000000000 -0400
73024+++ linux-3.0.4/sound/pci/hda/hda_codec.h 2011-08-23 21:47:56.000000000 -0400 76465+++ linux-3.0.7/sound/pci/hda/hda_codec.h 2011-08-23 21:47:56.000000000 -0400
73025@@ -615,7 +615,7 @@ struct hda_bus_ops { 76466@@ -615,7 +615,7 @@ struct hda_bus_ops {
73026 /* notify power-up/down from codec to controller */ 76467 /* notify power-up/down from codec to controller */
73027 void (*pm_notify)(struct hda_bus *bus); 76468 void (*pm_notify)(struct hda_bus *bus);
@@ -73057,9 +76498,9 @@ diff -urNp linux-3.0.4/sound/pci/hda/hda_codec.h linux-3.0.4/sound/pci/hda/hda_c
73057 76498
73058 /* PCM to create, set by patch_ops.build_pcms callback */ 76499 /* PCM to create, set by patch_ops.build_pcms callback */
73059 unsigned int num_pcms; 76500 unsigned int num_pcms;
73060diff -urNp linux-3.0.4/sound/pci/ice1712/ice1712.h linux-3.0.4/sound/pci/ice1712/ice1712.h 76501diff -urNp linux-3.0.7/sound/pci/ice1712/ice1712.h linux-3.0.7/sound/pci/ice1712/ice1712.h
73061--- linux-3.0.4/sound/pci/ice1712/ice1712.h 2011-07-21 22:17:23.000000000 -0400 76502--- linux-3.0.7/sound/pci/ice1712/ice1712.h 2011-07-21 22:17:23.000000000 -0400
73062+++ linux-3.0.4/sound/pci/ice1712/ice1712.h 2011-08-23 21:47:56.000000000 -0400 76503+++ linux-3.0.7/sound/pci/ice1712/ice1712.h 2011-08-23 21:47:56.000000000 -0400
73063@@ -269,7 +269,7 @@ struct snd_ak4xxx_private { 76504@@ -269,7 +269,7 @@ struct snd_ak4xxx_private {
73064 unsigned int mask_flags; /* total mask bits */ 76505 unsigned int mask_flags; /* total mask bits */
73065 struct snd_akm4xxx_ops { 76506 struct snd_akm4xxx_ops {
@@ -73078,9 +76519,9 @@ diff -urNp linux-3.0.4/sound/pci/ice1712/ice1712.h linux-3.0.4/sound/pci/ice1712
73078 }; 76519 };
73079 76520
73080 76521
73081diff -urNp linux-3.0.4/sound/pci/ymfpci/ymfpci_main.c linux-3.0.4/sound/pci/ymfpci/ymfpci_main.c 76522diff -urNp linux-3.0.7/sound/pci/ymfpci/ymfpci_main.c linux-3.0.7/sound/pci/ymfpci/ymfpci_main.c
73082--- linux-3.0.4/sound/pci/ymfpci/ymfpci_main.c 2011-07-21 22:17:23.000000000 -0400 76523--- linux-3.0.7/sound/pci/ymfpci/ymfpci_main.c 2011-07-21 22:17:23.000000000 -0400
73083+++ linux-3.0.4/sound/pci/ymfpci/ymfpci_main.c 2011-08-23 21:47:56.000000000 -0400 76524+++ linux-3.0.7/sound/pci/ymfpci/ymfpci_main.c 2011-08-23 21:47:56.000000000 -0400
73084@@ -202,8 +202,8 @@ static void snd_ymfpci_hw_stop(struct sn 76525@@ -202,8 +202,8 @@ static void snd_ymfpci_hw_stop(struct sn
73085 if ((snd_ymfpci_readl(chip, YDSXGR_STATUS) & 2) == 0) 76526 if ((snd_ymfpci_readl(chip, YDSXGR_STATUS) & 2) == 0)
73086 break; 76527 break;
@@ -73121,9 +76562,9 @@ diff -urNp linux-3.0.4/sound/pci/ymfpci/ymfpci_main.c linux-3.0.4/sound/pci/ymfp
73121 chip->card = card; 76562 chip->card = card;
73122 chip->pci = pci; 76563 chip->pci = pci;
73123 chip->irq = -1; 76564 chip->irq = -1;
73124diff -urNp linux-3.0.4/sound/soc/soc-core.c linux-3.0.4/sound/soc/soc-core.c 76565diff -urNp linux-3.0.7/sound/soc/soc-core.c linux-3.0.7/sound/soc/soc-core.c
73125--- linux-3.0.4/sound/soc/soc-core.c 2011-09-02 18:11:21.000000000 -0400 76566--- linux-3.0.7/sound/soc/soc-core.c 2011-09-02 18:11:21.000000000 -0400
73126+++ linux-3.0.4/sound/soc/soc-core.c 2011-08-23 21:47:56.000000000 -0400 76567+++ linux-3.0.7/sound/soc/soc-core.c 2011-08-23 21:47:56.000000000 -0400
73127@@ -1021,7 +1021,7 @@ static snd_pcm_uframes_t soc_pcm_pointer 76568@@ -1021,7 +1021,7 @@ static snd_pcm_uframes_t soc_pcm_pointer
73128 } 76569 }
73129 76570
@@ -73141,9 +76582,9 @@ diff -urNp linux-3.0.4/sound/soc/soc-core.c linux-3.0.4/sound/soc/soc-core.c
73141 soc_pcm_ops.mmap = platform->driver->ops->mmap; 76582 soc_pcm_ops.mmap = platform->driver->ops->mmap;
73142 soc_pcm_ops.pointer = platform->driver->ops->pointer; 76583 soc_pcm_ops.pointer = platform->driver->ops->pointer;
73143 soc_pcm_ops.ioctl = platform->driver->ops->ioctl; 76584 soc_pcm_ops.ioctl = platform->driver->ops->ioctl;
73144diff -urNp linux-3.0.4/sound/usb/card.h linux-3.0.4/sound/usb/card.h 76585diff -urNp linux-3.0.7/sound/usb/card.h linux-3.0.7/sound/usb/card.h
73145--- linux-3.0.4/sound/usb/card.h 2011-07-21 22:17:23.000000000 -0400 76586--- linux-3.0.7/sound/usb/card.h 2011-07-21 22:17:23.000000000 -0400
73146+++ linux-3.0.4/sound/usb/card.h 2011-08-23 21:47:56.000000000 -0400 76587+++ linux-3.0.7/sound/usb/card.h 2011-08-23 21:47:56.000000000 -0400
73147@@ -44,6 +44,7 @@ struct snd_urb_ops { 76588@@ -44,6 +44,7 @@ struct snd_urb_ops {
73148 int (*prepare_sync)(struct snd_usb_substream *subs, struct snd_pcm_runtime *runtime, struct urb *u); 76589 int (*prepare_sync)(struct snd_usb_substream *subs, struct snd_pcm_runtime *runtime, struct urb *u);
73149 int (*retire_sync)(struct snd_usb_substream *subs, struct snd_pcm_runtime *runtime, struct urb *u); 76590 int (*retire_sync)(struct snd_usb_substream *subs, struct snd_pcm_runtime *runtime, struct urb *u);
@@ -73161,9 +76602,182 @@ diff -urNp linux-3.0.4/sound/usb/card.h linux-3.0.4/sound/usb/card.h
73161 }; 76602 };
73162 76603
73163 struct snd_usb_stream { 76604 struct snd_usb_stream {
73164diff -urNp linux-3.0.4/tools/gcc/constify_plugin.c linux-3.0.4/tools/gcc/constify_plugin.c 76605diff -urNp linux-3.0.7/tools/gcc/checker_plugin.c linux-3.0.7/tools/gcc/checker_plugin.c
73165--- linux-3.0.4/tools/gcc/constify_plugin.c 1969-12-31 19:00:00.000000000 -0500 76606--- linux-3.0.7/tools/gcc/checker_plugin.c 1969-12-31 19:00:00.000000000 -0500
73166+++ linux-3.0.4/tools/gcc/constify_plugin.c 2011-08-30 18:23:52.000000000 -0400 76607+++ linux-3.0.7/tools/gcc/checker_plugin.c 2011-10-06 04:17:55.000000000 -0400
76608@@ -0,0 +1,169 @@
76609+/*
76610+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
76611+ * Licensed under the GPL v2
76612+ *
76613+ * Note: the choice of the license means that the compilation process is
76614+ * NOT 'eligible' as defined by gcc's library exception to the GPL v3,
76615+ * but for the kernel it doesn't matter since it doesn't link against
76616+ * any of the gcc libraries
76617+ *
76618+ * gcc plugin to implement various sparse (source code checker) features
76619+ *
76620+ * TODO:
76621+ * - define separate __iomem, __percpu and __rcu address spaces (lots of code to patch)
76622+ *
76623+ * BUGS:
76624+ * - none known
76625+ */
76626+#include "gcc-plugin.h"
76627+#include "config.h"
76628+#include "system.h"
76629+#include "coretypes.h"
76630+#include "tree.h"
76631+#include "tree-pass.h"
76632+#include "intl.h"
76633+#include "plugin-version.h"
76634+#include "tm.h"
76635+#include "toplev.h"
76636+#include "basic-block.h"
76637+#include "gimple.h"
76638+//#include "expr.h" where are you...
76639+#include "diagnostic.h"
76640+#include "rtl.h"
76641+#include "emit-rtl.h"
76642+#include "function.h"
76643+#include "tree-flow.h"
76644+#include "target.h"
76645+
76646+extern void c_register_addr_space (const char *str, addr_space_t as);
76647+extern enum machine_mode default_addr_space_pointer_mode (addr_space_t);
76648+extern enum machine_mode default_addr_space_address_mode (addr_space_t);
76649+extern bool default_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as);
76650+extern bool default_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as);
76651+extern rtx default_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as);
76652+
76653+extern void print_gimple_stmt(FILE *, gimple, int, int);
76654+extern rtx emit_move_insn(rtx x, rtx y);
76655+
76656+int plugin_is_GPL_compatible;
76657+
76658+static struct plugin_info checker_plugin_info = {
76659+ .version = "201110031940",
76660+};
76661+
76662+#define ADDR_SPACE_KERNEL 0
76663+#define ADDR_SPACE_FORCE_KERNEL 1
76664+#define ADDR_SPACE_USER 2
76665+#define ADDR_SPACE_FORCE_USER 3
76666+#define ADDR_SPACE_IOMEM 0
76667+#define ADDR_SPACE_FORCE_IOMEM 0
76668+#define ADDR_SPACE_PERCPU 0
76669+#define ADDR_SPACE_FORCE_PERCPU 0
76670+#define ADDR_SPACE_RCU 0
76671+#define ADDR_SPACE_FORCE_RCU 0
76672+
76673+static enum machine_mode checker_addr_space_pointer_mode(addr_space_t addrspace)
76674+{
76675+ return default_addr_space_pointer_mode(ADDR_SPACE_GENERIC);
76676+}
76677+
76678+static enum machine_mode checker_addr_space_address_mode(addr_space_t addrspace)
76679+{
76680+ return default_addr_space_address_mode(ADDR_SPACE_GENERIC);
76681+}
76682+
76683+static bool checker_addr_space_valid_pointer_mode(enum machine_mode mode, addr_space_t as)
76684+{
76685+ return default_addr_space_valid_pointer_mode(mode, as);
76686+}
76687+
76688+static bool checker_addr_space_legitimate_address_p(enum machine_mode mode, rtx mem, bool strict, addr_space_t as)
76689+{
76690+ return default_addr_space_legitimate_address_p(mode, mem, strict, ADDR_SPACE_GENERIC);
76691+}
76692+
76693+static rtx checker_addr_space_legitimize_address(rtx x, rtx oldx, enum machine_mode mode, addr_space_t as)
76694+{
76695+ return default_addr_space_legitimize_address(x, oldx, mode, as);
76696+}
76697+
76698+static bool checker_addr_space_subset_p(addr_space_t subset, addr_space_t superset)
76699+{
76700+ if (subset == ADDR_SPACE_FORCE_KERNEL && superset == ADDR_SPACE_KERNEL)
76701+ return true;
76702+
76703+ if (subset == ADDR_SPACE_FORCE_USER && superset == ADDR_SPACE_USER)
76704+ return true;
76705+
76706+ if (subset == ADDR_SPACE_FORCE_IOMEM && superset == ADDR_SPACE_IOMEM)
76707+ return true;
76708+
76709+ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_USER)
76710+ return true;
76711+
76712+ if (subset == ADDR_SPACE_KERNEL && superset == ADDR_SPACE_FORCE_IOMEM)
76713+ return true;
76714+
76715+ if (subset == ADDR_SPACE_USER && superset == ADDR_SPACE_FORCE_KERNEL)
76716+ return true;
76717+
76718+ if (subset == ADDR_SPACE_IOMEM && superset == ADDR_SPACE_FORCE_KERNEL)
76719+ return true;
76720+
76721+ return subset == superset;
76722+}
76723+
76724+static rtx checker_addr_space_convert(rtx op, tree from_type, tree to_type)
76725+{
76726+// addr_space_t from_as = TYPE_ADDR_SPACE(TREE_TYPE(from_type));
76727+// addr_space_t to_as = TYPE_ADDR_SPACE(TREE_TYPE(to_type));
76728+
76729+ return op;
76730+}
76731+
76732+static void register_checker_address_spaces(void *event_data, void *data)
76733+{
76734+ c_register_addr_space("__kernel", ADDR_SPACE_KERNEL);
76735+ c_register_addr_space("__force_kernel", ADDR_SPACE_FORCE_KERNEL);
76736+ c_register_addr_space("__user", ADDR_SPACE_USER);
76737+ c_register_addr_space("__force_user", ADDR_SPACE_FORCE_USER);
76738+// c_register_addr_space("__iomem", ADDR_SPACE_IOMEM);
76739+// c_register_addr_space("__force_iomem", ADDR_SPACE_FORCE_IOMEM);
76740+// c_register_addr_space("__percpu", ADDR_SPACE_PERCPU);
76741+// c_register_addr_space("__force_percpu", ADDR_SPACE_FORCE_PERCPU);
76742+// c_register_addr_space("__rcu", ADDR_SPACE_RCU);
76743+// c_register_addr_space("__force_rcu", ADDR_SPACE_FORCE_RCU);
76744+
76745+ targetm.addr_space.pointer_mode = checker_addr_space_pointer_mode;
76746+ targetm.addr_space.address_mode = checker_addr_space_address_mode;
76747+ targetm.addr_space.valid_pointer_mode = checker_addr_space_valid_pointer_mode;
76748+ targetm.addr_space.legitimate_address_p = checker_addr_space_legitimate_address_p;
76749+// targetm.addr_space.legitimize_address = checker_addr_space_legitimize_address;
76750+ targetm.addr_space.subset_p = checker_addr_space_subset_p;
76751+ targetm.addr_space.convert = checker_addr_space_convert;
76752+}
76753+
76754+int plugin_init(struct plugin_name_args *plugin_info, struct plugin_gcc_version *version)
76755+{
76756+ const char * const plugin_name = plugin_info->base_name;
76757+ const int argc = plugin_info->argc;
76758+ const struct plugin_argument * const argv = plugin_info->argv;
76759+ int i;
76760+
76761+ if (!plugin_default_version_check(version, &gcc_version)) {
76762+ error(G_("incompatible gcc/plugin versions"));
76763+ return 1;
76764+ }
76765+
76766+ register_callback(plugin_name, PLUGIN_INFO, NULL, &checker_plugin_info);
76767+
76768+ for (i = 0; i < argc; ++i)
76769+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key);
76770+
76771+ if (TARGET_64BIT == 0)
76772+ return 0;
76773+
76774+ register_callback (plugin_name, PLUGIN_PRAGMAS, register_checker_address_spaces, NULL);
76775+
76776+ return 0;
76777+}
76778diff -urNp linux-3.0.7/tools/gcc/constify_plugin.c linux-3.0.7/tools/gcc/constify_plugin.c
76779--- linux-3.0.7/tools/gcc/constify_plugin.c 1969-12-31 19:00:00.000000000 -0500
76780+++ linux-3.0.7/tools/gcc/constify_plugin.c 2011-08-30 18:23:52.000000000 -0400
73167@@ -0,0 +1,293 @@ 76781@@ -0,0 +1,293 @@
73168+/* 76782+/*
73169+ * Copyright 2011 by Emese Revfy <re.emese@gmail.com> 76783+ * Copyright 2011 by Emese Revfy <re.emese@gmail.com>
@@ -73458,9 +77072,9 @@ diff -urNp linux-3.0.4/tools/gcc/constify_plugin.c linux-3.0.4/tools/gcc/constif
73458+ 77072+
73459+ return 0; 77073+ return 0;
73460+} 77074+}
73461diff -urNp linux-3.0.4/tools/gcc/kallocstat_plugin.c linux-3.0.4/tools/gcc/kallocstat_plugin.c 77075diff -urNp linux-3.0.7/tools/gcc/kallocstat_plugin.c linux-3.0.7/tools/gcc/kallocstat_plugin.c
73462--- linux-3.0.4/tools/gcc/kallocstat_plugin.c 1969-12-31 19:00:00.000000000 -0500 77076--- linux-3.0.7/tools/gcc/kallocstat_plugin.c 1969-12-31 19:00:00.000000000 -0500
73463+++ linux-3.0.4/tools/gcc/kallocstat_plugin.c 2011-09-17 00:53:44.000000000 -0400 77077+++ linux-3.0.7/tools/gcc/kallocstat_plugin.c 2011-10-06 04:17:55.000000000 -0400
73464@@ -0,0 +1,165 @@ 77078@@ -0,0 +1,165 @@
73465+/* 77079+/*
73466+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> 77080+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
@@ -73549,10 +77163,10 @@ diff -urNp linux-3.0.4/tools/gcc/kallocstat_plugin.c linux-3.0.4/tools/gcc/kallo
73549+static unsigned int execute_kallocstat(void) 77163+static unsigned int execute_kallocstat(void)
73550+{ 77164+{
73551+ basic_block bb; 77165+ basic_block bb;
73552+ gimple_stmt_iterator gsi;
73553+ 77166+
73554+ // 1. loop through BBs and GIMPLE statements 77167+ // 1. loop through BBs and GIMPLE statements
73555+ FOR_EACH_BB(bb) { 77168+ FOR_EACH_BB(bb) {
77169+ gimple_stmt_iterator gsi;
73556+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) { 77170+ for (gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
73557+ // gimple match: 77171+ // gimple match:
73558+ tree fndecl, size; 77172+ tree fndecl, size;
@@ -73627,10 +77241,10 @@ diff -urNp linux-3.0.4/tools/gcc/kallocstat_plugin.c linux-3.0.4/tools/gcc/kallo
73627+ 77241+
73628+ return 0; 77242+ return 0;
73629+} 77243+}
73630diff -urNp linux-3.0.4/tools/gcc/kernexec_plugin.c linux-3.0.4/tools/gcc/kernexec_plugin.c 77244diff -urNp linux-3.0.7/tools/gcc/kernexec_plugin.c linux-3.0.7/tools/gcc/kernexec_plugin.c
73631--- linux-3.0.4/tools/gcc/kernexec_plugin.c 1969-12-31 19:00:00.000000000 -0500 77245--- linux-3.0.7/tools/gcc/kernexec_plugin.c 1969-12-31 19:00:00.000000000 -0500
73632+++ linux-3.0.4/tools/gcc/kernexec_plugin.c 2011-09-19 09:16:58.000000000 -0400 77246+++ linux-3.0.7/tools/gcc/kernexec_plugin.c 2011-10-06 04:17:55.000000000 -0400
73633@@ -0,0 +1,265 @@ 77247@@ -0,0 +1,273 @@
73634+/* 77248+/*
73635+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> 77249+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
73636+ * Licensed under the GPL v2 77250+ * Licensed under the GPL v2
@@ -73667,21 +77281,23 @@ diff -urNp linux-3.0.4/tools/gcc/kernexec_plugin.c linux-3.0.4/tools/gcc/kernexe
73667+#include "tree-flow.h" 77281+#include "tree-flow.h"
73668+ 77282+
73669+extern void print_gimple_stmt(FILE *, gimple, int, int); 77283+extern void print_gimple_stmt(FILE *, gimple, int, int);
77284+extern rtx emit_move_insn(rtx x, rtx y);
73670+ 77285+
73671+int plugin_is_GPL_compatible; 77286+int plugin_is_GPL_compatible;
73672+ 77287+
73673+static struct plugin_info kernexec_plugin_info = { 77288+static struct plugin_info kernexec_plugin_info = {
73674+ .version = "201109191200", 77289+ .version = "201110032145",
73675+}; 77290+};
73676+ 77291+
73677+static unsigned int execute_kernexec_fptr(void); 77292+static unsigned int execute_kernexec_fptr(void);
73678+static unsigned int execute_kernexec_retaddr(void); 77293+static unsigned int execute_kernexec_retaddr(void);
77294+static bool kernexec_cmodel_check(void);
73679+ 77295+
73680+static struct gimple_opt_pass kernexec_fptr_pass = { 77296+static struct gimple_opt_pass kernexec_fptr_pass = {
73681+ .pass = { 77297+ .pass = {
73682+ .type = GIMPLE_PASS, 77298+ .type = GIMPLE_PASS,
73683+ .name = "kernexec_fptr", 77299+ .name = "kernexec_fptr",
73684+ .gate = NULL, 77300+ .gate = kernexec_cmodel_check,
73685+ .execute = execute_kernexec_fptr, 77301+ .execute = execute_kernexec_fptr,
73686+ .sub = NULL, 77302+ .sub = NULL,
73687+ .next = NULL, 77303+ .next = NULL,
@@ -73699,7 +77315,7 @@ diff -urNp linux-3.0.4/tools/gcc/kernexec_plugin.c linux-3.0.4/tools/gcc/kernexe
73699+ .pass = { 77315+ .pass = {
73700+ .type = RTL_PASS, 77316+ .type = RTL_PASS,
73701+ .name = "kernexec_retaddr", 77317+ .name = "kernexec_retaddr",
73702+ .gate = NULL, 77318+ .gate = kernexec_cmodel_check,
73703+ .execute = execute_kernexec_retaddr, 77319+ .execute = execute_kernexec_retaddr,
73704+ .sub = NULL, 77320+ .sub = NULL,
73705+ .next = NULL, 77321+ .next = NULL,
@@ -73709,10 +77325,28 @@ diff -urNp linux-3.0.4/tools/gcc/kernexec_plugin.c linux-3.0.4/tools/gcc/kernexe
73709+ .properties_provided = 0, 77325+ .properties_provided = 0,
73710+ .properties_destroyed = 0, 77326+ .properties_destroyed = 0,
73711+ .todo_flags_start = 0, 77327+ .todo_flags_start = 0,
73712+ .todo_flags_finish = TODO_dump_func 77328+ .todo_flags_finish = TODO_dump_func | TODO_ggc_collect
73713+ } 77329+ }
73714+}; 77330+};
73715+ 77331+
77332+static bool kernexec_cmodel_check(void)
77333+{
77334+ tree section;
77335+
77336+ if (ix86_cmodel != CM_KERNEL)
77337+ return false;
77338+
77339+ section = lookup_attribute("__section__", DECL_ATTRIBUTES(current_function_decl));
77340+ if (!section || !TREE_VALUE(section))
77341+ return true;
77342+
77343+ section = TREE_VALUE(TREE_VALUE(section));
77344+ if (strncmp(TREE_STRING_POINTER(section), ".vsyscall_", 10))
77345+ return true;
77346+
77347+ return false;
77348+}
77349+
73716+/* 77350+/*
73717+ * add special KERNEXEC instrumentation: force MSB of fptr to 1, which will produce 77351+ * add special KERNEXEC instrumentation: force MSB of fptr to 1, which will produce
73718+ * a non-canonical address from a userland ptr and will just trigger a GPF on dereference 77352+ * a non-canonical address from a userland ptr and will just trigger a GPF on dereference
@@ -73731,18 +77365,14 @@ diff -urNp linux-3.0.4/tools/gcc/kernexec_plugin.c linux-3.0.4/tools/gcc/kernexe
73731+ mark_sym_for_renaming(intptr); 77365+ mark_sym_for_renaming(intptr);
73732+ assign_intptr = gimple_build_assign(intptr, fold_convert(long_unsigned_type_node, old_fptr)); 77366+ assign_intptr = gimple_build_assign(intptr, fold_convert(long_unsigned_type_node, old_fptr));
73733+ update_stmt(assign_intptr); 77367+ update_stmt(assign_intptr);
73734+ gsi_insert_before(&gsi, assign_intptr, GSI_NEW_STMT); 77368+ gsi_insert_before(&gsi, assign_intptr, GSI_SAME_STMT);
73735+
73736+ gsi_next(&gsi);
73737+ 77369+
73738+ // apply logical or to temporary unsigned long and bitmask 77370+ // apply logical or to temporary unsigned long and bitmask
73739+ kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0x8000000000000000LL); 77371+ kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0x8000000000000000LL);
73740+// kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0xffffffff80000000LL); 77372+// kernexec_mask = build_int_cstu(long_long_unsigned_type_node, 0xffffffff80000000LL);
73741+ assign_intptr = gimple_build_assign(intptr, fold_build2(BIT_IOR_EXPR, long_long_unsigned_type_node, intptr, kernexec_mask)); 77373+ assign_intptr = gimple_build_assign(intptr, fold_build2(BIT_IOR_EXPR, long_long_unsigned_type_node, intptr, kernexec_mask));
73742+ update_stmt(assign_intptr); 77374+ update_stmt(assign_intptr);
73743+ gsi_insert_before(&gsi, assign_intptr, GSI_NEW_STMT); 77375+ gsi_insert_before(&gsi, assign_intptr, GSI_SAME_STMT);
73744+
73745+ gsi_next(&gsi);
73746+ 77376+
73747+ // cast temporary unsigned long back to a temporary fptr variable 77377+ // cast temporary unsigned long back to a temporary fptr variable
73748+ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), NULL); 77378+ new_fptr = create_tmp_var(TREE_TYPE(old_fptr), NULL);
@@ -73750,9 +77380,7 @@ diff -urNp linux-3.0.4/tools/gcc/kernexec_plugin.c linux-3.0.4/tools/gcc/kernexe
73750+ mark_sym_for_renaming(new_fptr); 77380+ mark_sym_for_renaming(new_fptr);
73751+ assign_new_fptr = gimple_build_assign(new_fptr, fold_convert(TREE_TYPE(old_fptr), intptr)); 77381+ assign_new_fptr = gimple_build_assign(new_fptr, fold_convert(TREE_TYPE(old_fptr), intptr));
73752+ update_stmt(assign_new_fptr); 77382+ update_stmt(assign_new_fptr);
73753+ gsi_insert_before(&gsi, assign_new_fptr, GSI_NEW_STMT); 77383+ gsi_insert_before(&gsi, assign_new_fptr, GSI_SAME_STMT);
73754+
73755+ gsi_next(&gsi);
73756+ 77384+
73757+ // replace call stmt fn with the new fptr 77385+ // replace call stmt fn with the new fptr
73758+ gimple_call_set_fn(call_stmt, new_fptr); 77386+ gimple_call_set_fn(call_stmt, new_fptr);
@@ -73805,28 +77433,22 @@ diff -urNp linux-3.0.4/tools/gcc/kernexec_plugin.c linux-3.0.4/tools/gcc/kernexe
73805+ return 0; 77433+ return 0;
73806+} 77434+}
73807+ 77435+
73808+// add special KERNEXEC instrumentation: orb $0x80,7(%rsp) just before retn 77436+// add special KERNEXEC instrumentation: btsq $63,(%rsp) just before retn
73809+static void kernexec_instrument_retaddr(rtx insn) 77437+static void kernexec_instrument_retaddr(rtx insn)
73810+{ 77438+{
73811+ rtx ret_addr, clob, or; 77439+ rtx btsq;
73812+ 77440+ rtvec argvec, constraintvec, labelvec;
73813+ start_sequence(); 77441+ int line;
73814+
73815+ // compute 7(%rsp)
73816+ ret_addr = gen_rtx_MEM(QImode, gen_rtx_PLUS(Pmode, stack_pointer_rtx, GEN_INT(7)));
73817+ MEM_VOLATILE_P(ret_addr) = 1;
73818+
73819+ // create orb $0x80,7(%rsp)
73820+ or = gen_rtx_SET(VOIDmode, ret_addr, gen_rtx_IOR(QImode, ret_addr, GEN_INT(0xffffffffffffff80)));
73821+ clob = gen_rtx_CLOBBER(VOIDmode, gen_rtx_REG(CCmode, FLAGS_REG));
73822+ 77442+
73823+ // put everything together 77443+ // create asm volatile("btsq $63,(%%rsp)":::)
73824+ or = emit_insn(gen_rtx_PARALLEL(VOIDmode, gen_rtvec(2, or, clob))); 77444+ argvec = rtvec_alloc(0);
73825+ RTX_FRAME_RELATED_P(or) = 1; 77445+ constraintvec = rtvec_alloc(0);
73826+ 77446+ labelvec = rtvec_alloc(0);
73827+ end_sequence(); 77447+ line = expand_location(RTL_LOCATION(insn)).line;
73828+ 77448+ btsq = gen_rtx_ASM_OPERANDS(VOIDmode, "btsq $63,(%%rsp)", empty_string, 0, argvec, constraintvec, labelvec, line);
73829+ emit_insn_before(or, insn); 77449+ MEM_VOLATILE_P(btsq) = 1;
77450+ RTX_FRAME_RELATED_P(btsq) = 1;
77451+ emit_insn_before(btsq, insn);
73830+} 77452+}
73831+ 77453+
73832+/* 77454+/*
@@ -73888,7 +77510,7 @@ diff -urNp linux-3.0.4/tools/gcc/kernexec_plugin.c linux-3.0.4/tools/gcc/kernexe
73888+ for (i = 0; i < argc; ++i) 77510+ for (i = 0; i < argc; ++i)
73889+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key); 77511+ error(G_("unkown option '-fplugin-arg-%s-%s'"), plugin_name, argv[i].key);
73890+ 77512+
73891+ if (TARGET_64BIT == 0 || ix86_cmodel != CM_KERNEL) 77513+ if (TARGET_64BIT == 0)
73892+ return 0; 77514+ return 0;
73893+ 77515+
73894+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_fptr_pass_info); 77516+ register_callback(plugin_name, PLUGIN_PASS_MANAGER_SETUP, NULL, &kernexec_fptr_pass_info);
@@ -73896,10 +77518,10 @@ diff -urNp linux-3.0.4/tools/gcc/kernexec_plugin.c linux-3.0.4/tools/gcc/kernexe
73896+ 77518+
73897+ return 0; 77519+ return 0;
73898+} 77520+}
73899diff -urNp linux-3.0.4/tools/gcc/Makefile linux-3.0.4/tools/gcc/Makefile 77521diff -urNp linux-3.0.7/tools/gcc/Makefile linux-3.0.7/tools/gcc/Makefile
73900--- linux-3.0.4/tools/gcc/Makefile 1969-12-31 19:00:00.000000000 -0500 77522--- linux-3.0.7/tools/gcc/Makefile 1969-12-31 19:00:00.000000000 -0500
73901+++ linux-3.0.4/tools/gcc/Makefile 2011-09-17 00:53:44.000000000 -0400 77523+++ linux-3.0.7/tools/gcc/Makefile 2011-10-06 04:17:55.000000000 -0400
73902@@ -0,0 +1,14 @@ 77524@@ -0,0 +1,21 @@
73903+#CC := gcc 77525+#CC := gcc
73904+#PLUGIN_SOURCE_FILES := pax_plugin.c 77526+#PLUGIN_SOURCE_FILES := pax_plugin.c
73905+#PLUGIN_OBJECT_FILES := $(patsubst %.c,%.o,$(PLUGIN_SOURCE_FILES)) 77527+#PLUGIN_OBJECT_FILES := $(patsubst %.c,%.o,$(PLUGIN_SOURCE_FILES))
@@ -73908,15 +77530,22 @@ diff -urNp linux-3.0.4/tools/gcc/Makefile linux-3.0.4/tools/gcc/Makefile
73908+ 77530+
73909+HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include 77531+HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include
73910+ 77532+
73911+hostlibs-y := stackleak_plugin.so constify_plugin.so kallocstat_plugin.so kernexec_plugin.so 77533+hostlibs-y := constify_plugin.so
77534+hostlibs-$(CONFIG_PAX_MEMORY_STACKLEAK) += stackleak_plugin.so
77535+hostlibs-$(CONFIG_KALLOCSTAT_PLUGIN) += kallocstat_plugin.so
77536+hostlibs-$(CONFIG_PAX_KERNEXEC_PLUGIN) += kernexec_plugin.so
77537+hostlibs-$(CONFIG_CHECKER_PLUGIN) += checker_plugin.so
77538+
73912+always := $(hostlibs-y) 77539+always := $(hostlibs-y)
77540+
73913+stackleak_plugin-objs := stackleak_plugin.o 77541+stackleak_plugin-objs := stackleak_plugin.o
73914+constify_plugin-objs := constify_plugin.o 77542+constify_plugin-objs := constify_plugin.o
73915+kallocstat_plugin-objs := kallocstat_plugin.o 77543+kallocstat_plugin-objs := kallocstat_plugin.o
73916+kernexec_plugin-objs := kernexec_plugin.o 77544+kernexec_plugin-objs := kernexec_plugin.o
73917diff -urNp linux-3.0.4/tools/gcc/stackleak_plugin.c linux-3.0.4/tools/gcc/stackleak_plugin.c 77545+checker_plugin-objs := checker_plugin.o
73918--- linux-3.0.4/tools/gcc/stackleak_plugin.c 1969-12-31 19:00:00.000000000 -0500 77546diff -urNp linux-3.0.7/tools/gcc/stackleak_plugin.c linux-3.0.7/tools/gcc/stackleak_plugin.c
73919+++ linux-3.0.4/tools/gcc/stackleak_plugin.c 2011-09-17 00:53:44.000000000 -0400 77547--- linux-3.0.7/tools/gcc/stackleak_plugin.c 1969-12-31 19:00:00.000000000 -0500
77548+++ linux-3.0.7/tools/gcc/stackleak_plugin.c 2011-09-17 00:53:44.000000000 -0400
73920@@ -0,0 +1,251 @@ 77549@@ -0,0 +1,251 @@
73921+/* 77550+/*
73922+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> 77551+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
@@ -74169,9 +77798,9 @@ diff -urNp linux-3.0.4/tools/gcc/stackleak_plugin.c linux-3.0.4/tools/gcc/stackl
74169+ 77798+
74170+ return 0; 77799+ return 0;
74171+} 77800+}
74172diff -urNp linux-3.0.4/usr/gen_init_cpio.c linux-3.0.4/usr/gen_init_cpio.c 77801diff -urNp linux-3.0.7/usr/gen_init_cpio.c linux-3.0.7/usr/gen_init_cpio.c
74173--- linux-3.0.4/usr/gen_init_cpio.c 2011-07-21 22:17:23.000000000 -0400 77802--- linux-3.0.7/usr/gen_init_cpio.c 2011-07-21 22:17:23.000000000 -0400
74174+++ linux-3.0.4/usr/gen_init_cpio.c 2011-08-23 21:47:56.000000000 -0400 77803+++ linux-3.0.7/usr/gen_init_cpio.c 2011-08-23 21:47:56.000000000 -0400
74175@@ -303,7 +303,7 @@ static int cpio_mkfile(const char *name, 77804@@ -303,7 +303,7 @@ static int cpio_mkfile(const char *name,
74176 int retval; 77805 int retval;
74177 int rc = -1; 77806 int rc = -1;
@@ -74194,9 +77823,9 @@ diff -urNp linux-3.0.4/usr/gen_init_cpio.c linux-3.0.4/usr/gen_init_cpio.c
74194 } else 77823 } else
74195 break; 77824 break;
74196 } 77825 }
74197diff -urNp linux-3.0.4/virt/kvm/kvm_main.c linux-3.0.4/virt/kvm/kvm_main.c 77826diff -urNp linux-3.0.7/virt/kvm/kvm_main.c linux-3.0.7/virt/kvm/kvm_main.c
74198--- linux-3.0.4/virt/kvm/kvm_main.c 2011-07-21 22:17:23.000000000 -0400 77827--- linux-3.0.7/virt/kvm/kvm_main.c 2011-07-21 22:17:23.000000000 -0400
74199+++ linux-3.0.4/virt/kvm/kvm_main.c 2011-08-23 21:47:56.000000000 -0400 77828+++ linux-3.0.7/virt/kvm/kvm_main.c 2011-08-23 21:47:56.000000000 -0400
74200@@ -73,7 +73,7 @@ LIST_HEAD(vm_list); 77829@@ -73,7 +73,7 @@ LIST_HEAD(vm_list);
74201 77830
74202 static cpumask_var_t cpus_hardware_enabled; 77831 static cpumask_var_t cpus_hardware_enabled;