aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-10-26 11:41:54 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2011-10-26 14:42:28 +0000
commita795740c66e926fb724b527c6bbff3c6f9c18b61 (patch)
treeb0e0e5448f0b57797b502dc7f9ff80c8e10ae9fb
parentf2e2835e0acb79b596e26bcfb8d403053ec7c754 (diff)
downloadalpine_aports-a795740c66e926fb724b527c6bbff3c6f9c18b61.tar.bz2
alpine_aports-a795740c66e926fb724b527c6bbff3c6f9c18b61.tar.xz
alpine_aports-a795740c66e926fb724b527c6bbff3c6f9c18b61.zip
main/linux-grsec: upgrade to grsecurity-2.2.2-3.0.8-201110250925
-rw-r--r--main/dahdi-linux-grsec/APKBUILD2
-rw-r--r--main/linux-grsec/APKBUILD10
-rw-r--r--main/linux-grsec/grsecurity-2.2.2-3.0.8-201110250925.patch (renamed from main/linux-grsec/grsecurity-2.2.2-3.0.7-201110200052.patch)17576
-rw-r--r--main/open-iscsi-grsec/APKBUILD2
-rw-r--r--main/open-iscsi-grsec/Makefile-Alpine-kernels-support.patch2
-rw-r--r--main/xtables-addons-grsec/APKBUILD2
6 files changed, 9080 insertions, 8514 deletions
diff --git a/main/dahdi-linux-grsec/APKBUILD b/main/dahdi-linux-grsec/APKBUILD
index 97e3c95fbf..dd357f7a2c 100644
--- a/main/dahdi-linux-grsec/APKBUILD
+++ b/main/dahdi-linux-grsec/APKBUILD
@@ -17,7 +17,7 @@ pkgname=${_realname}-${_flavor}
17pkgver=$pkgver 17pkgver=$pkgver
18# when chaning _dahdiver we *must* bump _mypkgrel 18# when chaning _dahdiver we *must* bump _mypkgrel
19_dahdiver=2.5.0.2 19_dahdiver=2.5.0.2
20_mypkgrel=2 20_mypkgrel=0
21pkgrel=$(( $_kpkgrel + $_mypkgrel )) 21pkgrel=$(( $_kpkgrel + $_mypkgrel ))
22pkgdesc="Digium Asterisk Hardware Device Interface drivers $_dahdiver" 22pkgdesc="Digium Asterisk Hardware Device Interface drivers $_dahdiver"
23url="http://www.asterisk.org" 23url="http://www.asterisk.org"
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index db50b43ea4..a4919bdbbf 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.7 5pkgver=3.0.8
6_kernver=3.0 6_kernver=3.0
7pkgrel=2 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,7 @@ _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.7-201110200052.patch 17 grsecurity-2.2.2-3.0.8-201110250925.patch
18 grsec-timblogiw-noconst.patch 18 grsec-timblogiw-noconst.patch
19 19
20 0004-arp-flush-arp-cache-on-device-change.patch 20 0004-arp-flush-arp-cache-on-device-change.patch
@@ -138,8 +138,8 @@ dev() {
138} 138}
139 139
140md5sums="398e95866794def22b12dfbc15ce89c0 linux-3.0.tar.bz2 140md5sums="398e95866794def22b12dfbc15ce89c0 linux-3.0.tar.bz2
141451412dc3b25c60fed80ddd5c49cb855 patch-3.0.7.bz2 14149618d8c7a71549c8870eb709c7d3f81 patch-3.0.8.bz2
142c83f7f0b4e400948fd30725bee596613 grsecurity-2.2.2-3.0.7-201110200052.patch 1425015a2afce7d3665bf74e0896529fb90 grsecurity-2.2.2-3.0.8-201110250925.patch
143c41cf0ee9794f393423c6b2093072260 grsec-timblogiw-noconst.patch 143c41cf0ee9794f393423c6b2093072260 grsec-timblogiw-noconst.patch
144776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch 144776adeeb5272093574f8836c5037dd7d 0004-arp-flush-arp-cache-on-device-change.patch
1450134b22fc2c95106803f4043cffed087 kernelconfig.x86 1450134b22fc2c95106803f4043cffed087 kernelconfig.x86
diff --git a/main/linux-grsec/grsecurity-2.2.2-3.0.7-201110200052.patch b/main/linux-grsec/grsecurity-2.2.2-3.0.8-201110250925.patch
index de32794606..6dd81e431e 100644
--- a/main/linux-grsec/grsecurity-2.2.2-3.0.7-201110200052.patch
+++ b/main/linux-grsec/grsecurity-2.2.2-3.0.8-201110250925.patch
@@ -1,328 +1,6 @@
1diff -urNp linux-3.0.7/Documentation/dontdiff linux-3.0.7/Documentation/dontdiff 1diff -urNp linux-3.0.8/arch/alpha/include/asm/elf.h linux-3.0.8/arch/alpha/include/asm/elf.h
2--- linux-3.0.7/Documentation/dontdiff 2011-07-21 22:17:23.000000000 -0400 2--- linux-3.0.8/arch/alpha/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
3+++ linux-3.0.7/Documentation/dontdiff 2011-10-07 19:07:23.000000000 -0400 3+++ linux-3.0.8/arch/alpha/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
4@@ -5,6 +5,7 @@
5 *.cis
6 *.cpio
7 *.csp
8+*.dbg
9 *.dsp
10 *.dvi
11 *.elf
12@@ -48,9 +49,11 @@
13 *.tab.h
14 *.tex
15 *.ver
16+*.vim
17 *.xml
18 *.xz
19 *_MODULES
20+*_reg_safe.h
21 *_vga16.c
22 *~
23 \#*#
24@@ -70,6 +73,7 @@ Kerntypes
25 Module.markers
26 Module.symvers
27 PENDING
28+PERF*
29 SCCS
30 System.map*
31 TAGS
32@@ -98,6 +102,8 @@ bzImage*
33 capability_names.h
34 capflags.c
35 classlist.h*
36+clut_vga16.c
37+common-cmds.h
38 comp*.log
39 compile.h*
40 conf
41@@ -126,12 +132,14 @@ fore200e_pca_fw.c*
42 gconf
43 gconf.glade.h
44 gen-devlist
45+gen-kdb_cmds.c
46 gen_crc32table
47 gen_init_cpio
48 generated
49 genheaders
50 genksyms
51 *_gray256.c
52+hash
53 hpet_example
54 hugepage-mmap
55 hugepage-shm
56@@ -146,7 +154,6 @@ int32.c
57 int4.c
58 int8.c
59 kallsyms
60-kconfig
61 keywords.c
62 ksym.c*
63 ksym.h*
64@@ -154,7 +161,6 @@ kxgettext
65 lkc_defs.h
66 lex.c
67 lex.*.c
68-linux
69 logo_*.c
70 logo_*_clut224.c
71 logo_*_mono.c
72@@ -166,7 +172,6 @@ machtypes.h
73 map
74 map_hugetlb
75 maui_boot.h
76-media
77 mconf
78 miboot*
79 mk_elfconfig
80@@ -174,6 +179,7 @@ mkboot
81 mkbugboot
82 mkcpustr
83 mkdep
84+mkpiggy
85 mkprep
86 mkregtable
87 mktables
88@@ -209,6 +215,7 @@ r300_reg_safe.h
89 r420_reg_safe.h
90 r600_reg_safe.h
91 recordmcount
92+regdb.c
93 relocs
94 rlim_names.h
95 rn50_reg_safe.h
96@@ -219,6 +226,7 @@ setup
97 setup.bin
98 setup.elf
99 sImage
100+slabinfo
101 sm_tbl*
102 split-include
103 syscalltab.h
104@@ -246,7 +254,9 @@ vmlinux
105 vmlinux-*
106 vmlinux.aout
107 vmlinux.bin.all
108+vmlinux.bin.bz2
109 vmlinux.lds
110+vmlinux.relocs
111 vmlinuz
112 voffset.h
113 vsyscall.lds
114@@ -254,6 +264,7 @@ vsyscall_32.lds
115 wanxlfw.inc
116 uImage
117 unifdef
118+utsrelease.h
119 wakeup.bin
120 wakeup.elf
121 wakeup.lds
122diff -urNp linux-3.0.7/Documentation/kernel-parameters.txt linux-3.0.7/Documentation/kernel-parameters.txt
123--- linux-3.0.7/Documentation/kernel-parameters.txt 2011-07-21 22:17:23.000000000 -0400
124+++ linux-3.0.7/Documentation/kernel-parameters.txt 2011-08-23 21:47:55.000000000 -0400
125@@ -1883,6 +1883,13 @@ bytes respectively. Such letter suffixes
126 the specified number of seconds. This is to be used if
127 your oopses keep scrolling off the screen.
128
129+ pax_nouderef [X86] disables UDEREF. Most likely needed under certain
130+ virtualization environments that don't cope well with the
131+ expand down segment used by UDEREF on X86-32 or the frequent
132+ page table updates on X86-64.
133+
134+ pax_softmode= 0/1 to disable/enable PaX softmode on boot already.
135+
136 pcbit= [HW,ISDN]
137
138 pcd. [PARIDE]
139diff -urNp linux-3.0.7/Makefile linux-3.0.7/Makefile
140--- linux-3.0.7/Makefile 2011-10-17 23:17:08.000000000 -0400
141+++ linux-3.0.7/Makefile 2011-10-17 23:17:19.000000000 -0400
142@@ -245,8 +245,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH"
143
144 HOSTCC = gcc
145 HOSTCXX = g++
146-HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
147-HOSTCXXFLAGS = -O2
148+HOSTCFLAGS = -Wall -W -Wmissing-prototypes -Wstrict-prototypes -Wno-unused-parameter -Wno-missing-field-initializers -O2 -fomit-frame-pointer -fno-delete-null-pointer-checks
149+HOSTCFLAGS += $(call cc-option, -Wno-empty-body)
150+HOSTCXXFLAGS = -O2 -fno-delete-null-pointer-checks
151
152 # Decide whether to build built-in, modular, or both.
153 # Normally, just do built-in.
154@@ -365,10 +366,12 @@ LINUXINCLUDE := -I$(srctree)/arch/$(h
155 KBUILD_CPPFLAGS := -D__KERNEL__
156
157 KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
158+ -W -Wno-unused-parameter -Wno-missing-field-initializers \
159 -fno-strict-aliasing -fno-common \
160 -Werror-implicit-function-declaration \
161 -Wno-format-security \
162 -fno-delete-null-pointer-checks
163+KBUILD_CFLAGS += $(call cc-option, -Wno-empty-body)
164 KBUILD_AFLAGS_KERNEL :=
165 KBUILD_CFLAGS_KERNEL :=
166 KBUILD_AFLAGS := -D__ASSEMBLY__
167@@ -407,8 +410,8 @@ export RCS_TAR_IGNORE := --exclude SCCS
168 # Rules shared between *config targets and build targets
169
170 # Basic helpers built in scripts/
171-PHONY += scripts_basic
172-scripts_basic:
173+PHONY += scripts_basic gcc-plugins
174+scripts_basic: gcc-plugins
175 $(Q)$(MAKE) $(build)=scripts/basic
176 $(Q)rm -f .tmp_quiet_recordmcount
177
178@@ -564,6 +567,36 @@ else
179 KBUILD_CFLAGS += -O2
180 endif
181
182+ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(CC)"), y)
183+CONSTIFY_PLUGIN := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN
184+ifdef CONFIG_PAX_MEMORY_STACKLEAK
185+STACKLEAK_PLUGIN := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -fplugin-arg-stackleak_plugin-track-lowest-sp=100
186+endif
187+ifdef CONFIG_KALLOCSTAT_PLUGIN
188+KALLOCSTAT_PLUGIN := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so
189+endif
190+ifdef CONFIG_PAX_KERNEXEC_PLUGIN
191+KERNEXEC_PLUGIN := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so
192+endif
193+ifdef CONFIG_CHECKER_PLUGIN
194+ifeq ($(call cc-ifversion, -ge, 0406, y), y)
195+CHECKER_PLUGIN := -fplugin=$(objtree)/tools/gcc/checker_plugin.so -DCHECKER_PLUGIN
196+endif
197+endif
198+GCC_PLUGINS := $(CONSTIFY_PLUGIN) $(STACKLEAK_PLUGIN) $(KALLOCSTAT_PLUGIN) $(KERNEXEC_PLUGIN) $(CHECKER_PLUGIN)
199+export CONSTIFY_PLUGIN STACKLEAK_PLUGIN KERNEXEC_PLUGIN CHECKER_PLUGIN
200+gcc-plugins:
201+ $(Q)$(MAKE) $(build)=tools/gcc
202+else
203+gcc-plugins:
204+ifeq ($(call cc-ifversion, -ge, 0405, y), y)
205+ $(error Your gcc installation does not support plugins. If the necessary headers for plugin support are missing, they should be installed. On Debian, apt-get install gcc-<ver>-plugin-dev.))
206+else
207+ $(Q)echo "warning, your gcc version does not support plugins, you should upgrade it to gcc 4.5 at least"
208+endif
209+ $(Q)echo "PAX_MEMORY_STACKLEAK and constification will be less secure"
210+endif
211+
212 include $(srctree)/arch/$(SRCARCH)/Makefile
213
214 ifneq ($(CONFIG_FRAME_WARN),0)
215@@ -708,7 +741,7 @@ export mod_strip_cmd
216
217
218 ifeq ($(KBUILD_EXTMOD),)
219-core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/
220+core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ grsecurity/
221
222 vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
223 $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
224@@ -932,6 +965,7 @@ vmlinux.o: $(modpost-init) $(vmlinux-mai
225
226 # The actual objects are generated when descending,
227 # make sure no implicit rule kicks in
228+$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): KBUILD_CFLAGS += $(GCC_PLUGINS)
229 $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
230
231 # Handle descending into subdirectories listed in $(vmlinux-dirs)
232@@ -941,7 +975,7 @@ $(sort $(vmlinux-init) $(vmlinux-main))
233 # Error messages still appears in the original language
234
235 PHONY += $(vmlinux-dirs)
236-$(vmlinux-dirs): prepare scripts
237+$(vmlinux-dirs): gcc-plugins prepare scripts
238 $(Q)$(MAKE) $(build)=$@
239
240 # Store (new) KERNELRELASE string in include/config/kernel.release
241@@ -986,6 +1020,7 @@ prepare0: archprepare FORCE
242 $(Q)$(MAKE) $(build)=. missing-syscalls
243
244 # All the preparing..
245+prepare: KBUILD_CFLAGS := $(filter-out $(GCC_PLUGINS),$(KBUILD_CFLAGS))
246 prepare: prepare0
247
248 # Generate some files
249@@ -1087,6 +1122,7 @@ all: modules
250 # using awk while concatenating to the final file.
251
252 PHONY += modules
253+modules: KBUILD_CFLAGS += $(GCC_PLUGINS)
254 modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
255 $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order
256 @$(kecho) ' Building modules, stage 2.';
257@@ -1102,7 +1138,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modu
258
259 # Target to prepare building external modules
260 PHONY += modules_prepare
261-modules_prepare: prepare scripts
262+modules_prepare: gcc-plugins prepare scripts
263
264 # Target to install modules
265 PHONY += modules_install
266@@ -1198,7 +1234,7 @@ distclean: mrproper
267 @find $(srctree) $(RCS_FIND_IGNORE) \
268 \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
269 -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
270- -o -name '.*.rej' -o -size 0 \
271+ -o -name '.*.rej' -o -name '*.so' -o -size 0 \
272 -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \
273 -type f -print | xargs rm -f
274
275@@ -1359,6 +1395,7 @@ PHONY += $(module-dirs) modules
276 $(module-dirs): crmodverdir $(objtree)/Module.symvers
277 $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
278
279+modules: KBUILD_CFLAGS += $(GCC_PLUGINS)
280 modules: $(module-dirs)
281 @$(kecho) ' Building modules, stage 2.';
282 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
283@@ -1485,17 +1522,19 @@ else
284 target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@))
285 endif
286
287-%.s: %.c prepare scripts FORCE
288+%.s: KBUILD_CFLAGS += $(GCC_PLUGINS)
289+%.s: %.c gcc-plugins prepare scripts FORCE
290 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
291 %.i: %.c prepare scripts FORCE
292 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
293-%.o: %.c prepare scripts FORCE
294+%.o: KBUILD_CFLAGS += $(GCC_PLUGINS)
295+%.o: %.c gcc-plugins prepare scripts FORCE
296 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
297 %.lst: %.c prepare scripts FORCE
298 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
299-%.s: %.S prepare scripts FORCE
300+%.s: %.S gcc-plugins prepare scripts FORCE
301 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
302-%.o: %.S prepare scripts FORCE
303+%.o: %.S gcc-plugins prepare scripts FORCE
304 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
305 %.symtypes: %.c prepare scripts FORCE
306 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
307@@ -1505,11 +1544,13 @@ endif
308 $(cmd_crmodverdir)
309 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
310 $(build)=$(build-dir)
311-%/: prepare scripts FORCE
312+%/: KBUILD_CFLAGS += $(GCC_PLUGINS)
313+%/: gcc-plugins prepare scripts FORCE
314 $(cmd_crmodverdir)
315 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
316 $(build)=$(build-dir)
317-%.ko: prepare scripts FORCE
318+%.ko: KBUILD_CFLAGS += $(GCC_PLUGINS)
319+%.ko: gcc-plugins prepare scripts FORCE
320 $(cmd_crmodverdir)
321 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
322 $(build)=$(build-dir) $(@:.ko=.o)
323diff -urNp linux-3.0.7/arch/alpha/include/asm/elf.h linux-3.0.7/arch/alpha/include/asm/elf.h
324--- linux-3.0.7/arch/alpha/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
325+++ linux-3.0.7/arch/alpha/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
326@@ -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
327 5
328 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x1000000) 6 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x1000000)
@@ -337,9 +15,9 @@ diff -urNp linux-3.0.7/arch/alpha/include/asm/elf.h linux-3.0.7/arch/alpha/inclu
337 /* $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
338 registered using atexit. This provides a mean for the dynamic 16 registered using atexit. This provides a mean for the dynamic
339 linker to call DT_FINI functions for shared libraries that have 17 linker to call DT_FINI functions for shared libraries that have
340diff -urNp linux-3.0.7/arch/alpha/include/asm/pgtable.h linux-3.0.7/arch/alpha/include/asm/pgtable.h 18diff -urNp linux-3.0.8/arch/alpha/include/asm/pgtable.h linux-3.0.8/arch/alpha/include/asm/pgtable.h
341--- linux-3.0.7/arch/alpha/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400 19--- linux-3.0.8/arch/alpha/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400
342+++ linux-3.0.7/arch/alpha/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400 20+++ linux-3.0.8/arch/alpha/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400
343@@ -101,6 +101,17 @@ struct vm_area_struct; 21@@ -101,6 +101,17 @@ struct vm_area_struct;
344 #define PAGE_SHARED __pgprot(_PAGE_VALID | __ACCESS_BITS) 22 #define PAGE_SHARED __pgprot(_PAGE_VALID | __ACCESS_BITS)
345 #define PAGE_COPY __pgprot(_PAGE_VALID | __ACCESS_BITS | _PAGE_FOW) 23 #define PAGE_COPY __pgprot(_PAGE_VALID | __ACCESS_BITS | _PAGE_FOW)
@@ -358,9 +36,9 @@ diff -urNp linux-3.0.7/arch/alpha/include/asm/pgtable.h linux-3.0.7/arch/alpha/i
358 #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)
359 37
360 #define _PAGE_NORMAL(x) __pgprot(_PAGE_VALID | __ACCESS_BITS | (x)) 38 #define _PAGE_NORMAL(x) __pgprot(_PAGE_VALID | __ACCESS_BITS | (x))
361diff -urNp linux-3.0.7/arch/alpha/kernel/module.c linux-3.0.7/arch/alpha/kernel/module.c 39diff -urNp linux-3.0.8/arch/alpha/kernel/module.c linux-3.0.8/arch/alpha/kernel/module.c
362--- linux-3.0.7/arch/alpha/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 40--- linux-3.0.8/arch/alpha/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
363+++ linux-3.0.7/arch/alpha/kernel/module.c 2011-08-23 21:47:55.000000000 -0400 41+++ linux-3.0.8/arch/alpha/kernel/module.c 2011-08-23 21:47:55.000000000 -0400
364@@ -182,7 +182,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs, 42@@ -182,7 +182,7 @@ apply_relocate_add(Elf64_Shdr *sechdrs,
365 43
366 /* The small sections were sorted to the end of the segment. 44 /* The small sections were sorted to the end of the segment.
@@ -370,9 +48,9 @@ diff -urNp linux-3.0.7/arch/alpha/kernel/module.c linux-3.0.7/arch/alpha/kernel/
370 got = sechdrs[me->arch.gotsecindex].sh_addr; 48 got = sechdrs[me->arch.gotsecindex].sh_addr;
371 49
372 for (i = 0; i < n; i++) { 50 for (i = 0; i < n; i++) {
373diff -urNp linux-3.0.7/arch/alpha/kernel/osf_sys.c linux-3.0.7/arch/alpha/kernel/osf_sys.c 51diff -urNp linux-3.0.8/arch/alpha/kernel/osf_sys.c linux-3.0.8/arch/alpha/kernel/osf_sys.c
374--- linux-3.0.7/arch/alpha/kernel/osf_sys.c 2011-07-21 22:17:23.000000000 -0400 52--- linux-3.0.8/arch/alpha/kernel/osf_sys.c 2011-07-21 22:17:23.000000000 -0400
375+++ linux-3.0.7/arch/alpha/kernel/osf_sys.c 2011-08-23 21:47:55.000000000 -0400 53+++ linux-3.0.8/arch/alpha/kernel/osf_sys.c 2011-08-23 21:47:55.000000000 -0400
376@@ -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
377 /* At this point: (!vma || addr < vma->vm_end). */ 55 /* At this point: (!vma || addr < vma->vm_end). */
378 if (limit - len < addr) 56 if (limit - len < addr)
@@ -404,9 +82,9 @@ diff -urNp linux-3.0.7/arch/alpha/kernel/osf_sys.c linux-3.0.7/arch/alpha/kernel
404 if (addr != (unsigned long) -ENOMEM) 82 if (addr != (unsigned long) -ENOMEM)
405 return addr; 83 return addr;
406 84
407diff -urNp linux-3.0.7/arch/alpha/mm/fault.c linux-3.0.7/arch/alpha/mm/fault.c 85diff -urNp linux-3.0.8/arch/alpha/mm/fault.c linux-3.0.8/arch/alpha/mm/fault.c
408--- linux-3.0.7/arch/alpha/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 86--- linux-3.0.8/arch/alpha/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
409+++ linux-3.0.7/arch/alpha/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 87+++ linux-3.0.8/arch/alpha/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
410@@ -54,6 +54,124 @@ __load_new_mm_context(struct mm_struct * 88@@ -54,6 +54,124 @@ __load_new_mm_context(struct mm_struct *
411 __reload_thread(pcb); 89 __reload_thread(pcb);
412 } 90 }
@@ -563,9 +241,9 @@ diff -urNp linux-3.0.7/arch/alpha/mm/fault.c linux-3.0.7/arch/alpha/mm/fault.c
563 } else if (!cause) { 241 } else if (!cause) {
564 /* Allow reads even for write-only mappings */ 242 /* Allow reads even for write-only mappings */
565 if (!(vma->vm_flags & (VM_READ | VM_WRITE))) 243 if (!(vma->vm_flags & (VM_READ | VM_WRITE)))
566diff -urNp linux-3.0.7/arch/arm/include/asm/elf.h linux-3.0.7/arch/arm/include/asm/elf.h 244diff -urNp linux-3.0.8/arch/arm/include/asm/elf.h linux-3.0.8/arch/arm/include/asm/elf.h
567--- linux-3.0.7/arch/arm/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 245--- linux-3.0.8/arch/arm/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
568+++ linux-3.0.7/arch/arm/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 246+++ linux-3.0.8/arch/arm/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
569@@ -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
570 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
571 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. */
@@ -593,9 +271,9 @@ diff -urNp linux-3.0.7/arch/arm/include/asm/elf.h linux-3.0.7/arch/arm/include/a
593 extern int vectors_user_mapping(void); 271 extern int vectors_user_mapping(void);
594 #define arch_setup_additional_pages(bprm, uses_interp) vectors_user_mapping() 272 #define arch_setup_additional_pages(bprm, uses_interp) vectors_user_mapping()
595 #define ARCH_HAS_SETUP_ADDITIONAL_PAGES 273 #define ARCH_HAS_SETUP_ADDITIONAL_PAGES
596diff -urNp linux-3.0.7/arch/arm/include/asm/kmap_types.h linux-3.0.7/arch/arm/include/asm/kmap_types.h 274diff -urNp linux-3.0.8/arch/arm/include/asm/kmap_types.h linux-3.0.8/arch/arm/include/asm/kmap_types.h
597--- linux-3.0.7/arch/arm/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400 275--- linux-3.0.8/arch/arm/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400
598+++ linux-3.0.7/arch/arm/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400 276+++ linux-3.0.8/arch/arm/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400
599@@ -21,6 +21,7 @@ enum km_type { 277@@ -21,6 +21,7 @@ enum km_type {
600 KM_L1_CACHE, 278 KM_L1_CACHE,
601 KM_L2_CACHE, 279 KM_L2_CACHE,
@@ -604,9 +282,9 @@ diff -urNp linux-3.0.7/arch/arm/include/asm/kmap_types.h linux-3.0.7/arch/arm/in
604 KM_TYPE_NR 282 KM_TYPE_NR
605 }; 283 };
606 284
607diff -urNp linux-3.0.7/arch/arm/include/asm/uaccess.h linux-3.0.7/arch/arm/include/asm/uaccess.h 285diff -urNp linux-3.0.8/arch/arm/include/asm/uaccess.h linux-3.0.8/arch/arm/include/asm/uaccess.h
608--- linux-3.0.7/arch/arm/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400 286--- linux-3.0.8/arch/arm/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400
609+++ linux-3.0.7/arch/arm/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400 287+++ linux-3.0.8/arch/arm/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400
610@@ -22,6 +22,8 @@ 288@@ -22,6 +22,8 @@
611 #define VERIFY_READ 0 289 #define VERIFY_READ 0
612 #define VERIFY_WRITE 1 290 #define VERIFY_WRITE 1
@@ -662,9 +340,9 @@ diff -urNp linux-3.0.7/arch/arm/include/asm/uaccess.h linux-3.0.7/arch/arm/inclu
662 if (access_ok(VERIFY_WRITE, to, n)) 340 if (access_ok(VERIFY_WRITE, to, n))
663 n = __copy_to_user(to, from, n); 341 n = __copy_to_user(to, from, n);
664 return n; 342 return n;
665diff -urNp linux-3.0.7/arch/arm/kernel/armksyms.c linux-3.0.7/arch/arm/kernel/armksyms.c 343diff -urNp linux-3.0.8/arch/arm/kernel/armksyms.c linux-3.0.8/arch/arm/kernel/armksyms.c
666--- linux-3.0.7/arch/arm/kernel/armksyms.c 2011-07-21 22:17:23.000000000 -0400 344--- linux-3.0.8/arch/arm/kernel/armksyms.c 2011-07-21 22:17:23.000000000 -0400
667+++ linux-3.0.7/arch/arm/kernel/armksyms.c 2011-08-23 21:47:55.000000000 -0400 345+++ linux-3.0.8/arch/arm/kernel/armksyms.c 2011-08-23 21:47:55.000000000 -0400
668@@ -98,8 +98,8 @@ EXPORT_SYMBOL(__strncpy_from_user); 346@@ -98,8 +98,8 @@ EXPORT_SYMBOL(__strncpy_from_user);
669 #ifdef CONFIG_MMU 347 #ifdef CONFIG_MMU
670 EXPORT_SYMBOL(copy_page); 348 EXPORT_SYMBOL(copy_page);
@@ -676,9 +354,9 @@ diff -urNp linux-3.0.7/arch/arm/kernel/armksyms.c linux-3.0.7/arch/arm/kernel/ar
676 EXPORT_SYMBOL(__clear_user); 354 EXPORT_SYMBOL(__clear_user);
677 355
678 EXPORT_SYMBOL(__get_user_1); 356 EXPORT_SYMBOL(__get_user_1);
679diff -urNp linux-3.0.7/arch/arm/kernel/process.c linux-3.0.7/arch/arm/kernel/process.c 357diff -urNp linux-3.0.8/arch/arm/kernel/process.c linux-3.0.8/arch/arm/kernel/process.c
680--- linux-3.0.7/arch/arm/kernel/process.c 2011-07-21 22:17:23.000000000 -0400 358--- linux-3.0.8/arch/arm/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
681+++ linux-3.0.7/arch/arm/kernel/process.c 2011-08-23 21:47:55.000000000 -0400 359+++ linux-3.0.8/arch/arm/kernel/process.c 2011-08-23 21:47:55.000000000 -0400
682@@ -28,7 +28,6 @@ 360@@ -28,7 +28,6 @@
683 #include <linux/tick.h> 361 #include <linux/tick.h>
684 #include <linux/utsname.h> 362 #include <linux/utsname.h>
@@ -700,9 +378,9 @@ diff -urNp linux-3.0.7/arch/arm/kernel/process.c linux-3.0.7/arch/arm/kernel/pro
700 #ifdef CONFIG_MMU 378 #ifdef CONFIG_MMU
701 /* 379 /*
702 * The vectors page is always readable from user space for the 380 * The vectors page is always readable from user space for the
703diff -urNp linux-3.0.7/arch/arm/kernel/traps.c linux-3.0.7/arch/arm/kernel/traps.c 381diff -urNp linux-3.0.8/arch/arm/kernel/traps.c linux-3.0.8/arch/arm/kernel/traps.c
704--- linux-3.0.7/arch/arm/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400 382--- linux-3.0.8/arch/arm/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400
705+++ linux-3.0.7/arch/arm/kernel/traps.c 2011-08-23 21:48:14.000000000 -0400 383+++ linux-3.0.8/arch/arm/kernel/traps.c 2011-08-23 21:48:14.000000000 -0400
706@@ -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
707 385
708 static DEFINE_SPINLOCK(die_lock); 386 static DEFINE_SPINLOCK(die_lock);
@@ -722,9 +400,9 @@ diff -urNp linux-3.0.7/arch/arm/kernel/traps.c linux-3.0.7/arch/arm/kernel/traps
722 if (ret != NOTIFY_STOP) 400 if (ret != NOTIFY_STOP)
723 do_exit(SIGSEGV); 401 do_exit(SIGSEGV);
724 } 402 }
725diff -urNp linux-3.0.7/arch/arm/lib/copy_from_user.S linux-3.0.7/arch/arm/lib/copy_from_user.S 403diff -urNp linux-3.0.8/arch/arm/lib/copy_from_user.S linux-3.0.8/arch/arm/lib/copy_from_user.S
726--- linux-3.0.7/arch/arm/lib/copy_from_user.S 2011-07-21 22:17:23.000000000 -0400 404--- linux-3.0.8/arch/arm/lib/copy_from_user.S 2011-07-21 22:17:23.000000000 -0400
727+++ linux-3.0.7/arch/arm/lib/copy_from_user.S 2011-08-23 21:47:55.000000000 -0400 405+++ linux-3.0.8/arch/arm/lib/copy_from_user.S 2011-08-23 21:47:55.000000000 -0400
728@@ -16,7 +16,7 @@ 406@@ -16,7 +16,7 @@
729 /* 407 /*
730 * Prototype: 408 * Prototype:
@@ -748,9 +426,9 @@ diff -urNp linux-3.0.7/arch/arm/lib/copy_from_user.S linux-3.0.7/arch/arm/lib/co
748 426
749 .pushsection .fixup,"ax" 427 .pushsection .fixup,"ax"
750 .align 0 428 .align 0
751diff -urNp linux-3.0.7/arch/arm/lib/copy_to_user.S linux-3.0.7/arch/arm/lib/copy_to_user.S 429diff -urNp linux-3.0.8/arch/arm/lib/copy_to_user.S linux-3.0.8/arch/arm/lib/copy_to_user.S
752--- linux-3.0.7/arch/arm/lib/copy_to_user.S 2011-07-21 22:17:23.000000000 -0400 430--- linux-3.0.8/arch/arm/lib/copy_to_user.S 2011-07-21 22:17:23.000000000 -0400
753+++ linux-3.0.7/arch/arm/lib/copy_to_user.S 2011-08-23 21:47:55.000000000 -0400 431+++ linux-3.0.8/arch/arm/lib/copy_to_user.S 2011-08-23 21:47:55.000000000 -0400
754@@ -16,7 +16,7 @@ 432@@ -16,7 +16,7 @@
755 /* 433 /*
756 * Prototype: 434 * Prototype:
@@ -774,9 +452,9 @@ diff -urNp linux-3.0.7/arch/arm/lib/copy_to_user.S linux-3.0.7/arch/arm/lib/copy
774 ENDPROC(__copy_to_user_std) 452 ENDPROC(__copy_to_user_std)
775 453
776 .pushsection .fixup,"ax" 454 .pushsection .fixup,"ax"
777diff -urNp linux-3.0.7/arch/arm/lib/uaccess.S linux-3.0.7/arch/arm/lib/uaccess.S 455diff -urNp linux-3.0.8/arch/arm/lib/uaccess.S linux-3.0.8/arch/arm/lib/uaccess.S
778--- linux-3.0.7/arch/arm/lib/uaccess.S 2011-07-21 22:17:23.000000000 -0400 456--- linux-3.0.8/arch/arm/lib/uaccess.S 2011-07-21 22:17:23.000000000 -0400
779+++ linux-3.0.7/arch/arm/lib/uaccess.S 2011-08-23 21:47:55.000000000 -0400 457+++ linux-3.0.8/arch/arm/lib/uaccess.S 2011-08-23 21:47:55.000000000 -0400
780@@ -20,7 +20,7 @@ 458@@ -20,7 +20,7 @@
781 459
782 #define PAGE_SHIFT 12 460 #define PAGE_SHIFT 12
@@ -830,9 +508,9 @@ diff -urNp linux-3.0.7/arch/arm/lib/uaccess.S linux-3.0.7/arch/arm/lib/uaccess.S
830 508
831 .pushsection .fixup,"ax" 509 .pushsection .fixup,"ax"
832 .align 0 510 .align 0
833diff -urNp linux-3.0.7/arch/arm/lib/uaccess_with_memcpy.c linux-3.0.7/arch/arm/lib/uaccess_with_memcpy.c 511diff -urNp linux-3.0.8/arch/arm/lib/uaccess_with_memcpy.c linux-3.0.8/arch/arm/lib/uaccess_with_memcpy.c
834--- linux-3.0.7/arch/arm/lib/uaccess_with_memcpy.c 2011-07-21 22:17:23.000000000 -0400 512--- linux-3.0.8/arch/arm/lib/uaccess_with_memcpy.c 2011-07-21 22:17:23.000000000 -0400
835+++ linux-3.0.7/arch/arm/lib/uaccess_with_memcpy.c 2011-08-23 21:47:55.000000000 -0400 513+++ linux-3.0.8/arch/arm/lib/uaccess_with_memcpy.c 2011-08-23 21:47:55.000000000 -0400
836@@ -103,7 +103,7 @@ out: 514@@ -103,7 +103,7 @@ out:
837 } 515 }
838 516
@@ -842,9 +520,9 @@ diff -urNp linux-3.0.7/arch/arm/lib/uaccess_with_memcpy.c linux-3.0.7/arch/arm/l
842 { 520 {
843 /* 521 /*
844 * 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
845diff -urNp linux-3.0.7/arch/arm/mach-ux500/mbox-db5500.c linux-3.0.7/arch/arm/mach-ux500/mbox-db5500.c 523diff -urNp linux-3.0.8/arch/arm/mach-ux500/mbox-db5500.c linux-3.0.8/arch/arm/mach-ux500/mbox-db5500.c
846--- linux-3.0.7/arch/arm/mach-ux500/mbox-db5500.c 2011-07-21 22:17:23.000000000 -0400 524--- linux-3.0.8/arch/arm/mach-ux500/mbox-db5500.c 2011-07-21 22:17:23.000000000 -0400
847+++ linux-3.0.7/arch/arm/mach-ux500/mbox-db5500.c 2011-08-23 21:48:14.000000000 -0400 525+++ linux-3.0.8/arch/arm/mach-ux500/mbox-db5500.c 2011-08-23 21:48:14.000000000 -0400
848@@ -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
849 return sprintf(buf, "0x%X\n", mbox_value); 527 return sprintf(buf, "0x%X\n", mbox_value);
850 } 528 }
@@ -854,9 +532,9 @@ diff -urNp linux-3.0.7/arch/arm/mach-ux500/mbox-db5500.c linux-3.0.7/arch/arm/ma
854 532
855 static int mbox_show(struct seq_file *s, void *data) 533 static int mbox_show(struct seq_file *s, void *data)
856 { 534 {
857diff -urNp linux-3.0.7/arch/arm/mm/fault.c linux-3.0.7/arch/arm/mm/fault.c 535diff -urNp linux-3.0.8/arch/arm/mm/fault.c linux-3.0.8/arch/arm/mm/fault.c
858--- linux-3.0.7/arch/arm/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 536--- linux-3.0.8/arch/arm/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
859+++ linux-3.0.7/arch/arm/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 537+++ linux-3.0.8/arch/arm/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
860@@ -182,6 +182,13 @@ __do_user_fault(struct task_struct *tsk, 538@@ -182,6 +182,13 @@ __do_user_fault(struct task_struct *tsk,
861 } 539 }
862 #endif 540 #endif
@@ -905,9 +583,9 @@ diff -urNp linux-3.0.7/arch/arm/mm/fault.c linux-3.0.7/arch/arm/mm/fault.c
905 /* 583 /*
906 * First Level Translation Fault Handler 584 * First Level Translation Fault Handler
907 * 585 *
908diff -urNp linux-3.0.7/arch/arm/mm/mmap.c linux-3.0.7/arch/arm/mm/mmap.c 586diff -urNp linux-3.0.8/arch/arm/mm/mmap.c linux-3.0.8/arch/arm/mm/mmap.c
909--- linux-3.0.7/arch/arm/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 587--- linux-3.0.8/arch/arm/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400
910+++ linux-3.0.7/arch/arm/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 588+++ linux-3.0.8/arch/arm/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400
911@@ -65,6 +65,10 @@ arch_get_unmapped_area(struct file *filp 589@@ -65,6 +65,10 @@ arch_get_unmapped_area(struct file *filp
912 if (len > TASK_SIZE) 590 if (len > TASK_SIZE)
913 return -ENOMEM; 591 return -ENOMEM;
@@ -957,9 +635,9 @@ diff -urNp linux-3.0.7/arch/arm/mm/mmap.c linux-3.0.7/arch/arm/mm/mmap.c
957 /* 635 /*
958 * Remember the place where we stopped the search: 636 * Remember the place where we stopped the search:
959 */ 637 */
960diff -urNp linux-3.0.7/arch/avr32/include/asm/elf.h linux-3.0.7/arch/avr32/include/asm/elf.h 638diff -urNp linux-3.0.8/arch/avr32/include/asm/elf.h linux-3.0.8/arch/avr32/include/asm/elf.h
961--- linux-3.0.7/arch/avr32/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 639--- linux-3.0.8/arch/avr32/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
962+++ linux-3.0.7/arch/avr32/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 640+++ linux-3.0.8/arch/avr32/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
963@@ -84,8 +84,14 @@ typedef struct user_fpu_struct elf_fpreg 641@@ -84,8 +84,14 @@ typedef struct user_fpu_struct elf_fpreg
964 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
965 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. */
@@ -976,9 +654,9 @@ diff -urNp linux-3.0.7/arch/avr32/include/asm/elf.h linux-3.0.7/arch/avr32/inclu
976 654
977 /* 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
978 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,
979diff -urNp linux-3.0.7/arch/avr32/include/asm/kmap_types.h linux-3.0.7/arch/avr32/include/asm/kmap_types.h 657diff -urNp linux-3.0.8/arch/avr32/include/asm/kmap_types.h linux-3.0.8/arch/avr32/include/asm/kmap_types.h
980--- linux-3.0.7/arch/avr32/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400 658--- linux-3.0.8/arch/avr32/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400
981+++ linux-3.0.7/arch/avr32/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400 659+++ linux-3.0.8/arch/avr32/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400
982@@ -22,7 +22,8 @@ D(10) KM_IRQ0, 660@@ -22,7 +22,8 @@ D(10) KM_IRQ0,
983 D(11) KM_IRQ1, 661 D(11) KM_IRQ1,
984 D(12) KM_SOFTIRQ0, 662 D(12) KM_SOFTIRQ0,
@@ -989,9 +667,9 @@ diff -urNp linux-3.0.7/arch/avr32/include/asm/kmap_types.h linux-3.0.7/arch/avr3
989 }; 667 };
990 668
991 #undef D 669 #undef D
992diff -urNp linux-3.0.7/arch/avr32/mm/fault.c linux-3.0.7/arch/avr32/mm/fault.c 670diff -urNp linux-3.0.8/arch/avr32/mm/fault.c linux-3.0.8/arch/avr32/mm/fault.c
993--- linux-3.0.7/arch/avr32/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 671--- linux-3.0.8/arch/avr32/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
994+++ linux-3.0.7/arch/avr32/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 672+++ linux-3.0.8/arch/avr32/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
995@@ -41,6 +41,23 @@ static inline int notify_page_fault(stru 673@@ -41,6 +41,23 @@ static inline int notify_page_fault(stru
996 674
997 int exception_trace = 1; 675 int exception_trace = 1;
@@ -1033,9 +711,9 @@ diff -urNp linux-3.0.7/arch/avr32/mm/fault.c linux-3.0.7/arch/avr32/mm/fault.c
1033 if (exception_trace && printk_ratelimit()) 711 if (exception_trace && printk_ratelimit())
1034 printk("%s%s[%d]: segfault at %08lx pc %08lx " 712 printk("%s%s[%d]: segfault at %08lx pc %08lx "
1035 "sp %08lx ecr %lu\n", 713 "sp %08lx ecr %lu\n",
1036diff -urNp linux-3.0.7/arch/frv/include/asm/kmap_types.h linux-3.0.7/arch/frv/include/asm/kmap_types.h 714diff -urNp linux-3.0.8/arch/frv/include/asm/kmap_types.h linux-3.0.8/arch/frv/include/asm/kmap_types.h
1037--- linux-3.0.7/arch/frv/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400 715--- linux-3.0.8/arch/frv/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400
1038+++ linux-3.0.7/arch/frv/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400 716+++ linux-3.0.8/arch/frv/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400
1039@@ -23,6 +23,7 @@ enum km_type { 717@@ -23,6 +23,7 @@ enum km_type {
1040 KM_IRQ1, 718 KM_IRQ1,
1041 KM_SOFTIRQ0, 719 KM_SOFTIRQ0,
@@ -1044,9 +722,9 @@ diff -urNp linux-3.0.7/arch/frv/include/asm/kmap_types.h linux-3.0.7/arch/frv/in
1044 KM_TYPE_NR 722 KM_TYPE_NR
1045 }; 723 };
1046 724
1047diff -urNp linux-3.0.7/arch/frv/mm/elf-fdpic.c linux-3.0.7/arch/frv/mm/elf-fdpic.c 725diff -urNp linux-3.0.8/arch/frv/mm/elf-fdpic.c linux-3.0.8/arch/frv/mm/elf-fdpic.c
1048--- linux-3.0.7/arch/frv/mm/elf-fdpic.c 2011-07-21 22:17:23.000000000 -0400 726--- linux-3.0.8/arch/frv/mm/elf-fdpic.c 2011-07-21 22:17:23.000000000 -0400
1049+++ linux-3.0.7/arch/frv/mm/elf-fdpic.c 2011-08-23 21:47:55.000000000 -0400 727+++ linux-3.0.8/arch/frv/mm/elf-fdpic.c 2011-08-23 21:47:55.000000000 -0400
1050@@ -73,8 +73,7 @@ unsigned long arch_get_unmapped_area(str 728@@ -73,8 +73,7 @@ unsigned long arch_get_unmapped_area(str
1051 if (addr) { 729 if (addr) {
1052 addr = PAGE_ALIGN(addr); 730 addr = PAGE_ALIGN(addr);
@@ -1075,9 +753,9 @@ diff -urNp linux-3.0.7/arch/frv/mm/elf-fdpic.c linux-3.0.7/arch/frv/mm/elf-fdpic
1075 goto success; 753 goto success;
1076 addr = vma->vm_end; 754 addr = vma->vm_end;
1077 } 755 }
1078diff -urNp linux-3.0.7/arch/ia64/include/asm/elf.h linux-3.0.7/arch/ia64/include/asm/elf.h 756diff -urNp linux-3.0.8/arch/ia64/include/asm/elf.h linux-3.0.8/arch/ia64/include/asm/elf.h
1079--- linux-3.0.7/arch/ia64/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 757--- linux-3.0.8/arch/ia64/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
1080+++ linux-3.0.7/arch/ia64/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 758+++ linux-3.0.8/arch/ia64/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
1081@@ -42,6 +42,13 @@ 759@@ -42,6 +42,13 @@
1082 */ 760 */
1083 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x800000000UL) 761 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x800000000UL)
@@ -1092,9 +770,9 @@ diff -urNp linux-3.0.7/arch/ia64/include/asm/elf.h linux-3.0.7/arch/ia64/include
1092 #define PT_IA_64_UNWIND 0x70000001 770 #define PT_IA_64_UNWIND 0x70000001
1093 771
1094 /* IA-64 relocations: */ 772 /* IA-64 relocations: */
1095diff -urNp linux-3.0.7/arch/ia64/include/asm/pgtable.h linux-3.0.7/arch/ia64/include/asm/pgtable.h 773diff -urNp linux-3.0.8/arch/ia64/include/asm/pgtable.h linux-3.0.8/arch/ia64/include/asm/pgtable.h
1096--- linux-3.0.7/arch/ia64/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400 774--- linux-3.0.8/arch/ia64/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400
1097+++ linux-3.0.7/arch/ia64/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400 775+++ linux-3.0.8/arch/ia64/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400
1098@@ -12,7 +12,7 @@ 776@@ -12,7 +12,7 @@
1099 * David Mosberger-Tang <davidm@hpl.hp.com> 777 * David Mosberger-Tang <davidm@hpl.hp.com>
1100 */ 778 */
@@ -1122,9 +800,9 @@ diff -urNp linux-3.0.7/arch/ia64/include/asm/pgtable.h linux-3.0.7/arch/ia64/inc
1122 #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)
1123 #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)
1124 #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)
1125diff -urNp linux-3.0.7/arch/ia64/include/asm/spinlock.h linux-3.0.7/arch/ia64/include/asm/spinlock.h 803diff -urNp linux-3.0.8/arch/ia64/include/asm/spinlock.h linux-3.0.8/arch/ia64/include/asm/spinlock.h
1126--- linux-3.0.7/arch/ia64/include/asm/spinlock.h 2011-07-21 22:17:23.000000000 -0400 804--- linux-3.0.8/arch/ia64/include/asm/spinlock.h 2011-07-21 22:17:23.000000000 -0400
1127+++ linux-3.0.7/arch/ia64/include/asm/spinlock.h 2011-08-23 21:47:55.000000000 -0400 805+++ linux-3.0.8/arch/ia64/include/asm/spinlock.h 2011-08-23 21:47:55.000000000 -0400
1128@@ -72,7 +72,7 @@ static __always_inline void __ticket_spi 806@@ -72,7 +72,7 @@ static __always_inline void __ticket_spi
1129 unsigned short *p = (unsigned short *)&lock->lock + 1, tmp; 807 unsigned short *p = (unsigned short *)&lock->lock + 1, tmp;
1130 808
@@ -1134,9 +812,9 @@ diff -urNp linux-3.0.7/arch/ia64/include/asm/spinlock.h linux-3.0.7/arch/ia64/in
1134 } 812 }
1135 813
1136 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)
1137diff -urNp linux-3.0.7/arch/ia64/include/asm/uaccess.h linux-3.0.7/arch/ia64/include/asm/uaccess.h 815diff -urNp linux-3.0.8/arch/ia64/include/asm/uaccess.h linux-3.0.8/arch/ia64/include/asm/uaccess.h
1138--- linux-3.0.7/arch/ia64/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400 816--- linux-3.0.8/arch/ia64/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400
1139+++ linux-3.0.7/arch/ia64/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400 817+++ linux-3.0.8/arch/ia64/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400
1140@@ -257,7 +257,7 @@ __copy_from_user (void *to, const void _ 818@@ -257,7 +257,7 @@ __copy_from_user (void *to, const void _
1141 const void *__cu_from = (from); \ 819 const void *__cu_from = (from); \
1142 long __cu_len = (n); \ 820 long __cu_len = (n); \
@@ -1155,9 +833,9 @@ diff -urNp linux-3.0.7/arch/ia64/include/asm/uaccess.h linux-3.0.7/arch/ia64/inc
1155 __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); \
1156 __cu_len; \ 834 __cu_len; \
1157 }) 835 })
1158diff -urNp linux-3.0.7/arch/ia64/kernel/module.c linux-3.0.7/arch/ia64/kernel/module.c 836diff -urNp linux-3.0.8/arch/ia64/kernel/module.c linux-3.0.8/arch/ia64/kernel/module.c
1159--- linux-3.0.7/arch/ia64/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 837--- linux-3.0.8/arch/ia64/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
1160+++ linux-3.0.7/arch/ia64/kernel/module.c 2011-08-23 21:47:55.000000000 -0400 838+++ linux-3.0.8/arch/ia64/kernel/module.c 2011-08-23 21:47:55.000000000 -0400
1161@@ -315,8 +315,7 @@ module_alloc (unsigned long size) 839@@ -315,8 +315,7 @@ module_alloc (unsigned long size)
1162 void 840 void
1163 module_free (struct module *mod, void *module_region) 841 module_free (struct module *mod, void *module_region)
@@ -1246,9 +924,9 @@ diff -urNp linux-3.0.7/arch/ia64/kernel/module.c linux-3.0.7/arch/ia64/kernel/mo
1246 mod->arch.gp = gp; 924 mod->arch.gp = gp;
1247 DEBUGP("%s: placing gp at 0x%lx\n", __func__, gp); 925 DEBUGP("%s: placing gp at 0x%lx\n", __func__, gp);
1248 } 926 }
1249diff -urNp linux-3.0.7/arch/ia64/kernel/sys_ia64.c linux-3.0.7/arch/ia64/kernel/sys_ia64.c 927diff -urNp linux-3.0.8/arch/ia64/kernel/sys_ia64.c linux-3.0.8/arch/ia64/kernel/sys_ia64.c
1250--- linux-3.0.7/arch/ia64/kernel/sys_ia64.c 2011-07-21 22:17:23.000000000 -0400 928--- linux-3.0.8/arch/ia64/kernel/sys_ia64.c 2011-07-21 22:17:23.000000000 -0400
1251+++ linux-3.0.7/arch/ia64/kernel/sys_ia64.c 2011-08-23 21:47:55.000000000 -0400 929+++ linux-3.0.8/arch/ia64/kernel/sys_ia64.c 2011-08-23 21:47:55.000000000 -0400
1252@@ -43,6 +43,13 @@ arch_get_unmapped_area (struct file *fil 930@@ -43,6 +43,13 @@ arch_get_unmapped_area (struct file *fil
1253 if (REGION_NUMBER(addr) == RGN_HPAGE) 931 if (REGION_NUMBER(addr) == RGN_HPAGE)
1254 addr = 0; 932 addr = 0;
@@ -1281,9 +959,9 @@ diff -urNp linux-3.0.7/arch/ia64/kernel/sys_ia64.c linux-3.0.7/arch/ia64/kernel/
1281 /* Remember the address where we stopped this search: */ 959 /* Remember the address where we stopped this search: */
1282 mm->free_area_cache = addr + len; 960 mm->free_area_cache = addr + len;
1283 return addr; 961 return addr;
1284diff -urNp linux-3.0.7/arch/ia64/kernel/vmlinux.lds.S linux-3.0.7/arch/ia64/kernel/vmlinux.lds.S 962diff -urNp linux-3.0.8/arch/ia64/kernel/vmlinux.lds.S linux-3.0.8/arch/ia64/kernel/vmlinux.lds.S
1285--- linux-3.0.7/arch/ia64/kernel/vmlinux.lds.S 2011-07-21 22:17:23.000000000 -0400 963--- linux-3.0.8/arch/ia64/kernel/vmlinux.lds.S 2011-07-21 22:17:23.000000000 -0400
1286+++ linux-3.0.7/arch/ia64/kernel/vmlinux.lds.S 2011-08-23 21:47:55.000000000 -0400 964+++ linux-3.0.8/arch/ia64/kernel/vmlinux.lds.S 2011-08-23 21:47:55.000000000 -0400
1287@@ -199,7 +199,7 @@ SECTIONS { 965@@ -199,7 +199,7 @@ SECTIONS {
1288 /* Per-cpu data: */ 966 /* Per-cpu data: */
1289 . = ALIGN(PERCPU_PAGE_SIZE); 967 . = ALIGN(PERCPU_PAGE_SIZE);
@@ -1293,9 +971,9 @@ diff -urNp linux-3.0.7/arch/ia64/kernel/vmlinux.lds.S linux-3.0.7/arch/ia64/kern
1293 /* 971 /*
1294 * ensure percpu data fits 972 * ensure percpu data fits
1295 * into percpu page size 973 * into percpu page size
1296diff -urNp linux-3.0.7/arch/ia64/mm/fault.c linux-3.0.7/arch/ia64/mm/fault.c 974diff -urNp linux-3.0.8/arch/ia64/mm/fault.c linux-3.0.8/arch/ia64/mm/fault.c
1297--- linux-3.0.7/arch/ia64/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 975--- linux-3.0.8/arch/ia64/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
1298+++ linux-3.0.7/arch/ia64/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 976+++ linux-3.0.8/arch/ia64/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
1299@@ -73,6 +73,23 @@ mapped_kernel_page_is_present (unsigned 977@@ -73,6 +73,23 @@ mapped_kernel_page_is_present (unsigned
1300 return pte_present(pte); 978 return pte_present(pte);
1301 } 979 }
@@ -1345,9 +1023,9 @@ diff -urNp linux-3.0.7/arch/ia64/mm/fault.c linux-3.0.7/arch/ia64/mm/fault.c
1345 /* 1023 /*
1346 * 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
1347 * sure we exit gracefully rather than endlessly redo the 1025 * sure we exit gracefully rather than endlessly redo the
1348diff -urNp linux-3.0.7/arch/ia64/mm/hugetlbpage.c linux-3.0.7/arch/ia64/mm/hugetlbpage.c 1026diff -urNp linux-3.0.8/arch/ia64/mm/hugetlbpage.c linux-3.0.8/arch/ia64/mm/hugetlbpage.c
1349--- linux-3.0.7/arch/ia64/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000 -0400 1027--- linux-3.0.8/arch/ia64/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000 -0400
1350+++ linux-3.0.7/arch/ia64/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000 -0400 1028+++ linux-3.0.8/arch/ia64/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000 -0400
1351@@ -171,7 +171,7 @@ unsigned long hugetlb_get_unmapped_area( 1029@@ -171,7 +171,7 @@ unsigned long hugetlb_get_unmapped_area(
1352 /* At this point: (!vmm || addr < vmm->vm_end). */ 1030 /* At this point: (!vmm || addr < vmm->vm_end). */
1353 if (REGION_OFFSET(addr) + len > RGN_MAP_LIMIT) 1031 if (REGION_OFFSET(addr) + len > RGN_MAP_LIMIT)
@@ -1357,9 +1035,9 @@ diff -urNp linux-3.0.7/arch/ia64/mm/hugetlbpage.c linux-3.0.7/arch/ia64/mm/huget
1357 return addr; 1035 return addr;
1358 addr = ALIGN(vmm->vm_end, HPAGE_SIZE); 1036 addr = ALIGN(vmm->vm_end, HPAGE_SIZE);
1359 } 1037 }
1360diff -urNp linux-3.0.7/arch/ia64/mm/init.c linux-3.0.7/arch/ia64/mm/init.c 1038diff -urNp linux-3.0.8/arch/ia64/mm/init.c linux-3.0.8/arch/ia64/mm/init.c
1361--- linux-3.0.7/arch/ia64/mm/init.c 2011-07-21 22:17:23.000000000 -0400 1039--- linux-3.0.8/arch/ia64/mm/init.c 2011-07-21 22:17:23.000000000 -0400
1362+++ linux-3.0.7/arch/ia64/mm/init.c 2011-08-23 21:47:55.000000000 -0400 1040+++ linux-3.0.8/arch/ia64/mm/init.c 2011-08-23 21:47:55.000000000 -0400
1363@@ -120,6 +120,19 @@ ia64_init_addr_space (void) 1041@@ -120,6 +120,19 @@ ia64_init_addr_space (void)
1364 vma->vm_start = current->thread.rbs_bot & PAGE_MASK; 1042 vma->vm_start = current->thread.rbs_bot & PAGE_MASK;
1365 vma->vm_end = vma->vm_start + PAGE_SIZE; 1043 vma->vm_end = vma->vm_start + PAGE_SIZE;
@@ -1380,9 +1058,9 @@ diff -urNp linux-3.0.7/arch/ia64/mm/init.c linux-3.0.7/arch/ia64/mm/init.c
1380 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); 1058 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
1381 down_write(&current->mm->mmap_sem); 1059 down_write(&current->mm->mmap_sem);
1382 if (insert_vm_struct(current->mm, vma)) { 1060 if (insert_vm_struct(current->mm, vma)) {
1383diff -urNp linux-3.0.7/arch/m32r/lib/usercopy.c linux-3.0.7/arch/m32r/lib/usercopy.c 1061diff -urNp linux-3.0.8/arch/m32r/lib/usercopy.c linux-3.0.8/arch/m32r/lib/usercopy.c
1384--- linux-3.0.7/arch/m32r/lib/usercopy.c 2011-07-21 22:17:23.000000000 -0400 1062--- linux-3.0.8/arch/m32r/lib/usercopy.c 2011-07-21 22:17:23.000000000 -0400
1385+++ linux-3.0.7/arch/m32r/lib/usercopy.c 2011-08-23 21:47:55.000000000 -0400 1063+++ linux-3.0.8/arch/m32r/lib/usercopy.c 2011-08-23 21:47:55.000000000 -0400
1386@@ -14,6 +14,9 @@ 1064@@ -14,6 +14,9 @@
1387 unsigned long 1065 unsigned long
1388 __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)
@@ -1403,9 +1081,9 @@ diff -urNp linux-3.0.7/arch/m32r/lib/usercopy.c linux-3.0.7/arch/m32r/lib/userco
1403 prefetchw(to); 1081 prefetchw(to);
1404 if (access_ok(VERIFY_READ, from, n)) 1082 if (access_ok(VERIFY_READ, from, n))
1405 __copy_user_zeroing(to,from,n); 1083 __copy_user_zeroing(to,from,n);
1406diff -urNp linux-3.0.7/arch/mips/include/asm/elf.h linux-3.0.7/arch/mips/include/asm/elf.h 1084diff -urNp linux-3.0.8/arch/mips/include/asm/elf.h linux-3.0.8/arch/mips/include/asm/elf.h
1407--- linux-3.0.7/arch/mips/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 1085--- linux-3.0.8/arch/mips/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
1408+++ linux-3.0.7/arch/mips/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 1086+++ linux-3.0.8/arch/mips/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
1409@@ -372,13 +372,16 @@ extern const char *__elf_platform; 1087@@ -372,13 +372,16 @@ extern const char *__elf_platform;
1410 #define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2) 1088 #define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2)
1411 #endif 1089 #endif
@@ -1427,9 +1105,9 @@ diff -urNp linux-3.0.7/arch/mips/include/asm/elf.h linux-3.0.7/arch/mips/include
1427-#define arch_randomize_brk arch_randomize_brk 1105-#define arch_randomize_brk arch_randomize_brk
1428- 1106-
1429 #endif /* _ASM_ELF_H */ 1107 #endif /* _ASM_ELF_H */
1430diff -urNp linux-3.0.7/arch/mips/include/asm/page.h linux-3.0.7/arch/mips/include/asm/page.h 1108diff -urNp linux-3.0.8/arch/mips/include/asm/page.h linux-3.0.8/arch/mips/include/asm/page.h
1431--- linux-3.0.7/arch/mips/include/asm/page.h 2011-07-21 22:17:23.000000000 -0400 1109--- linux-3.0.8/arch/mips/include/asm/page.h 2011-07-21 22:17:23.000000000 -0400
1432+++ linux-3.0.7/arch/mips/include/asm/page.h 2011-08-23 21:47:55.000000000 -0400 1110+++ linux-3.0.8/arch/mips/include/asm/page.h 2011-08-23 21:47:55.000000000 -0400
1433@@ -93,7 +93,7 @@ extern void copy_user_highpage(struct pa 1111@@ -93,7 +93,7 @@ extern void copy_user_highpage(struct pa
1434 #ifdef CONFIG_CPU_MIPS32 1112 #ifdef CONFIG_CPU_MIPS32
1435 typedef struct { unsigned long pte_low, pte_high; } pte_t; 1113 typedef struct { unsigned long pte_low, pte_high; } pte_t;
@@ -1439,9 +1117,9 @@ diff -urNp linux-3.0.7/arch/mips/include/asm/page.h linux-3.0.7/arch/mips/includ
1439 #else 1117 #else
1440 typedef struct { unsigned long long pte; } pte_t; 1118 typedef struct { unsigned long long pte; } pte_t;
1441 #define pte_val(x) ((x).pte) 1119 #define pte_val(x) ((x).pte)
1442diff -urNp linux-3.0.7/arch/mips/include/asm/system.h linux-3.0.7/arch/mips/include/asm/system.h 1120diff -urNp linux-3.0.8/arch/mips/include/asm/system.h linux-3.0.8/arch/mips/include/asm/system.h
1443--- linux-3.0.7/arch/mips/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400 1121--- linux-3.0.8/arch/mips/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400
1444+++ linux-3.0.7/arch/mips/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400 1122+++ linux-3.0.8/arch/mips/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400
1445@@ -230,6 +230,6 @@ extern void per_cpu_trap_init(void); 1123@@ -230,6 +230,6 @@ extern void per_cpu_trap_init(void);
1446 */ 1124 */
1447 #define __ARCH_WANT_UNLOCKED_CTXSW 1125 #define __ARCH_WANT_UNLOCKED_CTXSW
@@ -1450,9 +1128,9 @@ diff -urNp linux-3.0.7/arch/mips/include/asm/system.h linux-3.0.7/arch/mips/incl
1450+#define arch_align_stack(x) ((x) & ~0xfUL) 1128+#define arch_align_stack(x) ((x) & ~0xfUL)
1451 1129
1452 #endif /* _ASM_SYSTEM_H */ 1130 #endif /* _ASM_SYSTEM_H */
1453diff -urNp linux-3.0.7/arch/mips/kernel/binfmt_elfn32.c linux-3.0.7/arch/mips/kernel/binfmt_elfn32.c 1131diff -urNp linux-3.0.8/arch/mips/kernel/binfmt_elfn32.c linux-3.0.8/arch/mips/kernel/binfmt_elfn32.c
1454--- linux-3.0.7/arch/mips/kernel/binfmt_elfn32.c 2011-07-21 22:17:23.000000000 -0400 1132--- linux-3.0.8/arch/mips/kernel/binfmt_elfn32.c 2011-07-21 22:17:23.000000000 -0400
1455+++ linux-3.0.7/arch/mips/kernel/binfmt_elfn32.c 2011-08-23 21:47:55.000000000 -0400 1133+++ linux-3.0.8/arch/mips/kernel/binfmt_elfn32.c 2011-08-23 21:47:55.000000000 -0400
1456@@ -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
1457 #undef ELF_ET_DYN_BASE 1135 #undef ELF_ET_DYN_BASE
1458 #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2) 1136 #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2)
@@ -1467,9 +1145,9 @@ diff -urNp linux-3.0.7/arch/mips/kernel/binfmt_elfn32.c linux-3.0.7/arch/mips/ke
1467 #include <asm/processor.h> 1145 #include <asm/processor.h>
1468 #include <linux/module.h> 1146 #include <linux/module.h>
1469 #include <linux/elfcore.h> 1147 #include <linux/elfcore.h>
1470diff -urNp linux-3.0.7/arch/mips/kernel/binfmt_elfo32.c linux-3.0.7/arch/mips/kernel/binfmt_elfo32.c 1148diff -urNp linux-3.0.8/arch/mips/kernel/binfmt_elfo32.c linux-3.0.8/arch/mips/kernel/binfmt_elfo32.c
1471--- linux-3.0.7/arch/mips/kernel/binfmt_elfo32.c 2011-07-21 22:17:23.000000000 -0400 1149--- linux-3.0.8/arch/mips/kernel/binfmt_elfo32.c 2011-07-21 22:17:23.000000000 -0400
1472+++ linux-3.0.7/arch/mips/kernel/binfmt_elfo32.c 2011-08-23 21:47:55.000000000 -0400 1150+++ linux-3.0.8/arch/mips/kernel/binfmt_elfo32.c 2011-08-23 21:47:55.000000000 -0400
1473@@ -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
1474 #undef ELF_ET_DYN_BASE 1152 #undef ELF_ET_DYN_BASE
1475 #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2) 1153 #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2)
@@ -1484,9 +1162,9 @@ diff -urNp linux-3.0.7/arch/mips/kernel/binfmt_elfo32.c linux-3.0.7/arch/mips/ke
1484 #include <asm/processor.h> 1162 #include <asm/processor.h>
1485 1163
1486 /* 1164 /*
1487diff -urNp linux-3.0.7/arch/mips/kernel/process.c linux-3.0.7/arch/mips/kernel/process.c 1165diff -urNp linux-3.0.8/arch/mips/kernel/process.c linux-3.0.8/arch/mips/kernel/process.c
1488--- linux-3.0.7/arch/mips/kernel/process.c 2011-07-21 22:17:23.000000000 -0400 1166--- linux-3.0.8/arch/mips/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
1489+++ linux-3.0.7/arch/mips/kernel/process.c 2011-08-23 21:47:55.000000000 -0400 1167+++ linux-3.0.8/arch/mips/kernel/process.c 2011-08-23 21:47:55.000000000 -0400
1490@@ -473,15 +473,3 @@ unsigned long get_wchan(struct task_stru 1168@@ -473,15 +473,3 @@ unsigned long get_wchan(struct task_stru
1491 out: 1169 out:
1492 return pc; 1170 return pc;
@@ -1503,9 +1181,9 @@ diff -urNp linux-3.0.7/arch/mips/kernel/process.c linux-3.0.7/arch/mips/kernel/p
1503- 1181-
1504- return sp & ALMASK; 1182- return sp & ALMASK;
1505-} 1183-}
1506diff -urNp linux-3.0.7/arch/mips/mm/fault.c linux-3.0.7/arch/mips/mm/fault.c 1184diff -urNp linux-3.0.8/arch/mips/mm/fault.c linux-3.0.8/arch/mips/mm/fault.c
1507--- linux-3.0.7/arch/mips/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 1185--- linux-3.0.8/arch/mips/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
1508+++ linux-3.0.7/arch/mips/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 1186+++ linux-3.0.8/arch/mips/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
1509@@ -28,6 +28,23 @@ 1187@@ -28,6 +28,23 @@
1510 #include <asm/highmem.h> /* For VMALLOC_END */ 1188 #include <asm/highmem.h> /* For VMALLOC_END */
1511 #include <linux/kdebug.h> 1189 #include <linux/kdebug.h>
@@ -1530,9 +1208,9 @@ diff -urNp linux-3.0.7/arch/mips/mm/fault.c linux-3.0.7/arch/mips/mm/fault.c
1530 /* 1208 /*
1531 * This routine handles page faults. It determines the address, 1209 * This routine handles page faults. It determines the address,
1532 * 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
1533diff -urNp linux-3.0.7/arch/mips/mm/mmap.c linux-3.0.7/arch/mips/mm/mmap.c 1211diff -urNp linux-3.0.8/arch/mips/mm/mmap.c linux-3.0.8/arch/mips/mm/mmap.c
1534--- linux-3.0.7/arch/mips/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 1212--- linux-3.0.8/arch/mips/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400
1535+++ linux-3.0.7/arch/mips/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 1213+++ linux-3.0.8/arch/mips/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400
1536@@ -48,14 +48,18 @@ unsigned long arch_get_unmapped_area(str 1214@@ -48,14 +48,18 @@ unsigned long arch_get_unmapped_area(str
1537 do_color_align = 0; 1215 do_color_align = 0;
1538 if (filp || (flags & MAP_SHARED)) 1216 if (filp || (flags & MAP_SHARED))
@@ -1594,9 +1272,9 @@ diff -urNp linux-3.0.7/arch/mips/mm/mmap.c linux-3.0.7/arch/mips/mm/mmap.c
1594- 1272-
1595- return ret; 1273- return ret;
1596-} 1274-}
1597diff -urNp linux-3.0.7/arch/parisc/include/asm/elf.h linux-3.0.7/arch/parisc/include/asm/elf.h 1275diff -urNp linux-3.0.8/arch/parisc/include/asm/elf.h linux-3.0.8/arch/parisc/include/asm/elf.h
1598--- linux-3.0.7/arch/parisc/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 1276--- linux-3.0.8/arch/parisc/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
1599+++ linux-3.0.7/arch/parisc/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 1277+++ linux-3.0.8/arch/parisc/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
1600@@ -342,6 +342,13 @@ struct pt_regs; /* forward declaration.. 1278@@ -342,6 +342,13 @@ struct pt_regs; /* forward declaration..
1601 1279
1602 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x01000000) 1280 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE + 0x01000000)
@@ -1611,9 +1289,9 @@ diff -urNp linux-3.0.7/arch/parisc/include/asm/elf.h linux-3.0.7/arch/parisc/inc
1611 /* 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
1612 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,
1613 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. */
1614diff -urNp linux-3.0.7/arch/parisc/include/asm/pgtable.h linux-3.0.7/arch/parisc/include/asm/pgtable.h 1292diff -urNp linux-3.0.8/arch/parisc/include/asm/pgtable.h linux-3.0.8/arch/parisc/include/asm/pgtable.h
1615--- linux-3.0.7/arch/parisc/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400 1293--- linux-3.0.8/arch/parisc/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400
1616+++ linux-3.0.7/arch/parisc/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400 1294+++ linux-3.0.8/arch/parisc/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400
1617@@ -210,6 +210,17 @@ struct vm_area_struct; 1295@@ -210,6 +210,17 @@ struct vm_area_struct;
1618 #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)
1619 #define PAGE_COPY PAGE_EXECREAD 1297 #define PAGE_COPY PAGE_EXECREAD
@@ -1632,9 +1310,9 @@ diff -urNp linux-3.0.7/arch/parisc/include/asm/pgtable.h linux-3.0.7/arch/parisc
1632 #define PAGE_KERNEL __pgprot(_PAGE_KERNEL) 1310 #define PAGE_KERNEL __pgprot(_PAGE_KERNEL)
1633 #define PAGE_KERNEL_EXEC __pgprot(_PAGE_KERNEL_EXEC) 1311 #define PAGE_KERNEL_EXEC __pgprot(_PAGE_KERNEL_EXEC)
1634 #define PAGE_KERNEL_RWX __pgprot(_PAGE_KERNEL_RWX) 1312 #define PAGE_KERNEL_RWX __pgprot(_PAGE_KERNEL_RWX)
1635diff -urNp linux-3.0.7/arch/parisc/kernel/module.c linux-3.0.7/arch/parisc/kernel/module.c 1313diff -urNp linux-3.0.8/arch/parisc/kernel/module.c linux-3.0.8/arch/parisc/kernel/module.c
1636--- linux-3.0.7/arch/parisc/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 1314--- linux-3.0.8/arch/parisc/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
1637+++ linux-3.0.7/arch/parisc/kernel/module.c 2011-08-23 21:47:55.000000000 -0400 1315+++ linux-3.0.8/arch/parisc/kernel/module.c 2011-08-23 21:47:55.000000000 -0400
1638@@ -98,16 +98,38 @@ 1316@@ -98,16 +98,38 @@
1639 1317
1640 /* three functions to determine where in the module core 1318 /* three functions to determine where in the module core
@@ -1735,9 +1413,9 @@ diff -urNp linux-3.0.7/arch/parisc/kernel/module.c linux-3.0.7/arch/parisc/kerne
1735 1413
1736 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",
1737 me->arch.unwind_section, table, end, gp); 1415 me->arch.unwind_section, table, end, gp);
1738diff -urNp linux-3.0.7/arch/parisc/kernel/sys_parisc.c linux-3.0.7/arch/parisc/kernel/sys_parisc.c 1416diff -urNp linux-3.0.8/arch/parisc/kernel/sys_parisc.c linux-3.0.8/arch/parisc/kernel/sys_parisc.c
1739--- linux-3.0.7/arch/parisc/kernel/sys_parisc.c 2011-07-21 22:17:23.000000000 -0400 1417--- linux-3.0.8/arch/parisc/kernel/sys_parisc.c 2011-07-21 22:17:23.000000000 -0400
1740+++ linux-3.0.7/arch/parisc/kernel/sys_parisc.c 2011-08-23 21:47:55.000000000 -0400 1418+++ linux-3.0.8/arch/parisc/kernel/sys_parisc.c 2011-08-23 21:47:55.000000000 -0400
1741@@ -43,7 +43,7 @@ static unsigned long get_unshared_area(u 1419@@ -43,7 +43,7 @@ static unsigned long get_unshared_area(u
1742 /* At this point: (!vma || addr < vma->vm_end). */ 1420 /* At this point: (!vma || addr < vma->vm_end). */
1743 if (TASK_SIZE - len < addr) 1421 if (TASK_SIZE - len < addr)
@@ -1765,9 +1443,9 @@ diff -urNp linux-3.0.7/arch/parisc/kernel/sys_parisc.c linux-3.0.7/arch/parisc/k
1765 1443
1766 if (filp) { 1444 if (filp) {
1767 addr = get_shared_area(filp->f_mapping, addr, len, pgoff); 1445 addr = get_shared_area(filp->f_mapping, addr, len, pgoff);
1768diff -urNp linux-3.0.7/arch/parisc/kernel/traps.c linux-3.0.7/arch/parisc/kernel/traps.c 1446diff -urNp linux-3.0.8/arch/parisc/kernel/traps.c linux-3.0.8/arch/parisc/kernel/traps.c
1769--- linux-3.0.7/arch/parisc/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400 1447--- linux-3.0.8/arch/parisc/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400
1770+++ linux-3.0.7/arch/parisc/kernel/traps.c 2011-08-23 21:47:55.000000000 -0400 1448+++ linux-3.0.8/arch/parisc/kernel/traps.c 2011-08-23 21:47:55.000000000 -0400
1771@@ -733,9 +733,7 @@ void notrace handle_interruption(int cod 1449@@ -733,9 +733,7 @@ void notrace handle_interruption(int cod
1772 1450
1773 down_read(&current->mm->mmap_sem); 1451 down_read(&current->mm->mmap_sem);
@@ -1779,9 +1457,9 @@ diff -urNp linux-3.0.7/arch/parisc/kernel/traps.c linux-3.0.7/arch/parisc/kernel
1779 fault_address = regs->iaoq[0]; 1457 fault_address = regs->iaoq[0];
1780 fault_space = regs->iasq[0]; 1458 fault_space = regs->iasq[0];
1781 1459
1782diff -urNp linux-3.0.7/arch/parisc/mm/fault.c linux-3.0.7/arch/parisc/mm/fault.c 1460diff -urNp linux-3.0.8/arch/parisc/mm/fault.c linux-3.0.8/arch/parisc/mm/fault.c
1783--- linux-3.0.7/arch/parisc/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 1461--- linux-3.0.8/arch/parisc/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
1784+++ linux-3.0.7/arch/parisc/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 1462+++ linux-3.0.8/arch/parisc/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
1785@@ -15,6 +15,7 @@ 1463@@ -15,6 +15,7 @@
1786 #include <linux/sched.h> 1464 #include <linux/sched.h>
1787 #include <linux/interrupt.h> 1465 #include <linux/interrupt.h>
@@ -1951,9 +1629,9 @@ diff -urNp linux-3.0.7/arch/parisc/mm/fault.c linux-3.0.7/arch/parisc/mm/fault.c
1951 1629
1952 /* 1630 /*
1953 * 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
1954diff -urNp linux-3.0.7/arch/powerpc/include/asm/elf.h linux-3.0.7/arch/powerpc/include/asm/elf.h 1632diff -urNp linux-3.0.8/arch/powerpc/include/asm/elf.h linux-3.0.8/arch/powerpc/include/asm/elf.h
1955--- linux-3.0.7/arch/powerpc/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 1633--- linux-3.0.8/arch/powerpc/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
1956+++ linux-3.0.7/arch/powerpc/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 1634+++ linux-3.0.8/arch/powerpc/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
1957@@ -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
1958 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
1959 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. */
@@ -1986,9 +1664,9 @@ diff -urNp linux-3.0.7/arch/powerpc/include/asm/elf.h linux-3.0.7/arch/powerpc/i
1986 #endif /* __KERNEL__ */ 1664 #endif /* __KERNEL__ */
1987 1665
1988 /* 1666 /*
1989diff -urNp linux-3.0.7/arch/powerpc/include/asm/kmap_types.h linux-3.0.7/arch/powerpc/include/asm/kmap_types.h 1667diff -urNp linux-3.0.8/arch/powerpc/include/asm/kmap_types.h linux-3.0.8/arch/powerpc/include/asm/kmap_types.h
1990--- linux-3.0.7/arch/powerpc/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400 1668--- linux-3.0.8/arch/powerpc/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400
1991+++ linux-3.0.7/arch/powerpc/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400 1669+++ linux-3.0.8/arch/powerpc/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400
1992@@ -27,6 +27,7 @@ enum km_type { 1670@@ -27,6 +27,7 @@ enum km_type {
1993 KM_PPC_SYNC_PAGE, 1671 KM_PPC_SYNC_PAGE,
1994 KM_PPC_SYNC_ICACHE, 1672 KM_PPC_SYNC_ICACHE,
@@ -1997,9 +1675,9 @@ diff -urNp linux-3.0.7/arch/powerpc/include/asm/kmap_types.h linux-3.0.7/arch/po
1997 KM_TYPE_NR 1675 KM_TYPE_NR
1998 }; 1676 };
1999 1677
2000diff -urNp linux-3.0.7/arch/powerpc/include/asm/mman.h linux-3.0.7/arch/powerpc/include/asm/mman.h 1678diff -urNp linux-3.0.8/arch/powerpc/include/asm/mman.h linux-3.0.8/arch/powerpc/include/asm/mman.h
2001--- linux-3.0.7/arch/powerpc/include/asm/mman.h 2011-07-21 22:17:23.000000000 -0400 1679--- linux-3.0.8/arch/powerpc/include/asm/mman.h 2011-07-21 22:17:23.000000000 -0400
2002+++ linux-3.0.7/arch/powerpc/include/asm/mman.h 2011-08-23 21:47:55.000000000 -0400 1680+++ linux-3.0.8/arch/powerpc/include/asm/mman.h 2011-08-23 21:47:55.000000000 -0400
2003@@ -44,7 +44,7 @@ static inline unsigned long arch_calc_vm 1681@@ -44,7 +44,7 @@ static inline unsigned long arch_calc_vm
2004 } 1682 }
2005 #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)
@@ -2009,9 +1687,33 @@ diff -urNp linux-3.0.7/arch/powerpc/include/asm/mman.h linux-3.0.7/arch/powerpc/
2009 { 1687 {
2010 return (vm_flags & VM_SAO) ? __pgprot(_PAGE_SAO) : __pgprot(0); 1688 return (vm_flags & VM_SAO) ? __pgprot(_PAGE_SAO) : __pgprot(0);
2011 } 1689 }
2012diff -urNp linux-3.0.7/arch/powerpc/include/asm/page.h linux-3.0.7/arch/powerpc/include/asm/page.h 1690diff -urNp linux-3.0.8/arch/powerpc/include/asm/page_64.h linux-3.0.8/arch/powerpc/include/asm/page_64.h
2013--- linux-3.0.7/arch/powerpc/include/asm/page.h 2011-07-21 22:17:23.000000000 -0400 1691--- linux-3.0.8/arch/powerpc/include/asm/page_64.h 2011-07-21 22:17:23.000000000 -0400
2014+++ linux-3.0.7/arch/powerpc/include/asm/page.h 2011-08-23 21:47:55.000000000 -0400 1692+++ linux-3.0.8/arch/powerpc/include/asm/page_64.h 2011-08-23 21:47:55.000000000 -0400
1693@@ -155,15 +155,18 @@ do { \
1694 * stack by default, so in the absence of a PT_GNU_STACK program header
1695 * we turn execute permission off.
1696 */
1697-#define VM_STACK_DEFAULT_FLAGS32 (VM_READ | VM_WRITE | VM_EXEC | \
1698- VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
1699+#define VM_STACK_DEFAULT_FLAGS32 \
1700+ (((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0) | \
1701+ VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
1702
1703 #define VM_STACK_DEFAULT_FLAGS64 (VM_READ | VM_WRITE | \
1704 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
1705
1706+#ifndef CONFIG_PAX_PAGEEXEC
1707 #define VM_STACK_DEFAULT_FLAGS \
1708 (is_32bit_task() ? \
1709 VM_STACK_DEFAULT_FLAGS32 : VM_STACK_DEFAULT_FLAGS64)
1710+#endif
1711
1712 #include <asm-generic/getorder.h>
1713
1714diff -urNp linux-3.0.8/arch/powerpc/include/asm/page.h linux-3.0.8/arch/powerpc/include/asm/page.h
1715--- linux-3.0.8/arch/powerpc/include/asm/page.h 2011-07-21 22:17:23.000000000 -0400
1716+++ linux-3.0.8/arch/powerpc/include/asm/page.h 2011-08-23 21:47:55.000000000 -0400
2015@@ -129,8 +129,9 @@ extern phys_addr_t kernstart_addr; 1717@@ -129,8 +129,9 @@ extern phys_addr_t kernstart_addr;
2016 * and needs to be executable. This means the whole heap ends 1718 * and needs to be executable. This means the whole heap ends
2017 * up being executable. 1719 * up being executable.
@@ -2034,33 +1736,9 @@ diff -urNp linux-3.0.7/arch/powerpc/include/asm/page.h linux-3.0.7/arch/powerpc/
2034 #ifndef __ASSEMBLY__ 1736 #ifndef __ASSEMBLY__
2035 1737
2036 #undef STRICT_MM_TYPECHECKS 1738 #undef STRICT_MM_TYPECHECKS
2037diff -urNp linux-3.0.7/arch/powerpc/include/asm/page_64.h linux-3.0.7/arch/powerpc/include/asm/page_64.h 1739diff -urNp linux-3.0.8/arch/powerpc/include/asm/pgtable.h linux-3.0.8/arch/powerpc/include/asm/pgtable.h
2038--- linux-3.0.7/arch/powerpc/include/asm/page_64.h 2011-07-21 22:17:23.000000000 -0400 1740--- linux-3.0.8/arch/powerpc/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400
2039+++ linux-3.0.7/arch/powerpc/include/asm/page_64.h 2011-08-23 21:47:55.000000000 -0400 1741+++ linux-3.0.8/arch/powerpc/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400
2040@@ -155,15 +155,18 @@ do { \
2041 * stack by default, so in the absence of a PT_GNU_STACK program header
2042 * we turn execute permission off.
2043 */
2044-#define VM_STACK_DEFAULT_FLAGS32 (VM_READ | VM_WRITE | VM_EXEC | \
2045- VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
2046+#define VM_STACK_DEFAULT_FLAGS32 \
2047+ (((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0) | \
2048+ VM_READ | VM_WRITE | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
2049
2050 #define VM_STACK_DEFAULT_FLAGS64 (VM_READ | VM_WRITE | \
2051 VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
2052
2053+#ifndef CONFIG_PAX_PAGEEXEC
2054 #define VM_STACK_DEFAULT_FLAGS \
2055 (is_32bit_task() ? \
2056 VM_STACK_DEFAULT_FLAGS32 : VM_STACK_DEFAULT_FLAGS64)
2057+#endif
2058
2059 #include <asm-generic/getorder.h>
2060
2061diff -urNp linux-3.0.7/arch/powerpc/include/asm/pgtable.h linux-3.0.7/arch/powerpc/include/asm/pgtable.h
2062--- linux-3.0.7/arch/powerpc/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400
2063+++ linux-3.0.7/arch/powerpc/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400
2064@@ -2,6 +2,7 @@ 1742@@ -2,6 +2,7 @@
2065 #define _ASM_POWERPC_PGTABLE_H 1743 #define _ASM_POWERPC_PGTABLE_H
2066 #ifdef __KERNEL__ 1744 #ifdef __KERNEL__
@@ -2069,9 +1747,9 @@ diff -urNp linux-3.0.7/arch/powerpc/include/asm/pgtable.h linux-3.0.7/arch/power
2069 #ifndef __ASSEMBLY__ 1747 #ifndef __ASSEMBLY__
2070 #include <asm/processor.h> /* For TASK_SIZE */ 1748 #include <asm/processor.h> /* For TASK_SIZE */
2071 #include <asm/mmu.h> 1749 #include <asm/mmu.h>
2072diff -urNp linux-3.0.7/arch/powerpc/include/asm/pte-hash32.h linux-3.0.7/arch/powerpc/include/asm/pte-hash32.h 1750diff -urNp linux-3.0.8/arch/powerpc/include/asm/pte-hash32.h linux-3.0.8/arch/powerpc/include/asm/pte-hash32.h
2073--- linux-3.0.7/arch/powerpc/include/asm/pte-hash32.h 2011-07-21 22:17:23.000000000 -0400 1751--- linux-3.0.8/arch/powerpc/include/asm/pte-hash32.h 2011-07-21 22:17:23.000000000 -0400
2074+++ linux-3.0.7/arch/powerpc/include/asm/pte-hash32.h 2011-08-23 21:47:55.000000000 -0400 1752+++ linux-3.0.8/arch/powerpc/include/asm/pte-hash32.h 2011-08-23 21:47:55.000000000 -0400
2075@@ -21,6 +21,7 @@ 1753@@ -21,6 +21,7 @@
2076 #define _PAGE_FILE 0x004 /* when !present: nonlinear file mapping */ 1754 #define _PAGE_FILE 0x004 /* when !present: nonlinear file mapping */
2077 #define _PAGE_USER 0x004 /* usermode access allowed */ 1755 #define _PAGE_USER 0x004 /* usermode access allowed */
@@ -2080,9 +1758,9 @@ diff -urNp linux-3.0.7/arch/powerpc/include/asm/pte-hash32.h linux-3.0.7/arch/po
2080 #define _PAGE_COHERENT 0x010 /* M: enforce memory coherence (SMP systems) */ 1758 #define _PAGE_COHERENT 0x010 /* M: enforce memory coherence (SMP systems) */
2081 #define _PAGE_NO_CACHE 0x020 /* I: cache inhibit */ 1759 #define _PAGE_NO_CACHE 0x020 /* I: cache inhibit */
2082 #define _PAGE_WRITETHRU 0x040 /* W: cache write-through */ 1760 #define _PAGE_WRITETHRU 0x040 /* W: cache write-through */
2083diff -urNp linux-3.0.7/arch/powerpc/include/asm/reg.h linux-3.0.7/arch/powerpc/include/asm/reg.h 1761diff -urNp linux-3.0.8/arch/powerpc/include/asm/reg.h linux-3.0.8/arch/powerpc/include/asm/reg.h
2084--- linux-3.0.7/arch/powerpc/include/asm/reg.h 2011-07-21 22:17:23.000000000 -0400 1762--- linux-3.0.8/arch/powerpc/include/asm/reg.h 2011-07-21 22:17:23.000000000 -0400
2085+++ linux-3.0.7/arch/powerpc/include/asm/reg.h 2011-08-23 21:47:55.000000000 -0400 1763+++ linux-3.0.8/arch/powerpc/include/asm/reg.h 2011-08-23 21:47:55.000000000 -0400
2086@@ -209,6 +209,7 @@ 1764@@ -209,6 +209,7 @@
2087 #define SPRN_DBCR 0x136 /* e300 Data Breakpoint Control Reg */ 1765 #define SPRN_DBCR 0x136 /* e300 Data Breakpoint Control Reg */
2088 #define SPRN_DSISR 0x012 /* Data Storage Interrupt Status Register */ 1766 #define SPRN_DSISR 0x012 /* Data Storage Interrupt Status Register */
@@ -2091,9 +1769,9 @@ diff -urNp linux-3.0.7/arch/powerpc/include/asm/reg.h linux-3.0.7/arch/powerpc/i
2091 #define DSISR_PROTFAULT 0x08000000 /* protection fault */ 1769 #define DSISR_PROTFAULT 0x08000000 /* protection fault */
2092 #define DSISR_ISSTORE 0x02000000 /* access was a store */ 1770 #define DSISR_ISSTORE 0x02000000 /* access was a store */
2093 #define DSISR_DABRMATCH 0x00400000 /* hit data breakpoint */ 1771 #define DSISR_DABRMATCH 0x00400000 /* hit data breakpoint */
2094diff -urNp linux-3.0.7/arch/powerpc/include/asm/system.h linux-3.0.7/arch/powerpc/include/asm/system.h 1772diff -urNp linux-3.0.8/arch/powerpc/include/asm/system.h linux-3.0.8/arch/powerpc/include/asm/system.h
2095--- linux-3.0.7/arch/powerpc/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400 1773--- linux-3.0.8/arch/powerpc/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400
2096+++ linux-3.0.7/arch/powerpc/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400 1774+++ linux-3.0.8/arch/powerpc/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400
2097@@ -531,7 +531,7 @@ __cmpxchg_local(volatile void *ptr, unsi 1775@@ -531,7 +531,7 @@ __cmpxchg_local(volatile void *ptr, unsi
2098 #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))
2099 #endif 1777 #endif
@@ -2103,9 +1781,9 @@ diff -urNp linux-3.0.7/arch/powerpc/include/asm/system.h linux-3.0.7/arch/powerp
2103 1781
2104 /* Used in very early kernel initialization. */ 1782 /* Used in very early kernel initialization. */
2105 extern unsigned long reloc_offset(void); 1783 extern unsigned long reloc_offset(void);
2106diff -urNp linux-3.0.7/arch/powerpc/include/asm/uaccess.h linux-3.0.7/arch/powerpc/include/asm/uaccess.h 1784diff -urNp linux-3.0.8/arch/powerpc/include/asm/uaccess.h linux-3.0.8/arch/powerpc/include/asm/uaccess.h
2107--- linux-3.0.7/arch/powerpc/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400 1785--- linux-3.0.8/arch/powerpc/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400
2108+++ linux-3.0.7/arch/powerpc/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400 1786+++ linux-3.0.8/arch/powerpc/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400
2109@@ -13,6 +13,8 @@ 1787@@ -13,6 +13,8 @@
2110 #define VERIFY_READ 0 1788 #define VERIFY_READ 0
2111 #define VERIFY_WRITE 1 1789 #define VERIFY_WRITE 1
@@ -2283,9 +1961,9 @@ diff -urNp linux-3.0.7/arch/powerpc/include/asm/uaccess.h linux-3.0.7/arch/power
2283 extern unsigned long __clear_user(void __user *addr, unsigned long size); 1961 extern unsigned long __clear_user(void __user *addr, unsigned long size);
2284 1962
2285 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)
2286diff -urNp linux-3.0.7/arch/powerpc/kernel/exceptions-64e.S linux-3.0.7/arch/powerpc/kernel/exceptions-64e.S 1964diff -urNp linux-3.0.8/arch/powerpc/kernel/exceptions-64e.S linux-3.0.8/arch/powerpc/kernel/exceptions-64e.S
2287--- linux-3.0.7/arch/powerpc/kernel/exceptions-64e.S 2011-07-21 22:17:23.000000000 -0400 1965--- linux-3.0.8/arch/powerpc/kernel/exceptions-64e.S 2011-07-21 22:17:23.000000000 -0400
2288+++ linux-3.0.7/arch/powerpc/kernel/exceptions-64e.S 2011-08-23 21:47:55.000000000 -0400 1966+++ linux-3.0.8/arch/powerpc/kernel/exceptions-64e.S 2011-08-23 21:47:55.000000000 -0400
2289@@ -567,6 +567,7 @@ storage_fault_common: 1967@@ -567,6 +567,7 @@ storage_fault_common:
2290 std r14,_DAR(r1) 1968 std r14,_DAR(r1)
2291 std r15,_DSISR(r1) 1969 std r15,_DSISR(r1)
@@ -2304,9 +1982,9 @@ diff -urNp linux-3.0.7/arch/powerpc/kernel/exceptions-64e.S linux-3.0.7/arch/pow
2304 addi r3,r1,STACK_FRAME_OVERHEAD 1982 addi r3,r1,STACK_FRAME_OVERHEAD
2305 ld r4,_DAR(r1) 1983 ld r4,_DAR(r1)
2306 bl .bad_page_fault 1984 bl .bad_page_fault
2307diff -urNp linux-3.0.7/arch/powerpc/kernel/exceptions-64s.S linux-3.0.7/arch/powerpc/kernel/exceptions-64s.S 1985diff -urNp linux-3.0.8/arch/powerpc/kernel/exceptions-64s.S linux-3.0.8/arch/powerpc/kernel/exceptions-64s.S
2308--- linux-3.0.7/arch/powerpc/kernel/exceptions-64s.S 2011-07-21 22:17:23.000000000 -0400 1986--- linux-3.0.8/arch/powerpc/kernel/exceptions-64s.S 2011-07-21 22:17:23.000000000 -0400
2309+++ linux-3.0.7/arch/powerpc/kernel/exceptions-64s.S 2011-08-23 21:47:55.000000000 -0400 1987+++ linux-3.0.8/arch/powerpc/kernel/exceptions-64s.S 2011-08-23 21:47:55.000000000 -0400
2310@@ -956,10 +956,10 @@ handle_page_fault: 1988@@ -956,10 +956,10 @@ handle_page_fault:
2311 11: ld r4,_DAR(r1) 1989 11: ld r4,_DAR(r1)
2312 ld r5,_DSISR(r1) 1990 ld r5,_DSISR(r1)
@@ -2319,9 +1997,41 @@ diff -urNp linux-3.0.7/arch/powerpc/kernel/exceptions-64s.S linux-3.0.7/arch/pow
2319 mr r5,r3 1997 mr r5,r3
2320 addi r3,r1,STACK_FRAME_OVERHEAD 1998 addi r3,r1,STACK_FRAME_OVERHEAD
2321 lwz r4,_DAR(r1) 1999 lwz r4,_DAR(r1)
2322diff -urNp linux-3.0.7/arch/powerpc/kernel/module.c linux-3.0.7/arch/powerpc/kernel/module.c 2000diff -urNp linux-3.0.8/arch/powerpc/kernel/module_32.c linux-3.0.8/arch/powerpc/kernel/module_32.c
2323--- linux-3.0.7/arch/powerpc/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 2001--- linux-3.0.8/arch/powerpc/kernel/module_32.c 2011-07-21 22:17:23.000000000 -0400
2324+++ linux-3.0.7/arch/powerpc/kernel/module.c 2011-08-23 21:47:55.000000000 -0400 2002+++ linux-3.0.8/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
2004 me->arch.core_plt_section = i;
2005 }
2006 if (!me->arch.core_plt_section || !me->arch.init_plt_section) {
2007- printk("Module doesn't contain .plt or .init.plt sections.\n");
2008+ printk("Module %s doesn't contain .plt or .init.plt sections.\n", me->name);
2009 return -ENOEXEC;
2010 }
2011
2012@@ -203,11 +203,16 @@ static uint32_t do_plt_call(void *locati
2013
2014 DEBUGP("Doing plt for call to 0x%x at 0x%x\n", val, (unsigned int)location);
2015 /* Init, or core PLT? */
2016- if (location >= mod->module_core
2017- && location < mod->module_core + mod->core_size)
2018+ if ((location >= mod->module_core_rx && location < mod->module_core_rx + mod->core_size_rx) ||
2019+ (location >= mod->module_core_rw && location < mod->module_core_rw + mod->core_size_rw))
2020 entry = (void *)sechdrs[mod->arch.core_plt_section].sh_addr;
2021- else
2022+ else if ((location >= mod->module_init_rx && location < mod->module_init_rx + mod->init_size_rx) ||
2023+ (location >= mod->module_init_rw && location < mod->module_init_rw + mod->init_size_rw))
2024 entry = (void *)sechdrs[mod->arch.init_plt_section].sh_addr;
2025+ else {
2026+ printk(KERN_ERR "%s: invalid R_PPC_REL24 entry found\n", mod->name);
2027+ return ~0UL;
2028+ }
2029
2030 /* Find this entry, or if that fails, the next avail. entry */
2031 while (entry->jump[0]) {
2032diff -urNp linux-3.0.8/arch/powerpc/kernel/module.c linux-3.0.8/arch/powerpc/kernel/module.c
2033--- linux-3.0.8/arch/powerpc/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
2034+++ linux-3.0.8/arch/powerpc/kernel/module.c 2011-08-23 21:47:55.000000000 -0400
2325@@ -31,11 +31,24 @@ 2035@@ -31,11 +31,24 @@
2326 2036
2327 LIST_HEAD(module_bug_list); 2037 LIST_HEAD(module_bug_list);
@@ -2361,41 +2071,9 @@ diff -urNp linux-3.0.7/arch/powerpc/kernel/module.c linux-3.0.7/arch/powerpc/ker
2361 static const Elf_Shdr *find_section(const Elf_Ehdr *hdr, 2071 static const Elf_Shdr *find_section(const Elf_Ehdr *hdr,
2362 const Elf_Shdr *sechdrs, 2072 const Elf_Shdr *sechdrs,
2363 const char *name) 2073 const char *name)
2364diff -urNp linux-3.0.7/arch/powerpc/kernel/module_32.c linux-3.0.7/arch/powerpc/kernel/module_32.c 2074diff -urNp linux-3.0.8/arch/powerpc/kernel/process.c linux-3.0.8/arch/powerpc/kernel/process.c
2365--- linux-3.0.7/arch/powerpc/kernel/module_32.c 2011-07-21 22:17:23.000000000 -0400 2075--- linux-3.0.8/arch/powerpc/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
2366+++ linux-3.0.7/arch/powerpc/kernel/module_32.c 2011-08-23 21:47:55.000000000 -0400 2076+++ linux-3.0.8/arch/powerpc/kernel/process.c 2011-08-23 21:48:14.000000000 -0400
2367@@ -162,7 +162,7 @@ int module_frob_arch_sections(Elf32_Ehdr
2368 me->arch.core_plt_section = i;
2369 }
2370 if (!me->arch.core_plt_section || !me->arch.init_plt_section) {
2371- printk("Module doesn't contain .plt or .init.plt sections.\n");
2372+ printk("Module %s doesn't contain .plt or .init.plt sections.\n", me->name);
2373 return -ENOEXEC;
2374 }
2375
2376@@ -203,11 +203,16 @@ static uint32_t do_plt_call(void *locati
2377
2378 DEBUGP("Doing plt for call to 0x%x at 0x%x\n", val, (unsigned int)location);
2379 /* Init, or core PLT? */
2380- if (location >= mod->module_core
2381- && location < mod->module_core + mod->core_size)
2382+ if ((location >= mod->module_core_rx && location < mod->module_core_rx + mod->core_size_rx) ||
2383+ (location >= mod->module_core_rw && location < mod->module_core_rw + mod->core_size_rw))
2384 entry = (void *)sechdrs[mod->arch.core_plt_section].sh_addr;
2385- else
2386+ else if ((location >= mod->module_init_rx && location < mod->module_init_rx + mod->init_size_rx) ||
2387+ (location >= mod->module_init_rw && location < mod->module_init_rw + mod->init_size_rw))
2388 entry = (void *)sechdrs[mod->arch.init_plt_section].sh_addr;
2389+ else {
2390+ printk(KERN_ERR "%s: invalid R_PPC_REL24 entry found\n", mod->name);
2391+ return ~0UL;
2392+ }
2393
2394 /* Find this entry, or if that fails, the next avail. entry */
2395 while (entry->jump[0]) {
2396diff -urNp linux-3.0.7/arch/powerpc/kernel/process.c linux-3.0.7/arch/powerpc/kernel/process.c
2397--- linux-3.0.7/arch/powerpc/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
2398+++ linux-3.0.7/arch/powerpc/kernel/process.c 2011-08-23 21:48:14.000000000 -0400
2399@@ -676,8 +676,8 @@ void show_regs(struct pt_regs * regs) 2077@@ -676,8 +676,8 @@ void show_regs(struct pt_regs * regs)
2400 * 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
2401 * above info out without failing 2079 * above info out without failing
@@ -2488,9 +2166,9 @@ diff -urNp linux-3.0.7/arch/powerpc/kernel/process.c linux-3.0.7/arch/powerpc/ke
2488- 2166-
2489- return ret; 2167- return ret;
2490-} 2168-}
2491diff -urNp linux-3.0.7/arch/powerpc/kernel/signal_32.c linux-3.0.7/arch/powerpc/kernel/signal_32.c 2169diff -urNp linux-3.0.8/arch/powerpc/kernel/signal_32.c linux-3.0.8/arch/powerpc/kernel/signal_32.c
2492--- linux-3.0.7/arch/powerpc/kernel/signal_32.c 2011-07-21 22:17:23.000000000 -0400 2170--- linux-3.0.8/arch/powerpc/kernel/signal_32.c 2011-07-21 22:17:23.000000000 -0400
2493+++ linux-3.0.7/arch/powerpc/kernel/signal_32.c 2011-08-23 21:47:55.000000000 -0400 2171+++ linux-3.0.8/arch/powerpc/kernel/signal_32.c 2011-08-23 21:47:55.000000000 -0400
2494@@ -859,7 +859,7 @@ int handle_rt_signal32(unsigned long sig 2172@@ -859,7 +859,7 @@ int handle_rt_signal32(unsigned long sig
2495 /* Save user registers on the stack */ 2173 /* Save user registers on the stack */
2496 frame = &rt_sf->uc.uc_mcontext; 2174 frame = &rt_sf->uc.uc_mcontext;
@@ -2500,9 +2178,9 @@ diff -urNp linux-3.0.7/arch/powerpc/kernel/signal_32.c linux-3.0.7/arch/powerpc/
2500 if (save_user_regs(regs, frame, 0, 1)) 2178 if (save_user_regs(regs, frame, 0, 1))
2501 goto badframe; 2179 goto badframe;
2502 regs->link = current->mm->context.vdso_base + vdso32_rt_sigtramp; 2180 regs->link = current->mm->context.vdso_base + vdso32_rt_sigtramp;
2503diff -urNp linux-3.0.7/arch/powerpc/kernel/signal_64.c linux-3.0.7/arch/powerpc/kernel/signal_64.c 2181diff -urNp linux-3.0.8/arch/powerpc/kernel/signal_64.c linux-3.0.8/arch/powerpc/kernel/signal_64.c
2504--- linux-3.0.7/arch/powerpc/kernel/signal_64.c 2011-07-21 22:17:23.000000000 -0400 2182--- linux-3.0.8/arch/powerpc/kernel/signal_64.c 2011-07-21 22:17:23.000000000 -0400
2505+++ linux-3.0.7/arch/powerpc/kernel/signal_64.c 2011-08-23 21:47:55.000000000 -0400 2183+++ linux-3.0.8/arch/powerpc/kernel/signal_64.c 2011-08-23 21:47:55.000000000 -0400
2506@@ -430,7 +430,7 @@ int handle_rt_signal64(int signr, struct 2184@@ -430,7 +430,7 @@ int handle_rt_signal64(int signr, struct
2507 current->thread.fpscr.val = 0; 2185 current->thread.fpscr.val = 0;
2508 2186
@@ -2512,9 +2190,9 @@ diff -urNp linux-3.0.7/arch/powerpc/kernel/signal_64.c linux-3.0.7/arch/powerpc/
2512 regs->link = current->mm->context.vdso_base + vdso64_rt_sigtramp; 2190 regs->link = current->mm->context.vdso_base + vdso64_rt_sigtramp;
2513 } else { 2191 } else {
2514 err |= setup_trampoline(__NR_rt_sigreturn, &frame->tramp[0]); 2192 err |= setup_trampoline(__NR_rt_sigreturn, &frame->tramp[0]);
2515diff -urNp linux-3.0.7/arch/powerpc/kernel/traps.c linux-3.0.7/arch/powerpc/kernel/traps.c 2193diff -urNp linux-3.0.8/arch/powerpc/kernel/traps.c linux-3.0.8/arch/powerpc/kernel/traps.c
2516--- linux-3.0.7/arch/powerpc/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400 2194--- linux-3.0.8/arch/powerpc/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400
2517+++ linux-3.0.7/arch/powerpc/kernel/traps.c 2011-08-23 21:48:14.000000000 -0400 2195+++ linux-3.0.8/arch/powerpc/kernel/traps.c 2011-08-23 21:48:14.000000000 -0400
2518@@ -98,6 +98,8 @@ static void pmac_backlight_unblank(void) 2196@@ -98,6 +98,8 @@ static void pmac_backlight_unblank(void)
2519 static inline void pmac_backlight_unblank(void) { } 2197 static inline void pmac_backlight_unblank(void) { }
2520 #endif 2198 #endif
@@ -2533,9 +2211,9 @@ diff -urNp linux-3.0.7/arch/powerpc/kernel/traps.c linux-3.0.7/arch/powerpc/kern
2533 oops_exit(); 2211 oops_exit();
2534 do_exit(err); 2212 do_exit(err);
2535 2213
2536diff -urNp linux-3.0.7/arch/powerpc/kernel/vdso.c linux-3.0.7/arch/powerpc/kernel/vdso.c 2214diff -urNp linux-3.0.8/arch/powerpc/kernel/vdso.c linux-3.0.8/arch/powerpc/kernel/vdso.c
2537--- linux-3.0.7/arch/powerpc/kernel/vdso.c 2011-07-21 22:17:23.000000000 -0400 2215--- linux-3.0.8/arch/powerpc/kernel/vdso.c 2011-07-21 22:17:23.000000000 -0400
2538+++ linux-3.0.7/arch/powerpc/kernel/vdso.c 2011-08-23 21:47:55.000000000 -0400 2216+++ linux-3.0.8/arch/powerpc/kernel/vdso.c 2011-08-23 21:47:55.000000000 -0400
2539@@ -36,6 +36,7 @@ 2217@@ -36,6 +36,7 @@
2540 #include <asm/firmware.h> 2218 #include <asm/firmware.h>
2541 #include <asm/vdso.h> 2219 #include <asm/vdso.h>
@@ -2562,9 +2240,9 @@ diff -urNp linux-3.0.7/arch/powerpc/kernel/vdso.c linux-3.0.7/arch/powerpc/kerne
2562 if (IS_ERR_VALUE(vdso_base)) { 2240 if (IS_ERR_VALUE(vdso_base)) {
2563 rc = vdso_base; 2241 rc = vdso_base;
2564 goto fail_mmapsem; 2242 goto fail_mmapsem;
2565diff -urNp linux-3.0.7/arch/powerpc/lib/usercopy_64.c linux-3.0.7/arch/powerpc/lib/usercopy_64.c 2243diff -urNp linux-3.0.8/arch/powerpc/lib/usercopy_64.c linux-3.0.8/arch/powerpc/lib/usercopy_64.c
2566--- linux-3.0.7/arch/powerpc/lib/usercopy_64.c 2011-07-21 22:17:23.000000000 -0400 2244--- linux-3.0.8/arch/powerpc/lib/usercopy_64.c 2011-07-21 22:17:23.000000000 -0400
2567+++ linux-3.0.7/arch/powerpc/lib/usercopy_64.c 2011-08-23 21:47:55.000000000 -0400 2245+++ linux-3.0.8/arch/powerpc/lib/usercopy_64.c 2011-08-23 21:47:55.000000000 -0400
2568@@ -9,22 +9,6 @@ 2246@@ -9,22 +9,6 @@
2569 #include <linux/module.h> 2247 #include <linux/module.h>
2570 #include <asm/uaccess.h> 2248 #include <asm/uaccess.h>
@@ -2596,9 +2274,9 @@ diff -urNp linux-3.0.7/arch/powerpc/lib/usercopy_64.c linux-3.0.7/arch/powerpc/l
2596-EXPORT_SYMBOL(copy_to_user); 2274-EXPORT_SYMBOL(copy_to_user);
2597 EXPORT_SYMBOL(copy_in_user); 2275 EXPORT_SYMBOL(copy_in_user);
2598 2276
2599diff -urNp linux-3.0.7/arch/powerpc/mm/fault.c linux-3.0.7/arch/powerpc/mm/fault.c 2277diff -urNp linux-3.0.8/arch/powerpc/mm/fault.c linux-3.0.8/arch/powerpc/mm/fault.c
2600--- linux-3.0.7/arch/powerpc/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 2278--- linux-3.0.8/arch/powerpc/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
2601+++ linux-3.0.7/arch/powerpc/mm/fault.c 2011-08-23 21:47:55.000000000 -0400 2279+++ linux-3.0.8/arch/powerpc/mm/fault.c 2011-08-23 21:47:55.000000000 -0400
2602@@ -32,6 +32,10 @@ 2280@@ -32,6 +32,10 @@
2603 #include <linux/perf_event.h> 2281 #include <linux/perf_event.h>
2604 #include <linux/magic.h> 2282 #include <linux/magic.h>
@@ -2703,9 +2381,9 @@ diff -urNp linux-3.0.7/arch/powerpc/mm/fault.c linux-3.0.7/arch/powerpc/mm/fault
2703 _exception(SIGSEGV, regs, code, address); 2381 _exception(SIGSEGV, regs, code, address);
2704 return 0; 2382 return 0;
2705 } 2383 }
2706diff -urNp linux-3.0.7/arch/powerpc/mm/mmap_64.c linux-3.0.7/arch/powerpc/mm/mmap_64.c 2384diff -urNp linux-3.0.8/arch/powerpc/mm/mmap_64.c linux-3.0.8/arch/powerpc/mm/mmap_64.c
2707--- linux-3.0.7/arch/powerpc/mm/mmap_64.c 2011-07-21 22:17:23.000000000 -0400 2385--- linux-3.0.8/arch/powerpc/mm/mmap_64.c 2011-07-21 22:17:23.000000000 -0400
2708+++ linux-3.0.7/arch/powerpc/mm/mmap_64.c 2011-08-23 21:47:55.000000000 -0400 2386+++ linux-3.0.8/arch/powerpc/mm/mmap_64.c 2011-08-23 21:47:55.000000000 -0400
2709@@ -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
2710 */ 2388 */
2711 if (mmap_is_legacy()) { 2389 if (mmap_is_legacy()) {
@@ -2729,9 +2407,9 @@ diff -urNp linux-3.0.7/arch/powerpc/mm/mmap_64.c linux-3.0.7/arch/powerpc/mm/mma
2729 mm->get_unmapped_area = arch_get_unmapped_area_topdown; 2407 mm->get_unmapped_area = arch_get_unmapped_area_topdown;
2730 mm->unmap_area = arch_unmap_area_topdown; 2408 mm->unmap_area = arch_unmap_area_topdown;
2731 } 2409 }
2732diff -urNp linux-3.0.7/arch/powerpc/mm/slice.c linux-3.0.7/arch/powerpc/mm/slice.c 2410diff -urNp linux-3.0.8/arch/powerpc/mm/slice.c linux-3.0.8/arch/powerpc/mm/slice.c
2733--- linux-3.0.7/arch/powerpc/mm/slice.c 2011-07-21 22:17:23.000000000 -0400 2411--- linux-3.0.8/arch/powerpc/mm/slice.c 2011-07-21 22:17:23.000000000 -0400
2734+++ linux-3.0.7/arch/powerpc/mm/slice.c 2011-08-23 21:47:55.000000000 -0400 2412+++ linux-3.0.8/arch/powerpc/mm/slice.c 2011-08-23 21:47:55.000000000 -0400
2735@@ -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_
2736 if ((mm->task_size - len) < addr) 2414 if ((mm->task_size - len) < addr)
2737 return 0; 2415 return 0;
@@ -2798,9 +2476,9 @@ diff -urNp linux-3.0.7/arch/powerpc/mm/slice.c linux-3.0.7/arch/powerpc/mm/slice
2798 /* If hint, make sure it matches our alignment restrictions */ 2476 /* If hint, make sure it matches our alignment restrictions */
2799 if (!fixed && addr) { 2477 if (!fixed && addr) {
2800 addr = _ALIGN_UP(addr, 1ul << pshift); 2478 addr = _ALIGN_UP(addr, 1ul << pshift);
2801diff -urNp linux-3.0.7/arch/s390/include/asm/elf.h linux-3.0.7/arch/s390/include/asm/elf.h 2479diff -urNp linux-3.0.8/arch/s390/include/asm/elf.h linux-3.0.8/arch/s390/include/asm/elf.h
2802--- linux-3.0.7/arch/s390/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 2480--- linux-3.0.8/arch/s390/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
2803+++ linux-3.0.7/arch/s390/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 2481+++ linux-3.0.8/arch/s390/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
2804@@ -162,8 +162,14 @@ extern unsigned int vdso_enabled; 2482@@ -162,8 +162,14 @@ extern unsigned int vdso_enabled;
2805 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
2806 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. */
@@ -2826,9 +2504,9 @@ diff -urNp linux-3.0.7/arch/s390/include/asm/elf.h linux-3.0.7/arch/s390/include
2826-#define arch_randomize_brk arch_randomize_brk 2504-#define arch_randomize_brk arch_randomize_brk
2827- 2505-
2828 #endif 2506 #endif
2829diff -urNp linux-3.0.7/arch/s390/include/asm/system.h linux-3.0.7/arch/s390/include/asm/system.h 2507diff -urNp linux-3.0.8/arch/s390/include/asm/system.h linux-3.0.8/arch/s390/include/asm/system.h
2830--- linux-3.0.7/arch/s390/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400 2508--- linux-3.0.8/arch/s390/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400
2831+++ linux-3.0.7/arch/s390/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400 2509+++ linux-3.0.8/arch/s390/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400
2832@@ -255,7 +255,7 @@ extern void (*_machine_restart)(char *co 2510@@ -255,7 +255,7 @@ extern void (*_machine_restart)(char *co
2833 extern void (*_machine_halt)(void); 2511 extern void (*_machine_halt)(void);
2834 extern void (*_machine_power_off)(void); 2512 extern void (*_machine_power_off)(void);
@@ -2838,9 +2516,9 @@ diff -urNp linux-3.0.7/arch/s390/include/asm/system.h linux-3.0.7/arch/s390/incl
2838 2516
2839 static inline int tprot(unsigned long addr) 2517 static inline int tprot(unsigned long addr)
2840 { 2518 {
2841diff -urNp linux-3.0.7/arch/s390/include/asm/uaccess.h linux-3.0.7/arch/s390/include/asm/uaccess.h 2519diff -urNp linux-3.0.8/arch/s390/include/asm/uaccess.h linux-3.0.8/arch/s390/include/asm/uaccess.h
2842--- linux-3.0.7/arch/s390/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400 2520--- linux-3.0.8/arch/s390/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400
2843+++ linux-3.0.7/arch/s390/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400 2521+++ linux-3.0.8/arch/s390/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400
2844@@ -235,6 +235,10 @@ static inline unsigned long __must_check 2522@@ -235,6 +235,10 @@ static inline unsigned long __must_check
2845 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)
2846 { 2524 {
@@ -2873,9 +2551,9 @@ diff -urNp linux-3.0.7/arch/s390/include/asm/uaccess.h linux-3.0.7/arch/s390/inc
2873 if (unlikely(sz != -1 && sz < n)) { 2551 if (unlikely(sz != -1 && sz < n)) {
2874 copy_from_user_overflow(); 2552 copy_from_user_overflow();
2875 return n; 2553 return n;
2876diff -urNp linux-3.0.7/arch/s390/kernel/module.c linux-3.0.7/arch/s390/kernel/module.c 2554diff -urNp linux-3.0.8/arch/s390/kernel/module.c linux-3.0.8/arch/s390/kernel/module.c
2877--- linux-3.0.7/arch/s390/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 2555--- linux-3.0.8/arch/s390/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
2878+++ linux-3.0.7/arch/s390/kernel/module.c 2011-08-23 21:47:55.000000000 -0400 2556+++ linux-3.0.8/arch/s390/kernel/module.c 2011-08-23 21:47:55.000000000 -0400
2879@@ -168,11 +168,11 @@ module_frob_arch_sections(Elf_Ehdr *hdr, 2557@@ -168,11 +168,11 @@ module_frob_arch_sections(Elf_Ehdr *hdr,
2880 2558
2881 /* Increase core size by size of got & plt and set start 2559 /* Increase core size by size of got & plt and set start
@@ -2947,9 +2625,9 @@ diff -urNp linux-3.0.7/arch/s390/kernel/module.c linux-3.0.7/arch/s390/kernel/mo
2947 rela->r_addend - loc; 2625 rela->r_addend - loc;
2948 if (r_type == R_390_GOTPC) 2626 if (r_type == R_390_GOTPC)
2949 *(unsigned int *) loc = val; 2627 *(unsigned int *) loc = val;
2950diff -urNp linux-3.0.7/arch/s390/kernel/process.c linux-3.0.7/arch/s390/kernel/process.c 2628diff -urNp linux-3.0.8/arch/s390/kernel/process.c linux-3.0.8/arch/s390/kernel/process.c
2951--- linux-3.0.7/arch/s390/kernel/process.c 2011-07-21 22:17:23.000000000 -0400 2629--- linux-3.0.8/arch/s390/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
2952+++ linux-3.0.7/arch/s390/kernel/process.c 2011-08-23 21:47:55.000000000 -0400 2630+++ linux-3.0.8/arch/s390/kernel/process.c 2011-08-23 21:47:55.000000000 -0400
2953@@ -319,39 +319,3 @@ unsigned long get_wchan(struct task_stru 2631@@ -319,39 +319,3 @@ unsigned long get_wchan(struct task_stru
2954 } 2632 }
2955 return 0; 2633 return 0;
@@ -2990,9 +2668,9 @@ diff -urNp linux-3.0.7/arch/s390/kernel/process.c linux-3.0.7/arch/s390/kernel/p
2990- return base; 2668- return base;
2991- return ret; 2669- return ret;
2992-} 2670-}
2993diff -urNp linux-3.0.7/arch/s390/kernel/setup.c linux-3.0.7/arch/s390/kernel/setup.c 2671diff -urNp linux-3.0.8/arch/s390/kernel/setup.c linux-3.0.8/arch/s390/kernel/setup.c
2994--- linux-3.0.7/arch/s390/kernel/setup.c 2011-07-21 22:17:23.000000000 -0400 2672--- linux-3.0.8/arch/s390/kernel/setup.c 2011-07-21 22:17:23.000000000 -0400
2995+++ linux-3.0.7/arch/s390/kernel/setup.c 2011-08-23 21:47:55.000000000 -0400 2673+++ linux-3.0.8/arch/s390/kernel/setup.c 2011-08-23 21:47:55.000000000 -0400
2996@@ -271,7 +271,7 @@ static int __init early_parse_mem(char * 2674@@ -271,7 +271,7 @@ static int __init early_parse_mem(char *
2997 } 2675 }
2998 early_param("mem", early_parse_mem); 2676 early_param("mem", early_parse_mem);
@@ -3002,9 +2680,9 @@ diff -urNp linux-3.0.7/arch/s390/kernel/setup.c linux-3.0.7/arch/s390/kernel/set
3002 EXPORT_SYMBOL_GPL(user_mode); 2680 EXPORT_SYMBOL_GPL(user_mode);
3003 2681
3004 static int set_amode_and_uaccess(unsigned long user_amode, 2682 static int set_amode_and_uaccess(unsigned long user_amode,
3005diff -urNp linux-3.0.7/arch/s390/mm/mmap.c linux-3.0.7/arch/s390/mm/mmap.c 2683diff -urNp linux-3.0.8/arch/s390/mm/mmap.c linux-3.0.8/arch/s390/mm/mmap.c
3006--- linux-3.0.7/arch/s390/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 2684--- linux-3.0.8/arch/s390/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400
3007+++ linux-3.0.7/arch/s390/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 2685+++ linux-3.0.8/arch/s390/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400
3008@@ -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
3009 */ 2687 */
3010 if (mmap_is_legacy()) { 2688 if (mmap_is_legacy()) {
@@ -3051,9 +2729,9 @@ diff -urNp linux-3.0.7/arch/s390/mm/mmap.c linux-3.0.7/arch/s390/mm/mmap.c
3051 mm->get_unmapped_area = s390_get_unmapped_area_topdown; 2729 mm->get_unmapped_area = s390_get_unmapped_area_topdown;
3052 mm->unmap_area = arch_unmap_area_topdown; 2730 mm->unmap_area = arch_unmap_area_topdown;
3053 } 2731 }
3054diff -urNp linux-3.0.7/arch/score/include/asm/system.h linux-3.0.7/arch/score/include/asm/system.h 2732diff -urNp linux-3.0.8/arch/score/include/asm/system.h linux-3.0.8/arch/score/include/asm/system.h
3055--- linux-3.0.7/arch/score/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400 2733--- linux-3.0.8/arch/score/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400
3056+++ linux-3.0.7/arch/score/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400 2734+++ linux-3.0.8/arch/score/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400
3057@@ -17,7 +17,7 @@ do { \ 2735@@ -17,7 +17,7 @@ do { \
3058 #define finish_arch_switch(prev) do {} while (0) 2736 #define finish_arch_switch(prev) do {} while (0)
3059 2737
@@ -3063,9 +2741,9 @@ diff -urNp linux-3.0.7/arch/score/include/asm/system.h linux-3.0.7/arch/score/in
3063 2741
3064 #define mb() barrier() 2742 #define mb() barrier()
3065 #define rmb() barrier() 2743 #define rmb() barrier()
3066diff -urNp linux-3.0.7/arch/score/kernel/process.c linux-3.0.7/arch/score/kernel/process.c 2744diff -urNp linux-3.0.8/arch/score/kernel/process.c linux-3.0.8/arch/score/kernel/process.c
3067--- linux-3.0.7/arch/score/kernel/process.c 2011-07-21 22:17:23.000000000 -0400 2745--- linux-3.0.8/arch/score/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
3068+++ linux-3.0.7/arch/score/kernel/process.c 2011-08-23 21:47:55.000000000 -0400 2746+++ linux-3.0.8/arch/score/kernel/process.c 2011-08-23 21:47:55.000000000 -0400
3069@@ -161,8 +161,3 @@ unsigned long get_wchan(struct task_stru 2747@@ -161,8 +161,3 @@ unsigned long get_wchan(struct task_stru
3070 2748
3071 return task_pt_regs(task)->cp0_epc; 2749 return task_pt_regs(task)->cp0_epc;
@@ -3075,9 +2753,9 @@ diff -urNp linux-3.0.7/arch/score/kernel/process.c linux-3.0.7/arch/score/kernel
3075-{ 2753-{
3076- return sp; 2754- return sp;
3077-} 2755-}
3078diff -urNp linux-3.0.7/arch/sh/mm/mmap.c linux-3.0.7/arch/sh/mm/mmap.c 2756diff -urNp linux-3.0.8/arch/sh/mm/mmap.c linux-3.0.8/arch/sh/mm/mmap.c
3079--- linux-3.0.7/arch/sh/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 2757--- linux-3.0.8/arch/sh/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400
3080+++ linux-3.0.7/arch/sh/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 2758+++ linux-3.0.8/arch/sh/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400
3081@@ -74,8 +74,7 @@ unsigned long arch_get_unmapped_area(str 2759@@ -74,8 +74,7 @@ unsigned long arch_get_unmapped_area(str
3082 addr = PAGE_ALIGN(addr); 2760 addr = PAGE_ALIGN(addr);
3083 2761
@@ -3152,21 +2830,9 @@ diff -urNp linux-3.0.7/arch/sh/mm/mmap.c linux-3.0.7/arch/sh/mm/mmap.c
3152 2830
3153 bottomup: 2831 bottomup:
3154 /* 2832 /*
3155diff -urNp linux-3.0.7/arch/sparc/Makefile linux-3.0.7/arch/sparc/Makefile 2833diff -urNp linux-3.0.8/arch/sparc/include/asm/atomic_64.h linux-3.0.8/arch/sparc/include/asm/atomic_64.h
3156--- linux-3.0.7/arch/sparc/Makefile 2011-07-21 22:17:23.000000000 -0400 2834--- linux-3.0.8/arch/sparc/include/asm/atomic_64.h 2011-07-21 22:17:23.000000000 -0400
3157+++ linux-3.0.7/arch/sparc/Makefile 2011-08-23 21:48:14.000000000 -0400 2835+++ linux-3.0.8/arch/sparc/include/asm/atomic_64.h 2011-08-23 21:48:14.000000000 -0400
3158@@ -75,7 +75,7 @@ drivers-$(CONFIG_OPROFILE) += arch/sparc
3159 # Export what is needed by arch/sparc/boot/Makefile
3160 export VMLINUX_INIT VMLINUX_MAIN
3161 VMLINUX_INIT := $(head-y) $(init-y)
3162-VMLINUX_MAIN := $(core-y) kernel/ mm/ fs/ ipc/ security/ crypto/ block/
3163+VMLINUX_MAIN := $(core-y) kernel/ mm/ fs/ ipc/ security/ crypto/ block/ grsecurity/
3164 VMLINUX_MAIN += $(patsubst %/, %/lib.a, $(libs-y)) $(libs-y)
3165 VMLINUX_MAIN += $(drivers-y) $(net-y)
3166
3167diff -urNp linux-3.0.7/arch/sparc/include/asm/atomic_64.h linux-3.0.7/arch/sparc/include/asm/atomic_64.h
3168--- linux-3.0.7/arch/sparc/include/asm/atomic_64.h 2011-07-21 22:17:23.000000000 -0400
3169+++ linux-3.0.7/arch/sparc/include/asm/atomic_64.h 2011-08-23 21:48:14.000000000 -0400
3170@@ -14,18 +14,40 @@ 2836@@ -14,18 +14,40 @@
3171 #define ATOMIC64_INIT(i) { (i) } 2837 #define ATOMIC64_INIT(i) { (i) }
3172 2838
@@ -3359,9 +3025,9 @@ diff -urNp linux-3.0.7/arch/sparc/include/asm/atomic_64.h linux-3.0.7/arch/sparc
3359 } 3025 }
3360 3026
3361 #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)
3362diff -urNp linux-3.0.7/arch/sparc/include/asm/cache.h linux-3.0.7/arch/sparc/include/asm/cache.h 3028diff -urNp linux-3.0.8/arch/sparc/include/asm/cache.h linux-3.0.8/arch/sparc/include/asm/cache.h
3363--- linux-3.0.7/arch/sparc/include/asm/cache.h 2011-07-21 22:17:23.000000000 -0400 3029--- linux-3.0.8/arch/sparc/include/asm/cache.h 2011-07-21 22:17:23.000000000 -0400
3364+++ linux-3.0.7/arch/sparc/include/asm/cache.h 2011-08-23 21:47:55.000000000 -0400 3030+++ linux-3.0.8/arch/sparc/include/asm/cache.h 2011-08-23 21:47:55.000000000 -0400
3365@@ -10,7 +10,7 @@ 3031@@ -10,7 +10,7 @@
3366 #define ARCH_SLAB_MINALIGN __alignof__(unsigned long long) 3032 #define ARCH_SLAB_MINALIGN __alignof__(unsigned long long)
3367 3033
@@ -3371,9 +3037,9 @@ diff -urNp linux-3.0.7/arch/sparc/include/asm/cache.h linux-3.0.7/arch/sparc/inc
3371 3037
3372 #ifdef CONFIG_SPARC32 3038 #ifdef CONFIG_SPARC32
3373 #define SMP_CACHE_BYTES_SHIFT 5 3039 #define SMP_CACHE_BYTES_SHIFT 5
3374diff -urNp linux-3.0.7/arch/sparc/include/asm/elf_32.h linux-3.0.7/arch/sparc/include/asm/elf_32.h 3040diff -urNp linux-3.0.8/arch/sparc/include/asm/elf_32.h linux-3.0.8/arch/sparc/include/asm/elf_32.h
3375--- linux-3.0.7/arch/sparc/include/asm/elf_32.h 2011-07-21 22:17:23.000000000 -0400 3041--- linux-3.0.8/arch/sparc/include/asm/elf_32.h 2011-07-21 22:17:23.000000000 -0400
3376+++ linux-3.0.7/arch/sparc/include/asm/elf_32.h 2011-08-23 21:47:55.000000000 -0400 3042+++ linux-3.0.8/arch/sparc/include/asm/elf_32.h 2011-08-23 21:47:55.000000000 -0400
3377@@ -114,6 +114,13 @@ typedef struct { 3043@@ -114,6 +114,13 @@ typedef struct {
3378 3044
3379 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE) 3045 #define ELF_ET_DYN_BASE (TASK_UNMAPPED_BASE)
@@ -3388,9 +3054,9 @@ diff -urNp linux-3.0.7/arch/sparc/include/asm/elf_32.h linux-3.0.7/arch/sparc/in
3388 /* 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
3389 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
3390 on Sparc. */ 3056 on Sparc. */
3391diff -urNp linux-3.0.7/arch/sparc/include/asm/elf_64.h linux-3.0.7/arch/sparc/include/asm/elf_64.h 3057diff -urNp linux-3.0.8/arch/sparc/include/asm/elf_64.h linux-3.0.8/arch/sparc/include/asm/elf_64.h
3392--- linux-3.0.7/arch/sparc/include/asm/elf_64.h 2011-09-02 18:11:21.000000000 -0400 3058--- linux-3.0.8/arch/sparc/include/asm/elf_64.h 2011-10-24 08:05:21.000000000 -0400
3393+++ linux-3.0.7/arch/sparc/include/asm/elf_64.h 2011-08-23 21:47:55.000000000 -0400 3059+++ linux-3.0.8/arch/sparc/include/asm/elf_64.h 2011-08-23 21:47:55.000000000 -0400
3394@@ -180,6 +180,13 @@ typedef struct { 3060@@ -180,6 +180,13 @@ typedef struct {
3395 #define ELF_ET_DYN_BASE 0x0000010000000000UL 3061 #define ELF_ET_DYN_BASE 0x0000010000000000UL
3396 #define COMPAT_ELF_ET_DYN_BASE 0x0000000070000000UL 3062 #define COMPAT_ELF_ET_DYN_BASE 0x0000000070000000UL
@@ -3405,9 +3071,9 @@ diff -urNp linux-3.0.7/arch/sparc/include/asm/elf_64.h linux-3.0.7/arch/sparc/in
3405 extern unsigned long sparc64_elf_hwcap; 3071 extern unsigned long sparc64_elf_hwcap;
3406 #define ELF_HWCAP sparc64_elf_hwcap 3072 #define ELF_HWCAP sparc64_elf_hwcap
3407 3073
3408diff -urNp linux-3.0.7/arch/sparc/include/asm/pgtable_32.h linux-3.0.7/arch/sparc/include/asm/pgtable_32.h 3074diff -urNp linux-3.0.8/arch/sparc/include/asm/pgtable_32.h linux-3.0.8/arch/sparc/include/asm/pgtable_32.h
3409--- linux-3.0.7/arch/sparc/include/asm/pgtable_32.h 2011-07-21 22:17:23.000000000 -0400 3075--- linux-3.0.8/arch/sparc/include/asm/pgtable_32.h 2011-07-21 22:17:23.000000000 -0400
3410+++ linux-3.0.7/arch/sparc/include/asm/pgtable_32.h 2011-08-23 21:47:55.000000000 -0400 3076+++ linux-3.0.8/arch/sparc/include/asm/pgtable_32.h 2011-08-23 21:47:55.000000000 -0400
3411@@ -45,6 +45,13 @@ BTFIXUPDEF_SIMM13(user_ptrs_per_pgd) 3077@@ -45,6 +45,13 @@ BTFIXUPDEF_SIMM13(user_ptrs_per_pgd)
3412 BTFIXUPDEF_INT(page_none) 3078 BTFIXUPDEF_INT(page_none)
3413 BTFIXUPDEF_INT(page_copy) 3079 BTFIXUPDEF_INT(page_copy)
@@ -3439,9 +3105,9 @@ diff -urNp linux-3.0.7/arch/sparc/include/asm/pgtable_32.h linux-3.0.7/arch/spar
3439 extern unsigned long page_kernel; 3105 extern unsigned long page_kernel;
3440 3106
3441 #ifdef MODULE 3107 #ifdef MODULE
3442diff -urNp linux-3.0.7/arch/sparc/include/asm/pgtsrmmu.h linux-3.0.7/arch/sparc/include/asm/pgtsrmmu.h 3108diff -urNp linux-3.0.8/arch/sparc/include/asm/pgtsrmmu.h linux-3.0.8/arch/sparc/include/asm/pgtsrmmu.h
3443--- linux-3.0.7/arch/sparc/include/asm/pgtsrmmu.h 2011-07-21 22:17:23.000000000 -0400 3109--- linux-3.0.8/arch/sparc/include/asm/pgtsrmmu.h 2011-07-21 22:17:23.000000000 -0400
3444+++ linux-3.0.7/arch/sparc/include/asm/pgtsrmmu.h 2011-08-23 21:47:55.000000000 -0400 3110+++ linux-3.0.8/arch/sparc/include/asm/pgtsrmmu.h 2011-08-23 21:47:55.000000000 -0400
3445@@ -115,6 +115,13 @@ 3111@@ -115,6 +115,13 @@
3446 SRMMU_EXEC | SRMMU_REF) 3112 SRMMU_EXEC | SRMMU_REF)
3447 #define SRMMU_PAGE_RDONLY __pgprot(SRMMU_VALID | SRMMU_CACHE | \ 3113 #define SRMMU_PAGE_RDONLY __pgprot(SRMMU_VALID | SRMMU_CACHE | \
@@ -3456,9 +3122,9 @@ diff -urNp linux-3.0.7/arch/sparc/include/asm/pgtsrmmu.h linux-3.0.7/arch/sparc/
3456 #define SRMMU_PAGE_KERNEL __pgprot(SRMMU_VALID | SRMMU_CACHE | SRMMU_PRIV | \ 3122 #define SRMMU_PAGE_KERNEL __pgprot(SRMMU_VALID | SRMMU_CACHE | SRMMU_PRIV | \
3457 SRMMU_DIRTY | SRMMU_REF) 3123 SRMMU_DIRTY | SRMMU_REF)
3458 3124
3459diff -urNp linux-3.0.7/arch/sparc/include/asm/spinlock_64.h linux-3.0.7/arch/sparc/include/asm/spinlock_64.h 3125diff -urNp linux-3.0.8/arch/sparc/include/asm/spinlock_64.h linux-3.0.8/arch/sparc/include/asm/spinlock_64.h
3460--- linux-3.0.7/arch/sparc/include/asm/spinlock_64.h 2011-10-16 21:54:53.000000000 -0400 3126--- linux-3.0.8/arch/sparc/include/asm/spinlock_64.h 2011-10-24 08:05:30.000000000 -0400
3461+++ linux-3.0.7/arch/sparc/include/asm/spinlock_64.h 2011-10-16 21:55:27.000000000 -0400 3127+++ linux-3.0.8/arch/sparc/include/asm/spinlock_64.h 2011-10-16 21:55:27.000000000 -0400
3462@@ -92,14 +92,19 @@ static inline void arch_spin_lock_flags( 3128@@ -92,14 +92,19 @@ static inline void arch_spin_lock_flags(
3463 3129
3464 /* 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... */
@@ -3556,9 +3222,9 @@ diff -urNp linux-3.0.7/arch/sparc/include/asm/spinlock_64.h linux-3.0.7/arch/spa
3556 { 3222 {
3557 unsigned long mask, tmp1, tmp2, result; 3223 unsigned long mask, tmp1, tmp2, result;
3558 3224
3559diff -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 3225diff -urNp linux-3.0.8/arch/sparc/include/asm/thread_info_32.h linux-3.0.8/arch/sparc/include/asm/thread_info_32.h
3560--- linux-3.0.7/arch/sparc/include/asm/thread_info_32.h 2011-07-21 22:17:23.000000000 -0400 3226--- linux-3.0.8/arch/sparc/include/asm/thread_info_32.h 2011-07-21 22:17:23.000000000 -0400
3561+++ linux-3.0.7/arch/sparc/include/asm/thread_info_32.h 2011-08-23 21:47:55.000000000 -0400 3227+++ linux-3.0.8/arch/sparc/include/asm/thread_info_32.h 2011-08-23 21:47:55.000000000 -0400
3562@@ -50,6 +50,8 @@ struct thread_info { 3228@@ -50,6 +50,8 @@ struct thread_info {
3563 unsigned long w_saved; 3229 unsigned long w_saved;
3564 3230
@@ -3568,9 +3234,9 @@ diff -urNp linux-3.0.7/arch/sparc/include/asm/thread_info_32.h linux-3.0.7/arch/
3568 }; 3234 };
3569 3235
3570 /* 3236 /*
3571diff -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 3237diff -urNp linux-3.0.8/arch/sparc/include/asm/thread_info_64.h linux-3.0.8/arch/sparc/include/asm/thread_info_64.h
3572--- linux-3.0.7/arch/sparc/include/asm/thread_info_64.h 2011-07-21 22:17:23.000000000 -0400 3238--- linux-3.0.8/arch/sparc/include/asm/thread_info_64.h 2011-07-21 22:17:23.000000000 -0400
3573+++ linux-3.0.7/arch/sparc/include/asm/thread_info_64.h 2011-08-23 21:47:55.000000000 -0400 3239+++ linux-3.0.8/arch/sparc/include/asm/thread_info_64.h 2011-08-23 21:47:55.000000000 -0400
3574@@ -63,6 +63,8 @@ struct thread_info { 3240@@ -63,6 +63,8 @@ struct thread_info {
3575 struct pt_regs *kern_una_regs; 3241 struct pt_regs *kern_una_regs;
3576 unsigned int kern_una_insn; 3242 unsigned int kern_una_insn;
@@ -3580,26 +3246,9 @@ diff -urNp linux-3.0.7/arch/sparc/include/asm/thread_info_64.h linux-3.0.7/arch/
3580 unsigned long fpregs[0] __attribute__ ((aligned(64))); 3246 unsigned long fpregs[0] __attribute__ ((aligned(64)));
3581 }; 3247 };
3582 3248
3583diff -urNp linux-3.0.7/arch/sparc/include/asm/uaccess.h linux-3.0.7/arch/sparc/include/asm/uaccess.h 3249diff -urNp linux-3.0.8/arch/sparc/include/asm/uaccess_32.h linux-3.0.8/arch/sparc/include/asm/uaccess_32.h
3584--- linux-3.0.7/arch/sparc/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400 3250--- linux-3.0.8/arch/sparc/include/asm/uaccess_32.h 2011-07-21 22:17:23.000000000 -0400
3585+++ linux-3.0.7/arch/sparc/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400 3251+++ linux-3.0.8/arch/sparc/include/asm/uaccess_32.h 2011-08-23 21:47:55.000000000 -0400
3586@@ -1,5 +1,13 @@
3587 #ifndef ___ASM_SPARC_UACCESS_H
3588 #define ___ASM_SPARC_UACCESS_H
3589+
3590+#ifdef __KERNEL__
3591+#ifndef __ASSEMBLY__
3592+#include <linux/types.h>
3593+extern void check_object_size(const void *ptr, unsigned long n, bool to);
3594+#endif
3595+#endif
3596+
3597 #if defined(__sparc__) && defined(__arch64__)
3598 #include <asm/uaccess_64.h>
3599 #else
3600diff -urNp linux-3.0.7/arch/sparc/include/asm/uaccess_32.h linux-3.0.7/arch/sparc/include/asm/uaccess_32.h
3601--- linux-3.0.7/arch/sparc/include/asm/uaccess_32.h 2011-07-21 22:17:23.000000000 -0400
3602+++ linux-3.0.7/arch/sparc/include/asm/uaccess_32.h 2011-08-23 21:47:55.000000000 -0400
3603@@ -249,27 +249,46 @@ extern unsigned long __copy_user(void __ 3252@@ -249,27 +249,46 @@ extern unsigned long __copy_user(void __
3604 3253
3605 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)
@@ -3651,9 +3300,9 @@ diff -urNp linux-3.0.7/arch/sparc/include/asm/uaccess_32.h linux-3.0.7/arch/spar
3651 return __copy_user((__force void __user *) to, from, n); 3300 return __copy_user((__force void __user *) to, from, n);
3652 } 3301 }
3653 3302
3654diff -urNp linux-3.0.7/arch/sparc/include/asm/uaccess_64.h linux-3.0.7/arch/sparc/include/asm/uaccess_64.h 3303diff -urNp linux-3.0.8/arch/sparc/include/asm/uaccess_64.h linux-3.0.8/arch/sparc/include/asm/uaccess_64.h
3655--- linux-3.0.7/arch/sparc/include/asm/uaccess_64.h 2011-07-21 22:17:23.000000000 -0400 3304--- linux-3.0.8/arch/sparc/include/asm/uaccess_64.h 2011-07-21 22:17:23.000000000 -0400
3656+++ linux-3.0.7/arch/sparc/include/asm/uaccess_64.h 2011-08-23 21:47:55.000000000 -0400 3305+++ linux-3.0.8/arch/sparc/include/asm/uaccess_64.h 2011-08-23 21:47:55.000000000 -0400
3657@@ -10,6 +10,7 @@ 3306@@ -10,6 +10,7 @@
3658 #include <linux/compiler.h> 3307 #include <linux/compiler.h>
3659 #include <linux/string.h> 3308 #include <linux/string.h>
@@ -3696,9 +3345,26 @@ diff -urNp linux-3.0.7/arch/sparc/include/asm/uaccess_64.h linux-3.0.7/arch/spar
3696 if (unlikely(ret)) 3345 if (unlikely(ret))
3697 ret = copy_to_user_fixup(to, from, size); 3346 ret = copy_to_user_fixup(to, from, size);
3698 return ret; 3347 return ret;
3699diff -urNp linux-3.0.7/arch/sparc/kernel/Makefile linux-3.0.7/arch/sparc/kernel/Makefile 3348diff -urNp linux-3.0.8/arch/sparc/include/asm/uaccess.h linux-3.0.8/arch/sparc/include/asm/uaccess.h
3700--- linux-3.0.7/arch/sparc/kernel/Makefile 2011-10-16 21:54:53.000000000 -0400 3349--- linux-3.0.8/arch/sparc/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400
3701+++ linux-3.0.7/arch/sparc/kernel/Makefile 2011-10-16 21:55:27.000000000 -0400 3350+++ linux-3.0.8/arch/sparc/include/asm/uaccess.h 2011-08-23 21:47:55.000000000 -0400
3351@@ -1,5 +1,13 @@
3352 #ifndef ___ASM_SPARC_UACCESS_H
3353 #define ___ASM_SPARC_UACCESS_H
3354+
3355+#ifdef __KERNEL__
3356+#ifndef __ASSEMBLY__
3357+#include <linux/types.h>
3358+extern void check_object_size(const void *ptr, unsigned long n, bool to);
3359+#endif
3360+#endif
3361+
3362 #if defined(__sparc__) && defined(__arch64__)
3363 #include <asm/uaccess_64.h>
3364 #else
3365diff -urNp linux-3.0.8/arch/sparc/kernel/Makefile linux-3.0.8/arch/sparc/kernel/Makefile
3366--- linux-3.0.8/arch/sparc/kernel/Makefile 2011-10-24 08:05:30.000000000 -0400
3367+++ linux-3.0.8/arch/sparc/kernel/Makefile 2011-10-16 21:55:27.000000000 -0400
3702@@ -3,7 +3,7 @@ 3368@@ -3,7 +3,7 @@
3703 # 3369 #
3704 3370
@@ -3708,9 +3374,9 @@ diff -urNp linux-3.0.7/arch/sparc/kernel/Makefile linux-3.0.7/arch/sparc/kernel/
3708 3374
3709 extra-y := head_$(BITS).o 3375 extra-y := head_$(BITS).o
3710 extra-y += init_task.o 3376 extra-y += init_task.o
3711diff -urNp linux-3.0.7/arch/sparc/kernel/process_32.c linux-3.0.7/arch/sparc/kernel/process_32.c 3377diff -urNp linux-3.0.8/arch/sparc/kernel/process_32.c linux-3.0.8/arch/sparc/kernel/process_32.c
3712--- linux-3.0.7/arch/sparc/kernel/process_32.c 2011-07-21 22:17:23.000000000 -0400 3378--- linux-3.0.8/arch/sparc/kernel/process_32.c 2011-07-21 22:17:23.000000000 -0400
3713+++ linux-3.0.7/arch/sparc/kernel/process_32.c 2011-08-23 21:48:14.000000000 -0400 3379+++ linux-3.0.8/arch/sparc/kernel/process_32.c 2011-08-23 21:48:14.000000000 -0400
3714@@ -204,7 +204,7 @@ void __show_backtrace(unsigned long fp) 3380@@ -204,7 +204,7 @@ void __show_backtrace(unsigned long fp)
3715 rw->ins[4], rw->ins[5], 3381 rw->ins[4], rw->ins[5],
3716 rw->ins[6], 3382 rw->ins[6],
@@ -3746,9 +3412,9 @@ diff -urNp linux-3.0.7/arch/sparc/kernel/process_32.c linux-3.0.7/arch/sparc/ker
3746 fp = rw->ins[6]; 3412 fp = rw->ins[6];
3747 } while (++count < 16); 3413 } while (++count < 16);
3748 printk("\n"); 3414 printk("\n");
3749diff -urNp linux-3.0.7/arch/sparc/kernel/process_64.c linux-3.0.7/arch/sparc/kernel/process_64.c 3415diff -urNp linux-3.0.8/arch/sparc/kernel/process_64.c linux-3.0.8/arch/sparc/kernel/process_64.c
3750--- linux-3.0.7/arch/sparc/kernel/process_64.c 2011-07-21 22:17:23.000000000 -0400 3416--- linux-3.0.8/arch/sparc/kernel/process_64.c 2011-07-21 22:17:23.000000000 -0400
3751+++ linux-3.0.7/arch/sparc/kernel/process_64.c 2011-08-23 21:48:14.000000000 -0400 3417+++ linux-3.0.8/arch/sparc/kernel/process_64.c 2011-08-23 21:48:14.000000000 -0400
3752@@ -180,14 +180,14 @@ static void show_regwindow(struct pt_reg 3418@@ -180,14 +180,14 @@ static void show_regwindow(struct pt_reg
3753 printk("i4: %016lx i5: %016lx i6: %016lx i7: %016lx\n", 3419 printk("i4: %016lx i5: %016lx i6: %016lx i7: %016lx\n",
3754 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]);
@@ -3784,9 +3450,9 @@ diff -urNp linux-3.0.7/arch/sparc/kernel/process_64.c linux-3.0.7/arch/sparc/ker
3784 (void *) gp->tpc, 3450 (void *) gp->tpc,
3785 (void *) gp->o7, 3451 (void *) gp->o7,
3786 (void *) gp->i7, 3452 (void *) gp->i7,
3787diff -urNp linux-3.0.7/arch/sparc/kernel/sys_sparc_32.c linux-3.0.7/arch/sparc/kernel/sys_sparc_32.c 3453diff -urNp linux-3.0.8/arch/sparc/kernel/sys_sparc_32.c linux-3.0.8/arch/sparc/kernel/sys_sparc_32.c
3788--- linux-3.0.7/arch/sparc/kernel/sys_sparc_32.c 2011-07-21 22:17:23.000000000 -0400 3454--- linux-3.0.8/arch/sparc/kernel/sys_sparc_32.c 2011-07-21 22:17:23.000000000 -0400
3789+++ linux-3.0.7/arch/sparc/kernel/sys_sparc_32.c 2011-08-23 21:47:55.000000000 -0400 3455+++ linux-3.0.8/arch/sparc/kernel/sys_sparc_32.c 2011-08-23 21:47:55.000000000 -0400
3790@@ -56,7 +56,7 @@ unsigned long arch_get_unmapped_area(str 3456@@ -56,7 +56,7 @@ unsigned long arch_get_unmapped_area(str
3791 if (ARCH_SUN4C && len > 0x20000000) 3457 if (ARCH_SUN4C && len > 0x20000000)
3792 return -ENOMEM; 3458 return -ENOMEM;
@@ -3805,9 +3471,9 @@ diff -urNp linux-3.0.7/arch/sparc/kernel/sys_sparc_32.c linux-3.0.7/arch/sparc/k
3805 return addr; 3471 return addr;
3806 addr = vmm->vm_end; 3472 addr = vmm->vm_end;
3807 if (flags & MAP_SHARED) 3473 if (flags & MAP_SHARED)
3808diff -urNp linux-3.0.7/arch/sparc/kernel/sys_sparc_64.c linux-3.0.7/arch/sparc/kernel/sys_sparc_64.c 3474diff -urNp linux-3.0.8/arch/sparc/kernel/sys_sparc_64.c linux-3.0.8/arch/sparc/kernel/sys_sparc_64.c
3809--- linux-3.0.7/arch/sparc/kernel/sys_sparc_64.c 2011-07-21 22:17:23.000000000 -0400 3475--- linux-3.0.8/arch/sparc/kernel/sys_sparc_64.c 2011-07-21 22:17:23.000000000 -0400
3810+++ linux-3.0.7/arch/sparc/kernel/sys_sparc_64.c 2011-08-23 21:47:55.000000000 -0400 3476+++ linux-3.0.8/arch/sparc/kernel/sys_sparc_64.c 2011-08-23 21:47:55.000000000 -0400
3811@@ -124,7 +124,7 @@ unsigned long arch_get_unmapped_area(str 3477@@ -124,7 +124,7 @@ unsigned long arch_get_unmapped_area(str
3812 /* We do not accept a shared mapping if it would violate 3478 /* We do not accept a shared mapping if it would violate
3813 * cache aliasing constraints. 3479 * cache aliasing constraints.
@@ -3955,9 +3621,9 @@ diff -urNp linux-3.0.7/arch/sparc/kernel/sys_sparc_64.c linux-3.0.7/arch/sparc/k
3955 mm->get_unmapped_area = arch_get_unmapped_area_topdown; 3621 mm->get_unmapped_area = arch_get_unmapped_area_topdown;
3956 mm->unmap_area = arch_unmap_area_topdown; 3622 mm->unmap_area = arch_unmap_area_topdown;
3957 } 3623 }
3958diff -urNp linux-3.0.7/arch/sparc/kernel/traps_32.c linux-3.0.7/arch/sparc/kernel/traps_32.c 3624diff -urNp linux-3.0.8/arch/sparc/kernel/traps_32.c linux-3.0.8/arch/sparc/kernel/traps_32.c
3959--- linux-3.0.7/arch/sparc/kernel/traps_32.c 2011-07-21 22:17:23.000000000 -0400 3625--- linux-3.0.8/arch/sparc/kernel/traps_32.c 2011-07-21 22:17:23.000000000 -0400
3960+++ linux-3.0.7/arch/sparc/kernel/traps_32.c 2011-08-23 21:48:14.000000000 -0400 3626+++ linux-3.0.8/arch/sparc/kernel/traps_32.c 2011-08-23 21:48:14.000000000 -0400
3961@@ -44,6 +44,8 @@ static void instruction_dump(unsigned lo 3627@@ -44,6 +44,8 @@ static void instruction_dump(unsigned lo
3962 #define __SAVE __asm__ __volatile__("save %sp, -0x40, %sp\n\t") 3628 #define __SAVE __asm__ __volatile__("save %sp, -0x40, %sp\n\t")
3963 #define __RESTORE __asm__ __volatile__("restore %g0, %g0, %g0\n\t") 3629 #define __RESTORE __asm__ __volatile__("restore %g0, %g0, %g0\n\t")
@@ -3987,9 +3653,9 @@ diff -urNp linux-3.0.7/arch/sparc/kernel/traps_32.c linux-3.0.7/arch/sparc/kerne
3987 do_exit(SIGSEGV); 3653 do_exit(SIGSEGV);
3988 } 3654 }
3989 3655
3990diff -urNp linux-3.0.7/arch/sparc/kernel/traps_64.c linux-3.0.7/arch/sparc/kernel/traps_64.c 3656diff -urNp linux-3.0.8/arch/sparc/kernel/traps_64.c linux-3.0.8/arch/sparc/kernel/traps_64.c
3991--- linux-3.0.7/arch/sparc/kernel/traps_64.c 2011-07-21 22:17:23.000000000 -0400 3657--- linux-3.0.8/arch/sparc/kernel/traps_64.c 2011-07-21 22:17:23.000000000 -0400
3992+++ linux-3.0.7/arch/sparc/kernel/traps_64.c 2011-08-23 21:48:14.000000000 -0400 3658+++ linux-3.0.8/arch/sparc/kernel/traps_64.c 2011-08-23 21:48:14.000000000 -0400
3993@@ -75,7 +75,7 @@ static void dump_tl1_traplog(struct tl1_ 3659@@ -75,7 +75,7 @@ static void dump_tl1_traplog(struct tl1_
3994 i + 1, 3660 i + 1,
3995 p->trapstack[i].tstate, p->trapstack[i].tpc, 3661 p->trapstack[i].tstate, p->trapstack[i].tpc,
@@ -4127,9 +3793,9 @@ diff -urNp linux-3.0.7/arch/sparc/kernel/traps_64.c linux-3.0.7/arch/sparc/kerne
4127 do_exit(SIGSEGV); 3793 do_exit(SIGSEGV);
4128 } 3794 }
4129 EXPORT_SYMBOL(die_if_kernel); 3795 EXPORT_SYMBOL(die_if_kernel);
4130diff -urNp linux-3.0.7/arch/sparc/kernel/unaligned_64.c linux-3.0.7/arch/sparc/kernel/unaligned_64.c 3796diff -urNp linux-3.0.8/arch/sparc/kernel/unaligned_64.c linux-3.0.8/arch/sparc/kernel/unaligned_64.c
4131--- linux-3.0.7/arch/sparc/kernel/unaligned_64.c 2011-09-02 18:11:21.000000000 -0400 3797--- linux-3.0.8/arch/sparc/kernel/unaligned_64.c 2011-10-24 08:05:21.000000000 -0400
4132+++ linux-3.0.7/arch/sparc/kernel/unaligned_64.c 2011-08-23 21:48:14.000000000 -0400 3798+++ linux-3.0.8/arch/sparc/kernel/unaligned_64.c 2011-08-23 21:48:14.000000000 -0400
4133@@ -279,7 +279,7 @@ static void log_unaligned(struct pt_regs 3799@@ -279,7 +279,7 @@ static void log_unaligned(struct pt_regs
4134 static DEFINE_RATELIMIT_STATE(ratelimit, 5 * HZ, 5); 3800 static DEFINE_RATELIMIT_STATE(ratelimit, 5 * HZ, 5);
4135 3801
@@ -4139,21 +3805,9 @@ diff -urNp linux-3.0.7/arch/sparc/kernel/unaligned_64.c linux-3.0.7/arch/sparc/k
4139 regs->tpc, (void *) regs->tpc); 3805 regs->tpc, (void *) regs->tpc);
4140 } 3806 }
4141 } 3807 }
4142diff -urNp linux-3.0.7/arch/sparc/lib/Makefile linux-3.0.7/arch/sparc/lib/Makefile 3808diff -urNp linux-3.0.8/arch/sparc/lib/atomic_64.S linux-3.0.8/arch/sparc/lib/atomic_64.S
4143--- linux-3.0.7/arch/sparc/lib/Makefile 2011-09-02 18:11:21.000000000 -0400 3809--- linux-3.0.8/arch/sparc/lib/atomic_64.S 2011-07-21 22:17:23.000000000 -0400
4144+++ linux-3.0.7/arch/sparc/lib/Makefile 2011-08-23 21:47:55.000000000 -0400 3810+++ linux-3.0.8/arch/sparc/lib/atomic_64.S 2011-08-23 21:47:55.000000000 -0400
4145@@ -2,7 +2,7 @@
4146 #
4147
4148 asflags-y := -ansi -DST_DIV0=0x02
4149-ccflags-y := -Werror
4150+#ccflags-y := -Werror
4151
4152 lib-$(CONFIG_SPARC32) += mul.o rem.o sdiv.o udiv.o umul.o urem.o ashrdi3.o
4153 lib-$(CONFIG_SPARC32) += memcpy.o memset.o
4154diff -urNp linux-3.0.7/arch/sparc/lib/atomic_64.S linux-3.0.7/arch/sparc/lib/atomic_64.S
4155--- linux-3.0.7/arch/sparc/lib/atomic_64.S 2011-07-21 22:17:23.000000000 -0400
4156+++ linux-3.0.7/arch/sparc/lib/atomic_64.S 2011-08-23 21:47:55.000000000 -0400
4157@@ -18,7 +18,12 @@ 3811@@ -18,7 +18,12 @@
4158 atomic_add: /* %o0 = increment, %o1 = atomic_ptr */ 3812 atomic_add: /* %o0 = increment, %o1 = atomic_ptr */
4159 BACKOFF_SETUP(%o2) 3813 BACKOFF_SETUP(%o2)
@@ -4388,9 +4042,9 @@ diff -urNp linux-3.0.7/arch/sparc/lib/atomic_64.S linux-3.0.7/arch/sparc/lib/ato
4388 casx [%o1], %g1, %g7 4042 casx [%o1], %g1, %g7
4389 cmp %g1, %g7 4043 cmp %g1, %g7
4390 bne,pn %xcc, BACKOFF_LABEL(2f, 1b) 4044 bne,pn %xcc, BACKOFF_LABEL(2f, 1b)
4391diff -urNp linux-3.0.7/arch/sparc/lib/ksyms.c linux-3.0.7/arch/sparc/lib/ksyms.c 4045diff -urNp linux-3.0.8/arch/sparc/lib/ksyms.c linux-3.0.8/arch/sparc/lib/ksyms.c
4392--- linux-3.0.7/arch/sparc/lib/ksyms.c 2011-07-21 22:17:23.000000000 -0400 4046--- linux-3.0.8/arch/sparc/lib/ksyms.c 2011-07-21 22:17:23.000000000 -0400
4393+++ linux-3.0.7/arch/sparc/lib/ksyms.c 2011-08-23 21:48:14.000000000 -0400 4047+++ linux-3.0.8/arch/sparc/lib/ksyms.c 2011-08-23 21:48:14.000000000 -0400
4394@@ -142,12 +142,18 @@ EXPORT_SYMBOL(__downgrade_write); 4048@@ -142,12 +142,18 @@ EXPORT_SYMBOL(__downgrade_write);
4395 4049
4396 /* Atomic counter implementation. */ 4050 /* Atomic counter implementation. */
@@ -4410,21 +4064,33 @@ diff -urNp linux-3.0.7/arch/sparc/lib/ksyms.c linux-3.0.7/arch/sparc/lib/ksyms.c
4410 EXPORT_SYMBOL(atomic64_sub_ret); 4064 EXPORT_SYMBOL(atomic64_sub_ret);
4411 4065
4412 /* Atomic bit operations. */ 4066 /* Atomic bit operations. */
4413diff -urNp linux-3.0.7/arch/sparc/mm/Makefile linux-3.0.7/arch/sparc/mm/Makefile 4067diff -urNp linux-3.0.8/arch/sparc/lib/Makefile linux-3.0.8/arch/sparc/lib/Makefile
4414--- linux-3.0.7/arch/sparc/mm/Makefile 2011-07-21 22:17:23.000000000 -0400 4068--- linux-3.0.8/arch/sparc/lib/Makefile 2011-10-24 08:05:21.000000000 -0400
4415+++ linux-3.0.7/arch/sparc/mm/Makefile 2011-08-23 21:47:55.000000000 -0400 4069+++ linux-3.0.8/arch/sparc/lib/Makefile 2011-08-23 21:47:55.000000000 -0400
4416@@ -2,7 +2,7 @@ 4070@@ -2,7 +2,7 @@
4417 # 4071 #
4418 4072
4419 asflags-y := -ansi 4073 asflags-y := -ansi -DST_DIV0=0x02
4420-ccflags-y := -Werror 4074-ccflags-y := -Werror
4421+#ccflags-y := -Werror 4075+#ccflags-y := -Werror
4422 4076
4423 obj-$(CONFIG_SPARC64) += ultra.o tlb.o tsb.o 4077 lib-$(CONFIG_SPARC32) += mul.o rem.o sdiv.o udiv.o umul.o urem.o ashrdi3.o
4424 obj-y += fault_$(BITS).o 4078 lib-$(CONFIG_SPARC32) += memcpy.o memset.o
4425diff -urNp linux-3.0.7/arch/sparc/mm/fault_32.c linux-3.0.7/arch/sparc/mm/fault_32.c 4079diff -urNp linux-3.0.8/arch/sparc/Makefile linux-3.0.8/arch/sparc/Makefile
4426--- linux-3.0.7/arch/sparc/mm/fault_32.c 2011-07-21 22:17:23.000000000 -0400 4080--- linux-3.0.8/arch/sparc/Makefile 2011-07-21 22:17:23.000000000 -0400
4427+++ linux-3.0.7/arch/sparc/mm/fault_32.c 2011-08-23 21:47:55.000000000 -0400 4081+++ linux-3.0.8/arch/sparc/Makefile 2011-08-23 21:48:14.000000000 -0400
4082@@ -75,7 +75,7 @@ drivers-$(CONFIG_OPROFILE) += arch/sparc
4083 # Export what is needed by arch/sparc/boot/Makefile
4084 export VMLINUX_INIT VMLINUX_MAIN
4085 VMLINUX_INIT := $(head-y) $(init-y)
4086-VMLINUX_MAIN := $(core-y) kernel/ mm/ fs/ ipc/ security/ crypto/ block/
4087+VMLINUX_MAIN := $(core-y) kernel/ mm/ fs/ ipc/ security/ crypto/ block/ grsecurity/
4088 VMLINUX_MAIN += $(patsubst %/, %/lib.a, $(libs-y)) $(libs-y)
4089 VMLINUX_MAIN += $(drivers-y) $(net-y)
4090
4091diff -urNp linux-3.0.8/arch/sparc/mm/fault_32.c linux-3.0.8/arch/sparc/mm/fault_32.c
4092--- linux-3.0.8/arch/sparc/mm/fault_32.c 2011-07-21 22:17:23.000000000 -0400
4093+++ linux-3.0.8/arch/sparc/mm/fault_32.c 2011-08-23 21:47:55.000000000 -0400
4428@@ -22,6 +22,9 @@ 4094@@ -22,6 +22,9 @@
4429 #include <linux/interrupt.h> 4095 #include <linux/interrupt.h>
4430 #include <linux/module.h> 4096 #include <linux/module.h>
@@ -4729,9 +4395,9 @@ diff -urNp linux-3.0.7/arch/sparc/mm/fault_32.c linux-3.0.7/arch/sparc/mm/fault_
4729 /* Allow reads even for write-only mappings */ 4395 /* Allow reads even for write-only mappings */
4730 if(!(vma->vm_flags & (VM_READ | VM_EXEC))) 4396 if(!(vma->vm_flags & (VM_READ | VM_EXEC)))
4731 goto bad_area; 4397 goto bad_area;
4732diff -urNp linux-3.0.7/arch/sparc/mm/fault_64.c linux-3.0.7/arch/sparc/mm/fault_64.c 4398diff -urNp linux-3.0.8/arch/sparc/mm/fault_64.c linux-3.0.8/arch/sparc/mm/fault_64.c
4733--- linux-3.0.7/arch/sparc/mm/fault_64.c 2011-07-21 22:17:23.000000000 -0400 4399--- linux-3.0.8/arch/sparc/mm/fault_64.c 2011-07-21 22:17:23.000000000 -0400
4734+++ linux-3.0.7/arch/sparc/mm/fault_64.c 2011-08-23 21:48:14.000000000 -0400 4400+++ linux-3.0.8/arch/sparc/mm/fault_64.c 2011-08-23 21:48:14.000000000 -0400
4735@@ -21,6 +21,9 @@ 4401@@ -21,6 +21,9 @@
4736 #include <linux/kprobes.h> 4402 #include <linux/kprobes.h>
4737 #include <linux/kdebug.h> 4403 #include <linux/kdebug.h>
@@ -5239,9 +4905,9 @@ diff -urNp linux-3.0.7/arch/sparc/mm/fault_64.c linux-3.0.7/arch/sparc/mm/fault_
5239 /* Pure DTLB misses do not tell us whether the fault causing 4905 /* Pure DTLB misses do not tell us whether the fault causing
5240 * 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
5241 * 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
5242diff -urNp linux-3.0.7/arch/sparc/mm/hugetlbpage.c linux-3.0.7/arch/sparc/mm/hugetlbpage.c 4908diff -urNp linux-3.0.8/arch/sparc/mm/hugetlbpage.c linux-3.0.8/arch/sparc/mm/hugetlbpage.c
5243--- linux-3.0.7/arch/sparc/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000 -0400 4909--- linux-3.0.8/arch/sparc/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000 -0400
5244+++ linux-3.0.7/arch/sparc/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000 -0400 4910+++ linux-3.0.8/arch/sparc/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000 -0400
5245@@ -68,7 +68,7 @@ full_search: 4911@@ -68,7 +68,7 @@ full_search:
5246 } 4912 }
5247 return -ENOMEM; 4913 return -ENOMEM;
@@ -5301,9 +4967,9 @@ diff -urNp linux-3.0.7/arch/sparc/mm/hugetlbpage.c linux-3.0.7/arch/sparc/mm/hug
5301 return addr; 4967 return addr;
5302 } 4968 }
5303 if (mm->get_unmapped_area == arch_get_unmapped_area) 4969 if (mm->get_unmapped_area == arch_get_unmapped_area)
5304diff -urNp linux-3.0.7/arch/sparc/mm/init_32.c linux-3.0.7/arch/sparc/mm/init_32.c 4970diff -urNp linux-3.0.8/arch/sparc/mm/init_32.c linux-3.0.8/arch/sparc/mm/init_32.c
5305--- linux-3.0.7/arch/sparc/mm/init_32.c 2011-07-21 22:17:23.000000000 -0400 4971--- linux-3.0.8/arch/sparc/mm/init_32.c 2011-07-21 22:17:23.000000000 -0400
5306+++ linux-3.0.7/arch/sparc/mm/init_32.c 2011-08-23 21:47:55.000000000 -0400 4972+++ linux-3.0.8/arch/sparc/mm/init_32.c 2011-08-23 21:47:55.000000000 -0400
5307@@ -316,6 +316,9 @@ extern void device_scan(void); 4973@@ -316,6 +316,9 @@ extern void device_scan(void);
5308 pgprot_t PAGE_SHARED __read_mostly; 4974 pgprot_t PAGE_SHARED __read_mostly;
5309 EXPORT_SYMBOL(PAGE_SHARED); 4975 EXPORT_SYMBOL(PAGE_SHARED);
@@ -5338,9 +5004,21 @@ diff -urNp linux-3.0.7/arch/sparc/mm/init_32.c linux-3.0.7/arch/sparc/mm/init_32
5338 protection_map[12] = PAGE_READONLY; 5004 protection_map[12] = PAGE_READONLY;
5339 protection_map[13] = PAGE_READONLY; 5005 protection_map[13] = PAGE_READONLY;
5340 protection_map[14] = PAGE_SHARED; 5006 protection_map[14] = PAGE_SHARED;
5341diff -urNp linux-3.0.7/arch/sparc/mm/srmmu.c linux-3.0.7/arch/sparc/mm/srmmu.c 5007diff -urNp linux-3.0.8/arch/sparc/mm/Makefile linux-3.0.8/arch/sparc/mm/Makefile
5342--- linux-3.0.7/arch/sparc/mm/srmmu.c 2011-07-21 22:17:23.000000000 -0400 5008--- linux-3.0.8/arch/sparc/mm/Makefile 2011-07-21 22:17:23.000000000 -0400
5343+++ linux-3.0.7/arch/sparc/mm/srmmu.c 2011-08-23 21:47:55.000000000 -0400 5009+++ linux-3.0.8/arch/sparc/mm/Makefile 2011-08-23 21:47:55.000000000 -0400
5010@@ -2,7 +2,7 @@
5011 #
5012
5013 asflags-y := -ansi
5014-ccflags-y := -Werror
5015+#ccflags-y := -Werror
5016
5017 obj-$(CONFIG_SPARC64) += ultra.o tlb.o tsb.o
5018 obj-y += fault_$(BITS).o
5019diff -urNp linux-3.0.8/arch/sparc/mm/srmmu.c linux-3.0.8/arch/sparc/mm/srmmu.c
5020--- linux-3.0.8/arch/sparc/mm/srmmu.c 2011-07-21 22:17:23.000000000 -0400
5021+++ linux-3.0.8/arch/sparc/mm/srmmu.c 2011-08-23 21:47:55.000000000 -0400
5344@@ -2200,6 +2200,13 @@ void __init ld_mmu_srmmu(void) 5022@@ -2200,6 +2200,13 @@ void __init ld_mmu_srmmu(void)
5345 PAGE_SHARED = pgprot_val(SRMMU_PAGE_SHARED); 5023 PAGE_SHARED = pgprot_val(SRMMU_PAGE_SHARED);
5346 BTFIXUPSET_INT(page_copy, pgprot_val(SRMMU_PAGE_COPY)); 5024 BTFIXUPSET_INT(page_copy, pgprot_val(SRMMU_PAGE_COPY));
@@ -5355,9 +5033,9 @@ diff -urNp linux-3.0.7/arch/sparc/mm/srmmu.c linux-3.0.7/arch/sparc/mm/srmmu.c
5355 BTFIXUPSET_INT(page_kernel, pgprot_val(SRMMU_PAGE_KERNEL)); 5033 BTFIXUPSET_INT(page_kernel, pgprot_val(SRMMU_PAGE_KERNEL));
5356 page_kernel = pgprot_val(SRMMU_PAGE_KERNEL); 5034 page_kernel = pgprot_val(SRMMU_PAGE_KERNEL);
5357 5035
5358diff -urNp linux-3.0.7/arch/um/include/asm/kmap_types.h linux-3.0.7/arch/um/include/asm/kmap_types.h 5036diff -urNp linux-3.0.8/arch/um/include/asm/kmap_types.h linux-3.0.8/arch/um/include/asm/kmap_types.h
5359--- linux-3.0.7/arch/um/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400 5037--- linux-3.0.8/arch/um/include/asm/kmap_types.h 2011-07-21 22:17:23.000000000 -0400
5360+++ linux-3.0.7/arch/um/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400 5038+++ linux-3.0.8/arch/um/include/asm/kmap_types.h 2011-08-23 21:47:55.000000000 -0400
5361@@ -23,6 +23,7 @@ enum km_type { 5039@@ -23,6 +23,7 @@ enum km_type {
5362 KM_IRQ1, 5040 KM_IRQ1,
5363 KM_SOFTIRQ0, 5041 KM_SOFTIRQ0,
@@ -5366,9 +5044,9 @@ diff -urNp linux-3.0.7/arch/um/include/asm/kmap_types.h linux-3.0.7/arch/um/incl
5366 KM_TYPE_NR 5044 KM_TYPE_NR
5367 }; 5045 };
5368 5046
5369diff -urNp linux-3.0.7/arch/um/include/asm/page.h linux-3.0.7/arch/um/include/asm/page.h 5047diff -urNp linux-3.0.8/arch/um/include/asm/page.h linux-3.0.8/arch/um/include/asm/page.h
5370--- linux-3.0.7/arch/um/include/asm/page.h 2011-07-21 22:17:23.000000000 -0400 5048--- linux-3.0.8/arch/um/include/asm/page.h 2011-07-21 22:17:23.000000000 -0400
5371+++ linux-3.0.7/arch/um/include/asm/page.h 2011-08-23 21:47:55.000000000 -0400 5049+++ linux-3.0.8/arch/um/include/asm/page.h 2011-08-23 21:47:55.000000000 -0400
5372@@ -14,6 +14,9 @@ 5050@@ -14,6 +14,9 @@
5373 #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT) 5051 #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
5374 #define PAGE_MASK (~(PAGE_SIZE-1)) 5052 #define PAGE_MASK (~(PAGE_SIZE-1))
@@ -5379,9 +5057,9 @@ diff -urNp linux-3.0.7/arch/um/include/asm/page.h linux-3.0.7/arch/um/include/as
5379 #ifndef __ASSEMBLY__ 5057 #ifndef __ASSEMBLY__
5380 5058
5381 struct page; 5059 struct page;
5382diff -urNp linux-3.0.7/arch/um/kernel/process.c linux-3.0.7/arch/um/kernel/process.c 5060diff -urNp linux-3.0.8/arch/um/kernel/process.c linux-3.0.8/arch/um/kernel/process.c
5383--- linux-3.0.7/arch/um/kernel/process.c 2011-07-21 22:17:23.000000000 -0400 5061--- linux-3.0.8/arch/um/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
5384+++ linux-3.0.7/arch/um/kernel/process.c 2011-08-23 21:47:55.000000000 -0400 5062+++ linux-3.0.8/arch/um/kernel/process.c 2011-08-23 21:47:55.000000000 -0400
5385@@ -404,22 +404,6 @@ int singlestepping(void * t) 5063@@ -404,22 +404,6 @@ int singlestepping(void * t)
5386 return 2; 5064 return 2;
5387 } 5065 }
@@ -5405,9 +5083,35 @@ diff -urNp linux-3.0.7/arch/um/kernel/process.c linux-3.0.7/arch/um/kernel/proce
5405 unsigned long get_wchan(struct task_struct *p) 5083 unsigned long get_wchan(struct task_struct *p)
5406 { 5084 {
5407 unsigned long stack_page, sp, ip; 5085 unsigned long stack_page, sp, ip;
5408diff -urNp linux-3.0.7/arch/um/sys-i386/syscalls.c linux-3.0.7/arch/um/sys-i386/syscalls.c 5086diff -urNp linux-3.0.8/arch/um/Makefile linux-3.0.8/arch/um/Makefile
5409--- linux-3.0.7/arch/um/sys-i386/syscalls.c 2011-07-21 22:17:23.000000000 -0400 5087--- linux-3.0.8/arch/um/Makefile 2011-07-21 22:17:23.000000000 -0400
5410+++ linux-3.0.7/arch/um/sys-i386/syscalls.c 2011-08-23 21:47:55.000000000 -0400 5088+++ linux-3.0.8/arch/um/Makefile 2011-10-20 04:46:01.000000000 -0400
5089@@ -49,6 +49,10 @@ USER_CFLAGS = $(patsubst $(KERNEL_DEFINE
5090 $(patsubst -I%,,$(KBUILD_CFLAGS)))) $(ARCH_INCLUDE) $(MODE_INCLUDE) \
5091 $(filter -I%,$(CFLAGS)) -D_FILE_OFFSET_BITS=64
5092
5093+ifdef CONSTIFY_PLUGIN
5094+USER_CFLAGS += $(CONSTIFY_PLUGIN) -fplugin-arg-constify_plugin-no-constify
5095+endif
5096+
5097 include $(srctree)/$(ARCH_DIR)/Makefile-$(SUBARCH)
5098
5099 #This will adjust *FLAGS accordingly to the platform.
5100diff -urNp linux-3.0.8/arch/um/sys-i386/shared/sysdep/system.h linux-3.0.8/arch/um/sys-i386/shared/sysdep/system.h
5101--- linux-3.0.8/arch/um/sys-i386/shared/sysdep/system.h 2011-07-21 22:17:23.000000000 -0400
5102+++ linux-3.0.8/arch/um/sys-i386/shared/sysdep/system.h 2011-10-20 04:46:01.000000000 -0400
5103@@ -17,7 +17,7 @@
5104 # define AT_VECTOR_SIZE_ARCH 1
5105 #endif
5106
5107-extern unsigned long arch_align_stack(unsigned long sp);
5108+#define arch_align_stack(x) ((x) & ~0xfUL)
5109
5110 void default_idle(void);
5111
5112diff -urNp linux-3.0.8/arch/um/sys-i386/syscalls.c linux-3.0.8/arch/um/sys-i386/syscalls.c
5113--- linux-3.0.8/arch/um/sys-i386/syscalls.c 2011-07-21 22:17:23.000000000 -0400
5114+++ linux-3.0.8/arch/um/sys-i386/syscalls.c 2011-08-23 21:47:55.000000000 -0400
5411@@ -11,6 +11,21 @@ 5115@@ -11,6 +11,21 @@
5412 #include "asm/uaccess.h" 5116 #include "asm/uaccess.h"
5413 #include "asm/unistd.h" 5117 #include "asm/unistd.h"
@@ -5430,172 +5134,21 @@ diff -urNp linux-3.0.7/arch/um/sys-i386/syscalls.c linux-3.0.7/arch/um/sys-i386/
5430 /* 5134 /*
5431 * The prototype on i386 is: 5135 * The prototype on i386 is:
5432 * 5136 *
5433diff -urNp linux-3.0.7/arch/x86/Kconfig linux-3.0.7/arch/x86/Kconfig 5137diff -urNp linux-3.0.8/arch/um/sys-x86_64/shared/sysdep/system.h linux-3.0.8/arch/um/sys-x86_64/shared/sysdep/system.h
5434--- linux-3.0.7/arch/x86/Kconfig 2011-07-21 22:17:23.000000000 -0400 5138--- linux-3.0.8/arch/um/sys-x86_64/shared/sysdep/system.h 2011-07-21 22:17:23.000000000 -0400
5435+++ linux-3.0.7/arch/x86/Kconfig 2011-09-17 00:58:36.000000000 -0400 5139+++ linux-3.0.8/arch/um/sys-x86_64/shared/sysdep/system.h 2011-10-20 04:46:01.000000000 -0400
5436@@ -229,7 +229,7 @@ config X86_HT 5140@@ -17,7 +17,7 @@
5437 5141 # define AT_VECTOR_SIZE_ARCH 1
5438 config X86_32_LAZY_GS 5142 #endif
5439 def_bool y
5440- depends on X86_32 && !CC_STACKPROTECTOR
5441+ depends on X86_32 && !CC_STACKPROTECTOR && !PAX_MEMORY_UDEREF
5442
5443 config ARCH_HWEIGHT_CFLAGS
5444 string
5445@@ -1018,7 +1018,7 @@ choice
5446
5447 config NOHIGHMEM
5448 bool "off"
5449- depends on !X86_NUMAQ
5450+ depends on !X86_NUMAQ && !(PAX_PAGEEXEC && PAX_ENABLE_PAE)
5451 ---help---
5452 Linux can use up to 64 Gigabytes of physical memory on x86 systems.
5453 However, the address space of 32-bit x86 processors is only 4
5454@@ -1055,7 +1055,7 @@ config NOHIGHMEM
5455
5456 config HIGHMEM4G
5457 bool "4GB"
5458- depends on !X86_NUMAQ
5459+ depends on !X86_NUMAQ && !(PAX_PAGEEXEC && PAX_ENABLE_PAE)
5460 ---help---
5461 Select this if you have a 32-bit processor and between 1 and 4
5462 gigabytes of physical RAM.
5463@@ -1109,7 +1109,7 @@ config PAGE_OFFSET
5464 hex
5465 default 0xB0000000 if VMSPLIT_3G_OPT
5466 default 0x80000000 if VMSPLIT_2G
5467- default 0x78000000 if VMSPLIT_2G_OPT
5468+ default 0x70000000 if VMSPLIT_2G_OPT
5469 default 0x40000000 if VMSPLIT_1G
5470 default 0xC0000000
5471 depends on X86_32
5472@@ -1483,6 +1483,7 @@ config SECCOMP
5473
5474 config CC_STACKPROTECTOR
5475 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
5476+ depends on X86_64 || !PAX_MEMORY_UDEREF
5477 ---help---
5478 This option turns on the -fstack-protector GCC feature. This
5479 feature puts, at the beginning of functions, a canary value on
5480@@ -1540,6 +1541,7 @@ config KEXEC_JUMP
5481 config PHYSICAL_START
5482 hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
5483 default "0x1000000"
5484+ range 0x400000 0x40000000
5485 ---help---
5486 This gives the physical address where the kernel is loaded.
5487
5488@@ -1603,6 +1605,7 @@ config X86_NEED_RELOCS
5489 config PHYSICAL_ALIGN
5490 hex "Alignment value to which kernel should be aligned" if X86_32
5491 default "0x1000000"
5492+ range 0x400000 0x1000000 if PAX_KERNEXEC
5493 range 0x2000 0x1000000
5494 ---help---
5495 This value puts the alignment restrictions on physical address
5496@@ -1634,9 +1637,10 @@ config HOTPLUG_CPU
5497 Say N if you want to disable CPU hotplug.
5498
5499 config COMPAT_VDSO
5500- def_bool y
5501+ def_bool n
5502 prompt "Compat VDSO support"
5503 depends on X86_32 || IA32_EMULATION
5504+ depends on !PAX_NOEXEC && !PAX_MEMORY_UDEREF
5505 ---help---
5506 Map the 32-bit VDSO to the predictable old-style address too.
5507
5508diff -urNp linux-3.0.7/arch/x86/Kconfig.cpu linux-3.0.7/arch/x86/Kconfig.cpu
5509--- linux-3.0.7/arch/x86/Kconfig.cpu 2011-07-21 22:17:23.000000000 -0400
5510+++ linux-3.0.7/arch/x86/Kconfig.cpu 2011-08-23 21:47:55.000000000 -0400
5511@@ -338,7 +338,7 @@ config X86_PPRO_FENCE
5512
5513 config X86_F00F_BUG
5514 def_bool y
5515- depends on M586MMX || M586TSC || M586 || M486 || M386
5516+ depends on (M586MMX || M586TSC || M586 || M486 || M386) && !PAX_KERNEXEC
5517
5518 config X86_INVD_BUG
5519 def_bool y
5520@@ -362,7 +362,7 @@ config X86_POPAD_OK
5521
5522 config X86_ALIGNMENT_16
5523 def_bool y
5524- depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODEGX1
5525+ depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK8 || MK7 || MK6 || MCORE2 || MPENTIUM4 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODEGX1
5526
5527 config X86_INTEL_USERCOPY
5528 def_bool y
5529@@ -408,7 +408,7 @@ config X86_CMPXCHG64
5530 # generates cmov.
5531 config X86_CMOV
5532 def_bool y
5533- depends on (MK8 || MK7 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEFFICEON || X86_64 || MATOM || MGEODE_LX)
5534+ depends on (MK8 || MK7 || MCORE2 || MPSC || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEFFICEON || X86_64 || MATOM || MGEODE_LX)
5535
5536 config X86_MINIMUM_CPU_FAMILY
5537 int
5538diff -urNp linux-3.0.7/arch/x86/Kconfig.debug linux-3.0.7/arch/x86/Kconfig.debug
5539--- linux-3.0.7/arch/x86/Kconfig.debug 2011-07-21 22:17:23.000000000 -0400
5540+++ linux-3.0.7/arch/x86/Kconfig.debug 2011-08-23 21:47:55.000000000 -0400
5541@@ -81,7 +81,7 @@ config X86_PTDUMP
5542 config DEBUG_RODATA
5543 bool "Write protect kernel read-only data structures"
5544 default y
5545- depends on DEBUG_KERNEL
5546+ depends on DEBUG_KERNEL && BROKEN
5547 ---help---
5548 Mark the kernel read-only data as write-protected in the pagetables,
5549 in order to catch accidental (and incorrect) writes to such const
5550@@ -99,7 +99,7 @@ config DEBUG_RODATA_TEST
5551 5143
5552 config DEBUG_SET_MODULE_RONX 5144-extern unsigned long arch_align_stack(unsigned long sp);
5553 bool "Set loadable kernel module data as NX and text as RO" 5145+#define arch_align_stack(x) ((x) & ~0xfUL)
5554- depends on MODULES
5555+ depends on MODULES && BROKEN
5556 ---help---
5557 This option helps catch unintended modifications to loadable
5558 kernel module's text and read-only data. It also prevents execution
5559diff -urNp linux-3.0.7/arch/x86/Makefile linux-3.0.7/arch/x86/Makefile
5560--- linux-3.0.7/arch/x86/Makefile 2011-07-21 22:17:23.000000000 -0400
5561+++ linux-3.0.7/arch/x86/Makefile 2011-08-23 21:48:14.000000000 -0400
5562@@ -44,6 +44,7 @@ ifeq ($(CONFIG_X86_32),y)
5563 else
5564 BITS := 64
5565 UTS_MACHINE := x86_64
5566+ biarch := $(call cc-option,-m64)
5567 CHECKFLAGS += -D__x86_64__ -m64
5568 5146
5569 KBUILD_AFLAGS += -m64 5147 void default_idle(void);
5570@@ -195,3 +196,12 @@ define archhelp
5571 echo ' FDARGS="..." arguments for the booted kernel'
5572 echo ' FDINITRD=file initrd for the booted kernel'
5573 endef
5574+
5575+define OLD_LD
5576+
5577+*** ${VERSION}.${PATCHLEVEL} PaX kernels no longer build correctly with old versions of binutils.
5578+*** Please upgrade your binutils to 2.18 or newer
5579+endef
5580+
5581+archprepare:
5582+ $(if $(LDFLAGS_BUILD_ID),,$(error $(OLD_LD)))
5583diff -urNp linux-3.0.7/arch/x86/boot/Makefile linux-3.0.7/arch/x86/boot/Makefile
5584--- linux-3.0.7/arch/x86/boot/Makefile 2011-07-21 22:17:23.000000000 -0400
5585+++ linux-3.0.7/arch/x86/boot/Makefile 2011-08-23 21:47:55.000000000 -0400
5586@@ -69,6 +69,9 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
5587 $(call cc-option, -fno-stack-protector) \
5588 $(call cc-option, -mpreferred-stack-boundary=2)
5589 KBUILD_CFLAGS += $(call cc-option, -m32)
5590+ifdef CONSTIFY_PLUGIN
5591+KBUILD_CFLAGS += $(CONSTIFY_PLUGIN) -fplugin-arg-constify_plugin-no-constify
5592+endif
5593 KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
5594 GCOV_PROFILE := n
5595 5148
5596diff -urNp linux-3.0.7/arch/x86/boot/bitops.h linux-3.0.7/arch/x86/boot/bitops.h 5149diff -urNp linux-3.0.8/arch/x86/boot/bitops.h linux-3.0.8/arch/x86/boot/bitops.h
5597--- linux-3.0.7/arch/x86/boot/bitops.h 2011-07-21 22:17:23.000000000 -0400 5150--- linux-3.0.8/arch/x86/boot/bitops.h 2011-07-21 22:17:23.000000000 -0400
5598+++ linux-3.0.7/arch/x86/boot/bitops.h 2011-08-23 21:47:55.000000000 -0400 5151+++ linux-3.0.8/arch/x86/boot/bitops.h 2011-08-23 21:47:55.000000000 -0400
5599@@ -26,7 +26,7 @@ static inline int variable_test_bit(int 5152@@ -26,7 +26,7 @@ static inline int variable_test_bit(int
5600 u8 v; 5153 u8 v;
5601 const u32 *p = (const u32 *)addr; 5154 const u32 *p = (const u32 *)addr;
@@ -5614,9 +5167,9 @@ diff -urNp linux-3.0.7/arch/x86/boot/bitops.h linux-3.0.7/arch/x86/boot/bitops.h
5614 } 5167 }
5615 5168
5616 #endif /* BOOT_BITOPS_H */ 5169 #endif /* BOOT_BITOPS_H */
5617diff -urNp linux-3.0.7/arch/x86/boot/boot.h linux-3.0.7/arch/x86/boot/boot.h 5170diff -urNp linux-3.0.8/arch/x86/boot/boot.h linux-3.0.8/arch/x86/boot/boot.h
5618--- linux-3.0.7/arch/x86/boot/boot.h 2011-07-21 22:17:23.000000000 -0400 5171--- linux-3.0.8/arch/x86/boot/boot.h 2011-07-21 22:17:23.000000000 -0400
5619+++ linux-3.0.7/arch/x86/boot/boot.h 2011-08-23 21:47:55.000000000 -0400 5172+++ linux-3.0.8/arch/x86/boot/boot.h 2011-08-23 21:47:55.000000000 -0400
5620@@ -85,7 +85,7 @@ static inline void io_delay(void) 5173@@ -85,7 +85,7 @@ static inline void io_delay(void)
5621 static inline u16 ds(void) 5174 static inline u16 ds(void)
5622 { 5175 {
@@ -5635,22 +5188,9 @@ diff -urNp linux-3.0.7/arch/x86/boot/boot.h linux-3.0.7/arch/x86/boot/boot.h
5635 : "=qm" (diff), "+D" (s1), "+S" (s2), "+c" (len)); 5188 : "=qm" (diff), "+D" (s1), "+S" (s2), "+c" (len));
5636 return diff; 5189 return diff;
5637 } 5190 }
5638diff -urNp linux-3.0.7/arch/x86/boot/compressed/Makefile linux-3.0.7/arch/x86/boot/compressed/Makefile 5191diff -urNp linux-3.0.8/arch/x86/boot/compressed/head_32.S linux-3.0.8/arch/x86/boot/compressed/head_32.S
5639--- linux-3.0.7/arch/x86/boot/compressed/Makefile 2011-07-21 22:17:23.000000000 -0400 5192--- linux-3.0.8/arch/x86/boot/compressed/head_32.S 2011-07-21 22:17:23.000000000 -0400
5640+++ linux-3.0.7/arch/x86/boot/compressed/Makefile 2011-08-23 21:47:55.000000000 -0400 5193+++ linux-3.0.8/arch/x86/boot/compressed/head_32.S 2011-08-23 21:47:55.000000000 -0400
5641@@ -14,6 +14,9 @@ cflags-$(CONFIG_X86_64) := -mcmodel=smal
5642 KBUILD_CFLAGS += $(cflags-y)
5643 KBUILD_CFLAGS += $(call cc-option,-ffreestanding)
5644 KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
5645+ifdef CONSTIFY_PLUGIN
5646+KBUILD_CFLAGS += $(CONSTIFY_PLUGIN) -fplugin-arg-constify_plugin-no-constify
5647+endif
5648
5649 KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
5650 GCOV_PROFILE := n
5651diff -urNp linux-3.0.7/arch/x86/boot/compressed/head_32.S linux-3.0.7/arch/x86/boot/compressed/head_32.S
5652--- linux-3.0.7/arch/x86/boot/compressed/head_32.S 2011-07-21 22:17:23.000000000 -0400
5653+++ linux-3.0.7/arch/x86/boot/compressed/head_32.S 2011-08-23 21:47:55.000000000 -0400
5654@@ -76,7 +76,7 @@ ENTRY(startup_32) 5194@@ -76,7 +76,7 @@ ENTRY(startup_32)
5655 notl %eax 5195 notl %eax
5656 andl %eax, %ebx 5196 andl %eax, %ebx
@@ -5679,9 +5219,9 @@ diff -urNp linux-3.0.7/arch/x86/boot/compressed/head_32.S linux-3.0.7/arch/x86/b
5679 addl %ebx, -__PAGE_OFFSET(%ebx, %ecx) 5219 addl %ebx, -__PAGE_OFFSET(%ebx, %ecx)
5680 jmp 1b 5220 jmp 1b
5681 2: 5221 2:
5682diff -urNp linux-3.0.7/arch/x86/boot/compressed/head_64.S linux-3.0.7/arch/x86/boot/compressed/head_64.S 5222diff -urNp linux-3.0.8/arch/x86/boot/compressed/head_64.S linux-3.0.8/arch/x86/boot/compressed/head_64.S
5683--- linux-3.0.7/arch/x86/boot/compressed/head_64.S 2011-07-21 22:17:23.000000000 -0400 5223--- linux-3.0.8/arch/x86/boot/compressed/head_64.S 2011-07-21 22:17:23.000000000 -0400
5684+++ linux-3.0.7/arch/x86/boot/compressed/head_64.S 2011-08-23 21:47:55.000000000 -0400 5224+++ linux-3.0.8/arch/x86/boot/compressed/head_64.S 2011-08-23 21:47:55.000000000 -0400
5685@@ -91,7 +91,7 @@ ENTRY(startup_32) 5225@@ -91,7 +91,7 @@ ENTRY(startup_32)
5686 notl %eax 5226 notl %eax
5687 andl %eax, %ebx 5227 andl %eax, %ebx
@@ -5700,9 +5240,22 @@ diff -urNp linux-3.0.7/arch/x86/boot/compressed/head_64.S linux-3.0.7/arch/x86/b
5700 #endif 5240 #endif
5701 5241
5702 /* Target address to relocate to for decompression */ 5242 /* Target address to relocate to for decompression */
5703diff -urNp linux-3.0.7/arch/x86/boot/compressed/misc.c linux-3.0.7/arch/x86/boot/compressed/misc.c 5243diff -urNp linux-3.0.8/arch/x86/boot/compressed/Makefile linux-3.0.8/arch/x86/boot/compressed/Makefile
5704--- linux-3.0.7/arch/x86/boot/compressed/misc.c 2011-07-21 22:17:23.000000000 -0400 5244--- linux-3.0.8/arch/x86/boot/compressed/Makefile 2011-07-21 22:17:23.000000000 -0400
5705+++ linux-3.0.7/arch/x86/boot/compressed/misc.c 2011-08-23 21:47:55.000000000 -0400 5245+++ linux-3.0.8/arch/x86/boot/compressed/Makefile 2011-08-23 21:47:55.000000000 -0400
5246@@ -14,6 +14,9 @@ cflags-$(CONFIG_X86_64) := -mcmodel=smal
5247 KBUILD_CFLAGS += $(cflags-y)
5248 KBUILD_CFLAGS += $(call cc-option,-ffreestanding)
5249 KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
5250+ifdef CONSTIFY_PLUGIN
5251+KBUILD_CFLAGS += $(CONSTIFY_PLUGIN) -fplugin-arg-constify_plugin-no-constify
5252+endif
5253
5254 KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
5255 GCOV_PROFILE := n
5256diff -urNp linux-3.0.8/arch/x86/boot/compressed/misc.c linux-3.0.8/arch/x86/boot/compressed/misc.c
5257--- linux-3.0.8/arch/x86/boot/compressed/misc.c 2011-07-21 22:17:23.000000000 -0400
5258+++ linux-3.0.8/arch/x86/boot/compressed/misc.c 2011-08-23 21:47:55.000000000 -0400
5706@@ -310,7 +310,7 @@ static void parse_elf(void *output) 5259@@ -310,7 +310,7 @@ static void parse_elf(void *output)
5707 case PT_LOAD: 5260 case PT_LOAD:
5708 #ifdef CONFIG_RELOCATABLE 5261 #ifdef CONFIG_RELOCATABLE
@@ -5721,9 +5274,9 @@ diff -urNp linux-3.0.7/arch/x86/boot/compressed/misc.c linux-3.0.7/arch/x86/boot
5721 error("Wrong destination address"); 5274 error("Wrong destination address");
5722 #endif 5275 #endif
5723 5276
5724diff -urNp linux-3.0.7/arch/x86/boot/compressed/relocs.c linux-3.0.7/arch/x86/boot/compressed/relocs.c 5277diff -urNp linux-3.0.8/arch/x86/boot/compressed/relocs.c linux-3.0.8/arch/x86/boot/compressed/relocs.c
5725--- linux-3.0.7/arch/x86/boot/compressed/relocs.c 2011-07-21 22:17:23.000000000 -0400 5278--- linux-3.0.8/arch/x86/boot/compressed/relocs.c 2011-07-21 22:17:23.000000000 -0400
5726+++ linux-3.0.7/arch/x86/boot/compressed/relocs.c 2011-08-23 21:47:55.000000000 -0400 5279+++ linux-3.0.8/arch/x86/boot/compressed/relocs.c 2011-08-23 21:47:55.000000000 -0400
5727@@ -13,8 +13,11 @@ 5280@@ -13,8 +13,11 @@
5728 5281
5729 static void die(char *fmt, ...); 5282 static void die(char *fmt, ...);
@@ -5916,9 +5469,9 @@ diff -urNp linux-3.0.7/arch/x86/boot/compressed/relocs.c linux-3.0.7/arch/x86/bo
5916 read_shdrs(fp); 5469 read_shdrs(fp);
5917 read_strtabs(fp); 5470 read_strtabs(fp);
5918 read_symtabs(fp); 5471 read_symtabs(fp);
5919diff -urNp linux-3.0.7/arch/x86/boot/cpucheck.c linux-3.0.7/arch/x86/boot/cpucheck.c 5472diff -urNp linux-3.0.8/arch/x86/boot/cpucheck.c linux-3.0.8/arch/x86/boot/cpucheck.c
5920--- linux-3.0.7/arch/x86/boot/cpucheck.c 2011-07-21 22:17:23.000000000 -0400 5473--- linux-3.0.8/arch/x86/boot/cpucheck.c 2011-07-21 22:17:23.000000000 -0400
5921+++ linux-3.0.7/arch/x86/boot/cpucheck.c 2011-08-23 21:47:55.000000000 -0400 5474+++ linux-3.0.8/arch/x86/boot/cpucheck.c 2011-08-23 21:47:55.000000000 -0400
5922@@ -74,7 +74,7 @@ static int has_fpu(void) 5475@@ -74,7 +74,7 @@ static int has_fpu(void)
5923 u16 fcw = -1, fsw = -1; 5476 u16 fcw = -1, fsw = -1;
5924 u32 cr0; 5477 u32 cr0;
@@ -6014,9 +5567,9 @@ diff -urNp linux-3.0.7/arch/x86/boot/cpucheck.c linux-3.0.7/arch/x86/boot/cpuche
6014 5567
6015 err = check_flags(); 5568 err = check_flags();
6016 } 5569 }
6017diff -urNp linux-3.0.7/arch/x86/boot/header.S linux-3.0.7/arch/x86/boot/header.S 5570diff -urNp linux-3.0.8/arch/x86/boot/header.S linux-3.0.8/arch/x86/boot/header.S
6018--- linux-3.0.7/arch/x86/boot/header.S 2011-07-21 22:17:23.000000000 -0400 5571--- linux-3.0.8/arch/x86/boot/header.S 2011-07-21 22:17:23.000000000 -0400
6019+++ linux-3.0.7/arch/x86/boot/header.S 2011-08-23 21:47:55.000000000 -0400 5572+++ linux-3.0.8/arch/x86/boot/header.S 2011-08-23 21:47:55.000000000 -0400
6020@@ -224,7 +224,7 @@ setup_data: .quad 0 # 64-bit physical 5573@@ -224,7 +224,7 @@ setup_data: .quad 0 # 64-bit physical
6021 # single linked list of 5574 # single linked list of
6022 # struct setup_data 5575 # struct setup_data
@@ -6026,9 +5579,22 @@ diff -urNp linux-3.0.7/arch/x86/boot/header.S linux-3.0.7/arch/x86/boot/header.S
6026 5579
6027 #define ZO_INIT_SIZE (ZO__end - ZO_startup_32 + ZO_z_extract_offset) 5580 #define ZO_INIT_SIZE (ZO__end - ZO_startup_32 + ZO_z_extract_offset)
6028 #define VO_INIT_SIZE (VO__end - VO__text) 5581 #define VO_INIT_SIZE (VO__end - VO__text)
6029diff -urNp linux-3.0.7/arch/x86/boot/memory.c linux-3.0.7/arch/x86/boot/memory.c 5582diff -urNp linux-3.0.8/arch/x86/boot/Makefile linux-3.0.8/arch/x86/boot/Makefile
6030--- linux-3.0.7/arch/x86/boot/memory.c 2011-07-21 22:17:23.000000000 -0400 5583--- linux-3.0.8/arch/x86/boot/Makefile 2011-07-21 22:17:23.000000000 -0400
6031+++ linux-3.0.7/arch/x86/boot/memory.c 2011-08-23 21:47:55.000000000 -0400 5584+++ linux-3.0.8/arch/x86/boot/Makefile 2011-08-23 21:47:55.000000000 -0400
5585@@ -69,6 +69,9 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
5586 $(call cc-option, -fno-stack-protector) \
5587 $(call cc-option, -mpreferred-stack-boundary=2)
5588 KBUILD_CFLAGS += $(call cc-option, -m32)
5589+ifdef CONSTIFY_PLUGIN
5590+KBUILD_CFLAGS += $(CONSTIFY_PLUGIN) -fplugin-arg-constify_plugin-no-constify
5591+endif
5592 KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
5593 GCOV_PROFILE := n
5594
5595diff -urNp linux-3.0.8/arch/x86/boot/memory.c linux-3.0.8/arch/x86/boot/memory.c
5596--- linux-3.0.8/arch/x86/boot/memory.c 2011-07-21 22:17:23.000000000 -0400
5597+++ linux-3.0.8/arch/x86/boot/memory.c 2011-08-23 21:47:55.000000000 -0400
6032@@ -19,7 +19,7 @@ 5598@@ -19,7 +19,7 @@
6033 5599
6034 static int detect_memory_e820(void) 5600 static int detect_memory_e820(void)
@@ -6038,20 +5604,9 @@ diff -urNp linux-3.0.7/arch/x86/boot/memory.c linux-3.0.7/arch/x86/boot/memory.c
6038 struct biosregs ireg, oreg; 5604 struct biosregs ireg, oreg;
6039 struct e820entry *desc = boot_params.e820_map; 5605 struct e820entry *desc = boot_params.e820_map;
6040 static struct e820entry buf; /* static so it is zeroed */ 5606 static struct e820entry buf; /* static so it is zeroed */
6041diff -urNp linux-3.0.7/arch/x86/boot/video-vesa.c linux-3.0.7/arch/x86/boot/video-vesa.c 5607diff -urNp linux-3.0.8/arch/x86/boot/video.c linux-3.0.8/arch/x86/boot/video.c
6042--- linux-3.0.7/arch/x86/boot/video-vesa.c 2011-07-21 22:17:23.000000000 -0400 5608--- linux-3.0.8/arch/x86/boot/video.c 2011-07-21 22:17:23.000000000 -0400
6043+++ linux-3.0.7/arch/x86/boot/video-vesa.c 2011-08-23 21:47:55.000000000 -0400 5609+++ linux-3.0.8/arch/x86/boot/video.c 2011-08-23 21:47:55.000000000 -0400
6044@@ -200,6 +200,7 @@ static void vesa_store_pm_info(void)
6045
6046 boot_params.screen_info.vesapm_seg = oreg.es;
6047 boot_params.screen_info.vesapm_off = oreg.di;
6048+ boot_params.screen_info.vesapm_size = oreg.cx;
6049 }
6050
6051 /*
6052diff -urNp linux-3.0.7/arch/x86/boot/video.c linux-3.0.7/arch/x86/boot/video.c
6053--- linux-3.0.7/arch/x86/boot/video.c 2011-07-21 22:17:23.000000000 -0400
6054+++ linux-3.0.7/arch/x86/boot/video.c 2011-08-23 21:47:55.000000000 -0400
6055@@ -96,7 +96,7 @@ static void store_mode_params(void) 5610@@ -96,7 +96,7 @@ static void store_mode_params(void)
6056 static unsigned int get_entry(void) 5611 static unsigned int get_entry(void)
6057 { 5612 {
@@ -6061,9 +5616,20 @@ diff -urNp linux-3.0.7/arch/x86/boot/video.c linux-3.0.7/arch/x86/boot/video.c
6061 int key; 5616 int key;
6062 unsigned int v; 5617 unsigned int v;
6063 5618
6064diff -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 5619diff -urNp linux-3.0.8/arch/x86/boot/video-vesa.c linux-3.0.8/arch/x86/boot/video-vesa.c
6065--- linux-3.0.7/arch/x86/crypto/aes-x86_64-asm_64.S 2011-07-21 22:17:23.000000000 -0400 5620--- linux-3.0.8/arch/x86/boot/video-vesa.c 2011-07-21 22:17:23.000000000 -0400
6066+++ linux-3.0.7/arch/x86/crypto/aes-x86_64-asm_64.S 2011-10-06 04:17:55.000000000 -0400 5621+++ linux-3.0.8/arch/x86/boot/video-vesa.c 2011-08-23 21:47:55.000000000 -0400
5622@@ -200,6 +200,7 @@ static void vesa_store_pm_info(void)
5623
5624 boot_params.screen_info.vesapm_seg = oreg.es;
5625 boot_params.screen_info.vesapm_off = oreg.di;
5626+ boot_params.screen_info.vesapm_size = oreg.cx;
5627 }
5628
5629 /*
5630diff -urNp linux-3.0.8/arch/x86/crypto/aes-x86_64-asm_64.S linux-3.0.8/arch/x86/crypto/aes-x86_64-asm_64.S
5631--- linux-3.0.8/arch/x86/crypto/aes-x86_64-asm_64.S 2011-07-21 22:17:23.000000000 -0400
5632+++ linux-3.0.8/arch/x86/crypto/aes-x86_64-asm_64.S 2011-10-06 04:17:55.000000000 -0400
6067@@ -8,6 +8,8 @@ 5633@@ -8,6 +8,8 @@
6068 * including this sentence is retained in full. 5634 * including this sentence is retained in full.
6069 */ 5635 */
@@ -6082,9 +5648,9 @@ diff -urNp linux-3.0.7/arch/x86/crypto/aes-x86_64-asm_64.S linux-3.0.7/arch/x86/
6082 #define epilogue(r1,r2,r3,r4,r5,r6,r7,r8,r9) \ 5648 #define epilogue(r1,r2,r3,r4,r5,r6,r7,r8,r9) \
6083 movq r1,r2; \ 5649 movq r1,r2; \
6084 movq r3,r4; \ 5650 movq r3,r4; \
6085diff -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 5651diff -urNp linux-3.0.8/arch/x86/crypto/salsa20-x86_64-asm_64.S linux-3.0.8/arch/x86/crypto/salsa20-x86_64-asm_64.S
6086--- linux-3.0.7/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-07-21 22:17:23.000000000 -0400 5652--- linux-3.0.8/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-07-21 22:17:23.000000000 -0400
6087+++ linux-3.0.7/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-10-06 04:17:55.000000000 -0400 5653+++ linux-3.0.8/arch/x86/crypto/salsa20-x86_64-asm_64.S 2011-10-06 04:17:55.000000000 -0400
6088@@ -1,3 +1,5 @@ 5654@@ -1,3 +1,5 @@
6089+#include <asm/alternative-asm.h> 5655+#include <asm/alternative-asm.h>
6090+ 5656+
@@ -6113,9 +5679,9 @@ diff -urNp linux-3.0.7/arch/x86/crypto/salsa20-x86_64-asm_64.S linux-3.0.7/arch/
6113 mov %rsi,%rdx 5679 mov %rsi,%rdx
6114+ pax_force_retaddr 5680+ pax_force_retaddr
6115 ret 5681 ret
6116diff -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 5682diff -urNp linux-3.0.8/arch/x86/crypto/twofish-x86_64-asm_64.S linux-3.0.8/arch/x86/crypto/twofish-x86_64-asm_64.S
6117--- linux-3.0.7/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-07-21 22:17:23.000000000 -0400 5683--- linux-3.0.8/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-07-21 22:17:23.000000000 -0400
6118+++ linux-3.0.7/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-10-06 04:17:55.000000000 -0400 5684+++ linux-3.0.8/arch/x86/crypto/twofish-x86_64-asm_64.S 2011-10-06 04:17:55.000000000 -0400
6119@@ -21,6 +21,7 @@ 5685@@ -21,6 +21,7 @@
6120 .text 5686 .text
6121 5687
@@ -6138,9 +5704,9 @@ diff -urNp linux-3.0.7/arch/x86/crypto/twofish-x86_64-asm_64.S linux-3.0.7/arch/
6138 movq $1,%rax 5704 movq $1,%rax
6139+ pax_force_retaddr 5705+ pax_force_retaddr
6140 ret 5706 ret
6141diff -urNp linux-3.0.7/arch/x86/ia32/ia32_aout.c linux-3.0.7/arch/x86/ia32/ia32_aout.c 5707diff -urNp linux-3.0.8/arch/x86/ia32/ia32_aout.c linux-3.0.8/arch/x86/ia32/ia32_aout.c
6142--- linux-3.0.7/arch/x86/ia32/ia32_aout.c 2011-07-21 22:17:23.000000000 -0400 5708--- linux-3.0.8/arch/x86/ia32/ia32_aout.c 2011-07-21 22:17:23.000000000 -0400
6143+++ linux-3.0.7/arch/x86/ia32/ia32_aout.c 2011-08-23 21:48:14.000000000 -0400 5709+++ linux-3.0.8/arch/x86/ia32/ia32_aout.c 2011-08-23 21:48:14.000000000 -0400
6144@@ -162,6 +162,8 @@ static int aout_core_dump(long signr, st 5710@@ -162,6 +162,8 @@ static int aout_core_dump(long signr, st
6145 unsigned long dump_start, dump_size; 5711 unsigned long dump_start, dump_size;
6146 struct user32 dump; 5712 struct user32 dump;
@@ -6150,88 +5716,9 @@ diff -urNp linux-3.0.7/arch/x86/ia32/ia32_aout.c linux-3.0.7/arch/x86/ia32/ia32_
6150 fs = get_fs(); 5716 fs = get_fs();
6151 set_fs(KERNEL_DS); 5717 set_fs(KERNEL_DS);
6152 has_dumped = 1; 5718 has_dumped = 1;
6153diff -urNp linux-3.0.7/arch/x86/ia32/ia32_signal.c linux-3.0.7/arch/x86/ia32/ia32_signal.c 5719diff -urNp linux-3.0.8/arch/x86/ia32/ia32entry.S linux-3.0.8/arch/x86/ia32/ia32entry.S
6154--- linux-3.0.7/arch/x86/ia32/ia32_signal.c 2011-07-21 22:17:23.000000000 -0400 5720--- linux-3.0.8/arch/x86/ia32/ia32entry.S 2011-07-21 22:17:23.000000000 -0400
6155+++ linux-3.0.7/arch/x86/ia32/ia32_signal.c 2011-10-06 04:17:55.000000000 -0400 5721+++ linux-3.0.8/arch/x86/ia32/ia32entry.S 2011-10-11 10:44:33.000000000 -0400
6156@@ -167,7 +167,7 @@ asmlinkage long sys32_sigaltstack(const
6157 }
6158 seg = get_fs();
6159 set_fs(KERNEL_DS);
6160- ret = do_sigaltstack(uss_ptr ? &uss : NULL, &uoss, regs->sp);
6161+ ret = do_sigaltstack(uss_ptr ? (const stack_t __force_user *)&uss : NULL, (stack_t __force_user *)&uoss, regs->sp);
6162 set_fs(seg);
6163 if (ret >= 0 && uoss_ptr) {
6164 if (!access_ok(VERIFY_WRITE, uoss_ptr, sizeof(stack_ia32_t)))
6165@@ -374,7 +374,7 @@ static int ia32_setup_sigcontext(struct
6166 */
6167 static void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
6168 size_t frame_size,
6169- void **fpstate)
6170+ void __user **fpstate)
6171 {
6172 unsigned long sp;
6173
6174@@ -395,7 +395,7 @@ static void __user *get_sigframe(struct
6175
6176 if (used_math()) {
6177 sp = sp - sig_xstate_ia32_size;
6178- *fpstate = (struct _fpstate_ia32 *) sp;
6179+ *fpstate = (struct _fpstate_ia32 __user *) sp;
6180 if (save_i387_xstate_ia32(*fpstate) < 0)
6181 return (void __user *) -1L;
6182 }
6183@@ -403,7 +403,7 @@ static void __user *get_sigframe(struct
6184 sp -= frame_size;
6185 /* Align the stack pointer according to the i386 ABI,
6186 * i.e. so that on function entry ((sp + 4) & 15) == 0. */
6187- sp = ((sp + 4) & -16ul) - 4;
6188+ sp = ((sp - 12) & -16ul) - 4;
6189 return (void __user *) sp;
6190 }
6191
6192@@ -461,7 +461,7 @@ int ia32_setup_frame(int sig, struct k_s
6193 * These are actually not used anymore, but left because some
6194 * gdb versions depend on them as a marker.
6195 */
6196- put_user_ex(*((u64 *)&code), (u64 *)frame->retcode);
6197+ put_user_ex(*((const u64 *)&code), (u64 __user *)frame->retcode);
6198 } put_user_catch(err);
6199
6200 if (err)
6201@@ -503,7 +503,7 @@ int ia32_setup_rt_frame(int sig, struct
6202 0xb8,
6203 __NR_ia32_rt_sigreturn,
6204 0x80cd,
6205- 0,
6206+ 0
6207 };
6208
6209 frame = get_sigframe(ka, regs, sizeof(*frame), &fpstate);
6210@@ -533,16 +533,18 @@ int ia32_setup_rt_frame(int sig, struct
6211
6212 if (ka->sa.sa_flags & SA_RESTORER)
6213 restorer = ka->sa.sa_restorer;
6214+ else if (current->mm->context.vdso)
6215+ /* Return stub is in 32bit vsyscall page */
6216+ restorer = VDSO32_SYMBOL(current->mm->context.vdso, rt_sigreturn);
6217 else
6218- restorer = VDSO32_SYMBOL(current->mm->context.vdso,
6219- rt_sigreturn);
6220+ restorer = &frame->retcode;
6221 put_user_ex(ptr_to_compat(restorer), &frame->pretcode);
6222
6223 /*
6224 * Not actually used anymore, but left because some gdb
6225 * versions need it.
6226 */
6227- put_user_ex(*((u64 *)&code), (u64 *)frame->retcode);
6228+ put_user_ex(*((const u64 *)&code), (u64 __user *)frame->retcode);
6229 } put_user_catch(err);
6230
6231 if (err)
6232diff -urNp linux-3.0.7/arch/x86/ia32/ia32entry.S linux-3.0.7/arch/x86/ia32/ia32entry.S
6233--- linux-3.0.7/arch/x86/ia32/ia32entry.S 2011-07-21 22:17:23.000000000 -0400
6234+++ linux-3.0.7/arch/x86/ia32/ia32entry.S 2011-10-11 10:44:33.000000000 -0400
6235@@ -13,7 +13,9 @@ 5722@@ -13,7 +13,9 @@
6236 #include <asm/thread_info.h> 5723 #include <asm/thread_info.h>
6237 #include <asm/segment.h> 5724 #include <asm/segment.h>
@@ -6418,9 +5905,88 @@ diff -urNp linux-3.0.7/arch/x86/ia32/ia32entry.S linux-3.0.7/arch/x86/ia32/ia32e
6418 ret 5905 ret
6419 CFI_ENDPROC 5906 CFI_ENDPROC
6420 5907
6421diff -urNp linux-3.0.7/arch/x86/ia32/sys_ia32.c linux-3.0.7/arch/x86/ia32/sys_ia32.c 5908diff -urNp linux-3.0.8/arch/x86/ia32/ia32_signal.c linux-3.0.8/arch/x86/ia32/ia32_signal.c
6422--- linux-3.0.7/arch/x86/ia32/sys_ia32.c 2011-07-21 22:17:23.000000000 -0400 5909--- linux-3.0.8/arch/x86/ia32/ia32_signal.c 2011-07-21 22:17:23.000000000 -0400
6423+++ linux-3.0.7/arch/x86/ia32/sys_ia32.c 2011-10-06 04:17:55.000000000 -0400 5910+++ linux-3.0.8/arch/x86/ia32/ia32_signal.c 2011-10-06 04:17:55.000000000 -0400
5911@@ -167,7 +167,7 @@ asmlinkage long sys32_sigaltstack(const
5912 }
5913 seg = get_fs();
5914 set_fs(KERNEL_DS);
5915- ret = do_sigaltstack(uss_ptr ? &uss : NULL, &uoss, regs->sp);
5916+ ret = do_sigaltstack(uss_ptr ? (const stack_t __force_user *)&uss : NULL, (stack_t __force_user *)&uoss, regs->sp);
5917 set_fs(seg);
5918 if (ret >= 0 && uoss_ptr) {
5919 if (!access_ok(VERIFY_WRITE, uoss_ptr, sizeof(stack_ia32_t)))
5920@@ -374,7 +374,7 @@ static int ia32_setup_sigcontext(struct
5921 */
5922 static void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
5923 size_t frame_size,
5924- void **fpstate)
5925+ void __user **fpstate)
5926 {
5927 unsigned long sp;
5928
5929@@ -395,7 +395,7 @@ static void __user *get_sigframe(struct
5930
5931 if (used_math()) {
5932 sp = sp - sig_xstate_ia32_size;
5933- *fpstate = (struct _fpstate_ia32 *) sp;
5934+ *fpstate = (struct _fpstate_ia32 __user *) sp;
5935 if (save_i387_xstate_ia32(*fpstate) < 0)
5936 return (void __user *) -1L;
5937 }
5938@@ -403,7 +403,7 @@ static void __user *get_sigframe(struct
5939 sp -= frame_size;
5940 /* Align the stack pointer according to the i386 ABI,
5941 * i.e. so that on function entry ((sp + 4) & 15) == 0. */
5942- sp = ((sp + 4) & -16ul) - 4;
5943+ sp = ((sp - 12) & -16ul) - 4;
5944 return (void __user *) sp;
5945 }
5946
5947@@ -461,7 +461,7 @@ int ia32_setup_frame(int sig, struct k_s
5948 * These are actually not used anymore, but left because some
5949 * gdb versions depend on them as a marker.
5950 */
5951- put_user_ex(*((u64 *)&code), (u64 *)frame->retcode);
5952+ put_user_ex(*((const u64 *)&code), (u64 __user *)frame->retcode);
5953 } put_user_catch(err);
5954
5955 if (err)
5956@@ -503,7 +503,7 @@ int ia32_setup_rt_frame(int sig, struct
5957 0xb8,
5958 __NR_ia32_rt_sigreturn,
5959 0x80cd,
5960- 0,
5961+ 0
5962 };
5963
5964 frame = get_sigframe(ka, regs, sizeof(*frame), &fpstate);
5965@@ -533,16 +533,18 @@ int ia32_setup_rt_frame(int sig, struct
5966
5967 if (ka->sa.sa_flags & SA_RESTORER)
5968 restorer = ka->sa.sa_restorer;
5969+ else if (current->mm->context.vdso)
5970+ /* Return stub is in 32bit vsyscall page */
5971+ restorer = VDSO32_SYMBOL(current->mm->context.vdso, rt_sigreturn);
5972 else
5973- restorer = VDSO32_SYMBOL(current->mm->context.vdso,
5974- rt_sigreturn);
5975+ restorer = &frame->retcode;
5976 put_user_ex(ptr_to_compat(restorer), &frame->pretcode);
5977
5978 /*
5979 * Not actually used anymore, but left because some gdb
5980 * versions need it.
5981 */
5982- put_user_ex(*((u64 *)&code), (u64 *)frame->retcode);
5983+ put_user_ex(*((const u64 *)&code), (u64 __user *)frame->retcode);
5984 } put_user_catch(err);
5985
5986 if (err)
5987diff -urNp linux-3.0.8/arch/x86/ia32/sys_ia32.c linux-3.0.8/arch/x86/ia32/sys_ia32.c
5988--- linux-3.0.8/arch/x86/ia32/sys_ia32.c 2011-07-21 22:17:23.000000000 -0400
5989+++ linux-3.0.8/arch/x86/ia32/sys_ia32.c 2011-10-06 04:17:55.000000000 -0400
6424@@ -69,8 +69,8 @@ asmlinkage long sys32_ftruncate64(unsign 5990@@ -69,8 +69,8 @@ asmlinkage long sys32_ftruncate64(unsign
6425 */ 5991 */
6426 static int cp_stat64(struct stat64 __user *ubuf, struct kstat *stat) 5992 static int cp_stat64(struct stat64 __user *ubuf, struct kstat *stat)
@@ -6488,9 +6054,9 @@ diff -urNp linux-3.0.7/arch/x86/ia32/sys_ia32.c linux-3.0.7/arch/x86/ia32/sys_ia
6488 count); 6054 count);
6489 set_fs(old_fs); 6055 set_fs(old_fs);
6490 6056
6491diff -urNp linux-3.0.7/arch/x86/include/asm/alternative-asm.h linux-3.0.7/arch/x86/include/asm/alternative-asm.h 6057diff -urNp linux-3.0.8/arch/x86/include/asm/alternative-asm.h linux-3.0.8/arch/x86/include/asm/alternative-asm.h
6492--- linux-3.0.7/arch/x86/include/asm/alternative-asm.h 2011-07-21 22:17:23.000000000 -0400 6058--- linux-3.0.8/arch/x86/include/asm/alternative-asm.h 2011-07-21 22:17:23.000000000 -0400
6493+++ linux-3.0.7/arch/x86/include/asm/alternative-asm.h 2011-10-07 19:07:23.000000000 -0400 6059+++ linux-3.0.8/arch/x86/include/asm/alternative-asm.h 2011-10-07 19:07:23.000000000 -0400
6494@@ -15,6 +15,20 @@ 6060@@ -15,6 +15,20 @@
6495 .endm 6061 .endm
6496 #endif 6062 #endif
@@ -6512,9 +6078,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/alternative-asm.h linux-3.0.7/arch/x
6512 .macro altinstruction_entry orig alt feature orig_len alt_len 6078 .macro altinstruction_entry orig alt feature orig_len alt_len
6513 .align 8 6079 .align 8
6514 .quad \orig 6080 .quad \orig
6515diff -urNp linux-3.0.7/arch/x86/include/asm/alternative.h linux-3.0.7/arch/x86/include/asm/alternative.h 6081diff -urNp linux-3.0.8/arch/x86/include/asm/alternative.h linux-3.0.8/arch/x86/include/asm/alternative.h
6516--- linux-3.0.7/arch/x86/include/asm/alternative.h 2011-07-21 22:17:23.000000000 -0400 6082--- linux-3.0.8/arch/x86/include/asm/alternative.h 2011-07-21 22:17:23.000000000 -0400
6517+++ linux-3.0.7/arch/x86/include/asm/alternative.h 2011-08-23 21:47:55.000000000 -0400 6083+++ linux-3.0.8/arch/x86/include/asm/alternative.h 2011-08-23 21:47:55.000000000 -0400
6518@@ -93,7 +93,7 @@ static inline int alternatives_text_rese 6084@@ -93,7 +93,7 @@ static inline int alternatives_text_rese
6519 ".section .discard,\"aw\",@progbits\n" \ 6085 ".section .discard,\"aw\",@progbits\n" \
6520 " .byte 0xff + (664f-663f) - (662b-661b)\n" /* rlen <= slen */ \ 6086 " .byte 0xff + (664f-663f) - (662b-661b)\n" /* rlen <= slen */ \
@@ -6524,9 +6090,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/alternative.h linux-3.0.7/arch/x86/i
6524 "663:\n\t" newinstr "\n664:\n" /* replacement */ \ 6090 "663:\n\t" newinstr "\n664:\n" /* replacement */ \
6525 ".previous" 6091 ".previous"
6526 6092
6527diff -urNp linux-3.0.7/arch/x86/include/asm/apic.h linux-3.0.7/arch/x86/include/asm/apic.h 6093diff -urNp linux-3.0.8/arch/x86/include/asm/apic.h linux-3.0.8/arch/x86/include/asm/apic.h
6528--- linux-3.0.7/arch/x86/include/asm/apic.h 2011-07-21 22:17:23.000000000 -0400 6094--- linux-3.0.8/arch/x86/include/asm/apic.h 2011-07-21 22:17:23.000000000 -0400
6529+++ linux-3.0.7/arch/x86/include/asm/apic.h 2011-08-23 21:48:14.000000000 -0400 6095+++ linux-3.0.8/arch/x86/include/asm/apic.h 2011-08-23 21:48:14.000000000 -0400
6530@@ -45,7 +45,7 @@ static inline void generic_apic_probe(vo 6096@@ -45,7 +45,7 @@ static inline void generic_apic_probe(vo
6531 6097
6532 #ifdef CONFIG_X86_LOCAL_APIC 6098 #ifdef CONFIG_X86_LOCAL_APIC
@@ -6536,9 +6102,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/apic.h linux-3.0.7/arch/x86/include/
6536 extern int local_apic_timer_c2_ok; 6102 extern int local_apic_timer_c2_ok;
6537 6103
6538 extern int disable_apic; 6104 extern int disable_apic;
6539diff -urNp linux-3.0.7/arch/x86/include/asm/apm.h linux-3.0.7/arch/x86/include/asm/apm.h 6105diff -urNp linux-3.0.8/arch/x86/include/asm/apm.h linux-3.0.8/arch/x86/include/asm/apm.h
6540--- linux-3.0.7/arch/x86/include/asm/apm.h 2011-07-21 22:17:23.000000000 -0400 6106--- linux-3.0.8/arch/x86/include/asm/apm.h 2011-07-21 22:17:23.000000000 -0400
6541+++ linux-3.0.7/arch/x86/include/asm/apm.h 2011-08-23 21:47:55.000000000 -0400 6107+++ linux-3.0.8/arch/x86/include/asm/apm.h 2011-08-23 21:47:55.000000000 -0400
6542@@ -34,7 +34,7 @@ static inline void apm_bios_call_asm(u32 6108@@ -34,7 +34,7 @@ static inline void apm_bios_call_asm(u32
6543 __asm__ __volatile__(APM_DO_ZERO_SEGS 6109 __asm__ __volatile__(APM_DO_ZERO_SEGS
6544 "pushl %%edi\n\t" 6110 "pushl %%edi\n\t"
@@ -6557,424 +6123,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/apm.h linux-3.0.7/arch/x86/include/a
6557 "setc %%bl\n\t" 6123 "setc %%bl\n\t"
6558 "popl %%ebp\n\t" 6124 "popl %%ebp\n\t"
6559 "popl %%edi\n\t" 6125 "popl %%edi\n\t"
6560diff -urNp linux-3.0.7/arch/x86/include/asm/atomic.h linux-3.0.7/arch/x86/include/asm/atomic.h 6126diff -urNp linux-3.0.8/arch/x86/include/asm/atomic64_32.h linux-3.0.8/arch/x86/include/asm/atomic64_32.h
6561--- linux-3.0.7/arch/x86/include/asm/atomic.h 2011-07-21 22:17:23.000000000 -0400 6127--- linux-3.0.8/arch/x86/include/asm/atomic64_32.h 2011-07-21 22:17:23.000000000 -0400
6562+++ linux-3.0.7/arch/x86/include/asm/atomic.h 2011-08-23 21:47:55.000000000 -0400 6128+++ linux-3.0.8/arch/x86/include/asm/atomic64_32.h 2011-08-23 21:47:55.000000000 -0400
6563@@ -22,7 +22,18 @@
6564 */
6565 static inline int atomic_read(const atomic_t *v)
6566 {
6567- return (*(volatile int *)&(v)->counter);
6568+ return (*(volatile const int *)&(v)->counter);
6569+}
6570+
6571+/**
6572+ * atomic_read_unchecked - read atomic variable
6573+ * @v: pointer of type atomic_unchecked_t
6574+ *
6575+ * Atomically reads the value of @v.
6576+ */
6577+static inline int atomic_read_unchecked(const atomic_unchecked_t *v)
6578+{
6579+ return (*(volatile const int *)&(v)->counter);
6580 }
6581
6582 /**
6583@@ -38,6 +49,18 @@ static inline void atomic_set(atomic_t *
6584 }
6585
6586 /**
6587+ * atomic_set_unchecked - set atomic variable
6588+ * @v: pointer of type atomic_unchecked_t
6589+ * @i: required value
6590+ *
6591+ * Atomically sets the value of @v to @i.
6592+ */
6593+static inline void atomic_set_unchecked(atomic_unchecked_t *v, int i)
6594+{
6595+ v->counter = i;
6596+}
6597+
6598+/**
6599 * atomic_add - add integer to atomic variable
6600 * @i: integer value to add
6601 * @v: pointer of type atomic_t
6602@@ -46,7 +69,29 @@ static inline void atomic_set(atomic_t *
6603 */
6604 static inline void atomic_add(int i, atomic_t *v)
6605 {
6606- asm volatile(LOCK_PREFIX "addl %1,%0"
6607+ asm volatile(LOCK_PREFIX "addl %1,%0\n"
6608+
6609+#ifdef CONFIG_PAX_REFCOUNT
6610+ "jno 0f\n"
6611+ LOCK_PREFIX "subl %1,%0\n"
6612+ "int $4\n0:\n"
6613+ _ASM_EXTABLE(0b, 0b)
6614+#endif
6615+
6616+ : "+m" (v->counter)
6617+ : "ir" (i));
6618+}
6619+
6620+/**
6621+ * atomic_add_unchecked - add integer to atomic variable
6622+ * @i: integer value to add
6623+ * @v: pointer of type atomic_unchecked_t
6624+ *
6625+ * Atomically adds @i to @v.
6626+ */
6627+static inline void atomic_add_unchecked(int i, atomic_unchecked_t *v)
6628+{
6629+ asm volatile(LOCK_PREFIX "addl %1,%0\n"
6630 : "+m" (v->counter)
6631 : "ir" (i));
6632 }
6633@@ -60,7 +105,29 @@ static inline void atomic_add(int i, ato
6634 */
6635 static inline void atomic_sub(int i, atomic_t *v)
6636 {
6637- asm volatile(LOCK_PREFIX "subl %1,%0"
6638+ asm volatile(LOCK_PREFIX "subl %1,%0\n"
6639+
6640+#ifdef CONFIG_PAX_REFCOUNT
6641+ "jno 0f\n"
6642+ LOCK_PREFIX "addl %1,%0\n"
6643+ "int $4\n0:\n"
6644+ _ASM_EXTABLE(0b, 0b)
6645+#endif
6646+
6647+ : "+m" (v->counter)
6648+ : "ir" (i));
6649+}
6650+
6651+/**
6652+ * atomic_sub_unchecked - subtract integer from atomic variable
6653+ * @i: integer value to subtract
6654+ * @v: pointer of type atomic_unchecked_t
6655+ *
6656+ * Atomically subtracts @i from @v.
6657+ */
6658+static inline void atomic_sub_unchecked(int i, atomic_unchecked_t *v)
6659+{
6660+ asm volatile(LOCK_PREFIX "subl %1,%0\n"
6661 : "+m" (v->counter)
6662 : "ir" (i));
6663 }
6664@@ -78,7 +145,16 @@ static inline int atomic_sub_and_test(in
6665 {
6666 unsigned char c;
6667
6668- asm volatile(LOCK_PREFIX "subl %2,%0; sete %1"
6669+ asm volatile(LOCK_PREFIX "subl %2,%0\n"
6670+
6671+#ifdef CONFIG_PAX_REFCOUNT
6672+ "jno 0f\n"
6673+ LOCK_PREFIX "addl %2,%0\n"
6674+ "int $4\n0:\n"
6675+ _ASM_EXTABLE(0b, 0b)
6676+#endif
6677+
6678+ "sete %1\n"
6679 : "+m" (v->counter), "=qm" (c)
6680 : "ir" (i) : "memory");
6681 return c;
6682@@ -92,7 +168,27 @@ static inline int atomic_sub_and_test(in
6683 */
6684 static inline void atomic_inc(atomic_t *v)
6685 {
6686- asm volatile(LOCK_PREFIX "incl %0"
6687+ asm volatile(LOCK_PREFIX "incl %0\n"
6688+
6689+#ifdef CONFIG_PAX_REFCOUNT
6690+ "jno 0f\n"
6691+ LOCK_PREFIX "decl %0\n"
6692+ "int $4\n0:\n"
6693+ _ASM_EXTABLE(0b, 0b)
6694+#endif
6695+
6696+ : "+m" (v->counter));
6697+}
6698+
6699+/**
6700+ * atomic_inc_unchecked - increment atomic variable
6701+ * @v: pointer of type atomic_unchecked_t
6702+ *
6703+ * Atomically increments @v by 1.
6704+ */
6705+static inline void atomic_inc_unchecked(atomic_unchecked_t *v)
6706+{
6707+ asm volatile(LOCK_PREFIX "incl %0\n"
6708 : "+m" (v->counter));
6709 }
6710
6711@@ -104,7 +200,27 @@ static inline void atomic_inc(atomic_t *
6712 */
6713 static inline void atomic_dec(atomic_t *v)
6714 {
6715- asm volatile(LOCK_PREFIX "decl %0"
6716+ asm volatile(LOCK_PREFIX "decl %0\n"
6717+
6718+#ifdef CONFIG_PAX_REFCOUNT
6719+ "jno 0f\n"
6720+ LOCK_PREFIX "incl %0\n"
6721+ "int $4\n0:\n"
6722+ _ASM_EXTABLE(0b, 0b)
6723+#endif
6724+
6725+ : "+m" (v->counter));
6726+}
6727+
6728+/**
6729+ * atomic_dec_unchecked - decrement atomic variable
6730+ * @v: pointer of type atomic_unchecked_t
6731+ *
6732+ * Atomically decrements @v by 1.
6733+ */
6734+static inline void atomic_dec_unchecked(atomic_unchecked_t *v)
6735+{
6736+ asm volatile(LOCK_PREFIX "decl %0\n"
6737 : "+m" (v->counter));
6738 }
6739
6740@@ -120,7 +236,16 @@ static inline int atomic_dec_and_test(at
6741 {
6742 unsigned char c;
6743
6744- asm volatile(LOCK_PREFIX "decl %0; sete %1"
6745+ asm volatile(LOCK_PREFIX "decl %0\n"
6746+
6747+#ifdef CONFIG_PAX_REFCOUNT
6748+ "jno 0f\n"
6749+ LOCK_PREFIX "incl %0\n"
6750+ "int $4\n0:\n"
6751+ _ASM_EXTABLE(0b, 0b)
6752+#endif
6753+
6754+ "sete %1\n"
6755 : "+m" (v->counter), "=qm" (c)
6756 : : "memory");
6757 return c != 0;
6758@@ -138,7 +263,35 @@ static inline int atomic_inc_and_test(at
6759 {
6760 unsigned char c;
6761
6762- asm volatile(LOCK_PREFIX "incl %0; sete %1"
6763+ asm volatile(LOCK_PREFIX "incl %0\n"
6764+
6765+#ifdef CONFIG_PAX_REFCOUNT
6766+ "jno 0f\n"
6767+ LOCK_PREFIX "decl %0\n"
6768+ "int $4\n0:\n"
6769+ _ASM_EXTABLE(0b, 0b)
6770+#endif
6771+
6772+ "sete %1\n"
6773+ : "+m" (v->counter), "=qm" (c)
6774+ : : "memory");
6775+ return c != 0;
6776+}
6777+
6778+/**
6779+ * atomic_inc_and_test_unchecked - increment and test
6780+ * @v: pointer of type atomic_unchecked_t
6781+ *
6782+ * Atomically increments @v by 1
6783+ * and returns true if the result is zero, or false for all
6784+ * other cases.
6785+ */
6786+static inline int atomic_inc_and_test_unchecked(atomic_unchecked_t *v)
6787+{
6788+ unsigned char c;
6789+
6790+ asm volatile(LOCK_PREFIX "incl %0\n"
6791+ "sete %1\n"
6792 : "+m" (v->counter), "=qm" (c)
6793 : : "memory");
6794 return c != 0;
6795@@ -157,7 +310,16 @@ static inline int atomic_add_negative(in
6796 {
6797 unsigned char c;
6798
6799- asm volatile(LOCK_PREFIX "addl %2,%0; sets %1"
6800+ asm volatile(LOCK_PREFIX "addl %2,%0\n"
6801+
6802+#ifdef CONFIG_PAX_REFCOUNT
6803+ "jno 0f\n"
6804+ LOCK_PREFIX "subl %2,%0\n"
6805+ "int $4\n0:\n"
6806+ _ASM_EXTABLE(0b, 0b)
6807+#endif
6808+
6809+ "sets %1\n"
6810 : "+m" (v->counter), "=qm" (c)
6811 : "ir" (i) : "memory");
6812 return c;
6813@@ -180,6 +342,46 @@ static inline int atomic_add_return(int
6814 #endif
6815 /* Modern 486+ processor */
6816 __i = i;
6817+ asm volatile(LOCK_PREFIX "xaddl %0, %1\n"
6818+
6819+#ifdef CONFIG_PAX_REFCOUNT
6820+ "jno 0f\n"
6821+ "movl %0, %1\n"
6822+ "int $4\n0:\n"
6823+ _ASM_EXTABLE(0b, 0b)
6824+#endif
6825+
6826+ : "+r" (i), "+m" (v->counter)
6827+ : : "memory");
6828+ return i + __i;
6829+
6830+#ifdef CONFIG_M386
6831+no_xadd: /* Legacy 386 processor */
6832+ local_irq_save(flags);
6833+ __i = atomic_read(v);
6834+ atomic_set(v, i + __i);
6835+ local_irq_restore(flags);
6836+ return i + __i;
6837+#endif
6838+}
6839+
6840+/**
6841+ * atomic_add_return_unchecked - add integer and return
6842+ * @v: pointer of type atomic_unchecked_t
6843+ * @i: integer value to add
6844+ *
6845+ * Atomically adds @i to @v and returns @i + @v
6846+ */
6847+static inline int atomic_add_return_unchecked(int i, atomic_unchecked_t *v)
6848+{
6849+ int __i;
6850+#ifdef CONFIG_M386
6851+ unsigned long flags;
6852+ if (unlikely(boot_cpu_data.x86 <= 3))
6853+ goto no_xadd;
6854+#endif
6855+ /* Modern 486+ processor */
6856+ __i = i;
6857 asm volatile(LOCK_PREFIX "xaddl %0, %1"
6858 : "+r" (i), "+m" (v->counter)
6859 : : "memory");
6860@@ -208,6 +410,10 @@ static inline int atomic_sub_return(int
6861 }
6862
6863 #define atomic_inc_return(v) (atomic_add_return(1, v))
6864+static inline int atomic_inc_return_unchecked(atomic_unchecked_t *v)
6865+{
6866+ return atomic_add_return_unchecked(1, v);
6867+}
6868 #define atomic_dec_return(v) (atomic_sub_return(1, v))
6869
6870 static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
6871@@ -215,11 +421,21 @@ static inline int atomic_cmpxchg(atomic_
6872 return cmpxchg(&v->counter, old, new);
6873 }
6874
6875+static inline int atomic_cmpxchg_unchecked(atomic_unchecked_t *v, int old, int new)
6876+{
6877+ return cmpxchg(&v->counter, old, new);
6878+}
6879+
6880 static inline int atomic_xchg(atomic_t *v, int new)
6881 {
6882 return xchg(&v->counter, new);
6883 }
6884
6885+static inline int atomic_xchg_unchecked(atomic_unchecked_t *v, int new)
6886+{
6887+ return xchg(&v->counter, new);
6888+}
6889+
6890 /**
6891 * atomic_add_unless - add unless the number is already a given value
6892 * @v: pointer of type atomic_t
6893@@ -231,21 +447,77 @@ static inline int atomic_xchg(atomic_t *
6894 */
6895 static inline int atomic_add_unless(atomic_t *v, int a, int u)
6896 {
6897- int c, old;
6898+ int c, old, new;
6899 c = atomic_read(v);
6900 for (;;) {
6901- if (unlikely(c == (u)))
6902+ if (unlikely(c == u))
6903 break;
6904- old = atomic_cmpxchg((v), c, c + (a));
6905+
6906+ asm volatile("addl %2,%0\n"
6907+
6908+#ifdef CONFIG_PAX_REFCOUNT
6909+ "jno 0f\n"
6910+ "subl %2,%0\n"
6911+ "int $4\n0:\n"
6912+ _ASM_EXTABLE(0b, 0b)
6913+#endif
6914+
6915+ : "=r" (new)
6916+ : "0" (c), "ir" (a));
6917+
6918+ old = atomic_cmpxchg(v, c, new);
6919 if (likely(old == c))
6920 break;
6921 c = old;
6922 }
6923- return c != (u);
6924+ return c != u;
6925 }
6926
6927 #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0)
6928
6929+/**
6930+ * atomic_inc_not_zero_hint - increment if not null
6931+ * @v: pointer of type atomic_t
6932+ * @hint: probable value of the atomic before the increment
6933+ *
6934+ * This version of atomic_inc_not_zero() gives a hint of probable
6935+ * value of the atomic. This helps processor to not read the memory
6936+ * before doing the atomic read/modify/write cycle, lowering
6937+ * number of bus transactions on some arches.
6938+ *
6939+ * Returns: 0 if increment was not done, 1 otherwise.
6940+ */
6941+#define atomic_inc_not_zero_hint atomic_inc_not_zero_hint
6942+static inline int atomic_inc_not_zero_hint(atomic_t *v, int hint)
6943+{
6944+ int val, c = hint, new;
6945+
6946+ /* sanity test, should be removed by compiler if hint is a constant */
6947+ if (!hint)
6948+ return atomic_inc_not_zero(v);
6949+
6950+ do {
6951+ asm volatile("incl %0\n"
6952+
6953+#ifdef CONFIG_PAX_REFCOUNT
6954+ "jno 0f\n"
6955+ "decl %0\n"
6956+ "int $4\n0:\n"
6957+ _ASM_EXTABLE(0b, 0b)
6958+#endif
6959+
6960+ : "=r" (new)
6961+ : "0" (c));
6962+
6963+ val = atomic_cmpxchg(v, c, new);
6964+ if (val == c)
6965+ return 1;
6966+ c = val;
6967+ } while (c);
6968+
6969+ return 0;
6970+}
6971+
6972 /*
6973 * atomic_dec_if_positive - decrement by 1 if old value positive
6974 * @v: pointer of type atomic_t
6975diff -urNp linux-3.0.7/arch/x86/include/asm/atomic64_32.h linux-3.0.7/arch/x86/include/asm/atomic64_32.h
6976--- linux-3.0.7/arch/x86/include/asm/atomic64_32.h 2011-07-21 22:17:23.000000000 -0400
6977+++ linux-3.0.7/arch/x86/include/asm/atomic64_32.h 2011-08-23 21:47:55.000000000 -0400
6978@@ -12,6 +12,14 @@ typedef struct { 6129@@ -12,6 +12,14 @@ typedef struct {
6979 u64 __aligned(8) counter; 6130 u64 __aligned(8) counter;
6980 } atomic64_t; 6131 } atomic64_t;
@@ -7124,9 +6275,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/atomic64_32.h linux-3.0.7/arch/x86/i
7124 * atomic64_sub - subtract the atomic64 variable 6275 * atomic64_sub - subtract the atomic64 variable
7125 * @i: integer value to subtract 6276 * @i: integer value to subtract
7126 * @v: pointer to type atomic64_t 6277 * @v: pointer to type atomic64_t
7127diff -urNp linux-3.0.7/arch/x86/include/asm/atomic64_64.h linux-3.0.7/arch/x86/include/asm/atomic64_64.h 6278diff -urNp linux-3.0.8/arch/x86/include/asm/atomic64_64.h linux-3.0.8/arch/x86/include/asm/atomic64_64.h
7128--- linux-3.0.7/arch/x86/include/asm/atomic64_64.h 2011-07-21 22:17:23.000000000 -0400 6279--- linux-3.0.8/arch/x86/include/asm/atomic64_64.h 2011-07-21 22:17:23.000000000 -0400
7129+++ linux-3.0.7/arch/x86/include/asm/atomic64_64.h 2011-08-23 21:47:55.000000000 -0400 6280+++ linux-3.0.8/arch/x86/include/asm/atomic64_64.h 2011-08-23 21:47:55.000000000 -0400
7130@@ -18,7 +18,19 @@ 6281@@ -18,7 +18,19 @@
7131 */ 6282 */
7132 static inline long atomic64_read(const atomic64_t *v) 6283 static inline long atomic64_read(const atomic64_t *v)
@@ -7448,9 +6599,424 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/atomic64_64.h linux-3.0.7/arch/x86/i
7448 } 6599 }
7449 6600
7450 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) 6601 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0)
7451diff -urNp linux-3.0.7/arch/x86/include/asm/bitops.h linux-3.0.7/arch/x86/include/asm/bitops.h 6602diff -urNp linux-3.0.8/arch/x86/include/asm/atomic.h linux-3.0.8/arch/x86/include/asm/atomic.h
7452--- linux-3.0.7/arch/x86/include/asm/bitops.h 2011-07-21 22:17:23.000000000 -0400 6603--- linux-3.0.8/arch/x86/include/asm/atomic.h 2011-07-21 22:17:23.000000000 -0400
7453+++ linux-3.0.7/arch/x86/include/asm/bitops.h 2011-08-23 21:47:55.000000000 -0400 6604+++ linux-3.0.8/arch/x86/include/asm/atomic.h 2011-08-23 21:47:55.000000000 -0400
6605@@ -22,7 +22,18 @@
6606 */
6607 static inline int atomic_read(const atomic_t *v)
6608 {
6609- return (*(volatile int *)&(v)->counter);
6610+ return (*(volatile const int *)&(v)->counter);
6611+}
6612+
6613+/**
6614+ * atomic_read_unchecked - read atomic variable
6615+ * @v: pointer of type atomic_unchecked_t
6616+ *
6617+ * Atomically reads the value of @v.
6618+ */
6619+static inline int atomic_read_unchecked(const atomic_unchecked_t *v)
6620+{
6621+ return (*(volatile const int *)&(v)->counter);
6622 }
6623
6624 /**
6625@@ -38,6 +49,18 @@ static inline void atomic_set(atomic_t *
6626 }
6627
6628 /**
6629+ * atomic_set_unchecked - set atomic variable
6630+ * @v: pointer of type atomic_unchecked_t
6631+ * @i: required value
6632+ *
6633+ * Atomically sets the value of @v to @i.
6634+ */
6635+static inline void atomic_set_unchecked(atomic_unchecked_t *v, int i)
6636+{
6637+ v->counter = i;
6638+}
6639+
6640+/**
6641 * atomic_add - add integer to atomic variable
6642 * @i: integer value to add
6643 * @v: pointer of type atomic_t
6644@@ -46,7 +69,29 @@ static inline void atomic_set(atomic_t *
6645 */
6646 static inline void atomic_add(int i, atomic_t *v)
6647 {
6648- asm volatile(LOCK_PREFIX "addl %1,%0"
6649+ asm volatile(LOCK_PREFIX "addl %1,%0\n"
6650+
6651+#ifdef CONFIG_PAX_REFCOUNT
6652+ "jno 0f\n"
6653+ LOCK_PREFIX "subl %1,%0\n"
6654+ "int $4\n0:\n"
6655+ _ASM_EXTABLE(0b, 0b)
6656+#endif
6657+
6658+ : "+m" (v->counter)
6659+ : "ir" (i));
6660+}
6661+
6662+/**
6663+ * atomic_add_unchecked - add integer to atomic variable
6664+ * @i: integer value to add
6665+ * @v: pointer of type atomic_unchecked_t
6666+ *
6667+ * Atomically adds @i to @v.
6668+ */
6669+static inline void atomic_add_unchecked(int i, atomic_unchecked_t *v)
6670+{
6671+ asm volatile(LOCK_PREFIX "addl %1,%0\n"
6672 : "+m" (v->counter)
6673 : "ir" (i));
6674 }
6675@@ -60,7 +105,29 @@ static inline void atomic_add(int i, ato
6676 */
6677 static inline void atomic_sub(int i, atomic_t *v)
6678 {
6679- asm volatile(LOCK_PREFIX "subl %1,%0"
6680+ asm volatile(LOCK_PREFIX "subl %1,%0\n"
6681+
6682+#ifdef CONFIG_PAX_REFCOUNT
6683+ "jno 0f\n"
6684+ LOCK_PREFIX "addl %1,%0\n"
6685+ "int $4\n0:\n"
6686+ _ASM_EXTABLE(0b, 0b)
6687+#endif
6688+
6689+ : "+m" (v->counter)
6690+ : "ir" (i));
6691+}
6692+
6693+/**
6694+ * atomic_sub_unchecked - subtract integer from atomic variable
6695+ * @i: integer value to subtract
6696+ * @v: pointer of type atomic_unchecked_t
6697+ *
6698+ * Atomically subtracts @i from @v.
6699+ */
6700+static inline void atomic_sub_unchecked(int i, atomic_unchecked_t *v)
6701+{
6702+ asm volatile(LOCK_PREFIX "subl %1,%0\n"
6703 : "+m" (v->counter)
6704 : "ir" (i));
6705 }
6706@@ -78,7 +145,16 @@ static inline int atomic_sub_and_test(in
6707 {
6708 unsigned char c;
6709
6710- asm volatile(LOCK_PREFIX "subl %2,%0; sete %1"
6711+ asm volatile(LOCK_PREFIX "subl %2,%0\n"
6712+
6713+#ifdef CONFIG_PAX_REFCOUNT
6714+ "jno 0f\n"
6715+ LOCK_PREFIX "addl %2,%0\n"
6716+ "int $4\n0:\n"
6717+ _ASM_EXTABLE(0b, 0b)
6718+#endif
6719+
6720+ "sete %1\n"
6721 : "+m" (v->counter), "=qm" (c)
6722 : "ir" (i) : "memory");
6723 return c;
6724@@ -92,7 +168,27 @@ static inline int atomic_sub_and_test(in
6725 */
6726 static inline void atomic_inc(atomic_t *v)
6727 {
6728- asm volatile(LOCK_PREFIX "incl %0"
6729+ asm volatile(LOCK_PREFIX "incl %0\n"
6730+
6731+#ifdef CONFIG_PAX_REFCOUNT
6732+ "jno 0f\n"
6733+ LOCK_PREFIX "decl %0\n"
6734+ "int $4\n0:\n"
6735+ _ASM_EXTABLE(0b, 0b)
6736+#endif
6737+
6738+ : "+m" (v->counter));
6739+}
6740+
6741+/**
6742+ * atomic_inc_unchecked - increment atomic variable
6743+ * @v: pointer of type atomic_unchecked_t
6744+ *
6745+ * Atomically increments @v by 1.
6746+ */
6747+static inline void atomic_inc_unchecked(atomic_unchecked_t *v)
6748+{
6749+ asm volatile(LOCK_PREFIX "incl %0\n"
6750 : "+m" (v->counter));
6751 }
6752
6753@@ -104,7 +200,27 @@ static inline void atomic_inc(atomic_t *
6754 */
6755 static inline void atomic_dec(atomic_t *v)
6756 {
6757- asm volatile(LOCK_PREFIX "decl %0"
6758+ asm volatile(LOCK_PREFIX "decl %0\n"
6759+
6760+#ifdef CONFIG_PAX_REFCOUNT
6761+ "jno 0f\n"
6762+ LOCK_PREFIX "incl %0\n"
6763+ "int $4\n0:\n"
6764+ _ASM_EXTABLE(0b, 0b)
6765+#endif
6766+
6767+ : "+m" (v->counter));
6768+}
6769+
6770+/**
6771+ * atomic_dec_unchecked - decrement atomic variable
6772+ * @v: pointer of type atomic_unchecked_t
6773+ *
6774+ * Atomically decrements @v by 1.
6775+ */
6776+static inline void atomic_dec_unchecked(atomic_unchecked_t *v)
6777+{
6778+ asm volatile(LOCK_PREFIX "decl %0\n"
6779 : "+m" (v->counter));
6780 }
6781
6782@@ -120,7 +236,16 @@ static inline int atomic_dec_and_test(at
6783 {
6784 unsigned char c;
6785
6786- asm volatile(LOCK_PREFIX "decl %0; sete %1"
6787+ asm volatile(LOCK_PREFIX "decl %0\n"
6788+
6789+#ifdef CONFIG_PAX_REFCOUNT
6790+ "jno 0f\n"
6791+ LOCK_PREFIX "incl %0\n"
6792+ "int $4\n0:\n"
6793+ _ASM_EXTABLE(0b, 0b)
6794+#endif
6795+
6796+ "sete %1\n"
6797 : "+m" (v->counter), "=qm" (c)
6798 : : "memory");
6799 return c != 0;
6800@@ -138,7 +263,35 @@ static inline int atomic_inc_and_test(at
6801 {
6802 unsigned char c;
6803
6804- asm volatile(LOCK_PREFIX "incl %0; sete %1"
6805+ asm volatile(LOCK_PREFIX "incl %0\n"
6806+
6807+#ifdef CONFIG_PAX_REFCOUNT
6808+ "jno 0f\n"
6809+ LOCK_PREFIX "decl %0\n"
6810+ "int $4\n0:\n"
6811+ _ASM_EXTABLE(0b, 0b)
6812+#endif
6813+
6814+ "sete %1\n"
6815+ : "+m" (v->counter), "=qm" (c)
6816+ : : "memory");
6817+ return c != 0;
6818+}
6819+
6820+/**
6821+ * atomic_inc_and_test_unchecked - increment and test
6822+ * @v: pointer of type atomic_unchecked_t
6823+ *
6824+ * Atomically increments @v by 1
6825+ * and returns true if the result is zero, or false for all
6826+ * other cases.
6827+ */
6828+static inline int atomic_inc_and_test_unchecked(atomic_unchecked_t *v)
6829+{
6830+ unsigned char c;
6831+
6832+ asm volatile(LOCK_PREFIX "incl %0\n"
6833+ "sete %1\n"
6834 : "+m" (v->counter), "=qm" (c)
6835 : : "memory");
6836 return c != 0;
6837@@ -157,7 +310,16 @@ static inline int atomic_add_negative(in
6838 {
6839 unsigned char c;
6840
6841- asm volatile(LOCK_PREFIX "addl %2,%0; sets %1"
6842+ asm volatile(LOCK_PREFIX "addl %2,%0\n"
6843+
6844+#ifdef CONFIG_PAX_REFCOUNT
6845+ "jno 0f\n"
6846+ LOCK_PREFIX "subl %2,%0\n"
6847+ "int $4\n0:\n"
6848+ _ASM_EXTABLE(0b, 0b)
6849+#endif
6850+
6851+ "sets %1\n"
6852 : "+m" (v->counter), "=qm" (c)
6853 : "ir" (i) : "memory");
6854 return c;
6855@@ -180,6 +342,46 @@ static inline int atomic_add_return(int
6856 #endif
6857 /* Modern 486+ processor */
6858 __i = i;
6859+ asm volatile(LOCK_PREFIX "xaddl %0, %1\n"
6860+
6861+#ifdef CONFIG_PAX_REFCOUNT
6862+ "jno 0f\n"
6863+ "movl %0, %1\n"
6864+ "int $4\n0:\n"
6865+ _ASM_EXTABLE(0b, 0b)
6866+#endif
6867+
6868+ : "+r" (i), "+m" (v->counter)
6869+ : : "memory");
6870+ return i + __i;
6871+
6872+#ifdef CONFIG_M386
6873+no_xadd: /* Legacy 386 processor */
6874+ local_irq_save(flags);
6875+ __i = atomic_read(v);
6876+ atomic_set(v, i + __i);
6877+ local_irq_restore(flags);
6878+ return i + __i;
6879+#endif
6880+}
6881+
6882+/**
6883+ * atomic_add_return_unchecked - add integer and return
6884+ * @v: pointer of type atomic_unchecked_t
6885+ * @i: integer value to add
6886+ *
6887+ * Atomically adds @i to @v and returns @i + @v
6888+ */
6889+static inline int atomic_add_return_unchecked(int i, atomic_unchecked_t *v)
6890+{
6891+ int __i;
6892+#ifdef CONFIG_M386
6893+ unsigned long flags;
6894+ if (unlikely(boot_cpu_data.x86 <= 3))
6895+ goto no_xadd;
6896+#endif
6897+ /* Modern 486+ processor */
6898+ __i = i;
6899 asm volatile(LOCK_PREFIX "xaddl %0, %1"
6900 : "+r" (i), "+m" (v->counter)
6901 : : "memory");
6902@@ -208,6 +410,10 @@ static inline int atomic_sub_return(int
6903 }
6904
6905 #define atomic_inc_return(v) (atomic_add_return(1, v))
6906+static inline int atomic_inc_return_unchecked(atomic_unchecked_t *v)
6907+{
6908+ return atomic_add_return_unchecked(1, v);
6909+}
6910 #define atomic_dec_return(v) (atomic_sub_return(1, v))
6911
6912 static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
6913@@ -215,11 +421,21 @@ static inline int atomic_cmpxchg(atomic_
6914 return cmpxchg(&v->counter, old, new);
6915 }
6916
6917+static inline int atomic_cmpxchg_unchecked(atomic_unchecked_t *v, int old, int new)
6918+{
6919+ return cmpxchg(&v->counter, old, new);
6920+}
6921+
6922 static inline int atomic_xchg(atomic_t *v, int new)
6923 {
6924 return xchg(&v->counter, new);
6925 }
6926
6927+static inline int atomic_xchg_unchecked(atomic_unchecked_t *v, int new)
6928+{
6929+ return xchg(&v->counter, new);
6930+}
6931+
6932 /**
6933 * atomic_add_unless - add unless the number is already a given value
6934 * @v: pointer of type atomic_t
6935@@ -231,21 +447,77 @@ static inline int atomic_xchg(atomic_t *
6936 */
6937 static inline int atomic_add_unless(atomic_t *v, int a, int u)
6938 {
6939- int c, old;
6940+ int c, old, new;
6941 c = atomic_read(v);
6942 for (;;) {
6943- if (unlikely(c == (u)))
6944+ if (unlikely(c == u))
6945 break;
6946- old = atomic_cmpxchg((v), c, c + (a));
6947+
6948+ asm volatile("addl %2,%0\n"
6949+
6950+#ifdef CONFIG_PAX_REFCOUNT
6951+ "jno 0f\n"
6952+ "subl %2,%0\n"
6953+ "int $4\n0:\n"
6954+ _ASM_EXTABLE(0b, 0b)
6955+#endif
6956+
6957+ : "=r" (new)
6958+ : "0" (c), "ir" (a));
6959+
6960+ old = atomic_cmpxchg(v, c, new);
6961 if (likely(old == c))
6962 break;
6963 c = old;
6964 }
6965- return c != (u);
6966+ return c != u;
6967 }
6968
6969 #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0)
6970
6971+/**
6972+ * atomic_inc_not_zero_hint - increment if not null
6973+ * @v: pointer of type atomic_t
6974+ * @hint: probable value of the atomic before the increment
6975+ *
6976+ * This version of atomic_inc_not_zero() gives a hint of probable
6977+ * value of the atomic. This helps processor to not read the memory
6978+ * before doing the atomic read/modify/write cycle, lowering
6979+ * number of bus transactions on some arches.
6980+ *
6981+ * Returns: 0 if increment was not done, 1 otherwise.
6982+ */
6983+#define atomic_inc_not_zero_hint atomic_inc_not_zero_hint
6984+static inline int atomic_inc_not_zero_hint(atomic_t *v, int hint)
6985+{
6986+ int val, c = hint, new;
6987+
6988+ /* sanity test, should be removed by compiler if hint is a constant */
6989+ if (!hint)
6990+ return atomic_inc_not_zero(v);
6991+
6992+ do {
6993+ asm volatile("incl %0\n"
6994+
6995+#ifdef CONFIG_PAX_REFCOUNT
6996+ "jno 0f\n"
6997+ "decl %0\n"
6998+ "int $4\n0:\n"
6999+ _ASM_EXTABLE(0b, 0b)
7000+#endif
7001+
7002+ : "=r" (new)
7003+ : "0" (c));
7004+
7005+ val = atomic_cmpxchg(v, c, new);
7006+ if (val == c)
7007+ return 1;
7008+ c = val;
7009+ } while (c);
7010+
7011+ return 0;
7012+}
7013+
7014 /*
7015 * atomic_dec_if_positive - decrement by 1 if old value positive
7016 * @v: pointer of type atomic_t
7017diff -urNp linux-3.0.8/arch/x86/include/asm/bitops.h linux-3.0.8/arch/x86/include/asm/bitops.h
7018--- linux-3.0.8/arch/x86/include/asm/bitops.h 2011-07-21 22:17:23.000000000 -0400
7019+++ linux-3.0.8/arch/x86/include/asm/bitops.h 2011-08-23 21:47:55.000000000 -0400
7454@@ -38,7 +38,7 @@ 7020@@ -38,7 +38,7 @@
7455 * a mask operation on a byte. 7021 * a mask operation on a byte.
7456 */ 7022 */
@@ -7460,9 +7026,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/bitops.h linux-3.0.7/arch/x86/includ
7460 #define CONST_MASK(nr) (1 << ((nr) & 7)) 7026 #define CONST_MASK(nr) (1 << ((nr) & 7))
7461 7027
7462 /** 7028 /**
7463diff -urNp linux-3.0.7/arch/x86/include/asm/boot.h linux-3.0.7/arch/x86/include/asm/boot.h 7029diff -urNp linux-3.0.8/arch/x86/include/asm/boot.h linux-3.0.8/arch/x86/include/asm/boot.h
7464--- linux-3.0.7/arch/x86/include/asm/boot.h 2011-07-21 22:17:23.000000000 -0400 7030--- linux-3.0.8/arch/x86/include/asm/boot.h 2011-07-21 22:17:23.000000000 -0400
7465+++ linux-3.0.7/arch/x86/include/asm/boot.h 2011-08-23 21:47:55.000000000 -0400 7031+++ linux-3.0.8/arch/x86/include/asm/boot.h 2011-08-23 21:47:55.000000000 -0400
7466@@ -11,10 +11,15 @@ 7032@@ -11,10 +11,15 @@
7467 #include <asm/pgtable_types.h> 7033 #include <asm/pgtable_types.h>
7468 7034
@@ -7480,9 +7046,21 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/boot.h linux-3.0.7/arch/x86/include/
7480 /* Minimum kernel alignment, as a power of two */ 7046 /* Minimum kernel alignment, as a power of two */
7481 #ifdef CONFIG_X86_64 7047 #ifdef CONFIG_X86_64
7482 #define MIN_KERNEL_ALIGN_LG2 PMD_SHIFT 7048 #define MIN_KERNEL_ALIGN_LG2 PMD_SHIFT
7483diff -urNp linux-3.0.7/arch/x86/include/asm/cache.h linux-3.0.7/arch/x86/include/asm/cache.h 7049diff -urNp linux-3.0.8/arch/x86/include/asm/cacheflush.h linux-3.0.8/arch/x86/include/asm/cacheflush.h
7484--- linux-3.0.7/arch/x86/include/asm/cache.h 2011-07-21 22:17:23.000000000 -0400 7050--- linux-3.0.8/arch/x86/include/asm/cacheflush.h 2011-07-21 22:17:23.000000000 -0400
7485+++ linux-3.0.7/arch/x86/include/asm/cache.h 2011-08-23 21:47:55.000000000 -0400 7051+++ linux-3.0.8/arch/x86/include/asm/cacheflush.h 2011-08-23 21:47:55.000000000 -0400
7052@@ -26,7 +26,7 @@ static inline unsigned long get_page_mem
7053 unsigned long pg_flags = pg->flags & _PGMT_MASK;
7054
7055 if (pg_flags == _PGMT_DEFAULT)
7056- return -1;
7057+ return ~0UL;
7058 else if (pg_flags == _PGMT_WC)
7059 return _PAGE_CACHE_WC;
7060 else if (pg_flags == _PGMT_UC_MINUS)
7061diff -urNp linux-3.0.8/arch/x86/include/asm/cache.h linux-3.0.8/arch/x86/include/asm/cache.h
7062--- linux-3.0.8/arch/x86/include/asm/cache.h 2011-07-21 22:17:23.000000000 -0400
7063+++ linux-3.0.8/arch/x86/include/asm/cache.h 2011-08-23 21:47:55.000000000 -0400
7486@@ -5,12 +5,13 @@ 7064@@ -5,12 +5,13 @@
7487 7065
7488 /* L1 cache line size */ 7066 /* L1 cache line size */
@@ -7499,21 +7077,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/cache.h linux-3.0.7/arch/x86/include
7499 7077
7500 #ifdef CONFIG_X86_VSMP 7078 #ifdef CONFIG_X86_VSMP
7501 #ifdef CONFIG_SMP 7079 #ifdef CONFIG_SMP
7502diff -urNp linux-3.0.7/arch/x86/include/asm/cacheflush.h linux-3.0.7/arch/x86/include/asm/cacheflush.h 7080diff -urNp linux-3.0.8/arch/x86/include/asm/checksum_32.h linux-3.0.8/arch/x86/include/asm/checksum_32.h
7503--- linux-3.0.7/arch/x86/include/asm/cacheflush.h 2011-07-21 22:17:23.000000000 -0400 7081--- linux-3.0.8/arch/x86/include/asm/checksum_32.h 2011-07-21 22:17:23.000000000 -0400
7504+++ linux-3.0.7/arch/x86/include/asm/cacheflush.h 2011-08-23 21:47:55.000000000 -0400 7082+++ linux-3.0.8/arch/x86/include/asm/checksum_32.h 2011-08-23 21:47:55.000000000 -0400
7505@@ -26,7 +26,7 @@ static inline unsigned long get_page_mem
7506 unsigned long pg_flags = pg->flags & _PGMT_MASK;
7507
7508 if (pg_flags == _PGMT_DEFAULT)
7509- return -1;
7510+ return ~0UL;
7511 else if (pg_flags == _PGMT_WC)
7512 return _PAGE_CACHE_WC;
7513 else if (pg_flags == _PGMT_UC_MINUS)
7514diff -urNp linux-3.0.7/arch/x86/include/asm/checksum_32.h linux-3.0.7/arch/x86/include/asm/checksum_32.h
7515--- linux-3.0.7/arch/x86/include/asm/checksum_32.h 2011-07-21 22:17:23.000000000 -0400
7516+++ linux-3.0.7/arch/x86/include/asm/checksum_32.h 2011-08-23 21:47:55.000000000 -0400
7517@@ -31,6 +31,14 @@ asmlinkage __wsum csum_partial_copy_gene 7083@@ -31,6 +31,14 @@ asmlinkage __wsum csum_partial_copy_gene
7518 int len, __wsum sum, 7084 int len, __wsum sum,
7519 int *src_err_ptr, int *dst_err_ptr); 7085 int *src_err_ptr, int *dst_err_ptr);
@@ -7547,9 +7113,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/checksum_32.h linux-3.0.7/arch/x86/i
7547 len, sum, NULL, err_ptr); 7113 len, sum, NULL, err_ptr);
7548 7114
7549 if (len) 7115 if (len)
7550diff -urNp linux-3.0.7/arch/x86/include/asm/cpufeature.h linux-3.0.7/arch/x86/include/asm/cpufeature.h 7116diff -urNp linux-3.0.8/arch/x86/include/asm/cpufeature.h linux-3.0.8/arch/x86/include/asm/cpufeature.h
7551--- linux-3.0.7/arch/x86/include/asm/cpufeature.h 2011-07-21 22:17:23.000000000 -0400 7117--- linux-3.0.8/arch/x86/include/asm/cpufeature.h 2011-07-21 22:17:23.000000000 -0400
7552+++ linux-3.0.7/arch/x86/include/asm/cpufeature.h 2011-08-23 21:47:55.000000000 -0400 7118+++ linux-3.0.8/arch/x86/include/asm/cpufeature.h 2011-08-23 21:47:55.000000000 -0400
7553@@ -358,7 +358,7 @@ static __always_inline __pure bool __sta 7119@@ -358,7 +358,7 @@ static __always_inline __pure bool __sta
7554 ".section .discard,\"aw\",@progbits\n" 7120 ".section .discard,\"aw\",@progbits\n"
7555 " .byte 0xff + (4f-3f) - (2b-1b)\n" /* size check */ 7121 " .byte 0xff + (4f-3f) - (2b-1b)\n" /* size check */
@@ -7559,9 +7125,25 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/cpufeature.h linux-3.0.7/arch/x86/in
7559 "3: movb $1,%0\n" 7125 "3: movb $1,%0\n"
7560 "4:\n" 7126 "4:\n"
7561 ".previous\n" 7127 ".previous\n"
7562diff -urNp linux-3.0.7/arch/x86/include/asm/desc.h linux-3.0.7/arch/x86/include/asm/desc.h 7128diff -urNp linux-3.0.8/arch/x86/include/asm/desc_defs.h linux-3.0.8/arch/x86/include/asm/desc_defs.h
7563--- linux-3.0.7/arch/x86/include/asm/desc.h 2011-07-21 22:17:23.000000000 -0400 7129--- linux-3.0.8/arch/x86/include/asm/desc_defs.h 2011-07-21 22:17:23.000000000 -0400
7564+++ linux-3.0.7/arch/x86/include/asm/desc.h 2011-08-23 21:47:55.000000000 -0400 7130+++ linux-3.0.8/arch/x86/include/asm/desc_defs.h 2011-08-23 21:47:55.000000000 -0400
7131@@ -31,6 +31,12 @@ struct desc_struct {
7132 unsigned base1: 8, type: 4, s: 1, dpl: 2, p: 1;
7133 unsigned limit: 4, avl: 1, l: 1, d: 1, g: 1, base2: 8;
7134 };
7135+ struct {
7136+ u16 offset_low;
7137+ u16 seg;
7138+ unsigned reserved: 8, type: 4, s: 1, dpl: 2, p: 1;
7139+ unsigned offset_high: 16;
7140+ } gate;
7141 };
7142 } __attribute__((packed));
7143
7144diff -urNp linux-3.0.8/arch/x86/include/asm/desc.h linux-3.0.8/arch/x86/include/asm/desc.h
7145--- linux-3.0.8/arch/x86/include/asm/desc.h 2011-07-21 22:17:23.000000000 -0400
7146+++ linux-3.0.8/arch/x86/include/asm/desc.h 2011-08-23 21:47:55.000000000 -0400
7565@@ -4,6 +4,7 @@ 7147@@ -4,6 +4,7 @@
7566 #include <asm/desc_defs.h> 7148 #include <asm/desc_defs.h>
7567 #include <asm/ldt.h> 7149 #include <asm/ldt.h>
@@ -7740,25 +7322,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/desc.h linux-3.0.7/arch/x86/include/
7740+#endif 7322+#endif
7741+ 7323+
7742 #endif /* _ASM_X86_DESC_H */ 7324 #endif /* _ASM_X86_DESC_H */
7743diff -urNp linux-3.0.7/arch/x86/include/asm/desc_defs.h linux-3.0.7/arch/x86/include/asm/desc_defs.h 7325diff -urNp linux-3.0.8/arch/x86/include/asm/e820.h linux-3.0.8/arch/x86/include/asm/e820.h
7744--- linux-3.0.7/arch/x86/include/asm/desc_defs.h 2011-07-21 22:17:23.000000000 -0400 7326--- linux-3.0.8/arch/x86/include/asm/e820.h 2011-07-21 22:17:23.000000000 -0400
7745+++ linux-3.0.7/arch/x86/include/asm/desc_defs.h 2011-08-23 21:47:55.000000000 -0400 7327+++ linux-3.0.8/arch/x86/include/asm/e820.h 2011-08-23 21:47:55.000000000 -0400
7746@@ -31,6 +31,12 @@ struct desc_struct {
7747 unsigned base1: 8, type: 4, s: 1, dpl: 2, p: 1;
7748 unsigned limit: 4, avl: 1, l: 1, d: 1, g: 1, base2: 8;
7749 };
7750+ struct {
7751+ u16 offset_low;
7752+ u16 seg;
7753+ unsigned reserved: 8, type: 4, s: 1, dpl: 2, p: 1;
7754+ unsigned offset_high: 16;
7755+ } gate;
7756 };
7757 } __attribute__((packed));
7758
7759diff -urNp linux-3.0.7/arch/x86/include/asm/e820.h linux-3.0.7/arch/x86/include/asm/e820.h
7760--- linux-3.0.7/arch/x86/include/asm/e820.h 2011-07-21 22:17:23.000000000 -0400
7761+++ linux-3.0.7/arch/x86/include/asm/e820.h 2011-08-23 21:47:55.000000000 -0400
7762@@ -69,7 +69,7 @@ struct e820map { 7328@@ -69,7 +69,7 @@ struct e820map {
7763 #define ISA_START_ADDRESS 0xa0000 7329 #define ISA_START_ADDRESS 0xa0000
7764 #define ISA_END_ADDRESS 0x100000 7330 #define ISA_END_ADDRESS 0x100000
@@ -7768,9 +7334,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/e820.h linux-3.0.7/arch/x86/include/
7768 #define BIOS_END 0x00100000 7334 #define BIOS_END 0x00100000
7769 7335
7770 #define BIOS_ROM_BASE 0xffe00000 7336 #define BIOS_ROM_BASE 0xffe00000
7771diff -urNp linux-3.0.7/arch/x86/include/asm/elf.h linux-3.0.7/arch/x86/include/asm/elf.h 7337diff -urNp linux-3.0.8/arch/x86/include/asm/elf.h linux-3.0.8/arch/x86/include/asm/elf.h
7772--- linux-3.0.7/arch/x86/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400 7338--- linux-3.0.8/arch/x86/include/asm/elf.h 2011-07-21 22:17:23.000000000 -0400
7773+++ linux-3.0.7/arch/x86/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400 7339+++ linux-3.0.8/arch/x86/include/asm/elf.h 2011-08-23 21:47:55.000000000 -0400
7774@@ -237,7 +237,25 @@ extern int force_personality32; 7340@@ -237,7 +237,25 @@ extern int force_personality32;
7775 the loader. We need to make sure that it is out of the way of the program 7341 the loader. We need to make sure that it is out of the way of the program
7776 that it will "exec", and that there is sufficient room for the brk. */ 7342 that it will "exec", and that there is sufficient room for the brk. */
@@ -7825,9 +7391,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/elf.h linux-3.0.7/arch/x86/include/a
7825-#define arch_randomize_brk arch_randomize_brk 7391-#define arch_randomize_brk arch_randomize_brk
7826- 7392-
7827 #endif /* _ASM_X86_ELF_H */ 7393 #endif /* _ASM_X86_ELF_H */
7828diff -urNp linux-3.0.7/arch/x86/include/asm/emergency-restart.h linux-3.0.7/arch/x86/include/asm/emergency-restart.h 7394diff -urNp linux-3.0.8/arch/x86/include/asm/emergency-restart.h linux-3.0.8/arch/x86/include/asm/emergency-restart.h
7829--- linux-3.0.7/arch/x86/include/asm/emergency-restart.h 2011-07-21 22:17:23.000000000 -0400 7395--- linux-3.0.8/arch/x86/include/asm/emergency-restart.h 2011-07-21 22:17:23.000000000 -0400
7830+++ linux-3.0.7/arch/x86/include/asm/emergency-restart.h 2011-08-23 21:47:55.000000000 -0400 7396+++ linux-3.0.8/arch/x86/include/asm/emergency-restart.h 2011-08-23 21:47:55.000000000 -0400
7831@@ -15,6 +15,6 @@ enum reboot_type { 7397@@ -15,6 +15,6 @@ enum reboot_type {
7832 7398
7833 extern enum reboot_type reboot_type; 7399 extern enum reboot_type reboot_type;
@@ -7836,9 +7402,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/emergency-restart.h linux-3.0.7/arch
7836+extern void machine_emergency_restart(void) __noreturn; 7402+extern void machine_emergency_restart(void) __noreturn;
7837 7403
7838 #endif /* _ASM_X86_EMERGENCY_RESTART_H */ 7404 #endif /* _ASM_X86_EMERGENCY_RESTART_H */
7839diff -urNp linux-3.0.7/arch/x86/include/asm/futex.h linux-3.0.7/arch/x86/include/asm/futex.h 7405diff -urNp linux-3.0.8/arch/x86/include/asm/futex.h linux-3.0.8/arch/x86/include/asm/futex.h
7840--- linux-3.0.7/arch/x86/include/asm/futex.h 2011-07-21 22:17:23.000000000 -0400 7406--- linux-3.0.8/arch/x86/include/asm/futex.h 2011-07-21 22:17:23.000000000 -0400
7841+++ linux-3.0.7/arch/x86/include/asm/futex.h 2011-10-06 04:17:55.000000000 -0400 7407+++ linux-3.0.8/arch/x86/include/asm/futex.h 2011-10-06 04:17:55.000000000 -0400
7842@@ -12,16 +12,18 @@ 7408@@ -12,16 +12,18 @@
7843 #include <asm/system.h> 7409 #include <asm/system.h>
7844 7410
@@ -7897,9 +7463,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/futex.h linux-3.0.7/arch/x86/include
7897 : "i" (-EFAULT), "r" (newval), "1" (oldval) 7463 : "i" (-EFAULT), "r" (newval), "1" (oldval)
7898 : "memory" 7464 : "memory"
7899 ); 7465 );
7900diff -urNp linux-3.0.7/arch/x86/include/asm/hw_irq.h linux-3.0.7/arch/x86/include/asm/hw_irq.h 7466diff -urNp linux-3.0.8/arch/x86/include/asm/hw_irq.h linux-3.0.8/arch/x86/include/asm/hw_irq.h
7901--- linux-3.0.7/arch/x86/include/asm/hw_irq.h 2011-07-21 22:17:23.000000000 -0400 7467--- linux-3.0.8/arch/x86/include/asm/hw_irq.h 2011-07-21 22:17:23.000000000 -0400
7902+++ linux-3.0.7/arch/x86/include/asm/hw_irq.h 2011-08-23 21:47:55.000000000 -0400 7468+++ linux-3.0.8/arch/x86/include/asm/hw_irq.h 2011-08-23 21:47:55.000000000 -0400
7903@@ -137,8 +137,8 @@ extern void setup_ioapic_dest(void); 7469@@ -137,8 +137,8 @@ extern void setup_ioapic_dest(void);
7904 extern void enable_IO_APIC(void); 7470 extern void enable_IO_APIC(void);
7905 7471
@@ -7911,9 +7477,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/hw_irq.h linux-3.0.7/arch/x86/includ
7911 7477
7912 /* EISA */ 7478 /* EISA */
7913 extern void eisa_set_level_irq(unsigned int irq); 7479 extern void eisa_set_level_irq(unsigned int irq);
7914diff -urNp linux-3.0.7/arch/x86/include/asm/i387.h linux-3.0.7/arch/x86/include/asm/i387.h 7480diff -urNp linux-3.0.8/arch/x86/include/asm/i387.h linux-3.0.8/arch/x86/include/asm/i387.h
7915--- linux-3.0.7/arch/x86/include/asm/i387.h 2011-07-21 22:17:23.000000000 -0400 7481--- linux-3.0.8/arch/x86/include/asm/i387.h 2011-07-21 22:17:23.000000000 -0400
7916+++ linux-3.0.7/arch/x86/include/asm/i387.h 2011-10-06 04:17:55.000000000 -0400 7482+++ linux-3.0.8/arch/x86/include/asm/i387.h 2011-10-06 04:17:55.000000000 -0400
7917@@ -92,6 +92,11 @@ static inline int fxrstor_checking(struc 7483@@ -92,6 +92,11 @@ static inline int fxrstor_checking(struc
7918 { 7484 {
7919 int err; 7485 int err;
@@ -7963,9 +7529,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/i387.h linux-3.0.7/arch/x86/include/
7963 else 7529 else
7964 clts(); 7530 clts();
7965 } 7531 }
7966diff -urNp linux-3.0.7/arch/x86/include/asm/io.h linux-3.0.7/arch/x86/include/asm/io.h 7532diff -urNp linux-3.0.8/arch/x86/include/asm/io.h linux-3.0.8/arch/x86/include/asm/io.h
7967--- linux-3.0.7/arch/x86/include/asm/io.h 2011-07-21 22:17:23.000000000 -0400 7533--- linux-3.0.8/arch/x86/include/asm/io.h 2011-07-21 22:17:23.000000000 -0400
7968+++ linux-3.0.7/arch/x86/include/asm/io.h 2011-08-23 21:47:55.000000000 -0400 7534+++ linux-3.0.8/arch/x86/include/asm/io.h 2011-08-23 21:47:55.000000000 -0400
7969@@ -196,6 +196,17 @@ extern void set_iounmap_nonlazy(void); 7535@@ -196,6 +196,17 @@ extern void set_iounmap_nonlazy(void);
7970 7536
7971 #include <linux/vmalloc.h> 7537 #include <linux/vmalloc.h>
@@ -7984,9 +7550,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/io.h linux-3.0.7/arch/x86/include/as
7984 /* 7550 /*
7985 * Convert a virtual cached pointer to an uncached pointer 7551 * Convert a virtual cached pointer to an uncached pointer
7986 */ 7552 */
7987diff -urNp linux-3.0.7/arch/x86/include/asm/irqflags.h linux-3.0.7/arch/x86/include/asm/irqflags.h 7553diff -urNp linux-3.0.8/arch/x86/include/asm/irqflags.h linux-3.0.8/arch/x86/include/asm/irqflags.h
7988--- linux-3.0.7/arch/x86/include/asm/irqflags.h 2011-07-21 22:17:23.000000000 -0400 7554--- linux-3.0.8/arch/x86/include/asm/irqflags.h 2011-07-21 22:17:23.000000000 -0400
7989+++ linux-3.0.7/arch/x86/include/asm/irqflags.h 2011-08-23 21:47:55.000000000 -0400 7555+++ linux-3.0.8/arch/x86/include/asm/irqflags.h 2011-08-23 21:47:55.000000000 -0400
7990@@ -140,6 +140,11 @@ static inline unsigned long arch_local_i 7556@@ -140,6 +140,11 @@ static inline unsigned long arch_local_i
7991 sti; \ 7557 sti; \
7992 sysexit 7558 sysexit
@@ -7999,9 +7565,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/irqflags.h linux-3.0.7/arch/x86/incl
7999 #else 7565 #else
8000 #define INTERRUPT_RETURN iret 7566 #define INTERRUPT_RETURN iret
8001 #define ENABLE_INTERRUPTS_SYSEXIT sti; sysexit 7567 #define ENABLE_INTERRUPTS_SYSEXIT sti; sysexit
8002diff -urNp linux-3.0.7/arch/x86/include/asm/kprobes.h linux-3.0.7/arch/x86/include/asm/kprobes.h 7568diff -urNp linux-3.0.8/arch/x86/include/asm/kprobes.h linux-3.0.8/arch/x86/include/asm/kprobes.h
8003--- linux-3.0.7/arch/x86/include/asm/kprobes.h 2011-07-21 22:17:23.000000000 -0400 7569--- linux-3.0.8/arch/x86/include/asm/kprobes.h 2011-07-21 22:17:23.000000000 -0400
8004+++ linux-3.0.7/arch/x86/include/asm/kprobes.h 2011-08-23 21:47:55.000000000 -0400 7570+++ linux-3.0.8/arch/x86/include/asm/kprobes.h 2011-08-23 21:47:55.000000000 -0400
8005@@ -37,13 +37,8 @@ typedef u8 kprobe_opcode_t; 7571@@ -37,13 +37,8 @@ typedef u8 kprobe_opcode_t;
8006 #define RELATIVEJUMP_SIZE 5 7572 #define RELATIVEJUMP_SIZE 5
8007 #define RELATIVECALL_OPCODE 0xe8 7573 #define RELATIVECALL_OPCODE 0xe8
@@ -8018,9 +7584,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/kprobes.h linux-3.0.7/arch/x86/inclu
8018 7584
8019 #define flush_insn_slot(p) do { } while (0) 7585 #define flush_insn_slot(p) do { } while (0)
8020 7586
8021diff -urNp linux-3.0.7/arch/x86/include/asm/kvm_host.h linux-3.0.7/arch/x86/include/asm/kvm_host.h 7587diff -urNp linux-3.0.8/arch/x86/include/asm/kvm_host.h linux-3.0.8/arch/x86/include/asm/kvm_host.h
8022--- linux-3.0.7/arch/x86/include/asm/kvm_host.h 2011-07-21 22:17:23.000000000 -0400 7588--- linux-3.0.8/arch/x86/include/asm/kvm_host.h 2011-07-21 22:17:23.000000000 -0400
8023+++ linux-3.0.7/arch/x86/include/asm/kvm_host.h 2011-08-26 19:49:56.000000000 -0400 7589+++ linux-3.0.8/arch/x86/include/asm/kvm_host.h 2011-08-26 19:49:56.000000000 -0400
8024@@ -441,7 +441,7 @@ struct kvm_arch { 7590@@ -441,7 +441,7 @@ struct kvm_arch {
8025 unsigned int n_used_mmu_pages; 7591 unsigned int n_used_mmu_pages;
8026 unsigned int n_requested_mmu_pages; 7592 unsigned int n_requested_mmu_pages;
@@ -8039,9 +7605,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/kvm_host.h linux-3.0.7/arch/x86/incl
8039 7605
8040 struct kvm_arch_async_pf { 7606 struct kvm_arch_async_pf {
8041 u32 token; 7607 u32 token;
8042diff -urNp linux-3.0.7/arch/x86/include/asm/local.h linux-3.0.7/arch/x86/include/asm/local.h 7608diff -urNp linux-3.0.8/arch/x86/include/asm/local.h linux-3.0.8/arch/x86/include/asm/local.h
8043--- linux-3.0.7/arch/x86/include/asm/local.h 2011-07-21 22:17:23.000000000 -0400 7609--- linux-3.0.8/arch/x86/include/asm/local.h 2011-07-21 22:17:23.000000000 -0400
8044+++ linux-3.0.7/arch/x86/include/asm/local.h 2011-08-23 21:47:55.000000000 -0400 7610+++ linux-3.0.8/arch/x86/include/asm/local.h 2011-08-23 21:47:55.000000000 -0400
8045@@ -18,26 +18,58 @@ typedef struct { 7611@@ -18,26 +18,58 @@ typedef struct {
8046 7612
8047 static inline void local_inc(local_t *l) 7613 static inline void local_inc(local_t *l)
@@ -8194,9 +7760,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/local.h linux-3.0.7/arch/x86/include
8194 : "+r" (i), "+m" (l->a.counter) 7760 : "+r" (i), "+m" (l->a.counter)
8195 : : "memory"); 7761 : : "memory");
8196 return i + __i; 7762 return i + __i;
8197diff -urNp linux-3.0.7/arch/x86/include/asm/mman.h linux-3.0.7/arch/x86/include/asm/mman.h 7763diff -urNp linux-3.0.8/arch/x86/include/asm/mman.h linux-3.0.8/arch/x86/include/asm/mman.h
8198--- linux-3.0.7/arch/x86/include/asm/mman.h 2011-07-21 22:17:23.000000000 -0400 7764--- linux-3.0.8/arch/x86/include/asm/mman.h 2011-07-21 22:17:23.000000000 -0400
8199+++ linux-3.0.7/arch/x86/include/asm/mman.h 2011-08-23 21:47:55.000000000 -0400 7765+++ linux-3.0.8/arch/x86/include/asm/mman.h 2011-08-23 21:47:55.000000000 -0400
8200@@ -5,4 +5,14 @@ 7766@@ -5,4 +5,14 @@
8201 7767
8202 #include <asm-generic/mman.h> 7768 #include <asm-generic/mman.h>
@@ -8212,42 +7778,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/mman.h linux-3.0.7/arch/x86/include/
8212+#endif 7778+#endif
8213+ 7779+
8214 #endif /* _ASM_X86_MMAN_H */ 7780 #endif /* _ASM_X86_MMAN_H */
8215diff -urNp linux-3.0.7/arch/x86/include/asm/mmu.h linux-3.0.7/arch/x86/include/asm/mmu.h 7781diff -urNp linux-3.0.8/arch/x86/include/asm/mmu_context.h linux-3.0.8/arch/x86/include/asm/mmu_context.h
8216--- linux-3.0.7/arch/x86/include/asm/mmu.h 2011-07-21 22:17:23.000000000 -0400 7782--- linux-3.0.8/arch/x86/include/asm/mmu_context.h 2011-07-21 22:17:23.000000000 -0400
8217+++ linux-3.0.7/arch/x86/include/asm/mmu.h 2011-08-23 21:47:55.000000000 -0400 7783+++ linux-3.0.8/arch/x86/include/asm/mmu_context.h 2011-08-23 21:48:14.000000000 -0400
8218@@ -9,7 +9,7 @@
8219 * we put the segment information here.
8220 */
8221 typedef struct {
8222- void *ldt;
8223+ struct desc_struct *ldt;
8224 int size;
8225
8226 #ifdef CONFIG_X86_64
8227@@ -18,7 +18,19 @@ typedef struct {
8228 #endif
8229
8230 struct mutex lock;
8231- void *vdso;
8232+ unsigned long vdso;
8233+
8234+#ifdef CONFIG_X86_32
8235+#if defined(CONFIG_PAX_PAGEEXEC) || defined(CONFIG_PAX_SEGMEXEC)
8236+ unsigned long user_cs_base;
8237+ unsigned long user_cs_limit;
8238+
8239+#if defined(CONFIG_PAX_PAGEEXEC) && defined(CONFIG_SMP)
8240+ cpumask_t cpu_user_cs_mask;
8241+#endif
8242+
8243+#endif
8244+#endif
8245 } mm_context_t;
8246
8247 #ifdef CONFIG_SMP
8248diff -urNp linux-3.0.7/arch/x86/include/asm/mmu_context.h linux-3.0.7/arch/x86/include/asm/mmu_context.h
8249--- linux-3.0.7/arch/x86/include/asm/mmu_context.h 2011-07-21 22:17:23.000000000 -0400
8250+++ linux-3.0.7/arch/x86/include/asm/mmu_context.h 2011-08-23 21:48:14.000000000 -0400
8251@@ -24,6 +24,18 @@ void destroy_context(struct mm_struct *m 7784@@ -24,6 +24,18 @@ void destroy_context(struct mm_struct *m
8252 7785
8253 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) 7786 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
@@ -8368,9 +7901,42 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/mmu_context.h linux-3.0.7/arch/x86/i
8368 } 7901 }
8369 7902
8370 #define activate_mm(prev, next) \ 7903 #define activate_mm(prev, next) \
8371diff -urNp linux-3.0.7/arch/x86/include/asm/module.h linux-3.0.7/arch/x86/include/asm/module.h 7904diff -urNp linux-3.0.8/arch/x86/include/asm/mmu.h linux-3.0.8/arch/x86/include/asm/mmu.h
8372--- linux-3.0.7/arch/x86/include/asm/module.h 2011-07-21 22:17:23.000000000 -0400 7905--- linux-3.0.8/arch/x86/include/asm/mmu.h 2011-07-21 22:17:23.000000000 -0400
8373+++ linux-3.0.7/arch/x86/include/asm/module.h 2011-10-07 19:24:31.000000000 -0400 7906+++ linux-3.0.8/arch/x86/include/asm/mmu.h 2011-08-23 21:47:55.000000000 -0400
7907@@ -9,7 +9,7 @@
7908 * we put the segment information here.
7909 */
7910 typedef struct {
7911- void *ldt;
7912+ struct desc_struct *ldt;
7913 int size;
7914
7915 #ifdef CONFIG_X86_64
7916@@ -18,7 +18,19 @@ typedef struct {
7917 #endif
7918
7919 struct mutex lock;
7920- void *vdso;
7921+ unsigned long vdso;
7922+
7923+#ifdef CONFIG_X86_32
7924+#if defined(CONFIG_PAX_PAGEEXEC) || defined(CONFIG_PAX_SEGMEXEC)
7925+ unsigned long user_cs_base;
7926+ unsigned long user_cs_limit;
7927+
7928+#if defined(CONFIG_PAX_PAGEEXEC) && defined(CONFIG_SMP)
7929+ cpumask_t cpu_user_cs_mask;
7930+#endif
7931+
7932+#endif
7933+#endif
7934 } mm_context_t;
7935
7936 #ifdef CONFIG_SMP
7937diff -urNp linux-3.0.8/arch/x86/include/asm/module.h linux-3.0.8/arch/x86/include/asm/module.h
7938--- linux-3.0.8/arch/x86/include/asm/module.h 2011-07-21 22:17:23.000000000 -0400
7939+++ linux-3.0.8/arch/x86/include/asm/module.h 2011-10-07 19:24:31.000000000 -0400
8374@@ -5,6 +5,7 @@ 7940@@ -5,6 +5,7 @@
8375 7941
8376 #ifdef CONFIG_X86_64 7942 #ifdef CONFIG_X86_64
@@ -8400,9 +7966,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/module.h linux-3.0.7/arch/x86/includ
8400+#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_PAX_KERNEXEC MODULE_PAX_UDEREF 7966+#define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_PAX_KERNEXEC MODULE_PAX_UDEREF
8401+ 7967+
8402 #endif /* _ASM_X86_MODULE_H */ 7968 #endif /* _ASM_X86_MODULE_H */
8403diff -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 7969diff -urNp linux-3.0.8/arch/x86/include/asm/page_64_types.h linux-3.0.8/arch/x86/include/asm/page_64_types.h
8404--- linux-3.0.7/arch/x86/include/asm/page_64_types.h 2011-07-21 22:17:23.000000000 -0400 7970--- linux-3.0.8/arch/x86/include/asm/page_64_types.h 2011-07-21 22:17:23.000000000 -0400
8405+++ linux-3.0.7/arch/x86/include/asm/page_64_types.h 2011-08-23 21:47:55.000000000 -0400 7971+++ linux-3.0.8/arch/x86/include/asm/page_64_types.h 2011-08-23 21:47:55.000000000 -0400
8406@@ -56,7 +56,7 @@ void copy_page(void *to, void *from); 7972@@ -56,7 +56,7 @@ void copy_page(void *to, void *from);
8407 7973
8408 /* duplicated to the one in bootmem.h */ 7974 /* duplicated to the one in bootmem.h */
@@ -8412,9 +7978,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/page_64_types.h linux-3.0.7/arch/x86
8412 7978
8413 extern unsigned long __phys_addr(unsigned long); 7979 extern unsigned long __phys_addr(unsigned long);
8414 #define __phys_reloc_hide(x) (x) 7980 #define __phys_reloc_hide(x) (x)
8415diff -urNp linux-3.0.7/arch/x86/include/asm/paravirt.h linux-3.0.7/arch/x86/include/asm/paravirt.h 7981diff -urNp linux-3.0.8/arch/x86/include/asm/paravirt.h linux-3.0.8/arch/x86/include/asm/paravirt.h
8416--- linux-3.0.7/arch/x86/include/asm/paravirt.h 2011-07-21 22:17:23.000000000 -0400 7982--- linux-3.0.8/arch/x86/include/asm/paravirt.h 2011-07-21 22:17:23.000000000 -0400
8417+++ linux-3.0.7/arch/x86/include/asm/paravirt.h 2011-08-23 21:47:55.000000000 -0400 7983+++ linux-3.0.8/arch/x86/include/asm/paravirt.h 2011-08-23 21:47:55.000000000 -0400
8418@@ -658,6 +658,18 @@ static inline void set_pgd(pgd_t *pgdp, 7984@@ -658,6 +658,18 @@ static inline void set_pgd(pgd_t *pgdp,
8419 val); 7985 val);
8420 } 7986 }
@@ -8487,9 +8053,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/paravirt.h linux-3.0.7/arch/x86/incl
8487 #endif /* CONFIG_X86_32 */ 8053 #endif /* CONFIG_X86_32 */
8488 8054
8489 #endif /* __ASSEMBLY__ */ 8055 #endif /* __ASSEMBLY__ */
8490diff -urNp linux-3.0.7/arch/x86/include/asm/paravirt_types.h linux-3.0.7/arch/x86/include/asm/paravirt_types.h 8056diff -urNp linux-3.0.8/arch/x86/include/asm/paravirt_types.h linux-3.0.8/arch/x86/include/asm/paravirt_types.h
8491--- linux-3.0.7/arch/x86/include/asm/paravirt_types.h 2011-07-21 22:17:23.000000000 -0400 8057--- linux-3.0.8/arch/x86/include/asm/paravirt_types.h 2011-07-21 22:17:23.000000000 -0400
8492+++ linux-3.0.7/arch/x86/include/asm/paravirt_types.h 2011-08-23 21:47:55.000000000 -0400 8058+++ linux-3.0.8/arch/x86/include/asm/paravirt_types.h 2011-08-23 21:47:55.000000000 -0400
8493@@ -78,19 +78,19 @@ struct pv_init_ops { 8059@@ -78,19 +78,19 @@ struct pv_init_ops {
8494 */ 8060 */
8495 unsigned (*patch)(u8 type, u16 clobber, void *insnbuf, 8061 unsigned (*patch)(u8 type, u16 clobber, void *insnbuf,
@@ -8561,9 +8127,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/paravirt_types.h linux-3.0.7/arch/x8
8561 8127
8562 /* This contains all the paravirt structures: we get a convenient 8128 /* This contains all the paravirt structures: we get a convenient
8563 * number for each function using the offset which we use to indicate 8129 * number for each function using the offset which we use to indicate
8564diff -urNp linux-3.0.7/arch/x86/include/asm/pgalloc.h linux-3.0.7/arch/x86/include/asm/pgalloc.h 8130diff -urNp linux-3.0.8/arch/x86/include/asm/pgalloc.h linux-3.0.8/arch/x86/include/asm/pgalloc.h
8565--- linux-3.0.7/arch/x86/include/asm/pgalloc.h 2011-07-21 22:17:23.000000000 -0400 8131--- linux-3.0.8/arch/x86/include/asm/pgalloc.h 2011-07-21 22:17:23.000000000 -0400
8566+++ linux-3.0.7/arch/x86/include/asm/pgalloc.h 2011-08-23 21:47:55.000000000 -0400 8132+++ linux-3.0.8/arch/x86/include/asm/pgalloc.h 2011-08-23 21:47:55.000000000 -0400
8567@@ -63,6 +63,13 @@ static inline void pmd_populate_kernel(s 8133@@ -63,6 +63,13 @@ static inline void pmd_populate_kernel(s
8568 pmd_t *pmd, pte_t *pte) 8134 pmd_t *pmd, pte_t *pte)
8569 { 8135 {
@@ -8578,9 +8144,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/pgalloc.h linux-3.0.7/arch/x86/inclu
8578 set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE)); 8144 set_pmd(pmd, __pmd(__pa(pte) | _PAGE_TABLE));
8579 } 8145 }
8580 8146
8581diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable-2level.h linux-3.0.7/arch/x86/include/asm/pgtable-2level.h 8147diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable-2level.h linux-3.0.8/arch/x86/include/asm/pgtable-2level.h
8582--- linux-3.0.7/arch/x86/include/asm/pgtable-2level.h 2011-07-21 22:17:23.000000000 -0400 8148--- linux-3.0.8/arch/x86/include/asm/pgtable-2level.h 2011-07-21 22:17:23.000000000 -0400
8583+++ linux-3.0.7/arch/x86/include/asm/pgtable-2level.h 2011-08-23 21:47:55.000000000 -0400 8149+++ linux-3.0.8/arch/x86/include/asm/pgtable-2level.h 2011-08-23 21:47:55.000000000 -0400
8584@@ -18,7 +18,9 @@ static inline void native_set_pte(pte_t 8150@@ -18,7 +18,9 @@ static inline void native_set_pte(pte_t
8585 8151
8586 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) 8152 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd)
@@ -8591,9 +8157,87 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable-2level.h linux-3.0.7/arch/x8
8591 } 8157 }
8592 8158
8593 static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte) 8159 static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte)
8594diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable-3level.h linux-3.0.7/arch/x86/include/asm/pgtable-3level.h 8160diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable_32.h linux-3.0.8/arch/x86/include/asm/pgtable_32.h
8595--- linux-3.0.7/arch/x86/include/asm/pgtable-3level.h 2011-07-21 22:17:23.000000000 -0400 8161--- linux-3.0.8/arch/x86/include/asm/pgtable_32.h 2011-07-21 22:17:23.000000000 -0400
8596+++ linux-3.0.7/arch/x86/include/asm/pgtable-3level.h 2011-08-23 21:47:55.000000000 -0400 8162+++ linux-3.0.8/arch/x86/include/asm/pgtable_32.h 2011-08-23 21:47:55.000000000 -0400
8163@@ -25,9 +25,6 @@
8164 struct mm_struct;
8165 struct vm_area_struct;
8166
8167-extern pgd_t swapper_pg_dir[1024];
8168-extern pgd_t initial_page_table[1024];
8169-
8170 static inline void pgtable_cache_init(void) { }
8171 static inline void check_pgt_cache(void) { }
8172 void paging_init(void);
8173@@ -48,6 +45,12 @@ extern void set_pmd_pfn(unsigned long, u
8174 # include <asm/pgtable-2level.h>
8175 #endif
8176
8177+extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
8178+extern pgd_t initial_page_table[PTRS_PER_PGD];
8179+#ifdef CONFIG_X86_PAE
8180+extern pmd_t swapper_pm_dir[PTRS_PER_PGD][PTRS_PER_PMD];
8181+#endif
8182+
8183 #if defined(CONFIG_HIGHPTE)
8184 #define pte_offset_map(dir, address) \
8185 ((pte_t *)kmap_atomic(pmd_page(*(dir))) + \
8186@@ -62,7 +65,9 @@ extern void set_pmd_pfn(unsigned long, u
8187 /* Clear a kernel PTE and flush it from the TLB */
8188 #define kpte_clear_flush(ptep, vaddr) \
8189 do { \
8190+ pax_open_kernel(); \
8191 pte_clear(&init_mm, (vaddr), (ptep)); \
8192+ pax_close_kernel(); \
8193 __flush_tlb_one((vaddr)); \
8194 } while (0)
8195
8196@@ -74,6 +79,9 @@ do { \
8197
8198 #endif /* !__ASSEMBLY__ */
8199
8200+#define HAVE_ARCH_UNMAPPED_AREA
8201+#define HAVE_ARCH_UNMAPPED_AREA_TOPDOWN
8202+
8203 /*
8204 * kern_addr_valid() is (1) for FLATMEM and (0) for
8205 * SPARSEMEM and DISCONTIGMEM
8206diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable_32_types.h linux-3.0.8/arch/x86/include/asm/pgtable_32_types.h
8207--- linux-3.0.8/arch/x86/include/asm/pgtable_32_types.h 2011-07-21 22:17:23.000000000 -0400
8208+++ linux-3.0.8/arch/x86/include/asm/pgtable_32_types.h 2011-08-23 21:47:55.000000000 -0400
8209@@ -8,7 +8,7 @@
8210 */
8211 #ifdef CONFIG_X86_PAE
8212 # include <asm/pgtable-3level_types.h>
8213-# define PMD_SIZE (1UL << PMD_SHIFT)
8214+# define PMD_SIZE (_AC(1, UL) << PMD_SHIFT)
8215 # define PMD_MASK (~(PMD_SIZE - 1))
8216 #else
8217 # include <asm/pgtable-2level_types.h>
8218@@ -46,6 +46,19 @@ extern bool __vmalloc_start_set; /* set
8219 # define VMALLOC_END (FIXADDR_START - 2 * PAGE_SIZE)
8220 #endif
8221
8222+#ifdef CONFIG_PAX_KERNEXEC
8223+#ifndef __ASSEMBLY__
8224+extern unsigned char MODULES_EXEC_VADDR[];
8225+extern unsigned char MODULES_EXEC_END[];
8226+#endif
8227+#include <asm/boot.h>
8228+#define ktla_ktva(addr) (addr + LOAD_PHYSICAL_ADDR + PAGE_OFFSET)
8229+#define ktva_ktla(addr) (addr - LOAD_PHYSICAL_ADDR - PAGE_OFFSET)
8230+#else
8231+#define ktla_ktva(addr) (addr)
8232+#define ktva_ktla(addr) (addr)
8233+#endif
8234+
8235 #define MODULES_VADDR VMALLOC_START
8236 #define MODULES_END VMALLOC_END
8237 #define MODULES_LEN (MODULES_VADDR - MODULES_END)
8238diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable-3level.h linux-3.0.8/arch/x86/include/asm/pgtable-3level.h
8239--- linux-3.0.8/arch/x86/include/asm/pgtable-3level.h 2011-07-21 22:17:23.000000000 -0400
8240+++ linux-3.0.8/arch/x86/include/asm/pgtable-3level.h 2011-08-23 21:47:55.000000000 -0400
8597@@ -38,12 +38,16 @@ static inline void native_set_pte_atomic 8241@@ -38,12 +38,16 @@ static inline void native_set_pte_atomic
8598 8242
8599 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd) 8243 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd)
@@ -8611,9 +8255,66 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable-3level.h linux-3.0.7/arch/x8
8611 } 8255 }
8612 8256
8613 /* 8257 /*
8614diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable.h linux-3.0.7/arch/x86/include/asm/pgtable.h 8258diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable_64.h linux-3.0.8/arch/x86/include/asm/pgtable_64.h
8615--- linux-3.0.7/arch/x86/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400 8259--- linux-3.0.8/arch/x86/include/asm/pgtable_64.h 2011-07-21 22:17:23.000000000 -0400
8616+++ linux-3.0.7/arch/x86/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400 8260+++ linux-3.0.8/arch/x86/include/asm/pgtable_64.h 2011-08-23 21:47:55.000000000 -0400
8261@@ -16,10 +16,13 @@
8262
8263 extern pud_t level3_kernel_pgt[512];
8264 extern pud_t level3_ident_pgt[512];
8265+extern pud_t level3_vmalloc_pgt[512];
8266+extern pud_t level3_vmemmap_pgt[512];
8267+extern pud_t level2_vmemmap_pgt[512];
8268 extern pmd_t level2_kernel_pgt[512];
8269 extern pmd_t level2_fixmap_pgt[512];
8270-extern pmd_t level2_ident_pgt[512];
8271-extern pgd_t init_level4_pgt[];
8272+extern pmd_t level2_ident_pgt[512*2];
8273+extern pgd_t init_level4_pgt[512];
8274
8275 #define swapper_pg_dir init_level4_pgt
8276
8277@@ -61,7 +64,9 @@ static inline void native_set_pte_atomic
8278
8279 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd)
8280 {
8281+ pax_open_kernel();
8282 *pmdp = pmd;
8283+ pax_close_kernel();
8284 }
8285
8286 static inline void native_pmd_clear(pmd_t *pmd)
8287@@ -107,6 +112,13 @@ static inline void native_pud_clear(pud_
8288
8289 static inline void native_set_pgd(pgd_t *pgdp, pgd_t pgd)
8290 {
8291+ pax_open_kernel();
8292+ *pgdp = pgd;
8293+ pax_close_kernel();
8294+}
8295+
8296+static inline void native_set_pgd_batched(pgd_t *pgdp, pgd_t pgd)
8297+{
8298 *pgdp = pgd;
8299 }
8300
8301diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable_64_types.h linux-3.0.8/arch/x86/include/asm/pgtable_64_types.h
8302--- linux-3.0.8/arch/x86/include/asm/pgtable_64_types.h 2011-07-21 22:17:23.000000000 -0400
8303+++ linux-3.0.8/arch/x86/include/asm/pgtable_64_types.h 2011-08-23 21:47:55.000000000 -0400
8304@@ -59,5 +59,10 @@ typedef struct { pteval_t pte; } pte_t;
8305 #define MODULES_VADDR _AC(0xffffffffa0000000, UL)
8306 #define MODULES_END _AC(0xffffffffff000000, UL)
8307 #define MODULES_LEN (MODULES_END - MODULES_VADDR)
8308+#define MODULES_EXEC_VADDR MODULES_VADDR
8309+#define MODULES_EXEC_END MODULES_END
8310+
8311+#define ktla_ktva(addr) (addr)
8312+#define ktva_ktla(addr) (addr)
8313
8314 #endif /* _ASM_X86_PGTABLE_64_DEFS_H */
8315diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable.h linux-3.0.8/arch/x86/include/asm/pgtable.h
8316--- linux-3.0.8/arch/x86/include/asm/pgtable.h 2011-07-21 22:17:23.000000000 -0400
8317+++ linux-3.0.8/arch/x86/include/asm/pgtable.h 2011-08-23 21:47:55.000000000 -0400
8617@@ -44,6 +44,7 @@ extern struct mm_struct *pgd_page_get_mm 8318@@ -44,6 +44,7 @@ extern struct mm_struct *pgd_page_get_mm
8618 8319
8619 #ifndef __PAGETABLE_PUD_FOLDED 8320 #ifndef __PAGETABLE_PUD_FOLDED
@@ -8791,144 +8492,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable.h linux-3.0.7/arch/x86/inclu
8791 8492
8792 #include <asm-generic/pgtable.h> 8493 #include <asm-generic/pgtable.h>
8793 #endif /* __ASSEMBLY__ */ 8494 #endif /* __ASSEMBLY__ */
8794diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable_32.h linux-3.0.7/arch/x86/include/asm/pgtable_32.h 8495diff -urNp linux-3.0.8/arch/x86/include/asm/pgtable_types.h linux-3.0.8/arch/x86/include/asm/pgtable_types.h
8795--- linux-3.0.7/arch/x86/include/asm/pgtable_32.h 2011-07-21 22:17:23.000000000 -0400 8496--- linux-3.0.8/arch/x86/include/asm/pgtable_types.h 2011-07-21 22:17:23.000000000 -0400
8796+++ linux-3.0.7/arch/x86/include/asm/pgtable_32.h 2011-08-23 21:47:55.000000000 -0400 8497+++ linux-3.0.8/arch/x86/include/asm/pgtable_types.h 2011-08-23 21:47:55.000000000 -0400
8797@@ -25,9 +25,6 @@
8798 struct mm_struct;
8799 struct vm_area_struct;
8800
8801-extern pgd_t swapper_pg_dir[1024];
8802-extern pgd_t initial_page_table[1024];
8803-
8804 static inline void pgtable_cache_init(void) { }
8805 static inline void check_pgt_cache(void) { }
8806 void paging_init(void);
8807@@ -48,6 +45,12 @@ extern void set_pmd_pfn(unsigned long, u
8808 # include <asm/pgtable-2level.h>
8809 #endif
8810
8811+extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
8812+extern pgd_t initial_page_table[PTRS_PER_PGD];
8813+#ifdef CONFIG_X86_PAE
8814+extern pmd_t swapper_pm_dir[PTRS_PER_PGD][PTRS_PER_PMD];
8815+#endif
8816+
8817 #if defined(CONFIG_HIGHPTE)
8818 #define pte_offset_map(dir, address) \
8819 ((pte_t *)kmap_atomic(pmd_page(*(dir))) + \
8820@@ -62,7 +65,9 @@ extern void set_pmd_pfn(unsigned long, u
8821 /* Clear a kernel PTE and flush it from the TLB */
8822 #define kpte_clear_flush(ptep, vaddr) \
8823 do { \
8824+ pax_open_kernel(); \
8825 pte_clear(&init_mm, (vaddr), (ptep)); \
8826+ pax_close_kernel(); \
8827 __flush_tlb_one((vaddr)); \
8828 } while (0)
8829
8830@@ -74,6 +79,9 @@ do { \
8831
8832 #endif /* !__ASSEMBLY__ */
8833
8834+#define HAVE_ARCH_UNMAPPED_AREA
8835+#define HAVE_ARCH_UNMAPPED_AREA_TOPDOWN
8836+
8837 /*
8838 * kern_addr_valid() is (1) for FLATMEM and (0) for
8839 * SPARSEMEM and DISCONTIGMEM
8840diff -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
8841--- linux-3.0.7/arch/x86/include/asm/pgtable_32_types.h 2011-07-21 22:17:23.000000000 -0400
8842+++ linux-3.0.7/arch/x86/include/asm/pgtable_32_types.h 2011-08-23 21:47:55.000000000 -0400
8843@@ -8,7 +8,7 @@
8844 */
8845 #ifdef CONFIG_X86_PAE
8846 # include <asm/pgtable-3level_types.h>
8847-# define PMD_SIZE (1UL << PMD_SHIFT)
8848+# define PMD_SIZE (_AC(1, UL) << PMD_SHIFT)
8849 # define PMD_MASK (~(PMD_SIZE - 1))
8850 #else
8851 # include <asm/pgtable-2level_types.h>
8852@@ -46,6 +46,19 @@ extern bool __vmalloc_start_set; /* set
8853 # define VMALLOC_END (FIXADDR_START - 2 * PAGE_SIZE)
8854 #endif
8855
8856+#ifdef CONFIG_PAX_KERNEXEC
8857+#ifndef __ASSEMBLY__
8858+extern unsigned char MODULES_EXEC_VADDR[];
8859+extern unsigned char MODULES_EXEC_END[];
8860+#endif
8861+#include <asm/boot.h>
8862+#define ktla_ktva(addr) (addr + LOAD_PHYSICAL_ADDR + PAGE_OFFSET)
8863+#define ktva_ktla(addr) (addr - LOAD_PHYSICAL_ADDR - PAGE_OFFSET)
8864+#else
8865+#define ktla_ktva(addr) (addr)
8866+#define ktva_ktla(addr) (addr)
8867+#endif
8868+
8869 #define MODULES_VADDR VMALLOC_START
8870 #define MODULES_END VMALLOC_END
8871 #define MODULES_LEN (MODULES_VADDR - MODULES_END)
8872diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable_64.h linux-3.0.7/arch/x86/include/asm/pgtable_64.h
8873--- linux-3.0.7/arch/x86/include/asm/pgtable_64.h 2011-07-21 22:17:23.000000000 -0400
8874+++ linux-3.0.7/arch/x86/include/asm/pgtable_64.h 2011-08-23 21:47:55.000000000 -0400
8875@@ -16,10 +16,13 @@
8876
8877 extern pud_t level3_kernel_pgt[512];
8878 extern pud_t level3_ident_pgt[512];
8879+extern pud_t level3_vmalloc_pgt[512];
8880+extern pud_t level3_vmemmap_pgt[512];
8881+extern pud_t level2_vmemmap_pgt[512];
8882 extern pmd_t level2_kernel_pgt[512];
8883 extern pmd_t level2_fixmap_pgt[512];
8884-extern pmd_t level2_ident_pgt[512];
8885-extern pgd_t init_level4_pgt[];
8886+extern pmd_t level2_ident_pgt[512*2];
8887+extern pgd_t init_level4_pgt[512];
8888
8889 #define swapper_pg_dir init_level4_pgt
8890
8891@@ -61,7 +64,9 @@ static inline void native_set_pte_atomic
8892
8893 static inline void native_set_pmd(pmd_t *pmdp, pmd_t pmd)
8894 {
8895+ pax_open_kernel();
8896 *pmdp = pmd;
8897+ pax_close_kernel();
8898 }
8899
8900 static inline void native_pmd_clear(pmd_t *pmd)
8901@@ -107,6 +112,13 @@ static inline void native_pud_clear(pud_
8902
8903 static inline void native_set_pgd(pgd_t *pgdp, pgd_t pgd)
8904 {
8905+ pax_open_kernel();
8906+ *pgdp = pgd;
8907+ pax_close_kernel();
8908+}
8909+
8910+static inline void native_set_pgd_batched(pgd_t *pgdp, pgd_t pgd)
8911+{
8912 *pgdp = pgd;
8913 }
8914
8915diff -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
8916--- linux-3.0.7/arch/x86/include/asm/pgtable_64_types.h 2011-07-21 22:17:23.000000000 -0400
8917+++ linux-3.0.7/arch/x86/include/asm/pgtable_64_types.h 2011-08-23 21:47:55.000000000 -0400
8918@@ -59,5 +59,10 @@ typedef struct { pteval_t pte; } pte_t;
8919 #define MODULES_VADDR _AC(0xffffffffa0000000, UL)
8920 #define MODULES_END _AC(0xffffffffff000000, UL)
8921 #define MODULES_LEN (MODULES_END - MODULES_VADDR)
8922+#define MODULES_EXEC_VADDR MODULES_VADDR
8923+#define MODULES_EXEC_END MODULES_END
8924+
8925+#define ktla_ktva(addr) (addr)
8926+#define ktva_ktla(addr) (addr)
8927
8928 #endif /* _ASM_X86_PGTABLE_64_DEFS_H */
8929diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable_types.h linux-3.0.7/arch/x86/include/asm/pgtable_types.h
8930--- linux-3.0.7/arch/x86/include/asm/pgtable_types.h 2011-07-21 22:17:23.000000000 -0400
8931+++ linux-3.0.7/arch/x86/include/asm/pgtable_types.h 2011-08-23 21:47:55.000000000 -0400
8932@@ -16,13 +16,12 @@ 8498@@ -16,13 +16,12 @@
8933 #define _PAGE_BIT_PSE 7 /* 4 MB (or 2MB) page */ 8499 #define _PAGE_BIT_PSE 7 /* 4 MB (or 2MB) page */
8934 #define _PAGE_BIT_PAT 7 /* on 4KB pages */ 8500 #define _PAGE_BIT_PAT 7 /* on 4KB pages */
@@ -9042,9 +8608,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/pgtable_types.h linux-3.0.7/arch/x86
9042 8608
9043 #define pgprot_writecombine pgprot_writecombine 8609 #define pgprot_writecombine pgprot_writecombine
9044 extern pgprot_t pgprot_writecombine(pgprot_t prot); 8610 extern pgprot_t pgprot_writecombine(pgprot_t prot);
9045diff -urNp linux-3.0.7/arch/x86/include/asm/processor.h linux-3.0.7/arch/x86/include/asm/processor.h 8611diff -urNp linux-3.0.8/arch/x86/include/asm/processor.h linux-3.0.8/arch/x86/include/asm/processor.h
9046--- linux-3.0.7/arch/x86/include/asm/processor.h 2011-07-21 22:17:23.000000000 -0400 8612--- linux-3.0.8/arch/x86/include/asm/processor.h 2011-07-21 22:17:23.000000000 -0400
9047+++ linux-3.0.7/arch/x86/include/asm/processor.h 2011-08-23 21:47:55.000000000 -0400 8613+++ linux-3.0.8/arch/x86/include/asm/processor.h 2011-08-23 21:47:55.000000000 -0400
9048@@ -266,7 +266,7 @@ struct tss_struct { 8614@@ -266,7 +266,7 @@ struct tss_struct {
9049 8615
9050 } ____cacheline_aligned; 8616 } ____cacheline_aligned;
@@ -9147,9 +8713,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/processor.h linux-3.0.7/arch/x86/inc
9147 #define KSTK_EIP(task) (task_pt_regs(task)->ip) 8713 #define KSTK_EIP(task) (task_pt_regs(task)->ip)
9148 8714
9149 /* Get/set a process' ability to use the timestamp counter instruction */ 8715 /* Get/set a process' ability to use the timestamp counter instruction */
9150diff -urNp linux-3.0.7/arch/x86/include/asm/ptrace.h linux-3.0.7/arch/x86/include/asm/ptrace.h 8716diff -urNp linux-3.0.8/arch/x86/include/asm/ptrace.h linux-3.0.8/arch/x86/include/asm/ptrace.h
9151--- linux-3.0.7/arch/x86/include/asm/ptrace.h 2011-07-21 22:17:23.000000000 -0400 8717--- linux-3.0.8/arch/x86/include/asm/ptrace.h 2011-07-21 22:17:23.000000000 -0400
9152+++ linux-3.0.7/arch/x86/include/asm/ptrace.h 2011-08-23 21:47:55.000000000 -0400 8718+++ linux-3.0.8/arch/x86/include/asm/ptrace.h 2011-08-23 21:47:55.000000000 -0400
9153@@ -153,28 +153,29 @@ static inline unsigned long regs_return_ 8719@@ -153,28 +153,29 @@ static inline unsigned long regs_return_
9154 } 8720 }
9155 8721
@@ -9186,9 +8752,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/ptrace.h linux-3.0.7/arch/x86/includ
9186 #endif 8752 #endif
9187 } 8753 }
9188 8754
9189diff -urNp linux-3.0.7/arch/x86/include/asm/reboot.h linux-3.0.7/arch/x86/include/asm/reboot.h 8755diff -urNp linux-3.0.8/arch/x86/include/asm/reboot.h linux-3.0.8/arch/x86/include/asm/reboot.h
9190--- linux-3.0.7/arch/x86/include/asm/reboot.h 2011-07-21 22:17:23.000000000 -0400 8756--- linux-3.0.8/arch/x86/include/asm/reboot.h 2011-07-21 22:17:23.000000000 -0400
9191+++ linux-3.0.7/arch/x86/include/asm/reboot.h 2011-08-23 21:47:55.000000000 -0400 8757+++ linux-3.0.8/arch/x86/include/asm/reboot.h 2011-08-23 21:47:55.000000000 -0400
9192@@ -6,19 +6,19 @@ 8758@@ -6,19 +6,19 @@
9193 struct pt_regs; 8759 struct pt_regs;
9194 8760
@@ -9215,9 +8781,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/reboot.h linux-3.0.7/arch/x86/includ
9215 /* These must match dispatch_table in reboot_32.S */ 8781 /* These must match dispatch_table in reboot_32.S */
9216 #define MRR_BIOS 0 8782 #define MRR_BIOS 0
9217 #define MRR_APM 1 8783 #define MRR_APM 1
9218diff -urNp linux-3.0.7/arch/x86/include/asm/rwsem.h linux-3.0.7/arch/x86/include/asm/rwsem.h 8784diff -urNp linux-3.0.8/arch/x86/include/asm/rwsem.h linux-3.0.8/arch/x86/include/asm/rwsem.h
9219--- linux-3.0.7/arch/x86/include/asm/rwsem.h 2011-07-21 22:17:23.000000000 -0400 8785--- linux-3.0.8/arch/x86/include/asm/rwsem.h 2011-07-21 22:17:23.000000000 -0400
9220+++ linux-3.0.7/arch/x86/include/asm/rwsem.h 2011-08-23 21:47:55.000000000 -0400 8786+++ linux-3.0.8/arch/x86/include/asm/rwsem.h 2011-08-23 21:47:55.000000000 -0400
9221@@ -64,6 +64,14 @@ static inline void __down_read(struct rw 8787@@ -64,6 +64,14 @@ static inline void __down_read(struct rw
9222 { 8788 {
9223 asm volatile("# beginning down_read\n\t" 8789 asm volatile("# beginning down_read\n\t"
@@ -9342,9 +8908,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/rwsem.h linux-3.0.7/arch/x86/include
9342 : "+r" (tmp), "+m" (sem->count) 8908 : "+r" (tmp), "+m" (sem->count)
9343 : : "memory"); 8909 : : "memory");
9344 8910
9345diff -urNp linux-3.0.7/arch/x86/include/asm/segment.h linux-3.0.7/arch/x86/include/asm/segment.h 8911diff -urNp linux-3.0.8/arch/x86/include/asm/segment.h linux-3.0.8/arch/x86/include/asm/segment.h
9346--- linux-3.0.7/arch/x86/include/asm/segment.h 2011-07-21 22:17:23.000000000 -0400 8912--- linux-3.0.8/arch/x86/include/asm/segment.h 2011-07-21 22:17:23.000000000 -0400
9347+++ linux-3.0.7/arch/x86/include/asm/segment.h 2011-09-17 00:53:42.000000000 -0400 8913+++ linux-3.0.8/arch/x86/include/asm/segment.h 2011-09-17 00:53:42.000000000 -0400
9348@@ -64,10 +64,15 @@ 8914@@ -64,10 +64,15 @@
9349 * 26 - ESPFIX small SS 8915 * 26 - ESPFIX small SS
9350 * 27 - per-cpu [ offset to per-cpu data area ] 8916 * 27 - per-cpu [ offset to per-cpu data area ]
@@ -9411,9 +8977,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/segment.h linux-3.0.7/arch/x86/inclu
9411 #define __KERNEL_DS (GDT_ENTRY_KERNEL_DS*8) 8977 #define __KERNEL_DS (GDT_ENTRY_KERNEL_DS*8)
9412 #define __USER_DS (GDT_ENTRY_DEFAULT_USER_DS*8+3) 8978 #define __USER_DS (GDT_ENTRY_DEFAULT_USER_DS*8+3)
9413 #define __USER_CS (GDT_ENTRY_DEFAULT_USER_CS*8+3) 8979 #define __USER_CS (GDT_ENTRY_DEFAULT_USER_CS*8+3)
9414diff -urNp linux-3.0.7/arch/x86/include/asm/smp.h linux-3.0.7/arch/x86/include/asm/smp.h 8980diff -urNp linux-3.0.8/arch/x86/include/asm/smp.h linux-3.0.8/arch/x86/include/asm/smp.h
9415--- linux-3.0.7/arch/x86/include/asm/smp.h 2011-07-21 22:17:23.000000000 -0400 8981--- linux-3.0.8/arch/x86/include/asm/smp.h 2011-07-21 22:17:23.000000000 -0400
9416+++ linux-3.0.7/arch/x86/include/asm/smp.h 2011-08-23 21:47:55.000000000 -0400 8982+++ linux-3.0.8/arch/x86/include/asm/smp.h 2011-08-23 21:47:55.000000000 -0400
9417@@ -36,7 +36,7 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_ 8983@@ -36,7 +36,7 @@ DECLARE_PER_CPU(cpumask_var_t, cpu_core_
9418 /* cpus sharing the last level cache: */ 8984 /* cpus sharing the last level cache: */
9419 DECLARE_PER_CPU(cpumask_var_t, cpu_llc_shared_map); 8985 DECLARE_PER_CPU(cpumask_var_t, cpu_llc_shared_map);
@@ -9449,9 +9015,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/smp.h linux-3.0.7/arch/x86/include/a
9449 #define safe_smp_processor_id() smp_processor_id() 9015 #define safe_smp_processor_id() smp_processor_id()
9450 9016
9451 #endif 9017 #endif
9452diff -urNp linux-3.0.7/arch/x86/include/asm/spinlock.h linux-3.0.7/arch/x86/include/asm/spinlock.h 9018diff -urNp linux-3.0.8/arch/x86/include/asm/spinlock.h linux-3.0.8/arch/x86/include/asm/spinlock.h
9453--- linux-3.0.7/arch/x86/include/asm/spinlock.h 2011-07-21 22:17:23.000000000 -0400 9019--- linux-3.0.8/arch/x86/include/asm/spinlock.h 2011-07-21 22:17:23.000000000 -0400
9454+++ linux-3.0.7/arch/x86/include/asm/spinlock.h 2011-08-23 21:47:55.000000000 -0400 9020+++ linux-3.0.8/arch/x86/include/asm/spinlock.h 2011-08-23 21:47:55.000000000 -0400
9455@@ -249,6 +249,14 @@ static inline int arch_write_can_lock(ar 9021@@ -249,6 +249,14 @@ static inline int arch_write_can_lock(ar
9456 static inline void arch_read_lock(arch_rwlock_t *rw) 9022 static inline void arch_read_lock(arch_rwlock_t *rw)
9457 { 9023 {
@@ -9514,9 +9080,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/spinlock.h linux-3.0.7/arch/x86/incl
9514 : "+m" (rw->lock) : "i" (RW_LOCK_BIAS) : "memory"); 9080 : "+m" (rw->lock) : "i" (RW_LOCK_BIAS) : "memory");
9515 } 9081 }
9516 9082
9517diff -urNp linux-3.0.7/arch/x86/include/asm/stackprotector.h linux-3.0.7/arch/x86/include/asm/stackprotector.h 9083diff -urNp linux-3.0.8/arch/x86/include/asm/stackprotector.h linux-3.0.8/arch/x86/include/asm/stackprotector.h
9518--- linux-3.0.7/arch/x86/include/asm/stackprotector.h 2011-07-21 22:17:23.000000000 -0400 9084--- linux-3.0.8/arch/x86/include/asm/stackprotector.h 2011-07-21 22:17:23.000000000 -0400
9519+++ linux-3.0.7/arch/x86/include/asm/stackprotector.h 2011-08-23 21:47:55.000000000 -0400 9085+++ linux-3.0.8/arch/x86/include/asm/stackprotector.h 2011-08-23 21:47:55.000000000 -0400
9520@@ -48,7 +48,7 @@ 9086@@ -48,7 +48,7 @@
9521 * head_32 for boot CPU and setup_per_cpu_areas() for others. 9087 * head_32 for boot CPU and setup_per_cpu_areas() for others.
9522 */ 9088 */
@@ -9535,9 +9101,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/stackprotector.h linux-3.0.7/arch/x8
9535 asm volatile ("mov %0, %%gs" : : "r" (0)); 9101 asm volatile ("mov %0, %%gs" : : "r" (0));
9536 #endif 9102 #endif
9537 } 9103 }
9538diff -urNp linux-3.0.7/arch/x86/include/asm/stacktrace.h linux-3.0.7/arch/x86/include/asm/stacktrace.h 9104diff -urNp linux-3.0.8/arch/x86/include/asm/stacktrace.h linux-3.0.8/arch/x86/include/asm/stacktrace.h
9539--- linux-3.0.7/arch/x86/include/asm/stacktrace.h 2011-07-21 22:17:23.000000000 -0400 9105--- linux-3.0.8/arch/x86/include/asm/stacktrace.h 2011-07-21 22:17:23.000000000 -0400
9540+++ linux-3.0.7/arch/x86/include/asm/stacktrace.h 2011-08-23 21:47:55.000000000 -0400 9106+++ linux-3.0.8/arch/x86/include/asm/stacktrace.h 2011-08-23 21:47:55.000000000 -0400
9541@@ -11,28 +11,20 @@ 9107@@ -11,28 +11,20 @@
9542 9108
9543 extern int kstack_depth_to_print; 9109 extern int kstack_depth_to_print;
@@ -9588,9 +9154,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/stacktrace.h linux-3.0.7/arch/x86/in
9588 }; 9154 };
9589 9155
9590 void dump_trace(struct task_struct *tsk, struct pt_regs *regs, 9156 void dump_trace(struct task_struct *tsk, struct pt_regs *regs,
9591diff -urNp linux-3.0.7/arch/x86/include/asm/sys_ia32.h linux-3.0.7/arch/x86/include/asm/sys_ia32.h 9157diff -urNp linux-3.0.8/arch/x86/include/asm/sys_ia32.h linux-3.0.8/arch/x86/include/asm/sys_ia32.h
9592--- linux-3.0.7/arch/x86/include/asm/sys_ia32.h 2011-07-21 22:17:23.000000000 -0400 9158--- linux-3.0.8/arch/x86/include/asm/sys_ia32.h 2011-07-21 22:17:23.000000000 -0400
9593+++ linux-3.0.7/arch/x86/include/asm/sys_ia32.h 2011-10-06 04:17:55.000000000 -0400 9159+++ linux-3.0.8/arch/x86/include/asm/sys_ia32.h 2011-10-06 04:17:55.000000000 -0400
9594@@ -40,7 +40,7 @@ asmlinkage long sys32_rt_sigprocmask(int 9160@@ -40,7 +40,7 @@ asmlinkage long sys32_rt_sigprocmask(int
9595 compat_sigset_t __user *, unsigned int); 9161 compat_sigset_t __user *, unsigned int);
9596 asmlinkage long sys32_alarm(unsigned int); 9162 asmlinkage long sys32_alarm(unsigned int);
@@ -9600,9 +9166,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/sys_ia32.h linux-3.0.7/arch/x86/incl
9600 asmlinkage long sys32_sysfs(int, u32, u32); 9166 asmlinkage long sys32_sysfs(int, u32, u32);
9601 9167
9602 asmlinkage long sys32_sched_rr_get_interval(compat_pid_t, 9168 asmlinkage long sys32_sched_rr_get_interval(compat_pid_t,
9603diff -urNp linux-3.0.7/arch/x86/include/asm/system.h linux-3.0.7/arch/x86/include/asm/system.h 9169diff -urNp linux-3.0.8/arch/x86/include/asm/system.h linux-3.0.8/arch/x86/include/asm/system.h
9604--- linux-3.0.7/arch/x86/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400 9170--- linux-3.0.8/arch/x86/include/asm/system.h 2011-07-21 22:17:23.000000000 -0400
9605+++ linux-3.0.7/arch/x86/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400 9171+++ linux-3.0.8/arch/x86/include/asm/system.h 2011-08-23 21:47:55.000000000 -0400
9606@@ -129,7 +129,7 @@ do { \ 9172@@ -129,7 +129,7 @@ do { \
9607 "call __switch_to\n\t" \ 9173 "call __switch_to\n\t" \
9608 "movq "__percpu_arg([current_task])",%%rsi\n\t" \ 9174 "movq "__percpu_arg([current_task])",%%rsi\n\t" \
@@ -9645,9 +9211,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/system.h linux-3.0.7/arch/x86/includ
9645 9211
9646 /* 9212 /*
9647 * Force strict CPU ordering. 9213 * Force strict CPU ordering.
9648diff -urNp linux-3.0.7/arch/x86/include/asm/thread_info.h linux-3.0.7/arch/x86/include/asm/thread_info.h 9214diff -urNp linux-3.0.8/arch/x86/include/asm/thread_info.h linux-3.0.8/arch/x86/include/asm/thread_info.h
9649--- linux-3.0.7/arch/x86/include/asm/thread_info.h 2011-07-21 22:17:23.000000000 -0400 9215--- linux-3.0.8/arch/x86/include/asm/thread_info.h 2011-07-21 22:17:23.000000000 -0400
9650+++ linux-3.0.7/arch/x86/include/asm/thread_info.h 2011-08-23 21:47:55.000000000 -0400 9216+++ linux-3.0.8/arch/x86/include/asm/thread_info.h 2011-08-23 21:47:55.000000000 -0400
9651@@ -10,6 +10,7 @@ 9217@@ -10,6 +10,7 @@
9652 #include <linux/compiler.h> 9218 #include <linux/compiler.h>
9653 #include <asm/page.h> 9219 #include <asm/page.h>
@@ -9795,231 +9361,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/thread_info.h linux-3.0.7/arch/x86/i
9795+ 9361+
9796 #endif 9362 #endif
9797 #endif /* _ASM_X86_THREAD_INFO_H */ 9363 #endif /* _ASM_X86_THREAD_INFO_H */
9798diff -urNp linux-3.0.7/arch/x86/include/asm/uaccess.h linux-3.0.7/arch/x86/include/asm/uaccess.h 9364diff -urNp linux-3.0.8/arch/x86/include/asm/uaccess_32.h linux-3.0.8/arch/x86/include/asm/uaccess_32.h
9799--- linux-3.0.7/arch/x86/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400 9365--- linux-3.0.8/arch/x86/include/asm/uaccess_32.h 2011-07-21 22:17:23.000000000 -0400
9800+++ linux-3.0.7/arch/x86/include/asm/uaccess.h 2011-10-06 04:17:55.000000000 -0400 9366+++ linux-3.0.8/arch/x86/include/asm/uaccess_32.h 2011-08-23 21:48:14.000000000 -0400
9801@@ -7,12 +7,15 @@
9802 #include <linux/compiler.h>
9803 #include <linux/thread_info.h>
9804 #include <linux/string.h>
9805+#include <linux/sched.h>
9806 #include <asm/asm.h>
9807 #include <asm/page.h>
9808
9809 #define VERIFY_READ 0
9810 #define VERIFY_WRITE 1
9811
9812+extern void check_object_size(const void *ptr, unsigned long n, bool to);
9813+
9814 /*
9815 * The fs value determines whether argument validity checking should be
9816 * performed or not. If get_fs() == USER_DS, checking is performed, with
9817@@ -28,7 +31,12 @@
9818
9819 #define get_ds() (KERNEL_DS)
9820 #define get_fs() (current_thread_info()->addr_limit)
9821+#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_MEMORY_UDEREF)
9822+void __set_fs(mm_segment_t x);
9823+void set_fs(mm_segment_t x);
9824+#else
9825 #define set_fs(x) (current_thread_info()->addr_limit = (x))
9826+#endif
9827
9828 #define segment_eq(a, b) ((a).seg == (b).seg)
9829
9830@@ -76,7 +84,33 @@
9831 * checks that the pointer is in the user space range - after calling
9832 * this function, memory access functions may still return -EFAULT.
9833 */
9834-#define access_ok(type, addr, size) (likely(__range_not_ok(addr, size) == 0))
9835+#define __access_ok(type, addr, size) (likely(__range_not_ok(addr, size) == 0))
9836+#define access_ok(type, addr, size) \
9837+({ \
9838+ long __size = size; \
9839+ unsigned long __addr = (unsigned long)addr; \
9840+ unsigned long __addr_ao = __addr & PAGE_MASK; \
9841+ unsigned long __end_ao = __addr + __size - 1; \
9842+ bool __ret_ao = __range_not_ok(__addr, __size) == 0; \
9843+ if (__ret_ao && unlikely((__end_ao ^ __addr_ao) & PAGE_MASK)) { \
9844+ while(__addr_ao <= __end_ao) { \
9845+ char __c_ao; \
9846+ __addr_ao += PAGE_SIZE; \
9847+ if (__size > PAGE_SIZE) \
9848+ cond_resched(); \
9849+ if (__get_user(__c_ao, (char __user *)__addr)) \
9850+ break; \
9851+ if (type != VERIFY_WRITE) { \
9852+ __addr = __addr_ao; \
9853+ continue; \
9854+ } \
9855+ if (__put_user(__c_ao, (char __user *)__addr)) \
9856+ break; \
9857+ __addr = __addr_ao; \
9858+ } \
9859+ } \
9860+ __ret_ao; \
9861+})
9862
9863 /*
9864 * The exception table consists of pairs of addresses: the first is the
9865@@ -182,12 +216,20 @@ extern int __get_user_bad(void);
9866 asm volatile("call __put_user_" #size : "=a" (__ret_pu) \
9867 : "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx")
9868
9869-
9870+#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_MEMORY_UDEREF)
9871+#define __copyuser_seg "gs;"
9872+#define __COPYUSER_SET_ES "pushl %%gs; popl %%es\n"
9873+#define __COPYUSER_RESTORE_ES "pushl %%ss; popl %%es\n"
9874+#else
9875+#define __copyuser_seg
9876+#define __COPYUSER_SET_ES
9877+#define __COPYUSER_RESTORE_ES
9878+#endif
9879
9880 #ifdef CONFIG_X86_32
9881 #define __put_user_asm_u64(x, addr, err, errret) \
9882- asm volatile("1: movl %%eax,0(%2)\n" \
9883- "2: movl %%edx,4(%2)\n" \
9884+ asm volatile("1: "__copyuser_seg"movl %%eax,0(%2)\n" \
9885+ "2: "__copyuser_seg"movl %%edx,4(%2)\n" \
9886 "3:\n" \
9887 ".section .fixup,\"ax\"\n" \
9888 "4: movl %3,%0\n" \
9889@@ -199,8 +241,8 @@ extern int __get_user_bad(void);
9890 : "A" (x), "r" (addr), "i" (errret), "0" (err))
9891
9892 #define __put_user_asm_ex_u64(x, addr) \
9893- asm volatile("1: movl %%eax,0(%1)\n" \
9894- "2: movl %%edx,4(%1)\n" \
9895+ asm volatile("1: "__copyuser_seg"movl %%eax,0(%1)\n" \
9896+ "2: "__copyuser_seg"movl %%edx,4(%1)\n" \
9897 "3:\n" \
9898 _ASM_EXTABLE(1b, 2b - 1b) \
9899 _ASM_EXTABLE(2b, 3b - 2b) \
9900@@ -252,7 +294,7 @@ extern void __put_user_8(void);
9901 __typeof__(*(ptr)) __pu_val; \
9902 __chk_user_ptr(ptr); \
9903 might_fault(); \
9904- __pu_val = x; \
9905+ __pu_val = (x); \
9906 switch (sizeof(*(ptr))) { \
9907 case 1: \
9908 __put_user_x(1, __pu_val, ptr, __ret_pu); \
9909@@ -373,7 +415,7 @@ do { \
9910 } while (0)
9911
9912 #define __get_user_asm(x, addr, err, itype, rtype, ltype, errret) \
9913- asm volatile("1: mov"itype" %2,%"rtype"1\n" \
9914+ asm volatile("1: "__copyuser_seg"mov"itype" %2,%"rtype"1\n"\
9915 "2:\n" \
9916 ".section .fixup,\"ax\"\n" \
9917 "3: mov %3,%0\n" \
9918@@ -381,7 +423,7 @@ do { \
9919 " jmp 2b\n" \
9920 ".previous\n" \
9921 _ASM_EXTABLE(1b, 3b) \
9922- : "=r" (err), ltype(x) \
9923+ : "=r" (err), ltype (x) \
9924 : "m" (__m(addr)), "i" (errret), "0" (err))
9925
9926 #define __get_user_size_ex(x, ptr, size) \
9927@@ -406,7 +448,7 @@ do { \
9928 } while (0)
9929
9930 #define __get_user_asm_ex(x, addr, itype, rtype, ltype) \
9931- asm volatile("1: mov"itype" %1,%"rtype"0\n" \
9932+ asm volatile("1: "__copyuser_seg"mov"itype" %1,%"rtype"0\n"\
9933 "2:\n" \
9934 _ASM_EXTABLE(1b, 2b - 1b) \
9935 : ltype(x) : "m" (__m(addr)))
9936@@ -423,13 +465,24 @@ do { \
9937 int __gu_err; \
9938 unsigned long __gu_val; \
9939 __get_user_size(__gu_val, (ptr), (size), __gu_err, -EFAULT); \
9940- (x) = (__force __typeof__(*(ptr)))__gu_val; \
9941+ (x) = (__typeof__(*(ptr)))__gu_val; \
9942 __gu_err; \
9943 })
9944
9945 /* FIXME: this hack is definitely wrong -AK */
9946 struct __large_struct { unsigned long buf[100]; };
9947-#define __m(x) (*(struct __large_struct __user *)(x))
9948+#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF)
9949+#define ____m(x) \
9950+({ \
9951+ unsigned long ____x = (unsigned long)(x); \
9952+ if (____x < PAX_USER_SHADOW_BASE) \
9953+ ____x += PAX_USER_SHADOW_BASE; \
9954+ (void __user *)____x; \
9955+})
9956+#else
9957+#define ____m(x) (x)
9958+#endif
9959+#define __m(x) (*(struct __large_struct __user *)____m(x))
9960
9961 /*
9962 * Tell gcc we read from memory instead of writing: this is because
9963@@ -437,7 +490,7 @@ struct __large_struct { unsigned long bu
9964 * aliasing issues.
9965 */
9966 #define __put_user_asm(x, addr, err, itype, rtype, ltype, errret) \
9967- asm volatile("1: mov"itype" %"rtype"1,%2\n" \
9968+ asm volatile("1: "__copyuser_seg"mov"itype" %"rtype"1,%2\n"\
9969 "2:\n" \
9970 ".section .fixup,\"ax\"\n" \
9971 "3: mov %3,%0\n" \
9972@@ -445,10 +498,10 @@ struct __large_struct { unsigned long bu
9973 ".previous\n" \
9974 _ASM_EXTABLE(1b, 3b) \
9975 : "=r"(err) \
9976- : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
9977+ : ltype (x), "m" (__m(addr)), "i" (errret), "0" (err))
9978
9979 #define __put_user_asm_ex(x, addr, itype, rtype, ltype) \
9980- asm volatile("1: mov"itype" %"rtype"0,%1\n" \
9981+ asm volatile("1: "__copyuser_seg"mov"itype" %"rtype"0,%1\n"\
9982 "2:\n" \
9983 _ASM_EXTABLE(1b, 2b - 1b) \
9984 : : ltype(x), "m" (__m(addr)))
9985@@ -487,8 +540,12 @@ struct __large_struct { unsigned long bu
9986 * On error, the variable @x is set to zero.
9987 */
9988
9989+#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF)
9990+#define __get_user(x, ptr) get_user((x), (ptr))
9991+#else
9992 #define __get_user(x, ptr) \
9993 __get_user_nocheck((x), (ptr), sizeof(*(ptr)))
9994+#endif
9995
9996 /**
9997 * __put_user: - Write a simple value into user space, with less checking.
9998@@ -510,8 +567,12 @@ struct __large_struct { unsigned long bu
9999 * Returns zero on success, or -EFAULT on error.
10000 */
10001
10002+#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF)
10003+#define __put_user(x, ptr) put_user((x), (ptr))
10004+#else
10005 #define __put_user(x, ptr) \
10006 __put_user_nocheck((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)))
10007+#endif
10008
10009 #define __get_user_unaligned __get_user
10010 #define __put_user_unaligned __put_user
10011@@ -529,7 +590,7 @@ struct __large_struct { unsigned long bu
10012 #define get_user_ex(x, ptr) do { \
10013 unsigned long __gue_val; \
10014 __get_user_size_ex((__gue_val), (ptr), (sizeof(*(ptr)))); \
10015- (x) = (__force __typeof__(*(ptr)))__gue_val; \
10016+ (x) = (__typeof__(*(ptr)))__gue_val; \
10017 } while (0)
10018
10019 #ifdef CONFIG_X86_WP_WORKS_OK
10020diff -urNp linux-3.0.7/arch/x86/include/asm/uaccess_32.h linux-3.0.7/arch/x86/include/asm/uaccess_32.h
10021--- linux-3.0.7/arch/x86/include/asm/uaccess_32.h 2011-07-21 22:17:23.000000000 -0400
10022+++ linux-3.0.7/arch/x86/include/asm/uaccess_32.h 2011-08-23 21:48:14.000000000 -0400
10023@@ -43,6 +43,11 @@ unsigned long __must_check __copy_from_u 9367@@ -43,6 +43,11 @@ unsigned long __must_check __copy_from_u
10024 static __always_inline unsigned long __must_check 9368 static __always_inline unsigned long __must_check
10025 __copy_to_user_inatomic(void __user *to, const void *from, unsigned long n) 9369 __copy_to_user_inatomic(void __user *to, const void *from, unsigned long n)
@@ -10187,9 +9531,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/uaccess_32.h linux-3.0.7/arch/x86/in
10187 return n; 9531 return n;
10188 } 9532 }
10189 9533
10190diff -urNp linux-3.0.7/arch/x86/include/asm/uaccess_64.h linux-3.0.7/arch/x86/include/asm/uaccess_64.h 9534diff -urNp linux-3.0.8/arch/x86/include/asm/uaccess_64.h linux-3.0.8/arch/x86/include/asm/uaccess_64.h
10191--- linux-3.0.7/arch/x86/include/asm/uaccess_64.h 2011-07-21 22:17:23.000000000 -0400 9535--- linux-3.0.8/arch/x86/include/asm/uaccess_64.h 2011-07-21 22:17:23.000000000 -0400
10192+++ linux-3.0.7/arch/x86/include/asm/uaccess_64.h 2011-10-06 04:17:55.000000000 -0400 9536+++ linux-3.0.8/arch/x86/include/asm/uaccess_64.h 2011-10-06 04:17:55.000000000 -0400
10193@@ -10,6 +10,9 @@ 9537@@ -10,6 +10,9 @@
10194 #include <asm/alternative.h> 9538 #include <asm/alternative.h>
10195 #include <asm/cpufeature.h> 9539 #include <asm/cpufeature.h>
@@ -10601,9 +9945,231 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/uaccess_64.h linux-3.0.7/arch/x86/in
10601+copy_user_handle_tail(char __user *to, char __user *from, unsigned len, unsigned zerorest); 9945+copy_user_handle_tail(char __user *to, char __user *from, unsigned len, unsigned zerorest);
10602 9946
10603 #endif /* _ASM_X86_UACCESS_64_H */ 9947 #endif /* _ASM_X86_UACCESS_64_H */
10604diff -urNp linux-3.0.7/arch/x86/include/asm/vdso.h linux-3.0.7/arch/x86/include/asm/vdso.h 9948diff -urNp linux-3.0.8/arch/x86/include/asm/uaccess.h linux-3.0.8/arch/x86/include/asm/uaccess.h
10605--- linux-3.0.7/arch/x86/include/asm/vdso.h 2011-07-21 22:17:23.000000000 -0400 9949--- linux-3.0.8/arch/x86/include/asm/uaccess.h 2011-07-21 22:17:23.000000000 -0400
10606+++ linux-3.0.7/arch/x86/include/asm/vdso.h 2011-10-06 04:17:55.000000000 -0400 9950+++ linux-3.0.8/arch/x86/include/asm/uaccess.h 2011-10-06 04:17:55.000000000 -0400
9951@@ -7,12 +7,15 @@
9952 #include <linux/compiler.h>
9953 #include <linux/thread_info.h>
9954 #include <linux/string.h>
9955+#include <linux/sched.h>
9956 #include <asm/asm.h>
9957 #include <asm/page.h>
9958
9959 #define VERIFY_READ 0
9960 #define VERIFY_WRITE 1
9961
9962+extern void check_object_size(const void *ptr, unsigned long n, bool to);
9963+
9964 /*
9965 * The fs value determines whether argument validity checking should be
9966 * performed or not. If get_fs() == USER_DS, checking is performed, with
9967@@ -28,7 +31,12 @@
9968
9969 #define get_ds() (KERNEL_DS)
9970 #define get_fs() (current_thread_info()->addr_limit)
9971+#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_MEMORY_UDEREF)
9972+void __set_fs(mm_segment_t x);
9973+void set_fs(mm_segment_t x);
9974+#else
9975 #define set_fs(x) (current_thread_info()->addr_limit = (x))
9976+#endif
9977
9978 #define segment_eq(a, b) ((a).seg == (b).seg)
9979
9980@@ -76,7 +84,33 @@
9981 * checks that the pointer is in the user space range - after calling
9982 * this function, memory access functions may still return -EFAULT.
9983 */
9984-#define access_ok(type, addr, size) (likely(__range_not_ok(addr, size) == 0))
9985+#define __access_ok(type, addr, size) (likely(__range_not_ok(addr, size) == 0))
9986+#define access_ok(type, addr, size) \
9987+({ \
9988+ long __size = size; \
9989+ unsigned long __addr = (unsigned long)addr; \
9990+ unsigned long __addr_ao = __addr & PAGE_MASK; \
9991+ unsigned long __end_ao = __addr + __size - 1; \
9992+ bool __ret_ao = __range_not_ok(__addr, __size) == 0; \
9993+ if (__ret_ao && unlikely((__end_ao ^ __addr_ao) & PAGE_MASK)) { \
9994+ while(__addr_ao <= __end_ao) { \
9995+ char __c_ao; \
9996+ __addr_ao += PAGE_SIZE; \
9997+ if (__size > PAGE_SIZE) \
9998+ cond_resched(); \
9999+ if (__get_user(__c_ao, (char __user *)__addr)) \
10000+ break; \
10001+ if (type != VERIFY_WRITE) { \
10002+ __addr = __addr_ao; \
10003+ continue; \
10004+ } \
10005+ if (__put_user(__c_ao, (char __user *)__addr)) \
10006+ break; \
10007+ __addr = __addr_ao; \
10008+ } \
10009+ } \
10010+ __ret_ao; \
10011+})
10012
10013 /*
10014 * The exception table consists of pairs of addresses: the first is the
10015@@ -182,12 +216,20 @@ extern int __get_user_bad(void);
10016 asm volatile("call __put_user_" #size : "=a" (__ret_pu) \
10017 : "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx")
10018
10019-
10020+#if defined(CONFIG_X86_32) && defined(CONFIG_PAX_MEMORY_UDEREF)
10021+#define __copyuser_seg "gs;"
10022+#define __COPYUSER_SET_ES "pushl %%gs; popl %%es\n"
10023+#define __COPYUSER_RESTORE_ES "pushl %%ss; popl %%es\n"
10024+#else
10025+#define __copyuser_seg
10026+#define __COPYUSER_SET_ES
10027+#define __COPYUSER_RESTORE_ES
10028+#endif
10029
10030 #ifdef CONFIG_X86_32
10031 #define __put_user_asm_u64(x, addr, err, errret) \
10032- asm volatile("1: movl %%eax,0(%2)\n" \
10033- "2: movl %%edx,4(%2)\n" \
10034+ asm volatile("1: "__copyuser_seg"movl %%eax,0(%2)\n" \
10035+ "2: "__copyuser_seg"movl %%edx,4(%2)\n" \
10036 "3:\n" \
10037 ".section .fixup,\"ax\"\n" \
10038 "4: movl %3,%0\n" \
10039@@ -199,8 +241,8 @@ extern int __get_user_bad(void);
10040 : "A" (x), "r" (addr), "i" (errret), "0" (err))
10041
10042 #define __put_user_asm_ex_u64(x, addr) \
10043- asm volatile("1: movl %%eax,0(%1)\n" \
10044- "2: movl %%edx,4(%1)\n" \
10045+ asm volatile("1: "__copyuser_seg"movl %%eax,0(%1)\n" \
10046+ "2: "__copyuser_seg"movl %%edx,4(%1)\n" \
10047 "3:\n" \
10048 _ASM_EXTABLE(1b, 2b - 1b) \
10049 _ASM_EXTABLE(2b, 3b - 2b) \
10050@@ -252,7 +294,7 @@ extern void __put_user_8(void);
10051 __typeof__(*(ptr)) __pu_val; \
10052 __chk_user_ptr(ptr); \
10053 might_fault(); \
10054- __pu_val = x; \
10055+ __pu_val = (x); \
10056 switch (sizeof(*(ptr))) { \
10057 case 1: \
10058 __put_user_x(1, __pu_val, ptr, __ret_pu); \
10059@@ -373,7 +415,7 @@ do { \
10060 } while (0)
10061
10062 #define __get_user_asm(x, addr, err, itype, rtype, ltype, errret) \
10063- asm volatile("1: mov"itype" %2,%"rtype"1\n" \
10064+ asm volatile("1: "__copyuser_seg"mov"itype" %2,%"rtype"1\n"\
10065 "2:\n" \
10066 ".section .fixup,\"ax\"\n" \
10067 "3: mov %3,%0\n" \
10068@@ -381,7 +423,7 @@ do { \
10069 " jmp 2b\n" \
10070 ".previous\n" \
10071 _ASM_EXTABLE(1b, 3b) \
10072- : "=r" (err), ltype(x) \
10073+ : "=r" (err), ltype (x) \
10074 : "m" (__m(addr)), "i" (errret), "0" (err))
10075
10076 #define __get_user_size_ex(x, ptr, size) \
10077@@ -406,7 +448,7 @@ do { \
10078 } while (0)
10079
10080 #define __get_user_asm_ex(x, addr, itype, rtype, ltype) \
10081- asm volatile("1: mov"itype" %1,%"rtype"0\n" \
10082+ asm volatile("1: "__copyuser_seg"mov"itype" %1,%"rtype"0\n"\
10083 "2:\n" \
10084 _ASM_EXTABLE(1b, 2b - 1b) \
10085 : ltype(x) : "m" (__m(addr)))
10086@@ -423,13 +465,24 @@ do { \
10087 int __gu_err; \
10088 unsigned long __gu_val; \
10089 __get_user_size(__gu_val, (ptr), (size), __gu_err, -EFAULT); \
10090- (x) = (__force __typeof__(*(ptr)))__gu_val; \
10091+ (x) = (__typeof__(*(ptr)))__gu_val; \
10092 __gu_err; \
10093 })
10094
10095 /* FIXME: this hack is definitely wrong -AK */
10096 struct __large_struct { unsigned long buf[100]; };
10097-#define __m(x) (*(struct __large_struct __user *)(x))
10098+#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF)
10099+#define ____m(x) \
10100+({ \
10101+ unsigned long ____x = (unsigned long)(x); \
10102+ if (____x < PAX_USER_SHADOW_BASE) \
10103+ ____x += PAX_USER_SHADOW_BASE; \
10104+ (void __user *)____x; \
10105+})
10106+#else
10107+#define ____m(x) (x)
10108+#endif
10109+#define __m(x) (*(struct __large_struct __user *)____m(x))
10110
10111 /*
10112 * Tell gcc we read from memory instead of writing: this is because
10113@@ -437,7 +490,7 @@ struct __large_struct { unsigned long bu
10114 * aliasing issues.
10115 */
10116 #define __put_user_asm(x, addr, err, itype, rtype, ltype, errret) \
10117- asm volatile("1: mov"itype" %"rtype"1,%2\n" \
10118+ asm volatile("1: "__copyuser_seg"mov"itype" %"rtype"1,%2\n"\
10119 "2:\n" \
10120 ".section .fixup,\"ax\"\n" \
10121 "3: mov %3,%0\n" \
10122@@ -445,10 +498,10 @@ struct __large_struct { unsigned long bu
10123 ".previous\n" \
10124 _ASM_EXTABLE(1b, 3b) \
10125 : "=r"(err) \
10126- : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err))
10127+ : ltype (x), "m" (__m(addr)), "i" (errret), "0" (err))
10128
10129 #define __put_user_asm_ex(x, addr, itype, rtype, ltype) \
10130- asm volatile("1: mov"itype" %"rtype"0,%1\n" \
10131+ asm volatile("1: "__copyuser_seg"mov"itype" %"rtype"0,%1\n"\
10132 "2:\n" \
10133 _ASM_EXTABLE(1b, 2b - 1b) \
10134 : : ltype(x), "m" (__m(addr)))
10135@@ -487,8 +540,12 @@ struct __large_struct { unsigned long bu
10136 * On error, the variable @x is set to zero.
10137 */
10138
10139+#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF)
10140+#define __get_user(x, ptr) get_user((x), (ptr))
10141+#else
10142 #define __get_user(x, ptr) \
10143 __get_user_nocheck((x), (ptr), sizeof(*(ptr)))
10144+#endif
10145
10146 /**
10147 * __put_user: - Write a simple value into user space, with less checking.
10148@@ -510,8 +567,12 @@ struct __large_struct { unsigned long bu
10149 * Returns zero on success, or -EFAULT on error.
10150 */
10151
10152+#if defined(CONFIG_X86_64) && defined(CONFIG_PAX_MEMORY_UDEREF)
10153+#define __put_user(x, ptr) put_user((x), (ptr))
10154+#else
10155 #define __put_user(x, ptr) \
10156 __put_user_nocheck((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)))
10157+#endif
10158
10159 #define __get_user_unaligned __get_user
10160 #define __put_user_unaligned __put_user
10161@@ -529,7 +590,7 @@ struct __large_struct { unsigned long bu
10162 #define get_user_ex(x, ptr) do { \
10163 unsigned long __gue_val; \
10164 __get_user_size_ex((__gue_val), (ptr), (sizeof(*(ptr)))); \
10165- (x) = (__force __typeof__(*(ptr)))__gue_val; \
10166+ (x) = (__typeof__(*(ptr)))__gue_val; \
10167 } while (0)
10168
10169 #ifdef CONFIG_X86_WP_WORKS_OK
10170diff -urNp linux-3.0.8/arch/x86/include/asm/vdso.h linux-3.0.8/arch/x86/include/asm/vdso.h
10171--- linux-3.0.8/arch/x86/include/asm/vdso.h 2011-07-21 22:17:23.000000000 -0400
10172+++ linux-3.0.8/arch/x86/include/asm/vdso.h 2011-10-06 04:17:55.000000000 -0400
10607@@ -11,7 +11,7 @@ extern const char VDSO32_PRELINK[]; 10173@@ -11,7 +11,7 @@ extern const char VDSO32_PRELINK[];
10608 #define VDSO32_SYMBOL(base, name) \ 10174 #define VDSO32_SYMBOL(base, name) \
10609 ({ \ 10175 ({ \
@@ -10613,9 +10179,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/vdso.h linux-3.0.7/arch/x86/include/
10613 }) 10179 })
10614 #endif 10180 #endif
10615 10181
10616diff -urNp linux-3.0.7/arch/x86/include/asm/x86_init.h linux-3.0.7/arch/x86/include/asm/x86_init.h 10182diff -urNp linux-3.0.8/arch/x86/include/asm/x86_init.h linux-3.0.8/arch/x86/include/asm/x86_init.h
10617--- linux-3.0.7/arch/x86/include/asm/x86_init.h 2011-07-21 22:17:23.000000000 -0400 10183--- linux-3.0.8/arch/x86/include/asm/x86_init.h 2011-07-21 22:17:23.000000000 -0400
10618+++ linux-3.0.7/arch/x86/include/asm/x86_init.h 2011-08-23 21:47:55.000000000 -0400 10184+++ linux-3.0.8/arch/x86/include/asm/x86_init.h 2011-08-23 21:47:55.000000000 -0400
10619@@ -28,7 +28,7 @@ struct x86_init_mpparse { 10185@@ -28,7 +28,7 @@ struct x86_init_mpparse {
10620 void (*mpc_oem_bus_info)(struct mpc_bus *m, char *name); 10186 void (*mpc_oem_bus_info)(struct mpc_bus *m, char *name);
10621 void (*find_smp_config)(void); 10187 void (*find_smp_config)(void);
@@ -10733,9 +10299,9 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/x86_init.h linux-3.0.7/arch/x86/incl
10733 10299
10734 extern struct x86_init_ops x86_init; 10300 extern struct x86_init_ops x86_init;
10735 extern struct x86_cpuinit_ops x86_cpuinit; 10301 extern struct x86_cpuinit_ops x86_cpuinit;
10736diff -urNp linux-3.0.7/arch/x86/include/asm/xsave.h linux-3.0.7/arch/x86/include/asm/xsave.h 10302diff -urNp linux-3.0.8/arch/x86/include/asm/xsave.h linux-3.0.8/arch/x86/include/asm/xsave.h
10737--- linux-3.0.7/arch/x86/include/asm/xsave.h 2011-07-21 22:17:23.000000000 -0400 10303--- linux-3.0.8/arch/x86/include/asm/xsave.h 2011-07-21 22:17:23.000000000 -0400
10738+++ linux-3.0.7/arch/x86/include/asm/xsave.h 2011-10-06 04:17:55.000000000 -0400 10304+++ linux-3.0.8/arch/x86/include/asm/xsave.h 2011-10-06 04:17:55.000000000 -0400
10739@@ -65,6 +65,11 @@ static inline int xsave_user(struct xsav 10305@@ -65,6 +65,11 @@ static inline int xsave_user(struct xsav
10740 { 10306 {
10741 int err; 10307 int err;
@@ -10765,9 +10331,135 @@ diff -urNp linux-3.0.7/arch/x86/include/asm/xsave.h linux-3.0.7/arch/x86/include
10765 __asm__ __volatile__("1: .byte " REX_PREFIX "0x0f,0xae,0x2f\n" 10331 __asm__ __volatile__("1: .byte " REX_PREFIX "0x0f,0xae,0x2f\n"
10766 "2:\n" 10332 "2:\n"
10767 ".section .fixup,\"ax\"\n" 10333 ".section .fixup,\"ax\"\n"
10768diff -urNp linux-3.0.7/arch/x86/kernel/acpi/realmode/Makefile linux-3.0.7/arch/x86/kernel/acpi/realmode/Makefile 10334diff -urNp linux-3.0.8/arch/x86/Kconfig linux-3.0.8/arch/x86/Kconfig
10769--- linux-3.0.7/arch/x86/kernel/acpi/realmode/Makefile 2011-07-21 22:17:23.000000000 -0400 10335--- linux-3.0.8/arch/x86/Kconfig 2011-07-21 22:17:23.000000000 -0400
10770+++ linux-3.0.7/arch/x86/kernel/acpi/realmode/Makefile 2011-08-23 21:47:55.000000000 -0400 10336+++ linux-3.0.8/arch/x86/Kconfig 2011-09-17 00:58:36.000000000 -0400
10337@@ -229,7 +229,7 @@ config X86_HT
10338
10339 config X86_32_LAZY_GS
10340 def_bool y
10341- depends on X86_32 && !CC_STACKPROTECTOR
10342+ depends on X86_32 && !CC_STACKPROTECTOR && !PAX_MEMORY_UDEREF
10343
10344 config ARCH_HWEIGHT_CFLAGS
10345 string
10346@@ -1018,7 +1018,7 @@ choice
10347
10348 config NOHIGHMEM
10349 bool "off"
10350- depends on !X86_NUMAQ
10351+ depends on !X86_NUMAQ && !(PAX_PAGEEXEC && PAX_ENABLE_PAE)
10352 ---help---
10353 Linux can use up to 64 Gigabytes of physical memory on x86 systems.
10354 However, the address space of 32-bit x86 processors is only 4
10355@@ -1055,7 +1055,7 @@ config NOHIGHMEM
10356
10357 config HIGHMEM4G
10358 bool "4GB"
10359- depends on !X86_NUMAQ
10360+ depends on !X86_NUMAQ && !(PAX_PAGEEXEC && PAX_ENABLE_PAE)
10361 ---help---
10362 Select this if you have a 32-bit processor and between 1 and 4
10363 gigabytes of physical RAM.
10364@@ -1109,7 +1109,7 @@ config PAGE_OFFSET
10365 hex
10366 default 0xB0000000 if VMSPLIT_3G_OPT
10367 default 0x80000000 if VMSPLIT_2G
10368- default 0x78000000 if VMSPLIT_2G_OPT
10369+ default 0x70000000 if VMSPLIT_2G_OPT
10370 default 0x40000000 if VMSPLIT_1G
10371 default 0xC0000000
10372 depends on X86_32
10373@@ -1483,6 +1483,7 @@ config SECCOMP
10374
10375 config CC_STACKPROTECTOR
10376 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
10377+ depends on X86_64 || !PAX_MEMORY_UDEREF
10378 ---help---
10379 This option turns on the -fstack-protector GCC feature. This
10380 feature puts, at the beginning of functions, a canary value on
10381@@ -1540,6 +1541,7 @@ config KEXEC_JUMP
10382 config PHYSICAL_START
10383 hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
10384 default "0x1000000"
10385+ range 0x400000 0x40000000
10386 ---help---
10387 This gives the physical address where the kernel is loaded.
10388
10389@@ -1603,6 +1605,7 @@ config X86_NEED_RELOCS
10390 config PHYSICAL_ALIGN
10391 hex "Alignment value to which kernel should be aligned" if X86_32
10392 default "0x1000000"
10393+ range 0x400000 0x1000000 if PAX_KERNEXEC
10394 range 0x2000 0x1000000
10395 ---help---
10396 This value puts the alignment restrictions on physical address
10397@@ -1634,9 +1637,10 @@ config HOTPLUG_CPU
10398 Say N if you want to disable CPU hotplug.
10399
10400 config COMPAT_VDSO
10401- def_bool y
10402+ def_bool n
10403 prompt "Compat VDSO support"
10404 depends on X86_32 || IA32_EMULATION
10405+ depends on !PAX_NOEXEC && !PAX_MEMORY_UDEREF
10406 ---help---
10407 Map the 32-bit VDSO to the predictable old-style address too.
10408
10409diff -urNp linux-3.0.8/arch/x86/Kconfig.cpu linux-3.0.8/arch/x86/Kconfig.cpu
10410--- linux-3.0.8/arch/x86/Kconfig.cpu 2011-07-21 22:17:23.000000000 -0400
10411+++ linux-3.0.8/arch/x86/Kconfig.cpu 2011-08-23 21:47:55.000000000 -0400
10412@@ -338,7 +338,7 @@ config X86_PPRO_FENCE
10413
10414 config X86_F00F_BUG
10415 def_bool y
10416- depends on M586MMX || M586TSC || M586 || M486 || M386
10417+ depends on (M586MMX || M586TSC || M586 || M486 || M386) && !PAX_KERNEXEC
10418
10419 config X86_INVD_BUG
10420 def_bool y
10421@@ -362,7 +362,7 @@ config X86_POPAD_OK
10422
10423 config X86_ALIGNMENT_16
10424 def_bool y
10425- depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || MELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODEGX1
10426+ depends on MWINCHIP3D || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK8 || MK7 || MK6 || MCORE2 || MPENTIUM4 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2 || MGEODEGX1
10427
10428 config X86_INTEL_USERCOPY
10429 def_bool y
10430@@ -408,7 +408,7 @@ config X86_CMPXCHG64
10431 # generates cmov.
10432 config X86_CMOV
10433 def_bool y
10434- depends on (MK8 || MK7 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEFFICEON || X86_64 || MATOM || MGEODE_LX)
10435+ depends on (MK8 || MK7 || MCORE2 || MPSC || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MCRUSOE || MEFFICEON || X86_64 || MATOM || MGEODE_LX)
10436
10437 config X86_MINIMUM_CPU_FAMILY
10438 int
10439diff -urNp linux-3.0.8/arch/x86/Kconfig.debug linux-3.0.8/arch/x86/Kconfig.debug
10440--- linux-3.0.8/arch/x86/Kconfig.debug 2011-07-21 22:17:23.000000000 -0400
10441+++ linux-3.0.8/arch/x86/Kconfig.debug 2011-08-23 21:47:55.000000000 -0400
10442@@ -81,7 +81,7 @@ config X86_PTDUMP
10443 config DEBUG_RODATA
10444 bool "Write protect kernel read-only data structures"
10445 default y
10446- depends on DEBUG_KERNEL
10447+ depends on DEBUG_KERNEL && BROKEN
10448 ---help---
10449 Mark the kernel read-only data as write-protected in the pagetables,
10450 in order to catch accidental (and incorrect) writes to such const
10451@@ -99,7 +99,7 @@ config DEBUG_RODATA_TEST
10452
10453 config DEBUG_SET_MODULE_RONX
10454 bool "Set loadable kernel module data as NX and text as RO"
10455- depends on MODULES
10456+ depends on MODULES && BROKEN
10457 ---help---
10458 This option helps catch unintended modifications to loadable
10459 kernel module's text and read-only data. It also prevents execution
10460diff -urNp linux-3.0.8/arch/x86/kernel/acpi/realmode/Makefile linux-3.0.8/arch/x86/kernel/acpi/realmode/Makefile
10461--- linux-3.0.8/arch/x86/kernel/acpi/realmode/Makefile 2011-07-21 22:17:23.000000000 -0400
10462+++ linux-3.0.8/arch/x86/kernel/acpi/realmode/Makefile 2011-08-23 21:47:55.000000000 -0400
10771@@ -41,6 +41,9 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os 10463@@ -41,6 +41,9 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -g -Os
10772 $(call cc-option, -fno-stack-protector) \ 10464 $(call cc-option, -fno-stack-protector) \
10773 $(call cc-option, -mpreferred-stack-boundary=2) 10465 $(call cc-option, -mpreferred-stack-boundary=2)
@@ -10778,9 +10470,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/acpi/realmode/Makefile linux-3.0.7/arch/x
10778 KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__ 10470 KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
10779 GCOV_PROFILE := n 10471 GCOV_PROFILE := n
10780 10472
10781diff -urNp linux-3.0.7/arch/x86/kernel/acpi/realmode/wakeup.S linux-3.0.7/arch/x86/kernel/acpi/realmode/wakeup.S 10473diff -urNp linux-3.0.8/arch/x86/kernel/acpi/realmode/wakeup.S linux-3.0.8/arch/x86/kernel/acpi/realmode/wakeup.S
10782--- linux-3.0.7/arch/x86/kernel/acpi/realmode/wakeup.S 2011-07-21 22:17:23.000000000 -0400 10474--- linux-3.0.8/arch/x86/kernel/acpi/realmode/wakeup.S 2011-07-21 22:17:23.000000000 -0400
10783+++ linux-3.0.7/arch/x86/kernel/acpi/realmode/wakeup.S 2011-08-23 21:48:14.000000000 -0400 10475+++ linux-3.0.8/arch/x86/kernel/acpi/realmode/wakeup.S 2011-08-23 21:48:14.000000000 -0400
10784@@ -108,6 +108,9 @@ wakeup_code: 10476@@ -108,6 +108,9 @@ wakeup_code:
10785 /* Do any other stuff... */ 10477 /* Do any other stuff... */
10786 10478
@@ -10799,9 +10491,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/acpi/realmode/wakeup.S linux-3.0.7/arch/x
10799 #else 10491 #else
10800 pushw $0 10492 pushw $0
10801 pushw trampoline_segment 10493 pushw trampoline_segment
10802diff -urNp linux-3.0.7/arch/x86/kernel/acpi/sleep.c linux-3.0.7/arch/x86/kernel/acpi/sleep.c 10494diff -urNp linux-3.0.8/arch/x86/kernel/acpi/sleep.c linux-3.0.8/arch/x86/kernel/acpi/sleep.c
10803--- linux-3.0.7/arch/x86/kernel/acpi/sleep.c 2011-07-21 22:17:23.000000000 -0400 10495--- linux-3.0.8/arch/x86/kernel/acpi/sleep.c 2011-07-21 22:17:23.000000000 -0400
10804+++ linux-3.0.7/arch/x86/kernel/acpi/sleep.c 2011-08-23 21:47:55.000000000 -0400 10496+++ linux-3.0.8/arch/x86/kernel/acpi/sleep.c 2011-08-23 21:47:55.000000000 -0400
10805@@ -94,8 +94,12 @@ int acpi_suspend_lowlevel(void) 10497@@ -94,8 +94,12 @@ int acpi_suspend_lowlevel(void)
10806 header->trampoline_segment = trampoline_address() >> 4; 10498 header->trampoline_segment = trampoline_address() >> 4;
10807 #ifdef CONFIG_SMP 10499 #ifdef CONFIG_SMP
@@ -10815,9 +10507,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/acpi/sleep.c linux-3.0.7/arch/x86/kernel/
10815 initial_gs = per_cpu_offset(smp_processor_id()); 10507 initial_gs = per_cpu_offset(smp_processor_id());
10816 #endif 10508 #endif
10817 initial_code = (unsigned long)wakeup_long64; 10509 initial_code = (unsigned long)wakeup_long64;
10818diff -urNp linux-3.0.7/arch/x86/kernel/acpi/wakeup_32.S linux-3.0.7/arch/x86/kernel/acpi/wakeup_32.S 10510diff -urNp linux-3.0.8/arch/x86/kernel/acpi/wakeup_32.S linux-3.0.8/arch/x86/kernel/acpi/wakeup_32.S
10819--- linux-3.0.7/arch/x86/kernel/acpi/wakeup_32.S 2011-07-21 22:17:23.000000000 -0400 10511--- linux-3.0.8/arch/x86/kernel/acpi/wakeup_32.S 2011-07-21 22:17:23.000000000 -0400
10820+++ linux-3.0.7/arch/x86/kernel/acpi/wakeup_32.S 2011-08-23 21:47:55.000000000 -0400 10512+++ linux-3.0.8/arch/x86/kernel/acpi/wakeup_32.S 2011-08-23 21:47:55.000000000 -0400
10821@@ -30,13 +30,11 @@ wakeup_pmode_return: 10513@@ -30,13 +30,11 @@ wakeup_pmode_return:
10822 # and restore the stack ... but you need gdt for this to work 10514 # and restore the stack ... but you need gdt for this to work
10823 movl saved_context_esp, %esp 10515 movl saved_context_esp, %esp
@@ -10834,9 +10526,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/acpi/wakeup_32.S linux-3.0.7/arch/x86/ker
10834 10526
10835 bogus_magic: 10527 bogus_magic:
10836 jmp bogus_magic 10528 jmp bogus_magic
10837diff -urNp linux-3.0.7/arch/x86/kernel/alternative.c linux-3.0.7/arch/x86/kernel/alternative.c 10529diff -urNp linux-3.0.8/arch/x86/kernel/alternative.c linux-3.0.8/arch/x86/kernel/alternative.c
10838--- linux-3.0.7/arch/x86/kernel/alternative.c 2011-07-21 22:17:23.000000000 -0400 10530--- linux-3.0.8/arch/x86/kernel/alternative.c 2011-07-21 22:17:23.000000000 -0400
10839+++ linux-3.0.7/arch/x86/kernel/alternative.c 2011-08-23 21:47:55.000000000 -0400 10531+++ linux-3.0.8/arch/x86/kernel/alternative.c 2011-08-23 21:47:55.000000000 -0400
10840@@ -313,7 +313,7 @@ static void alternatives_smp_lock(const 10532@@ -313,7 +313,7 @@ static void alternatives_smp_lock(const
10841 if (!*poff || ptr < text || ptr >= text_end) 10533 if (!*poff || ptr < text || ptr >= text_end)
10842 continue; 10534 continue;
@@ -10938,9 +10630,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/alternative.c linux-3.0.7/arch/x86/kernel
10938 return addr; 10630 return addr;
10939 } 10631 }
10940 10632
10941diff -urNp linux-3.0.7/arch/x86/kernel/apic/apic.c linux-3.0.7/arch/x86/kernel/apic/apic.c 10633diff -urNp linux-3.0.8/arch/x86/kernel/apic/apic.c linux-3.0.8/arch/x86/kernel/apic/apic.c
10942--- linux-3.0.7/arch/x86/kernel/apic/apic.c 2011-07-21 22:17:23.000000000 -0400 10634--- linux-3.0.8/arch/x86/kernel/apic/apic.c 2011-07-21 22:17:23.000000000 -0400
10943+++ linux-3.0.7/arch/x86/kernel/apic/apic.c 2011-08-23 21:48:14.000000000 -0400 10635+++ linux-3.0.8/arch/x86/kernel/apic/apic.c 2011-08-23 21:48:14.000000000 -0400
10944@@ -173,7 +173,7 @@ int first_system_vector = 0xfe; 10636@@ -173,7 +173,7 @@ int first_system_vector = 0xfe;
10945 /* 10637 /*
10946 * Debug level, exported for io_apic.c 10638 * Debug level, exported for io_apic.c
@@ -10968,9 +10660,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/apic/apic.c linux-3.0.7/arch/x86/kernel/a
10968 bios_cpu_apicid = early_per_cpu_ptr(x86_bios_cpu_apicid); 10660 bios_cpu_apicid = early_per_cpu_ptr(x86_bios_cpu_apicid);
10969 bitmap_zero(clustermap, NUM_APIC_CLUSTERS); 10661 bitmap_zero(clustermap, NUM_APIC_CLUSTERS);
10970 10662
10971diff -urNp linux-3.0.7/arch/x86/kernel/apic/io_apic.c linux-3.0.7/arch/x86/kernel/apic/io_apic.c 10663diff -urNp linux-3.0.8/arch/x86/kernel/apic/io_apic.c linux-3.0.8/arch/x86/kernel/apic/io_apic.c
10972--- linux-3.0.7/arch/x86/kernel/apic/io_apic.c 2011-07-21 22:17:23.000000000 -0400 10664--- linux-3.0.8/arch/x86/kernel/apic/io_apic.c 2011-07-21 22:17:23.000000000 -0400
10973+++ linux-3.0.7/arch/x86/kernel/apic/io_apic.c 2011-08-23 21:47:55.000000000 -0400 10665+++ linux-3.0.8/arch/x86/kernel/apic/io_apic.c 2011-08-23 21:47:55.000000000 -0400
10974@@ -1028,7 +1028,7 @@ int IO_APIC_get_PCI_irq_vector(int bus, 10666@@ -1028,7 +1028,7 @@ int IO_APIC_get_PCI_irq_vector(int bus,
10975 } 10667 }
10976 EXPORT_SYMBOL(IO_APIC_get_PCI_irq_vector); 10668 EXPORT_SYMBOL(IO_APIC_get_PCI_irq_vector);
@@ -11007,9 +10699,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/apic/io_apic.c linux-3.0.7/arch/x86/kerne
11007 10699
11008 eoi_ioapic_irq(irq, cfg); 10700 eoi_ioapic_irq(irq, cfg);
11009 } 10701 }
11010diff -urNp linux-3.0.7/arch/x86/kernel/apm_32.c linux-3.0.7/arch/x86/kernel/apm_32.c 10702diff -urNp linux-3.0.8/arch/x86/kernel/apm_32.c linux-3.0.8/arch/x86/kernel/apm_32.c
11011--- linux-3.0.7/arch/x86/kernel/apm_32.c 2011-07-21 22:17:23.000000000 -0400 10703--- linux-3.0.8/arch/x86/kernel/apm_32.c 2011-07-21 22:17:23.000000000 -0400
11012+++ linux-3.0.7/arch/x86/kernel/apm_32.c 2011-08-23 21:47:55.000000000 -0400 10704+++ linux-3.0.8/arch/x86/kernel/apm_32.c 2011-08-23 21:47:55.000000000 -0400
11013@@ -413,7 +413,7 @@ static DEFINE_MUTEX(apm_mutex); 10705@@ -413,7 +413,7 @@ static DEFINE_MUTEX(apm_mutex);
11014 * This is for buggy BIOS's that refer to (real mode) segment 0x40 10706 * This is for buggy BIOS's that refer to (real mode) segment 0x40
11015 * even though they are called in protected mode. 10707 * even though they are called in protected mode.
@@ -11081,9 +10773,20 @@ diff -urNp linux-3.0.7/arch/x86/kernel/apm_32.c linux-3.0.7/arch/x86/kernel/apm_
11081 10773
11082 proc_create("apm", 0, NULL, &apm_file_ops); 10774 proc_create("apm", 0, NULL, &apm_file_ops);
11083 10775
11084diff -urNp linux-3.0.7/arch/x86/kernel/asm-offsets.c linux-3.0.7/arch/x86/kernel/asm-offsets.c 10776diff -urNp linux-3.0.8/arch/x86/kernel/asm-offsets_64.c linux-3.0.8/arch/x86/kernel/asm-offsets_64.c
11085--- linux-3.0.7/arch/x86/kernel/asm-offsets.c 2011-07-21 22:17:23.000000000 -0400 10777--- linux-3.0.8/arch/x86/kernel/asm-offsets_64.c 2011-07-21 22:17:23.000000000 -0400
11086+++ linux-3.0.7/arch/x86/kernel/asm-offsets.c 2011-08-23 21:47:55.000000000 -0400 10778+++ linux-3.0.8/arch/x86/kernel/asm-offsets_64.c 2011-08-23 21:47:55.000000000 -0400
10779@@ -69,6 +69,7 @@ int main(void)
10780 BLANK();
10781 #undef ENTRY
10782
10783+ DEFINE(TSS_size, sizeof(struct tss_struct));
10784 OFFSET(TSS_ist, tss_struct, x86_tss.ist);
10785 BLANK();
10786
10787diff -urNp linux-3.0.8/arch/x86/kernel/asm-offsets.c linux-3.0.8/arch/x86/kernel/asm-offsets.c
10788--- linux-3.0.8/arch/x86/kernel/asm-offsets.c 2011-07-21 22:17:23.000000000 -0400
10789+++ linux-3.0.8/arch/x86/kernel/asm-offsets.c 2011-08-23 21:47:55.000000000 -0400
11087@@ -33,6 +33,8 @@ void common(void) { 10790@@ -33,6 +33,8 @@ void common(void) {
11088 OFFSET(TI_status, thread_info, status); 10791 OFFSET(TI_status, thread_info, status);
11089 OFFSET(TI_addr_limit, thread_info, addr_limit); 10792 OFFSET(TI_addr_limit, thread_info, addr_limit);
@@ -11120,34 +10823,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/asm-offsets.c linux-3.0.7/arch/x86/kernel
11120 #ifdef CONFIG_XEN 10823 #ifdef CONFIG_XEN
11121 BLANK(); 10824 BLANK();
11122 OFFSET(XEN_vcpu_info_mask, vcpu_info, evtchn_upcall_mask); 10825 OFFSET(XEN_vcpu_info_mask, vcpu_info, evtchn_upcall_mask);
11123diff -urNp linux-3.0.7/arch/x86/kernel/asm-offsets_64.c linux-3.0.7/arch/x86/kernel/asm-offsets_64.c 10826diff -urNp linux-3.0.8/arch/x86/kernel/cpu/amd.c linux-3.0.8/arch/x86/kernel/cpu/amd.c
11124--- linux-3.0.7/arch/x86/kernel/asm-offsets_64.c 2011-07-21 22:17:23.000000000 -0400 10827--- linux-3.0.8/arch/x86/kernel/cpu/amd.c 2011-07-21 22:17:23.000000000 -0400
11125+++ linux-3.0.7/arch/x86/kernel/asm-offsets_64.c 2011-08-23 21:47:55.000000000 -0400 10828+++ linux-3.0.8/arch/x86/kernel/cpu/amd.c 2011-08-23 21:47:55.000000000 -0400
11126@@ -69,6 +69,7 @@ int main(void)
11127 BLANK();
11128 #undef ENTRY
11129
11130+ DEFINE(TSS_size, sizeof(struct tss_struct));
11131 OFFSET(TSS_ist, tss_struct, x86_tss.ist);
11132 BLANK();
11133
11134diff -urNp linux-3.0.7/arch/x86/kernel/cpu/Makefile linux-3.0.7/arch/x86/kernel/cpu/Makefile
11135--- linux-3.0.7/arch/x86/kernel/cpu/Makefile 2011-07-21 22:17:23.000000000 -0400
11136+++ linux-3.0.7/arch/x86/kernel/cpu/Makefile 2011-08-23 21:47:55.000000000 -0400
11137@@ -8,10 +8,6 @@ CFLAGS_REMOVE_common.o = -pg
11138 CFLAGS_REMOVE_perf_event.o = -pg
11139 endif
11140
11141-# Make sure load_percpu_segment has no stackprotector
11142-nostackp := $(call cc-option, -fno-stack-protector)
11143-CFLAGS_common.o := $(nostackp)
11144-
11145 obj-y := intel_cacheinfo.o scattered.o topology.o
11146 obj-y += proc.o capflags.o powerflags.o common.o
11147 obj-y += vmware.o hypervisor.o sched.o mshyperv.o
11148diff -urNp linux-3.0.7/arch/x86/kernel/cpu/amd.c linux-3.0.7/arch/x86/kernel/cpu/amd.c
11149--- linux-3.0.7/arch/x86/kernel/cpu/amd.c 2011-07-21 22:17:23.000000000 -0400
11150+++ linux-3.0.7/arch/x86/kernel/cpu/amd.c 2011-08-23 21:47:55.000000000 -0400
11151@@ -647,7 +647,7 @@ static unsigned int __cpuinit amd_size_c 10829@@ -647,7 +647,7 @@ static unsigned int __cpuinit amd_size_c
11152 unsigned int size) 10830 unsigned int size)
11153 { 10831 {
@@ -11157,9 +10835,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/cpu/amd.c linux-3.0.7/arch/x86/kernel/cpu
11157 /* Duron Rev A0 */ 10835 /* Duron Rev A0 */
11158 if (c->x86_model == 3 && c->x86_mask == 0) 10836 if (c->x86_model == 3 && c->x86_mask == 0)
11159 size = 64; 10837 size = 64;
11160diff -urNp linux-3.0.7/arch/x86/kernel/cpu/common.c linux-3.0.7/arch/x86/kernel/cpu/common.c 10838diff -urNp linux-3.0.8/arch/x86/kernel/cpu/common.c linux-3.0.8/arch/x86/kernel/cpu/common.c
11161--- linux-3.0.7/arch/x86/kernel/cpu/common.c 2011-07-21 22:17:23.000000000 -0400 10839--- linux-3.0.8/arch/x86/kernel/cpu/common.c 2011-07-21 22:17:23.000000000 -0400
11162+++ linux-3.0.7/arch/x86/kernel/cpu/common.c 2011-08-23 21:47:55.000000000 -0400 10840+++ linux-3.0.8/arch/x86/kernel/cpu/common.c 2011-08-23 21:47:55.000000000 -0400
11163@@ -83,60 +83,6 @@ static const struct cpu_dev __cpuinitcon 10841@@ -83,60 +83,6 @@ static const struct cpu_dev __cpuinitcon
11164 10842
11165 static const struct cpu_dev *this_cpu __cpuinitdata = &default_cpu; 10843 static const struct cpu_dev *this_cpu __cpuinitdata = &default_cpu;
@@ -11304,9 +10982,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/cpu/common.c linux-3.0.7/arch/x86/kernel/
11304 struct thread_struct *thread = &curr->thread; 10982 struct thread_struct *thread = &curr->thread;
11305 10983
11306 if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) { 10984 if (cpumask_test_and_set_cpu(cpu, cpu_initialized_mask)) {
11307diff -urNp linux-3.0.7/arch/x86/kernel/cpu/intel.c linux-3.0.7/arch/x86/kernel/cpu/intel.c 10985diff -urNp linux-3.0.8/arch/x86/kernel/cpu/intel.c linux-3.0.8/arch/x86/kernel/cpu/intel.c
11308--- linux-3.0.7/arch/x86/kernel/cpu/intel.c 2011-09-02 18:11:26.000000000 -0400 10986--- linux-3.0.8/arch/x86/kernel/cpu/intel.c 2011-10-24 08:05:23.000000000 -0400
11309+++ linux-3.0.7/arch/x86/kernel/cpu/intel.c 2011-08-29 23:30:14.000000000 -0400 10987+++ linux-3.0.8/arch/x86/kernel/cpu/intel.c 2011-08-29 23:30:14.000000000 -0400
11310@@ -172,7 +172,7 @@ static void __cpuinit trap_init_f00f_bug 10988@@ -172,7 +172,7 @@ static void __cpuinit trap_init_f00f_bug
11311 * Update the IDT descriptor and reload the IDT so that 10989 * Update the IDT descriptor and reload the IDT so that
11312 * it uses the read-only mapped virtual address. 10990 * it uses the read-only mapped virtual address.
@@ -11316,23 +10994,23 @@ diff -urNp linux-3.0.7/arch/x86/kernel/cpu/intel.c linux-3.0.7/arch/x86/kernel/c
11316 load_idt(&idt_descr); 10994 load_idt(&idt_descr);
11317 } 10995 }
11318 #endif 10996 #endif
11319diff -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 10997diff -urNp linux-3.0.8/arch/x86/kernel/cpu/Makefile linux-3.0.8/arch/x86/kernel/cpu/Makefile
11320--- linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-07-21 22:17:23.000000000 -0400 10998--- linux-3.0.8/arch/x86/kernel/cpu/Makefile 2011-07-21 22:17:23.000000000 -0400
11321+++ linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-08-23 21:47:55.000000000 -0400 10999+++ linux-3.0.8/arch/x86/kernel/cpu/Makefile 2011-08-23 21:47:55.000000000 -0400
11322@@ -215,7 +215,9 @@ static int inject_init(void) 11000@@ -8,10 +8,6 @@ CFLAGS_REMOVE_common.o = -pg
11323 if (!alloc_cpumask_var(&mce_inject_cpumask, GFP_KERNEL)) 11001 CFLAGS_REMOVE_perf_event.o = -pg
11324 return -ENOMEM; 11002 endif
11325 printk(KERN_INFO "Machine check injector initialized\n"); 11003
11326- mce_chrdev_ops.write = mce_write; 11004-# Make sure load_percpu_segment has no stackprotector
11327+ pax_open_kernel(); 11005-nostackp := $(call cc-option, -fno-stack-protector)
11328+ *(void **)&mce_chrdev_ops.write = mce_write; 11006-CFLAGS_common.o := $(nostackp)
11329+ pax_close_kernel(); 11007-
11330 register_die_notifier(&mce_raise_nb); 11008 obj-y := intel_cacheinfo.o scattered.o topology.o
11331 return 0; 11009 obj-y += proc.o capflags.o powerflags.o common.o
11332 } 11010 obj-y += vmware.o hypervisor.o sched.o mshyperv.o
11333diff -urNp linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce.c linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce.c 11011diff -urNp linux-3.0.8/arch/x86/kernel/cpu/mcheck/mce.c linux-3.0.8/arch/x86/kernel/cpu/mcheck/mce.c
11334--- linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce.c 2011-07-21 22:17:23.000000000 -0400 11012--- linux-3.0.8/arch/x86/kernel/cpu/mcheck/mce.c 2011-07-21 22:17:23.000000000 -0400
11335+++ linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce.c 2011-08-23 21:47:55.000000000 -0400 11013+++ linux-3.0.8/arch/x86/kernel/cpu/mcheck/mce.c 2011-08-23 21:47:55.000000000 -0400
11336@@ -46,6 +46,7 @@ 11014@@ -46,6 +46,7 @@
11337 #include <asm/ipi.h> 11015 #include <asm/ipi.h>
11338 #include <asm/mce.h> 11016 #include <asm/mce.h>
@@ -11434,9 +11112,23 @@ diff -urNp linux-3.0.7/arch/x86/kernel/cpu/mcheck/mce.c linux-3.0.7/arch/x86/ker
11434 atomic_set(&mce_executing, 0); 11112 atomic_set(&mce_executing, 0);
11435 atomic_set(&mce_callin, 0); 11113 atomic_set(&mce_callin, 0);
11436 atomic_set(&global_nwo, 0); 11114 atomic_set(&global_nwo, 0);
11437diff -urNp linux-3.0.7/arch/x86/kernel/cpu/mtrr/main.c linux-3.0.7/arch/x86/kernel/cpu/mtrr/main.c 11115diff -urNp linux-3.0.8/arch/x86/kernel/cpu/mcheck/mce-inject.c linux-3.0.8/arch/x86/kernel/cpu/mcheck/mce-inject.c
11438--- linux-3.0.7/arch/x86/kernel/cpu/mtrr/main.c 2011-09-02 18:11:26.000000000 -0400 11116--- linux-3.0.8/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-07-21 22:17:23.000000000 -0400
11439+++ linux-3.0.7/arch/x86/kernel/cpu/mtrr/main.c 2011-08-29 23:26:21.000000000 -0400 11117+++ linux-3.0.8/arch/x86/kernel/cpu/mcheck/mce-inject.c 2011-08-23 21:47:55.000000000 -0400
11118@@ -215,7 +215,9 @@ static int inject_init(void)
11119 if (!alloc_cpumask_var(&mce_inject_cpumask, GFP_KERNEL))
11120 return -ENOMEM;
11121 printk(KERN_INFO "Machine check injector initialized\n");
11122- mce_chrdev_ops.write = mce_write;
11123+ pax_open_kernel();
11124+ *(void **)&mce_chrdev_ops.write = mce_write;
11125+ pax_close_kernel();
11126 register_die_notifier(&mce_raise_nb);
11127 return 0;
11128 }
11129diff -urNp linux-3.0.8/arch/x86/kernel/cpu/mtrr/main.c linux-3.0.8/arch/x86/kernel/cpu/mtrr/main.c
11130--- linux-3.0.8/arch/x86/kernel/cpu/mtrr/main.c 2011-10-24 08:05:23.000000000 -0400
11131+++ linux-3.0.8/arch/x86/kernel/cpu/mtrr/main.c 2011-08-29 23:26:21.000000000 -0400
11440@@ -62,7 +62,7 @@ static DEFINE_MUTEX(mtrr_mutex); 11132@@ -62,7 +62,7 @@ static DEFINE_MUTEX(mtrr_mutex);
11441 u64 size_or_mask, size_and_mask; 11133 u64 size_or_mask, size_and_mask;
11442 static bool mtrr_aps_delayed_init; 11134 static bool mtrr_aps_delayed_init;
@@ -11446,9 +11138,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/cpu/mtrr/main.c linux-3.0.7/arch/x86/kern
11446 11138
11447 const struct mtrr_ops *mtrr_if; 11139 const struct mtrr_ops *mtrr_if;
11448 11140
11449diff -urNp linux-3.0.7/arch/x86/kernel/cpu/mtrr/mtrr.h linux-3.0.7/arch/x86/kernel/cpu/mtrr/mtrr.h 11141diff -urNp linux-3.0.8/arch/x86/kernel/cpu/mtrr/mtrr.h linux-3.0.8/arch/x86/kernel/cpu/mtrr/mtrr.h
11450--- linux-3.0.7/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-07-21 22:17:23.000000000 -0400 11142--- linux-3.0.8/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-07-21 22:17:23.000000000 -0400
11451+++ linux-3.0.7/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-08-26 19:49:56.000000000 -0400 11143+++ linux-3.0.8/arch/x86/kernel/cpu/mtrr/mtrr.h 2011-08-26 19:49:56.000000000 -0400
11452@@ -25,7 +25,7 @@ struct mtrr_ops { 11144@@ -25,7 +25,7 @@ struct mtrr_ops {
11453 int (*validate_add_page)(unsigned long base, unsigned long size, 11145 int (*validate_add_page)(unsigned long base, unsigned long size,
11454 unsigned int type); 11146 unsigned int type);
@@ -11458,9 +11150,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/cpu/mtrr/mtrr.h linux-3.0.7/arch/x86/kern
11458 11150
11459 extern int generic_get_free_region(unsigned long base, unsigned long size, 11151 extern int generic_get_free_region(unsigned long base, unsigned long size,
11460 int replace_reg); 11152 int replace_reg);
11461diff -urNp linux-3.0.7/arch/x86/kernel/cpu/perf_event.c linux-3.0.7/arch/x86/kernel/cpu/perf_event.c 11153diff -urNp linux-3.0.8/arch/x86/kernel/cpu/perf_event.c linux-3.0.8/arch/x86/kernel/cpu/perf_event.c
11462--- linux-3.0.7/arch/x86/kernel/cpu/perf_event.c 2011-10-16 21:54:53.000000000 -0400 11154--- linux-3.0.8/arch/x86/kernel/cpu/perf_event.c 2011-10-24 08:05:30.000000000 -0400
11463+++ linux-3.0.7/arch/x86/kernel/cpu/perf_event.c 2011-10-16 21:55:27.000000000 -0400 11155+++ linux-3.0.8/arch/x86/kernel/cpu/perf_event.c 2011-10-16 21:55:27.000000000 -0400
11464@@ -781,6 +781,8 @@ static int x86_schedule_events(struct cp 11156@@ -781,6 +781,8 @@ static int x86_schedule_events(struct cp
11465 int i, j, w, wmax, num = 0; 11157 int i, j, w, wmax, num = 0;
11466 struct hw_perf_event *hwc; 11158 struct hw_perf_event *hwc;
@@ -11479,9 +11171,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/cpu/perf_event.c linux-3.0.7/arch/x86/ker
11479 } 11171 }
11480 } 11172 }
11481 11173
11482diff -urNp linux-3.0.7/arch/x86/kernel/crash.c linux-3.0.7/arch/x86/kernel/crash.c 11174diff -urNp linux-3.0.8/arch/x86/kernel/crash.c linux-3.0.8/arch/x86/kernel/crash.c
11483--- linux-3.0.7/arch/x86/kernel/crash.c 2011-07-21 22:17:23.000000000 -0400 11175--- linux-3.0.8/arch/x86/kernel/crash.c 2011-07-21 22:17:23.000000000 -0400
11484+++ linux-3.0.7/arch/x86/kernel/crash.c 2011-08-23 21:47:55.000000000 -0400 11176+++ linux-3.0.8/arch/x86/kernel/crash.c 2011-08-23 21:47:55.000000000 -0400
11485@@ -42,7 +42,7 @@ static void kdump_nmi_callback(int cpu, 11177@@ -42,7 +42,7 @@ static void kdump_nmi_callback(int cpu,
11486 regs = args->regs; 11178 regs = args->regs;
11487 11179
@@ -11491,9 +11183,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/crash.c linux-3.0.7/arch/x86/kernel/crash
11491 crash_fixup_ss_esp(&fixed_regs, regs); 11183 crash_fixup_ss_esp(&fixed_regs, regs);
11492 regs = &fixed_regs; 11184 regs = &fixed_regs;
11493 } 11185 }
11494diff -urNp linux-3.0.7/arch/x86/kernel/doublefault_32.c linux-3.0.7/arch/x86/kernel/doublefault_32.c 11186diff -urNp linux-3.0.8/arch/x86/kernel/doublefault_32.c linux-3.0.8/arch/x86/kernel/doublefault_32.c
11495--- linux-3.0.7/arch/x86/kernel/doublefault_32.c 2011-07-21 22:17:23.000000000 -0400 11187--- linux-3.0.8/arch/x86/kernel/doublefault_32.c 2011-07-21 22:17:23.000000000 -0400
11496+++ linux-3.0.7/arch/x86/kernel/doublefault_32.c 2011-08-23 21:47:55.000000000 -0400 11188+++ linux-3.0.8/arch/x86/kernel/doublefault_32.c 2011-08-23 21:47:55.000000000 -0400
11497@@ -11,7 +11,7 @@ 11189@@ -11,7 +11,7 @@
11498 11190
11499 #define DOUBLEFAULT_STACKSIZE (1024) 11191 #define DOUBLEFAULT_STACKSIZE (1024)
@@ -11525,9 +11217,129 @@ diff -urNp linux-3.0.7/arch/x86/kernel/doublefault_32.c linux-3.0.7/arch/x86/ker
11525 .fs = __KERNEL_PERCPU, 11217 .fs = __KERNEL_PERCPU,
11526 11218
11527 .__cr3 = __pa_nodebug(swapper_pg_dir), 11219 .__cr3 = __pa_nodebug(swapper_pg_dir),
11528diff -urNp linux-3.0.7/arch/x86/kernel/dumpstack.c linux-3.0.7/arch/x86/kernel/dumpstack.c 11220diff -urNp linux-3.0.8/arch/x86/kernel/dumpstack_32.c linux-3.0.8/arch/x86/kernel/dumpstack_32.c
11529--- linux-3.0.7/arch/x86/kernel/dumpstack.c 2011-07-21 22:17:23.000000000 -0400 11221--- linux-3.0.8/arch/x86/kernel/dumpstack_32.c 2011-07-21 22:17:23.000000000 -0400
11530+++ linux-3.0.7/arch/x86/kernel/dumpstack.c 2011-08-23 21:48:14.000000000 -0400 11222+++ linux-3.0.8/arch/x86/kernel/dumpstack_32.c 2011-08-23 21:47:55.000000000 -0400
11223@@ -38,15 +38,13 @@ void dump_trace(struct task_struct *task
11224 bp = stack_frame(task, regs);
11225
11226 for (;;) {
11227- struct thread_info *context;
11228+ void *stack_start = (void *)((unsigned long)stack & ~(THREAD_SIZE-1));
11229
11230- context = (struct thread_info *)
11231- ((unsigned long)stack & (~(THREAD_SIZE - 1)));
11232- bp = ops->walk_stack(context, stack, bp, ops, data, NULL, &graph);
11233+ bp = ops->walk_stack(task, stack_start, stack, bp, ops, data, NULL, &graph);
11234
11235- stack = (unsigned long *)context->previous_esp;
11236- if (!stack)
11237+ if (stack_start == task_stack_page(task))
11238 break;
11239+ stack = *(unsigned long **)stack_start;
11240 if (ops->stack(data, "IRQ") < 0)
11241 break;
11242 touch_nmi_watchdog();
11243@@ -96,21 +94,22 @@ void show_registers(struct pt_regs *regs
11244 * When in-kernel, we also print out the stack and code at the
11245 * time of the fault..
11246 */
11247- if (!user_mode_vm(regs)) {
11248+ if (!user_mode(regs)) {
11249 unsigned int code_prologue = code_bytes * 43 / 64;
11250 unsigned int code_len = code_bytes;
11251 unsigned char c;
11252 u8 *ip;
11253+ unsigned long cs_base = get_desc_base(&get_cpu_gdt_table(smp_processor_id())[(0xffff & regs->cs) >> 3]);
11254
11255 printk(KERN_EMERG "Stack:\n");
11256 show_stack_log_lvl(NULL, regs, &regs->sp, 0, KERN_EMERG);
11257
11258 printk(KERN_EMERG "Code: ");
11259
11260- ip = (u8 *)regs->ip - code_prologue;
11261+ ip = (u8 *)regs->ip - code_prologue + cs_base;
11262 if (ip < (u8 *)PAGE_OFFSET || probe_kernel_address(ip, c)) {
11263 /* try starting at IP */
11264- ip = (u8 *)regs->ip;
11265+ ip = (u8 *)regs->ip + cs_base;
11266 code_len = code_len - code_prologue + 1;
11267 }
11268 for (i = 0; i < code_len; i++, ip++) {
11269@@ -119,7 +118,7 @@ void show_registers(struct pt_regs *regs
11270 printk(" Bad EIP value.");
11271 break;
11272 }
11273- if (ip == (u8 *)regs->ip)
11274+ if (ip == (u8 *)regs->ip + cs_base)
11275 printk("<%02x> ", c);
11276 else
11277 printk("%02x ", c);
11278@@ -132,6 +131,7 @@ int is_valid_bugaddr(unsigned long ip)
11279 {
11280 unsigned short ud2;
11281
11282+ ip = ktla_ktva(ip);
11283 if (ip < PAGE_OFFSET)
11284 return 0;
11285 if (probe_kernel_address((unsigned short *)ip, ud2))
11286diff -urNp linux-3.0.8/arch/x86/kernel/dumpstack_64.c linux-3.0.8/arch/x86/kernel/dumpstack_64.c
11287--- linux-3.0.8/arch/x86/kernel/dumpstack_64.c 2011-07-21 22:17:23.000000000 -0400
11288+++ linux-3.0.8/arch/x86/kernel/dumpstack_64.c 2011-08-23 21:47:55.000000000 -0400
11289@@ -147,9 +147,9 @@ void dump_trace(struct task_struct *task
11290 unsigned long *irq_stack_end =
11291 (unsigned long *)per_cpu(irq_stack_ptr, cpu);
11292 unsigned used = 0;
11293- struct thread_info *tinfo;
11294 int graph = 0;
11295 unsigned long dummy;
11296+ void *stack_start;
11297
11298 if (!task)
11299 task = current;
11300@@ -167,10 +167,10 @@ void dump_trace(struct task_struct *task
11301 * current stack address. If the stacks consist of nested
11302 * exceptions
11303 */
11304- tinfo = task_thread_info(task);
11305 for (;;) {
11306 char *id;
11307 unsigned long *estack_end;
11308+
11309 estack_end = in_exception_stack(cpu, (unsigned long)stack,
11310 &used, &id);
11311
11312@@ -178,7 +178,7 @@ void dump_trace(struct task_struct *task
11313 if (ops->stack(data, id) < 0)
11314 break;
11315
11316- bp = ops->walk_stack(tinfo, stack, bp, ops,
11317+ bp = ops->walk_stack(task, estack_end - EXCEPTION_STKSZ, stack, bp, ops,
11318 data, estack_end, &graph);
11319 ops->stack(data, "<EOE>");
11320 /*
11321@@ -197,7 +197,7 @@ void dump_trace(struct task_struct *task
11322 if (in_irq_stack(stack, irq_stack, irq_stack_end)) {
11323 if (ops->stack(data, "IRQ") < 0)
11324 break;
11325- bp = ops->walk_stack(tinfo, stack, bp,
11326+ bp = ops->walk_stack(task, irq_stack, stack, bp,
11327 ops, data, irq_stack_end, &graph);
11328 /*
11329 * We link to the next stack (which would be
11330@@ -218,7 +218,8 @@ void dump_trace(struct task_struct *task
11331 /*
11332 * This handles the process stack:
11333 */
11334- bp = ops->walk_stack(tinfo, stack, bp, ops, data, NULL, &graph);
11335+ stack_start = (void *)((unsigned long)stack & ~(THREAD_SIZE-1));
11336+ bp = ops->walk_stack(task, stack_start, stack, bp, ops, data, NULL, &graph);
11337 put_cpu();
11338 }
11339 EXPORT_SYMBOL(dump_trace);
11340diff -urNp linux-3.0.8/arch/x86/kernel/dumpstack.c linux-3.0.8/arch/x86/kernel/dumpstack.c
11341--- linux-3.0.8/arch/x86/kernel/dumpstack.c 2011-07-21 22:17:23.000000000 -0400
11342+++ linux-3.0.8/arch/x86/kernel/dumpstack.c 2011-08-23 21:48:14.000000000 -0400
11531@@ -2,6 +2,9 @@ 11343@@ -2,6 +2,9 @@
11532 * Copyright (C) 1991, 1992 Linus Torvalds 11344 * Copyright (C) 1991, 1992 Linus Torvalds
11533 * Copyright (C) 2000, 2001, 2002 Andi Kleen, SuSE Labs 11345 * Copyright (C) 2000, 2001, 2002 Andi Kleen, SuSE Labs
@@ -11671,129 +11483,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/dumpstack.c linux-3.0.7/arch/x86/kernel/d
11671 report_bug(regs->ip, regs); 11483 report_bug(regs->ip, regs);
11672 11484
11673 if (__die(str, regs, err)) 11485 if (__die(str, regs, err))
11674diff -urNp linux-3.0.7/arch/x86/kernel/dumpstack_32.c linux-3.0.7/arch/x86/kernel/dumpstack_32.c 11486diff -urNp linux-3.0.8/arch/x86/kernel/early_printk.c linux-3.0.8/arch/x86/kernel/early_printk.c
11675--- linux-3.0.7/arch/x86/kernel/dumpstack_32.c 2011-07-21 22:17:23.000000000 -0400 11487--- linux-3.0.8/arch/x86/kernel/early_printk.c 2011-07-21 22:17:23.000000000 -0400
11676+++ linux-3.0.7/arch/x86/kernel/dumpstack_32.c 2011-08-23 21:47:55.000000000 -0400 11488+++ linux-3.0.8/arch/x86/kernel/early_printk.c 2011-08-23 21:48:14.000000000 -0400
11677@@ -38,15 +38,13 @@ void dump_trace(struct task_struct *task
11678 bp = stack_frame(task, regs);
11679
11680 for (;;) {
11681- struct thread_info *context;
11682+ void *stack_start = (void *)((unsigned long)stack & ~(THREAD_SIZE-1));
11683
11684- context = (struct thread_info *)
11685- ((unsigned long)stack & (~(THREAD_SIZE - 1)));
11686- bp = ops->walk_stack(context, stack, bp, ops, data, NULL, &graph);
11687+ bp = ops->walk_stack(task, stack_start, stack, bp, ops, data, NULL, &graph);
11688
11689- stack = (unsigned long *)context->previous_esp;
11690- if (!stack)
11691+ if (stack_start == task_stack_page(task))
11692 break;
11693+ stack = *(unsigned long **)stack_start;
11694 if (ops->stack(data, "IRQ") < 0)
11695 break;
11696 touch_nmi_watchdog();
11697@@ -96,21 +94,22 @@ void show_registers(struct pt_regs *regs
11698 * When in-kernel, we also print out the stack and code at the
11699 * time of the fault..
11700 */
11701- if (!user_mode_vm(regs)) {
11702+ if (!user_mode(regs)) {
11703 unsigned int code_prologue = code_bytes * 43 / 64;
11704 unsigned int code_len = code_bytes;
11705 unsigned char c;
11706 u8 *ip;
11707+ unsigned long cs_base = get_desc_base(&get_cpu_gdt_table(smp_processor_id())[(0xffff & regs->cs) >> 3]);
11708
11709 printk(KERN_EMERG "Stack:\n");
11710 show_stack_log_lvl(NULL, regs, &regs->sp, 0, KERN_EMERG);
11711
11712 printk(KERN_EMERG "Code: ");
11713
11714- ip = (u8 *)regs->ip - code_prologue;
11715+ ip = (u8 *)regs->ip - code_prologue + cs_base;
11716 if (ip < (u8 *)PAGE_OFFSET || probe_kernel_address(ip, c)) {
11717 /* try starting at IP */
11718- ip = (u8 *)regs->ip;
11719+ ip = (u8 *)regs->ip + cs_base;
11720 code_len = code_len - code_prologue + 1;
11721 }
11722 for (i = 0; i < code_len; i++, ip++) {
11723@@ -119,7 +118,7 @@ void show_registers(struct pt_regs *regs
11724 printk(" Bad EIP value.");
11725 break;
11726 }
11727- if (ip == (u8 *)regs->ip)
11728+ if (ip == (u8 *)regs->ip + cs_base)
11729 printk("<%02x> ", c);
11730 else
11731 printk("%02x ", c);
11732@@ -132,6 +131,7 @@ int is_valid_bugaddr(unsigned long ip)
11733 {
11734 unsigned short ud2;
11735
11736+ ip = ktla_ktva(ip);
11737 if (ip < PAGE_OFFSET)
11738 return 0;
11739 if (probe_kernel_address((unsigned short *)ip, ud2))
11740diff -urNp linux-3.0.7/arch/x86/kernel/dumpstack_64.c linux-3.0.7/arch/x86/kernel/dumpstack_64.c
11741--- linux-3.0.7/arch/x86/kernel/dumpstack_64.c 2011-07-21 22:17:23.000000000 -0400
11742+++ linux-3.0.7/arch/x86/kernel/dumpstack_64.c 2011-08-23 21:47:55.000000000 -0400
11743@@ -147,9 +147,9 @@ void dump_trace(struct task_struct *task
11744 unsigned long *irq_stack_end =
11745 (unsigned long *)per_cpu(irq_stack_ptr, cpu);
11746 unsigned used = 0;
11747- struct thread_info *tinfo;
11748 int graph = 0;
11749 unsigned long dummy;
11750+ void *stack_start;
11751
11752 if (!task)
11753 task = current;
11754@@ -167,10 +167,10 @@ void dump_trace(struct task_struct *task
11755 * current stack address. If the stacks consist of nested
11756 * exceptions
11757 */
11758- tinfo = task_thread_info(task);
11759 for (;;) {
11760 char *id;
11761 unsigned long *estack_end;
11762+
11763 estack_end = in_exception_stack(cpu, (unsigned long)stack,
11764 &used, &id);
11765
11766@@ -178,7 +178,7 @@ void dump_trace(struct task_struct *task
11767 if (ops->stack(data, id) < 0)
11768 break;
11769
11770- bp = ops->walk_stack(tinfo, stack, bp, ops,
11771+ bp = ops->walk_stack(task, estack_end - EXCEPTION_STKSZ, stack, bp, ops,
11772 data, estack_end, &graph);
11773 ops->stack(data, "<EOE>");
11774 /*
11775@@ -197,7 +197,7 @@ void dump_trace(struct task_struct *task
11776 if (in_irq_stack(stack, irq_stack, irq_stack_end)) {
11777 if (ops->stack(data, "IRQ") < 0)
11778 break;
11779- bp = ops->walk_stack(tinfo, stack, bp,
11780+ bp = ops->walk_stack(task, irq_stack, stack, bp,
11781 ops, data, irq_stack_end, &graph);
11782 /*
11783 * We link to the next stack (which would be
11784@@ -218,7 +218,8 @@ void dump_trace(struct task_struct *task
11785 /*
11786 * This handles the process stack:
11787 */
11788- bp = ops->walk_stack(tinfo, stack, bp, ops, data, NULL, &graph);
11789+ stack_start = (void *)((unsigned long)stack & ~(THREAD_SIZE-1));
11790+ bp = ops->walk_stack(task, stack_start, stack, bp, ops, data, NULL, &graph);
11791 put_cpu();
11792 }
11793 EXPORT_SYMBOL(dump_trace);
11794diff -urNp linux-3.0.7/arch/x86/kernel/early_printk.c linux-3.0.7/arch/x86/kernel/early_printk.c
11795--- linux-3.0.7/arch/x86/kernel/early_printk.c 2011-07-21 22:17:23.000000000 -0400
11796+++ linux-3.0.7/arch/x86/kernel/early_printk.c 2011-08-23 21:48:14.000000000 -0400
11797@@ -7,6 +7,7 @@ 11489@@ -7,6 +7,7 @@
11798 #include <linux/pci_regs.h> 11490 #include <linux/pci_regs.h>
11799 #include <linux/pci_ids.h> 11491 #include <linux/pci_ids.h>
@@ -11811,9 +11503,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/early_printk.c linux-3.0.7/arch/x86/kerne
11811 va_start(ap, fmt); 11503 va_start(ap, fmt);
11812 n = vscnprintf(buf, sizeof(buf), fmt, ap); 11504 n = vscnprintf(buf, sizeof(buf), fmt, ap);
11813 early_console->write(early_console, buf, n); 11505 early_console->write(early_console, buf, n);
11814diff -urNp linux-3.0.7/arch/x86/kernel/entry_32.S linux-3.0.7/arch/x86/kernel/entry_32.S 11506diff -urNp linux-3.0.8/arch/x86/kernel/entry_32.S linux-3.0.8/arch/x86/kernel/entry_32.S
11815--- linux-3.0.7/arch/x86/kernel/entry_32.S 2011-07-21 22:17:23.000000000 -0400 11507--- linux-3.0.8/arch/x86/kernel/entry_32.S 2011-07-21 22:17:23.000000000 -0400
11816+++ linux-3.0.7/arch/x86/kernel/entry_32.S 2011-08-30 18:23:52.000000000 -0400 11508+++ linux-3.0.8/arch/x86/kernel/entry_32.S 2011-10-20 04:46:01.000000000 -0400
11817@@ -185,13 +185,146 @@ 11509@@ -185,13 +185,146 @@
11818 /*CFI_REL_OFFSET gs, PT_GS*/ 11510 /*CFI_REL_OFFSET gs, PT_GS*/
11819 .endm 11511 .endm
@@ -11987,6 +11679,15 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_32.S linux-3.0.7/arch/x86/kernel/en
11987 .macro RESTORE_INT_REGS 11679 .macro RESTORE_INT_REGS
11988 popl_cfi %ebx 11680 popl_cfi %ebx
11989 CFI_RESTORE ebx 11681 CFI_RESTORE ebx
11682@@ -307,7 +449,7 @@ ENTRY(ret_from_fork)
11683 popfl_cfi
11684 jmp syscall_exit
11685 CFI_ENDPROC
11686-END(ret_from_fork)
11687+ENDPROC(ret_from_fork)
11688
11689 /*
11690 * Interrupt exit functions should be protected against kprobes
11990@@ -332,7 +474,15 @@ check_userspace: 11691@@ -332,7 +474,15 @@ check_userspace:
11991 movb PT_CS(%esp), %al 11692 movb PT_CS(%esp), %al
11992 andl $(X86_EFLAGS_VM | SEGMENT_RPL_MASK), %eax 11693 andl $(X86_EFLAGS_VM | SEGMENT_RPL_MASK), %eax
@@ -12003,15 +11704,26 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_32.S linux-3.0.7/arch/x86/kernel/en
12003 11704
12004 ENTRY(resume_userspace) 11705 ENTRY(resume_userspace)
12005 LOCKDEP_SYS_EXIT 11706 LOCKDEP_SYS_EXIT
12006@@ -344,7 +494,7 @@ ENTRY(resume_userspace) 11707@@ -344,8 +494,8 @@ ENTRY(resume_userspace)
12007 andl $_TIF_WORK_MASK, %ecx # is there any work to be done on 11708 andl $_TIF_WORK_MASK, %ecx # is there any work to be done on
12008 # int/exception return? 11709 # int/exception return?
12009 jne work_pending 11710 jne work_pending
12010- jmp restore_all 11711- jmp restore_all
11712-END(ret_from_exception)
12011+ jmp restore_all_pax 11713+ jmp restore_all_pax
12012 END(ret_from_exception) 11714+ENDPROC(ret_from_exception)
12013 11715
12014 #ifdef CONFIG_PREEMPT 11716 #ifdef CONFIG_PREEMPT
11717 ENTRY(resume_kernel)
11718@@ -360,7 +510,7 @@ need_resched:
11719 jz restore_all
11720 call preempt_schedule_irq
11721 jmp need_resched
11722-END(resume_kernel)
11723+ENDPROC(resume_kernel)
11724 #endif
11725 CFI_ENDPROC
11726 /*
12015@@ -394,23 +544,34 @@ sysenter_past_esp: 11727@@ -394,23 +544,34 @@ sysenter_past_esp:
12016 /*CFI_REL_OFFSET cs, 0*/ 11728 /*CFI_REL_OFFSET cs, 0*/
12017 /* 11729 /*
@@ -12159,7 +11871,7 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_32.S linux-3.0.7/arch/x86/kernel/en
12159 pushl_cfi $__ESPFIX_SS 11871 pushl_cfi $__ESPFIX_SS
12160 pushl_cfi %eax /* new kernel esp */ 11872 pushl_cfi %eax /* new kernel esp */
12161 /* Disable interrupts, but do not irqtrace this section: we 11873 /* Disable interrupts, but do not irqtrace this section: we
12162@@ -613,29 +824,23 @@ work_resched: 11874@@ -613,34 +824,28 @@ work_resched:
12163 movl TI_flags(%ebp), %ecx 11875 movl TI_flags(%ebp), %ecx
12164 andl $_TIF_WORK_MASK, %ecx # is there any work to be done other 11876 andl $_TIF_WORK_MASK, %ecx # is there any work to be done other
12165 # than syscall tracing? 11877 # than syscall tracing?
@@ -12193,7 +11905,13 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_32.S linux-3.0.7/arch/x86/kernel/en
12193 #endif 11905 #endif
12194 xorl %edx, %edx 11906 xorl %edx, %edx
12195 call do_notify_resume 11907 call do_notify_resume
12196@@ -648,6 +853,9 @@ syscall_trace_entry: 11908 jmp resume_userspace_sig
11909-END(work_pending)
11910+ENDPROC(work_pending)
11911
11912 # perform syscall exit tracing
11913 ALIGN
11914@@ -648,11 +853,14 @@ syscall_trace_entry:
12197 movl $-ENOSYS,PT_EAX(%esp) 11915 movl $-ENOSYS,PT_EAX(%esp)
12198 movl %esp, %eax 11916 movl %esp, %eax
12199 call syscall_trace_enter 11917 call syscall_trace_enter
@@ -12203,7 +11921,19 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_32.S linux-3.0.7/arch/x86/kernel/en
12203 /* What it returned is what we'll actually use. */ 11921 /* What it returned is what we'll actually use. */
12204 cmpl $(nr_syscalls), %eax 11922 cmpl $(nr_syscalls), %eax
12205 jnae syscall_call 11923 jnae syscall_call
12206@@ -670,6 +878,10 @@ END(syscall_exit_work) 11924 jmp syscall_exit
11925-END(syscall_trace_entry)
11926+ENDPROC(syscall_trace_entry)
11927
11928 # perform syscall exit tracing
11929 ALIGN
11930@@ -665,20 +873,24 @@ syscall_exit_work:
11931 movl %esp, %eax
11932 call syscall_trace_leave
11933 jmp resume_userspace
11934-END(syscall_exit_work)
11935+ENDPROC(syscall_exit_work)
11936 CFI_ENDPROC
12207 11937
12208 RING0_INT_FRAME # can't unwind into user space anyway 11938 RING0_INT_FRAME # can't unwind into user space anyway
12209 syscall_fault: 11939 syscall_fault:
@@ -12214,6 +11944,17 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_32.S linux-3.0.7/arch/x86/kernel/en
12214 GET_THREAD_INFO(%ebp) 11944 GET_THREAD_INFO(%ebp)
12215 movl $-EFAULT,PT_EAX(%esp) 11945 movl $-EFAULT,PT_EAX(%esp)
12216 jmp resume_userspace 11946 jmp resume_userspace
11947-END(syscall_fault)
11948+ENDPROC(syscall_fault)
11949
11950 syscall_badsys:
11951 movl $-ENOSYS,PT_EAX(%esp)
11952 jmp resume_userspace
11953-END(syscall_badsys)
11954+ENDPROC(syscall_badsys)
11955 CFI_ENDPROC
11956 /*
11957 * End of kprobes section
12217@@ -752,6 +964,36 @@ ptregs_clone: 11958@@ -752,6 +964,36 @@ ptregs_clone:
12218 CFI_ENDPROC 11959 CFI_ENDPROC
12219 ENDPROC(ptregs_clone) 11960 ENDPROC(ptregs_clone)
@@ -12269,6 +12010,188 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_32.S linux-3.0.7/arch/x86/kernel/en
12269 shl $16, %eax 12010 shl $16, %eax
12270 addl %esp, %eax /* the adjusted stack pointer */ 12011 addl %esp, %eax /* the adjusted stack pointer */
12271 pushl_cfi $__KERNEL_DS 12012 pushl_cfi $__KERNEL_DS
12013@@ -815,7 +1064,7 @@ vector=vector+1
12014 .endr
12015 2: jmp common_interrupt
12016 .endr
12017-END(irq_entries_start)
12018+ENDPROC(irq_entries_start)
12019
12020 .previous
12021 END(interrupt)
12022@@ -863,7 +1112,7 @@ ENTRY(coprocessor_error)
12023 pushl_cfi $do_coprocessor_error
12024 jmp error_code
12025 CFI_ENDPROC
12026-END(coprocessor_error)
12027+ENDPROC(coprocessor_error)
12028
12029 ENTRY(simd_coprocessor_error)
12030 RING0_INT_FRAME
12031@@ -889,7 +1138,7 @@ ENTRY(simd_coprocessor_error)
12032 #endif
12033 jmp error_code
12034 CFI_ENDPROC
12035-END(simd_coprocessor_error)
12036+ENDPROC(simd_coprocessor_error)
12037
12038 ENTRY(device_not_available)
12039 RING0_INT_FRAME
12040@@ -897,7 +1146,7 @@ ENTRY(device_not_available)
12041 pushl_cfi $do_device_not_available
12042 jmp error_code
12043 CFI_ENDPROC
12044-END(device_not_available)
12045+ENDPROC(device_not_available)
12046
12047 #ifdef CONFIG_PARAVIRT
12048 ENTRY(native_iret)
12049@@ -906,12 +1155,12 @@ ENTRY(native_iret)
12050 .align 4
12051 .long native_iret, iret_exc
12052 .previous
12053-END(native_iret)
12054+ENDPROC(native_iret)
12055
12056 ENTRY(native_irq_enable_sysexit)
12057 sti
12058 sysexit
12059-END(native_irq_enable_sysexit)
12060+ENDPROC(native_irq_enable_sysexit)
12061 #endif
12062
12063 ENTRY(overflow)
12064@@ -920,7 +1169,7 @@ ENTRY(overflow)
12065 pushl_cfi $do_overflow
12066 jmp error_code
12067 CFI_ENDPROC
12068-END(overflow)
12069+ENDPROC(overflow)
12070
12071 ENTRY(bounds)
12072 RING0_INT_FRAME
12073@@ -928,7 +1177,7 @@ ENTRY(bounds)
12074 pushl_cfi $do_bounds
12075 jmp error_code
12076 CFI_ENDPROC
12077-END(bounds)
12078+ENDPROC(bounds)
12079
12080 ENTRY(invalid_op)
12081 RING0_INT_FRAME
12082@@ -936,7 +1185,7 @@ ENTRY(invalid_op)
12083 pushl_cfi $do_invalid_op
12084 jmp error_code
12085 CFI_ENDPROC
12086-END(invalid_op)
12087+ENDPROC(invalid_op)
12088
12089 ENTRY(coprocessor_segment_overrun)
12090 RING0_INT_FRAME
12091@@ -944,35 +1193,35 @@ ENTRY(coprocessor_segment_overrun)
12092 pushl_cfi $do_coprocessor_segment_overrun
12093 jmp error_code
12094 CFI_ENDPROC
12095-END(coprocessor_segment_overrun)
12096+ENDPROC(coprocessor_segment_overrun)
12097
12098 ENTRY(invalid_TSS)
12099 RING0_EC_FRAME
12100 pushl_cfi $do_invalid_TSS
12101 jmp error_code
12102 CFI_ENDPROC
12103-END(invalid_TSS)
12104+ENDPROC(invalid_TSS)
12105
12106 ENTRY(segment_not_present)
12107 RING0_EC_FRAME
12108 pushl_cfi $do_segment_not_present
12109 jmp error_code
12110 CFI_ENDPROC
12111-END(segment_not_present)
12112+ENDPROC(segment_not_present)
12113
12114 ENTRY(stack_segment)
12115 RING0_EC_FRAME
12116 pushl_cfi $do_stack_segment
12117 jmp error_code
12118 CFI_ENDPROC
12119-END(stack_segment)
12120+ENDPROC(stack_segment)
12121
12122 ENTRY(alignment_check)
12123 RING0_EC_FRAME
12124 pushl_cfi $do_alignment_check
12125 jmp error_code
12126 CFI_ENDPROC
12127-END(alignment_check)
12128+ENDPROC(alignment_check)
12129
12130 ENTRY(divide_error)
12131 RING0_INT_FRAME
12132@@ -980,7 +1229,7 @@ ENTRY(divide_error)
12133 pushl_cfi $do_divide_error
12134 jmp error_code
12135 CFI_ENDPROC
12136-END(divide_error)
12137+ENDPROC(divide_error)
12138
12139 #ifdef CONFIG_X86_MCE
12140 ENTRY(machine_check)
12141@@ -989,7 +1238,7 @@ ENTRY(machine_check)
12142 pushl_cfi machine_check_vector
12143 jmp error_code
12144 CFI_ENDPROC
12145-END(machine_check)
12146+ENDPROC(machine_check)
12147 #endif
12148
12149 ENTRY(spurious_interrupt_bug)
12150@@ -998,7 +1247,7 @@ ENTRY(spurious_interrupt_bug)
12151 pushl_cfi $do_spurious_interrupt_bug
12152 jmp error_code
12153 CFI_ENDPROC
12154-END(spurious_interrupt_bug)
12155+ENDPROC(spurious_interrupt_bug)
12156 /*
12157 * End of kprobes section
12158 */
12159@@ -1113,7 +1362,7 @@ BUILD_INTERRUPT3(xen_hvm_callback_vector
12160
12161 ENTRY(mcount)
12162 ret
12163-END(mcount)
12164+ENDPROC(mcount)
12165
12166 ENTRY(ftrace_caller)
12167 cmpl $0, function_trace_stop
12168@@ -1142,7 +1391,7 @@ ftrace_graph_call:
12169 .globl ftrace_stub
12170 ftrace_stub:
12171 ret
12172-END(ftrace_caller)
12173+ENDPROC(ftrace_caller)
12174
12175 #else /* ! CONFIG_DYNAMIC_FTRACE */
12176
12177@@ -1178,7 +1427,7 @@ trace:
12178 popl %ecx
12179 popl %eax
12180 jmp ftrace_stub
12181-END(mcount)
12182+ENDPROC(mcount)
12183 #endif /* CONFIG_DYNAMIC_FTRACE */
12184 #endif /* CONFIG_FUNCTION_TRACER */
12185
12186@@ -1199,7 +1448,7 @@ ENTRY(ftrace_graph_caller)
12187 popl %ecx
12188 popl %eax
12189 ret
12190-END(ftrace_graph_caller)
12191+ENDPROC(ftrace_graph_caller)
12192
12193 .globl return_to_handler
12194 return_to_handler:
12272@@ -1213,7 +1462,6 @@ return_to_handler: 12195@@ -1213,7 +1462,6 @@ return_to_handler:
12273 jmp *%ecx 12196 jmp *%ecx
12274 #endif 12197 #endif
@@ -12277,7 +12200,7 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_32.S linux-3.0.7/arch/x86/kernel/en
12277 #include "syscall_table_32.S" 12200 #include "syscall_table_32.S"
12278 12201
12279 syscall_table_size=(.-sys_call_table) 12202 syscall_table_size=(.-sys_call_table)
12280@@ -1259,9 +1507,12 @@ error_code: 12203@@ -1259,15 +1507,18 @@ error_code:
12281 movl $-1, PT_ORIG_EAX(%esp) # no syscall to restart 12204 movl $-1, PT_ORIG_EAX(%esp) # no syscall to restart
12282 REG_TO_PTGS %ecx 12205 REG_TO_PTGS %ecx
12283 SET_KERNEL_GS %ecx 12206 SET_KERNEL_GS %ecx
@@ -12291,6 +12214,22 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_32.S linux-3.0.7/arch/x86/kernel/en
12291 TRACE_IRQS_OFF 12214 TRACE_IRQS_OFF
12292 movl %esp,%eax # pt_regs pointer 12215 movl %esp,%eax # pt_regs pointer
12293 call *%edi 12216 call *%edi
12217 jmp ret_from_exception
12218 CFI_ENDPROC
12219-END(page_fault)
12220+ENDPROC(page_fault)
12221
12222 /*
12223 * Debug traps and NMI can happen at the one SYSENTER instruction
12224@@ -1309,7 +1560,7 @@ debug_stack_correct:
12225 call do_debug
12226 jmp ret_from_exception
12227 CFI_ENDPROC
12228-END(debug)
12229+ENDPROC(debug)
12230
12231 /*
12232 * NMI is doubly nasty. It can happen _while_ we're handling
12294@@ -1346,6 +1597,9 @@ nmi_stack_correct: 12233@@ -1346,6 +1597,9 @@ nmi_stack_correct:
12295 xorl %edx,%edx # zero error code 12234 xorl %edx,%edx # zero error code
12296 movl %esp,%eax # pt_regs pointer 12235 movl %esp,%eax # pt_regs pointer
@@ -12301,7 +12240,7 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_32.S linux-3.0.7/arch/x86/kernel/en
12301 jmp restore_all_notrace 12240 jmp restore_all_notrace
12302 CFI_ENDPROC 12241 CFI_ENDPROC
12303 12242
12304@@ -1382,6 +1636,9 @@ nmi_espfix_stack: 12243@@ -1382,12 +1636,15 @@ nmi_espfix_stack:
12305 FIXUP_ESPFIX_STACK # %eax == %esp 12244 FIXUP_ESPFIX_STACK # %eax == %esp
12306 xorl %edx,%edx # zero error code 12245 xorl %edx,%edx # zero error code
12307 call do_nmi 12246 call do_nmi
@@ -12311,9 +12250,42 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_32.S linux-3.0.7/arch/x86/kernel/en
12311 RESTORE_REGS 12250 RESTORE_REGS
12312 lss 12+4(%esp), %esp # back to espfix stack 12251 lss 12+4(%esp), %esp # back to espfix stack
12313 CFI_ADJUST_CFA_OFFSET -24 12252 CFI_ADJUST_CFA_OFFSET -24
12314diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/entry_64.S 12253 jmp irq_return
12315--- linux-3.0.7/arch/x86/kernel/entry_64.S 2011-07-21 22:17:23.000000000 -0400 12254 CFI_ENDPROC
12316+++ linux-3.0.7/arch/x86/kernel/entry_64.S 2011-10-11 10:44:33.000000000 -0400 12255-END(nmi)
12256+ENDPROC(nmi)
12257
12258 ENTRY(int3)
12259 RING0_INT_FRAME
12260@@ -1399,14 +1656,14 @@ ENTRY(int3)
12261 call do_int3
12262 jmp ret_from_exception
12263 CFI_ENDPROC
12264-END(int3)
12265+ENDPROC(int3)
12266
12267 ENTRY(general_protection)
12268 RING0_EC_FRAME
12269 pushl_cfi $do_general_protection
12270 jmp error_code
12271 CFI_ENDPROC
12272-END(general_protection)
12273+ENDPROC(general_protection)
12274
12275 #ifdef CONFIG_KVM_GUEST
12276 ENTRY(async_page_fault)
12277@@ -1414,7 +1671,7 @@ ENTRY(async_page_fault)
12278 pushl_cfi $do_async_page_fault
12279 jmp error_code
12280 CFI_ENDPROC
12281-END(async_page_fault)
12282+ENDPROC(async_page_fault)
12283 #endif
12284
12285 /*
12286diff -urNp linux-3.0.8/arch/x86/kernel/entry_64.S linux-3.0.8/arch/x86/kernel/entry_64.S
12287--- linux-3.0.8/arch/x86/kernel/entry_64.S 2011-07-21 22:17:23.000000000 -0400
12288+++ linux-3.0.8/arch/x86/kernel/entry_64.S 2011-10-20 04:46:01.000000000 -0400
12317@@ -53,6 +53,8 @@ 12289@@ -53,6 +53,8 @@
12318 #include <asm/paravirt.h> 12290 #include <asm/paravirt.h>
12319 #include <asm/ftrace.h> 12291 #include <asm/ftrace.h>
@@ -12323,22 +12295,28 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12323 12295
12324 /* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this. */ 12296 /* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this. */
12325 #include <linux/elf-em.h> 12297 #include <linux/elf-em.h>
12326@@ -66,6 +68,7 @@ 12298@@ -66,8 +68,9 @@
12327 #ifdef CONFIG_FUNCTION_TRACER 12299 #ifdef CONFIG_FUNCTION_TRACER
12328 #ifdef CONFIG_DYNAMIC_FTRACE 12300 #ifdef CONFIG_DYNAMIC_FTRACE
12329 ENTRY(mcount) 12301 ENTRY(mcount)
12330+ pax_force_retaddr 12302+ pax_force_retaddr
12331 retq 12303 retq
12332 END(mcount) 12304-END(mcount)
12305+ENDPROC(mcount)
12333 12306
12334@@ -90,6 +93,7 @@ GLOBAL(ftrace_graph_call) 12307 ENTRY(ftrace_caller)
12308 cmpl $0, function_trace_stop
12309@@ -90,8 +93,9 @@ GLOBAL(ftrace_graph_call)
12335 #endif 12310 #endif
12336 12311
12337 GLOBAL(ftrace_stub) 12312 GLOBAL(ftrace_stub)
12338+ pax_force_retaddr 12313+ pax_force_retaddr
12339 retq 12314 retq
12340 END(ftrace_caller) 12315-END(ftrace_caller)
12316+ENDPROC(ftrace_caller)
12341 12317
12318 #else /* ! CONFIG_DYNAMIC_FTRACE */
12319 ENTRY(mcount)
12342@@ -110,6 +114,7 @@ ENTRY(mcount) 12320@@ -110,6 +114,7 @@ ENTRY(mcount)
12343 #endif 12321 #endif
12344 12322
@@ -12347,7 +12325,7 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12347 retq 12325 retq
12348 12326
12349 trace: 12327 trace:
12350@@ -119,6 +124,7 @@ trace: 12328@@ -119,12 +124,13 @@ trace:
12351 movq 8(%rbp), %rsi 12329 movq 8(%rbp), %rsi
12352 subq $MCOUNT_INSN_SIZE, %rdi 12330 subq $MCOUNT_INSN_SIZE, %rdi
12353 12331
@@ -12355,14 +12333,24 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12355 call *ftrace_trace_function 12333 call *ftrace_trace_function
12356 12334
12357 MCOUNT_RESTORE_FRAME 12335 MCOUNT_RESTORE_FRAME
12358@@ -144,6 +150,7 @@ ENTRY(ftrace_graph_caller) 12336
12337 jmp ftrace_stub
12338-END(mcount)
12339+ENDPROC(mcount)
12340 #endif /* CONFIG_DYNAMIC_FTRACE */
12341 #endif /* CONFIG_FUNCTION_TRACER */
12342
12343@@ -144,8 +150,9 @@ ENTRY(ftrace_graph_caller)
12359 12344
12360 MCOUNT_RESTORE_FRAME 12345 MCOUNT_RESTORE_FRAME
12361 12346
12362+ pax_force_retaddr 12347+ pax_force_retaddr
12363 retq 12348 retq
12364 END(ftrace_graph_caller) 12349-END(ftrace_graph_caller)
12350+ENDPROC(ftrace_graph_caller)
12365 12351
12352 GLOBAL(return_to_handler)
12353 subq $24, %rsp
12366@@ -161,6 +168,7 @@ GLOBAL(return_to_handler) 12354@@ -161,6 +168,7 @@ GLOBAL(return_to_handler)
12367 movq 8(%rsp), %rdx 12355 movq 8(%rsp), %rdx
12368 movq (%rsp), %rax 12356 movq (%rsp), %rax
@@ -12650,23 +12638,31 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12650 je 1f 12638 je 1f
12651 SWAPGS 12639 SWAPGS
12652 /* 12640 /*
12653@@ -338,6 +609,7 @@ ENTRY(save_args) 12641@@ -338,9 +609,10 @@ ENTRY(save_args)
12654 * We entered an interrupt context - irqs are off: 12642 * We entered an interrupt context - irqs are off:
12655 */ 12643 */
12656 2: TRACE_IRQS_OFF 12644 2: TRACE_IRQS_OFF
12657+ pax_force_retaddr 12645+ pax_force_retaddr
12658 ret 12646 ret
12659 CFI_ENDPROC 12647 CFI_ENDPROC
12660 END(save_args) 12648-END(save_args)
12661@@ -354,6 +626,7 @@ ENTRY(save_rest) 12649+ENDPROC(save_args)
12650 .popsection
12651
12652 ENTRY(save_rest)
12653@@ -354,9 +626,10 @@ ENTRY(save_rest)
12662 movq_cfi r15, R15+16 12654 movq_cfi r15, R15+16
12663 movq %r11, 8(%rsp) /* return address */ 12655 movq %r11, 8(%rsp) /* return address */
12664 FIXUP_TOP_OF_STACK %r11, 16 12656 FIXUP_TOP_OF_STACK %r11, 16
12665+ pax_force_retaddr 12657+ pax_force_retaddr
12666 ret 12658 ret
12667 CFI_ENDPROC 12659 CFI_ENDPROC
12668 END(save_rest) 12660-END(save_rest)
12669@@ -385,7 +658,8 @@ ENTRY(save_paranoid) 12661+ENDPROC(save_rest)
12662
12663 /* save complete stack frame */
12664 .pushsection .kprobes.text, "ax"
12665@@ -385,9 +658,10 @@ ENTRY(save_paranoid)
12670 js 1f /* negative -> in kernel */ 12666 js 1f /* negative -> in kernel */
12671 SWAPGS 12667 SWAPGS
12672 xorl %ebx,%ebx 12668 xorl %ebx,%ebx
@@ -12674,8 +12670,11 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12674+1: pax_force_retaddr 12670+1: pax_force_retaddr
12675+ ret 12671+ ret
12676 CFI_ENDPROC 12672 CFI_ENDPROC
12677 END(save_paranoid) 12673-END(save_paranoid)
12674+ENDPROC(save_paranoid)
12678 .popsection 12675 .popsection
12676
12677 /*
12679@@ -409,7 +683,7 @@ ENTRY(ret_from_fork) 12678@@ -409,7 +683,7 @@ ENTRY(ret_from_fork)
12680 12679
12681 RESTORE_REST 12680 RESTORE_REST
@@ -12685,6 +12684,15 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12685 je int_ret_from_sys_call 12684 je int_ret_from_sys_call
12686 12685
12687 testl $_TIF_IA32, TI_flags(%rcx) # 32-bit compat task needs IRET 12686 testl $_TIF_IA32, TI_flags(%rcx) # 32-bit compat task needs IRET
12687@@ -419,7 +693,7 @@ ENTRY(ret_from_fork)
12688 jmp ret_from_sys_call # go to the SYSRET fastpath
12689
12690 CFI_ENDPROC
12691-END(ret_from_fork)
12692+ENDPROC(ret_from_fork)
12693
12694 /*
12695 * System call entry. Up to 6 arguments in registers are supported.
12688@@ -455,7 +729,7 @@ END(ret_from_fork) 12696@@ -455,7 +729,7 @@ END(ret_from_fork)
12689 ENTRY(system_call) 12697 ENTRY(system_call)
12690 CFI_STARTPROC simple 12698 CFI_STARTPROC simple
@@ -12747,14 +12755,63 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12747 je retint_restore_args 12755 je retint_restore_args
12748 movl $_TIF_ALLWORK_MASK,%edi 12756 movl $_TIF_ALLWORK_MASK,%edi
12749 /* edi: mask to check */ 12757 /* edi: mask to check */
12750@@ -702,6 +985,7 @@ ENTRY(ptregscall_common) 12758@@ -668,7 +951,7 @@ int_restore_rest:
12759 TRACE_IRQS_OFF
12760 jmp int_with_check
12761 CFI_ENDPROC
12762-END(system_call)
12763+ENDPROC(system_call)
12764
12765 /*
12766 * Certain special system calls that need to save a complete full stack frame.
12767@@ -684,7 +967,7 @@ ENTRY(\label)
12768 call \func
12769 jmp ptregscall_common
12770 CFI_ENDPROC
12771-END(\label)
12772+ENDPROC(\label)
12773 .endm
12774
12775 PTREGSCALL stub_clone, sys_clone, %r8
12776@@ -702,9 +985,10 @@ ENTRY(ptregscall_common)
12751 movq_cfi_restore R12+8, r12 12777 movq_cfi_restore R12+8, r12
12752 movq_cfi_restore RBP+8, rbp 12778 movq_cfi_restore RBP+8, rbp
12753 movq_cfi_restore RBX+8, rbx 12779 movq_cfi_restore RBX+8, rbx
12754+ pax_force_retaddr 12780+ pax_force_retaddr
12755 ret $REST_SKIP /* pop extended registers */ 12781 ret $REST_SKIP /* pop extended registers */
12756 CFI_ENDPROC 12782 CFI_ENDPROC
12757 END(ptregscall_common) 12783-END(ptregscall_common)
12784+ENDPROC(ptregscall_common)
12785
12786 ENTRY(stub_execve)
12787 CFI_STARTPROC
12788@@ -719,7 +1003,7 @@ ENTRY(stub_execve)
12789 RESTORE_REST
12790 jmp int_ret_from_sys_call
12791 CFI_ENDPROC
12792-END(stub_execve)
12793+ENDPROC(stub_execve)
12794
12795 /*
12796 * sigreturn is special because it needs to restore all registers on return.
12797@@ -737,7 +1021,7 @@ ENTRY(stub_rt_sigreturn)
12798 RESTORE_REST
12799 jmp int_ret_from_sys_call
12800 CFI_ENDPROC
12801-END(stub_rt_sigreturn)
12802+ENDPROC(stub_rt_sigreturn)
12803
12804 /*
12805 * Build the entry stubs and pointer table with some assembler magic.
12806@@ -772,7 +1056,7 @@ vector=vector+1
12807 2: jmp common_interrupt
12808 .endr
12809 CFI_ENDPROC
12810-END(irq_entries_start)
12811+ENDPROC(irq_entries_start)
12812
12813 .previous
12814 END(interrupt)
12758@@ -793,6 +1077,16 @@ END(interrupt) 12815@@ -793,6 +1077,16 @@ END(interrupt)
12759 CFI_ADJUST_CFA_OFFSET ORIG_RAX-RBP 12816 CFI_ADJUST_CFA_OFFSET ORIG_RAX-RBP
12760 call save_args 12817 call save_args
@@ -12798,7 +12855,25 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12798 /* 12855 /*
12799 * The iretq could re-enable interrupts: 12856 * The iretq could re-enable interrupts:
12800 */ 12857 */
12801@@ -1027,6 +1325,16 @@ ENTRY(\sym) 12858@@ -941,7 +1239,7 @@ ENTRY(retint_kernel)
12859 #endif
12860
12861 CFI_ENDPROC
12862-END(common_interrupt)
12863+ENDPROC(common_interrupt)
12864 /*
12865 * End of kprobes section
12866 */
12867@@ -957,7 +1255,7 @@ ENTRY(\sym)
12868 interrupt \do_sym
12869 jmp ret_from_intr
12870 CFI_ENDPROC
12871-END(\sym)
12872+ENDPROC(\sym)
12873 .endm
12874
12875 #ifdef CONFIG_SMP
12876@@ -1027,12 +1325,22 @@ ENTRY(\sym)
12802 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 12877 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
12803 call error_entry 12878 call error_entry
12804 DEFAULT_FRAME 0 12879 DEFAULT_FRAME 0
@@ -12815,7 +12890,14 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12815 movq %rsp,%rdi /* pt_regs pointer */ 12890 movq %rsp,%rdi /* pt_regs pointer */
12816 xorl %esi,%esi /* no error code */ 12891 xorl %esi,%esi /* no error code */
12817 call \do_sym 12892 call \do_sym
12818@@ -1044,6 +1352,16 @@ ENTRY(\sym) 12893 jmp error_exit /* %ebx: no swapgs flag */
12894 CFI_ENDPROC
12895-END(\sym)
12896+ENDPROC(\sym)
12897 .endm
12898
12899 .macro paranoidzeroentry sym do_sym
12900@@ -1044,15 +1352,25 @@ ENTRY(\sym)
12819 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 12901 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
12820 call save_paranoid 12902 call save_paranoid
12821 TRACE_IRQS_OFF 12903 TRACE_IRQS_OFF
@@ -12832,8 +12914,10 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12832 movq %rsp,%rdi /* pt_regs pointer */ 12914 movq %rsp,%rdi /* pt_regs pointer */
12833 xorl %esi,%esi /* no error code */ 12915 xorl %esi,%esi /* no error code */
12834 call \do_sym 12916 call \do_sym
12835@@ -1052,7 +1370,7 @@ ENTRY(\sym) 12917 jmp paranoid_exit /* %ebx: no swapgs flag */
12836 END(\sym) 12918 CFI_ENDPROC
12919-END(\sym)
12920+ENDPROC(\sym)
12837 .endm 12921 .endm
12838 12922
12839-#define INIT_TSS_IST(x) PER_CPU_VAR(init_tss) + (TSS_ist + ((x) - 1) * 8) 12923-#define INIT_TSS_IST(x) PER_CPU_VAR(init_tss) + (TSS_ist + ((x) - 1) * 8)
@@ -12841,7 +12925,7 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12841 .macro paranoidzeroentry_ist sym do_sym ist 12925 .macro paranoidzeroentry_ist sym do_sym ist
12842 ENTRY(\sym) 12926 ENTRY(\sym)
12843 INTR_FRAME 12927 INTR_FRAME
12844@@ -1062,8 +1380,24 @@ ENTRY(\sym) 12928@@ -1062,14 +1380,30 @@ ENTRY(\sym)
12845 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 12929 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
12846 call save_paranoid 12930 call save_paranoid
12847 TRACE_IRQS_OFF 12931 TRACE_IRQS_OFF
@@ -12866,7 +12950,14 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12866 subq $EXCEPTION_STKSZ, INIT_TSS_IST(\ist) 12950 subq $EXCEPTION_STKSZ, INIT_TSS_IST(\ist)
12867 call \do_sym 12951 call \do_sym
12868 addq $EXCEPTION_STKSZ, INIT_TSS_IST(\ist) 12952 addq $EXCEPTION_STKSZ, INIT_TSS_IST(\ist)
12869@@ -1080,6 +1414,16 @@ ENTRY(\sym) 12953 jmp paranoid_exit /* %ebx: no swapgs flag */
12954 CFI_ENDPROC
12955-END(\sym)
12956+ENDPROC(\sym)
12957 .endm
12958
12959 .macro errorentry sym do_sym
12960@@ -1080,13 +1414,23 @@ ENTRY(\sym)
12870 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 12961 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
12871 call error_entry 12962 call error_entry
12872 DEFAULT_FRAME 0 12963 DEFAULT_FRAME 0
@@ -12883,7 +12974,15 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12883 movq %rsp,%rdi /* pt_regs pointer */ 12974 movq %rsp,%rdi /* pt_regs pointer */
12884 movq ORIG_RAX(%rsp),%rsi /* get error code */ 12975 movq ORIG_RAX(%rsp),%rsi /* get error code */
12885 movq $-1,ORIG_RAX(%rsp) /* no syscall to restart */ 12976 movq $-1,ORIG_RAX(%rsp) /* no syscall to restart */
12886@@ -1099,6 +1443,16 @@ ENTRY(\sym) 12977 call \do_sym
12978 jmp error_exit /* %ebx: no swapgs flag */
12979 CFI_ENDPROC
12980-END(\sym)
12981+ENDPROC(\sym)
12982 .endm
12983
12984 /* error code is on the stack already */
12985@@ -1099,13 +1443,23 @@ ENTRY(\sym)
12887 call save_paranoid 12986 call save_paranoid
12888 DEFAULT_FRAME 0 12987 DEFAULT_FRAME 0
12889 TRACE_IRQS_OFF 12988 TRACE_IRQS_OFF
@@ -12900,15 +12999,27 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12900 movq %rsp,%rdi /* pt_regs pointer */ 12999 movq %rsp,%rdi /* pt_regs pointer */
12901 movq ORIG_RAX(%rsp),%rsi /* get error code */ 13000 movq ORIG_RAX(%rsp),%rsi /* get error code */
12902 movq $-1,ORIG_RAX(%rsp) /* no syscall to restart */ 13001 movq $-1,ORIG_RAX(%rsp) /* no syscall to restart */
12903@@ -1134,6 +1488,7 @@ gs_change: 13002 call \do_sym
13003 jmp paranoid_exit /* %ebx: no swapgs flag */
13004 CFI_ENDPROC
13005-END(\sym)
13006+ENDPROC(\sym)
13007 .endm
13008
13009 zeroentry divide_error do_divide_error
13010@@ -1134,9 +1488,10 @@ gs_change:
12904 2: mfence /* workaround */ 13011 2: mfence /* workaround */
12905 SWAPGS 13012 SWAPGS
12906 popfq_cfi 13013 popfq_cfi
12907+ pax_force_retaddr 13014+ pax_force_retaddr
12908 ret 13015 ret
12909 CFI_ENDPROC 13016 CFI_ENDPROC
12910 END(native_load_gs_index) 13017-END(native_load_gs_index)
12911@@ -1158,6 +1513,7 @@ ENTRY(kernel_thread_helper) 13018+ENDPROC(native_load_gs_index)
13019
13020 .section __ex_table,"a"
13021 .align 8
13022@@ -1158,13 +1513,14 @@ ENTRY(kernel_thread_helper)
12912 * Here we are in the child and the registers are set as they were 13023 * Here we are in the child and the registers are set as they were
12913 * at kernel_thread() invocation in the parent. 13024 * at kernel_thread() invocation in the parent.
12914 */ 13025 */
@@ -12916,6 +13027,14 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12916 call *%rsi 13027 call *%rsi
12917 # exit 13028 # exit
12918 mov %eax, %edi 13029 mov %eax, %edi
13030 call do_exit
13031 ud2 # padding for call trace
13032 CFI_ENDPROC
13033-END(kernel_thread_helper)
13034+ENDPROC(kernel_thread_helper)
13035
13036 /*
13037 * execve(). This function needs to use IRET, not SYSRET, to set up all state properly.
12919@@ -1193,9 +1549,10 @@ ENTRY(kernel_execve) 13038@@ -1193,9 +1549,10 @@ ENTRY(kernel_execve)
12920 je int_ret_from_sys_call 13039 je int_ret_from_sys_call
12921 RESTORE_ARGS 13040 RESTORE_ARGS
@@ -12940,6 +13059,24 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12940 13059
12941 #ifdef CONFIG_XEN 13060 #ifdef CONFIG_XEN
12942 zeroentry xen_hypervisor_callback xen_do_hypervisor_callback 13061 zeroentry xen_hypervisor_callback xen_do_hypervisor_callback
13062@@ -1253,7 +1611,7 @@ ENTRY(xen_do_hypervisor_callback) # do
13063 decl PER_CPU_VAR(irq_count)
13064 jmp error_exit
13065 CFI_ENDPROC
13066-END(xen_do_hypervisor_callback)
13067+ENDPROC(xen_do_hypervisor_callback)
13068
13069 /*
13070 * Hypervisor uses this for application faults while it executes.
13071@@ -1312,7 +1670,7 @@ ENTRY(xen_failsafe_callback)
13072 SAVE_ALL
13073 jmp error_exit
13074 CFI_ENDPROC
13075-END(xen_failsafe_callback)
13076+ENDPROC(xen_failsafe_callback)
13077
13078 apicinterrupt XEN_HVM_EVTCHN_CALLBACK \
13079 xen_hvm_callback_vector xen_evtchn_do_upcall
12943@@ -1361,16 +1719,31 @@ ENTRY(paranoid_exit) 13080@@ -1361,16 +1719,31 @@ ENTRY(paranoid_exit)
12944 TRACE_IRQS_OFF 13081 TRACE_IRQS_OFF
12945 testl %ebx,%ebx /* swapgs needed? */ 13082 testl %ebx,%ebx /* swapgs needed? */
@@ -12973,6 +13110,15 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12973 jmp irq_return 13110 jmp irq_return
12974 paranoid_userspace: 13111 paranoid_userspace:
12975 GET_THREAD_INFO(%rcx) 13112 GET_THREAD_INFO(%rcx)
13113@@ -1399,7 +1772,7 @@ paranoid_schedule:
13114 TRACE_IRQS_OFF
13115 jmp paranoid_userspace
13116 CFI_ENDPROC
13117-END(paranoid_exit)
13118+ENDPROC(paranoid_exit)
13119
13120 /*
13121 * Exception entry point. This expects an error code/orig_rax on the stack.
12976@@ -1426,12 +1799,13 @@ ENTRY(error_entry) 13122@@ -1426,12 +1799,13 @@ ENTRY(error_entry)
12977 movq_cfi r14, R14+8 13123 movq_cfi r14, R14+8
12978 movq_cfi r15, R15+8 13124 movq_cfi r15, R15+8
@@ -12988,6 +13134,24 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
12988 ret 13134 ret
12989 13135
12990 /* 13136 /*
13137@@ -1458,7 +1832,7 @@ bstep_iret:
13138 movq %rcx,RIP+8(%rsp)
13139 jmp error_swapgs
13140 CFI_ENDPROC
13141-END(error_entry)
13142+ENDPROC(error_entry)
13143
13144
13145 /* ebx: no swapgs flag (1: don't need swapgs, 0: need it) */
13146@@ -1478,7 +1852,7 @@ ENTRY(error_exit)
13147 jnz retint_careful
13148 jmp retint_swapgs
13149 CFI_ENDPROC
13150-END(error_exit)
13151+ENDPROC(error_exit)
13152
13153
13154 /* runs on exception stack */
12991@@ -1490,6 +1864,16 @@ ENTRY(nmi) 13155@@ -1490,6 +1864,16 @@ ENTRY(nmi)
12992 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15 13156 CFI_ADJUST_CFA_OFFSET ORIG_RAX-R15
12993 call save_paranoid 13157 call save_paranoid
@@ -13035,9 +13199,26 @@ diff -urNp linux-3.0.7/arch/x86/kernel/entry_64.S linux-3.0.7/arch/x86/kernel/en
13035 jmp irq_return 13199 jmp irq_return
13036 nmi_userspace: 13200 nmi_userspace:
13037 GET_THREAD_INFO(%rcx) 13201 GET_THREAD_INFO(%rcx)
13038diff -urNp linux-3.0.7/arch/x86/kernel/ftrace.c linux-3.0.7/arch/x86/kernel/ftrace.c 13202@@ -1534,14 +1934,14 @@ nmi_schedule:
13039--- linux-3.0.7/arch/x86/kernel/ftrace.c 2011-07-21 22:17:23.000000000 -0400 13203 jmp paranoid_exit
13040+++ linux-3.0.7/arch/x86/kernel/ftrace.c 2011-08-23 21:47:55.000000000 -0400 13204 CFI_ENDPROC
13205 #endif
13206-END(nmi)
13207+ENDPROC(nmi)
13208
13209 ENTRY(ignore_sysret)
13210 CFI_STARTPROC
13211 mov $-ENOSYS,%eax
13212 sysret
13213 CFI_ENDPROC
13214-END(ignore_sysret)
13215+ENDPROC(ignore_sysret)
13216
13217 /*
13218 * End of kprobes section
13219diff -urNp linux-3.0.8/arch/x86/kernel/ftrace.c linux-3.0.8/arch/x86/kernel/ftrace.c
13220--- linux-3.0.8/arch/x86/kernel/ftrace.c 2011-07-21 22:17:23.000000000 -0400
13221+++ linux-3.0.8/arch/x86/kernel/ftrace.c 2011-08-23 21:47:55.000000000 -0400
13041@@ -126,7 +126,7 @@ static void *mod_code_ip; /* holds the 13222@@ -126,7 +126,7 @@ static void *mod_code_ip; /* holds the
13042 static const void *mod_code_newcode; /* holds the text to write to the IP */ 13223 static const void *mod_code_newcode; /* holds the text to write to the IP */
13043 13224
@@ -13095,9 +13276,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/ftrace.c linux-3.0.7/arch/x86/kernel/ftra
13095 if (probe_kernel_read(code, (void *)ip, MCOUNT_INSN_SIZE)) 13276 if (probe_kernel_read(code, (void *)ip, MCOUNT_INSN_SIZE))
13096 return -EFAULT; 13277 return -EFAULT;
13097 13278
13098diff -urNp linux-3.0.7/arch/x86/kernel/head32.c linux-3.0.7/arch/x86/kernel/head32.c 13279diff -urNp linux-3.0.8/arch/x86/kernel/head32.c linux-3.0.8/arch/x86/kernel/head32.c
13099--- linux-3.0.7/arch/x86/kernel/head32.c 2011-07-21 22:17:23.000000000 -0400 13280--- linux-3.0.8/arch/x86/kernel/head32.c 2011-07-21 22:17:23.000000000 -0400
13100+++ linux-3.0.7/arch/x86/kernel/head32.c 2011-08-23 21:47:55.000000000 -0400 13281+++ linux-3.0.8/arch/x86/kernel/head32.c 2011-08-23 21:47:55.000000000 -0400
13101@@ -19,6 +19,7 @@ 13282@@ -19,6 +19,7 @@
13102 #include <asm/io_apic.h> 13283 #include <asm/io_apic.h>
13103 #include <asm/bios_ebda.h> 13284 #include <asm/bios_ebda.h>
@@ -13115,9 +13296,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/head32.c linux-3.0.7/arch/x86/kernel/head
13115 13296
13116 #ifdef CONFIG_BLK_DEV_INITRD 13297 #ifdef CONFIG_BLK_DEV_INITRD
13117 /* Reserve INITRD */ 13298 /* Reserve INITRD */
13118diff -urNp linux-3.0.7/arch/x86/kernel/head_32.S linux-3.0.7/arch/x86/kernel/head_32.S 13299diff -urNp linux-3.0.8/arch/x86/kernel/head_32.S linux-3.0.8/arch/x86/kernel/head_32.S
13119--- linux-3.0.7/arch/x86/kernel/head_32.S 2011-07-21 22:17:23.000000000 -0400 13300--- linux-3.0.8/arch/x86/kernel/head_32.S 2011-07-21 22:17:23.000000000 -0400
13120+++ linux-3.0.7/arch/x86/kernel/head_32.S 2011-08-23 21:47:55.000000000 -0400 13301+++ linux-3.0.8/arch/x86/kernel/head_32.S 2011-08-23 21:47:55.000000000 -0400
13121@@ -25,6 +25,12 @@ 13302@@ -25,6 +25,12 @@
13122 /* Physical address */ 13303 /* Physical address */
13123 #define pa(X) ((X) - __PAGE_OFFSET) 13304 #define pa(X) ((X) - __PAGE_OFFSET)
@@ -13552,9 +13733,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/head_32.S linux-3.0.7/arch/x86/kernel/hea
13552+ /* Be sure this is zeroed to avoid false validations in Xen */ 13733+ /* Be sure this is zeroed to avoid false validations in Xen */
13553+ .fill PAGE_SIZE_asm - GDT_SIZE,1,0 13734+ .fill PAGE_SIZE_asm - GDT_SIZE,1,0
13554+ .endr 13735+ .endr
13555diff -urNp linux-3.0.7/arch/x86/kernel/head_64.S linux-3.0.7/arch/x86/kernel/head_64.S 13736diff -urNp linux-3.0.8/arch/x86/kernel/head_64.S linux-3.0.8/arch/x86/kernel/head_64.S
13556--- linux-3.0.7/arch/x86/kernel/head_64.S 2011-07-21 22:17:23.000000000 -0400 13737--- linux-3.0.8/arch/x86/kernel/head_64.S 2011-07-21 22:17:23.000000000 -0400
13557+++ linux-3.0.7/arch/x86/kernel/head_64.S 2011-08-23 21:47:55.000000000 -0400 13738+++ linux-3.0.8/arch/x86/kernel/head_64.S 2011-08-23 21:47:55.000000000 -0400
13558@@ -19,6 +19,7 @@ 13739@@ -19,6 +19,7 @@
13559 #include <asm/cache.h> 13740 #include <asm/cache.h>
13560 #include <asm/processor-flags.h> 13741 #include <asm/processor-flags.h>
@@ -13824,9 +14005,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/head_64.S linux-3.0.7/arch/x86/kernel/hea
13824 14005
13825 __PAGE_ALIGNED_BSS 14006 __PAGE_ALIGNED_BSS
13826 .align PAGE_SIZE 14007 .align PAGE_SIZE
13827diff -urNp linux-3.0.7/arch/x86/kernel/i386_ksyms_32.c linux-3.0.7/arch/x86/kernel/i386_ksyms_32.c 14008diff -urNp linux-3.0.8/arch/x86/kernel/i386_ksyms_32.c linux-3.0.8/arch/x86/kernel/i386_ksyms_32.c
13828--- linux-3.0.7/arch/x86/kernel/i386_ksyms_32.c 2011-07-21 22:17:23.000000000 -0400 14009--- linux-3.0.8/arch/x86/kernel/i386_ksyms_32.c 2011-07-21 22:17:23.000000000 -0400
13829+++ linux-3.0.7/arch/x86/kernel/i386_ksyms_32.c 2011-08-23 21:47:55.000000000 -0400 14010+++ linux-3.0.8/arch/x86/kernel/i386_ksyms_32.c 2011-08-23 21:47:55.000000000 -0400
13830@@ -20,8 +20,12 @@ extern void cmpxchg8b_emu(void); 14011@@ -20,8 +20,12 @@ extern void cmpxchg8b_emu(void);
13831 EXPORT_SYMBOL(cmpxchg8b_emu); 14012 EXPORT_SYMBOL(cmpxchg8b_emu);
13832 #endif 14013 #endif
@@ -13848,9 +14029,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/i386_ksyms_32.c linux-3.0.7/arch/x86/kern
13848+#ifdef CONFIG_PAX_KERNEXEC 14029+#ifdef CONFIG_PAX_KERNEXEC
13849+EXPORT_SYMBOL(__LOAD_PHYSICAL_ADDR); 14030+EXPORT_SYMBOL(__LOAD_PHYSICAL_ADDR);
13850+#endif 14031+#endif
13851diff -urNp linux-3.0.7/arch/x86/kernel/i8259.c linux-3.0.7/arch/x86/kernel/i8259.c 14032diff -urNp linux-3.0.8/arch/x86/kernel/i8259.c linux-3.0.8/arch/x86/kernel/i8259.c
13852--- linux-3.0.7/arch/x86/kernel/i8259.c 2011-07-21 22:17:23.000000000 -0400 14033--- linux-3.0.8/arch/x86/kernel/i8259.c 2011-07-21 22:17:23.000000000 -0400
13853+++ linux-3.0.7/arch/x86/kernel/i8259.c 2011-08-23 21:47:55.000000000 -0400 14034+++ linux-3.0.8/arch/x86/kernel/i8259.c 2011-08-23 21:47:55.000000000 -0400
13854@@ -210,7 +210,7 @@ spurious_8259A_irq: 14035@@ -210,7 +210,7 @@ spurious_8259A_irq:
13855 "spurious 8259A interrupt: IRQ%d.\n", irq); 14036 "spurious 8259A interrupt: IRQ%d.\n", irq);
13856 spurious_irq_mask |= irqmask; 14037 spurious_irq_mask |= irqmask;
@@ -13860,9 +14041,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/i8259.c linux-3.0.7/arch/x86/kernel/i8259
13860 /* 14041 /*
13861 * Theoretically we do not have to handle this IRQ, 14042 * Theoretically we do not have to handle this IRQ,
13862 * but in Linux this does not cause problems and is 14043 * but in Linux this does not cause problems and is
13863diff -urNp linux-3.0.7/arch/x86/kernel/init_task.c linux-3.0.7/arch/x86/kernel/init_task.c 14044diff -urNp linux-3.0.8/arch/x86/kernel/init_task.c linux-3.0.8/arch/x86/kernel/init_task.c
13864--- linux-3.0.7/arch/x86/kernel/init_task.c 2011-07-21 22:17:23.000000000 -0400 14045--- linux-3.0.8/arch/x86/kernel/init_task.c 2011-07-21 22:17:23.000000000 -0400
13865+++ linux-3.0.7/arch/x86/kernel/init_task.c 2011-08-23 21:47:55.000000000 -0400 14046+++ linux-3.0.8/arch/x86/kernel/init_task.c 2011-08-23 21:47:55.000000000 -0400
13866@@ -20,8 +20,7 @@ static struct sighand_struct init_sighan 14047@@ -20,8 +20,7 @@ static struct sighand_struct init_sighan
13867 * way process stacks are handled. This is done by having a special 14048 * way process stacks are handled. This is done by having a special
13868 * "init_task" linker map entry.. 14049 * "init_task" linker map entry..
@@ -13881,9 +14062,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/init_task.c linux-3.0.7/arch/x86/kernel/i
13881- 14062-
13882+struct tss_struct init_tss[NR_CPUS] ____cacheline_internodealigned_in_smp = { [0 ... NR_CPUS-1] = INIT_TSS }; 14063+struct tss_struct init_tss[NR_CPUS] ____cacheline_internodealigned_in_smp = { [0 ... NR_CPUS-1] = INIT_TSS };
13883+EXPORT_SYMBOL(init_tss); 14064+EXPORT_SYMBOL(init_tss);
13884diff -urNp linux-3.0.7/arch/x86/kernel/ioport.c linux-3.0.7/arch/x86/kernel/ioport.c 14065diff -urNp linux-3.0.8/arch/x86/kernel/ioport.c linux-3.0.8/arch/x86/kernel/ioport.c
13885--- linux-3.0.7/arch/x86/kernel/ioport.c 2011-07-21 22:17:23.000000000 -0400 14066--- linux-3.0.8/arch/x86/kernel/ioport.c 2011-07-21 22:17:23.000000000 -0400
13886+++ linux-3.0.7/arch/x86/kernel/ioport.c 2011-08-23 21:48:14.000000000 -0400 14067+++ linux-3.0.8/arch/x86/kernel/ioport.c 2011-08-23 21:48:14.000000000 -0400
13887@@ -6,6 +6,7 @@ 14068@@ -6,6 +6,7 @@
13888 #include <linux/sched.h> 14069 #include <linux/sched.h>
13889 #include <linux/kernel.h> 14070 #include <linux/kernel.h>
@@ -13927,46 +14108,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/ioport.c linux-3.0.7/arch/x86/kernel/iopo
13927 if (!capable(CAP_SYS_RAWIO)) 14108 if (!capable(CAP_SYS_RAWIO))
13928 return -EPERM; 14109 return -EPERM;
13929 } 14110 }
13930diff -urNp linux-3.0.7/arch/x86/kernel/irq.c linux-3.0.7/arch/x86/kernel/irq.c 14111diff -urNp linux-3.0.8/arch/x86/kernel/irq_32.c linux-3.0.8/arch/x86/kernel/irq_32.c
13931--- linux-3.0.7/arch/x86/kernel/irq.c 2011-07-21 22:17:23.000000000 -0400 14112--- linux-3.0.8/arch/x86/kernel/irq_32.c 2011-07-21 22:17:23.000000000 -0400
13932+++ linux-3.0.7/arch/x86/kernel/irq.c 2011-08-23 21:47:55.000000000 -0400 14113+++ linux-3.0.8/arch/x86/kernel/irq_32.c 2011-08-23 21:47:55.000000000 -0400
13933@@ -17,7 +17,7 @@
13934 #include <asm/mce.h>
13935 #include <asm/hw_irq.h>
13936
13937-atomic_t irq_err_count;
13938+atomic_unchecked_t irq_err_count;
13939
13940 /* Function pointer for generic interrupt vector handling */
13941 void (*x86_platform_ipi_callback)(void) = NULL;
13942@@ -116,9 +116,9 @@ int arch_show_interrupts(struct seq_file
13943 seq_printf(p, "%10u ", per_cpu(mce_poll_count, j));
13944 seq_printf(p, " Machine check polls\n");
13945 #endif
13946- seq_printf(p, "%*s: %10u\n", prec, "ERR", atomic_read(&irq_err_count));
13947+ seq_printf(p, "%*s: %10u\n", prec, "ERR", atomic_read_unchecked(&irq_err_count));
13948 #if defined(CONFIG_X86_IO_APIC)
13949- seq_printf(p, "%*s: %10u\n", prec, "MIS", atomic_read(&irq_mis_count));
13950+ seq_printf(p, "%*s: %10u\n", prec, "MIS", atomic_read_unchecked(&irq_mis_count));
13951 #endif
13952 return 0;
13953 }
13954@@ -158,10 +158,10 @@ u64 arch_irq_stat_cpu(unsigned int cpu)
13955
13956 u64 arch_irq_stat(void)
13957 {
13958- u64 sum = atomic_read(&irq_err_count);
13959+ u64 sum = atomic_read_unchecked(&irq_err_count);
13960
13961 #ifdef CONFIG_X86_IO_APIC
13962- sum += atomic_read(&irq_mis_count);
13963+ sum += atomic_read_unchecked(&irq_mis_count);
13964 #endif
13965 return sum;
13966 }
13967diff -urNp linux-3.0.7/arch/x86/kernel/irq_32.c linux-3.0.7/arch/x86/kernel/irq_32.c
13968--- linux-3.0.7/arch/x86/kernel/irq_32.c 2011-07-21 22:17:23.000000000 -0400
13969+++ linux-3.0.7/arch/x86/kernel/irq_32.c 2011-08-23 21:47:55.000000000 -0400
13970@@ -36,7 +36,7 @@ static int check_stack_overflow(void) 14114@@ -36,7 +36,7 @@ static int check_stack_overflow(void)
13971 __asm__ __volatile__("andl %%esp,%0" : 14115 __asm__ __volatile__("andl %%esp,%0" :
13972 "=r" (sp) : "0" (THREAD_SIZE - 1)); 14116 "=r" (sp) : "0" (THREAD_SIZE - 1));
@@ -14106,9 +14250,46 @@ diff -urNp linux-3.0.7/arch/x86/kernel/irq_32.c linux-3.0.7/arch/x86/kernel/irq_
14106 /* 14250 /*
14107 * Shouldn't happen, we returned above if in_interrupt(): 14251 * Shouldn't happen, we returned above if in_interrupt():
14108 */ 14252 */
14109diff -urNp linux-3.0.7/arch/x86/kernel/kgdb.c linux-3.0.7/arch/x86/kernel/kgdb.c 14253diff -urNp linux-3.0.8/arch/x86/kernel/irq.c linux-3.0.8/arch/x86/kernel/irq.c
14110--- linux-3.0.7/arch/x86/kernel/kgdb.c 2011-07-21 22:17:23.000000000 -0400 14254--- linux-3.0.8/arch/x86/kernel/irq.c 2011-07-21 22:17:23.000000000 -0400
14111+++ linux-3.0.7/arch/x86/kernel/kgdb.c 2011-08-23 21:47:55.000000000 -0400 14255+++ linux-3.0.8/arch/x86/kernel/irq.c 2011-08-23 21:47:55.000000000 -0400
14256@@ -17,7 +17,7 @@
14257 #include <asm/mce.h>
14258 #include <asm/hw_irq.h>
14259
14260-atomic_t irq_err_count;
14261+atomic_unchecked_t irq_err_count;
14262
14263 /* Function pointer for generic interrupt vector handling */
14264 void (*x86_platform_ipi_callback)(void) = NULL;
14265@@ -116,9 +116,9 @@ int arch_show_interrupts(struct seq_file
14266 seq_printf(p, "%10u ", per_cpu(mce_poll_count, j));
14267 seq_printf(p, " Machine check polls\n");
14268 #endif
14269- seq_printf(p, "%*s: %10u\n", prec, "ERR", atomic_read(&irq_err_count));
14270+ seq_printf(p, "%*s: %10u\n", prec, "ERR", atomic_read_unchecked(&irq_err_count));
14271 #if defined(CONFIG_X86_IO_APIC)
14272- seq_printf(p, "%*s: %10u\n", prec, "MIS", atomic_read(&irq_mis_count));
14273+ seq_printf(p, "%*s: %10u\n", prec, "MIS", atomic_read_unchecked(&irq_mis_count));
14274 #endif
14275 return 0;
14276 }
14277@@ -158,10 +158,10 @@ u64 arch_irq_stat_cpu(unsigned int cpu)
14278
14279 u64 arch_irq_stat(void)
14280 {
14281- u64 sum = atomic_read(&irq_err_count);
14282+ u64 sum = atomic_read_unchecked(&irq_err_count);
14283
14284 #ifdef CONFIG_X86_IO_APIC
14285- sum += atomic_read(&irq_mis_count);
14286+ sum += atomic_read_unchecked(&irq_mis_count);
14287 #endif
14288 return sum;
14289 }
14290diff -urNp linux-3.0.8/arch/x86/kernel/kgdb.c linux-3.0.8/arch/x86/kernel/kgdb.c
14291--- linux-3.0.8/arch/x86/kernel/kgdb.c 2011-07-21 22:17:23.000000000 -0400
14292+++ linux-3.0.8/arch/x86/kernel/kgdb.c 2011-08-23 21:47:55.000000000 -0400
14112@@ -124,11 +124,11 @@ char *dbg_get_reg(int regno, void *mem, 14293@@ -124,11 +124,11 @@ char *dbg_get_reg(int regno, void *mem,
14113 #ifdef CONFIG_X86_32 14294 #ifdef CONFIG_X86_32
14114 switch (regno) { 14295 switch (regno) {
@@ -14147,9 +14328,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/kgdb.c linux-3.0.7/arch/x86/kernel/kgdb.c
14147 if (user_mode(regs)) 14328 if (user_mode(regs))
14148 return single_step_cont(regs, args); 14329 return single_step_cont(regs, args);
14149 break; 14330 break;
14150diff -urNp linux-3.0.7/arch/x86/kernel/kprobes.c linux-3.0.7/arch/x86/kernel/kprobes.c 14331diff -urNp linux-3.0.8/arch/x86/kernel/kprobes.c linux-3.0.8/arch/x86/kernel/kprobes.c
14151--- linux-3.0.7/arch/x86/kernel/kprobes.c 2011-07-21 22:17:23.000000000 -0400 14332--- linux-3.0.8/arch/x86/kernel/kprobes.c 2011-07-21 22:17:23.000000000 -0400
14152+++ linux-3.0.7/arch/x86/kernel/kprobes.c 2011-10-11 10:44:33.000000000 -0400 14333+++ linux-3.0.8/arch/x86/kernel/kprobes.c 2011-10-11 10:44:33.000000000 -0400
14153@@ -115,8 +115,11 @@ static void __kprobes __synthesize_relat 14334@@ -115,8 +115,11 @@ static void __kprobes __synthesize_relat
14154 } __attribute__((packed)) *insn; 14335 } __attribute__((packed)) *insn;
14155 14336
@@ -14293,9 +14474,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/kprobes.c linux-3.0.7/arch/x86/kernel/kpr
14293 RELATIVE_ADDR_SIZE); 14474 RELATIVE_ADDR_SIZE);
14294 14475
14295 insn_buf[0] = RELATIVEJUMP_OPCODE; 14476 insn_buf[0] = RELATIVEJUMP_OPCODE;
14296diff -urNp linux-3.0.7/arch/x86/kernel/kvm.c linux-3.0.7/arch/x86/kernel/kvm.c 14477diff -urNp linux-3.0.8/arch/x86/kernel/kvm.c linux-3.0.8/arch/x86/kernel/kvm.c
14297--- linux-3.0.7/arch/x86/kernel/kvm.c 2011-07-21 22:17:23.000000000 -0400 14478--- linux-3.0.8/arch/x86/kernel/kvm.c 2011-07-21 22:17:23.000000000 -0400
14298+++ linux-3.0.7/arch/x86/kernel/kvm.c 2011-08-24 18:10:12.000000000 -0400 14479+++ linux-3.0.8/arch/x86/kernel/kvm.c 2011-08-24 18:10:12.000000000 -0400
14299@@ -426,6 +426,7 @@ static void __init paravirt_ops_setup(vo 14480@@ -426,6 +426,7 @@ static void __init paravirt_ops_setup(vo
14300 pv_mmu_ops.set_pud = kvm_set_pud; 14481 pv_mmu_ops.set_pud = kvm_set_pud;
14301 #if PAGETABLE_LEVELS == 4 14482 #if PAGETABLE_LEVELS == 4
@@ -14304,9 +14485,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/kvm.c linux-3.0.7/arch/x86/kernel/kvm.c
14304 #endif 14485 #endif
14305 #endif 14486 #endif
14306 pv_mmu_ops.flush_tlb_user = kvm_flush_tlb; 14487 pv_mmu_ops.flush_tlb_user = kvm_flush_tlb;
14307diff -urNp linux-3.0.7/arch/x86/kernel/ldt.c linux-3.0.7/arch/x86/kernel/ldt.c 14488diff -urNp linux-3.0.8/arch/x86/kernel/ldt.c linux-3.0.8/arch/x86/kernel/ldt.c
14308--- linux-3.0.7/arch/x86/kernel/ldt.c 2011-07-21 22:17:23.000000000 -0400 14489--- linux-3.0.8/arch/x86/kernel/ldt.c 2011-07-21 22:17:23.000000000 -0400
14309+++ linux-3.0.7/arch/x86/kernel/ldt.c 2011-08-23 21:47:55.000000000 -0400 14490+++ linux-3.0.8/arch/x86/kernel/ldt.c 2011-08-23 21:47:55.000000000 -0400
14310@@ -67,13 +67,13 @@ static int alloc_ldt(mm_context_t *pc, i 14491@@ -67,13 +67,13 @@ static int alloc_ldt(mm_context_t *pc, i
14311 if (reload) { 14492 if (reload) {
14312 #ifdef CONFIG_SMP 14493 #ifdef CONFIG_SMP
@@ -14371,9 +14552,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/ldt.c linux-3.0.7/arch/x86/kernel/ldt.c
14371 fill_ldt(&ldt, &ldt_info); 14552 fill_ldt(&ldt, &ldt_info);
14372 if (oldmode) 14553 if (oldmode)
14373 ldt.avl = 0; 14554 ldt.avl = 0;
14374diff -urNp linux-3.0.7/arch/x86/kernel/machine_kexec_32.c linux-3.0.7/arch/x86/kernel/machine_kexec_32.c 14555diff -urNp linux-3.0.8/arch/x86/kernel/machine_kexec_32.c linux-3.0.8/arch/x86/kernel/machine_kexec_32.c
14375--- linux-3.0.7/arch/x86/kernel/machine_kexec_32.c 2011-07-21 22:17:23.000000000 -0400 14556--- linux-3.0.8/arch/x86/kernel/machine_kexec_32.c 2011-07-21 22:17:23.000000000 -0400
14376+++ linux-3.0.7/arch/x86/kernel/machine_kexec_32.c 2011-08-23 21:47:55.000000000 -0400 14557+++ linux-3.0.8/arch/x86/kernel/machine_kexec_32.c 2011-08-23 21:47:55.000000000 -0400
14377@@ -27,7 +27,7 @@ 14558@@ -27,7 +27,7 @@
14378 #include <asm/cacheflush.h> 14559 #include <asm/cacheflush.h>
14379 #include <asm/debugreg.h> 14560 #include <asm/debugreg.h>
@@ -14401,9 +14582,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/machine_kexec_32.c linux-3.0.7/arch/x86/k
14401 14582
14402 relocate_kernel_ptr = control_page; 14583 relocate_kernel_ptr = control_page;
14403 page_list[PA_CONTROL_PAGE] = __pa(control_page); 14584 page_list[PA_CONTROL_PAGE] = __pa(control_page);
14404diff -urNp linux-3.0.7/arch/x86/kernel/microcode_intel.c linux-3.0.7/arch/x86/kernel/microcode_intel.c 14585diff -urNp linux-3.0.8/arch/x86/kernel/microcode_intel.c linux-3.0.8/arch/x86/kernel/microcode_intel.c
14405--- linux-3.0.7/arch/x86/kernel/microcode_intel.c 2011-07-21 22:17:23.000000000 -0400 14586--- linux-3.0.8/arch/x86/kernel/microcode_intel.c 2011-07-21 22:17:23.000000000 -0400
14406+++ linux-3.0.7/arch/x86/kernel/microcode_intel.c 2011-10-06 04:17:55.000000000 -0400 14587+++ linux-3.0.8/arch/x86/kernel/microcode_intel.c 2011-10-06 04:17:55.000000000 -0400
14407@@ -440,13 +440,13 @@ static enum ucode_state request_microcod 14588@@ -440,13 +440,13 @@ static enum ucode_state request_microcod
14408 14589
14409 static int get_ucode_user(void *to, const void *from, size_t n) 14590 static int get_ucode_user(void *to, const void *from, size_t n)
@@ -14420,9 +14601,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/microcode_intel.c linux-3.0.7/arch/x86/ke
14420 } 14601 }
14421 14602
14422 static void microcode_fini_cpu(int cpu) 14603 static void microcode_fini_cpu(int cpu)
14423diff -urNp linux-3.0.7/arch/x86/kernel/module.c linux-3.0.7/arch/x86/kernel/module.c 14604diff -urNp linux-3.0.8/arch/x86/kernel/module.c linux-3.0.8/arch/x86/kernel/module.c
14424--- linux-3.0.7/arch/x86/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 14605--- linux-3.0.8/arch/x86/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
14425+++ linux-3.0.7/arch/x86/kernel/module.c 2011-08-23 21:47:55.000000000 -0400 14606+++ linux-3.0.8/arch/x86/kernel/module.c 2011-08-23 21:47:55.000000000 -0400
14426@@ -36,21 +36,66 @@ 14607@@ -36,21 +36,66 @@
14427 #define DEBUGP(fmt...) 14608 #define DEBUGP(fmt...)
14428 #endif 14609 #endif
@@ -14561,21 +14742,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/module.c linux-3.0.7/arch/x86/kernel/modu
14561 #if 0 14742 #if 0
14562 if ((s64)val != *(s32 *)loc) 14743 if ((s64)val != *(s32 *)loc)
14563 goto overflow; 14744 goto overflow;
14564diff -urNp linux-3.0.7/arch/x86/kernel/paravirt-spinlocks.c linux-3.0.7/arch/x86/kernel/paravirt-spinlocks.c 14745diff -urNp linux-3.0.8/arch/x86/kernel/paravirt.c linux-3.0.8/arch/x86/kernel/paravirt.c
14565--- linux-3.0.7/arch/x86/kernel/paravirt-spinlocks.c 2011-07-21 22:17:23.000000000 -0400 14746--- linux-3.0.8/arch/x86/kernel/paravirt.c 2011-07-21 22:17:23.000000000 -0400
14566+++ linux-3.0.7/arch/x86/kernel/paravirt-spinlocks.c 2011-08-23 21:47:55.000000000 -0400 14747+++ linux-3.0.8/arch/x86/kernel/paravirt.c 2011-08-23 21:48:14.000000000 -0400
14567@@ -13,7 +13,7 @@ default_spin_lock_flags(arch_spinlock_t
14568 arch_spin_lock(lock);
14569 }
14570
14571-struct pv_lock_ops pv_lock_ops = {
14572+struct pv_lock_ops pv_lock_ops __read_only = {
14573 #ifdef CONFIG_SMP
14574 .spin_is_locked = __ticket_spin_is_locked,
14575 .spin_is_contended = __ticket_spin_is_contended,
14576diff -urNp linux-3.0.7/arch/x86/kernel/paravirt.c linux-3.0.7/arch/x86/kernel/paravirt.c
14577--- linux-3.0.7/arch/x86/kernel/paravirt.c 2011-07-21 22:17:23.000000000 -0400
14578+++ linux-3.0.7/arch/x86/kernel/paravirt.c 2011-08-23 21:48:14.000000000 -0400
14579@@ -53,6 +53,9 @@ u64 _paravirt_ident_64(u64 x) 14748@@ -53,6 +53,9 @@ u64 _paravirt_ident_64(u64 x)
14580 { 14749 {
14581 return x; 14750 return x;
@@ -14724,9 +14893,21 @@ diff -urNp linux-3.0.7/arch/x86/kernel/paravirt.c linux-3.0.7/arch/x86/kernel/pa
14724 }; 14893 };
14725 14894
14726 EXPORT_SYMBOL_GPL(pv_time_ops); 14895 EXPORT_SYMBOL_GPL(pv_time_ops);
14727diff -urNp linux-3.0.7/arch/x86/kernel/pci-iommu_table.c linux-3.0.7/arch/x86/kernel/pci-iommu_table.c 14896diff -urNp linux-3.0.8/arch/x86/kernel/paravirt-spinlocks.c linux-3.0.8/arch/x86/kernel/paravirt-spinlocks.c
14728--- linux-3.0.7/arch/x86/kernel/pci-iommu_table.c 2011-07-21 22:17:23.000000000 -0400 14897--- linux-3.0.8/arch/x86/kernel/paravirt-spinlocks.c 2011-07-21 22:17:23.000000000 -0400
14729+++ linux-3.0.7/arch/x86/kernel/pci-iommu_table.c 2011-08-23 21:48:14.000000000 -0400 14898+++ linux-3.0.8/arch/x86/kernel/paravirt-spinlocks.c 2011-08-23 21:47:55.000000000 -0400
14899@@ -13,7 +13,7 @@ default_spin_lock_flags(arch_spinlock_t
14900 arch_spin_lock(lock);
14901 }
14902
14903-struct pv_lock_ops pv_lock_ops = {
14904+struct pv_lock_ops pv_lock_ops __read_only = {
14905 #ifdef CONFIG_SMP
14906 .spin_is_locked = __ticket_spin_is_locked,
14907 .spin_is_contended = __ticket_spin_is_contended,
14908diff -urNp linux-3.0.8/arch/x86/kernel/pci-iommu_table.c linux-3.0.8/arch/x86/kernel/pci-iommu_table.c
14909--- linux-3.0.8/arch/x86/kernel/pci-iommu_table.c 2011-07-21 22:17:23.000000000 -0400
14910+++ linux-3.0.8/arch/x86/kernel/pci-iommu_table.c 2011-08-23 21:48:14.000000000 -0400
14730@@ -2,7 +2,7 @@ 14911@@ -2,7 +2,7 @@
14731 #include <asm/iommu_table.h> 14912 #include <asm/iommu_table.h>
14732 #include <linux/string.h> 14913 #include <linux/string.h>
@@ -14745,149 +14926,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/pci-iommu_table.c linux-3.0.7/arch/x86/ke
14745 /* Simple cyclic dependency checker. */ 14926 /* Simple cyclic dependency checker. */
14746 for (p = start; p < finish; p++) { 14927 for (p = start; p < finish; p++) {
14747 q = find_dependents_of(start, finish, p); 14928 q = find_dependents_of(start, finish, p);
14748diff -urNp linux-3.0.7/arch/x86/kernel/process.c linux-3.0.7/arch/x86/kernel/process.c 14929diff -urNp linux-3.0.8/arch/x86/kernel/process_32.c linux-3.0.8/arch/x86/kernel/process_32.c
14749--- linux-3.0.7/arch/x86/kernel/process.c 2011-07-21 22:17:23.000000000 -0400 14930--- linux-3.0.8/arch/x86/kernel/process_32.c 2011-07-21 22:17:23.000000000 -0400
14750+++ linux-3.0.7/arch/x86/kernel/process.c 2011-08-30 18:23:52.000000000 -0400 14931+++ linux-3.0.8/arch/x86/kernel/process_32.c 2011-08-23 21:47:55.000000000 -0400
14751@@ -48,16 +48,33 @@ void free_thread_xstate(struct task_stru
14752
14753 void free_thread_info(struct thread_info *ti)
14754 {
14755- free_thread_xstate(ti->task);
14756 free_pages((unsigned long)ti, get_order(THREAD_SIZE));
14757 }
14758
14759+static struct kmem_cache *task_struct_cachep;
14760+
14761 void arch_task_cache_init(void)
14762 {
14763- task_xstate_cachep =
14764- kmem_cache_create("task_xstate", xstate_size,
14765+ /* create a slab on which task_structs can be allocated */
14766+ task_struct_cachep =
14767+ kmem_cache_create("task_struct", sizeof(struct task_struct),
14768+ ARCH_MIN_TASKALIGN, SLAB_PANIC | SLAB_NOTRACK, NULL);
14769+
14770+ task_xstate_cachep =
14771+ kmem_cache_create("task_xstate", xstate_size,
14772 __alignof__(union thread_xstate),
14773- SLAB_PANIC | SLAB_NOTRACK, NULL);
14774+ SLAB_PANIC | SLAB_NOTRACK | SLAB_USERCOPY, NULL);
14775+}
14776+
14777+struct task_struct *alloc_task_struct_node(int node)
14778+{
14779+ return kmem_cache_alloc_node(task_struct_cachep, GFP_KERNEL, node);
14780+}
14781+
14782+void free_task_struct(struct task_struct *task)
14783+{
14784+ free_thread_xstate(task);
14785+ kmem_cache_free(task_struct_cachep, task);
14786 }
14787
14788 /*
14789@@ -70,7 +87,7 @@ void exit_thread(void)
14790 unsigned long *bp = t->io_bitmap_ptr;
14791
14792 if (bp) {
14793- struct tss_struct *tss = &per_cpu(init_tss, get_cpu());
14794+ struct tss_struct *tss = init_tss + get_cpu();
14795
14796 t->io_bitmap_ptr = NULL;
14797 clear_thread_flag(TIF_IO_BITMAP);
14798@@ -106,7 +123,7 @@ void show_regs_common(void)
14799
14800 printk(KERN_CONT "\n");
14801 printk(KERN_DEFAULT "Pid: %d, comm: %.20s %s %s %.*s",
14802- current->pid, current->comm, print_tainted(),
14803+ task_pid_nr(current), current->comm, print_tainted(),
14804 init_utsname()->release,
14805 (int)strcspn(init_utsname()->version, " "),
14806 init_utsname()->version);
14807@@ -120,6 +137,9 @@ void flush_thread(void)
14808 {
14809 struct task_struct *tsk = current;
14810
14811+#if defined(CONFIG_X86_32) && !defined(CONFIG_CC_STACKPROTECTOR) && !defined(CONFIG_PAX_MEMORY_UDEREF)
14812+ loadsegment(gs, 0);
14813+#endif
14814 flush_ptrace_hw_breakpoint(tsk);
14815 memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array));
14816 /*
14817@@ -282,10 +302,10 @@ int kernel_thread(int (*fn)(void *), voi
14818 regs.di = (unsigned long) arg;
14819
14820 #ifdef CONFIG_X86_32
14821- regs.ds = __USER_DS;
14822- regs.es = __USER_DS;
14823+ regs.ds = __KERNEL_DS;
14824+ regs.es = __KERNEL_DS;
14825 regs.fs = __KERNEL_PERCPU;
14826- regs.gs = __KERNEL_STACK_CANARY;
14827+ savesegment(gs, regs.gs);
14828 #else
14829 regs.ss = __KERNEL_DS;
14830 #endif
14831@@ -403,7 +423,7 @@ void default_idle(void)
14832 EXPORT_SYMBOL(default_idle);
14833 #endif
14834
14835-void stop_this_cpu(void *dummy)
14836+__noreturn void stop_this_cpu(void *dummy)
14837 {
14838 local_irq_disable();
14839 /*
14840@@ -668,16 +688,37 @@ static int __init idle_setup(char *str)
14841 }
14842 early_param("idle", idle_setup);
14843
14844-unsigned long arch_align_stack(unsigned long sp)
14845+#ifdef CONFIG_PAX_RANDKSTACK
14846+void pax_randomize_kstack(struct pt_regs *regs)
14847 {
14848- if (!(current->personality & ADDR_NO_RANDOMIZE) && randomize_va_space)
14849- sp -= get_random_int() % 8192;
14850- return sp & ~0xf;
14851-}
14852+ struct thread_struct *thread = &current->thread;
14853+ unsigned long time;
14854
14855-unsigned long arch_randomize_brk(struct mm_struct *mm)
14856-{
14857- unsigned long range_end = mm->brk + 0x02000000;
14858- return randomize_range(mm->brk, range_end, 0) ? : mm->brk;
14859-}
14860+ if (!randomize_va_space)
14861+ return;
14862+
14863+ if (v8086_mode(regs))
14864+ return;
14865
14866+ rdtscl(time);
14867+
14868+ /* P4 seems to return a 0 LSB, ignore it */
14869+#ifdef CONFIG_MPENTIUM4
14870+ time &= 0x3EUL;
14871+ time <<= 2;
14872+#elif defined(CONFIG_X86_64)
14873+ time &= 0xFUL;
14874+ time <<= 4;
14875+#else
14876+ time &= 0x1FUL;
14877+ time <<= 3;
14878+#endif
14879+
14880+ thread->sp0 ^= time;
14881+ load_sp0(init_tss + smp_processor_id(), thread);
14882+
14883+#ifdef CONFIG_X86_64
14884+ percpu_write(kernel_stack, thread->sp0);
14885+#endif
14886+}
14887+#endif
14888diff -urNp linux-3.0.7/arch/x86/kernel/process_32.c linux-3.0.7/arch/x86/kernel/process_32.c
14889--- linux-3.0.7/arch/x86/kernel/process_32.c 2011-07-21 22:17:23.000000000 -0400
14890+++ linux-3.0.7/arch/x86/kernel/process_32.c 2011-08-23 21:47:55.000000000 -0400
14891@@ -65,6 +65,7 @@ asmlinkage void ret_from_fork(void) __as 14932@@ -65,6 +65,7 @@ asmlinkage void ret_from_fork(void) __as
14892 unsigned long thread_saved_pc(struct task_struct *tsk) 14933 unsigned long thread_saved_pc(struct task_struct *tsk)
14893 { 14934 {
@@ -14974,9 +15015,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/process_32.c linux-3.0.7/arch/x86/kernel/
14974 return 0; 15015 return 0;
14975 } 15016 }
14976- 15017-
14977diff -urNp linux-3.0.7/arch/x86/kernel/process_64.c linux-3.0.7/arch/x86/kernel/process_64.c 15018diff -urNp linux-3.0.8/arch/x86/kernel/process_64.c linux-3.0.8/arch/x86/kernel/process_64.c
14978--- linux-3.0.7/arch/x86/kernel/process_64.c 2011-07-21 22:17:23.000000000 -0400 15019--- linux-3.0.8/arch/x86/kernel/process_64.c 2011-07-21 22:17:23.000000000 -0400
14979+++ linux-3.0.7/arch/x86/kernel/process_64.c 2011-08-23 21:47:55.000000000 -0400 15020+++ linux-3.0.8/arch/x86/kernel/process_64.c 2011-08-23 21:47:55.000000000 -0400
14980@@ -87,7 +87,7 @@ static void __exit_idle(void) 15021@@ -87,7 +87,7 @@ static void __exit_idle(void)
14981 void exit_idle(void) 15022 void exit_idle(void)
14982 { 15023 {
@@ -15041,9 +15082,149 @@ diff -urNp linux-3.0.7/arch/x86/kernel/process_64.c linux-3.0.7/arch/x86/kernel/
15041 return 0; 15082 return 0;
15042 ip = *(u64 *)(fp+8); 15083 ip = *(u64 *)(fp+8);
15043 if (!in_sched_functions(ip)) 15084 if (!in_sched_functions(ip))
15044diff -urNp linux-3.0.7/arch/x86/kernel/ptrace.c linux-3.0.7/arch/x86/kernel/ptrace.c 15085diff -urNp linux-3.0.8/arch/x86/kernel/process.c linux-3.0.8/arch/x86/kernel/process.c
15045--- linux-3.0.7/arch/x86/kernel/ptrace.c 2011-07-21 22:17:23.000000000 -0400 15086--- linux-3.0.8/arch/x86/kernel/process.c 2011-07-21 22:17:23.000000000 -0400
15046+++ linux-3.0.7/arch/x86/kernel/ptrace.c 2011-08-23 21:47:55.000000000 -0400 15087+++ linux-3.0.8/arch/x86/kernel/process.c 2011-08-30 18:23:52.000000000 -0400
15088@@ -48,16 +48,33 @@ void free_thread_xstate(struct task_stru
15089
15090 void free_thread_info(struct thread_info *ti)
15091 {
15092- free_thread_xstate(ti->task);
15093 free_pages((unsigned long)ti, get_order(THREAD_SIZE));
15094 }
15095
15096+static struct kmem_cache *task_struct_cachep;
15097+
15098 void arch_task_cache_init(void)
15099 {
15100- task_xstate_cachep =
15101- kmem_cache_create("task_xstate", xstate_size,
15102+ /* create a slab on which task_structs can be allocated */
15103+ task_struct_cachep =
15104+ kmem_cache_create("task_struct", sizeof(struct task_struct),
15105+ ARCH_MIN_TASKALIGN, SLAB_PANIC | SLAB_NOTRACK, NULL);
15106+
15107+ task_xstate_cachep =
15108+ kmem_cache_create("task_xstate", xstate_size,
15109 __alignof__(union thread_xstate),
15110- SLAB_PANIC | SLAB_NOTRACK, NULL);
15111+ SLAB_PANIC | SLAB_NOTRACK | SLAB_USERCOPY, NULL);
15112+}
15113+
15114+struct task_struct *alloc_task_struct_node(int node)
15115+{
15116+ return kmem_cache_alloc_node(task_struct_cachep, GFP_KERNEL, node);
15117+}
15118+
15119+void free_task_struct(struct task_struct *task)
15120+{
15121+ free_thread_xstate(task);
15122+ kmem_cache_free(task_struct_cachep, task);
15123 }
15124
15125 /*
15126@@ -70,7 +87,7 @@ void exit_thread(void)
15127 unsigned long *bp = t->io_bitmap_ptr;
15128
15129 if (bp) {
15130- struct tss_struct *tss = &per_cpu(init_tss, get_cpu());
15131+ struct tss_struct *tss = init_tss + get_cpu();
15132
15133 t->io_bitmap_ptr = NULL;
15134 clear_thread_flag(TIF_IO_BITMAP);
15135@@ -106,7 +123,7 @@ void show_regs_common(void)
15136
15137 printk(KERN_CONT "\n");
15138 printk(KERN_DEFAULT "Pid: %d, comm: %.20s %s %s %.*s",
15139- current->pid, current->comm, print_tainted(),
15140+ task_pid_nr(current), current->comm, print_tainted(),
15141 init_utsname()->release,
15142 (int)strcspn(init_utsname()->version, " "),
15143 init_utsname()->version);
15144@@ -120,6 +137,9 @@ void flush_thread(void)
15145 {
15146 struct task_struct *tsk = current;
15147
15148+#if defined(CONFIG_X86_32) && !defined(CONFIG_CC_STACKPROTECTOR) && !defined(CONFIG_PAX_MEMORY_UDEREF)
15149+ loadsegment(gs, 0);
15150+#endif
15151 flush_ptrace_hw_breakpoint(tsk);
15152 memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array));
15153 /*
15154@@ -282,10 +302,10 @@ int kernel_thread(int (*fn)(void *), voi
15155 regs.di = (unsigned long) arg;
15156
15157 #ifdef CONFIG_X86_32
15158- regs.ds = __USER_DS;
15159- regs.es = __USER_DS;
15160+ regs.ds = __KERNEL_DS;
15161+ regs.es = __KERNEL_DS;
15162 regs.fs = __KERNEL_PERCPU;
15163- regs.gs = __KERNEL_STACK_CANARY;
15164+ savesegment(gs, regs.gs);
15165 #else
15166 regs.ss = __KERNEL_DS;
15167 #endif
15168@@ -403,7 +423,7 @@ void default_idle(void)
15169 EXPORT_SYMBOL(default_idle);
15170 #endif
15171
15172-void stop_this_cpu(void *dummy)
15173+__noreturn void stop_this_cpu(void *dummy)
15174 {
15175 local_irq_disable();
15176 /*
15177@@ -668,16 +688,37 @@ static int __init idle_setup(char *str)
15178 }
15179 early_param("idle", idle_setup);
15180
15181-unsigned long arch_align_stack(unsigned long sp)
15182+#ifdef CONFIG_PAX_RANDKSTACK
15183+void pax_randomize_kstack(struct pt_regs *regs)
15184 {
15185- if (!(current->personality & ADDR_NO_RANDOMIZE) && randomize_va_space)
15186- sp -= get_random_int() % 8192;
15187- return sp & ~0xf;
15188-}
15189+ struct thread_struct *thread = &current->thread;
15190+ unsigned long time;
15191
15192-unsigned long arch_randomize_brk(struct mm_struct *mm)
15193-{
15194- unsigned long range_end = mm->brk + 0x02000000;
15195- return randomize_range(mm->brk, range_end, 0) ? : mm->brk;
15196-}
15197+ if (!randomize_va_space)
15198+ return;
15199+
15200+ if (v8086_mode(regs))
15201+ return;
15202
15203+ rdtscl(time);
15204+
15205+ /* P4 seems to return a 0 LSB, ignore it */
15206+#ifdef CONFIG_MPENTIUM4
15207+ time &= 0x3EUL;
15208+ time <<= 2;
15209+#elif defined(CONFIG_X86_64)
15210+ time &= 0xFUL;
15211+ time <<= 4;
15212+#else
15213+ time &= 0x1FUL;
15214+ time <<= 3;
15215+#endif
15216+
15217+ thread->sp0 ^= time;
15218+ load_sp0(init_tss + smp_processor_id(), thread);
15219+
15220+#ifdef CONFIG_X86_64
15221+ percpu_write(kernel_stack, thread->sp0);
15222+#endif
15223+}
15224+#endif
15225diff -urNp linux-3.0.8/arch/x86/kernel/ptrace.c linux-3.0.8/arch/x86/kernel/ptrace.c
15226--- linux-3.0.8/arch/x86/kernel/ptrace.c 2011-07-21 22:17:23.000000000 -0400
15227+++ linux-3.0.8/arch/x86/kernel/ptrace.c 2011-08-23 21:47:55.000000000 -0400
15047@@ -821,7 +821,7 @@ long arch_ptrace(struct task_struct *chi 15228@@ -821,7 +821,7 @@ long arch_ptrace(struct task_struct *chi
15048 unsigned long addr, unsigned long data) 15229 unsigned long addr, unsigned long data)
15049 { 15230 {
@@ -15079,9 +15260,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/ptrace.c linux-3.0.7/arch/x86/kernel/ptra
15079 } 15260 }
15080 15261
15081 void user_single_step_siginfo(struct task_struct *tsk, 15262 void user_single_step_siginfo(struct task_struct *tsk,
15082diff -urNp linux-3.0.7/arch/x86/kernel/pvclock.c linux-3.0.7/arch/x86/kernel/pvclock.c 15263diff -urNp linux-3.0.8/arch/x86/kernel/pvclock.c linux-3.0.8/arch/x86/kernel/pvclock.c
15083--- linux-3.0.7/arch/x86/kernel/pvclock.c 2011-07-21 22:17:23.000000000 -0400 15264--- linux-3.0.8/arch/x86/kernel/pvclock.c 2011-07-21 22:17:23.000000000 -0400
15084+++ linux-3.0.7/arch/x86/kernel/pvclock.c 2011-08-23 21:47:55.000000000 -0400 15265+++ linux-3.0.8/arch/x86/kernel/pvclock.c 2011-08-23 21:47:55.000000000 -0400
15085@@ -81,11 +81,11 @@ unsigned long pvclock_tsc_khz(struct pvc 15266@@ -81,11 +81,11 @@ unsigned long pvclock_tsc_khz(struct pvc
15086 return pv_tsc_khz; 15267 return pv_tsc_khz;
15087 } 15268 }
@@ -15110,9 +15291,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/pvclock.c linux-3.0.7/arch/x86/kernel/pvc
15110 } while (unlikely(last != ret)); 15291 } while (unlikely(last != ret));
15111 15292
15112 return ret; 15293 return ret;
15113diff -urNp linux-3.0.7/arch/x86/kernel/reboot.c linux-3.0.7/arch/x86/kernel/reboot.c 15294diff -urNp linux-3.0.8/arch/x86/kernel/reboot.c linux-3.0.8/arch/x86/kernel/reboot.c
15114--- linux-3.0.7/arch/x86/kernel/reboot.c 2011-07-21 22:17:23.000000000 -0400 15295--- linux-3.0.8/arch/x86/kernel/reboot.c 2011-07-21 22:17:23.000000000 -0400
15115+++ linux-3.0.7/arch/x86/kernel/reboot.c 2011-08-23 21:47:55.000000000 -0400 15296+++ linux-3.0.8/arch/x86/kernel/reboot.c 2011-08-23 21:47:55.000000000 -0400
15116@@ -35,7 +35,7 @@ void (*pm_power_off)(void); 15297@@ -35,7 +35,7 @@ void (*pm_power_off)(void);
15117 EXPORT_SYMBOL(pm_power_off); 15298 EXPORT_SYMBOL(pm_power_off);
15118 15299
@@ -15244,9 +15425,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/reboot.c linux-3.0.7/arch/x86/kernel/rebo
15244 } 15425 }
15245 15426
15246 struct machine_ops machine_ops = { 15427 struct machine_ops machine_ops = {
15247diff -urNp linux-3.0.7/arch/x86/kernel/setup.c linux-3.0.7/arch/x86/kernel/setup.c 15428diff -urNp linux-3.0.8/arch/x86/kernel/setup.c linux-3.0.8/arch/x86/kernel/setup.c
15248--- linux-3.0.7/arch/x86/kernel/setup.c 2011-07-21 22:17:23.000000000 -0400 15429--- linux-3.0.8/arch/x86/kernel/setup.c 2011-07-21 22:17:23.000000000 -0400
15249+++ linux-3.0.7/arch/x86/kernel/setup.c 2011-10-06 04:17:55.000000000 -0400 15430+++ linux-3.0.8/arch/x86/kernel/setup.c 2011-10-06 04:17:55.000000000 -0400
15250@@ -447,7 +447,7 @@ static void __init parse_setup_data(void 15431@@ -447,7 +447,7 @@ static void __init parse_setup_data(void
15251 15432
15252 switch (data->type) { 15433 switch (data->type) {
@@ -15285,9 +15466,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/setup.c linux-3.0.7/arch/x86/kernel/setup
15285 data_resource.end = virt_to_phys(_edata)-1; 15466 data_resource.end = virt_to_phys(_edata)-1;
15286 bss_resource.start = virt_to_phys(&__bss_start); 15467 bss_resource.start = virt_to_phys(&__bss_start);
15287 bss_resource.end = virt_to_phys(&__bss_stop)-1; 15468 bss_resource.end = virt_to_phys(&__bss_stop)-1;
15288diff -urNp linux-3.0.7/arch/x86/kernel/setup_percpu.c linux-3.0.7/arch/x86/kernel/setup_percpu.c 15469diff -urNp linux-3.0.8/arch/x86/kernel/setup_percpu.c linux-3.0.8/arch/x86/kernel/setup_percpu.c
15289--- linux-3.0.7/arch/x86/kernel/setup_percpu.c 2011-07-21 22:17:23.000000000 -0400 15470--- linux-3.0.8/arch/x86/kernel/setup_percpu.c 2011-07-21 22:17:23.000000000 -0400
15290+++ linux-3.0.7/arch/x86/kernel/setup_percpu.c 2011-08-23 21:47:55.000000000 -0400 15471+++ linux-3.0.8/arch/x86/kernel/setup_percpu.c 2011-08-23 21:47:55.000000000 -0400
15291@@ -21,19 +21,17 @@ 15472@@ -21,19 +21,17 @@
15292 #include <asm/cpu.h> 15473 #include <asm/cpu.h>
15293 #include <asm/stackprotector.h> 15474 #include <asm/stackprotector.h>
@@ -15351,9 +15532,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/setup_percpu.c linux-3.0.7/arch/x86/kerne
15351 /* 15532 /*
15352 * Up to this point, the boot CPU has been using .init.data 15533 * Up to this point, the boot CPU has been using .init.data
15353 * area. Reload any changed state for the boot CPU. 15534 * area. Reload any changed state for the boot CPU.
15354diff -urNp linux-3.0.7/arch/x86/kernel/signal.c linux-3.0.7/arch/x86/kernel/signal.c 15535diff -urNp linux-3.0.8/arch/x86/kernel/signal.c linux-3.0.8/arch/x86/kernel/signal.c
15355--- linux-3.0.7/arch/x86/kernel/signal.c 2011-07-21 22:17:23.000000000 -0400 15536--- linux-3.0.8/arch/x86/kernel/signal.c 2011-07-21 22:17:23.000000000 -0400
15356+++ linux-3.0.7/arch/x86/kernel/signal.c 2011-08-23 21:48:14.000000000 -0400 15537+++ linux-3.0.8/arch/x86/kernel/signal.c 2011-08-23 21:48:14.000000000 -0400
15357@@ -198,7 +198,7 @@ static unsigned long align_sigframe(unsi 15538@@ -198,7 +198,7 @@ static unsigned long align_sigframe(unsi
15358 * Align the stack pointer according to the i386 ABI, 15539 * Align the stack pointer according to the i386 ABI,
15359 * i.e. so that on function entry ((sp + 4) & 15) == 0. 15540 * i.e. so that on function entry ((sp + 4) & 15) == 0.
@@ -15437,9 +15618,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/signal.c linux-3.0.7/arch/x86/kernel/sign
15437 return; 15618 return;
15438 15619
15439 if (current_thread_info()->status & TS_RESTORE_SIGMASK) 15620 if (current_thread_info()->status & TS_RESTORE_SIGMASK)
15440diff -urNp linux-3.0.7/arch/x86/kernel/smpboot.c linux-3.0.7/arch/x86/kernel/smpboot.c 15621diff -urNp linux-3.0.8/arch/x86/kernel/smpboot.c linux-3.0.8/arch/x86/kernel/smpboot.c
15441--- linux-3.0.7/arch/x86/kernel/smpboot.c 2011-07-21 22:17:23.000000000 -0400 15622--- linux-3.0.8/arch/x86/kernel/smpboot.c 2011-07-21 22:17:23.000000000 -0400
15442+++ linux-3.0.7/arch/x86/kernel/smpboot.c 2011-08-23 21:47:55.000000000 -0400 15623+++ linux-3.0.8/arch/x86/kernel/smpboot.c 2011-08-23 21:47:55.000000000 -0400
15443@@ -709,17 +709,20 @@ static int __cpuinit do_boot_cpu(int api 15624@@ -709,17 +709,20 @@ static int __cpuinit do_boot_cpu(int api
15444 set_idle_for_cpu(cpu, c_idle.idle); 15625 set_idle_for_cpu(cpu, c_idle.idle);
15445 do_rest: 15626 do_rest:
@@ -15477,9 +15658,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/smpboot.c linux-3.0.7/arch/x86/kernel/smp
15477 err = do_boot_cpu(apicid, cpu); 15658 err = do_boot_cpu(apicid, cpu);
15478 if (err) { 15659 if (err) {
15479 pr_debug("do_boot_cpu failed %d\n", err); 15660 pr_debug("do_boot_cpu failed %d\n", err);
15480diff -urNp linux-3.0.7/arch/x86/kernel/step.c linux-3.0.7/arch/x86/kernel/step.c 15661diff -urNp linux-3.0.8/arch/x86/kernel/step.c linux-3.0.8/arch/x86/kernel/step.c
15481--- linux-3.0.7/arch/x86/kernel/step.c 2011-07-21 22:17:23.000000000 -0400 15662--- linux-3.0.8/arch/x86/kernel/step.c 2011-07-21 22:17:23.000000000 -0400
15482+++ linux-3.0.7/arch/x86/kernel/step.c 2011-08-23 21:47:55.000000000 -0400 15663+++ linux-3.0.8/arch/x86/kernel/step.c 2011-08-23 21:47:55.000000000 -0400
15483@@ -27,10 +27,10 @@ unsigned long convert_ip_to_linear(struc 15664@@ -27,10 +27,10 @@ unsigned long convert_ip_to_linear(struc
15484 struct desc_struct *desc; 15665 struct desc_struct *desc;
15485 unsigned long base; 15666 unsigned long base;
@@ -15522,9 +15703,17 @@ diff -urNp linux-3.0.7/arch/x86/kernel/step.c linux-3.0.7/arch/x86/kernel/step.c
15522 /* 32-bit mode: register increment */ 15703 /* 32-bit mode: register increment */
15523 return 0; 15704 return 0;
15524 /* 64-bit mode: REX prefix */ 15705 /* 64-bit mode: REX prefix */
15525diff -urNp linux-3.0.7/arch/x86/kernel/sys_i386_32.c linux-3.0.7/arch/x86/kernel/sys_i386_32.c 15706diff -urNp linux-3.0.8/arch/x86/kernel/syscall_table_32.S linux-3.0.8/arch/x86/kernel/syscall_table_32.S
15526--- linux-3.0.7/arch/x86/kernel/sys_i386_32.c 2011-07-21 22:17:23.000000000 -0400 15707--- linux-3.0.8/arch/x86/kernel/syscall_table_32.S 2011-07-21 22:17:23.000000000 -0400
15527+++ linux-3.0.7/arch/x86/kernel/sys_i386_32.c 2011-08-23 21:47:55.000000000 -0400 15708+++ linux-3.0.8/arch/x86/kernel/syscall_table_32.S 2011-08-23 21:47:55.000000000 -0400
15709@@ -1,3 +1,4 @@
15710+.section .rodata,"a",@progbits
15711 ENTRY(sys_call_table)
15712 .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */
15713 .long sys_exit
15714diff -urNp linux-3.0.8/arch/x86/kernel/sys_i386_32.c linux-3.0.8/arch/x86/kernel/sys_i386_32.c
15715--- linux-3.0.8/arch/x86/kernel/sys_i386_32.c 2011-07-21 22:17:23.000000000 -0400
15716+++ linux-3.0.8/arch/x86/kernel/sys_i386_32.c 2011-08-23 21:47:55.000000000 -0400
15528@@ -24,17 +24,224 @@ 15717@@ -24,17 +24,224 @@
15529 15718
15530 #include <asm/syscalls.h> 15719 #include <asm/syscalls.h>
@@ -15762,9 +15951,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/sys_i386_32.c linux-3.0.7/arch/x86/kernel
15762+ 15951+
15763+ return addr; 15952+ return addr;
15764 } 15953 }
15765diff -urNp linux-3.0.7/arch/x86/kernel/sys_x86_64.c linux-3.0.7/arch/x86/kernel/sys_x86_64.c 15954diff -urNp linux-3.0.8/arch/x86/kernel/sys_x86_64.c linux-3.0.8/arch/x86/kernel/sys_x86_64.c
15766--- linux-3.0.7/arch/x86/kernel/sys_x86_64.c 2011-07-21 22:17:23.000000000 -0400 15955--- linux-3.0.8/arch/x86/kernel/sys_x86_64.c 2011-07-21 22:17:23.000000000 -0400
15767+++ linux-3.0.7/arch/x86/kernel/sys_x86_64.c 2011-08-23 21:47:55.000000000 -0400 15956+++ linux-3.0.8/arch/x86/kernel/sys_x86_64.c 2011-08-23 21:47:55.000000000 -0400
15768@@ -32,8 +32,8 @@ out: 15957@@ -32,8 +32,8 @@ out:
15769 return error; 15958 return error;
15770 } 15959 }
@@ -15902,17 +16091,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/sys_x86_64.c linux-3.0.7/arch/x86/kernel/
15902 mm->cached_hole_size = ~0UL; 16091 mm->cached_hole_size = ~0UL;
15903 16092
15904 return addr; 16093 return addr;
15905diff -urNp linux-3.0.7/arch/x86/kernel/syscall_table_32.S linux-3.0.7/arch/x86/kernel/syscall_table_32.S 16094diff -urNp linux-3.0.8/arch/x86/kernel/tboot.c linux-3.0.8/arch/x86/kernel/tboot.c
15906--- linux-3.0.7/arch/x86/kernel/syscall_table_32.S 2011-07-21 22:17:23.000000000 -0400 16095--- linux-3.0.8/arch/x86/kernel/tboot.c 2011-07-21 22:17:23.000000000 -0400
15907+++ linux-3.0.7/arch/x86/kernel/syscall_table_32.S 2011-08-23 21:47:55.000000000 -0400 16096+++ linux-3.0.8/arch/x86/kernel/tboot.c 2011-08-23 21:47:55.000000000 -0400
15908@@ -1,3 +1,4 @@
15909+.section .rodata,"a",@progbits
15910 ENTRY(sys_call_table)
15911 .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */
15912 .long sys_exit
15913diff -urNp linux-3.0.7/arch/x86/kernel/tboot.c linux-3.0.7/arch/x86/kernel/tboot.c
15914--- linux-3.0.7/arch/x86/kernel/tboot.c 2011-07-21 22:17:23.000000000 -0400
15915+++ linux-3.0.7/arch/x86/kernel/tboot.c 2011-08-23 21:47:55.000000000 -0400
15916@@ -217,7 +217,7 @@ static int tboot_setup_sleep(void) 16097@@ -217,7 +217,7 @@ static int tboot_setup_sleep(void)
15917 16098
15918 void tboot_shutdown(u32 shutdown_type) 16099 void tboot_shutdown(u32 shutdown_type)
@@ -15961,9 +16142,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/tboot.c linux-3.0.7/arch/x86/kernel/tboot
15961 register_hotcpu_notifier(&tboot_cpu_notifier); 16142 register_hotcpu_notifier(&tboot_cpu_notifier);
15962 return 0; 16143 return 0;
15963 } 16144 }
15964diff -urNp linux-3.0.7/arch/x86/kernel/time.c linux-3.0.7/arch/x86/kernel/time.c 16145diff -urNp linux-3.0.8/arch/x86/kernel/time.c linux-3.0.8/arch/x86/kernel/time.c
15965--- linux-3.0.7/arch/x86/kernel/time.c 2011-07-21 22:17:23.000000000 -0400 16146--- linux-3.0.8/arch/x86/kernel/time.c 2011-07-21 22:17:23.000000000 -0400
15966+++ linux-3.0.7/arch/x86/kernel/time.c 2011-08-23 21:47:55.000000000 -0400 16147+++ linux-3.0.8/arch/x86/kernel/time.c 2011-08-23 21:47:55.000000000 -0400
15967@@ -30,9 +30,9 @@ unsigned long profile_pc(struct pt_regs 16148@@ -30,9 +30,9 @@ unsigned long profile_pc(struct pt_regs
15968 { 16149 {
15969 unsigned long pc = instruction_pointer(regs); 16150 unsigned long pc = instruction_pointer(regs);
@@ -15994,9 +16175,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/time.c linux-3.0.7/arch/x86/kernel/time.c
15994 } 16175 }
15995 return pc; 16176 return pc;
15996 } 16177 }
15997diff -urNp linux-3.0.7/arch/x86/kernel/tls.c linux-3.0.7/arch/x86/kernel/tls.c 16178diff -urNp linux-3.0.8/arch/x86/kernel/tls.c linux-3.0.8/arch/x86/kernel/tls.c
15998--- linux-3.0.7/arch/x86/kernel/tls.c 2011-07-21 22:17:23.000000000 -0400 16179--- linux-3.0.8/arch/x86/kernel/tls.c 2011-07-21 22:17:23.000000000 -0400
15999+++ linux-3.0.7/arch/x86/kernel/tls.c 2011-08-23 21:47:55.000000000 -0400 16180+++ linux-3.0.8/arch/x86/kernel/tls.c 2011-08-23 21:47:55.000000000 -0400
16000@@ -85,6 +85,11 @@ int do_set_thread_area(struct task_struc 16181@@ -85,6 +85,11 @@ int do_set_thread_area(struct task_struc
16001 if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX) 16182 if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX)
16002 return -EINVAL; 16183 return -EINVAL;
@@ -16009,9 +16190,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/tls.c linux-3.0.7/arch/x86/kernel/tls.c
16009 set_tls_desc(p, idx, &info, 1); 16190 set_tls_desc(p, idx, &info, 1);
16010 16191
16011 return 0; 16192 return 0;
16012diff -urNp linux-3.0.7/arch/x86/kernel/trampoline_32.S linux-3.0.7/arch/x86/kernel/trampoline_32.S 16193diff -urNp linux-3.0.8/arch/x86/kernel/trampoline_32.S linux-3.0.8/arch/x86/kernel/trampoline_32.S
16013--- linux-3.0.7/arch/x86/kernel/trampoline_32.S 2011-07-21 22:17:23.000000000 -0400 16194--- linux-3.0.8/arch/x86/kernel/trampoline_32.S 2011-07-21 22:17:23.000000000 -0400
16014+++ linux-3.0.7/arch/x86/kernel/trampoline_32.S 2011-08-23 21:47:55.000000000 -0400 16195+++ linux-3.0.8/arch/x86/kernel/trampoline_32.S 2011-08-23 21:47:55.000000000 -0400
16015@@ -32,6 +32,12 @@ 16196@@ -32,6 +32,12 @@
16016 #include <asm/segment.h> 16197 #include <asm/segment.h>
16017 #include <asm/page_types.h> 16198 #include <asm/page_types.h>
@@ -16034,9 +16215,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/trampoline_32.S linux-3.0.7/arch/x86/kern
16034 16215
16035 # These need to be in the same 64K segment as the above; 16216 # These need to be in the same 64K segment as the above;
16036 # hence we don't use the boot_gdt_descr defined in head.S 16217 # hence we don't use the boot_gdt_descr defined in head.S
16037diff -urNp linux-3.0.7/arch/x86/kernel/trampoline_64.S linux-3.0.7/arch/x86/kernel/trampoline_64.S 16218diff -urNp linux-3.0.8/arch/x86/kernel/trampoline_64.S linux-3.0.8/arch/x86/kernel/trampoline_64.S
16038--- linux-3.0.7/arch/x86/kernel/trampoline_64.S 2011-07-21 22:17:23.000000000 -0400 16219--- linux-3.0.8/arch/x86/kernel/trampoline_64.S 2011-07-21 22:17:23.000000000 -0400
16039+++ linux-3.0.7/arch/x86/kernel/trampoline_64.S 2011-08-23 21:47:55.000000000 -0400 16220+++ linux-3.0.8/arch/x86/kernel/trampoline_64.S 2011-08-23 21:47:55.000000000 -0400
16040@@ -90,7 +90,7 @@ startup_32: 16221@@ -90,7 +90,7 @@ startup_32:
16041 movl $__KERNEL_DS, %eax # Initialize the %ds segment register 16222 movl $__KERNEL_DS, %eax # Initialize the %ds segment register
16042 movl %eax, %ds 16223 movl %eax, %ds
@@ -16055,9 +16236,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/trampoline_64.S linux-3.0.7/arch/x86/kern
16055 .long tgdt - r_base 16236 .long tgdt - r_base
16056 .short 0 16237 .short 0
16057 .quad 0x00cf9b000000ffff # __KERNEL32_CS 16238 .quad 0x00cf9b000000ffff # __KERNEL32_CS
16058diff -urNp linux-3.0.7/arch/x86/kernel/traps.c linux-3.0.7/arch/x86/kernel/traps.c 16239diff -urNp linux-3.0.8/arch/x86/kernel/traps.c linux-3.0.8/arch/x86/kernel/traps.c
16059--- linux-3.0.7/arch/x86/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400 16240--- linux-3.0.8/arch/x86/kernel/traps.c 2011-07-21 22:17:23.000000000 -0400
16060+++ linux-3.0.7/arch/x86/kernel/traps.c 2011-08-23 21:47:55.000000000 -0400 16241+++ linux-3.0.8/arch/x86/kernel/traps.c 2011-08-23 21:47:55.000000000 -0400
16061@@ -70,12 +70,6 @@ asmlinkage int system_call(void); 16242@@ -70,12 +70,6 @@ asmlinkage int system_call(void);
16062 16243
16063 /* Do we ignore FPU interrupts ? */ 16244 /* Do we ignore FPU interrupts ? */
@@ -16237,9 +16418,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/traps.c linux-3.0.7/arch/x86/kernel/traps
16237 16418
16238 if (!tsk_used_math(tsk)) { 16419 if (!tsk_used_math(tsk)) {
16239 local_irq_enable(); 16420 local_irq_enable();
16240diff -urNp linux-3.0.7/arch/x86/kernel/verify_cpu.S linux-3.0.7/arch/x86/kernel/verify_cpu.S 16421diff -urNp linux-3.0.8/arch/x86/kernel/verify_cpu.S linux-3.0.8/arch/x86/kernel/verify_cpu.S
16241--- linux-3.0.7/arch/x86/kernel/verify_cpu.S 2011-07-21 22:17:23.000000000 -0400 16422--- linux-3.0.8/arch/x86/kernel/verify_cpu.S 2011-07-21 22:17:23.000000000 -0400
16242+++ linux-3.0.7/arch/x86/kernel/verify_cpu.S 2011-08-23 21:48:14.000000000 -0400 16423+++ linux-3.0.8/arch/x86/kernel/verify_cpu.S 2011-08-23 21:48:14.000000000 -0400
16243@@ -20,6 +20,7 @@ 16424@@ -20,6 +20,7 @@
16244 * arch/x86/boot/compressed/head_64.S: Boot cpu verification 16425 * arch/x86/boot/compressed/head_64.S: Boot cpu verification
16245 * arch/x86/kernel/trampoline_64.S: secondary processor verification 16426 * arch/x86/kernel/trampoline_64.S: secondary processor verification
@@ -16248,9 +16429,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/verify_cpu.S linux-3.0.7/arch/x86/kernel/
16248 * 16429 *
16249 * verify_cpu, returns the status of longmode and SSE in register %eax. 16430 * verify_cpu, returns the status of longmode and SSE in register %eax.
16250 * 0: Success 1: Failure 16431 * 0: Success 1: Failure
16251diff -urNp linux-3.0.7/arch/x86/kernel/vm86_32.c linux-3.0.7/arch/x86/kernel/vm86_32.c 16432diff -urNp linux-3.0.8/arch/x86/kernel/vm86_32.c linux-3.0.8/arch/x86/kernel/vm86_32.c
16252--- linux-3.0.7/arch/x86/kernel/vm86_32.c 2011-07-21 22:17:23.000000000 -0400 16433--- linux-3.0.8/arch/x86/kernel/vm86_32.c 2011-07-21 22:17:23.000000000 -0400
16253+++ linux-3.0.7/arch/x86/kernel/vm86_32.c 2011-08-23 21:48:14.000000000 -0400 16434+++ linux-3.0.8/arch/x86/kernel/vm86_32.c 2011-08-23 21:48:14.000000000 -0400
16254@@ -41,6 +41,7 @@ 16435@@ -41,6 +41,7 @@
16255 #include <linux/ptrace.h> 16436 #include <linux/ptrace.h>
16256 #include <linux/audit.h> 16437 #include <linux/audit.h>
@@ -16315,9 +16496,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/vm86_32.c linux-3.0.7/arch/x86/kernel/vm8
16315 if (get_user(segoffs, intr_ptr)) 16496 if (get_user(segoffs, intr_ptr))
16316 goto cannot_handle; 16497 goto cannot_handle;
16317 if ((segoffs >> 16) == BIOSSEG) 16498 if ((segoffs >> 16) == BIOSSEG)
16318diff -urNp linux-3.0.7/arch/x86/kernel/vmlinux.lds.S linux-3.0.7/arch/x86/kernel/vmlinux.lds.S 16499diff -urNp linux-3.0.8/arch/x86/kernel/vmlinux.lds.S linux-3.0.8/arch/x86/kernel/vmlinux.lds.S
16319--- linux-3.0.7/arch/x86/kernel/vmlinux.lds.S 2011-07-21 22:17:23.000000000 -0400 16500--- linux-3.0.8/arch/x86/kernel/vmlinux.lds.S 2011-07-21 22:17:23.000000000 -0400
16320+++ linux-3.0.7/arch/x86/kernel/vmlinux.lds.S 2011-08-23 21:47:55.000000000 -0400 16501+++ linux-3.0.8/arch/x86/kernel/vmlinux.lds.S 2011-08-23 21:47:55.000000000 -0400
16321@@ -26,6 +26,13 @@ 16502@@ -26,6 +26,13 @@
16322 #include <asm/page_types.h> 16503 #include <asm/page_types.h>
16323 #include <asm/cache.h> 16504 #include <asm/cache.h>
@@ -16580,9 +16761,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/vmlinux.lds.S linux-3.0.7/arch/x86/kernel
16580 "kernel image bigger than KERNEL_IMAGE_SIZE"); 16761 "kernel image bigger than KERNEL_IMAGE_SIZE");
16581 16762
16582 #ifdef CONFIG_SMP 16763 #ifdef CONFIG_SMP
16583diff -urNp linux-3.0.7/arch/x86/kernel/vsyscall_64.c linux-3.0.7/arch/x86/kernel/vsyscall_64.c 16764diff -urNp linux-3.0.8/arch/x86/kernel/vsyscall_64.c linux-3.0.8/arch/x86/kernel/vsyscall_64.c
16584--- linux-3.0.7/arch/x86/kernel/vsyscall_64.c 2011-07-21 22:17:23.000000000 -0400 16765--- linux-3.0.8/arch/x86/kernel/vsyscall_64.c 2011-07-21 22:17:23.000000000 -0400
16585+++ linux-3.0.7/arch/x86/kernel/vsyscall_64.c 2011-08-23 21:47:55.000000000 -0400 16766+++ linux-3.0.8/arch/x86/kernel/vsyscall_64.c 2011-08-23 21:47:55.000000000 -0400
16586@@ -53,7 +53,7 @@ DEFINE_VVAR(int, vgetcpu_mode); 16767@@ -53,7 +53,7 @@ DEFINE_VVAR(int, vgetcpu_mode);
16587 DEFINE_VVAR(struct vsyscall_gtod_data, vsyscall_gtod_data) = 16768 DEFINE_VVAR(struct vsyscall_gtod_data, vsyscall_gtod_data) =
16588 { 16769 {
@@ -16601,9 +16782,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/vsyscall_64.c linux-3.0.7/arch/x86/kernel
16601 .proc_handler = proc_dointvec }, 16782 .proc_handler = proc_dointvec },
16602 {} 16783 {}
16603 }; 16784 };
16604diff -urNp linux-3.0.7/arch/x86/kernel/x8664_ksyms_64.c linux-3.0.7/arch/x86/kernel/x8664_ksyms_64.c 16785diff -urNp linux-3.0.8/arch/x86/kernel/x8664_ksyms_64.c linux-3.0.8/arch/x86/kernel/x8664_ksyms_64.c
16605--- linux-3.0.7/arch/x86/kernel/x8664_ksyms_64.c 2011-07-21 22:17:23.000000000 -0400 16786--- linux-3.0.8/arch/x86/kernel/x8664_ksyms_64.c 2011-07-21 22:17:23.000000000 -0400
16606+++ linux-3.0.7/arch/x86/kernel/x8664_ksyms_64.c 2011-08-23 21:47:55.000000000 -0400 16787+++ linux-3.0.8/arch/x86/kernel/x8664_ksyms_64.c 2011-08-23 21:47:55.000000000 -0400
16607@@ -29,8 +29,6 @@ EXPORT_SYMBOL(__put_user_8); 16788@@ -29,8 +29,6 @@ EXPORT_SYMBOL(__put_user_8);
16608 EXPORT_SYMBOL(copy_user_generic_string); 16789 EXPORT_SYMBOL(copy_user_generic_string);
16609 EXPORT_SYMBOL(copy_user_generic_unrolled); 16790 EXPORT_SYMBOL(copy_user_generic_unrolled);
@@ -16613,9 +16794,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/x8664_ksyms_64.c linux-3.0.7/arch/x86/ker
16613 16794
16614 EXPORT_SYMBOL(copy_page); 16795 EXPORT_SYMBOL(copy_page);
16615 EXPORT_SYMBOL(clear_page); 16796 EXPORT_SYMBOL(clear_page);
16616diff -urNp linux-3.0.7/arch/x86/kernel/xsave.c linux-3.0.7/arch/x86/kernel/xsave.c 16797diff -urNp linux-3.0.8/arch/x86/kernel/xsave.c linux-3.0.8/arch/x86/kernel/xsave.c
16617--- linux-3.0.7/arch/x86/kernel/xsave.c 2011-07-21 22:17:23.000000000 -0400 16798--- linux-3.0.8/arch/x86/kernel/xsave.c 2011-07-21 22:17:23.000000000 -0400
16618+++ linux-3.0.7/arch/x86/kernel/xsave.c 2011-10-06 04:17:55.000000000 -0400 16799+++ linux-3.0.8/arch/x86/kernel/xsave.c 2011-10-06 04:17:55.000000000 -0400
16619@@ -130,7 +130,7 @@ int check_for_xstate(struct i387_fxsave_ 16800@@ -130,7 +130,7 @@ int check_for_xstate(struct i387_fxsave_
16620 fx_sw_user->xstate_size > fx_sw_user->extended_size) 16801 fx_sw_user->xstate_size > fx_sw_user->extended_size)
16621 return -EINVAL; 16802 return -EINVAL;
@@ -16643,9 +16824,9 @@ diff -urNp linux-3.0.7/arch/x86/kernel/xsave.c linux-3.0.7/arch/x86/kernel/xsave
16643 buf); 16824 buf);
16644 if (unlikely(err)) { 16825 if (unlikely(err)) {
16645 /* 16826 /*
16646diff -urNp linux-3.0.7/arch/x86/kvm/emulate.c linux-3.0.7/arch/x86/kvm/emulate.c 16827diff -urNp linux-3.0.8/arch/x86/kvm/emulate.c linux-3.0.8/arch/x86/kvm/emulate.c
16647--- linux-3.0.7/arch/x86/kvm/emulate.c 2011-07-21 22:17:23.000000000 -0400 16828--- linux-3.0.8/arch/x86/kvm/emulate.c 2011-07-21 22:17:23.000000000 -0400
16648+++ linux-3.0.7/arch/x86/kvm/emulate.c 2011-08-23 21:47:55.000000000 -0400 16829+++ linux-3.0.8/arch/x86/kvm/emulate.c 2011-08-23 21:47:55.000000000 -0400
16649@@ -96,7 +96,7 @@ 16830@@ -96,7 +96,7 @@
16650 #define Src2ImmByte (2<<29) 16831 #define Src2ImmByte (2<<29)
16651 #define Src2One (3<<29) 16832 #define Src2One (3<<29)
@@ -16680,9 +16861,9 @@ diff -urNp linux-3.0.7/arch/x86/kvm/emulate.c linux-3.0.7/arch/x86/kvm/emulate.c
16680 switch ((_dst).bytes) { \ 16861 switch ((_dst).bytes) { \
16681 case 1: \ 16862 case 1: \
16682 ____emulate_2op(_op,_src,_dst,_eflags,_bx,_by,"b",u8); \ 16863 ____emulate_2op(_op,_src,_dst,_eflags,_bx,_by,"b",u8); \
16683diff -urNp linux-3.0.7/arch/x86/kvm/lapic.c linux-3.0.7/arch/x86/kvm/lapic.c 16864diff -urNp linux-3.0.8/arch/x86/kvm/lapic.c linux-3.0.8/arch/x86/kvm/lapic.c
16684--- linux-3.0.7/arch/x86/kvm/lapic.c 2011-07-21 22:17:23.000000000 -0400 16865--- linux-3.0.8/arch/x86/kvm/lapic.c 2011-07-21 22:17:23.000000000 -0400
16685+++ linux-3.0.7/arch/x86/kvm/lapic.c 2011-08-23 21:47:55.000000000 -0400 16866+++ linux-3.0.8/arch/x86/kvm/lapic.c 2011-08-23 21:47:55.000000000 -0400
16686@@ -53,7 +53,7 @@ 16867@@ -53,7 +53,7 @@
16687 #define APIC_BUS_CYCLE_NS 1 16868 #define APIC_BUS_CYCLE_NS 1
16688 16869
@@ -16692,9 +16873,9 @@ diff -urNp linux-3.0.7/arch/x86/kvm/lapic.c linux-3.0.7/arch/x86/kvm/lapic.c
16692 16873
16693 #define APIC_LVT_NUM 6 16874 #define APIC_LVT_NUM 6
16694 /* 14 is the version for Xeon and Pentium 8.4.8*/ 16875 /* 14 is the version for Xeon and Pentium 8.4.8*/
16695diff -urNp linux-3.0.7/arch/x86/kvm/mmu.c linux-3.0.7/arch/x86/kvm/mmu.c 16876diff -urNp linux-3.0.8/arch/x86/kvm/mmu.c linux-3.0.8/arch/x86/kvm/mmu.c
16696--- linux-3.0.7/arch/x86/kvm/mmu.c 2011-07-21 22:17:23.000000000 -0400 16877--- linux-3.0.8/arch/x86/kvm/mmu.c 2011-07-21 22:17:23.000000000 -0400
16697+++ linux-3.0.7/arch/x86/kvm/mmu.c 2011-08-23 21:47:55.000000000 -0400 16878+++ linux-3.0.8/arch/x86/kvm/mmu.c 2011-08-23 21:47:55.000000000 -0400
16698@@ -3238,7 +3238,7 @@ void kvm_mmu_pte_write(struct kvm_vcpu * 16879@@ -3238,7 +3238,7 @@ void kvm_mmu_pte_write(struct kvm_vcpu *
16699 16880
16700 pgprintk("%s: gpa %llx bytes %d\n", __func__, gpa, bytes); 16881 pgprintk("%s: gpa %llx bytes %d\n", __func__, gpa, bytes);
@@ -16713,9 +16894,9 @@ diff -urNp linux-3.0.7/arch/x86/kvm/mmu.c linux-3.0.7/arch/x86/kvm/mmu.c
16713 gentry = 0; 16894 gentry = 0;
16714 kvm_mmu_free_some_pages(vcpu); 16895 kvm_mmu_free_some_pages(vcpu);
16715 ++vcpu->kvm->stat.mmu_pte_write; 16896 ++vcpu->kvm->stat.mmu_pte_write;
16716diff -urNp linux-3.0.7/arch/x86/kvm/paging_tmpl.h linux-3.0.7/arch/x86/kvm/paging_tmpl.h 16897diff -urNp linux-3.0.8/arch/x86/kvm/paging_tmpl.h linux-3.0.8/arch/x86/kvm/paging_tmpl.h
16717--- linux-3.0.7/arch/x86/kvm/paging_tmpl.h 2011-07-21 22:17:23.000000000 -0400 16898--- linux-3.0.8/arch/x86/kvm/paging_tmpl.h 2011-07-21 22:17:23.000000000 -0400
16718+++ linux-3.0.7/arch/x86/kvm/paging_tmpl.h 2011-10-06 04:17:55.000000000 -0400 16899+++ linux-3.0.8/arch/x86/kvm/paging_tmpl.h 2011-10-06 04:17:55.000000000 -0400
16719@@ -182,7 +182,7 @@ walk: 16900@@ -182,7 +182,7 @@ walk:
16720 break; 16901 break;
16721 } 16902 }
@@ -16743,9 +16924,9 @@ diff -urNp linux-3.0.7/arch/x86/kvm/paging_tmpl.h linux-3.0.7/arch/x86/kvm/pagin
16743 16924
16744 spin_unlock(&vcpu->kvm->mmu_lock); 16925 spin_unlock(&vcpu->kvm->mmu_lock);
16745 16926
16746diff -urNp linux-3.0.7/arch/x86/kvm/svm.c linux-3.0.7/arch/x86/kvm/svm.c 16927diff -urNp linux-3.0.8/arch/x86/kvm/svm.c linux-3.0.8/arch/x86/kvm/svm.c
16747--- linux-3.0.7/arch/x86/kvm/svm.c 2011-07-21 22:17:23.000000000 -0400 16928--- linux-3.0.8/arch/x86/kvm/svm.c 2011-07-21 22:17:23.000000000 -0400
16748+++ linux-3.0.7/arch/x86/kvm/svm.c 2011-08-23 21:47:55.000000000 -0400 16929+++ linux-3.0.8/arch/x86/kvm/svm.c 2011-08-23 21:47:55.000000000 -0400
16749@@ -3377,7 +3377,11 @@ static void reload_tss(struct kvm_vcpu * 16930@@ -3377,7 +3377,11 @@ static void reload_tss(struct kvm_vcpu *
16750 int cpu = raw_smp_processor_id(); 16931 int cpu = raw_smp_processor_id();
16751 16932
@@ -16769,9 +16950,9 @@ diff -urNp linux-3.0.7/arch/x86/kvm/svm.c linux-3.0.7/arch/x86/kvm/svm.c
16769 reload_tss(vcpu); 16950 reload_tss(vcpu);
16770 16951
16771 local_irq_disable(); 16952 local_irq_disable();
16772diff -urNp linux-3.0.7/arch/x86/kvm/vmx.c linux-3.0.7/arch/x86/kvm/vmx.c 16953diff -urNp linux-3.0.8/arch/x86/kvm/vmx.c linux-3.0.8/arch/x86/kvm/vmx.c
16773--- linux-3.0.7/arch/x86/kvm/vmx.c 2011-07-21 22:17:23.000000000 -0400 16954--- linux-3.0.8/arch/x86/kvm/vmx.c 2011-07-21 22:17:23.000000000 -0400
16774+++ linux-3.0.7/arch/x86/kvm/vmx.c 2011-08-23 21:47:55.000000000 -0400 16955+++ linux-3.0.8/arch/x86/kvm/vmx.c 2011-08-23 21:47:55.000000000 -0400
16775@@ -797,7 +797,11 @@ static void reload_tss(void) 16956@@ -797,7 +797,11 @@ static void reload_tss(void)
16776 struct desc_struct *descs; 16957 struct desc_struct *descs;
16777 16958
@@ -16850,9 +17031,9 @@ diff -urNp linux-3.0.7/arch/x86/kvm/vmx.c linux-3.0.7/arch/x86/kvm/vmx.c
16850 vmx->launched = 1; 17031 vmx->launched = 1;
16851 17032
16852 vmx->exit_reason = vmcs_read32(VM_EXIT_REASON); 17033 vmx->exit_reason = vmcs_read32(VM_EXIT_REASON);
16853diff -urNp linux-3.0.7/arch/x86/kvm/x86.c linux-3.0.7/arch/x86/kvm/x86.c 17034diff -urNp linux-3.0.8/arch/x86/kvm/x86.c linux-3.0.8/arch/x86/kvm/x86.c
16854--- linux-3.0.7/arch/x86/kvm/x86.c 2011-07-21 22:17:23.000000000 -0400 17035--- linux-3.0.8/arch/x86/kvm/x86.c 2011-07-21 22:17:23.000000000 -0400
16855+++ linux-3.0.7/arch/x86/kvm/x86.c 2011-10-06 04:17:55.000000000 -0400 17036+++ linux-3.0.8/arch/x86/kvm/x86.c 2011-10-06 04:17:55.000000000 -0400
16856@@ -1313,8 +1313,8 @@ static int xen_hvm_config(struct kvm_vcp 17037@@ -1313,8 +1313,8 @@ static int xen_hvm_config(struct kvm_vcp
16857 { 17038 {
16858 struct kvm *kvm = vcpu->kvm; 17039 struct kvm *kvm = vcpu->kvm;
@@ -16938,9 +17119,9 @@ diff -urNp linux-3.0.7/arch/x86/kvm/x86.c linux-3.0.7/arch/x86/kvm/x86.c
16938 { 17119 {
16939 int r; 17120 int r;
16940 struct kvm_x86_ops *ops = (struct kvm_x86_ops *)opaque; 17121 struct kvm_x86_ops *ops = (struct kvm_x86_ops *)opaque;
16941diff -urNp linux-3.0.7/arch/x86/lguest/boot.c linux-3.0.7/arch/x86/lguest/boot.c 17122diff -urNp linux-3.0.8/arch/x86/lguest/boot.c linux-3.0.8/arch/x86/lguest/boot.c
16942--- linux-3.0.7/arch/x86/lguest/boot.c 2011-07-21 22:17:23.000000000 -0400 17123--- linux-3.0.8/arch/x86/lguest/boot.c 2011-07-21 22:17:23.000000000 -0400
16943+++ linux-3.0.7/arch/x86/lguest/boot.c 2011-08-23 21:47:55.000000000 -0400 17124+++ linux-3.0.8/arch/x86/lguest/boot.c 2011-08-23 21:47:55.000000000 -0400
16944@@ -1176,9 +1176,10 @@ static __init int early_put_chars(u32 vt 17125@@ -1176,9 +1176,10 @@ static __init int early_put_chars(u32 vt
16945 * Rebooting also tells the Host we're finished, but the RESTART flag tells the 17126 * Rebooting also tells the Host we're finished, but the RESTART flag tells the
16946 * Launcher to reboot us. 17127 * Launcher to reboot us.
@@ -16953,9 +17134,9 @@ diff -urNp linux-3.0.7/arch/x86/lguest/boot.c linux-3.0.7/arch/x86/lguest/boot.c
16953 } 17134 }
16954 17135
16955 /*G:050 17136 /*G:050
16956diff -urNp linux-3.0.7/arch/x86/lib/atomic64_32.c linux-3.0.7/arch/x86/lib/atomic64_32.c 17137diff -urNp linux-3.0.8/arch/x86/lib/atomic64_32.c linux-3.0.8/arch/x86/lib/atomic64_32.c
16957--- linux-3.0.7/arch/x86/lib/atomic64_32.c 2011-07-21 22:17:23.000000000 -0400 17138--- linux-3.0.8/arch/x86/lib/atomic64_32.c 2011-07-21 22:17:23.000000000 -0400
16958+++ linux-3.0.7/arch/x86/lib/atomic64_32.c 2011-08-23 21:47:55.000000000 -0400 17139+++ linux-3.0.8/arch/x86/lib/atomic64_32.c 2011-08-23 21:47:55.000000000 -0400
16959@@ -8,18 +8,30 @@ 17140@@ -8,18 +8,30 @@
16960 17141
16961 long long atomic64_read_cx8(long long, const atomic64_t *v); 17142 long long atomic64_read_cx8(long long, const atomic64_t *v);
@@ -17034,9 +17215,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/atomic64_32.c linux-3.0.7/arch/x86/lib/atomi
17034 long long atomic64_dec_if_positive_386(atomic64_t *v); 17215 long long atomic64_dec_if_positive_386(atomic64_t *v);
17035 EXPORT_SYMBOL(atomic64_dec_if_positive_386); 17216 EXPORT_SYMBOL(atomic64_dec_if_positive_386);
17036 int atomic64_inc_not_zero_386(atomic64_t *v); 17217 int atomic64_inc_not_zero_386(atomic64_t *v);
17037diff -urNp linux-3.0.7/arch/x86/lib/atomic64_386_32.S linux-3.0.7/arch/x86/lib/atomic64_386_32.S 17218diff -urNp linux-3.0.8/arch/x86/lib/atomic64_386_32.S linux-3.0.8/arch/x86/lib/atomic64_386_32.S
17038--- linux-3.0.7/arch/x86/lib/atomic64_386_32.S 2011-07-21 22:17:23.000000000 -0400 17219--- linux-3.0.8/arch/x86/lib/atomic64_386_32.S 2011-07-21 22:17:23.000000000 -0400
17039+++ linux-3.0.7/arch/x86/lib/atomic64_386_32.S 2011-08-23 21:47:55.000000000 -0400 17220+++ linux-3.0.8/arch/x86/lib/atomic64_386_32.S 2011-08-23 21:47:55.000000000 -0400
17040@@ -48,6 +48,10 @@ BEGIN(read) 17221@@ -48,6 +48,10 @@ BEGIN(read)
17041 movl (v), %eax 17222 movl (v), %eax
17042 movl 4(v), %edx 17223 movl 4(v), %edx
@@ -17292,9 +17473,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/atomic64_386_32.S linux-3.0.7/arch/x86/lib/a
17292 js 1f 17473 js 1f
17293 movl %eax, (v) 17474 movl %eax, (v)
17294 movl %edx, 4(v) 17475 movl %edx, 4(v)
17295diff -urNp linux-3.0.7/arch/x86/lib/atomic64_cx8_32.S linux-3.0.7/arch/x86/lib/atomic64_cx8_32.S 17476diff -urNp linux-3.0.8/arch/x86/lib/atomic64_cx8_32.S linux-3.0.8/arch/x86/lib/atomic64_cx8_32.S
17296--- linux-3.0.7/arch/x86/lib/atomic64_cx8_32.S 2011-07-21 22:17:23.000000000 -0400 17477--- linux-3.0.8/arch/x86/lib/atomic64_cx8_32.S 2011-07-21 22:17:23.000000000 -0400
17297+++ linux-3.0.7/arch/x86/lib/atomic64_cx8_32.S 2011-10-06 04:17:55.000000000 -0400 17478+++ linux-3.0.8/arch/x86/lib/atomic64_cx8_32.S 2011-10-06 04:17:55.000000000 -0400
17298@@ -35,10 +35,20 @@ ENTRY(atomic64_read_cx8) 17479@@ -35,10 +35,20 @@ ENTRY(atomic64_read_cx8)
17299 CFI_STARTPROC 17480 CFI_STARTPROC
17300 17481
@@ -17516,9 +17697,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/atomic64_cx8_32.S linux-3.0.7/arch/x86/lib/a
17516 ret 17697 ret
17517 4: 17698 4:
17518 testl %edx, %edx 17699 testl %edx, %edx
17519diff -urNp linux-3.0.7/arch/x86/lib/checksum_32.S linux-3.0.7/arch/x86/lib/checksum_32.S 17700diff -urNp linux-3.0.8/arch/x86/lib/checksum_32.S linux-3.0.8/arch/x86/lib/checksum_32.S
17520--- linux-3.0.7/arch/x86/lib/checksum_32.S 2011-07-21 22:17:23.000000000 -0400 17701--- linux-3.0.8/arch/x86/lib/checksum_32.S 2011-07-21 22:17:23.000000000 -0400
17521+++ linux-3.0.7/arch/x86/lib/checksum_32.S 2011-08-23 21:47:55.000000000 -0400 17702+++ linux-3.0.8/arch/x86/lib/checksum_32.S 2011-08-23 21:47:55.000000000 -0400
17522@@ -28,7 +28,8 @@ 17703@@ -28,7 +28,8 @@
17523 #include <linux/linkage.h> 17704 #include <linux/linkage.h>
17524 #include <asm/dwarf2.h> 17705 #include <asm/dwarf2.h>
@@ -17763,9 +17944,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/checksum_32.S linux-3.0.7/arch/x86/lib/check
17763 17944
17764 #undef ROUND 17945 #undef ROUND
17765 #undef ROUND1 17946 #undef ROUND1
17766diff -urNp linux-3.0.7/arch/x86/lib/clear_page_64.S linux-3.0.7/arch/x86/lib/clear_page_64.S 17947diff -urNp linux-3.0.8/arch/x86/lib/clear_page_64.S linux-3.0.8/arch/x86/lib/clear_page_64.S
17767--- linux-3.0.7/arch/x86/lib/clear_page_64.S 2011-07-21 22:17:23.000000000 -0400 17948--- linux-3.0.8/arch/x86/lib/clear_page_64.S 2011-07-21 22:17:23.000000000 -0400
17768+++ linux-3.0.7/arch/x86/lib/clear_page_64.S 2011-10-06 04:17:55.000000000 -0400 17949+++ linux-3.0.8/arch/x86/lib/clear_page_64.S 2011-10-06 04:17:55.000000000 -0400
17769@@ -11,6 +11,7 @@ ENTRY(clear_page_c) 17950@@ -11,6 +11,7 @@ ENTRY(clear_page_c)
17770 movl $4096/8,%ecx 17951 movl $4096/8,%ecx
17771 xorl %eax,%eax 17952 xorl %eax,%eax
@@ -17799,9 +17980,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/clear_page_64.S linux-3.0.7/arch/x86/lib/cle
17799 1: .byte 0xeb /* jmp <disp8> */ 17980 1: .byte 0xeb /* jmp <disp8> */
17800 .byte (clear_page_c - clear_page) - (2f - 1b) /* offset */ 17981 .byte (clear_page_c - clear_page) - (2f - 1b) /* offset */
17801 2: .byte 0xeb /* jmp <disp8> */ 17982 2: .byte 0xeb /* jmp <disp8> */
17802diff -urNp linux-3.0.7/arch/x86/lib/cmpxchg16b_emu.S linux-3.0.7/arch/x86/lib/cmpxchg16b_emu.S 17983diff -urNp linux-3.0.8/arch/x86/lib/cmpxchg16b_emu.S linux-3.0.8/arch/x86/lib/cmpxchg16b_emu.S
17803--- linux-3.0.7/arch/x86/lib/cmpxchg16b_emu.S 2011-07-21 22:17:23.000000000 -0400 17984--- linux-3.0.8/arch/x86/lib/cmpxchg16b_emu.S 2011-07-21 22:17:23.000000000 -0400
17804+++ linux-3.0.7/arch/x86/lib/cmpxchg16b_emu.S 2011-10-07 19:07:28.000000000 -0400 17985+++ linux-3.0.8/arch/x86/lib/cmpxchg16b_emu.S 2011-10-07 19:07:28.000000000 -0400
17805@@ -53,11 +53,13 @@ this_cpu_cmpxchg16b_emu: 17986@@ -53,11 +53,13 @@ this_cpu_cmpxchg16b_emu:
17806 17987
17807 popf 17988 popf
@@ -17816,9 +17997,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/cmpxchg16b_emu.S linux-3.0.7/arch/x86/lib/cm
17816 ret 17997 ret
17817 17998
17818 CFI_ENDPROC 17999 CFI_ENDPROC
17819diff -urNp linux-3.0.7/arch/x86/lib/copy_page_64.S linux-3.0.7/arch/x86/lib/copy_page_64.S 18000diff -urNp linux-3.0.8/arch/x86/lib/copy_page_64.S linux-3.0.8/arch/x86/lib/copy_page_64.S
17820--- linux-3.0.7/arch/x86/lib/copy_page_64.S 2011-07-21 22:17:23.000000000 -0400 18001--- linux-3.0.8/arch/x86/lib/copy_page_64.S 2011-07-21 22:17:23.000000000 -0400
17821+++ linux-3.0.7/arch/x86/lib/copy_page_64.S 2011-10-06 04:17:55.000000000 -0400 18002+++ linux-3.0.8/arch/x86/lib/copy_page_64.S 2011-10-06 04:17:55.000000000 -0400
17822@@ -2,12 +2,14 @@ 18003@@ -2,12 +2,14 @@
17823 18004
17824 #include <linux/linkage.h> 18005 #include <linux/linkage.h>
@@ -17851,9 +18032,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/copy_page_64.S linux-3.0.7/arch/x86/lib/copy
17851 1: .byte 0xeb /* jmp <disp8> */ 18032 1: .byte 0xeb /* jmp <disp8> */
17852 .byte (copy_page_c - copy_page) - (2f - 1b) /* offset */ 18033 .byte (copy_page_c - copy_page) - (2f - 1b) /* offset */
17853 2: 18034 2:
17854diff -urNp linux-3.0.7/arch/x86/lib/copy_user_64.S linux-3.0.7/arch/x86/lib/copy_user_64.S 18035diff -urNp linux-3.0.8/arch/x86/lib/copy_user_64.S linux-3.0.8/arch/x86/lib/copy_user_64.S
17855--- linux-3.0.7/arch/x86/lib/copy_user_64.S 2011-07-21 22:17:23.000000000 -0400 18036--- linux-3.0.8/arch/x86/lib/copy_user_64.S 2011-07-21 22:17:23.000000000 -0400
17856+++ linux-3.0.7/arch/x86/lib/copy_user_64.S 2011-10-06 04:17:55.000000000 -0400 18037+++ linux-3.0.8/arch/x86/lib/copy_user_64.S 2011-10-06 04:17:55.000000000 -0400
17857@@ -16,6 +16,7 @@ 18038@@ -16,6 +16,7 @@
17858 #include <asm/thread_info.h> 18039 #include <asm/thread_info.h>
17859 #include <asm/cpufeature.h> 18040 #include <asm/cpufeature.h>
@@ -17946,9 +18127,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/copy_user_64.S linux-3.0.7/arch/x86/lib/copy
17946 ret 18127 ret
17947 18128
17948 .section .fixup,"ax" 18129 .section .fixup,"ax"
17949diff -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 18130diff -urNp linux-3.0.8/arch/x86/lib/copy_user_nocache_64.S linux-3.0.8/arch/x86/lib/copy_user_nocache_64.S
17950--- linux-3.0.7/arch/x86/lib/copy_user_nocache_64.S 2011-07-21 22:17:23.000000000 -0400 18131--- linux-3.0.8/arch/x86/lib/copy_user_nocache_64.S 2011-07-21 22:17:23.000000000 -0400
17951+++ linux-3.0.7/arch/x86/lib/copy_user_nocache_64.S 2011-10-06 04:17:55.000000000 -0400 18132+++ linux-3.0.8/arch/x86/lib/copy_user_nocache_64.S 2011-10-06 04:17:55.000000000 -0400
17952@@ -8,12 +8,14 @@ 18133@@ -8,12 +8,14 @@
17953 18134
17954 #include <linux/linkage.h> 18135 #include <linux/linkage.h>
@@ -17988,9 +18169,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/copy_user_nocache_64.S linux-3.0.7/arch/x86/
17988 ret 18169 ret
17989 18170
17990 .section .fixup,"ax" 18171 .section .fixup,"ax"
17991diff -urNp linux-3.0.7/arch/x86/lib/csum-copy_64.S linux-3.0.7/arch/x86/lib/csum-copy_64.S 18172diff -urNp linux-3.0.8/arch/x86/lib/csum-copy_64.S linux-3.0.8/arch/x86/lib/csum-copy_64.S
17992--- linux-3.0.7/arch/x86/lib/csum-copy_64.S 2011-07-21 22:17:23.000000000 -0400 18173--- linux-3.0.8/arch/x86/lib/csum-copy_64.S 2011-07-21 22:17:23.000000000 -0400
17993+++ linux-3.0.7/arch/x86/lib/csum-copy_64.S 2011-10-06 04:17:55.000000000 -0400 18174+++ linux-3.0.8/arch/x86/lib/csum-copy_64.S 2011-10-06 04:17:55.000000000 -0400
17994@@ -8,6 +8,7 @@ 18175@@ -8,6 +8,7 @@
17995 #include <linux/linkage.h> 18176 #include <linux/linkage.h>
17996 #include <asm/dwarf2.h> 18177 #include <asm/dwarf2.h>
@@ -18007,9 +18188,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/csum-copy_64.S linux-3.0.7/arch/x86/lib/csum
18007 ret 18188 ret
18008 CFI_RESTORE_STATE 18189 CFI_RESTORE_STATE
18009 18190
18010diff -urNp linux-3.0.7/arch/x86/lib/csum-wrappers_64.c linux-3.0.7/arch/x86/lib/csum-wrappers_64.c 18191diff -urNp linux-3.0.8/arch/x86/lib/csum-wrappers_64.c linux-3.0.8/arch/x86/lib/csum-wrappers_64.c
18011--- linux-3.0.7/arch/x86/lib/csum-wrappers_64.c 2011-07-21 22:17:23.000000000 -0400 18192--- linux-3.0.8/arch/x86/lib/csum-wrappers_64.c 2011-07-21 22:17:23.000000000 -0400
18012+++ linux-3.0.7/arch/x86/lib/csum-wrappers_64.c 2011-10-06 04:17:55.000000000 -0400 18193+++ linux-3.0.8/arch/x86/lib/csum-wrappers_64.c 2011-10-06 04:17:55.000000000 -0400
18013@@ -52,7 +52,13 @@ csum_partial_copy_from_user(const void _ 18194@@ -52,7 +52,13 @@ csum_partial_copy_from_user(const void _
18014 len -= 2; 18195 len -= 2;
18015 } 18196 }
@@ -18040,9 +18221,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/csum-wrappers_64.c linux-3.0.7/arch/x86/lib/
18040 len, isum, NULL, errp); 18221 len, isum, NULL, errp);
18041 } 18222 }
18042 EXPORT_SYMBOL(csum_partial_copy_to_user); 18223 EXPORT_SYMBOL(csum_partial_copy_to_user);
18043diff -urNp linux-3.0.7/arch/x86/lib/getuser.S linux-3.0.7/arch/x86/lib/getuser.S 18224diff -urNp linux-3.0.8/arch/x86/lib/getuser.S linux-3.0.8/arch/x86/lib/getuser.S
18044--- linux-3.0.7/arch/x86/lib/getuser.S 2011-07-21 22:17:23.000000000 -0400 18225--- linux-3.0.8/arch/x86/lib/getuser.S 2011-07-21 22:17:23.000000000 -0400
18045+++ linux-3.0.7/arch/x86/lib/getuser.S 2011-10-07 19:07:23.000000000 -0400 18226+++ linux-3.0.8/arch/x86/lib/getuser.S 2011-10-07 19:07:23.000000000 -0400
18046@@ -33,15 +33,38 @@ 18227@@ -33,15 +33,38 @@
18047 #include <asm/asm-offsets.h> 18228 #include <asm/asm-offsets.h>
18048 #include <asm/thread_info.h> 18229 #include <asm/thread_info.h>
@@ -18166,9 +18347,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/getuser.S linux-3.0.7/arch/x86/lib/getuser.S
18166 ret 18347 ret
18167 CFI_ENDPROC 18348 CFI_ENDPROC
18168 END(bad_get_user) 18349 END(bad_get_user)
18169diff -urNp linux-3.0.7/arch/x86/lib/insn.c linux-3.0.7/arch/x86/lib/insn.c 18350diff -urNp linux-3.0.8/arch/x86/lib/insn.c linux-3.0.8/arch/x86/lib/insn.c
18170--- linux-3.0.7/arch/x86/lib/insn.c 2011-07-21 22:17:23.000000000 -0400 18351--- linux-3.0.8/arch/x86/lib/insn.c 2011-07-21 22:17:23.000000000 -0400
18171+++ linux-3.0.7/arch/x86/lib/insn.c 2011-08-23 21:47:55.000000000 -0400 18352+++ linux-3.0.8/arch/x86/lib/insn.c 2011-08-23 21:47:55.000000000 -0400
18172@@ -21,6 +21,11 @@ 18353@@ -21,6 +21,11 @@
18173 #include <linux/string.h> 18354 #include <linux/string.h>
18174 #include <asm/inat.h> 18355 #include <asm/inat.h>
@@ -18192,9 +18373,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/insn.c linux-3.0.7/arch/x86/lib/insn.c
18192 insn->x86_64 = x86_64 ? 1 : 0; 18373 insn->x86_64 = x86_64 ? 1 : 0;
18193 insn->opnd_bytes = 4; 18374 insn->opnd_bytes = 4;
18194 if (x86_64) 18375 if (x86_64)
18195diff -urNp linux-3.0.7/arch/x86/lib/iomap_copy_64.S linux-3.0.7/arch/x86/lib/iomap_copy_64.S 18376diff -urNp linux-3.0.8/arch/x86/lib/iomap_copy_64.S linux-3.0.8/arch/x86/lib/iomap_copy_64.S
18196--- linux-3.0.7/arch/x86/lib/iomap_copy_64.S 2011-07-21 22:17:23.000000000 -0400 18377--- linux-3.0.8/arch/x86/lib/iomap_copy_64.S 2011-07-21 22:17:23.000000000 -0400
18197+++ linux-3.0.7/arch/x86/lib/iomap_copy_64.S 2011-10-06 04:17:55.000000000 -0400 18378+++ linux-3.0.8/arch/x86/lib/iomap_copy_64.S 2011-10-06 04:17:55.000000000 -0400
18198@@ -17,6 +17,7 @@ 18379@@ -17,6 +17,7 @@
18199 18380
18200 #include <linux/linkage.h> 18381 #include <linux/linkage.h>
@@ -18211,9 +18392,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/iomap_copy_64.S linux-3.0.7/arch/x86/lib/iom
18211 ret 18392 ret
18212 CFI_ENDPROC 18393 CFI_ENDPROC
18213 ENDPROC(__iowrite32_copy) 18394 ENDPROC(__iowrite32_copy)
18214diff -urNp linux-3.0.7/arch/x86/lib/memcpy_64.S linux-3.0.7/arch/x86/lib/memcpy_64.S 18395diff -urNp linux-3.0.8/arch/x86/lib/memcpy_64.S linux-3.0.8/arch/x86/lib/memcpy_64.S
18215--- linux-3.0.7/arch/x86/lib/memcpy_64.S 2011-07-21 22:17:23.000000000 -0400 18396--- linux-3.0.8/arch/x86/lib/memcpy_64.S 2011-07-21 22:17:23.000000000 -0400
18216+++ linux-3.0.7/arch/x86/lib/memcpy_64.S 2011-10-06 04:17:55.000000000 -0400 18397+++ linux-3.0.8/arch/x86/lib/memcpy_64.S 2011-10-06 04:17:55.000000000 -0400
18217@@ -34,6 +34,7 @@ 18398@@ -34,6 +34,7 @@
18218 rep movsq 18399 rep movsq
18219 movl %edx, %ecx 18400 movl %edx, %ecx
@@ -18262,9 +18443,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/memcpy_64.S linux-3.0.7/arch/x86/lib/memcpy_
18262 retq 18443 retq
18263 CFI_ENDPROC 18444 CFI_ENDPROC
18264 ENDPROC(memcpy) 18445 ENDPROC(memcpy)
18265diff -urNp linux-3.0.7/arch/x86/lib/memmove_64.S linux-3.0.7/arch/x86/lib/memmove_64.S 18446diff -urNp linux-3.0.8/arch/x86/lib/memmove_64.S linux-3.0.8/arch/x86/lib/memmove_64.S
18266--- linux-3.0.7/arch/x86/lib/memmove_64.S 2011-07-21 22:17:23.000000000 -0400 18447--- linux-3.0.8/arch/x86/lib/memmove_64.S 2011-07-21 22:17:23.000000000 -0400
18267+++ linux-3.0.7/arch/x86/lib/memmove_64.S 2011-10-06 04:17:55.000000000 -0400 18448+++ linux-3.0.8/arch/x86/lib/memmove_64.S 2011-10-06 04:17:55.000000000 -0400
18268@@ -9,6 +9,7 @@ 18449@@ -9,6 +9,7 @@
18269 #include <linux/linkage.h> 18450 #include <linux/linkage.h>
18270 #include <asm/dwarf2.h> 18451 #include <asm/dwarf2.h>
@@ -18289,9 +18470,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/memmove_64.S linux-3.0.7/arch/x86/lib/memmov
18289 retq 18470 retq
18290 .Lmemmove_end_forward_efs: 18471 .Lmemmove_end_forward_efs:
18291 .previous 18472 .previous
18292diff -urNp linux-3.0.7/arch/x86/lib/memset_64.S linux-3.0.7/arch/x86/lib/memset_64.S 18473diff -urNp linux-3.0.8/arch/x86/lib/memset_64.S linux-3.0.8/arch/x86/lib/memset_64.S
18293--- linux-3.0.7/arch/x86/lib/memset_64.S 2011-07-21 22:17:23.000000000 -0400 18474--- linux-3.0.8/arch/x86/lib/memset_64.S 2011-07-21 22:17:23.000000000 -0400
18294+++ linux-3.0.7/arch/x86/lib/memset_64.S 2011-10-06 04:17:55.000000000 -0400 18475+++ linux-3.0.8/arch/x86/lib/memset_64.S 2011-10-06 04:17:55.000000000 -0400
18295@@ -31,6 +31,7 @@ 18476@@ -31,6 +31,7 @@
18296 movl %r8d,%ecx 18477 movl %r8d,%ecx
18297 rep stosb 18478 rep stosb
@@ -18316,9 +18497,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/memset_64.S linux-3.0.7/arch/x86/lib/memset_
18316 ret 18497 ret
18317 18498
18318 CFI_RESTORE_STATE 18499 CFI_RESTORE_STATE
18319diff -urNp linux-3.0.7/arch/x86/lib/mmx_32.c linux-3.0.7/arch/x86/lib/mmx_32.c 18500diff -urNp linux-3.0.8/arch/x86/lib/mmx_32.c linux-3.0.8/arch/x86/lib/mmx_32.c
18320--- linux-3.0.7/arch/x86/lib/mmx_32.c 2011-07-21 22:17:23.000000000 -0400 18501--- linux-3.0.8/arch/x86/lib/mmx_32.c 2011-07-21 22:17:23.000000000 -0400
18321+++ linux-3.0.7/arch/x86/lib/mmx_32.c 2011-08-23 21:47:55.000000000 -0400 18502+++ linux-3.0.8/arch/x86/lib/mmx_32.c 2011-08-23 21:47:55.000000000 -0400
18322@@ -29,6 +29,7 @@ void *_mmx_memcpy(void *to, const void * 18503@@ -29,6 +29,7 @@ void *_mmx_memcpy(void *to, const void *
18323 { 18504 {
18324 void *p; 18505 void *p;
@@ -18634,9 +18815,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/mmx_32.c linux-3.0.7/arch/x86/lib/mmx_32.c
18634 18815
18635 from += 64; 18816 from += 64;
18636 to += 64; 18817 to += 64;
18637diff -urNp linux-3.0.7/arch/x86/lib/msr-reg.S linux-3.0.7/arch/x86/lib/msr-reg.S 18818diff -urNp linux-3.0.8/arch/x86/lib/msr-reg.S linux-3.0.8/arch/x86/lib/msr-reg.S
18638--- linux-3.0.7/arch/x86/lib/msr-reg.S 2011-07-21 22:17:23.000000000 -0400 18819--- linux-3.0.8/arch/x86/lib/msr-reg.S 2011-07-21 22:17:23.000000000 -0400
18639+++ linux-3.0.7/arch/x86/lib/msr-reg.S 2011-10-07 19:07:28.000000000 -0400 18820+++ linux-3.0.8/arch/x86/lib/msr-reg.S 2011-10-07 19:07:28.000000000 -0400
18640@@ -3,6 +3,7 @@ 18821@@ -3,6 +3,7 @@
18641 #include <asm/dwarf2.h> 18822 #include <asm/dwarf2.h>
18642 #include <asm/asm.h> 18823 #include <asm/asm.h>
@@ -18653,9 +18834,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/msr-reg.S linux-3.0.7/arch/x86/lib/msr-reg.S
18653 ret 18834 ret
18654 3: 18835 3:
18655 CFI_RESTORE_STATE 18836 CFI_RESTORE_STATE
18656diff -urNp linux-3.0.7/arch/x86/lib/putuser.S linux-3.0.7/arch/x86/lib/putuser.S 18837diff -urNp linux-3.0.8/arch/x86/lib/putuser.S linux-3.0.8/arch/x86/lib/putuser.S
18657--- linux-3.0.7/arch/x86/lib/putuser.S 2011-07-21 22:17:23.000000000 -0400 18838--- linux-3.0.8/arch/x86/lib/putuser.S 2011-07-21 22:17:23.000000000 -0400
18658+++ linux-3.0.7/arch/x86/lib/putuser.S 2011-10-07 19:07:23.000000000 -0400 18839+++ linux-3.0.8/arch/x86/lib/putuser.S 2011-10-07 19:07:23.000000000 -0400
18659@@ -15,7 +15,9 @@ 18840@@ -15,7 +15,9 @@
18660 #include <asm/thread_info.h> 18841 #include <asm/thread_info.h>
18661 #include <asm/errno.h> 18842 #include <asm/errno.h>
@@ -18795,9 +18976,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/putuser.S linux-3.0.7/arch/x86/lib/putuser.S
18795 #endif 18976 #endif
18796 xor %eax,%eax 18977 xor %eax,%eax
18797 EXIT 18978 EXIT
18798diff -urNp linux-3.0.7/arch/x86/lib/rwlock_64.S linux-3.0.7/arch/x86/lib/rwlock_64.S 18979diff -urNp linux-3.0.8/arch/x86/lib/rwlock_64.S linux-3.0.8/arch/x86/lib/rwlock_64.S
18799--- linux-3.0.7/arch/x86/lib/rwlock_64.S 2011-07-21 22:17:23.000000000 -0400 18980--- linux-3.0.8/arch/x86/lib/rwlock_64.S 2011-07-21 22:17:23.000000000 -0400
18800+++ linux-3.0.7/arch/x86/lib/rwlock_64.S 2011-10-06 04:17:55.000000000 -0400 18981+++ linux-3.0.8/arch/x86/lib/rwlock_64.S 2011-10-06 04:17:55.000000000 -0400
18801@@ -17,6 +17,7 @@ ENTRY(__write_lock_failed) 18982@@ -17,6 +17,7 @@ ENTRY(__write_lock_failed)
18802 LOCK_PREFIX 18983 LOCK_PREFIX
18803 subl $RW_LOCK_BIAS,(%rdi) 18984 subl $RW_LOCK_BIAS,(%rdi)
@@ -18814,9 +18995,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/rwlock_64.S linux-3.0.7/arch/x86/lib/rwlock_
18814 ret 18995 ret
18815 CFI_ENDPROC 18996 CFI_ENDPROC
18816 END(__read_lock_failed) 18997 END(__read_lock_failed)
18817diff -urNp linux-3.0.7/arch/x86/lib/rwsem_64.S linux-3.0.7/arch/x86/lib/rwsem_64.S 18998diff -urNp linux-3.0.8/arch/x86/lib/rwsem_64.S linux-3.0.8/arch/x86/lib/rwsem_64.S
18818--- linux-3.0.7/arch/x86/lib/rwsem_64.S 2011-07-21 22:17:23.000000000 -0400 18999--- linux-3.0.8/arch/x86/lib/rwsem_64.S 2011-07-21 22:17:23.000000000 -0400
18819+++ linux-3.0.7/arch/x86/lib/rwsem_64.S 2011-10-07 10:46:47.000000000 -0400 19000+++ linux-3.0.8/arch/x86/lib/rwsem_64.S 2011-10-07 10:46:47.000000000 -0400
18820@@ -51,6 +51,7 @@ ENTRY(call_rwsem_down_read_failed) 19001@@ -51,6 +51,7 @@ ENTRY(call_rwsem_down_read_failed)
18821 popq_cfi %rdx 19002 popq_cfi %rdx
18822 CFI_RESTORE rdx 19003 CFI_RESTORE rdx
@@ -18851,9 +19032,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/rwsem_64.S linux-3.0.7/arch/x86/lib/rwsem_64
18851 ret 19032 ret
18852 CFI_ENDPROC 19033 CFI_ENDPROC
18853 ENDPROC(call_rwsem_downgrade_wake) 19034 ENDPROC(call_rwsem_downgrade_wake)
18854diff -urNp linux-3.0.7/arch/x86/lib/thunk_64.S linux-3.0.7/arch/x86/lib/thunk_64.S 19035diff -urNp linux-3.0.8/arch/x86/lib/thunk_64.S linux-3.0.8/arch/x86/lib/thunk_64.S
18855--- linux-3.0.7/arch/x86/lib/thunk_64.S 2011-07-21 22:17:23.000000000 -0400 19036--- linux-3.0.8/arch/x86/lib/thunk_64.S 2011-07-21 22:17:23.000000000 -0400
18856+++ linux-3.0.7/arch/x86/lib/thunk_64.S 2011-10-06 04:17:55.000000000 -0400 19037+++ linux-3.0.8/arch/x86/lib/thunk_64.S 2011-10-06 04:17:55.000000000 -0400
18857@@ -10,7 +10,8 @@ 19038@@ -10,7 +10,8 @@
18858 #include <asm/dwarf2.h> 19039 #include <asm/dwarf2.h>
18859 #include <asm/calling.h> 19040 #include <asm/calling.h>
@@ -18872,9 +19053,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/thunk_64.S linux-3.0.7/arch/x86/lib/thunk_64
18872+ pax_force_retaddr 19053+ pax_force_retaddr
18873+ ret 19054+ ret
18874 CFI_ENDPROC 19055 CFI_ENDPROC
18875diff -urNp linux-3.0.7/arch/x86/lib/usercopy_32.c linux-3.0.7/arch/x86/lib/usercopy_32.c 19056diff -urNp linux-3.0.8/arch/x86/lib/usercopy_32.c linux-3.0.8/arch/x86/lib/usercopy_32.c
18876--- linux-3.0.7/arch/x86/lib/usercopy_32.c 2011-07-21 22:17:23.000000000 -0400 19057--- linux-3.0.8/arch/x86/lib/usercopy_32.c 2011-07-21 22:17:23.000000000 -0400
18877+++ linux-3.0.7/arch/x86/lib/usercopy_32.c 2011-08-23 21:47:55.000000000 -0400 19058+++ linux-3.0.8/arch/x86/lib/usercopy_32.c 2011-08-23 21:47:55.000000000 -0400
18878@@ -43,7 +43,7 @@ do { \ 19059@@ -43,7 +43,7 @@ do { \
18879 __asm__ __volatile__( \ 19060 __asm__ __volatile__( \
18880 " testl %1,%1\n" \ 19061 " testl %1,%1\n" \
@@ -19495,9 +19676,9 @@ diff -urNp linux-3.0.7/arch/x86/lib/usercopy_32.c linux-3.0.7/arch/x86/lib/userc
19495+} 19676+}
19496+EXPORT_SYMBOL(set_fs); 19677+EXPORT_SYMBOL(set_fs);
19497+#endif 19678+#endif
19498diff -urNp linux-3.0.7/arch/x86/lib/usercopy_64.c linux-3.0.7/arch/x86/lib/usercopy_64.c 19679diff -urNp linux-3.0.8/arch/x86/lib/usercopy_64.c linux-3.0.8/arch/x86/lib/usercopy_64.c
19499--- linux-3.0.7/arch/x86/lib/usercopy_64.c 2011-07-21 22:17:23.000000000 -0400 19680--- linux-3.0.8/arch/x86/lib/usercopy_64.c 2011-07-21 22:17:23.000000000 -0400
19500+++ linux-3.0.7/arch/x86/lib/usercopy_64.c 2011-10-06 04:17:55.000000000 -0400 19681+++ linux-3.0.8/arch/x86/lib/usercopy_64.c 2011-10-06 04:17:55.000000000 -0400
19501@@ -42,6 +42,12 @@ long 19682@@ -42,6 +42,12 @@ long
19502 __strncpy_from_user(char *dst, const char __user *src, long count) 19683 __strncpy_from_user(char *dst, const char __user *src, long count)
19503 { 19684 {
@@ -19556,9 +19737,33 @@ diff -urNp linux-3.0.7/arch/x86/lib/usercopy_64.c linux-3.0.7/arch/x86/lib/userc
19556 { 19737 {
19557 char c; 19738 char c;
19558 unsigned zero_len; 19739 unsigned zero_len;
19559diff -urNp linux-3.0.7/arch/x86/mm/extable.c linux-3.0.7/arch/x86/mm/extable.c 19740diff -urNp linux-3.0.8/arch/x86/Makefile linux-3.0.8/arch/x86/Makefile
19560--- linux-3.0.7/arch/x86/mm/extable.c 2011-07-21 22:17:23.000000000 -0400 19741--- linux-3.0.8/arch/x86/Makefile 2011-07-21 22:17:23.000000000 -0400
19561+++ linux-3.0.7/arch/x86/mm/extable.c 2011-08-23 21:47:55.000000000 -0400 19742+++ linux-3.0.8/arch/x86/Makefile 2011-08-23 21:48:14.000000000 -0400
19743@@ -44,6 +44,7 @@ ifeq ($(CONFIG_X86_32),y)
19744 else
19745 BITS := 64
19746 UTS_MACHINE := x86_64
19747+ biarch := $(call cc-option,-m64)
19748 CHECKFLAGS += -D__x86_64__ -m64
19749
19750 KBUILD_AFLAGS += -m64
19751@@ -195,3 +196,12 @@ define archhelp
19752 echo ' FDARGS="..." arguments for the booted kernel'
19753 echo ' FDINITRD=file initrd for the booted kernel'
19754 endef
19755+
19756+define OLD_LD
19757+
19758+*** ${VERSION}.${PATCHLEVEL} PaX kernels no longer build correctly with old versions of binutils.
19759+*** Please upgrade your binutils to 2.18 or newer
19760+endef
19761+
19762+archprepare:
19763+ $(if $(LDFLAGS_BUILD_ID),,$(error $(OLD_LD)))
19764diff -urNp linux-3.0.8/arch/x86/mm/extable.c linux-3.0.8/arch/x86/mm/extable.c
19765--- linux-3.0.8/arch/x86/mm/extable.c 2011-07-21 22:17:23.000000000 -0400
19766+++ linux-3.0.8/arch/x86/mm/extable.c 2011-08-23 21:47:55.000000000 -0400
19562@@ -8,7 +8,7 @@ int fixup_exception(struct pt_regs *regs 19767@@ -8,7 +8,7 @@ int fixup_exception(struct pt_regs *regs
19563 const struct exception_table_entry *fixup; 19768 const struct exception_table_entry *fixup;
19564 19769
@@ -19568,9 +19773,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/extable.c linux-3.0.7/arch/x86/mm/extable.c
19568 extern u32 pnp_bios_fault_eip, pnp_bios_fault_esp; 19773 extern u32 pnp_bios_fault_eip, pnp_bios_fault_esp;
19569 extern u32 pnp_bios_is_utter_crap; 19774 extern u32 pnp_bios_is_utter_crap;
19570 pnp_bios_is_utter_crap = 1; 19775 pnp_bios_is_utter_crap = 1;
19571diff -urNp linux-3.0.7/arch/x86/mm/fault.c linux-3.0.7/arch/x86/mm/fault.c 19776diff -urNp linux-3.0.8/arch/x86/mm/fault.c linux-3.0.8/arch/x86/mm/fault.c
19572--- linux-3.0.7/arch/x86/mm/fault.c 2011-07-21 22:17:23.000000000 -0400 19777--- linux-3.0.8/arch/x86/mm/fault.c 2011-07-21 22:17:23.000000000 -0400
19573+++ linux-3.0.7/arch/x86/mm/fault.c 2011-10-06 04:17:55.000000000 -0400 19778+++ linux-3.0.8/arch/x86/mm/fault.c 2011-10-06 04:17:55.000000000 -0400
19574@@ -13,10 +13,18 @@ 19779@@ -13,10 +13,18 @@
19575 #include <linux/perf_event.h> /* perf_sw_event */ 19780 #include <linux/perf_event.h> /* perf_sw_event */
19576 #include <linux/hugetlb.h> /* hstate_index_to_shift */ 19781 #include <linux/hugetlb.h> /* hstate_index_to_shift */
@@ -20237,9 +20442,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/fault.c linux-3.0.7/arch/x86/mm/fault.c
20237+ 20442+
20238+ return ret ? -EFAULT : 0; 20443+ return ret ? -EFAULT : 0;
20239+} 20444+}
20240diff -urNp linux-3.0.7/arch/x86/mm/gup.c linux-3.0.7/arch/x86/mm/gup.c 20445diff -urNp linux-3.0.8/arch/x86/mm/gup.c linux-3.0.8/arch/x86/mm/gup.c
20241--- linux-3.0.7/arch/x86/mm/gup.c 2011-07-21 22:17:23.000000000 -0400 20446--- linux-3.0.8/arch/x86/mm/gup.c 2011-07-21 22:17:23.000000000 -0400
20242+++ linux-3.0.7/arch/x86/mm/gup.c 2011-08-23 21:47:55.000000000 -0400 20447+++ linux-3.0.8/arch/x86/mm/gup.c 2011-08-23 21:47:55.000000000 -0400
20243@@ -263,7 +263,7 @@ int __get_user_pages_fast(unsigned long 20448@@ -263,7 +263,7 @@ int __get_user_pages_fast(unsigned long
20244 addr = start; 20449 addr = start;
20245 len = (unsigned long) nr_pages << PAGE_SHIFT; 20450 len = (unsigned long) nr_pages << PAGE_SHIFT;
@@ -20249,9 +20454,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/gup.c linux-3.0.7/arch/x86/mm/gup.c
20249 (void __user *)start, len))) 20454 (void __user *)start, len)))
20250 return 0; 20455 return 0;
20251 20456
20252diff -urNp linux-3.0.7/arch/x86/mm/highmem_32.c linux-3.0.7/arch/x86/mm/highmem_32.c 20457diff -urNp linux-3.0.8/arch/x86/mm/highmem_32.c linux-3.0.8/arch/x86/mm/highmem_32.c
20253--- linux-3.0.7/arch/x86/mm/highmem_32.c 2011-07-21 22:17:23.000000000 -0400 20458--- linux-3.0.8/arch/x86/mm/highmem_32.c 2011-07-21 22:17:23.000000000 -0400
20254+++ linux-3.0.7/arch/x86/mm/highmem_32.c 2011-08-23 21:47:55.000000000 -0400 20459+++ linux-3.0.8/arch/x86/mm/highmem_32.c 2011-08-23 21:47:55.000000000 -0400
20255@@ -44,7 +44,10 @@ void *kmap_atomic_prot(struct page *page 20460@@ -44,7 +44,10 @@ void *kmap_atomic_prot(struct page *page
20256 idx = type + KM_TYPE_NR*smp_processor_id(); 20461 idx = type + KM_TYPE_NR*smp_processor_id();
20257 vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); 20462 vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx);
@@ -20263,9 +20468,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/highmem_32.c linux-3.0.7/arch/x86/mm/highmem_
20263 20468
20264 return (void *)vaddr; 20469 return (void *)vaddr;
20265 } 20470 }
20266diff -urNp linux-3.0.7/arch/x86/mm/hugetlbpage.c linux-3.0.7/arch/x86/mm/hugetlbpage.c 20471diff -urNp linux-3.0.8/arch/x86/mm/hugetlbpage.c linux-3.0.8/arch/x86/mm/hugetlbpage.c
20267--- linux-3.0.7/arch/x86/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000 -0400 20472--- linux-3.0.8/arch/x86/mm/hugetlbpage.c 2011-07-21 22:17:23.000000000 -0400
20268+++ linux-3.0.7/arch/x86/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000 -0400 20473+++ linux-3.0.8/arch/x86/mm/hugetlbpage.c 2011-08-23 21:47:55.000000000 -0400
20269@@ -266,13 +266,20 @@ static unsigned long hugetlb_get_unmappe 20474@@ -266,13 +266,20 @@ static unsigned long hugetlb_get_unmappe
20270 struct hstate *h = hstate_file(file); 20475 struct hstate *h = hstate_file(file);
20271 struct mm_struct *mm = current->mm; 20476 struct mm_struct *mm = current->mm;
@@ -20473,144 +20678,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/hugetlbpage.c linux-3.0.7/arch/x86/mm/hugetlb
20473 return addr; 20678 return addr;
20474 } 20679 }
20475 if (mm->get_unmapped_area == arch_get_unmapped_area) 20680 if (mm->get_unmapped_area == arch_get_unmapped_area)
20476diff -urNp linux-3.0.7/arch/x86/mm/init.c linux-3.0.7/arch/x86/mm/init.c 20681diff -urNp linux-3.0.8/arch/x86/mm/init_32.c linux-3.0.8/arch/x86/mm/init_32.c
20477--- linux-3.0.7/arch/x86/mm/init.c 2011-07-21 22:17:23.000000000 -0400 20682--- linux-3.0.8/arch/x86/mm/init_32.c 2011-07-21 22:17:23.000000000 -0400
20478+++ linux-3.0.7/arch/x86/mm/init.c 2011-08-23 21:48:14.000000000 -0400 20683+++ linux-3.0.8/arch/x86/mm/init_32.c 2011-08-23 21:47:55.000000000 -0400
20479@@ -31,7 +31,7 @@ int direct_gbpages
20480 static void __init find_early_table_space(unsigned long end, int use_pse,
20481 int use_gbpages)
20482 {
20483- unsigned long puds, pmds, ptes, tables, start = 0, good_end = end;
20484+ unsigned long puds, pmds, ptes, tables, start = 0x100000, good_end = end;
20485 phys_addr_t base;
20486
20487 puds = (end + PUD_SIZE - 1) >> PUD_SHIFT;
20488@@ -313,12 +313,34 @@ unsigned long __init_refok init_memory_m
20489 */
20490 int devmem_is_allowed(unsigned long pagenr)
20491 {
20492- if (pagenr <= 256)
20493+#ifdef CONFIG_GRKERNSEC_KMEM
20494+ /* allow BDA */
20495+ if (!pagenr)
20496+ return 1;
20497+ /* allow EBDA */
20498+ if ((0x9f000 >> PAGE_SHIFT) == pagenr)
20499+ return 1;
20500+#else
20501+ if (!pagenr)
20502+ return 1;
20503+#ifdef CONFIG_VM86
20504+ if (pagenr < (ISA_START_ADDRESS >> PAGE_SHIFT))
20505+ return 1;
20506+#endif
20507+#endif
20508+
20509+ if ((ISA_START_ADDRESS >> PAGE_SHIFT) <= pagenr && pagenr < (ISA_END_ADDRESS >> PAGE_SHIFT))
20510 return 1;
20511+#ifdef CONFIG_GRKERNSEC_KMEM
20512+ /* throw out everything else below 1MB */
20513+ if (pagenr <= 256)
20514+ return 0;
20515+#endif
20516 if (iomem_is_exclusive(pagenr << PAGE_SHIFT))
20517 return 0;
20518 if (!page_is_ram(pagenr))
20519 return 1;
20520+
20521 return 0;
20522 }
20523
20524@@ -373,6 +395,86 @@ void free_init_pages(char *what, unsigne
20525
20526 void free_initmem(void)
20527 {
20528+
20529+#ifdef CONFIG_PAX_KERNEXEC
20530+#ifdef CONFIG_X86_32
20531+ /* PaX: limit KERNEL_CS to actual size */
20532+ unsigned long addr, limit;
20533+ struct desc_struct d;
20534+ int cpu;
20535+
20536+ limit = paravirt_enabled() ? ktva_ktla(0xffffffff) : (unsigned long)&_etext;
20537+ limit = (limit - 1UL) >> PAGE_SHIFT;
20538+
20539+ memset(__LOAD_PHYSICAL_ADDR + PAGE_OFFSET, POISON_FREE_INITMEM, PAGE_SIZE);
20540+ for (cpu = 0; cpu < NR_CPUS; cpu++) {
20541+ pack_descriptor(&d, get_desc_base(&get_cpu_gdt_table(cpu)[GDT_ENTRY_KERNEL_CS]), limit, 0x9B, 0xC);
20542+ write_gdt_entry(get_cpu_gdt_table(cpu), GDT_ENTRY_KERNEL_CS, &d, DESCTYPE_S);
20543+ }
20544+
20545+ /* PaX: make KERNEL_CS read-only */
20546+ addr = PFN_ALIGN(ktla_ktva((unsigned long)&_text));
20547+ if (!paravirt_enabled())
20548+ set_memory_ro(addr, (PFN_ALIGN(_sdata) - addr) >> PAGE_SHIFT);
20549+/*
20550+ for (addr = ktla_ktva((unsigned long)&_text); addr < (unsigned long)&_sdata; addr += PMD_SIZE) {
20551+ pgd = pgd_offset_k(addr);
20552+ pud = pud_offset(pgd, addr);
20553+ pmd = pmd_offset(pud, addr);
20554+ set_pmd(pmd, __pmd(pmd_val(*pmd) & ~_PAGE_RW));
20555+ }
20556+*/
20557+#ifdef CONFIG_X86_PAE
20558+ set_memory_nx(PFN_ALIGN(__init_begin), (PFN_ALIGN(__init_end) - PFN_ALIGN(__init_begin)) >> PAGE_SHIFT);
20559+/*
20560+ for (addr = (unsigned long)&__init_begin; addr < (unsigned long)&__init_end; addr += PMD_SIZE) {
20561+ pgd = pgd_offset_k(addr);
20562+ pud = pud_offset(pgd, addr);
20563+ pmd = pmd_offset(pud, addr);
20564+ set_pmd(pmd, __pmd(pmd_val(*pmd) | (_PAGE_NX & __supported_pte_mask)));
20565+ }
20566+*/
20567+#endif
20568+
20569+#ifdef CONFIG_MODULES
20570+ set_memory_4k((unsigned long)MODULES_EXEC_VADDR, (MODULES_EXEC_END - MODULES_EXEC_VADDR) >> PAGE_SHIFT);
20571+#endif
20572+
20573+#else
20574+ pgd_t *pgd;
20575+ pud_t *pud;
20576+ pmd_t *pmd;
20577+ unsigned long addr, end;
20578+
20579+ /* PaX: make kernel code/rodata read-only, rest non-executable */
20580+ for (addr = __START_KERNEL_map; addr < __START_KERNEL_map + KERNEL_IMAGE_SIZE; addr += PMD_SIZE) {
20581+ pgd = pgd_offset_k(addr);
20582+ pud = pud_offset(pgd, addr);
20583+ pmd = pmd_offset(pud, addr);
20584+ if (!pmd_present(*pmd))
20585+ continue;
20586+ if ((unsigned long)_text <= addr && addr < (unsigned long)_sdata)
20587+ set_pmd(pmd, __pmd(pmd_val(*pmd) & ~_PAGE_RW));
20588+ else
20589+ set_pmd(pmd, __pmd(pmd_val(*pmd) | (_PAGE_NX & __supported_pte_mask)));
20590+ }
20591+
20592+ addr = (unsigned long)__va(__pa(__START_KERNEL_map));
20593+ end = addr + KERNEL_IMAGE_SIZE;
20594+ for (; addr < end; addr += PMD_SIZE) {
20595+ pgd = pgd_offset_k(addr);
20596+ pud = pud_offset(pgd, addr);
20597+ pmd = pmd_offset(pud, addr);
20598+ if (!pmd_present(*pmd))
20599+ continue;
20600+ if ((unsigned long)__va(__pa(_text)) <= addr && addr < (unsigned long)__va(__pa(_sdata)))
20601+ set_pmd(pmd, __pmd(pmd_val(*pmd) & ~_PAGE_RW));
20602+ }
20603+#endif
20604+
20605+ flush_tlb_all();
20606+#endif
20607+
20608 free_init_pages("unused kernel memory",
20609 (unsigned long)(&__init_begin),
20610 (unsigned long)(&__init_end));
20611diff -urNp linux-3.0.7/arch/x86/mm/init_32.c linux-3.0.7/arch/x86/mm/init_32.c
20612--- linux-3.0.7/arch/x86/mm/init_32.c 2011-07-21 22:17:23.000000000 -0400
20613+++ linux-3.0.7/arch/x86/mm/init_32.c 2011-08-23 21:47:55.000000000 -0400
20614@@ -74,36 +74,6 @@ static __init void *alloc_low_page(void) 20684@@ -74,36 +74,6 @@ static __init void *alloc_low_page(void)
20615 } 20685 }
20616 20686
@@ -20885,9 +20955,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/init_32.c linux-3.0.7/arch/x86/mm/init_32.c
20885 set_pages_ro(virt_to_page(start), size >> PAGE_SHIFT); 20955 set_pages_ro(virt_to_page(start), size >> PAGE_SHIFT);
20886 printk(KERN_INFO "Write protecting the kernel text: %luk\n", 20956 printk(KERN_INFO "Write protecting the kernel text: %luk\n",
20887 size >> 10); 20957 size >> 10);
20888diff -urNp linux-3.0.7/arch/x86/mm/init_64.c linux-3.0.7/arch/x86/mm/init_64.c 20958diff -urNp linux-3.0.8/arch/x86/mm/init_64.c linux-3.0.8/arch/x86/mm/init_64.c
20889--- linux-3.0.7/arch/x86/mm/init_64.c 2011-07-21 22:17:23.000000000 -0400 20959--- linux-3.0.8/arch/x86/mm/init_64.c 2011-07-21 22:17:23.000000000 -0400
20890+++ linux-3.0.7/arch/x86/mm/init_64.c 2011-10-06 04:17:55.000000000 -0400 20960+++ linux-3.0.8/arch/x86/mm/init_64.c 2011-10-06 04:17:55.000000000 -0400
20891@@ -75,7 +75,7 @@ early_param("gbpages", parse_direct_gbpa 20961@@ -75,7 +75,7 @@ early_param("gbpages", parse_direct_gbpa
20892 * around without checking the pgd every time. 20962 * around without checking the pgd every time.
20893 */ 20963 */
@@ -21017,9 +21087,144 @@ diff -urNp linux-3.0.7/arch/x86/mm/init_64.c linux-3.0.7/arch/x86/mm/init_64.c
21017 return "[vdso]"; 21087 return "[vdso]";
21018 if (vma == &gate_vma) 21088 if (vma == &gate_vma)
21019 return "[vsyscall]"; 21089 return "[vsyscall]";
21020diff -urNp linux-3.0.7/arch/x86/mm/iomap_32.c linux-3.0.7/arch/x86/mm/iomap_32.c 21090diff -urNp linux-3.0.8/arch/x86/mm/init.c linux-3.0.8/arch/x86/mm/init.c
21021--- linux-3.0.7/arch/x86/mm/iomap_32.c 2011-07-21 22:17:23.000000000 -0400 21091--- linux-3.0.8/arch/x86/mm/init.c 2011-10-25 09:10:33.000000000 -0400
21022+++ linux-3.0.7/arch/x86/mm/iomap_32.c 2011-08-23 21:47:55.000000000 -0400 21092+++ linux-3.0.8/arch/x86/mm/init.c 2011-10-25 09:10:41.000000000 -0400
21093@@ -31,7 +31,7 @@ int direct_gbpages
21094 static void __init find_early_table_space(unsigned long end, int use_pse,
21095 int use_gbpages)
21096 {
21097- unsigned long puds, pmds, ptes, tables, start = 0, good_end = end;
21098+ unsigned long puds, pmds, ptes, tables, start = 0x100000, good_end = end;
21099 phys_addr_t base;
21100
21101 puds = (end + PUD_SIZE - 1) >> PUD_SHIFT;
21102@@ -312,12 +312,34 @@ unsigned long __init_refok init_memory_m
21103 */
21104 int devmem_is_allowed(unsigned long pagenr)
21105 {
21106- if (pagenr <= 256)
21107+#ifdef CONFIG_GRKERNSEC_KMEM
21108+ /* allow BDA */
21109+ if (!pagenr)
21110+ return 1;
21111+ /* allow EBDA */
21112+ if ((0x9f000 >> PAGE_SHIFT) == pagenr)
21113+ return 1;
21114+#else
21115+ if (!pagenr)
21116+ return 1;
21117+#ifdef CONFIG_VM86
21118+ if (pagenr < (ISA_START_ADDRESS >> PAGE_SHIFT))
21119+ return 1;
21120+#endif
21121+#endif
21122+
21123+ if ((ISA_START_ADDRESS >> PAGE_SHIFT) <= pagenr && pagenr < (ISA_END_ADDRESS >> PAGE_SHIFT))
21124 return 1;
21125+#ifdef CONFIG_GRKERNSEC_KMEM
21126+ /* throw out everything else below 1MB */
21127+ if (pagenr <= 256)
21128+ return 0;
21129+#endif
21130 if (iomem_is_exclusive(pagenr << PAGE_SHIFT))
21131 return 0;
21132 if (!page_is_ram(pagenr))
21133 return 1;
21134+
21135 return 0;
21136 }
21137
21138@@ -372,6 +394,86 @@ void free_init_pages(char *what, unsigne
21139
21140 void free_initmem(void)
21141 {
21142+
21143+#ifdef CONFIG_PAX_KERNEXEC
21144+#ifdef CONFIG_X86_32
21145+ /* PaX: limit KERNEL_CS to actual size */
21146+ unsigned long addr, limit;
21147+ struct desc_struct d;
21148+ int cpu;
21149+
21150+ limit = paravirt_enabled() ? ktva_ktla(0xffffffff) : (unsigned long)&_etext;
21151+ limit = (limit - 1UL) >> PAGE_SHIFT;
21152+
21153+ memset(__LOAD_PHYSICAL_ADDR + PAGE_OFFSET, POISON_FREE_INITMEM, PAGE_SIZE);
21154+ for (cpu = 0; cpu < NR_CPUS; cpu++) {
21155+ pack_descriptor(&d, get_desc_base(&get_cpu_gdt_table(cpu)[GDT_ENTRY_KERNEL_CS]), limit, 0x9B, 0xC);
21156+ write_gdt_entry(get_cpu_gdt_table(cpu), GDT_ENTRY_KERNEL_CS, &d, DESCTYPE_S);
21157+ }
21158+
21159+ /* PaX: make KERNEL_CS read-only */
21160+ addr = PFN_ALIGN(ktla_ktva((unsigned long)&_text));
21161+ if (!paravirt_enabled())
21162+ set_memory_ro(addr, (PFN_ALIGN(_sdata) - addr) >> PAGE_SHIFT);
21163+/*
21164+ for (addr = ktla_ktva((unsigned long)&_text); addr < (unsigned long)&_sdata; addr += PMD_SIZE) {
21165+ pgd = pgd_offset_k(addr);
21166+ pud = pud_offset(pgd, addr);
21167+ pmd = pmd_offset(pud, addr);
21168+ set_pmd(pmd, __pmd(pmd_val(*pmd) & ~_PAGE_RW));
21169+ }
21170+*/
21171+#ifdef CONFIG_X86_PAE
21172+ set_memory_nx(PFN_ALIGN(__init_begin), (PFN_ALIGN(__init_end) - PFN_ALIGN(__init_begin)) >> PAGE_SHIFT);
21173+/*
21174+ for (addr = (unsigned long)&__init_begin; addr < (unsigned long)&__init_end; addr += PMD_SIZE) {
21175+ pgd = pgd_offset_k(addr);
21176+ pud = pud_offset(pgd, addr);
21177+ pmd = pmd_offset(pud, addr);
21178+ set_pmd(pmd, __pmd(pmd_val(*pmd) | (_PAGE_NX & __supported_pte_mask)));
21179+ }
21180+*/
21181+#endif
21182+
21183+#ifdef CONFIG_MODULES
21184+ set_memory_4k((unsigned long)MODULES_EXEC_VADDR, (MODULES_EXEC_END - MODULES_EXEC_VADDR) >> PAGE_SHIFT);
21185+#endif
21186+
21187+#else
21188+ pgd_t *pgd;
21189+ pud_t *pud;
21190+ pmd_t *pmd;
21191+ unsigned long addr, end;
21192+
21193+ /* PaX: make kernel code/rodata read-only, rest non-executable */
21194+ for (addr = __START_KERNEL_map; addr < __START_KERNEL_map + KERNEL_IMAGE_SIZE; addr += PMD_SIZE) {
21195+ pgd = pgd_offset_k(addr);
21196+ pud = pud_offset(pgd, addr);
21197+ pmd = pmd_offset(pud, addr);
21198+ if (!pmd_present(*pmd))
21199+ continue;
21200+ if ((unsigned long)_text <= addr && addr < (unsigned long)_sdata)
21201+ set_pmd(pmd, __pmd(pmd_val(*pmd) & ~_PAGE_RW));
21202+ else
21203+ set_pmd(pmd, __pmd(pmd_val(*pmd) | (_PAGE_NX & __supported_pte_mask)));
21204+ }
21205+
21206+ addr = (unsigned long)__va(__pa(__START_KERNEL_map));
21207+ end = addr + KERNEL_IMAGE_SIZE;
21208+ for (; addr < end; addr += PMD_SIZE) {
21209+ pgd = pgd_offset_k(addr);
21210+ pud = pud_offset(pgd, addr);
21211+ pmd = pmd_offset(pud, addr);
21212+ if (!pmd_present(*pmd))
21213+ continue;
21214+ if ((unsigned long)__va(__pa(_text)) <= addr && addr < (unsigned long)__va(__pa(_sdata)))
21215+ set_pmd(pmd, __pmd(pmd_val(*pmd) & ~_PAGE_RW));
21216+ }
21217+#endif
21218+
21219+ flush_tlb_all();
21220+#endif
21221+
21222 free_init_pages("unused kernel memory",
21223 (unsigned long)(&__init_begin),
21224 (unsigned long)(&__init_end));
21225diff -urNp linux-3.0.8/arch/x86/mm/iomap_32.c linux-3.0.8/arch/x86/mm/iomap_32.c
21226--- linux-3.0.8/arch/x86/mm/iomap_32.c 2011-07-21 22:17:23.000000000 -0400
21227+++ linux-3.0.8/arch/x86/mm/iomap_32.c 2011-08-23 21:47:55.000000000 -0400
21023@@ -64,7 +64,11 @@ void *kmap_atomic_prot_pfn(unsigned long 21228@@ -64,7 +64,11 @@ void *kmap_atomic_prot_pfn(unsigned long
21024 type = kmap_atomic_idx_push(); 21229 type = kmap_atomic_idx_push();
21025 idx = type + KM_TYPE_NR * smp_processor_id(); 21230 idx = type + KM_TYPE_NR * smp_processor_id();
@@ -21032,9 +21237,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/iomap_32.c linux-3.0.7/arch/x86/mm/iomap_32.c
21032 arch_flush_lazy_mmu_mode(); 21237 arch_flush_lazy_mmu_mode();
21033 21238
21034 return (void *)vaddr; 21239 return (void *)vaddr;
21035diff -urNp linux-3.0.7/arch/x86/mm/ioremap.c linux-3.0.7/arch/x86/mm/ioremap.c 21240diff -urNp linux-3.0.8/arch/x86/mm/ioremap.c linux-3.0.8/arch/x86/mm/ioremap.c
21036--- linux-3.0.7/arch/x86/mm/ioremap.c 2011-07-21 22:17:23.000000000 -0400 21241--- linux-3.0.8/arch/x86/mm/ioremap.c 2011-07-21 22:17:23.000000000 -0400
21037+++ linux-3.0.7/arch/x86/mm/ioremap.c 2011-08-23 21:47:55.000000000 -0400 21242+++ linux-3.0.8/arch/x86/mm/ioremap.c 2011-08-23 21:47:55.000000000 -0400
21038@@ -97,7 +97,7 @@ static void __iomem *__ioremap_caller(re 21243@@ -97,7 +97,7 @@ static void __iomem *__ioremap_caller(re
21039 for (pfn = phys_addr >> PAGE_SHIFT; pfn <= last_pfn; pfn++) { 21244 for (pfn = phys_addr >> PAGE_SHIFT; pfn <= last_pfn; pfn++) {
21040 int is_ram = page_is_ram(pfn); 21245 int is_ram = page_is_ram(pfn);
@@ -21063,9 +21268,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/ioremap.c linux-3.0.7/arch/x86/mm/ioremap.c
21063 21268
21064 /* 21269 /*
21065 * The boot-ioremap range spans multiple pmds, for which 21270 * The boot-ioremap range spans multiple pmds, for which
21066diff -urNp linux-3.0.7/arch/x86/mm/kmemcheck/kmemcheck.c linux-3.0.7/arch/x86/mm/kmemcheck/kmemcheck.c 21271diff -urNp linux-3.0.8/arch/x86/mm/kmemcheck/kmemcheck.c linux-3.0.8/arch/x86/mm/kmemcheck/kmemcheck.c
21067--- linux-3.0.7/arch/x86/mm/kmemcheck/kmemcheck.c 2011-07-21 22:17:23.000000000 -0400 21272--- linux-3.0.8/arch/x86/mm/kmemcheck/kmemcheck.c 2011-07-21 22:17:23.000000000 -0400
21068+++ linux-3.0.7/arch/x86/mm/kmemcheck/kmemcheck.c 2011-08-23 21:47:55.000000000 -0400 21273+++ linux-3.0.8/arch/x86/mm/kmemcheck/kmemcheck.c 2011-08-23 21:47:55.000000000 -0400
21069@@ -622,9 +622,9 @@ bool kmemcheck_fault(struct pt_regs *reg 21274@@ -622,9 +622,9 @@ bool kmemcheck_fault(struct pt_regs *reg
21070 * memory (e.g. tracked pages)? For now, we need this to avoid 21275 * memory (e.g. tracked pages)? For now, we need this to avoid
21071 * invoking kmemcheck for PnP BIOS calls. 21276 * invoking kmemcheck for PnP BIOS calls.
@@ -21078,9 +21283,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/kmemcheck/kmemcheck.c linux-3.0.7/arch/x86/mm
21078 return false; 21283 return false;
21079 21284
21080 pte = kmemcheck_pte_lookup(address); 21285 pte = kmemcheck_pte_lookup(address);
21081diff -urNp linux-3.0.7/arch/x86/mm/mmap.c linux-3.0.7/arch/x86/mm/mmap.c 21286diff -urNp linux-3.0.8/arch/x86/mm/mmap.c linux-3.0.8/arch/x86/mm/mmap.c
21082--- linux-3.0.7/arch/x86/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 21287--- linux-3.0.8/arch/x86/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400
21083+++ linux-3.0.7/arch/x86/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400 21288+++ linux-3.0.8/arch/x86/mm/mmap.c 2011-08-23 21:47:55.000000000 -0400
21084@@ -49,7 +49,7 @@ static unsigned int stack_maxrandom_size 21289@@ -49,7 +49,7 @@ static unsigned int stack_maxrandom_size
21085 * Leave an at least ~128 MB hole with possible stack randomization. 21290 * Leave an at least ~128 MB hole with possible stack randomization.
21086 */ 21291 */
@@ -21162,9 +21367,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/mmap.c linux-3.0.7/arch/x86/mm/mmap.c
21162 mm->get_unmapped_area = arch_get_unmapped_area_topdown; 21367 mm->get_unmapped_area = arch_get_unmapped_area_topdown;
21163 mm->unmap_area = arch_unmap_area_topdown; 21368 mm->unmap_area = arch_unmap_area_topdown;
21164 } 21369 }
21165diff -urNp linux-3.0.7/arch/x86/mm/mmio-mod.c linux-3.0.7/arch/x86/mm/mmio-mod.c 21370diff -urNp linux-3.0.8/arch/x86/mm/mmio-mod.c linux-3.0.8/arch/x86/mm/mmio-mod.c
21166--- linux-3.0.7/arch/x86/mm/mmio-mod.c 2011-07-21 22:17:23.000000000 -0400 21371--- linux-3.0.8/arch/x86/mm/mmio-mod.c 2011-07-21 22:17:23.000000000 -0400
21167+++ linux-3.0.7/arch/x86/mm/mmio-mod.c 2011-08-23 21:47:55.000000000 -0400 21372+++ linux-3.0.8/arch/x86/mm/mmio-mod.c 2011-08-23 21:47:55.000000000 -0400
21168@@ -195,7 +195,7 @@ static void pre(struct kmmio_probe *p, s 21373@@ -195,7 +195,7 @@ static void pre(struct kmmio_probe *p, s
21169 break; 21374 break;
21170 default: 21375 default:
@@ -21192,21 +21397,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/mmio-mod.c linux-3.0.7/arch/x86/mm/mmio-mod.c
21192 }; 21397 };
21193 map.map_id = trace->id; 21398 map.map_id = trace->id;
21194 21399
21195diff -urNp linux-3.0.7/arch/x86/mm/pageattr-test.c linux-3.0.7/arch/x86/mm/pageattr-test.c 21400diff -urNp linux-3.0.8/arch/x86/mm/pageattr.c linux-3.0.8/arch/x86/mm/pageattr.c
21196--- linux-3.0.7/arch/x86/mm/pageattr-test.c 2011-07-21 22:17:23.000000000 -0400 21401--- linux-3.0.8/arch/x86/mm/pageattr.c 2011-07-21 22:17:23.000000000 -0400
21197+++ linux-3.0.7/arch/x86/mm/pageattr-test.c 2011-08-23 21:47:55.000000000 -0400 21402+++ linux-3.0.8/arch/x86/mm/pageattr.c 2011-08-23 21:47:55.000000000 -0400
21198@@ -36,7 +36,7 @@ enum {
21199
21200 static int pte_testbit(pte_t pte)
21201 {
21202- return pte_flags(pte) & _PAGE_UNUSED1;
21203+ return pte_flags(pte) & _PAGE_CPA_TEST;
21204 }
21205
21206 struct split_state {
21207diff -urNp linux-3.0.7/arch/x86/mm/pageattr.c linux-3.0.7/arch/x86/mm/pageattr.c
21208--- linux-3.0.7/arch/x86/mm/pageattr.c 2011-07-21 22:17:23.000000000 -0400
21209+++ linux-3.0.7/arch/x86/mm/pageattr.c 2011-08-23 21:47:55.000000000 -0400
21210@@ -261,7 +261,7 @@ static inline pgprot_t static_protection 21403@@ -261,7 +261,7 @@ static inline pgprot_t static_protection
21211 */ 21404 */
21212 #ifdef CONFIG_PCI_BIOS 21405 #ifdef CONFIG_PCI_BIOS
@@ -21291,9 +21484,21 @@ diff -urNp linux-3.0.7/arch/x86/mm/pageattr.c linux-3.0.7/arch/x86/mm/pageattr.c
21291 } 21484 }
21292 21485
21293 static int 21486 static int
21294diff -urNp linux-3.0.7/arch/x86/mm/pat.c linux-3.0.7/arch/x86/mm/pat.c 21487diff -urNp linux-3.0.8/arch/x86/mm/pageattr-test.c linux-3.0.8/arch/x86/mm/pageattr-test.c
21295--- linux-3.0.7/arch/x86/mm/pat.c 2011-07-21 22:17:23.000000000 -0400 21488--- linux-3.0.8/arch/x86/mm/pageattr-test.c 2011-07-21 22:17:23.000000000 -0400
21296+++ linux-3.0.7/arch/x86/mm/pat.c 2011-08-23 21:47:55.000000000 -0400 21489+++ linux-3.0.8/arch/x86/mm/pageattr-test.c 2011-08-23 21:47:55.000000000 -0400
21490@@ -36,7 +36,7 @@ enum {
21491
21492 static int pte_testbit(pte_t pte)
21493 {
21494- return pte_flags(pte) & _PAGE_UNUSED1;
21495+ return pte_flags(pte) & _PAGE_CPA_TEST;
21496 }
21497
21498 struct split_state {
21499diff -urNp linux-3.0.8/arch/x86/mm/pat.c linux-3.0.8/arch/x86/mm/pat.c
21500--- linux-3.0.8/arch/x86/mm/pat.c 2011-07-21 22:17:23.000000000 -0400
21501+++ linux-3.0.8/arch/x86/mm/pat.c 2011-08-23 21:47:55.000000000 -0400
21297@@ -361,7 +361,7 @@ int free_memtype(u64 start, u64 end) 21502@@ -361,7 +361,7 @@ int free_memtype(u64 start, u64 end)
21298 21503
21299 if (!entry) { 21504 if (!entry) {
@@ -21341,9 +21546,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/pat.c linux-3.0.7/arch/x86/mm/pat.c
21341 cattr_name(want_flags), 21546 cattr_name(want_flags),
21342 (unsigned long long)paddr, 21547 (unsigned long long)paddr,
21343 (unsigned long long)(paddr + size), 21548 (unsigned long long)(paddr + size),
21344diff -urNp linux-3.0.7/arch/x86/mm/pf_in.c linux-3.0.7/arch/x86/mm/pf_in.c 21549diff -urNp linux-3.0.8/arch/x86/mm/pf_in.c linux-3.0.8/arch/x86/mm/pf_in.c
21345--- linux-3.0.7/arch/x86/mm/pf_in.c 2011-07-21 22:17:23.000000000 -0400 21550--- linux-3.0.8/arch/x86/mm/pf_in.c 2011-07-21 22:17:23.000000000 -0400
21346+++ linux-3.0.7/arch/x86/mm/pf_in.c 2011-08-23 21:47:55.000000000 -0400 21551+++ linux-3.0.8/arch/x86/mm/pf_in.c 2011-08-23 21:47:55.000000000 -0400
21347@@ -148,7 +148,7 @@ enum reason_type get_ins_type(unsigned l 21552@@ -148,7 +148,7 @@ enum reason_type get_ins_type(unsigned l
21348 int i; 21553 int i;
21349 enum reason_type rv = OTHERS; 21554 enum reason_type rv = OTHERS;
@@ -21389,9 +21594,26 @@ diff -urNp linux-3.0.7/arch/x86/mm/pf_in.c linux-3.0.7/arch/x86/mm/pf_in.c
21389 p += skip_prefix(p, &prf); 21594 p += skip_prefix(p, &prf);
21390 p += get_opcode(p, &opcode); 21595 p += get_opcode(p, &opcode);
21391 for (i = 0; i < ARRAY_SIZE(imm_wop); i++) 21596 for (i = 0; i < ARRAY_SIZE(imm_wop); i++)
21392diff -urNp linux-3.0.7/arch/x86/mm/pgtable.c linux-3.0.7/arch/x86/mm/pgtable.c 21597diff -urNp linux-3.0.8/arch/x86/mm/pgtable_32.c linux-3.0.8/arch/x86/mm/pgtable_32.c
21393--- linux-3.0.7/arch/x86/mm/pgtable.c 2011-07-21 22:17:23.000000000 -0400 21598--- linux-3.0.8/arch/x86/mm/pgtable_32.c 2011-07-21 22:17:23.000000000 -0400
21394+++ linux-3.0.7/arch/x86/mm/pgtable.c 2011-08-23 21:47:55.000000000 -0400 21599+++ linux-3.0.8/arch/x86/mm/pgtable_32.c 2011-08-23 21:47:55.000000000 -0400
21600@@ -48,10 +48,13 @@ void set_pte_vaddr(unsigned long vaddr,
21601 return;
21602 }
21603 pte = pte_offset_kernel(pmd, vaddr);
21604+
21605+ pax_open_kernel();
21606 if (pte_val(pteval))
21607 set_pte_at(&init_mm, vaddr, pte, pteval);
21608 else
21609 pte_clear(&init_mm, vaddr, pte);
21610+ pax_close_kernel();
21611
21612 /*
21613 * It's enough to flush this one mapping.
21614diff -urNp linux-3.0.8/arch/x86/mm/pgtable.c linux-3.0.8/arch/x86/mm/pgtable.c
21615--- linux-3.0.8/arch/x86/mm/pgtable.c 2011-07-21 22:17:23.000000000 -0400
21616+++ linux-3.0.8/arch/x86/mm/pgtable.c 2011-08-23 21:47:55.000000000 -0400
21395@@ -84,10 +84,52 @@ static inline void pgd_list_del(pgd_t *p 21617@@ -84,10 +84,52 @@ static inline void pgd_list_del(pgd_t *p
21396 list_del(&page->lru); 21618 list_del(&page->lru);
21397 } 21619 }
@@ -21637,26 +21859,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/pgtable.c linux-3.0.7/arch/x86/mm/pgtable.c
21637 pgd_dtor(pgd); 21859 pgd_dtor(pgd);
21638 paravirt_pgd_free(mm, pgd); 21860 paravirt_pgd_free(mm, pgd);
21639 free_page((unsigned long)pgd); 21861 free_page((unsigned long)pgd);
21640diff -urNp linux-3.0.7/arch/x86/mm/pgtable_32.c linux-3.0.7/arch/x86/mm/pgtable_32.c 21862diff -urNp linux-3.0.8/arch/x86/mm/setup_nx.c linux-3.0.8/arch/x86/mm/setup_nx.c
21641--- linux-3.0.7/arch/x86/mm/pgtable_32.c 2011-07-21 22:17:23.000000000 -0400 21863--- linux-3.0.8/arch/x86/mm/setup_nx.c 2011-07-21 22:17:23.000000000 -0400
21642+++ linux-3.0.7/arch/x86/mm/pgtable_32.c 2011-08-23 21:47:55.000000000 -0400 21864+++ linux-3.0.8/arch/x86/mm/setup_nx.c 2011-08-23 21:47:55.000000000 -0400
21643@@ -48,10 +48,13 @@ void set_pte_vaddr(unsigned long vaddr,
21644 return;
21645 }
21646 pte = pte_offset_kernel(pmd, vaddr);
21647+
21648+ pax_open_kernel();
21649 if (pte_val(pteval))
21650 set_pte_at(&init_mm, vaddr, pte, pteval);
21651 else
21652 pte_clear(&init_mm, vaddr, pte);
21653+ pax_close_kernel();
21654
21655 /*
21656 * It's enough to flush this one mapping.
21657diff -urNp linux-3.0.7/arch/x86/mm/setup_nx.c linux-3.0.7/arch/x86/mm/setup_nx.c
21658--- linux-3.0.7/arch/x86/mm/setup_nx.c 2011-07-21 22:17:23.000000000 -0400
21659+++ linux-3.0.7/arch/x86/mm/setup_nx.c 2011-08-23 21:47:55.000000000 -0400
21660@@ -5,8 +5,10 @@ 21865@@ -5,8 +5,10 @@
21661 #include <asm/pgtable.h> 21866 #include <asm/pgtable.h>
21662 #include <asm/proto.h> 21867 #include <asm/proto.h>
@@ -21686,9 +21891,9 @@ diff -urNp linux-3.0.7/arch/x86/mm/setup_nx.c linux-3.0.7/arch/x86/mm/setup_nx.c
21686 __supported_pte_mask &= ~_PAGE_NX; 21891 __supported_pte_mask &= ~_PAGE_NX;
21687 } 21892 }
21688 21893
21689diff -urNp linux-3.0.7/arch/x86/mm/tlb.c linux-3.0.7/arch/x86/mm/tlb.c 21894diff -urNp linux-3.0.8/arch/x86/mm/tlb.c linux-3.0.8/arch/x86/mm/tlb.c
21690--- linux-3.0.7/arch/x86/mm/tlb.c 2011-07-21 22:17:23.000000000 -0400 21895--- linux-3.0.8/arch/x86/mm/tlb.c 2011-07-21 22:17:23.000000000 -0400
21691+++ linux-3.0.7/arch/x86/mm/tlb.c 2011-08-23 21:47:55.000000000 -0400 21896+++ linux-3.0.8/arch/x86/mm/tlb.c 2011-08-23 21:47:55.000000000 -0400
21692@@ -65,7 +65,11 @@ void leave_mm(int cpu) 21897@@ -65,7 +65,11 @@ void leave_mm(int cpu)
21693 BUG(); 21898 BUG();
21694 cpumask_clear_cpu(cpu, 21899 cpumask_clear_cpu(cpu,
@@ -21701,9 +21906,31 @@ diff -urNp linux-3.0.7/arch/x86/mm/tlb.c linux-3.0.7/arch/x86/mm/tlb.c
21701 } 21906 }
21702 EXPORT_SYMBOL_GPL(leave_mm); 21907 EXPORT_SYMBOL_GPL(leave_mm);
21703 21908
21704diff -urNp linux-3.0.7/arch/x86/net/bpf_jit.S linux-3.0.7/arch/x86/net/bpf_jit.S 21909diff -urNp linux-3.0.8/arch/x86/net/bpf_jit_comp.c linux-3.0.8/arch/x86/net/bpf_jit_comp.c
21705--- linux-3.0.7/arch/x86/net/bpf_jit.S 2011-07-21 22:17:23.000000000 -0400 21910--- linux-3.0.8/arch/x86/net/bpf_jit_comp.c 2011-07-21 22:17:23.000000000 -0400
21706+++ linux-3.0.7/arch/x86/net/bpf_jit.S 2011-10-07 19:07:28.000000000 -0400 21911+++ linux-3.0.8/arch/x86/net/bpf_jit_comp.c 2011-08-23 21:47:55.000000000 -0400
21912@@ -589,7 +589,9 @@ cond_branch: f_offset = addrs[i + filt
21913 module_free(NULL, image);
21914 return;
21915 }
21916+ pax_open_kernel();
21917 memcpy(image + proglen, temp, ilen);
21918+ pax_close_kernel();
21919 }
21920 proglen += ilen;
21921 addrs[i] = proglen;
21922@@ -609,7 +611,7 @@ cond_branch: f_offset = addrs[i + filt
21923 break;
21924 }
21925 if (proglen == oldproglen) {
21926- image = module_alloc(max_t(unsigned int,
21927+ image = module_alloc_exec(max_t(unsigned int,
21928 proglen,
21929 sizeof(struct work_struct)));
21930 if (!image)
21931diff -urNp linux-3.0.8/arch/x86/net/bpf_jit.S linux-3.0.8/arch/x86/net/bpf_jit.S
21932--- linux-3.0.8/arch/x86/net/bpf_jit.S 2011-07-21 22:17:23.000000000 -0400
21933+++ linux-3.0.8/arch/x86/net/bpf_jit.S 2011-10-07 19:07:28.000000000 -0400
21707@@ -9,6 +9,7 @@ 21934@@ -9,6 +9,7 @@
21708 */ 21935 */
21709 #include <linux/linkage.h> 21936 #include <linux/linkage.h>
@@ -21781,31 +22008,9 @@ diff -urNp linux-3.0.7/arch/x86/net/bpf_jit.S linux-3.0.7/arch/x86/net/bpf_jit.S
21781 xchg %eax,%ebx 22008 xchg %eax,%ebx
21782+ pax_force_retaddr 22009+ pax_force_retaddr
21783 ret 22010 ret
21784diff -urNp linux-3.0.7/arch/x86/net/bpf_jit_comp.c linux-3.0.7/arch/x86/net/bpf_jit_comp.c 22011diff -urNp linux-3.0.8/arch/x86/oprofile/backtrace.c linux-3.0.8/arch/x86/oprofile/backtrace.c
21785--- linux-3.0.7/arch/x86/net/bpf_jit_comp.c 2011-07-21 22:17:23.000000000 -0400 22012--- linux-3.0.8/arch/x86/oprofile/backtrace.c 2011-10-24 08:05:21.000000000 -0400
21786+++ linux-3.0.7/arch/x86/net/bpf_jit_comp.c 2011-08-23 21:47:55.000000000 -0400 22013+++ linux-3.0.8/arch/x86/oprofile/backtrace.c 2011-10-06 04:17:55.000000000 -0400
21787@@ -589,7 +589,9 @@ cond_branch: f_offset = addrs[i + filt
21788 module_free(NULL, image);
21789 return;
21790 }
21791+ pax_open_kernel();
21792 memcpy(image + proglen, temp, ilen);
21793+ pax_close_kernel();
21794 }
21795 proglen += ilen;
21796 addrs[i] = proglen;
21797@@ -609,7 +611,7 @@ cond_branch: f_offset = addrs[i + filt
21798 break;
21799 }
21800 if (proglen == oldproglen) {
21801- image = module_alloc(max_t(unsigned int,
21802+ image = module_alloc_exec(max_t(unsigned int,
21803 proglen,
21804 sizeof(struct work_struct)));
21805 if (!image)
21806diff -urNp linux-3.0.7/arch/x86/oprofile/backtrace.c linux-3.0.7/arch/x86/oprofile/backtrace.c
21807--- linux-3.0.7/arch/x86/oprofile/backtrace.c 2011-09-02 18:11:21.000000000 -0400
21808+++ linux-3.0.7/arch/x86/oprofile/backtrace.c 2011-10-06 04:17:55.000000000 -0400
21809@@ -83,11 +83,11 @@ dump_user_backtrace_32(struct stack_fram 22014@@ -83,11 +83,11 @@ dump_user_backtrace_32(struct stack_fram
21810 struct stack_frame_ia32 *fp; 22015 struct stack_frame_ia32 *fp;
21811 unsigned long bytes; 22016 unsigned long bytes;
@@ -21838,9 +22043,9 @@ diff -urNp linux-3.0.7/arch/x86/oprofile/backtrace.c linux-3.0.7/arch/x86/oprofi
21838 unsigned long stack = kernel_stack_pointer(regs); 22043 unsigned long stack = kernel_stack_pointer(regs);
21839 if (depth) 22044 if (depth)
21840 dump_trace(NULL, regs, (unsigned long *)stack, 0, 22045 dump_trace(NULL, regs, (unsigned long *)stack, 0,
21841diff -urNp linux-3.0.7/arch/x86/pci/mrst.c linux-3.0.7/arch/x86/pci/mrst.c 22046diff -urNp linux-3.0.8/arch/x86/pci/mrst.c linux-3.0.8/arch/x86/pci/mrst.c
21842--- linux-3.0.7/arch/x86/pci/mrst.c 2011-07-21 22:17:23.000000000 -0400 22047--- linux-3.0.8/arch/x86/pci/mrst.c 2011-07-21 22:17:23.000000000 -0400
21843+++ linux-3.0.7/arch/x86/pci/mrst.c 2011-08-23 21:47:55.000000000 -0400 22048+++ linux-3.0.8/arch/x86/pci/mrst.c 2011-08-23 21:47:55.000000000 -0400
21844@@ -234,7 +234,9 @@ int __init pci_mrst_init(void) 22049@@ -234,7 +234,9 @@ int __init pci_mrst_init(void)
21845 printk(KERN_INFO "Moorestown platform detected, using MRST PCI ops\n"); 22050 printk(KERN_INFO "Moorestown platform detected, using MRST PCI ops\n");
21846 pci_mmcfg_late_init(); 22051 pci_mmcfg_late_init();
@@ -21852,9 +22057,9 @@ diff -urNp linux-3.0.7/arch/x86/pci/mrst.c linux-3.0.7/arch/x86/pci/mrst.c
21852 /* Continue with standard init */ 22057 /* Continue with standard init */
21853 return 1; 22058 return 1;
21854 } 22059 }
21855diff -urNp linux-3.0.7/arch/x86/pci/pcbios.c linux-3.0.7/arch/x86/pci/pcbios.c 22060diff -urNp linux-3.0.8/arch/x86/pci/pcbios.c linux-3.0.8/arch/x86/pci/pcbios.c
21856--- linux-3.0.7/arch/x86/pci/pcbios.c 2011-07-21 22:17:23.000000000 -0400 22061--- linux-3.0.8/arch/x86/pci/pcbios.c 2011-07-21 22:17:23.000000000 -0400
21857+++ linux-3.0.7/arch/x86/pci/pcbios.c 2011-08-23 21:47:55.000000000 -0400 22062+++ linux-3.0.8/arch/x86/pci/pcbios.c 2011-08-23 21:47:55.000000000 -0400
21858@@ -79,50 +79,93 @@ union bios32 { 22063@@ -79,50 +79,93 @@ union bios32 {
21859 static struct { 22064 static struct {
21860 unsigned long address; 22065 unsigned long address;
@@ -22159,9 +22364,9 @@ diff -urNp linux-3.0.7/arch/x86/pci/pcbios.c linux-3.0.7/arch/x86/pci/pcbios.c
22159 return !(ret & 0xff00); 22364 return !(ret & 0xff00);
22160 } 22365 }
22161 EXPORT_SYMBOL(pcibios_set_irq_routing); 22366 EXPORT_SYMBOL(pcibios_set_irq_routing);
22162diff -urNp linux-3.0.7/arch/x86/platform/efi/efi_32.c linux-3.0.7/arch/x86/platform/efi/efi_32.c 22367diff -urNp linux-3.0.8/arch/x86/platform/efi/efi_32.c linux-3.0.8/arch/x86/platform/efi/efi_32.c
22163--- linux-3.0.7/arch/x86/platform/efi/efi_32.c 2011-07-21 22:17:23.000000000 -0400 22368--- linux-3.0.8/arch/x86/platform/efi/efi_32.c 2011-07-21 22:17:23.000000000 -0400
22164+++ linux-3.0.7/arch/x86/platform/efi/efi_32.c 2011-10-06 04:17:55.000000000 -0400 22369+++ linux-3.0.8/arch/x86/platform/efi/efi_32.c 2011-10-06 04:17:55.000000000 -0400
22165@@ -38,70 +38,56 @@ 22370@@ -38,70 +38,56 @@
22166 */ 22371 */
22167 22372
@@ -22259,9 +22464,9 @@ diff -urNp linux-3.0.7/arch/x86/platform/efi/efi_32.c linux-3.0.7/arch/x86/platf
22259 22464
22260 /* 22465 /*
22261 * After the lock is released, the original page table is restored. 22466 * After the lock is released, the original page table is restored.
22262diff -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 22467diff -urNp linux-3.0.8/arch/x86/platform/efi/efi_stub_32.S linux-3.0.8/arch/x86/platform/efi/efi_stub_32.S
22263--- linux-3.0.7/arch/x86/platform/efi/efi_stub_32.S 2011-07-21 22:17:23.000000000 -0400 22468--- linux-3.0.8/arch/x86/platform/efi/efi_stub_32.S 2011-07-21 22:17:23.000000000 -0400
22264+++ linux-3.0.7/arch/x86/platform/efi/efi_stub_32.S 2011-09-19 09:16:58.000000000 -0400 22469+++ linux-3.0.8/arch/x86/platform/efi/efi_stub_32.S 2011-09-19 09:16:58.000000000 -0400
22265@@ -6,7 +6,9 @@ 22470@@ -6,7 +6,9 @@
22266 */ 22471 */
22267 22472
@@ -22370,9 +22575,9 @@ diff -urNp linux-3.0.7/arch/x86/platform/efi/efi_stub_32.S linux-3.0.7/arch/x86/
22370 saved_return_addr: 22575 saved_return_addr:
22371 .long 0 22576 .long 0
22372 efi_rt_function_ptr: 22577 efi_rt_function_ptr:
22373diff -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 22578diff -urNp linux-3.0.8/arch/x86/platform/efi/efi_stub_64.S linux-3.0.8/arch/x86/platform/efi/efi_stub_64.S
22374--- linux-3.0.7/arch/x86/platform/efi/efi_stub_64.S 2011-07-21 22:17:23.000000000 -0400 22579--- linux-3.0.8/arch/x86/platform/efi/efi_stub_64.S 2011-07-21 22:17:23.000000000 -0400
22375+++ linux-3.0.7/arch/x86/platform/efi/efi_stub_64.S 2011-10-06 04:17:55.000000000 -0400 22580+++ linux-3.0.8/arch/x86/platform/efi/efi_stub_64.S 2011-10-06 04:17:55.000000000 -0400
22376@@ -7,6 +7,7 @@ 22581@@ -7,6 +7,7 @@
22377 */ 22582 */
22378 22583
@@ -22436,9 +22641,9 @@ diff -urNp linux-3.0.7/arch/x86/platform/efi/efi_stub_64.S linux-3.0.7/arch/x86/
22436+ pax_force_retaddr 22641+ pax_force_retaddr
22437 ret 22642 ret
22438 ENDPROC(efi_call6) 22643 ENDPROC(efi_call6)
22439diff -urNp linux-3.0.7/arch/x86/platform/mrst/mrst.c linux-3.0.7/arch/x86/platform/mrst/mrst.c 22644diff -urNp linux-3.0.8/arch/x86/platform/mrst/mrst.c linux-3.0.8/arch/x86/platform/mrst/mrst.c
22440--- linux-3.0.7/arch/x86/platform/mrst/mrst.c 2011-07-21 22:17:23.000000000 -0400 22645--- linux-3.0.8/arch/x86/platform/mrst/mrst.c 2011-07-21 22:17:23.000000000 -0400
22441+++ linux-3.0.7/arch/x86/platform/mrst/mrst.c 2011-08-23 21:47:55.000000000 -0400 22646+++ linux-3.0.8/arch/x86/platform/mrst/mrst.c 2011-08-23 21:47:55.000000000 -0400
22442@@ -239,14 +239,16 @@ static int mrst_i8042_detect(void) 22647@@ -239,14 +239,16 @@ static int mrst_i8042_detect(void)
22443 } 22648 }
22444 22649
@@ -22458,9 +22663,9 @@ diff -urNp linux-3.0.7/arch/x86/platform/mrst/mrst.c linux-3.0.7/arch/x86/platfo
22458 } 22663 }
22459 22664
22460 /* 22665 /*
22461diff -urNp linux-3.0.7/arch/x86/platform/uv/tlb_uv.c linux-3.0.7/arch/x86/platform/uv/tlb_uv.c 22666diff -urNp linux-3.0.8/arch/x86/platform/uv/tlb_uv.c linux-3.0.8/arch/x86/platform/uv/tlb_uv.c
22462--- linux-3.0.7/arch/x86/platform/uv/tlb_uv.c 2011-07-21 22:17:23.000000000 -0400 22667--- linux-3.0.8/arch/x86/platform/uv/tlb_uv.c 2011-07-21 22:17:23.000000000 -0400
22463+++ linux-3.0.7/arch/x86/platform/uv/tlb_uv.c 2011-08-23 21:48:14.000000000 -0400 22668+++ linux-3.0.8/arch/x86/platform/uv/tlb_uv.c 2011-08-23 21:48:14.000000000 -0400
22464@@ -373,6 +373,8 @@ static void reset_with_ipi(struct bau_ta 22669@@ -373,6 +373,8 @@ static void reset_with_ipi(struct bau_ta
22465 cpumask_t mask; 22670 cpumask_t mask;
22466 struct reset_args reset_args; 22671 struct reset_args reset_args;
@@ -22470,9 +22675,9 @@ diff -urNp linux-3.0.7/arch/x86/platform/uv/tlb_uv.c linux-3.0.7/arch/x86/platfo
22470 reset_args.sender = sender; 22675 reset_args.sender = sender;
22471 cpus_clear(mask); 22676 cpus_clear(mask);
22472 /* find a single cpu for each uvhub in this distribution mask */ 22677 /* find a single cpu for each uvhub in this distribution mask */
22473diff -urNp linux-3.0.7/arch/x86/power/cpu.c linux-3.0.7/arch/x86/power/cpu.c 22678diff -urNp linux-3.0.8/arch/x86/power/cpu.c linux-3.0.8/arch/x86/power/cpu.c
22474--- linux-3.0.7/arch/x86/power/cpu.c 2011-07-21 22:17:23.000000000 -0400 22679--- linux-3.0.8/arch/x86/power/cpu.c 2011-07-21 22:17:23.000000000 -0400
22475+++ linux-3.0.7/arch/x86/power/cpu.c 2011-08-23 21:47:55.000000000 -0400 22680+++ linux-3.0.8/arch/x86/power/cpu.c 2011-08-23 21:47:55.000000000 -0400
22476@@ -130,7 +130,7 @@ static void do_fpu_end(void) 22681@@ -130,7 +130,7 @@ static void do_fpu_end(void)
22477 static void fix_processor_context(void) 22682 static void fix_processor_context(void)
22478 { 22683 {
@@ -22492,9 +22697,9 @@ diff -urNp linux-3.0.7/arch/x86/power/cpu.c linux-3.0.7/arch/x86/power/cpu.c
22492 22697
22493 syscall_init(); /* This sets MSR_*STAR and related */ 22698 syscall_init(); /* This sets MSR_*STAR and related */
22494 #endif 22699 #endif
22495diff -urNp linux-3.0.7/arch/x86/vdso/Makefile linux-3.0.7/arch/x86/vdso/Makefile 22700diff -urNp linux-3.0.8/arch/x86/vdso/Makefile linux-3.0.8/arch/x86/vdso/Makefile
22496--- linux-3.0.7/arch/x86/vdso/Makefile 2011-07-21 22:17:23.000000000 -0400 22701--- linux-3.0.8/arch/x86/vdso/Makefile 2011-07-21 22:17:23.000000000 -0400
22497+++ linux-3.0.7/arch/x86/vdso/Makefile 2011-08-23 21:47:55.000000000 -0400 22702+++ linux-3.0.8/arch/x86/vdso/Makefile 2011-08-23 21:47:55.000000000 -0400
22498@@ -136,7 +136,7 @@ quiet_cmd_vdso = VDSO $@ 22703@@ -136,7 +136,7 @@ quiet_cmd_vdso = VDSO $@
22499 -Wl,-T,$(filter %.lds,$^) $(filter %.o,$^) && \ 22704 -Wl,-T,$(filter %.lds,$^) $(filter %.o,$^) && \
22500 sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@' 22705 sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@'
@@ -22504,9 +22709,9 @@ diff -urNp linux-3.0.7/arch/x86/vdso/Makefile linux-3.0.7/arch/x86/vdso/Makefile
22504 GCOV_PROFILE := n 22709 GCOV_PROFILE := n
22505 22710
22506 # 22711 #
22507diff -urNp linux-3.0.7/arch/x86/vdso/vdso32-setup.c linux-3.0.7/arch/x86/vdso/vdso32-setup.c 22712diff -urNp linux-3.0.8/arch/x86/vdso/vdso32-setup.c linux-3.0.8/arch/x86/vdso/vdso32-setup.c
22508--- linux-3.0.7/arch/x86/vdso/vdso32-setup.c 2011-07-21 22:17:23.000000000 -0400 22713--- linux-3.0.8/arch/x86/vdso/vdso32-setup.c 2011-07-21 22:17:23.000000000 -0400
22509+++ linux-3.0.7/arch/x86/vdso/vdso32-setup.c 2011-08-23 21:47:55.000000000 -0400 22714+++ linux-3.0.8/arch/x86/vdso/vdso32-setup.c 2011-08-23 21:47:55.000000000 -0400
22510@@ -25,6 +25,7 @@ 22715@@ -25,6 +25,7 @@
22511 #include <asm/tlbflush.h> 22716 #include <asm/tlbflush.h>
22512 #include <asm/vdso.h> 22717 #include <asm/vdso.h>
@@ -22589,9 +22794,9 @@ diff -urNp linux-3.0.7/arch/x86/vdso/vdso32-setup.c linux-3.0.7/arch/x86/vdso/vd
22589 return &gate_vma; 22794 return &gate_vma;
22590 return NULL; 22795 return NULL;
22591 } 22796 }
22592diff -urNp linux-3.0.7/arch/x86/vdso/vma.c linux-3.0.7/arch/x86/vdso/vma.c 22797diff -urNp linux-3.0.8/arch/x86/vdso/vma.c linux-3.0.8/arch/x86/vdso/vma.c
22593--- linux-3.0.7/arch/x86/vdso/vma.c 2011-07-21 22:17:23.000000000 -0400 22798--- linux-3.0.8/arch/x86/vdso/vma.c 2011-07-21 22:17:23.000000000 -0400
22594+++ linux-3.0.7/arch/x86/vdso/vma.c 2011-08-23 21:47:55.000000000 -0400 22799+++ linux-3.0.8/arch/x86/vdso/vma.c 2011-08-23 21:47:55.000000000 -0400
22595@@ -15,18 +15,19 @@ 22800@@ -15,18 +15,19 @@
22596 #include <asm/proto.h> 22801 #include <asm/proto.h>
22597 #include <asm/vdso.h> 22802 #include <asm/vdso.h>
@@ -22694,9 +22899,9 @@ diff -urNp linux-3.0.7/arch/x86/vdso/vma.c linux-3.0.7/arch/x86/vdso/vma.c
22694- return 0; 22899- return 0;
22695-} 22900-}
22696-__setup("vdso=", vdso_setup); 22901-__setup("vdso=", vdso_setup);
22697diff -urNp linux-3.0.7/arch/x86/xen/enlighten.c linux-3.0.7/arch/x86/xen/enlighten.c 22902diff -urNp linux-3.0.8/arch/x86/xen/enlighten.c linux-3.0.8/arch/x86/xen/enlighten.c
22698--- linux-3.0.7/arch/x86/xen/enlighten.c 2011-09-02 18:11:26.000000000 -0400 22903--- linux-3.0.8/arch/x86/xen/enlighten.c 2011-10-24 08:05:23.000000000 -0400
22699+++ linux-3.0.7/arch/x86/xen/enlighten.c 2011-08-29 23:26:21.000000000 -0400 22904+++ linux-3.0.8/arch/x86/xen/enlighten.c 2011-08-29 23:26:21.000000000 -0400
22700@@ -85,8 +85,6 @@ EXPORT_SYMBOL_GPL(xen_start_info); 22905@@ -85,8 +85,6 @@ EXPORT_SYMBOL_GPL(xen_start_info);
22701 22906
22702 struct shared_info xen_dummy_shared_info; 22907 struct shared_info xen_dummy_shared_info;
@@ -22769,9 +22974,9 @@ diff -urNp linux-3.0.7/arch/x86/xen/enlighten.c linux-3.0.7/arch/x86/xen/enlight
22769 xen_smp_init(); 22974 xen_smp_init();
22770 22975
22771 #ifdef CONFIG_ACPI_NUMA 22976 #ifdef CONFIG_ACPI_NUMA
22772diff -urNp linux-3.0.7/arch/x86/xen/mmu.c linux-3.0.7/arch/x86/xen/mmu.c 22977diff -urNp linux-3.0.8/arch/x86/xen/mmu.c linux-3.0.8/arch/x86/xen/mmu.c
22773--- linux-3.0.7/arch/x86/xen/mmu.c 2011-09-02 18:11:26.000000000 -0400 22978--- linux-3.0.8/arch/x86/xen/mmu.c 2011-10-24 08:05:23.000000000 -0400
22774+++ linux-3.0.7/arch/x86/xen/mmu.c 2011-08-29 23:26:21.000000000 -0400 22979+++ linux-3.0.8/arch/x86/xen/mmu.c 2011-08-29 23:26:21.000000000 -0400
22775@@ -1683,6 +1683,8 @@ pgd_t * __init xen_setup_kernel_pagetabl 22980@@ -1683,6 +1683,8 @@ pgd_t * __init xen_setup_kernel_pagetabl
22776 convert_pfn_mfn(init_level4_pgt); 22981 convert_pfn_mfn(init_level4_pgt);
22777 convert_pfn_mfn(level3_ident_pgt); 22982 convert_pfn_mfn(level3_ident_pgt);
@@ -22808,9 +23013,9 @@ diff -urNp linux-3.0.7/arch/x86/xen/mmu.c linux-3.0.7/arch/x86/xen/mmu.c
22808 23013
22809 .alloc_pud = xen_alloc_pmd_init, 23014 .alloc_pud = xen_alloc_pmd_init,
22810 .release_pud = xen_release_pmd_init, 23015 .release_pud = xen_release_pmd_init,
22811diff -urNp linux-3.0.7/arch/x86/xen/smp.c linux-3.0.7/arch/x86/xen/smp.c 23016diff -urNp linux-3.0.8/arch/x86/xen/smp.c linux-3.0.8/arch/x86/xen/smp.c
22812--- linux-3.0.7/arch/x86/xen/smp.c 2011-10-16 21:54:53.000000000 -0400 23017--- linux-3.0.8/arch/x86/xen/smp.c 2011-10-24 08:05:30.000000000 -0400
22813+++ linux-3.0.7/arch/x86/xen/smp.c 2011-10-16 21:55:27.000000000 -0400 23018+++ linux-3.0.8/arch/x86/xen/smp.c 2011-10-16 21:55:27.000000000 -0400
22814@@ -194,11 +194,6 @@ static void __init xen_smp_prepare_boot_ 23019@@ -194,11 +194,6 @@ static void __init xen_smp_prepare_boot_
22815 { 23020 {
22816 BUG_ON(smp_processor_id() != 0); 23021 BUG_ON(smp_processor_id() != 0);
@@ -22855,9 +23060,9 @@ diff -urNp linux-3.0.7/arch/x86/xen/smp.c linux-3.0.7/arch/x86/xen/smp.c
22855 #endif 23060 #endif
22856 xen_setup_runstate_info(cpu); 23061 xen_setup_runstate_info(cpu);
22857 xen_setup_timer(cpu); 23062 xen_setup_timer(cpu);
22858diff -urNp linux-3.0.7/arch/x86/xen/xen-asm_32.S linux-3.0.7/arch/x86/xen/xen-asm_32.S 23063diff -urNp linux-3.0.8/arch/x86/xen/xen-asm_32.S linux-3.0.8/arch/x86/xen/xen-asm_32.S
22859--- linux-3.0.7/arch/x86/xen/xen-asm_32.S 2011-10-16 21:54:53.000000000 -0400 23064--- linux-3.0.8/arch/x86/xen/xen-asm_32.S 2011-10-24 08:05:30.000000000 -0400
22860+++ linux-3.0.7/arch/x86/xen/xen-asm_32.S 2011-10-16 21:55:27.000000000 -0400 23065+++ linux-3.0.8/arch/x86/xen/xen-asm_32.S 2011-10-16 21:55:27.000000000 -0400
22861@@ -83,14 +83,14 @@ ENTRY(xen_iret) 23066@@ -83,14 +83,14 @@ ENTRY(xen_iret)
22862 ESP_OFFSET=4 # bytes pushed onto stack 23067 ESP_OFFSET=4 # bytes pushed onto stack
22863 23068
@@ -22879,9 +23084,9 @@ diff -urNp linux-3.0.7/arch/x86/xen/xen-asm_32.S linux-3.0.7/arch/x86/xen/xen-as
22879 #else 23084 #else
22880 movl xen_vcpu, %eax 23085 movl xen_vcpu, %eax
22881 #endif 23086 #endif
22882diff -urNp linux-3.0.7/arch/x86/xen/xen-head.S linux-3.0.7/arch/x86/xen/xen-head.S 23087diff -urNp linux-3.0.8/arch/x86/xen/xen-head.S linux-3.0.8/arch/x86/xen/xen-head.S
22883--- linux-3.0.7/arch/x86/xen/xen-head.S 2011-07-21 22:17:23.000000000 -0400 23088--- linux-3.0.8/arch/x86/xen/xen-head.S 2011-07-21 22:17:23.000000000 -0400
22884+++ linux-3.0.7/arch/x86/xen/xen-head.S 2011-08-23 21:47:55.000000000 -0400 23089+++ linux-3.0.8/arch/x86/xen/xen-head.S 2011-08-23 21:47:55.000000000 -0400
22885@@ -19,6 +19,17 @@ ENTRY(startup_xen) 23090@@ -19,6 +19,17 @@ ENTRY(startup_xen)
22886 #ifdef CONFIG_X86_32 23091 #ifdef CONFIG_X86_32
22887 mov %esi,xen_start_info 23092 mov %esi,xen_start_info
@@ -22900,9 +23105,9 @@ diff -urNp linux-3.0.7/arch/x86/xen/xen-head.S linux-3.0.7/arch/x86/xen/xen-head
22900 #else 23105 #else
22901 mov %rsi,xen_start_info 23106 mov %rsi,xen_start_info
22902 mov $init_thread_union+THREAD_SIZE,%rsp 23107 mov $init_thread_union+THREAD_SIZE,%rsp
22903diff -urNp linux-3.0.7/arch/x86/xen/xen-ops.h linux-3.0.7/arch/x86/xen/xen-ops.h 23108diff -urNp linux-3.0.8/arch/x86/xen/xen-ops.h linux-3.0.8/arch/x86/xen/xen-ops.h
22904--- linux-3.0.7/arch/x86/xen/xen-ops.h 2011-09-02 18:11:21.000000000 -0400 23109--- linux-3.0.8/arch/x86/xen/xen-ops.h 2011-10-24 08:05:21.000000000 -0400
22905+++ linux-3.0.7/arch/x86/xen/xen-ops.h 2011-08-23 21:47:55.000000000 -0400 23110+++ linux-3.0.8/arch/x86/xen/xen-ops.h 2011-08-23 21:47:55.000000000 -0400
22906@@ -10,8 +10,6 @@ 23111@@ -10,8 +10,6 @@
22907 extern const char xen_hypervisor_callback[]; 23112 extern const char xen_hypervisor_callback[];
22908 extern const char xen_failsafe_callback[]; 23113 extern const char xen_failsafe_callback[];
@@ -22912,9 +23117,9 @@ diff -urNp linux-3.0.7/arch/x86/xen/xen-ops.h linux-3.0.7/arch/x86/xen/xen-ops.h
22912 struct trap_info; 23117 struct trap_info;
22913 void xen_copy_trap_info(struct trap_info *traps); 23118 void xen_copy_trap_info(struct trap_info *traps);
22914 23119
22915diff -urNp linux-3.0.7/block/blk-iopoll.c linux-3.0.7/block/blk-iopoll.c 23120diff -urNp linux-3.0.8/block/blk-iopoll.c linux-3.0.8/block/blk-iopoll.c
22916--- linux-3.0.7/block/blk-iopoll.c 2011-07-21 22:17:23.000000000 -0400 23121--- linux-3.0.8/block/blk-iopoll.c 2011-07-21 22:17:23.000000000 -0400
22917+++ linux-3.0.7/block/blk-iopoll.c 2011-08-23 21:47:55.000000000 -0400 23122+++ linux-3.0.8/block/blk-iopoll.c 2011-08-23 21:47:55.000000000 -0400
22918@@ -77,7 +77,7 @@ void blk_iopoll_complete(struct blk_iopo 23123@@ -77,7 +77,7 @@ void blk_iopoll_complete(struct blk_iopo
22919 } 23124 }
22920 EXPORT_SYMBOL(blk_iopoll_complete); 23125 EXPORT_SYMBOL(blk_iopoll_complete);
@@ -22924,9 +23129,9 @@ diff -urNp linux-3.0.7/block/blk-iopoll.c linux-3.0.7/block/blk-iopoll.c
22924 { 23129 {
22925 struct list_head *list = &__get_cpu_var(blk_cpu_iopoll); 23130 struct list_head *list = &__get_cpu_var(blk_cpu_iopoll);
22926 int rearm = 0, budget = blk_iopoll_budget; 23131 int rearm = 0, budget = blk_iopoll_budget;
22927diff -urNp linux-3.0.7/block/blk-map.c linux-3.0.7/block/blk-map.c 23132diff -urNp linux-3.0.8/block/blk-map.c linux-3.0.8/block/blk-map.c
22928--- linux-3.0.7/block/blk-map.c 2011-07-21 22:17:23.000000000 -0400 23133--- linux-3.0.8/block/blk-map.c 2011-07-21 22:17:23.000000000 -0400
22929+++ linux-3.0.7/block/blk-map.c 2011-08-23 21:47:55.000000000 -0400 23134+++ linux-3.0.8/block/blk-map.c 2011-08-23 21:47:55.000000000 -0400
22930@@ -301,7 +301,7 @@ int blk_rq_map_kern(struct request_queue 23135@@ -301,7 +301,7 @@ int blk_rq_map_kern(struct request_queue
22931 if (!len || !kbuf) 23136 if (!len || !kbuf)
22932 return -EINVAL; 23137 return -EINVAL;
@@ -22936,9 +23141,9 @@ diff -urNp linux-3.0.7/block/blk-map.c linux-3.0.7/block/blk-map.c
22936 if (do_copy) 23141 if (do_copy)
22937 bio = bio_copy_kern(q, kbuf, len, gfp_mask, reading); 23142 bio = bio_copy_kern(q, kbuf, len, gfp_mask, reading);
22938 else 23143 else
22939diff -urNp linux-3.0.7/block/blk-softirq.c linux-3.0.7/block/blk-softirq.c 23144diff -urNp linux-3.0.8/block/blk-softirq.c linux-3.0.8/block/blk-softirq.c
22940--- linux-3.0.7/block/blk-softirq.c 2011-07-21 22:17:23.000000000 -0400 23145--- linux-3.0.8/block/blk-softirq.c 2011-07-21 22:17:23.000000000 -0400
22941+++ linux-3.0.7/block/blk-softirq.c 2011-08-23 21:47:55.000000000 -0400 23146+++ linux-3.0.8/block/blk-softirq.c 2011-08-23 21:47:55.000000000 -0400
22942@@ -17,7 +17,7 @@ static DEFINE_PER_CPU(struct list_head, 23147@@ -17,7 +17,7 @@ static DEFINE_PER_CPU(struct list_head,
22943 * Softirq action handler - move entries to local list and loop over them 23148 * Softirq action handler - move entries to local list and loop over them
22944 * while passing them to the queue registered handler. 23149 * while passing them to the queue registered handler.
@@ -22948,9 +23153,9 @@ diff -urNp linux-3.0.7/block/blk-softirq.c linux-3.0.7/block/blk-softirq.c
22948 { 23153 {
22949 struct list_head *cpu_list, local_list; 23154 struct list_head *cpu_list, local_list;
22950 23155
22951diff -urNp linux-3.0.7/block/bsg.c linux-3.0.7/block/bsg.c 23156diff -urNp linux-3.0.8/block/bsg.c linux-3.0.8/block/bsg.c
22952--- linux-3.0.7/block/bsg.c 2011-07-21 22:17:23.000000000 -0400 23157--- linux-3.0.8/block/bsg.c 2011-07-21 22:17:23.000000000 -0400
22953+++ linux-3.0.7/block/bsg.c 2011-10-06 04:17:55.000000000 -0400 23158+++ linux-3.0.8/block/bsg.c 2011-10-06 04:17:55.000000000 -0400
22954@@ -176,16 +176,24 @@ static int blk_fill_sgv4_hdr_rq(struct r 23159@@ -176,16 +176,24 @@ static int blk_fill_sgv4_hdr_rq(struct r
22955 struct sg_io_v4 *hdr, struct bsg_device *bd, 23160 struct sg_io_v4 *hdr, struct bsg_device *bd,
22956 fmode_t has_write_perm) 23161 fmode_t has_write_perm)
@@ -23018,9 +23223,9 @@ diff -urNp linux-3.0.7/block/bsg.c linux-3.0.7/block/bsg.c
23018 rq->sense, len); 23223 rq->sense, len);
23019 if (!ret) 23224 if (!ret)
23020 hdr->response_len = len; 23225 hdr->response_len = len;
23021diff -urNp linux-3.0.7/block/compat_ioctl.c linux-3.0.7/block/compat_ioctl.c 23226diff -urNp linux-3.0.8/block/compat_ioctl.c linux-3.0.8/block/compat_ioctl.c
23022--- linux-3.0.7/block/compat_ioctl.c 2011-07-21 22:17:23.000000000 -0400 23227--- linux-3.0.8/block/compat_ioctl.c 2011-07-21 22:17:23.000000000 -0400
23023+++ linux-3.0.7/block/compat_ioctl.c 2011-10-06 04:17:55.000000000 -0400 23228+++ linux-3.0.8/block/compat_ioctl.c 2011-10-06 04:17:55.000000000 -0400
23024@@ -354,7 +354,7 @@ static int compat_fd_ioctl(struct block_ 23229@@ -354,7 +354,7 @@ static int compat_fd_ioctl(struct block_
23025 err |= __get_user(f->spec1, &uf->spec1); 23230 err |= __get_user(f->spec1, &uf->spec1);
23026 err |= __get_user(f->fmt_gap, &uf->fmt_gap); 23231 err |= __get_user(f->fmt_gap, &uf->fmt_gap);
@@ -23030,9 +23235,9 @@ diff -urNp linux-3.0.7/block/compat_ioctl.c linux-3.0.7/block/compat_ioctl.c
23030 if (err) { 23235 if (err) {
23031 err = -EFAULT; 23236 err = -EFAULT;
23032 goto out; 23237 goto out;
23033diff -urNp linux-3.0.7/block/scsi_ioctl.c linux-3.0.7/block/scsi_ioctl.c 23238diff -urNp linux-3.0.8/block/scsi_ioctl.c linux-3.0.8/block/scsi_ioctl.c
23034--- linux-3.0.7/block/scsi_ioctl.c 2011-07-21 22:17:23.000000000 -0400 23239--- linux-3.0.8/block/scsi_ioctl.c 2011-07-21 22:17:23.000000000 -0400
23035+++ linux-3.0.7/block/scsi_ioctl.c 2011-08-23 21:47:55.000000000 -0400 23240+++ linux-3.0.8/block/scsi_ioctl.c 2011-08-23 21:47:55.000000000 -0400
23036@@ -222,8 +222,20 @@ EXPORT_SYMBOL(blk_verify_command); 23241@@ -222,8 +222,20 @@ EXPORT_SYMBOL(blk_verify_command);
23037 static int blk_fill_sghdr_rq(struct request_queue *q, struct request *rq, 23242 static int blk_fill_sghdr_rq(struct request_queue *q, struct request *rq,
23038 struct sg_io_hdr *hdr, fmode_t mode) 23243 struct sg_io_hdr *hdr, fmode_t mode)
@@ -23084,9 +23289,9 @@ diff -urNp linux-3.0.7/block/scsi_ioctl.c linux-3.0.7/block/scsi_ioctl.c
23084 if (in_len && copy_from_user(buffer, sic->data + cmdlen, in_len)) 23289 if (in_len && copy_from_user(buffer, sic->data + cmdlen, in_len))
23085 goto error; 23290 goto error;
23086 23291
23087diff -urNp linux-3.0.7/crypto/cryptd.c linux-3.0.7/crypto/cryptd.c 23292diff -urNp linux-3.0.8/crypto/cryptd.c linux-3.0.8/crypto/cryptd.c
23088--- linux-3.0.7/crypto/cryptd.c 2011-07-21 22:17:23.000000000 -0400 23293--- linux-3.0.8/crypto/cryptd.c 2011-07-21 22:17:23.000000000 -0400
23089+++ linux-3.0.7/crypto/cryptd.c 2011-08-23 21:47:55.000000000 -0400 23294+++ linux-3.0.8/crypto/cryptd.c 2011-08-23 21:47:55.000000000 -0400
23090@@ -63,7 +63,7 @@ struct cryptd_blkcipher_ctx { 23295@@ -63,7 +63,7 @@ struct cryptd_blkcipher_ctx {
23091 23296
23092 struct cryptd_blkcipher_request_ctx { 23297 struct cryptd_blkcipher_request_ctx {
@@ -23105,9 +23310,9 @@ diff -urNp linux-3.0.7/crypto/cryptd.c linux-3.0.7/crypto/cryptd.c
23105 23310
23106 static void cryptd_queue_worker(struct work_struct *work); 23311 static void cryptd_queue_worker(struct work_struct *work);
23107 23312
23108diff -urNp linux-3.0.7/crypto/gf128mul.c linux-3.0.7/crypto/gf128mul.c 23313diff -urNp linux-3.0.8/crypto/gf128mul.c linux-3.0.8/crypto/gf128mul.c
23109--- linux-3.0.7/crypto/gf128mul.c 2011-07-21 22:17:23.000000000 -0400 23314--- linux-3.0.8/crypto/gf128mul.c 2011-07-21 22:17:23.000000000 -0400
23110+++ linux-3.0.7/crypto/gf128mul.c 2011-08-23 21:47:55.000000000 -0400 23315+++ linux-3.0.8/crypto/gf128mul.c 2011-08-23 21:47:55.000000000 -0400
23111@@ -182,7 +182,7 @@ void gf128mul_lle(be128 *r, const be128 23316@@ -182,7 +182,7 @@ void gf128mul_lle(be128 *r, const be128
23112 for (i = 0; i < 7; ++i) 23317 for (i = 0; i < 7; ++i)
23113 gf128mul_x_lle(&p[i + 1], &p[i]); 23318 gf128mul_x_lle(&p[i + 1], &p[i]);
@@ -23126,9 +23331,9 @@ diff -urNp linux-3.0.7/crypto/gf128mul.c linux-3.0.7/crypto/gf128mul.c
23126 for (i = 0;;) { 23331 for (i = 0;;) {
23127 u8 ch = ((u8 *)b)[i]; 23332 u8 ch = ((u8 *)b)[i];
23128 23333
23129diff -urNp linux-3.0.7/crypto/serpent.c linux-3.0.7/crypto/serpent.c 23334diff -urNp linux-3.0.8/crypto/serpent.c linux-3.0.8/crypto/serpent.c
23130--- linux-3.0.7/crypto/serpent.c 2011-07-21 22:17:23.000000000 -0400 23335--- linux-3.0.8/crypto/serpent.c 2011-07-21 22:17:23.000000000 -0400
23131+++ linux-3.0.7/crypto/serpent.c 2011-08-23 21:48:14.000000000 -0400 23336+++ linux-3.0.8/crypto/serpent.c 2011-08-23 21:48:14.000000000 -0400
23132@@ -224,6 +224,8 @@ static int serpent_setkey(struct crypto_ 23337@@ -224,6 +224,8 @@ static int serpent_setkey(struct crypto_
23133 u32 r0,r1,r2,r3,r4; 23338 u32 r0,r1,r2,r3,r4;
23134 int i; 23339 int i;
@@ -23138,9 +23343,166 @@ diff -urNp linux-3.0.7/crypto/serpent.c linux-3.0.7/crypto/serpent.c
23138 /* Copy key, add padding */ 23343 /* Copy key, add padding */
23139 23344
23140 for (i = 0; i < keylen; ++i) 23345 for (i = 0; i < keylen; ++i)
23141diff -urNp linux-3.0.7/drivers/acpi/apei/cper.c linux-3.0.7/drivers/acpi/apei/cper.c 23346diff -urNp linux-3.0.8/Documentation/dontdiff linux-3.0.8/Documentation/dontdiff
23142--- linux-3.0.7/drivers/acpi/apei/cper.c 2011-07-21 22:17:23.000000000 -0400 23347--- linux-3.0.8/Documentation/dontdiff 2011-07-21 22:17:23.000000000 -0400
23143+++ linux-3.0.7/drivers/acpi/apei/cper.c 2011-08-23 21:47:55.000000000 -0400 23348+++ linux-3.0.8/Documentation/dontdiff 2011-10-20 04:46:01.000000000 -0400
23349@@ -5,6 +5,7 @@
23350 *.cis
23351 *.cpio
23352 *.csp
23353+*.dbg
23354 *.dsp
23355 *.dvi
23356 *.elf
23357@@ -48,9 +49,11 @@
23358 *.tab.h
23359 *.tex
23360 *.ver
23361+*.vim
23362 *.xml
23363 *.xz
23364 *_MODULES
23365+*_reg_safe.h
23366 *_vga16.c
23367 *~
23368 \#*#
23369@@ -70,6 +73,7 @@ Kerntypes
23370 Module.markers
23371 Module.symvers
23372 PENDING
23373+PERF*
23374 SCCS
23375 System.map*
23376 TAGS
23377@@ -98,14 +102,18 @@ bzImage*
23378 capability_names.h
23379 capflags.c
23380 classlist.h*
23381+clut_vga16.c
23382+common-cmds.h
23383 comp*.log
23384 compile.h*
23385 conf
23386 config
23387 config-*
23388 config_data.h*
23389+config.c
23390 config.mak
23391 config.mak.autogen
23392+config.tmp
23393 conmakehash
23394 consolemap_deftbl.c*
23395 cpustr.h
23396@@ -126,12 +134,14 @@ fore200e_pca_fw.c*
23397 gconf
23398 gconf.glade.h
23399 gen-devlist
23400+gen-kdb_cmds.c
23401 gen_crc32table
23402 gen_init_cpio
23403 generated
23404 genheaders
23405 genksyms
23406 *_gray256.c
23407+hash
23408 hpet_example
23409 hugepage-mmap
23410 hugepage-shm
23411@@ -146,7 +156,7 @@ int32.c
23412 int4.c
23413 int8.c
23414 kallsyms
23415-kconfig
23416+kern_constants.h
23417 keywords.c
23418 ksym.c*
23419 ksym.h*
23420@@ -154,7 +164,6 @@ kxgettext
23421 lkc_defs.h
23422 lex.c
23423 lex.*.c
23424-linux
23425 logo_*.c
23426 logo_*_clut224.c
23427 logo_*_mono.c
23428@@ -166,7 +175,6 @@ machtypes.h
23429 map
23430 map_hugetlb
23431 maui_boot.h
23432-media
23433 mconf
23434 miboot*
23435 mk_elfconfig
23436@@ -174,6 +182,7 @@ mkboot
23437 mkbugboot
23438 mkcpustr
23439 mkdep
23440+mkpiggy
23441 mkprep
23442 mkregtable
23443 mktables
23444@@ -209,6 +218,7 @@ r300_reg_safe.h
23445 r420_reg_safe.h
23446 r600_reg_safe.h
23447 recordmcount
23448+regdb.c
23449 relocs
23450 rlim_names.h
23451 rn50_reg_safe.h
23452@@ -219,6 +229,7 @@ setup
23453 setup.bin
23454 setup.elf
23455 sImage
23456+slabinfo
23457 sm_tbl*
23458 split-include
23459 syscalltab.h
23460@@ -229,6 +240,7 @@ tftpboot.img
23461 timeconst.h
23462 times.h*
23463 trix_boot.h
23464+user_constants.h
23465 utsrelease.h*
23466 vdso-syms.lds
23467 vdso.lds
23468@@ -246,7 +258,9 @@ vmlinux
23469 vmlinux-*
23470 vmlinux.aout
23471 vmlinux.bin.all
23472+vmlinux.bin.bz2
23473 vmlinux.lds
23474+vmlinux.relocs
23475 vmlinuz
23476 voffset.h
23477 vsyscall.lds
23478@@ -254,6 +268,7 @@ vsyscall_32.lds
23479 wanxlfw.inc
23480 uImage
23481 unifdef
23482+utsrelease.h
23483 wakeup.bin
23484 wakeup.elf
23485 wakeup.lds
23486diff -urNp linux-3.0.8/Documentation/kernel-parameters.txt linux-3.0.8/Documentation/kernel-parameters.txt
23487--- linux-3.0.8/Documentation/kernel-parameters.txt 2011-07-21 22:17:23.000000000 -0400
23488+++ linux-3.0.8/Documentation/kernel-parameters.txt 2011-08-23 21:47:55.000000000 -0400
23489@@ -1883,6 +1883,13 @@ bytes respectively. Such letter suffixes
23490 the specified number of seconds. This is to be used if
23491 your oopses keep scrolling off the screen.
23492
23493+ pax_nouderef [X86] disables UDEREF. Most likely needed under certain
23494+ virtualization environments that don't cope well with the
23495+ expand down segment used by UDEREF on X86-32 or the frequent
23496+ page table updates on X86-64.
23497+
23498+ pax_softmode= 0/1 to disable/enable PaX softmode on boot already.
23499+
23500 pcbit= [HW,ISDN]
23501
23502 pcd. [PARIDE]
23503diff -urNp linux-3.0.8/drivers/acpi/apei/cper.c linux-3.0.8/drivers/acpi/apei/cper.c
23504--- linux-3.0.8/drivers/acpi/apei/cper.c 2011-07-21 22:17:23.000000000 -0400
23505+++ linux-3.0.8/drivers/acpi/apei/cper.c 2011-08-23 21:47:55.000000000 -0400
23144@@ -38,12 +38,12 @@ 23506@@ -38,12 +38,12 @@
23145 */ 23507 */
23146 u64 cper_next_record_id(void) 23508 u64 cper_next_record_id(void)
@@ -23158,9 +23520,9 @@ diff -urNp linux-3.0.7/drivers/acpi/apei/cper.c linux-3.0.7/drivers/acpi/apei/cp
23158 } 23520 }
23159 EXPORT_SYMBOL_GPL(cper_next_record_id); 23521 EXPORT_SYMBOL_GPL(cper_next_record_id);
23160 23522
23161diff -urNp linux-3.0.7/drivers/acpi/ec_sys.c linux-3.0.7/drivers/acpi/ec_sys.c 23523diff -urNp linux-3.0.8/drivers/acpi/ec_sys.c linux-3.0.8/drivers/acpi/ec_sys.c
23162--- linux-3.0.7/drivers/acpi/ec_sys.c 2011-07-21 22:17:23.000000000 -0400 23524--- linux-3.0.8/drivers/acpi/ec_sys.c 2011-07-21 22:17:23.000000000 -0400
23163+++ linux-3.0.7/drivers/acpi/ec_sys.c 2011-08-24 19:06:55.000000000 -0400 23525+++ linux-3.0.8/drivers/acpi/ec_sys.c 2011-08-24 19:06:55.000000000 -0400
23164@@ -11,6 +11,7 @@ 23526@@ -11,6 +11,7 @@
23165 #include <linux/kernel.h> 23527 #include <linux/kernel.h>
23166 #include <linux/acpi.h> 23528 #include <linux/acpi.h>
@@ -23210,9 +23572,9 @@ diff -urNp linux-3.0.7/drivers/acpi/ec_sys.c linux-3.0.7/drivers/acpi/ec_sys.c
23210 err = ec_write(*off, byte_write); 23572 err = ec_write(*off, byte_write);
23211 if (err) 23573 if (err)
23212 return err; 23574 return err;
23213diff -urNp linux-3.0.7/drivers/acpi/proc.c linux-3.0.7/drivers/acpi/proc.c 23575diff -urNp linux-3.0.8/drivers/acpi/proc.c linux-3.0.8/drivers/acpi/proc.c
23214--- linux-3.0.7/drivers/acpi/proc.c 2011-07-21 22:17:23.000000000 -0400 23576--- linux-3.0.8/drivers/acpi/proc.c 2011-07-21 22:17:23.000000000 -0400
23215+++ linux-3.0.7/drivers/acpi/proc.c 2011-08-23 21:47:55.000000000 -0400 23577+++ linux-3.0.8/drivers/acpi/proc.c 2011-08-23 21:47:55.000000000 -0400
23216@@ -342,19 +342,13 @@ acpi_system_write_wakeup_device(struct f 23578@@ -342,19 +342,13 @@ acpi_system_write_wakeup_device(struct f
23217 size_t count, loff_t * ppos) 23579 size_t count, loff_t * ppos)
23218 { 23580 {
@@ -23247,9 +23609,9 @@ diff -urNp linux-3.0.7/drivers/acpi/proc.c linux-3.0.7/drivers/acpi/proc.c
23247 if (device_can_wakeup(&dev->dev)) { 23609 if (device_can_wakeup(&dev->dev)) {
23248 bool enable = !device_may_wakeup(&dev->dev); 23610 bool enable = !device_may_wakeup(&dev->dev);
23249 device_set_wakeup_enable(&dev->dev, enable); 23611 device_set_wakeup_enable(&dev->dev, enable);
23250diff -urNp linux-3.0.7/drivers/acpi/processor_driver.c linux-3.0.7/drivers/acpi/processor_driver.c 23612diff -urNp linux-3.0.8/drivers/acpi/processor_driver.c linux-3.0.8/drivers/acpi/processor_driver.c
23251--- linux-3.0.7/drivers/acpi/processor_driver.c 2011-07-21 22:17:23.000000000 -0400 23613--- linux-3.0.8/drivers/acpi/processor_driver.c 2011-07-21 22:17:23.000000000 -0400
23252+++ linux-3.0.7/drivers/acpi/processor_driver.c 2011-08-23 21:47:55.000000000 -0400 23614+++ linux-3.0.8/drivers/acpi/processor_driver.c 2011-08-23 21:47:55.000000000 -0400
23253@@ -473,7 +473,7 @@ static int __cpuinit acpi_processor_add( 23615@@ -473,7 +473,7 @@ static int __cpuinit acpi_processor_add(
23254 return 0; 23616 return 0;
23255 #endif 23617 #endif
@@ -23259,9 +23621,9 @@ diff -urNp linux-3.0.7/drivers/acpi/processor_driver.c linux-3.0.7/drivers/acpi/
23259 23621
23260 /* 23622 /*
23261 * Buggy BIOS check 23623 * Buggy BIOS check
23262diff -urNp linux-3.0.7/drivers/ata/libata-core.c linux-3.0.7/drivers/ata/libata-core.c 23624diff -urNp linux-3.0.8/drivers/ata/libata-core.c linux-3.0.8/drivers/ata/libata-core.c
23263--- linux-3.0.7/drivers/ata/libata-core.c 2011-07-21 22:17:23.000000000 -0400 23625--- linux-3.0.8/drivers/ata/libata-core.c 2011-07-21 22:17:23.000000000 -0400
23264+++ linux-3.0.7/drivers/ata/libata-core.c 2011-08-23 21:47:55.000000000 -0400 23626+++ linux-3.0.8/drivers/ata/libata-core.c 2011-08-23 21:47:55.000000000 -0400
23265@@ -4753,7 +4753,7 @@ void ata_qc_free(struct ata_queued_cmd * 23627@@ -4753,7 +4753,7 @@ void ata_qc_free(struct ata_queued_cmd *
23266 struct ata_port *ap; 23628 struct ata_port *ap;
23267 unsigned int tag; 23629 unsigned int tag;
@@ -23299,9 +23661,9 @@ diff -urNp linux-3.0.7/drivers/ata/libata-core.c linux-3.0.7/drivers/ata/libata-
23299 spin_unlock(&lock); 23661 spin_unlock(&lock);
23300 } 23662 }
23301 23663
23302diff -urNp linux-3.0.7/drivers/ata/libata-eh.c linux-3.0.7/drivers/ata/libata-eh.c 23664diff -urNp linux-3.0.8/drivers/ata/libata-eh.c linux-3.0.8/drivers/ata/libata-eh.c
23303--- linux-3.0.7/drivers/ata/libata-eh.c 2011-07-21 22:17:23.000000000 -0400 23665--- linux-3.0.8/drivers/ata/libata-eh.c 2011-07-21 22:17:23.000000000 -0400
23304+++ linux-3.0.7/drivers/ata/libata-eh.c 2011-08-23 21:48:14.000000000 -0400 23666+++ linux-3.0.8/drivers/ata/libata-eh.c 2011-08-23 21:48:14.000000000 -0400
23305@@ -2518,6 +2518,8 @@ void ata_eh_report(struct ata_port *ap) 23667@@ -2518,6 +2518,8 @@ void ata_eh_report(struct ata_port *ap)
23306 { 23668 {
23307 struct ata_link *link; 23669 struct ata_link *link;
@@ -23311,9 +23673,9 @@ diff -urNp linux-3.0.7/drivers/ata/libata-eh.c linux-3.0.7/drivers/ata/libata-eh
23311 ata_for_each_link(link, ap, HOST_FIRST) 23673 ata_for_each_link(link, ap, HOST_FIRST)
23312 ata_eh_link_report(link); 23674 ata_eh_link_report(link);
23313 } 23675 }
23314diff -urNp linux-3.0.7/drivers/ata/pata_arasan_cf.c linux-3.0.7/drivers/ata/pata_arasan_cf.c 23676diff -urNp linux-3.0.8/drivers/ata/pata_arasan_cf.c linux-3.0.8/drivers/ata/pata_arasan_cf.c
23315--- linux-3.0.7/drivers/ata/pata_arasan_cf.c 2011-07-21 22:17:23.000000000 -0400 23677--- linux-3.0.8/drivers/ata/pata_arasan_cf.c 2011-07-21 22:17:23.000000000 -0400
23316+++ linux-3.0.7/drivers/ata/pata_arasan_cf.c 2011-08-23 21:47:55.000000000 -0400 23678+++ linux-3.0.8/drivers/ata/pata_arasan_cf.c 2011-08-23 21:47:55.000000000 -0400
23317@@ -862,7 +862,9 @@ static int __devinit arasan_cf_probe(str 23679@@ -862,7 +862,9 @@ static int __devinit arasan_cf_probe(str
23318 /* Handle platform specific quirks */ 23680 /* Handle platform specific quirks */
23319 if (pdata->quirk) { 23681 if (pdata->quirk) {
@@ -23325,9 +23687,9 @@ diff -urNp linux-3.0.7/drivers/ata/pata_arasan_cf.c linux-3.0.7/drivers/ata/pata
23325 ap->pio_mask = 0; 23687 ap->pio_mask = 0;
23326 } 23688 }
23327 if (pdata->quirk & CF_BROKEN_MWDMA) 23689 if (pdata->quirk & CF_BROKEN_MWDMA)
23328diff -urNp linux-3.0.7/drivers/atm/adummy.c linux-3.0.7/drivers/atm/adummy.c 23690diff -urNp linux-3.0.8/drivers/atm/adummy.c linux-3.0.8/drivers/atm/adummy.c
23329--- linux-3.0.7/drivers/atm/adummy.c 2011-07-21 22:17:23.000000000 -0400 23691--- linux-3.0.8/drivers/atm/adummy.c 2011-07-21 22:17:23.000000000 -0400
23330+++ linux-3.0.7/drivers/atm/adummy.c 2011-08-23 21:47:55.000000000 -0400 23692+++ linux-3.0.8/drivers/atm/adummy.c 2011-08-23 21:47:55.000000000 -0400
23331@@ -114,7 +114,7 @@ adummy_send(struct atm_vcc *vcc, struct 23693@@ -114,7 +114,7 @@ adummy_send(struct atm_vcc *vcc, struct
23332 vcc->pop(vcc, skb); 23694 vcc->pop(vcc, skb);
23333 else 23695 else
@@ -23337,9 +23699,9 @@ diff -urNp linux-3.0.7/drivers/atm/adummy.c linux-3.0.7/drivers/atm/adummy.c
23337 23699
23338 return 0; 23700 return 0;
23339 } 23701 }
23340diff -urNp linux-3.0.7/drivers/atm/ambassador.c linux-3.0.7/drivers/atm/ambassador.c 23702diff -urNp linux-3.0.8/drivers/atm/ambassador.c linux-3.0.8/drivers/atm/ambassador.c
23341--- linux-3.0.7/drivers/atm/ambassador.c 2011-07-21 22:17:23.000000000 -0400 23703--- linux-3.0.8/drivers/atm/ambassador.c 2011-07-21 22:17:23.000000000 -0400
23342+++ linux-3.0.7/drivers/atm/ambassador.c 2011-08-23 21:47:55.000000000 -0400 23704+++ linux-3.0.8/drivers/atm/ambassador.c 2011-08-23 21:47:55.000000000 -0400
23343@@ -454,7 +454,7 @@ static void tx_complete (amb_dev * dev, 23705@@ -454,7 +454,7 @@ static void tx_complete (amb_dev * dev,
23344 PRINTD (DBG_FLOW|DBG_TX, "tx_complete %p %p", dev, tx); 23706 PRINTD (DBG_FLOW|DBG_TX, "tx_complete %p %p", dev, tx);
23345 23707
@@ -23376,9 +23738,9 @@ diff -urNp linux-3.0.7/drivers/atm/ambassador.c linux-3.0.7/drivers/atm/ambassad
23376 return -ENOMEM; // ? 23738 return -ENOMEM; // ?
23377 } 23739 }
23378 23740
23379diff -urNp linux-3.0.7/drivers/atm/atmtcp.c linux-3.0.7/drivers/atm/atmtcp.c 23741diff -urNp linux-3.0.8/drivers/atm/atmtcp.c linux-3.0.8/drivers/atm/atmtcp.c
23380--- linux-3.0.7/drivers/atm/atmtcp.c 2011-07-21 22:17:23.000000000 -0400 23742--- linux-3.0.8/drivers/atm/atmtcp.c 2011-07-21 22:17:23.000000000 -0400
23381+++ linux-3.0.7/drivers/atm/atmtcp.c 2011-08-23 21:47:55.000000000 -0400 23743+++ linux-3.0.8/drivers/atm/atmtcp.c 2011-08-23 21:47:55.000000000 -0400
23382@@ -207,7 +207,7 @@ static int atmtcp_v_send(struct atm_vcc 23744@@ -207,7 +207,7 @@ static int atmtcp_v_send(struct atm_vcc
23383 if (vcc->pop) vcc->pop(vcc,skb); 23745 if (vcc->pop) vcc->pop(vcc,skb);
23384 else dev_kfree_skb(skb); 23746 else dev_kfree_skb(skb);
@@ -23428,9 +23790,9 @@ diff -urNp linux-3.0.7/drivers/atm/atmtcp.c linux-3.0.7/drivers/atm/atmtcp.c
23428 done: 23790 done:
23429 if (vcc->pop) vcc->pop(vcc,skb); 23791 if (vcc->pop) vcc->pop(vcc,skb);
23430 else dev_kfree_skb(skb); 23792 else dev_kfree_skb(skb);
23431diff -urNp linux-3.0.7/drivers/atm/eni.c linux-3.0.7/drivers/atm/eni.c 23793diff -urNp linux-3.0.8/drivers/atm/eni.c linux-3.0.8/drivers/atm/eni.c
23432--- linux-3.0.7/drivers/atm/eni.c 2011-07-21 22:17:23.000000000 -0400 23794--- linux-3.0.8/drivers/atm/eni.c 2011-07-21 22:17:23.000000000 -0400
23433+++ linux-3.0.7/drivers/atm/eni.c 2011-10-11 10:44:33.000000000 -0400 23795+++ linux-3.0.8/drivers/atm/eni.c 2011-10-11 10:44:33.000000000 -0400
23434@@ -526,7 +526,7 @@ static int rx_aal0(struct atm_vcc *vcc) 23796@@ -526,7 +526,7 @@ static int rx_aal0(struct atm_vcc *vcc)
23435 DPRINTK(DEV_LABEL "(itf %d): trashing empty cell\n", 23797 DPRINTK(DEV_LABEL "(itf %d): trashing empty cell\n",
23436 vcc->dev->number); 23798 vcc->dev->number);
@@ -23485,9 +23847,9 @@ diff -urNp linux-3.0.7/drivers/atm/eni.c linux-3.0.7/drivers/atm/eni.c
23485 "MMF", "SMF", "MMF", "03?", /* 0- 3 */ 23847 "MMF", "SMF", "MMF", "03?", /* 0- 3 */
23486 "UTP", "05?", "06?", "07?", /* 4- 7 */ 23848 "UTP", "05?", "06?", "07?", /* 4- 7 */
23487 "TAXI","09?", "10?", "11?", /* 8-11 */ 23849 "TAXI","09?", "10?", "11?", /* 8-11 */
23488diff -urNp linux-3.0.7/drivers/atm/firestream.c linux-3.0.7/drivers/atm/firestream.c 23850diff -urNp linux-3.0.8/drivers/atm/firestream.c linux-3.0.8/drivers/atm/firestream.c
23489--- linux-3.0.7/drivers/atm/firestream.c 2011-07-21 22:17:23.000000000 -0400 23851--- linux-3.0.8/drivers/atm/firestream.c 2011-07-21 22:17:23.000000000 -0400
23490+++ linux-3.0.7/drivers/atm/firestream.c 2011-08-23 21:47:55.000000000 -0400 23852+++ linux-3.0.8/drivers/atm/firestream.c 2011-08-23 21:47:55.000000000 -0400
23491@@ -749,7 +749,7 @@ static void process_txdone_queue (struct 23853@@ -749,7 +749,7 @@ static void process_txdone_queue (struct
23492 } 23854 }
23493 } 23855 }
@@ -23521,9 +23883,9 @@ diff -urNp linux-3.0.7/drivers/atm/firestream.c linux-3.0.7/drivers/atm/firestre
23521 break; 23883 break;
23522 default: /* Hmm. Haven't written the code to handle the others yet... -- REW */ 23884 default: /* Hmm. Haven't written the code to handle the others yet... -- REW */
23523 printk (KERN_WARNING "Don't know what to do with RX status %x: %s.\n", 23885 printk (KERN_WARNING "Don't know what to do with RX status %x: %s.\n",
23524diff -urNp linux-3.0.7/drivers/atm/fore200e.c linux-3.0.7/drivers/atm/fore200e.c 23886diff -urNp linux-3.0.8/drivers/atm/fore200e.c linux-3.0.8/drivers/atm/fore200e.c
23525--- linux-3.0.7/drivers/atm/fore200e.c 2011-07-21 22:17:23.000000000 -0400 23887--- linux-3.0.8/drivers/atm/fore200e.c 2011-07-21 22:17:23.000000000 -0400
23526+++ linux-3.0.7/drivers/atm/fore200e.c 2011-08-23 21:47:55.000000000 -0400 23888+++ linux-3.0.8/drivers/atm/fore200e.c 2011-08-23 21:47:55.000000000 -0400
23527@@ -933,9 +933,9 @@ fore200e_tx_irq(struct fore200e* fore200 23889@@ -933,9 +933,9 @@ fore200e_tx_irq(struct fore200e* fore200
23528 #endif 23890 #endif
23529 /* check error condition */ 23891 /* check error condition */
@@ -23580,9 +23942,9 @@ diff -urNp linux-3.0.7/drivers/atm/fore200e.c linux-3.0.7/drivers/atm/fore200e.c
23580 23942
23581 fore200e->tx_sat++; 23943 fore200e->tx_sat++;
23582 DPRINTK(2, "tx queue of device %s is saturated, PDU dropped - heartbeat is %08x\n", 23944 DPRINTK(2, "tx queue of device %s is saturated, PDU dropped - heartbeat is %08x\n",
23583diff -urNp linux-3.0.7/drivers/atm/he.c linux-3.0.7/drivers/atm/he.c 23945diff -urNp linux-3.0.8/drivers/atm/he.c linux-3.0.8/drivers/atm/he.c
23584--- linux-3.0.7/drivers/atm/he.c 2011-07-21 22:17:23.000000000 -0400 23946--- linux-3.0.8/drivers/atm/he.c 2011-07-21 22:17:23.000000000 -0400
23585+++ linux-3.0.7/drivers/atm/he.c 2011-08-23 21:47:55.000000000 -0400 23947+++ linux-3.0.8/drivers/atm/he.c 2011-08-23 21:47:55.000000000 -0400
23586@@ -1709,7 +1709,7 @@ he_service_rbrq(struct he_dev *he_dev, i 23948@@ -1709,7 +1709,7 @@ he_service_rbrq(struct he_dev *he_dev, i
23587 23949
23588 if (RBRQ_HBUF_ERR(he_dev->rbrq_head)) { 23950 if (RBRQ_HBUF_ERR(he_dev->rbrq_head)) {
@@ -23664,9 +24026,9 @@ diff -urNp linux-3.0.7/drivers/atm/he.c linux-3.0.7/drivers/atm/he.c
23664 24026
23665 return 0; 24027 return 0;
23666 } 24028 }
23667diff -urNp linux-3.0.7/drivers/atm/horizon.c linux-3.0.7/drivers/atm/horizon.c 24029diff -urNp linux-3.0.8/drivers/atm/horizon.c linux-3.0.8/drivers/atm/horizon.c
23668--- linux-3.0.7/drivers/atm/horizon.c 2011-07-21 22:17:23.000000000 -0400 24030--- linux-3.0.8/drivers/atm/horizon.c 2011-07-21 22:17:23.000000000 -0400
23669+++ linux-3.0.7/drivers/atm/horizon.c 2011-08-23 21:47:55.000000000 -0400 24031+++ linux-3.0.8/drivers/atm/horizon.c 2011-08-23 21:47:55.000000000 -0400
23670@@ -1034,7 +1034,7 @@ static void rx_schedule (hrz_dev * dev, 24032@@ -1034,7 +1034,7 @@ static void rx_schedule (hrz_dev * dev,
23671 { 24033 {
23672 struct atm_vcc * vcc = ATM_SKB(skb)->vcc; 24034 struct atm_vcc * vcc = ATM_SKB(skb)->vcc;
@@ -23685,9 +24047,9 @@ diff -urNp linux-3.0.7/drivers/atm/horizon.c linux-3.0.7/drivers/atm/horizon.c
23685 24047
23686 // free the skb 24048 // free the skb
23687 hrz_kfree_skb (skb); 24049 hrz_kfree_skb (skb);
23688diff -urNp linux-3.0.7/drivers/atm/idt77252.c linux-3.0.7/drivers/atm/idt77252.c 24050diff -urNp linux-3.0.8/drivers/atm/idt77252.c linux-3.0.8/drivers/atm/idt77252.c
23689--- linux-3.0.7/drivers/atm/idt77252.c 2011-07-21 22:17:23.000000000 -0400 24051--- linux-3.0.8/drivers/atm/idt77252.c 2011-07-21 22:17:23.000000000 -0400
23690+++ linux-3.0.7/drivers/atm/idt77252.c 2011-08-23 21:47:55.000000000 -0400 24052+++ linux-3.0.8/drivers/atm/idt77252.c 2011-08-23 21:47:55.000000000 -0400
23691@@ -811,7 +811,7 @@ drain_scq(struct idt77252_dev *card, str 24053@@ -811,7 +811,7 @@ drain_scq(struct idt77252_dev *card, str
23692 else 24054 else
23693 dev_kfree_skb(skb); 24055 dev_kfree_skb(skb);
@@ -23842,9 +24204,9 @@ diff -urNp linux-3.0.7/drivers/atm/idt77252.c linux-3.0.7/drivers/atm/idt77252.c
23842 return -ENOMEM; 24204 return -ENOMEM;
23843 } 24205 }
23844 atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc); 24206 atomic_add(skb->truesize, &sk_atm(vcc)->sk_wmem_alloc);
23845diff -urNp linux-3.0.7/drivers/atm/iphase.c linux-3.0.7/drivers/atm/iphase.c 24207diff -urNp linux-3.0.8/drivers/atm/iphase.c linux-3.0.8/drivers/atm/iphase.c
23846--- linux-3.0.7/drivers/atm/iphase.c 2011-07-21 22:17:23.000000000 -0400 24208--- linux-3.0.8/drivers/atm/iphase.c 2011-07-21 22:17:23.000000000 -0400
23847+++ linux-3.0.7/drivers/atm/iphase.c 2011-08-23 21:47:55.000000000 -0400 24209+++ linux-3.0.8/drivers/atm/iphase.c 2011-08-23 21:47:55.000000000 -0400
23848@@ -1120,7 +1120,7 @@ static int rx_pkt(struct atm_dev *dev) 24210@@ -1120,7 +1120,7 @@ static int rx_pkt(struct atm_dev *dev)
23849 status = (u_short) (buf_desc_ptr->desc_mode); 24211 status = (u_short) (buf_desc_ptr->desc_mode);
23850 if (status & (RX_CER | RX_PTE | RX_OFL)) 24212 if (status & (RX_CER | RX_PTE | RX_OFL))
@@ -23941,9 +24303,9 @@ diff -urNp linux-3.0.7/drivers/atm/iphase.c linux-3.0.7/drivers/atm/iphase.c
23941 if (iavcc->vc_desc_cnt > 10) { 24303 if (iavcc->vc_desc_cnt > 10) {
23942 vcc->tx_quota = vcc->tx_quota * 3 / 4; 24304 vcc->tx_quota = vcc->tx_quota * 3 / 4;
23943 printk("Tx1: vcc->tx_quota = %d \n", (u32)vcc->tx_quota ); 24305 printk("Tx1: vcc->tx_quota = %d \n", (u32)vcc->tx_quota );
23944diff -urNp linux-3.0.7/drivers/atm/lanai.c linux-3.0.7/drivers/atm/lanai.c 24306diff -urNp linux-3.0.8/drivers/atm/lanai.c linux-3.0.8/drivers/atm/lanai.c
23945--- linux-3.0.7/drivers/atm/lanai.c 2011-07-21 22:17:23.000000000 -0400 24307--- linux-3.0.8/drivers/atm/lanai.c 2011-07-21 22:17:23.000000000 -0400
23946+++ linux-3.0.7/drivers/atm/lanai.c 2011-08-23 21:47:55.000000000 -0400 24308+++ linux-3.0.8/drivers/atm/lanai.c 2011-08-23 21:47:55.000000000 -0400
23947@@ -1303,7 +1303,7 @@ static void lanai_send_one_aal5(struct l 24309@@ -1303,7 +1303,7 @@ static void lanai_send_one_aal5(struct l
23948 vcc_tx_add_aal5_trailer(lvcc, skb->len, 0, 0); 24310 vcc_tx_add_aal5_trailer(lvcc, skb->len, 0, 0);
23949 lanai_endtx(lanai, lvcc); 24311 lanai_endtx(lanai, lvcc);
@@ -23998,9 +24360,9 @@ diff -urNp linux-3.0.7/drivers/atm/lanai.c linux-3.0.7/drivers/atm/lanai.c
23998 lvcc->stats.x.aal5.service_rxcrc++; 24360 lvcc->stats.x.aal5.service_rxcrc++;
23999 lvcc->rx.buf.ptr = &lvcc->rx.buf.start[SERVICE_GET_END(s) * 4]; 24361 lvcc->rx.buf.ptr = &lvcc->rx.buf.start[SERVICE_GET_END(s) * 4];
24000 cardvcc_write(lvcc, SERVICE_GET_END(s), vcc_rxreadptr); 24362 cardvcc_write(lvcc, SERVICE_GET_END(s), vcc_rxreadptr);
24001diff -urNp linux-3.0.7/drivers/atm/nicstar.c linux-3.0.7/drivers/atm/nicstar.c 24363diff -urNp linux-3.0.8/drivers/atm/nicstar.c linux-3.0.8/drivers/atm/nicstar.c
24002--- linux-3.0.7/drivers/atm/nicstar.c 2011-07-21 22:17:23.000000000 -0400 24364--- linux-3.0.8/drivers/atm/nicstar.c 2011-07-21 22:17:23.000000000 -0400
24003+++ linux-3.0.7/drivers/atm/nicstar.c 2011-08-23 21:47:55.000000000 -0400 24365+++ linux-3.0.8/drivers/atm/nicstar.c 2011-08-23 21:47:55.000000000 -0400
24004@@ -1654,7 +1654,7 @@ static int ns_send(struct atm_vcc *vcc, 24366@@ -1654,7 +1654,7 @@ static int ns_send(struct atm_vcc *vcc,
24005 if ((vc = (vc_map *) vcc->dev_data) == NULL) { 24367 if ((vc = (vc_map *) vcc->dev_data) == NULL) {
24006 printk("nicstar%d: vcc->dev_data == NULL on ns_send().\n", 24368 printk("nicstar%d: vcc->dev_data == NULL on ns_send().\n",
@@ -24202,9 +24564,9 @@ diff -urNp linux-3.0.7/drivers/atm/nicstar.c linux-3.0.7/drivers/atm/nicstar.c
24202 } 24564 }
24203 } 24565 }
24204 24566
24205diff -urNp linux-3.0.7/drivers/atm/solos-pci.c linux-3.0.7/drivers/atm/solos-pci.c 24567diff -urNp linux-3.0.8/drivers/atm/solos-pci.c linux-3.0.8/drivers/atm/solos-pci.c
24206--- linux-3.0.7/drivers/atm/solos-pci.c 2011-07-21 22:17:23.000000000 -0400 24568--- linux-3.0.8/drivers/atm/solos-pci.c 2011-07-21 22:17:23.000000000 -0400
24207+++ linux-3.0.7/drivers/atm/solos-pci.c 2011-08-23 21:48:14.000000000 -0400 24569+++ linux-3.0.8/drivers/atm/solos-pci.c 2011-08-23 21:48:14.000000000 -0400
24208@@ -714,7 +714,7 @@ void solos_bh(unsigned long card_arg) 24570@@ -714,7 +714,7 @@ void solos_bh(unsigned long card_arg)
24209 } 24571 }
24210 atm_charge(vcc, skb->truesize); 24572 atm_charge(vcc, skb->truesize);
@@ -24232,9 +24594,9 @@ diff -urNp linux-3.0.7/drivers/atm/solos-pci.c linux-3.0.7/drivers/atm/solos-pci
24232 solos_pop(vcc, oldskb); 24594 solos_pop(vcc, oldskb);
24233 } else 24595 } else
24234 dev_kfree_skb_irq(oldskb); 24596 dev_kfree_skb_irq(oldskb);
24235diff -urNp linux-3.0.7/drivers/atm/suni.c linux-3.0.7/drivers/atm/suni.c 24597diff -urNp linux-3.0.8/drivers/atm/suni.c linux-3.0.8/drivers/atm/suni.c
24236--- linux-3.0.7/drivers/atm/suni.c 2011-07-21 22:17:23.000000000 -0400 24598--- linux-3.0.8/drivers/atm/suni.c 2011-07-21 22:17:23.000000000 -0400
24237+++ linux-3.0.7/drivers/atm/suni.c 2011-08-23 21:47:55.000000000 -0400 24599+++ linux-3.0.8/drivers/atm/suni.c 2011-08-23 21:47:55.000000000 -0400
24238@@ -50,8 +50,8 @@ static DEFINE_SPINLOCK(sunis_lock); 24600@@ -50,8 +50,8 @@ static DEFINE_SPINLOCK(sunis_lock);
24239 24601
24240 24602
@@ -24246,9 +24608,9 @@ diff -urNp linux-3.0.7/drivers/atm/suni.c linux-3.0.7/drivers/atm/suni.c
24246 24608
24247 24609
24248 static void suni_hz(unsigned long from_timer) 24610 static void suni_hz(unsigned long from_timer)
24249diff -urNp linux-3.0.7/drivers/atm/uPD98402.c linux-3.0.7/drivers/atm/uPD98402.c 24611diff -urNp linux-3.0.8/drivers/atm/uPD98402.c linux-3.0.8/drivers/atm/uPD98402.c
24250--- linux-3.0.7/drivers/atm/uPD98402.c 2011-07-21 22:17:23.000000000 -0400 24612--- linux-3.0.8/drivers/atm/uPD98402.c 2011-07-21 22:17:23.000000000 -0400
24251+++ linux-3.0.7/drivers/atm/uPD98402.c 2011-08-23 21:47:55.000000000 -0400 24613+++ linux-3.0.8/drivers/atm/uPD98402.c 2011-08-23 21:47:55.000000000 -0400
24252@@ -42,7 +42,7 @@ static int fetch_stats(struct atm_dev *d 24614@@ -42,7 +42,7 @@ static int fetch_stats(struct atm_dev *d
24253 struct sonet_stats tmp; 24615 struct sonet_stats tmp;
24254 int error = 0; 24616 int error = 0;
@@ -24293,9 +24655,9 @@ diff -urNp linux-3.0.7/drivers/atm/uPD98402.c linux-3.0.7/drivers/atm/uPD98402.c
24293 return 0; 24655 return 0;
24294 } 24656 }
24295 24657
24296diff -urNp linux-3.0.7/drivers/atm/zatm.c linux-3.0.7/drivers/atm/zatm.c 24658diff -urNp linux-3.0.8/drivers/atm/zatm.c linux-3.0.8/drivers/atm/zatm.c
24297--- linux-3.0.7/drivers/atm/zatm.c 2011-07-21 22:17:23.000000000 -0400 24659--- linux-3.0.8/drivers/atm/zatm.c 2011-07-21 22:17:23.000000000 -0400
24298+++ linux-3.0.7/drivers/atm/zatm.c 2011-08-23 21:47:55.000000000 -0400 24660+++ linux-3.0.8/drivers/atm/zatm.c 2011-08-23 21:47:55.000000000 -0400
24299@@ -459,7 +459,7 @@ printk("dummy: 0x%08lx, 0x%08lx\n",dummy 24661@@ -459,7 +459,7 @@ printk("dummy: 0x%08lx, 0x%08lx\n",dummy
24300 } 24662 }
24301 if (!size) { 24663 if (!size) {
@@ -24323,9 +24685,9 @@ diff -urNp linux-3.0.7/drivers/atm/zatm.c linux-3.0.7/drivers/atm/zatm.c
24323 wake_up(&zatm_vcc->tx_wait); 24685 wake_up(&zatm_vcc->tx_wait);
24324 } 24686 }
24325 24687
24326diff -urNp linux-3.0.7/drivers/base/devtmpfs.c linux-3.0.7/drivers/base/devtmpfs.c 24688diff -urNp linux-3.0.8/drivers/base/devtmpfs.c linux-3.0.8/drivers/base/devtmpfs.c
24327--- linux-3.0.7/drivers/base/devtmpfs.c 2011-07-21 22:17:23.000000000 -0400 24689--- linux-3.0.8/drivers/base/devtmpfs.c 2011-07-21 22:17:23.000000000 -0400
24328+++ linux-3.0.7/drivers/base/devtmpfs.c 2011-10-06 04:17:55.000000000 -0400 24690+++ linux-3.0.8/drivers/base/devtmpfs.c 2011-10-06 04:17:55.000000000 -0400
24329@@ -357,7 +357,7 @@ int devtmpfs_mount(const char *mntdir) 24691@@ -357,7 +357,7 @@ int devtmpfs_mount(const char *mntdir)
24330 if (!dev_mnt) 24692 if (!dev_mnt)
24331 return 0; 24693 return 0;
@@ -24335,9 +24697,9 @@ diff -urNp linux-3.0.7/drivers/base/devtmpfs.c linux-3.0.7/drivers/base/devtmpfs
24335 if (err) 24697 if (err)
24336 printk(KERN_INFO "devtmpfs: error mounting %i\n", err); 24698 printk(KERN_INFO "devtmpfs: error mounting %i\n", err);
24337 else 24699 else
24338diff -urNp linux-3.0.7/drivers/base/power/wakeup.c linux-3.0.7/drivers/base/power/wakeup.c 24700diff -urNp linux-3.0.8/drivers/base/power/wakeup.c linux-3.0.8/drivers/base/power/wakeup.c
24339--- linux-3.0.7/drivers/base/power/wakeup.c 2011-07-21 22:17:23.000000000 -0400 24701--- linux-3.0.8/drivers/base/power/wakeup.c 2011-07-21 22:17:23.000000000 -0400
24340+++ linux-3.0.7/drivers/base/power/wakeup.c 2011-08-23 21:47:55.000000000 -0400 24702+++ linux-3.0.8/drivers/base/power/wakeup.c 2011-08-23 21:47:55.000000000 -0400
24341@@ -29,14 +29,14 @@ bool events_check_enabled; 24703@@ -29,14 +29,14 @@ bool events_check_enabled;
24342 * They need to be modified together atomically, so it's better to use one 24704 * They need to be modified together atomically, so it's better to use one
24343 * atomic variable to hold them both. 24705 * atomic variable to hold them both.
@@ -24373,21 +24735,9 @@ diff -urNp linux-3.0.7/drivers/base/power/wakeup.c linux-3.0.7/drivers/base/powe
24373 } 24735 }
24374 24736
24375 /** 24737 /**
24376diff -urNp linux-3.0.7/drivers/block/DAC960.c linux-3.0.7/drivers/block/DAC960.c 24738diff -urNp linux-3.0.8/drivers/block/cciss.c linux-3.0.8/drivers/block/cciss.c
24377--- linux-3.0.7/drivers/block/DAC960.c 2011-07-21 22:17:23.000000000 -0400 24739--- linux-3.0.8/drivers/block/cciss.c 2011-07-21 22:17:23.000000000 -0400
24378+++ linux-3.0.7/drivers/block/DAC960.c 2011-08-23 21:48:14.000000000 -0400 24740+++ linux-3.0.8/drivers/block/cciss.c 2011-08-23 21:48:14.000000000 -0400
24379@@ -1980,6 +1980,8 @@ static bool DAC960_V1_ReadDeviceConfigur
24380 unsigned long flags;
24381 int Channel, TargetID;
24382
24383+ pax_track_stack();
24384+
24385 if (!init_dma_loaf(Controller->PCIDevice, &local_dma,
24386 DAC960_V1_MaxChannels*(sizeof(DAC960_V1_DCDB_T) +
24387 sizeof(DAC960_SCSI_Inquiry_T) +
24388diff -urNp linux-3.0.7/drivers/block/cciss.c linux-3.0.7/drivers/block/cciss.c
24389--- linux-3.0.7/drivers/block/cciss.c 2011-07-21 22:17:23.000000000 -0400
24390+++ linux-3.0.7/drivers/block/cciss.c 2011-08-23 21:48:14.000000000 -0400
24391@@ -1179,6 +1179,8 @@ static int cciss_ioctl32_passthru(struct 24741@@ -1179,6 +1179,8 @@ static int cciss_ioctl32_passthru(struct
24392 int err; 24742 int err;
24393 u32 cp; 24743 u32 cp;
@@ -24511,9 +24861,9 @@ diff -urNp linux-3.0.7/drivers/block/cciss.c linux-3.0.7/drivers/block/cciss.c
24511 free_irq(h->intr[PERF_MODE_INT], h); 24861 free_irq(h->intr[PERF_MODE_INT], h);
24512 } 24862 }
24513 24863
24514diff -urNp linux-3.0.7/drivers/block/cciss.h linux-3.0.7/drivers/block/cciss.h 24864diff -urNp linux-3.0.8/drivers/block/cciss.h linux-3.0.8/drivers/block/cciss.h
24515--- linux-3.0.7/drivers/block/cciss.h 2011-09-02 18:11:21.000000000 -0400 24865--- linux-3.0.8/drivers/block/cciss.h 2011-10-24 08:05:21.000000000 -0400
24516+++ linux-3.0.7/drivers/block/cciss.h 2011-08-23 21:47:55.000000000 -0400 24866+++ linux-3.0.8/drivers/block/cciss.h 2011-08-23 21:47:55.000000000 -0400
24517@@ -100,7 +100,7 @@ struct ctlr_info 24867@@ -100,7 +100,7 @@ struct ctlr_info
24518 /* information about each logical volume */ 24868 /* information about each logical volume */
24519 drive_info_struct *drv[CISS_MAX_LUN]; 24869 drive_info_struct *drv[CISS_MAX_LUN];
@@ -24523,9 +24873,9 @@ diff -urNp linux-3.0.7/drivers/block/cciss.h linux-3.0.7/drivers/block/cciss.h
24523 24873
24524 /* queue and queue Info */ 24874 /* queue and queue Info */
24525 struct list_head reqQ; 24875 struct list_head reqQ;
24526diff -urNp linux-3.0.7/drivers/block/cpqarray.c linux-3.0.7/drivers/block/cpqarray.c 24876diff -urNp linux-3.0.8/drivers/block/cpqarray.c linux-3.0.8/drivers/block/cpqarray.c
24527--- linux-3.0.7/drivers/block/cpqarray.c 2011-07-21 22:17:23.000000000 -0400 24877--- linux-3.0.8/drivers/block/cpqarray.c 2011-07-21 22:17:23.000000000 -0400
24528+++ linux-3.0.7/drivers/block/cpqarray.c 2011-08-23 21:48:14.000000000 -0400 24878+++ linux-3.0.8/drivers/block/cpqarray.c 2011-08-23 21:48:14.000000000 -0400
24529@@ -404,7 +404,7 @@ static int __devinit cpqarray_register_c 24879@@ -404,7 +404,7 @@ static int __devinit cpqarray_register_c
24530 if (register_blkdev(COMPAQ_SMART2_MAJOR+i, hba[i]->devname)) { 24880 if (register_blkdev(COMPAQ_SMART2_MAJOR+i, hba[i]->devname)) {
24531 goto Enomem4; 24881 goto Enomem4;
@@ -24651,9 +25001,9 @@ diff -urNp linux-3.0.7/drivers/block/cpqarray.c linux-3.0.7/drivers/block/cpqarr
24651 if (done == 0) { 25001 if (done == 0) {
24652 udelay(10); /* a short fixed delay */ 25002 udelay(10); /* a short fixed delay */
24653 } else 25003 } else
24654diff -urNp linux-3.0.7/drivers/block/cpqarray.h linux-3.0.7/drivers/block/cpqarray.h 25004diff -urNp linux-3.0.8/drivers/block/cpqarray.h linux-3.0.8/drivers/block/cpqarray.h
24655--- linux-3.0.7/drivers/block/cpqarray.h 2011-07-21 22:17:23.000000000 -0400 25005--- linux-3.0.8/drivers/block/cpqarray.h 2011-07-21 22:17:23.000000000 -0400
24656+++ linux-3.0.7/drivers/block/cpqarray.h 2011-08-23 21:47:55.000000000 -0400 25006+++ linux-3.0.8/drivers/block/cpqarray.h 2011-08-23 21:47:55.000000000 -0400
24657@@ -99,7 +99,7 @@ struct ctlr_info { 25007@@ -99,7 +99,7 @@ struct ctlr_info {
24658 drv_info_t drv[NWD]; 25008 drv_info_t drv[NWD];
24659 struct proc_dir_entry *proc; 25009 struct proc_dir_entry *proc;
@@ -24663,9 +25013,21 @@ diff -urNp linux-3.0.7/drivers/block/cpqarray.h linux-3.0.7/drivers/block/cpqarr
24663 25013
24664 cmdlist_t *reqQ; 25014 cmdlist_t *reqQ;
24665 cmdlist_t *cmpQ; 25015 cmdlist_t *cmpQ;
24666diff -urNp linux-3.0.7/drivers/block/drbd/drbd_int.h linux-3.0.7/drivers/block/drbd/drbd_int.h 25016diff -urNp linux-3.0.8/drivers/block/DAC960.c linux-3.0.8/drivers/block/DAC960.c
24667--- linux-3.0.7/drivers/block/drbd/drbd_int.h 2011-07-21 22:17:23.000000000 -0400 25017--- linux-3.0.8/drivers/block/DAC960.c 2011-07-21 22:17:23.000000000 -0400
24668+++ linux-3.0.7/drivers/block/drbd/drbd_int.h 2011-10-06 04:17:55.000000000 -0400 25018+++ linux-3.0.8/drivers/block/DAC960.c 2011-08-23 21:48:14.000000000 -0400
25019@@ -1980,6 +1980,8 @@ static bool DAC960_V1_ReadDeviceConfigur
25020 unsigned long flags;
25021 int Channel, TargetID;
25022
25023+ pax_track_stack();
25024+
25025 if (!init_dma_loaf(Controller->PCIDevice, &local_dma,
25026 DAC960_V1_MaxChannels*(sizeof(DAC960_V1_DCDB_T) +
25027 sizeof(DAC960_SCSI_Inquiry_T) +
25028diff -urNp linux-3.0.8/drivers/block/drbd/drbd_int.h linux-3.0.8/drivers/block/drbd/drbd_int.h
25029--- linux-3.0.8/drivers/block/drbd/drbd_int.h 2011-07-21 22:17:23.000000000 -0400
25030+++ linux-3.0.8/drivers/block/drbd/drbd_int.h 2011-10-06 04:17:55.000000000 -0400
24669@@ -737,7 +737,7 @@ struct drbd_request; 25031@@ -737,7 +737,7 @@ struct drbd_request;
24670 struct drbd_epoch { 25032 struct drbd_epoch {
24671 struct list_head list; 25033 struct list_head list;
@@ -24723,9 +25085,9 @@ diff -urNp linux-3.0.7/drivers/block/drbd/drbd_int.h linux-3.0.7/drivers/block/d
24723 } 25085 }
24724 25086
24725 void drbd_bump_write_ordering(struct drbd_conf *mdev, enum write_ordering_e wo); 25087 void drbd_bump_write_ordering(struct drbd_conf *mdev, enum write_ordering_e wo);
24726diff -urNp linux-3.0.7/drivers/block/drbd/drbd_main.c linux-3.0.7/drivers/block/drbd/drbd_main.c 25088diff -urNp linux-3.0.8/drivers/block/drbd/drbd_main.c linux-3.0.8/drivers/block/drbd/drbd_main.c
24727--- linux-3.0.7/drivers/block/drbd/drbd_main.c 2011-07-21 22:17:23.000000000 -0400 25089--- linux-3.0.8/drivers/block/drbd/drbd_main.c 2011-07-21 22:17:23.000000000 -0400
24728+++ linux-3.0.7/drivers/block/drbd/drbd_main.c 2011-08-23 21:47:55.000000000 -0400 25090+++ linux-3.0.8/drivers/block/drbd/drbd_main.c 2011-08-23 21:47:55.000000000 -0400
24729@@ -2397,7 +2397,7 @@ static int _drbd_send_ack(struct drbd_co 25091@@ -2397,7 +2397,7 @@ static int _drbd_send_ack(struct drbd_co
24730 p.sector = sector; 25092 p.sector = sector;
24731 p.block_id = block_id; 25093 p.block_id = block_id;
@@ -24764,9 +25126,9 @@ diff -urNp linux-3.0.7/drivers/block/drbd/drbd_main.c linux-3.0.7/drivers/block/
24764 mdev->al_writ_cnt = 25126 mdev->al_writ_cnt =
24765 mdev->bm_writ_cnt = 25127 mdev->bm_writ_cnt =
24766 mdev->read_cnt = 25128 mdev->read_cnt =
24767diff -urNp linux-3.0.7/drivers/block/drbd/drbd_nl.c linux-3.0.7/drivers/block/drbd/drbd_nl.c 25129diff -urNp linux-3.0.8/drivers/block/drbd/drbd_nl.c linux-3.0.8/drivers/block/drbd/drbd_nl.c
24768--- linux-3.0.7/drivers/block/drbd/drbd_nl.c 2011-07-21 22:17:23.000000000 -0400 25130--- linux-3.0.8/drivers/block/drbd/drbd_nl.c 2011-07-21 22:17:23.000000000 -0400
24769+++ linux-3.0.7/drivers/block/drbd/drbd_nl.c 2011-08-23 21:47:55.000000000 -0400 25131+++ linux-3.0.8/drivers/block/drbd/drbd_nl.c 2011-08-23 21:47:55.000000000 -0400
24770@@ -2359,7 +2359,7 @@ static void drbd_connector_callback(stru 25132@@ -2359,7 +2359,7 @@ static void drbd_connector_callback(stru
24771 module_put(THIS_MODULE); 25133 module_put(THIS_MODULE);
24772 } 25134 }
@@ -24812,9 +25174,9 @@ diff -urNp linux-3.0.7/drivers/block/drbd/drbd_nl.c linux-3.0.7/drivers/block/dr
24812 cn_reply->ack = 0; /* not used here. */ 25174 cn_reply->ack = 0; /* not used here. */
24813 cn_reply->len = sizeof(struct drbd_nl_cfg_reply) + 25175 cn_reply->len = sizeof(struct drbd_nl_cfg_reply) +
24814 (int)((char *)tl - (char *)reply->tag_list); 25176 (int)((char *)tl - (char *)reply->tag_list);
24815diff -urNp linux-3.0.7/drivers/block/drbd/drbd_receiver.c linux-3.0.7/drivers/block/drbd/drbd_receiver.c 25177diff -urNp linux-3.0.8/drivers/block/drbd/drbd_receiver.c linux-3.0.8/drivers/block/drbd/drbd_receiver.c
24816--- linux-3.0.7/drivers/block/drbd/drbd_receiver.c 2011-07-21 22:17:23.000000000 -0400 25178--- linux-3.0.8/drivers/block/drbd/drbd_receiver.c 2011-07-21 22:17:23.000000000 -0400
24817+++ linux-3.0.7/drivers/block/drbd/drbd_receiver.c 2011-08-23 21:47:55.000000000 -0400 25179+++ linux-3.0.8/drivers/block/drbd/drbd_receiver.c 2011-08-23 21:47:55.000000000 -0400
24818@@ -894,7 +894,7 @@ retry: 25180@@ -894,7 +894,7 @@ retry:
24819 sock->sk->sk_sndtimeo = mdev->net_conf->timeout*HZ/10; 25181 sock->sk->sk_sndtimeo = mdev->net_conf->timeout*HZ/10;
24820 sock->sk->sk_rcvtimeo = MAX_SCHEDULE_TIMEOUT; 25182 sock->sk->sk_rcvtimeo = MAX_SCHEDULE_TIMEOUT;
@@ -24900,9 +25262,9 @@ diff -urNp linux-3.0.7/drivers/block/drbd/drbd_receiver.c linux-3.0.7/drivers/bl
24900 D_ASSERT(list_empty(&mdev->current_epoch->list)); 25262 D_ASSERT(list_empty(&mdev->current_epoch->list));
24901 } 25263 }
24902 25264
24903diff -urNp linux-3.0.7/drivers/block/loop.c linux-3.0.7/drivers/block/loop.c 25265diff -urNp linux-3.0.8/drivers/block/loop.c linux-3.0.8/drivers/block/loop.c
24904--- linux-3.0.7/drivers/block/loop.c 2011-09-02 18:11:26.000000000 -0400 25266--- linux-3.0.8/drivers/block/loop.c 2011-10-24 08:05:23.000000000 -0400
24905+++ linux-3.0.7/drivers/block/loop.c 2011-10-06 04:17:55.000000000 -0400 25267+++ linux-3.0.8/drivers/block/loop.c 2011-10-06 04:17:55.000000000 -0400
24906@@ -283,7 +283,7 @@ static int __do_lo_send_write(struct fil 25268@@ -283,7 +283,7 @@ static int __do_lo_send_write(struct fil
24907 mm_segment_t old_fs = get_fs(); 25269 mm_segment_t old_fs = get_fs();
24908 25270
@@ -24912,9 +25274,9 @@ diff -urNp linux-3.0.7/drivers/block/loop.c linux-3.0.7/drivers/block/loop.c
24912 set_fs(old_fs); 25274 set_fs(old_fs);
24913 if (likely(bw == len)) 25275 if (likely(bw == len))
24914 return 0; 25276 return 0;
24915diff -urNp linux-3.0.7/drivers/block/nbd.c linux-3.0.7/drivers/block/nbd.c 25277diff -urNp linux-3.0.8/drivers/block/nbd.c linux-3.0.8/drivers/block/nbd.c
24916--- linux-3.0.7/drivers/block/nbd.c 2011-07-21 22:17:23.000000000 -0400 25278--- linux-3.0.8/drivers/block/nbd.c 2011-07-21 22:17:23.000000000 -0400
24917+++ linux-3.0.7/drivers/block/nbd.c 2011-08-23 21:48:14.000000000 -0400 25279+++ linux-3.0.8/drivers/block/nbd.c 2011-08-23 21:48:14.000000000 -0400
24918@@ -157,6 +157,8 @@ static int sock_xmit(struct nbd_device * 25280@@ -157,6 +157,8 @@ static int sock_xmit(struct nbd_device *
24919 struct kvec iov; 25281 struct kvec iov;
24920 sigset_t blocked, oldset; 25282 sigset_t blocked, oldset;
@@ -24933,30 +25295,9 @@ diff -urNp linux-3.0.7/drivers/block/nbd.c linux-3.0.7/drivers/block/nbd.c
24933 switch (cmd) { 25295 switch (cmd) {
24934 case NBD_DISCONNECT: { 25296 case NBD_DISCONNECT: {
24935 struct request sreq; 25297 struct request sreq;
24936diff -urNp linux-3.0.7/drivers/char/Kconfig linux-3.0.7/drivers/char/Kconfig 25298diff -urNp linux-3.0.8/drivers/char/agp/frontend.c linux-3.0.8/drivers/char/agp/frontend.c
24937--- linux-3.0.7/drivers/char/Kconfig 2011-07-21 22:17:23.000000000 -0400 25299--- linux-3.0.8/drivers/char/agp/frontend.c 2011-07-21 22:17:23.000000000 -0400
24938+++ linux-3.0.7/drivers/char/Kconfig 2011-08-23 21:48:14.000000000 -0400 25300+++ linux-3.0.8/drivers/char/agp/frontend.c 2011-08-23 21:47:55.000000000 -0400
24939@@ -8,7 +8,8 @@ source "drivers/tty/Kconfig"
24940
24941 config DEVKMEM
24942 bool "/dev/kmem virtual device support"
24943- default y
24944+ default n
24945+ depends on !GRKERNSEC_KMEM
24946 help
24947 Say Y here if you want to support the /dev/kmem device. The
24948 /dev/kmem device is rarely used, but can be used for certain
24949@@ -596,6 +597,7 @@ config DEVPORT
24950 bool
24951 depends on !M68K
24952 depends on ISA || PCI
24953+ depends on !GRKERNSEC_KMEM
24954 default y
24955
24956 source "drivers/s390/char/Kconfig"
24957diff -urNp linux-3.0.7/drivers/char/agp/frontend.c linux-3.0.7/drivers/char/agp/frontend.c
24958--- linux-3.0.7/drivers/char/agp/frontend.c 2011-07-21 22:17:23.000000000 -0400
24959+++ linux-3.0.7/drivers/char/agp/frontend.c 2011-08-23 21:47:55.000000000 -0400
24960@@ -817,7 +817,7 @@ static int agpioc_reserve_wrap(struct ag 25301@@ -817,7 +817,7 @@ static int agpioc_reserve_wrap(struct ag
24961 if (copy_from_user(&reserve, arg, sizeof(struct agp_region))) 25302 if (copy_from_user(&reserve, arg, sizeof(struct agp_region)))
24962 return -EFAULT; 25303 return -EFAULT;
@@ -24966,9 +25307,9 @@ diff -urNp linux-3.0.7/drivers/char/agp/frontend.c linux-3.0.7/drivers/char/agp/
24966 return -EFAULT; 25307 return -EFAULT;
24967 25308
24968 client = agp_find_client_by_pid(reserve.pid); 25309 client = agp_find_client_by_pid(reserve.pid);
24969diff -urNp linux-3.0.7/drivers/char/briq_panel.c linux-3.0.7/drivers/char/briq_panel.c 25310diff -urNp linux-3.0.8/drivers/char/briq_panel.c linux-3.0.8/drivers/char/briq_panel.c
24970--- linux-3.0.7/drivers/char/briq_panel.c 2011-07-21 22:17:23.000000000 -0400 25311--- linux-3.0.8/drivers/char/briq_panel.c 2011-07-21 22:17:23.000000000 -0400
24971+++ linux-3.0.7/drivers/char/briq_panel.c 2011-08-23 21:48:14.000000000 -0400 25312+++ linux-3.0.8/drivers/char/briq_panel.c 2011-08-23 21:48:14.000000000 -0400
24972@@ -9,6 +9,7 @@ 25313@@ -9,6 +9,7 @@
24973 #include <linux/types.h> 25314 #include <linux/types.h>
24974 #include <linux/errno.h> 25315 #include <linux/errno.h>
@@ -25010,9 +25351,9 @@ diff -urNp linux-3.0.7/drivers/char/briq_panel.c linux-3.0.7/drivers/char/briq_p
25010 25351
25011 return len; 25352 return len;
25012 } 25353 }
25013diff -urNp linux-3.0.7/drivers/char/genrtc.c linux-3.0.7/drivers/char/genrtc.c 25354diff -urNp linux-3.0.8/drivers/char/genrtc.c linux-3.0.8/drivers/char/genrtc.c
25014--- linux-3.0.7/drivers/char/genrtc.c 2011-07-21 22:17:23.000000000 -0400 25355--- linux-3.0.8/drivers/char/genrtc.c 2011-07-21 22:17:23.000000000 -0400
25015+++ linux-3.0.7/drivers/char/genrtc.c 2011-08-23 21:48:14.000000000 -0400 25356+++ linux-3.0.8/drivers/char/genrtc.c 2011-08-23 21:48:14.000000000 -0400
25016@@ -273,6 +273,7 @@ static int gen_rtc_ioctl(struct file *fi 25357@@ -273,6 +273,7 @@ static int gen_rtc_ioctl(struct file *fi
25017 switch (cmd) { 25358 switch (cmd) {
25018 25359
@@ -25021,9 +25362,9 @@ diff -urNp linux-3.0.7/drivers/char/genrtc.c linux-3.0.7/drivers/char/genrtc.c
25021 if (get_rtc_pll(&pll)) 25362 if (get_rtc_pll(&pll))
25022 return -EINVAL; 25363 return -EINVAL;
25023 else 25364 else
25024diff -urNp linux-3.0.7/drivers/char/hpet.c linux-3.0.7/drivers/char/hpet.c 25365diff -urNp linux-3.0.8/drivers/char/hpet.c linux-3.0.8/drivers/char/hpet.c
25025--- linux-3.0.7/drivers/char/hpet.c 2011-07-21 22:17:23.000000000 -0400 25366--- linux-3.0.8/drivers/char/hpet.c 2011-07-21 22:17:23.000000000 -0400
25026+++ linux-3.0.7/drivers/char/hpet.c 2011-08-23 21:47:55.000000000 -0400 25367+++ linux-3.0.8/drivers/char/hpet.c 2011-08-23 21:47:55.000000000 -0400
25027@@ -572,7 +572,7 @@ static inline unsigned long hpet_time_di 25368@@ -572,7 +572,7 @@ static inline unsigned long hpet_time_di
25028 } 25369 }
25029 25370
@@ -25033,9 +25374,9 @@ diff -urNp linux-3.0.7/drivers/char/hpet.c linux-3.0.7/drivers/char/hpet.c
25033 struct hpet_info *info) 25374 struct hpet_info *info)
25034 { 25375 {
25035 struct hpet_timer __iomem *timer; 25376 struct hpet_timer __iomem *timer;
25036diff -urNp linux-3.0.7/drivers/char/ipmi/ipmi_msghandler.c linux-3.0.7/drivers/char/ipmi/ipmi_msghandler.c 25377diff -urNp linux-3.0.8/drivers/char/ipmi/ipmi_msghandler.c linux-3.0.8/drivers/char/ipmi/ipmi_msghandler.c
25037--- linux-3.0.7/drivers/char/ipmi/ipmi_msghandler.c 2011-07-21 22:17:23.000000000 -0400 25378--- linux-3.0.8/drivers/char/ipmi/ipmi_msghandler.c 2011-07-21 22:17:23.000000000 -0400
25038+++ linux-3.0.7/drivers/char/ipmi/ipmi_msghandler.c 2011-08-23 21:48:14.000000000 -0400 25379+++ linux-3.0.8/drivers/char/ipmi/ipmi_msghandler.c 2011-08-23 21:48:14.000000000 -0400
25039@@ -415,7 +415,7 @@ struct ipmi_smi { 25380@@ -415,7 +415,7 @@ struct ipmi_smi {
25040 struct proc_dir_entry *proc_dir; 25381 struct proc_dir_entry *proc_dir;
25041 char proc_dir_name[10]; 25382 char proc_dir_name[10];
@@ -25075,9 +25416,9 @@ diff -urNp linux-3.0.7/drivers/char/ipmi/ipmi_msghandler.c linux-3.0.7/drivers/c
25075 si = (struct ipmi_system_interface_addr *) &addr; 25416 si = (struct ipmi_system_interface_addr *) &addr;
25076 si->addr_type = IPMI_SYSTEM_INTERFACE_ADDR_TYPE; 25417 si->addr_type = IPMI_SYSTEM_INTERFACE_ADDR_TYPE;
25077 si->channel = IPMI_BMC_CHANNEL; 25418 si->channel = IPMI_BMC_CHANNEL;
25078diff -urNp linux-3.0.7/drivers/char/ipmi/ipmi_si_intf.c linux-3.0.7/drivers/char/ipmi/ipmi_si_intf.c 25419diff -urNp linux-3.0.8/drivers/char/ipmi/ipmi_si_intf.c linux-3.0.8/drivers/char/ipmi/ipmi_si_intf.c
25079--- linux-3.0.7/drivers/char/ipmi/ipmi_si_intf.c 2011-07-21 22:17:23.000000000 -0400 25420--- linux-3.0.8/drivers/char/ipmi/ipmi_si_intf.c 2011-07-21 22:17:23.000000000 -0400
25080+++ linux-3.0.7/drivers/char/ipmi/ipmi_si_intf.c 2011-08-23 21:47:55.000000000 -0400 25421+++ linux-3.0.8/drivers/char/ipmi/ipmi_si_intf.c 2011-08-23 21:47:55.000000000 -0400
25081@@ -277,7 +277,7 @@ struct smi_info { 25422@@ -277,7 +277,7 @@ struct smi_info {
25082 unsigned char slave_addr; 25423 unsigned char slave_addr;
25083 25424
@@ -25108,9 +25449,30 @@ diff -urNp linux-3.0.7/drivers/char/ipmi/ipmi_si_intf.c linux-3.0.7/drivers/char
25108 25449
25109 new_smi->interrupt_disabled = 1; 25450 new_smi->interrupt_disabled = 1;
25110 atomic_set(&new_smi->stop_operation, 0); 25451 atomic_set(&new_smi->stop_operation, 0);
25111diff -urNp linux-3.0.7/drivers/char/mbcs.c linux-3.0.7/drivers/char/mbcs.c 25452diff -urNp linux-3.0.8/drivers/char/Kconfig linux-3.0.8/drivers/char/Kconfig
25112--- linux-3.0.7/drivers/char/mbcs.c 2011-07-21 22:17:23.000000000 -0400 25453--- linux-3.0.8/drivers/char/Kconfig 2011-07-21 22:17:23.000000000 -0400
25113+++ linux-3.0.7/drivers/char/mbcs.c 2011-10-11 10:44:33.000000000 -0400 25454+++ linux-3.0.8/drivers/char/Kconfig 2011-08-23 21:48:14.000000000 -0400
25455@@ -8,7 +8,8 @@ source "drivers/tty/Kconfig"
25456
25457 config DEVKMEM
25458 bool "/dev/kmem virtual device support"
25459- default y
25460+ default n
25461+ depends on !GRKERNSEC_KMEM
25462 help
25463 Say Y here if you want to support the /dev/kmem device. The
25464 /dev/kmem device is rarely used, but can be used for certain
25465@@ -596,6 +597,7 @@ config DEVPORT
25466 bool
25467 depends on !M68K
25468 depends on ISA || PCI
25469+ depends on !GRKERNSEC_KMEM
25470 default y
25471
25472 source "drivers/s390/char/Kconfig"
25473diff -urNp linux-3.0.8/drivers/char/mbcs.c linux-3.0.8/drivers/char/mbcs.c
25474--- linux-3.0.8/drivers/char/mbcs.c 2011-07-21 22:17:23.000000000 -0400
25475+++ linux-3.0.8/drivers/char/mbcs.c 2011-10-11 10:44:33.000000000 -0400
25114@@ -800,7 +800,7 @@ static int mbcs_remove(struct cx_dev *de 25476@@ -800,7 +800,7 @@ static int mbcs_remove(struct cx_dev *de
25115 return 0; 25477 return 0;
25116 } 25478 }
@@ -25120,9 +25482,9 @@ diff -urNp linux-3.0.7/drivers/char/mbcs.c linux-3.0.7/drivers/char/mbcs.c
25120 { 25482 {
25121 .part_num = MBCS_PART_NUM, 25483 .part_num = MBCS_PART_NUM,
25122 .mfg_num = MBCS_MFG_NUM, 25484 .mfg_num = MBCS_MFG_NUM,
25123diff -urNp linux-3.0.7/drivers/char/mem.c linux-3.0.7/drivers/char/mem.c 25485diff -urNp linux-3.0.8/drivers/char/mem.c linux-3.0.8/drivers/char/mem.c
25124--- linux-3.0.7/drivers/char/mem.c 2011-07-21 22:17:23.000000000 -0400 25486--- linux-3.0.8/drivers/char/mem.c 2011-07-21 22:17:23.000000000 -0400
25125+++ linux-3.0.7/drivers/char/mem.c 2011-08-23 21:48:14.000000000 -0400 25487+++ linux-3.0.8/drivers/char/mem.c 2011-08-23 21:48:14.000000000 -0400
25126@@ -18,6 +18,7 @@ 25488@@ -18,6 +18,7 @@
25127 #include <linux/raw.h> 25489 #include <linux/raw.h>
25128 #include <linux/tty.h> 25490 #include <linux/tty.h>
@@ -25255,9 +25617,9 @@ diff -urNp linux-3.0.7/drivers/char/mem.c linux-3.0.7/drivers/char/mem.c
25255 }; 25617 };
25256 25618
25257 static int memory_open(struct inode *inode, struct file *filp) 25619 static int memory_open(struct inode *inode, struct file *filp)
25258diff -urNp linux-3.0.7/drivers/char/nvram.c linux-3.0.7/drivers/char/nvram.c 25620diff -urNp linux-3.0.8/drivers/char/nvram.c linux-3.0.8/drivers/char/nvram.c
25259--- linux-3.0.7/drivers/char/nvram.c 2011-07-21 22:17:23.000000000 -0400 25621--- linux-3.0.8/drivers/char/nvram.c 2011-07-21 22:17:23.000000000 -0400
25260+++ linux-3.0.7/drivers/char/nvram.c 2011-08-23 21:47:55.000000000 -0400 25622+++ linux-3.0.8/drivers/char/nvram.c 2011-08-23 21:47:55.000000000 -0400
25261@@ -246,7 +246,7 @@ static ssize_t nvram_read(struct file *f 25623@@ -246,7 +246,7 @@ static ssize_t nvram_read(struct file *f
25262 25624
25263 spin_unlock_irq(&rtc_lock); 25625 spin_unlock_irq(&rtc_lock);
@@ -25267,9 +25629,9 @@ diff -urNp linux-3.0.7/drivers/char/nvram.c linux-3.0.7/drivers/char/nvram.c
25267 return -EFAULT; 25629 return -EFAULT;
25268 25630
25269 *ppos = i; 25631 *ppos = i;
25270diff -urNp linux-3.0.7/drivers/char/random.c linux-3.0.7/drivers/char/random.c 25632diff -urNp linux-3.0.8/drivers/char/random.c linux-3.0.8/drivers/char/random.c
25271--- linux-3.0.7/drivers/char/random.c 2011-09-02 18:11:21.000000000 -0400 25633--- linux-3.0.8/drivers/char/random.c 2011-10-24 08:05:21.000000000 -0400
25272+++ linux-3.0.7/drivers/char/random.c 2011-08-23 21:48:14.000000000 -0400 25634+++ linux-3.0.8/drivers/char/random.c 2011-08-23 21:48:14.000000000 -0400
25273@@ -261,8 +261,13 @@ 25635@@ -261,8 +261,13 @@
25274 /* 25636 /*
25275 * Configuration information 25637 * Configuration information
@@ -25320,9 +25682,9 @@ diff -urNp linux-3.0.7/drivers/char/random.c linux-3.0.7/drivers/char/random.c
25320 static int max_write_thresh = INPUT_POOL_WORDS * 32; 25682 static int max_write_thresh = INPUT_POOL_WORDS * 32;
25321 static char sysctl_bootid[16]; 25683 static char sysctl_bootid[16];
25322 25684
25323diff -urNp linux-3.0.7/drivers/char/sonypi.c linux-3.0.7/drivers/char/sonypi.c 25685diff -urNp linux-3.0.8/drivers/char/sonypi.c linux-3.0.8/drivers/char/sonypi.c
25324--- linux-3.0.7/drivers/char/sonypi.c 2011-07-21 22:17:23.000000000 -0400 25686--- linux-3.0.8/drivers/char/sonypi.c 2011-07-21 22:17:23.000000000 -0400
25325+++ linux-3.0.7/drivers/char/sonypi.c 2011-08-23 21:47:55.000000000 -0400 25687+++ linux-3.0.8/drivers/char/sonypi.c 2011-08-23 21:47:55.000000000 -0400
25326@@ -55,6 +55,7 @@ 25688@@ -55,6 +55,7 @@
25327 #include <asm/uaccess.h> 25689 #include <asm/uaccess.h>
25328 #include <asm/io.h> 25690 #include <asm/io.h>
@@ -25361,30 +25723,9 @@ diff -urNp linux-3.0.7/drivers/char/sonypi.c linux-3.0.7/drivers/char/sonypi.c
25361 mutex_unlock(&sonypi_device.lock); 25723 mutex_unlock(&sonypi_device.lock);
25362 25724
25363 return 0; 25725 return 0;
25364diff -urNp linux-3.0.7/drivers/char/tpm/tpm.c linux-3.0.7/drivers/char/tpm/tpm.c 25726diff -urNp linux-3.0.8/drivers/char/tpm/tpm_bios.c linux-3.0.8/drivers/char/tpm/tpm_bios.c
25365--- linux-3.0.7/drivers/char/tpm/tpm.c 2011-10-16 21:54:53.000000000 -0400 25727--- linux-3.0.8/drivers/char/tpm/tpm_bios.c 2011-07-21 22:17:23.000000000 -0400
25366+++ linux-3.0.7/drivers/char/tpm/tpm.c 2011-10-16 21:55:27.000000000 -0400 25728+++ linux-3.0.8/drivers/char/tpm/tpm_bios.c 2011-10-06 04:17:55.000000000 -0400
25367@@ -414,7 +414,7 @@ static ssize_t tpm_transmit(struct tpm_c
25368 chip->vendor.req_complete_val)
25369 goto out_recv;
25370
25371- if ((status == chip->vendor.req_canceled)) {
25372+ if (status == chip->vendor.req_canceled) {
25373 dev_err(chip->dev, "Operation Canceled\n");
25374 rc = -ECANCELED;
25375 goto out;
25376@@ -847,6 +847,8 @@ ssize_t tpm_show_pubek(struct device *de
25377
25378 struct tpm_chip *chip = dev_get_drvdata(dev);
25379
25380+ pax_track_stack();
25381+
25382 tpm_cmd.header.in = tpm_readpubek_header;
25383 err = transmit_cmd(chip, &tpm_cmd, READ_PUBEK_RESULT_SIZE,
25384 "attempting to read the PUBEK");
25385diff -urNp linux-3.0.7/drivers/char/tpm/tpm_bios.c linux-3.0.7/drivers/char/tpm/tpm_bios.c
25386--- linux-3.0.7/drivers/char/tpm/tpm_bios.c 2011-07-21 22:17:23.000000000 -0400
25387+++ linux-3.0.7/drivers/char/tpm/tpm_bios.c 2011-10-06 04:17:55.000000000 -0400
25388@@ -173,7 +173,7 @@ static void *tpm_bios_measurements_start 25729@@ -173,7 +173,7 @@ static void *tpm_bios_measurements_start
25389 event = addr; 25730 event = addr;
25390 25731
@@ -25428,9 +25769,30 @@ diff -urNp linux-3.0.7/drivers/char/tpm/tpm_bios.c linux-3.0.7/drivers/char/tpm/
25428 25769
25429 acpi_os_unmap_memory(virt, len); 25770 acpi_os_unmap_memory(virt, len);
25430 return 0; 25771 return 0;
25431diff -urNp linux-3.0.7/drivers/char/virtio_console.c linux-3.0.7/drivers/char/virtio_console.c 25772diff -urNp linux-3.0.8/drivers/char/tpm/tpm.c linux-3.0.8/drivers/char/tpm/tpm.c
25432--- linux-3.0.7/drivers/char/virtio_console.c 2011-07-21 22:17:23.000000000 -0400 25773--- linux-3.0.8/drivers/char/tpm/tpm.c 2011-10-24 08:05:30.000000000 -0400
25433+++ linux-3.0.7/drivers/char/virtio_console.c 2011-10-06 04:17:55.000000000 -0400 25774+++ linux-3.0.8/drivers/char/tpm/tpm.c 2011-10-16 21:55:27.000000000 -0400
25775@@ -414,7 +414,7 @@ static ssize_t tpm_transmit(struct tpm_c
25776 chip->vendor.req_complete_val)
25777 goto out_recv;
25778
25779- if ((status == chip->vendor.req_canceled)) {
25780+ if (status == chip->vendor.req_canceled) {
25781 dev_err(chip->dev, "Operation Canceled\n");
25782 rc = -ECANCELED;
25783 goto out;
25784@@ -847,6 +847,8 @@ ssize_t tpm_show_pubek(struct device *de
25785
25786 struct tpm_chip *chip = dev_get_drvdata(dev);
25787
25788+ pax_track_stack();
25789+
25790 tpm_cmd.header.in = tpm_readpubek_header;
25791 err = transmit_cmd(chip, &tpm_cmd, READ_PUBEK_RESULT_SIZE,
25792 "attempting to read the PUBEK");
25793diff -urNp linux-3.0.8/drivers/char/virtio_console.c linux-3.0.8/drivers/char/virtio_console.c
25794--- linux-3.0.8/drivers/char/virtio_console.c 2011-07-21 22:17:23.000000000 -0400
25795+++ linux-3.0.8/drivers/char/virtio_console.c 2011-10-06 04:17:55.000000000 -0400
25434@@ -555,7 +555,7 @@ static ssize_t fill_readbuf(struct port 25796@@ -555,7 +555,7 @@ static ssize_t fill_readbuf(struct port
25435 if (to_user) { 25797 if (to_user) {
25436 ssize_t ret; 25798 ssize_t ret;
@@ -25449,9 +25811,9 @@ diff -urNp linux-3.0.7/drivers/char/virtio_console.c linux-3.0.7/drivers/char/vi
25449 } 25811 }
25450 25812
25451 static ssize_t port_fops_write(struct file *filp, const char __user *ubuf, 25813 static ssize_t port_fops_write(struct file *filp, const char __user *ubuf,
25452diff -urNp linux-3.0.7/drivers/crypto/hifn_795x.c linux-3.0.7/drivers/crypto/hifn_795x.c 25814diff -urNp linux-3.0.8/drivers/crypto/hifn_795x.c linux-3.0.8/drivers/crypto/hifn_795x.c
25453--- linux-3.0.7/drivers/crypto/hifn_795x.c 2011-07-21 22:17:23.000000000 -0400 25815--- linux-3.0.8/drivers/crypto/hifn_795x.c 2011-07-21 22:17:23.000000000 -0400
25454+++ linux-3.0.7/drivers/crypto/hifn_795x.c 2011-08-23 21:48:14.000000000 -0400 25816+++ linux-3.0.8/drivers/crypto/hifn_795x.c 2011-08-23 21:48:14.000000000 -0400
25455@@ -1655,6 +1655,8 @@ static int hifn_test(struct hifn_device 25817@@ -1655,6 +1655,8 @@ static int hifn_test(struct hifn_device
25456 0xCA, 0x34, 0x2B, 0x2E}; 25818 0xCA, 0x34, 0x2B, 0x2E};
25457 struct scatterlist sg; 25819 struct scatterlist sg;
@@ -25461,9 +25823,9 @@ diff -urNp linux-3.0.7/drivers/crypto/hifn_795x.c linux-3.0.7/drivers/crypto/hif
25461 memset(src, 0, sizeof(src)); 25823 memset(src, 0, sizeof(src));
25462 memset(ctx.key, 0, sizeof(ctx.key)); 25824 memset(ctx.key, 0, sizeof(ctx.key));
25463 25825
25464diff -urNp linux-3.0.7/drivers/crypto/padlock-aes.c linux-3.0.7/drivers/crypto/padlock-aes.c 25826diff -urNp linux-3.0.8/drivers/crypto/padlock-aes.c linux-3.0.8/drivers/crypto/padlock-aes.c
25465--- linux-3.0.7/drivers/crypto/padlock-aes.c 2011-07-21 22:17:23.000000000 -0400 25827--- linux-3.0.8/drivers/crypto/padlock-aes.c 2011-07-21 22:17:23.000000000 -0400
25466+++ linux-3.0.7/drivers/crypto/padlock-aes.c 2011-08-23 21:48:14.000000000 -0400 25828+++ linux-3.0.8/drivers/crypto/padlock-aes.c 2011-08-23 21:48:14.000000000 -0400
25467@@ -109,6 +109,8 @@ static int aes_set_key(struct crypto_tfm 25829@@ -109,6 +109,8 @@ static int aes_set_key(struct crypto_tfm
25468 struct crypto_aes_ctx gen_aes; 25830 struct crypto_aes_ctx gen_aes;
25469 int cpu; 25831 int cpu;
@@ -25473,9 +25835,9 @@ diff -urNp linux-3.0.7/drivers/crypto/padlock-aes.c linux-3.0.7/drivers/crypto/p
25473 if (key_len % 8) { 25835 if (key_len % 8) {
25474 *flags |= CRYPTO_TFM_RES_BAD_KEY_LEN; 25836 *flags |= CRYPTO_TFM_RES_BAD_KEY_LEN;
25475 return -EINVAL; 25837 return -EINVAL;
25476diff -urNp linux-3.0.7/drivers/dma/ioat/dma_v3.c linux-3.0.7/drivers/dma/ioat/dma_v3.c 25838diff -urNp linux-3.0.8/drivers/dma/ioat/dma_v3.c linux-3.0.8/drivers/dma/ioat/dma_v3.c
25477--- linux-3.0.7/drivers/dma/ioat/dma_v3.c 2011-07-21 22:17:23.000000000 -0400 25839--- linux-3.0.8/drivers/dma/ioat/dma_v3.c 2011-07-21 22:17:23.000000000 -0400
25478+++ linux-3.0.7/drivers/dma/ioat/dma_v3.c 2011-10-11 10:44:33.000000000 -0400 25840+++ linux-3.0.8/drivers/dma/ioat/dma_v3.c 2011-10-11 10:44:33.000000000 -0400
25479@@ -73,10 +73,10 @@ 25841@@ -73,10 +73,10 @@
25480 /* provide a lookup table for setting the source address in the base or 25842 /* provide a lookup table for setting the source address in the base or
25481 * extended descriptor of an xor or pq descriptor 25843 * extended descriptor of an xor or pq descriptor
@@ -25491,9 +25853,9 @@ diff -urNp linux-3.0.7/drivers/dma/ioat/dma_v3.c linux-3.0.7/drivers/dma/ioat/dm
25491 25853
25492 static dma_addr_t xor_get_src(struct ioat_raw_descriptor *descs[2], int idx) 25854 static dma_addr_t xor_get_src(struct ioat_raw_descriptor *descs[2], int idx)
25493 { 25855 {
25494diff -urNp linux-3.0.7/drivers/edac/amd64_edac.c linux-3.0.7/drivers/edac/amd64_edac.c 25856diff -urNp linux-3.0.8/drivers/edac/amd64_edac.c linux-3.0.8/drivers/edac/amd64_edac.c
25495--- linux-3.0.7/drivers/edac/amd64_edac.c 2011-07-21 22:17:23.000000000 -0400 25857--- linux-3.0.8/drivers/edac/amd64_edac.c 2011-07-21 22:17:23.000000000 -0400
25496+++ linux-3.0.7/drivers/edac/amd64_edac.c 2011-10-11 10:44:33.000000000 -0400 25858+++ linux-3.0.8/drivers/edac/amd64_edac.c 2011-10-11 10:44:33.000000000 -0400
25497@@ -2670,7 +2670,7 @@ static void __devexit amd64_remove_one_i 25859@@ -2670,7 +2670,7 @@ static void __devexit amd64_remove_one_i
25498 * PCI core identifies what devices are on a system during boot, and then 25860 * PCI core identifies what devices are on a system during boot, and then
25499 * inquiry this table to see if this driver is for a given device found. 25861 * inquiry this table to see if this driver is for a given device found.
@@ -25503,9 +25865,9 @@ diff -urNp linux-3.0.7/drivers/edac/amd64_edac.c linux-3.0.7/drivers/edac/amd64_
25503 { 25865 {
25504 .vendor = PCI_VENDOR_ID_AMD, 25866 .vendor = PCI_VENDOR_ID_AMD,
25505 .device = PCI_DEVICE_ID_AMD_K8_NB_MEMCTL, 25867 .device = PCI_DEVICE_ID_AMD_K8_NB_MEMCTL,
25506diff -urNp linux-3.0.7/drivers/edac/amd76x_edac.c linux-3.0.7/drivers/edac/amd76x_edac.c 25868diff -urNp linux-3.0.8/drivers/edac/amd76x_edac.c linux-3.0.8/drivers/edac/amd76x_edac.c
25507--- linux-3.0.7/drivers/edac/amd76x_edac.c 2011-07-21 22:17:23.000000000 -0400 25869--- linux-3.0.8/drivers/edac/amd76x_edac.c 2011-07-21 22:17:23.000000000 -0400
25508+++ linux-3.0.7/drivers/edac/amd76x_edac.c 2011-10-11 10:44:33.000000000 -0400 25870+++ linux-3.0.8/drivers/edac/amd76x_edac.c 2011-10-11 10:44:33.000000000 -0400
25509@@ -321,7 +321,7 @@ static void __devexit amd76x_remove_one( 25871@@ -321,7 +321,7 @@ static void __devexit amd76x_remove_one(
25510 edac_mc_free(mci); 25872 edac_mc_free(mci);
25511 } 25873 }
@@ -25515,9 +25877,9 @@ diff -urNp linux-3.0.7/drivers/edac/amd76x_edac.c linux-3.0.7/drivers/edac/amd76
25515 { 25877 {
25516 PCI_VEND_DEV(AMD, FE_GATE_700C), PCI_ANY_ID, PCI_ANY_ID, 0, 0, 25878 PCI_VEND_DEV(AMD, FE_GATE_700C), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25517 AMD762}, 25879 AMD762},
25518diff -urNp linux-3.0.7/drivers/edac/e752x_edac.c linux-3.0.7/drivers/edac/e752x_edac.c 25880diff -urNp linux-3.0.8/drivers/edac/e752x_edac.c linux-3.0.8/drivers/edac/e752x_edac.c
25519--- linux-3.0.7/drivers/edac/e752x_edac.c 2011-07-21 22:17:23.000000000 -0400 25881--- linux-3.0.8/drivers/edac/e752x_edac.c 2011-07-21 22:17:23.000000000 -0400
25520+++ linux-3.0.7/drivers/edac/e752x_edac.c 2011-10-11 10:44:33.000000000 -0400 25882+++ linux-3.0.8/drivers/edac/e752x_edac.c 2011-10-11 10:44:33.000000000 -0400
25521@@ -1380,7 +1380,7 @@ static void __devexit e752x_remove_one(s 25883@@ -1380,7 +1380,7 @@ static void __devexit e752x_remove_one(s
25522 edac_mc_free(mci); 25884 edac_mc_free(mci);
25523 } 25885 }
@@ -25527,9 +25889,9 @@ diff -urNp linux-3.0.7/drivers/edac/e752x_edac.c linux-3.0.7/drivers/edac/e752x_
25527 { 25889 {
25528 PCI_VEND_DEV(INTEL, 7520_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0, 25890 PCI_VEND_DEV(INTEL, 7520_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25529 E7520}, 25891 E7520},
25530diff -urNp linux-3.0.7/drivers/edac/e7xxx_edac.c linux-3.0.7/drivers/edac/e7xxx_edac.c 25892diff -urNp linux-3.0.8/drivers/edac/e7xxx_edac.c linux-3.0.8/drivers/edac/e7xxx_edac.c
25531--- linux-3.0.7/drivers/edac/e7xxx_edac.c 2011-07-21 22:17:23.000000000 -0400 25893--- linux-3.0.8/drivers/edac/e7xxx_edac.c 2011-07-21 22:17:23.000000000 -0400
25532+++ linux-3.0.7/drivers/edac/e7xxx_edac.c 2011-10-11 10:44:33.000000000 -0400 25894+++ linux-3.0.8/drivers/edac/e7xxx_edac.c 2011-10-11 10:44:33.000000000 -0400
25533@@ -525,7 +525,7 @@ static void __devexit e7xxx_remove_one(s 25895@@ -525,7 +525,7 @@ static void __devexit e7xxx_remove_one(s
25534 edac_mc_free(mci); 25896 edac_mc_free(mci);
25535 } 25897 }
@@ -25539,9 +25901,9 @@ diff -urNp linux-3.0.7/drivers/edac/e7xxx_edac.c linux-3.0.7/drivers/edac/e7xxx_
25539 { 25901 {
25540 PCI_VEND_DEV(INTEL, 7205_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0, 25902 PCI_VEND_DEV(INTEL, 7205_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25541 E7205}, 25903 E7205},
25542diff -urNp linux-3.0.7/drivers/edac/edac_pci_sysfs.c linux-3.0.7/drivers/edac/edac_pci_sysfs.c 25904diff -urNp linux-3.0.8/drivers/edac/edac_pci_sysfs.c linux-3.0.8/drivers/edac/edac_pci_sysfs.c
25543--- linux-3.0.7/drivers/edac/edac_pci_sysfs.c 2011-07-21 22:17:23.000000000 -0400 25905--- linux-3.0.8/drivers/edac/edac_pci_sysfs.c 2011-07-21 22:17:23.000000000 -0400
25544+++ linux-3.0.7/drivers/edac/edac_pci_sysfs.c 2011-08-23 21:47:55.000000000 -0400 25906+++ linux-3.0.8/drivers/edac/edac_pci_sysfs.c 2011-08-23 21:47:55.000000000 -0400
25545@@ -26,8 +26,8 @@ static int edac_pci_log_pe = 1; /* log 25907@@ -26,8 +26,8 @@ static int edac_pci_log_pe = 1; /* log
25546 static int edac_pci_log_npe = 1; /* log PCI non-parity error errors */ 25908 static int edac_pci_log_npe = 1; /* log PCI non-parity error errors */
25547 static int edac_pci_poll_msec = 1000; /* one second workq period */ 25909 static int edac_pci_poll_msec = 1000; /* one second workq period */
@@ -25625,9 +25987,9 @@ diff -urNp linux-3.0.7/drivers/edac/edac_pci_sysfs.c linux-3.0.7/drivers/edac/ed
25625 panic("EDAC: PCI Parity Error"); 25987 panic("EDAC: PCI Parity Error");
25626 } 25988 }
25627 } 25989 }
25628diff -urNp linux-3.0.7/drivers/edac/i3000_edac.c linux-3.0.7/drivers/edac/i3000_edac.c 25990diff -urNp linux-3.0.8/drivers/edac/i3000_edac.c linux-3.0.8/drivers/edac/i3000_edac.c
25629--- linux-3.0.7/drivers/edac/i3000_edac.c 2011-07-21 22:17:23.000000000 -0400 25991--- linux-3.0.8/drivers/edac/i3000_edac.c 2011-07-21 22:17:23.000000000 -0400
25630+++ linux-3.0.7/drivers/edac/i3000_edac.c 2011-10-11 10:44:33.000000000 -0400 25992+++ linux-3.0.8/drivers/edac/i3000_edac.c 2011-10-11 10:44:33.000000000 -0400
25631@@ -470,7 +470,7 @@ static void __devexit i3000_remove_one(s 25993@@ -470,7 +470,7 @@ static void __devexit i3000_remove_one(s
25632 edac_mc_free(mci); 25994 edac_mc_free(mci);
25633 } 25995 }
@@ -25637,9 +25999,9 @@ diff -urNp linux-3.0.7/drivers/edac/i3000_edac.c linux-3.0.7/drivers/edac/i3000_
25637 { 25999 {
25638 PCI_VEND_DEV(INTEL, 3000_HB), PCI_ANY_ID, PCI_ANY_ID, 0, 0, 26000 PCI_VEND_DEV(INTEL, 3000_HB), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25639 I3000}, 26001 I3000},
25640diff -urNp linux-3.0.7/drivers/edac/i3200_edac.c linux-3.0.7/drivers/edac/i3200_edac.c 26002diff -urNp linux-3.0.8/drivers/edac/i3200_edac.c linux-3.0.8/drivers/edac/i3200_edac.c
25641--- linux-3.0.7/drivers/edac/i3200_edac.c 2011-07-21 22:17:23.000000000 -0400 26003--- linux-3.0.8/drivers/edac/i3200_edac.c 2011-07-21 22:17:23.000000000 -0400
25642+++ linux-3.0.7/drivers/edac/i3200_edac.c 2011-10-11 10:44:33.000000000 -0400 26004+++ linux-3.0.8/drivers/edac/i3200_edac.c 2011-10-11 10:44:33.000000000 -0400
25643@@ -456,7 +456,7 @@ static void __devexit i3200_remove_one(s 26005@@ -456,7 +456,7 @@ static void __devexit i3200_remove_one(s
25644 edac_mc_free(mci); 26006 edac_mc_free(mci);
25645 } 26007 }
@@ -25649,9 +26011,9 @@ diff -urNp linux-3.0.7/drivers/edac/i3200_edac.c linux-3.0.7/drivers/edac/i3200_
25649 { 26011 {
25650 PCI_VEND_DEV(INTEL, 3200_HB), PCI_ANY_ID, PCI_ANY_ID, 0, 0, 26012 PCI_VEND_DEV(INTEL, 3200_HB), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25651 I3200}, 26013 I3200},
25652diff -urNp linux-3.0.7/drivers/edac/i5000_edac.c linux-3.0.7/drivers/edac/i5000_edac.c 26014diff -urNp linux-3.0.8/drivers/edac/i5000_edac.c linux-3.0.8/drivers/edac/i5000_edac.c
25653--- linux-3.0.7/drivers/edac/i5000_edac.c 2011-07-21 22:17:23.000000000 -0400 26015--- linux-3.0.8/drivers/edac/i5000_edac.c 2011-07-21 22:17:23.000000000 -0400
25654+++ linux-3.0.7/drivers/edac/i5000_edac.c 2011-10-11 10:44:33.000000000 -0400 26016+++ linux-3.0.8/drivers/edac/i5000_edac.c 2011-10-11 10:44:33.000000000 -0400
25655@@ -1516,7 +1516,7 @@ static void __devexit i5000_remove_one(s 26017@@ -1516,7 +1516,7 @@ static void __devexit i5000_remove_one(s
25656 * 26018 *
25657 * The "E500P" device is the first device supported. 26019 * The "E500P" device is the first device supported.
@@ -25661,9 +26023,9 @@ diff -urNp linux-3.0.7/drivers/edac/i5000_edac.c linux-3.0.7/drivers/edac/i5000_
25661 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I5000_DEV16), 26023 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I5000_DEV16),
25662 .driver_data = I5000P}, 26024 .driver_data = I5000P},
25663 26025
25664diff -urNp linux-3.0.7/drivers/edac/i5100_edac.c linux-3.0.7/drivers/edac/i5100_edac.c 26026diff -urNp linux-3.0.8/drivers/edac/i5100_edac.c linux-3.0.8/drivers/edac/i5100_edac.c
25665--- linux-3.0.7/drivers/edac/i5100_edac.c 2011-07-21 22:17:23.000000000 -0400 26027--- linux-3.0.8/drivers/edac/i5100_edac.c 2011-07-21 22:17:23.000000000 -0400
25666+++ linux-3.0.7/drivers/edac/i5100_edac.c 2011-10-11 10:44:33.000000000 -0400 26028+++ linux-3.0.8/drivers/edac/i5100_edac.c 2011-10-11 10:44:33.000000000 -0400
25667@@ -1051,7 +1051,7 @@ static void __devexit i5100_remove_one(s 26029@@ -1051,7 +1051,7 @@ static void __devexit i5100_remove_one(s
25668 edac_mc_free(mci); 26030 edac_mc_free(mci);
25669 } 26031 }
@@ -25673,9 +26035,9 @@ diff -urNp linux-3.0.7/drivers/edac/i5100_edac.c linux-3.0.7/drivers/edac/i5100_
25673 /* Device 16, Function 0, Channel 0 Memory Map, Error Flag/Mask, ... */ 26035 /* Device 16, Function 0, Channel 0 Memory Map, Error Flag/Mask, ... */
25674 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5100_16) }, 26036 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5100_16) },
25675 { 0, } 26037 { 0, }
25676diff -urNp linux-3.0.7/drivers/edac/i5400_edac.c linux-3.0.7/drivers/edac/i5400_edac.c 26038diff -urNp linux-3.0.8/drivers/edac/i5400_edac.c linux-3.0.8/drivers/edac/i5400_edac.c
25677--- linux-3.0.7/drivers/edac/i5400_edac.c 2011-07-21 22:17:23.000000000 -0400 26039--- linux-3.0.8/drivers/edac/i5400_edac.c 2011-07-21 22:17:23.000000000 -0400
25678+++ linux-3.0.7/drivers/edac/i5400_edac.c 2011-10-11 10:44:33.000000000 -0400 26040+++ linux-3.0.8/drivers/edac/i5400_edac.c 2011-10-11 10:44:33.000000000 -0400
25679@@ -1383,7 +1383,7 @@ static void __devexit i5400_remove_one(s 26041@@ -1383,7 +1383,7 @@ static void __devexit i5400_remove_one(s
25680 * 26042 *
25681 * The "E500P" device is the first device supported. 26043 * The "E500P" device is the first device supported.
@@ -25685,9 +26047,9 @@ diff -urNp linux-3.0.7/drivers/edac/i5400_edac.c linux-3.0.7/drivers/edac/i5400_
25685 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5400_ERR)}, 26047 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_5400_ERR)},
25686 {0,} /* 0 terminated list. */ 26048 {0,} /* 0 terminated list. */
25687 }; 26049 };
25688diff -urNp linux-3.0.7/drivers/edac/i7300_edac.c linux-3.0.7/drivers/edac/i7300_edac.c 26050diff -urNp linux-3.0.8/drivers/edac/i7300_edac.c linux-3.0.8/drivers/edac/i7300_edac.c
25689--- linux-3.0.7/drivers/edac/i7300_edac.c 2011-07-21 22:17:23.000000000 -0400 26051--- linux-3.0.8/drivers/edac/i7300_edac.c 2011-07-21 22:17:23.000000000 -0400
25690+++ linux-3.0.7/drivers/edac/i7300_edac.c 2011-10-11 10:44:33.000000000 -0400 26052+++ linux-3.0.8/drivers/edac/i7300_edac.c 2011-10-11 10:44:33.000000000 -0400
25691@@ -1191,7 +1191,7 @@ static void __devexit i7300_remove_one(s 26053@@ -1191,7 +1191,7 @@ static void __devexit i7300_remove_one(s
25692 * 26054 *
25693 * Has only 8086:360c PCI ID 26055 * Has only 8086:360c PCI ID
@@ -25697,9 +26059,9 @@ diff -urNp linux-3.0.7/drivers/edac/i7300_edac.c linux-3.0.7/drivers/edac/i7300_
25697 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I7300_MCH_ERR)}, 26059 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_I7300_MCH_ERR)},
25698 {0,} /* 0 terminated list. */ 26060 {0,} /* 0 terminated list. */
25699 }; 26061 };
25700diff -urNp linux-3.0.7/drivers/edac/i7core_edac.c linux-3.0.7/drivers/edac/i7core_edac.c 26062diff -urNp linux-3.0.8/drivers/edac/i7core_edac.c linux-3.0.8/drivers/edac/i7core_edac.c
25701--- linux-3.0.7/drivers/edac/i7core_edac.c 2011-09-02 18:11:26.000000000 -0400 26063--- linux-3.0.8/drivers/edac/i7core_edac.c 2011-10-24 08:05:23.000000000 -0400
25702+++ linux-3.0.7/drivers/edac/i7core_edac.c 2011-10-11 10:44:33.000000000 -0400 26064+++ linux-3.0.8/drivers/edac/i7core_edac.c 2011-10-11 10:44:33.000000000 -0400
25703@@ -359,7 +359,7 @@ static const struct pci_id_table pci_dev 26065@@ -359,7 +359,7 @@ static const struct pci_id_table pci_dev
25704 /* 26066 /*
25705 * pci_device_id table for which devices we are looking for 26067 * pci_device_id table for which devices we are looking for
@@ -25709,9 +26071,9 @@ diff -urNp linux-3.0.7/drivers/edac/i7core_edac.c linux-3.0.7/drivers/edac/i7cor
25709 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_X58_HUB_MGMT)}, 26071 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_X58_HUB_MGMT)},
25710 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNNFIELD_QPI_LINK0)}, 26072 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_LYNNFIELD_QPI_LINK0)},
25711 {0,} /* 0 terminated list. */ 26073 {0,} /* 0 terminated list. */
25712diff -urNp linux-3.0.7/drivers/edac/i82443bxgx_edac.c linux-3.0.7/drivers/edac/i82443bxgx_edac.c 26074diff -urNp linux-3.0.8/drivers/edac/i82443bxgx_edac.c linux-3.0.8/drivers/edac/i82443bxgx_edac.c
25713--- linux-3.0.7/drivers/edac/i82443bxgx_edac.c 2011-07-21 22:17:23.000000000 -0400 26075--- linux-3.0.8/drivers/edac/i82443bxgx_edac.c 2011-07-21 22:17:23.000000000 -0400
25714+++ linux-3.0.7/drivers/edac/i82443bxgx_edac.c 2011-10-11 10:44:33.000000000 -0400 26076+++ linux-3.0.8/drivers/edac/i82443bxgx_edac.c 2011-10-11 10:44:33.000000000 -0400
25715@@ -380,7 +380,7 @@ static void __devexit i82443bxgx_edacmc_ 26077@@ -380,7 +380,7 @@ static void __devexit i82443bxgx_edacmc_
25716 26078
25717 EXPORT_SYMBOL_GPL(i82443bxgx_edacmc_remove_one); 26079 EXPORT_SYMBOL_GPL(i82443bxgx_edacmc_remove_one);
@@ -25721,9 +26083,9 @@ diff -urNp linux-3.0.7/drivers/edac/i82443bxgx_edac.c linux-3.0.7/drivers/edac/i
25721 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_0)}, 26083 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_0)},
25722 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_2)}, 26084 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_2)},
25723 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443GX_0)}, 26085 {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443GX_0)},
25724diff -urNp linux-3.0.7/drivers/edac/i82860_edac.c linux-3.0.7/drivers/edac/i82860_edac.c 26086diff -urNp linux-3.0.8/drivers/edac/i82860_edac.c linux-3.0.8/drivers/edac/i82860_edac.c
25725--- linux-3.0.7/drivers/edac/i82860_edac.c 2011-07-21 22:17:23.000000000 -0400 26087--- linux-3.0.8/drivers/edac/i82860_edac.c 2011-07-21 22:17:23.000000000 -0400
25726+++ linux-3.0.7/drivers/edac/i82860_edac.c 2011-10-11 10:44:33.000000000 -0400 26088+++ linux-3.0.8/drivers/edac/i82860_edac.c 2011-10-11 10:44:33.000000000 -0400
25727@@ -270,7 +270,7 @@ static void __devexit i82860_remove_one( 26089@@ -270,7 +270,7 @@ static void __devexit i82860_remove_one(
25728 edac_mc_free(mci); 26090 edac_mc_free(mci);
25729 } 26091 }
@@ -25733,9 +26095,9 @@ diff -urNp linux-3.0.7/drivers/edac/i82860_edac.c linux-3.0.7/drivers/edac/i8286
25733 { 26095 {
25734 PCI_VEND_DEV(INTEL, 82860_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0, 26096 PCI_VEND_DEV(INTEL, 82860_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25735 I82860}, 26097 I82860},
25736diff -urNp linux-3.0.7/drivers/edac/i82875p_edac.c linux-3.0.7/drivers/edac/i82875p_edac.c 26098diff -urNp linux-3.0.8/drivers/edac/i82875p_edac.c linux-3.0.8/drivers/edac/i82875p_edac.c
25737--- linux-3.0.7/drivers/edac/i82875p_edac.c 2011-07-21 22:17:23.000000000 -0400 26099--- linux-3.0.8/drivers/edac/i82875p_edac.c 2011-07-21 22:17:23.000000000 -0400
25738+++ linux-3.0.7/drivers/edac/i82875p_edac.c 2011-10-11 10:44:33.000000000 -0400 26100+++ linux-3.0.8/drivers/edac/i82875p_edac.c 2011-10-11 10:44:33.000000000 -0400
25739@@ -511,7 +511,7 @@ static void __devexit i82875p_remove_one 26101@@ -511,7 +511,7 @@ static void __devexit i82875p_remove_one
25740 edac_mc_free(mci); 26102 edac_mc_free(mci);
25741 } 26103 }
@@ -25745,9 +26107,9 @@ diff -urNp linux-3.0.7/drivers/edac/i82875p_edac.c linux-3.0.7/drivers/edac/i828
25745 { 26107 {
25746 PCI_VEND_DEV(INTEL, 82875_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0, 26108 PCI_VEND_DEV(INTEL, 82875_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25747 I82875P}, 26109 I82875P},
25748diff -urNp linux-3.0.7/drivers/edac/i82975x_edac.c linux-3.0.7/drivers/edac/i82975x_edac.c 26110diff -urNp linux-3.0.8/drivers/edac/i82975x_edac.c linux-3.0.8/drivers/edac/i82975x_edac.c
25749--- linux-3.0.7/drivers/edac/i82975x_edac.c 2011-07-21 22:17:23.000000000 -0400 26111--- linux-3.0.8/drivers/edac/i82975x_edac.c 2011-07-21 22:17:23.000000000 -0400
25750+++ linux-3.0.7/drivers/edac/i82975x_edac.c 2011-10-11 10:44:33.000000000 -0400 26112+++ linux-3.0.8/drivers/edac/i82975x_edac.c 2011-10-11 10:44:33.000000000 -0400
25751@@ -604,7 +604,7 @@ static void __devexit i82975x_remove_one 26113@@ -604,7 +604,7 @@ static void __devexit i82975x_remove_one
25752 edac_mc_free(mci); 26114 edac_mc_free(mci);
25753 } 26115 }
@@ -25757,9 +26119,9 @@ diff -urNp linux-3.0.7/drivers/edac/i82975x_edac.c linux-3.0.7/drivers/edac/i829
25757 { 26119 {
25758 PCI_VEND_DEV(INTEL, 82975_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0, 26120 PCI_VEND_DEV(INTEL, 82975_0), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25759 I82975X 26121 I82975X
25760diff -urNp linux-3.0.7/drivers/edac/mce_amd.h linux-3.0.7/drivers/edac/mce_amd.h 26122diff -urNp linux-3.0.8/drivers/edac/mce_amd.h linux-3.0.8/drivers/edac/mce_amd.h
25761--- linux-3.0.7/drivers/edac/mce_amd.h 2011-07-21 22:17:23.000000000 -0400 26123--- linux-3.0.8/drivers/edac/mce_amd.h 2011-07-21 22:17:23.000000000 -0400
25762+++ linux-3.0.7/drivers/edac/mce_amd.h 2011-08-23 21:47:55.000000000 -0400 26124+++ linux-3.0.8/drivers/edac/mce_amd.h 2011-08-23 21:47:55.000000000 -0400
25763@@ -83,7 +83,7 @@ struct amd_decoder_ops { 26125@@ -83,7 +83,7 @@ struct amd_decoder_ops {
25764 bool (*dc_mce)(u16, u8); 26126 bool (*dc_mce)(u16, u8);
25765 bool (*ic_mce)(u16, u8); 26127 bool (*ic_mce)(u16, u8);
@@ -25769,9 +26131,9 @@ diff -urNp linux-3.0.7/drivers/edac/mce_amd.h linux-3.0.7/drivers/edac/mce_amd.h
25769 26131
25770 void amd_report_gart_errors(bool); 26132 void amd_report_gart_errors(bool);
25771 void amd_register_ecc_decoder(void (*f)(int, struct mce *, u32)); 26133 void amd_register_ecc_decoder(void (*f)(int, struct mce *, u32));
25772diff -urNp linux-3.0.7/drivers/edac/r82600_edac.c linux-3.0.7/drivers/edac/r82600_edac.c 26134diff -urNp linux-3.0.8/drivers/edac/r82600_edac.c linux-3.0.8/drivers/edac/r82600_edac.c
25773--- linux-3.0.7/drivers/edac/r82600_edac.c 2011-07-21 22:17:23.000000000 -0400 26135--- linux-3.0.8/drivers/edac/r82600_edac.c 2011-07-21 22:17:23.000000000 -0400
25774+++ linux-3.0.7/drivers/edac/r82600_edac.c 2011-10-11 10:44:33.000000000 -0400 26136+++ linux-3.0.8/drivers/edac/r82600_edac.c 2011-10-11 10:44:33.000000000 -0400
25775@@ -373,7 +373,7 @@ static void __devexit r82600_remove_one( 26137@@ -373,7 +373,7 @@ static void __devexit r82600_remove_one(
25776 edac_mc_free(mci); 26138 edac_mc_free(mci);
25777 } 26139 }
@@ -25781,9 +26143,9 @@ diff -urNp linux-3.0.7/drivers/edac/r82600_edac.c linux-3.0.7/drivers/edac/r8260
25781 { 26143 {
25782 PCI_DEVICE(PCI_VENDOR_ID_RADISYS, R82600_BRIDGE_ID) 26144 PCI_DEVICE(PCI_VENDOR_ID_RADISYS, R82600_BRIDGE_ID)
25783 }, 26145 },
25784diff -urNp linux-3.0.7/drivers/edac/x38_edac.c linux-3.0.7/drivers/edac/x38_edac.c 26146diff -urNp linux-3.0.8/drivers/edac/x38_edac.c linux-3.0.8/drivers/edac/x38_edac.c
25785--- linux-3.0.7/drivers/edac/x38_edac.c 2011-07-21 22:17:23.000000000 -0400 26147--- linux-3.0.8/drivers/edac/x38_edac.c 2011-07-21 22:17:23.000000000 -0400
25786+++ linux-3.0.7/drivers/edac/x38_edac.c 2011-10-11 10:44:33.000000000 -0400 26148+++ linux-3.0.8/drivers/edac/x38_edac.c 2011-10-11 10:44:33.000000000 -0400
25787@@ -440,7 +440,7 @@ static void __devexit x38_remove_one(str 26149@@ -440,7 +440,7 @@ static void __devexit x38_remove_one(str
25788 edac_mc_free(mci); 26150 edac_mc_free(mci);
25789 } 26151 }
@@ -25793,9 +26155,9 @@ diff -urNp linux-3.0.7/drivers/edac/x38_edac.c linux-3.0.7/drivers/edac/x38_edac
25793 { 26155 {
25794 PCI_VEND_DEV(INTEL, X38_HB), PCI_ANY_ID, PCI_ANY_ID, 0, 0, 26156 PCI_VEND_DEV(INTEL, X38_HB), PCI_ANY_ID, PCI_ANY_ID, 0, 0,
25795 X38}, 26157 X38},
25796diff -urNp linux-3.0.7/drivers/firewire/core-card.c linux-3.0.7/drivers/firewire/core-card.c 26158diff -urNp linux-3.0.8/drivers/firewire/core-card.c linux-3.0.8/drivers/firewire/core-card.c
25797--- linux-3.0.7/drivers/firewire/core-card.c 2011-07-21 22:17:23.000000000 -0400 26159--- linux-3.0.8/drivers/firewire/core-card.c 2011-07-21 22:17:23.000000000 -0400
25798+++ linux-3.0.7/drivers/firewire/core-card.c 2011-08-23 21:47:55.000000000 -0400 26160+++ linux-3.0.8/drivers/firewire/core-card.c 2011-08-23 21:47:55.000000000 -0400
25799@@ -657,7 +657,7 @@ void fw_card_release(struct kref *kref) 26161@@ -657,7 +657,7 @@ void fw_card_release(struct kref *kref)
25800 26162
25801 void fw_core_remove_card(struct fw_card *card) 26163 void fw_core_remove_card(struct fw_card *card)
@@ -25805,9 +26167,9 @@ diff -urNp linux-3.0.7/drivers/firewire/core-card.c linux-3.0.7/drivers/firewire
25805 26167
25806 card->driver->update_phy_reg(card, 4, 26168 card->driver->update_phy_reg(card, 4,
25807 PHY_LINK_ACTIVE | PHY_CONTENDER, 0); 26169 PHY_LINK_ACTIVE | PHY_CONTENDER, 0);
25808diff -urNp linux-3.0.7/drivers/firewire/core-cdev.c linux-3.0.7/drivers/firewire/core-cdev.c 26170diff -urNp linux-3.0.8/drivers/firewire/core-cdev.c linux-3.0.8/drivers/firewire/core-cdev.c
25809--- linux-3.0.7/drivers/firewire/core-cdev.c 2011-09-02 18:11:21.000000000 -0400 26171--- linux-3.0.8/drivers/firewire/core-cdev.c 2011-10-24 08:05:21.000000000 -0400
25810+++ linux-3.0.7/drivers/firewire/core-cdev.c 2011-08-23 21:47:55.000000000 -0400 26172+++ linux-3.0.8/drivers/firewire/core-cdev.c 2011-08-23 21:47:55.000000000 -0400
25811@@ -1313,8 +1313,7 @@ static int init_iso_resource(struct clie 26173@@ -1313,8 +1313,7 @@ static int init_iso_resource(struct clie
25812 int ret; 26174 int ret;
25813 26175
@@ -25818,9 +26180,20 @@ diff -urNp linux-3.0.7/drivers/firewire/core-cdev.c linux-3.0.7/drivers/firewire
25818 return -EINVAL; 26180 return -EINVAL;
25819 26181
25820 r = kmalloc(sizeof(*r), GFP_KERNEL); 26182 r = kmalloc(sizeof(*r), GFP_KERNEL);
25821diff -urNp linux-3.0.7/drivers/firewire/core-transaction.c linux-3.0.7/drivers/firewire/core-transaction.c 26183diff -urNp linux-3.0.8/drivers/firewire/core.h linux-3.0.8/drivers/firewire/core.h
25822--- linux-3.0.7/drivers/firewire/core-transaction.c 2011-07-21 22:17:23.000000000 -0400 26184--- linux-3.0.8/drivers/firewire/core.h 2011-07-21 22:17:23.000000000 -0400
25823+++ linux-3.0.7/drivers/firewire/core-transaction.c 2011-08-23 21:48:14.000000000 -0400 26185+++ linux-3.0.8/drivers/firewire/core.h 2011-08-23 21:47:55.000000000 -0400
26186@@ -101,6 +101,7 @@ struct fw_card_driver {
26187
26188 int (*stop_iso)(struct fw_iso_context *ctx);
26189 };
26190+typedef struct fw_card_driver __no_const fw_card_driver_no_const;
26191
26192 void fw_card_initialize(struct fw_card *card,
26193 const struct fw_card_driver *driver, struct device *device);
26194diff -urNp linux-3.0.8/drivers/firewire/core-transaction.c linux-3.0.8/drivers/firewire/core-transaction.c
26195--- linux-3.0.8/drivers/firewire/core-transaction.c 2011-07-21 22:17:23.000000000 -0400
26196+++ linux-3.0.8/drivers/firewire/core-transaction.c 2011-08-23 21:48:14.000000000 -0400
25824@@ -37,6 +37,7 @@ 26197@@ -37,6 +37,7 @@
25825 #include <linux/timer.h> 26198 #include <linux/timer.h>
25826 #include <linux/types.h> 26199 #include <linux/types.h>
@@ -25838,20 +26211,9 @@ diff -urNp linux-3.0.7/drivers/firewire/core-transaction.c linux-3.0.7/drivers/f
25838 init_timer_on_stack(&t.split_timeout_timer); 26211 init_timer_on_stack(&t.split_timeout_timer);
25839 init_completion(&d.done); 26212 init_completion(&d.done);
25840 d.payload = payload; 26213 d.payload = payload;
25841diff -urNp linux-3.0.7/drivers/firewire/core.h linux-3.0.7/drivers/firewire/core.h 26214diff -urNp linux-3.0.8/drivers/firmware/dmi_scan.c linux-3.0.8/drivers/firmware/dmi_scan.c
25842--- linux-3.0.7/drivers/firewire/core.h 2011-07-21 22:17:23.000000000 -0400 26215--- linux-3.0.8/drivers/firmware/dmi_scan.c 2011-07-21 22:17:23.000000000 -0400
25843+++ linux-3.0.7/drivers/firewire/core.h 2011-08-23 21:47:55.000000000 -0400 26216+++ linux-3.0.8/drivers/firmware/dmi_scan.c 2011-10-06 04:17:55.000000000 -0400
25844@@ -101,6 +101,7 @@ struct fw_card_driver {
25845
25846 int (*stop_iso)(struct fw_iso_context *ctx);
25847 };
25848+typedef struct fw_card_driver __no_const fw_card_driver_no_const;
25849
25850 void fw_card_initialize(struct fw_card *card,
25851 const struct fw_card_driver *driver, struct device *device);
25852diff -urNp linux-3.0.7/drivers/firmware/dmi_scan.c linux-3.0.7/drivers/firmware/dmi_scan.c
25853--- linux-3.0.7/drivers/firmware/dmi_scan.c 2011-07-21 22:17:23.000000000 -0400
25854+++ linux-3.0.7/drivers/firmware/dmi_scan.c 2011-10-06 04:17:55.000000000 -0400
25855@@ -449,11 +449,6 @@ void __init dmi_scan_machine(void) 26217@@ -449,11 +449,6 @@ void __init dmi_scan_machine(void)
25856 } 26218 }
25857 } 26219 }
@@ -25873,9 +26235,9 @@ diff -urNp linux-3.0.7/drivers/firmware/dmi_scan.c linux-3.0.7/drivers/firmware/
25873 26235
25874 iounmap(buf); 26236 iounmap(buf);
25875 return 0; 26237 return 0;
25876diff -urNp linux-3.0.7/drivers/gpio/vr41xx_giu.c linux-3.0.7/drivers/gpio/vr41xx_giu.c 26238diff -urNp linux-3.0.8/drivers/gpio/vr41xx_giu.c linux-3.0.8/drivers/gpio/vr41xx_giu.c
25877--- linux-3.0.7/drivers/gpio/vr41xx_giu.c 2011-07-21 22:17:23.000000000 -0400 26239--- linux-3.0.8/drivers/gpio/vr41xx_giu.c 2011-07-21 22:17:23.000000000 -0400
25878+++ linux-3.0.7/drivers/gpio/vr41xx_giu.c 2011-08-23 21:47:55.000000000 -0400 26240+++ linux-3.0.8/drivers/gpio/vr41xx_giu.c 2011-08-23 21:47:55.000000000 -0400
25879@@ -204,7 +204,7 @@ static int giu_get_irq(unsigned int irq) 26241@@ -204,7 +204,7 @@ static int giu_get_irq(unsigned int irq)
25880 printk(KERN_ERR "spurious GIU interrupt: %04x(%04x),%04x(%04x)\n", 26242 printk(KERN_ERR "spurious GIU interrupt: %04x(%04x),%04x(%04x)\n",
25881 maskl, pendl, maskh, pendh); 26243 maskl, pendl, maskh, pendh);
@@ -25885,9 +26247,9 @@ diff -urNp linux-3.0.7/drivers/gpio/vr41xx_giu.c linux-3.0.7/drivers/gpio/vr41xx
25885 26247
25886 return -EINVAL; 26248 return -EINVAL;
25887 } 26249 }
25888diff -urNp linux-3.0.7/drivers/gpu/drm/drm_crtc.c linux-3.0.7/drivers/gpu/drm/drm_crtc.c 26250diff -urNp linux-3.0.8/drivers/gpu/drm/drm_crtc.c linux-3.0.8/drivers/gpu/drm/drm_crtc.c
25889--- linux-3.0.7/drivers/gpu/drm/drm_crtc.c 2011-07-21 22:17:23.000000000 -0400 26251--- linux-3.0.8/drivers/gpu/drm/drm_crtc.c 2011-07-21 22:17:23.000000000 -0400
25890+++ linux-3.0.7/drivers/gpu/drm/drm_crtc.c 2011-10-06 04:17:55.000000000 -0400 26252+++ linux-3.0.8/drivers/gpu/drm/drm_crtc.c 2011-10-06 04:17:55.000000000 -0400
25891@@ -1372,7 +1372,7 @@ int drm_mode_getconnector(struct drm_dev 26253@@ -1372,7 +1372,7 @@ int drm_mode_getconnector(struct drm_dev
25892 */ 26254 */
25893 if ((out_resp->count_modes >= mode_count) && mode_count) { 26255 if ((out_resp->count_modes >= mode_count) && mode_count) {
@@ -25980,9 +26342,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/drm_crtc.c linux-3.0.7/drivers/gpu/drm/dr
25980 if (copy_to_user(blob_ptr, blob->data, blob->length)){ 26342 if (copy_to_user(blob_ptr, blob->data, blob->length)){
25981 ret = -EFAULT; 26343 ret = -EFAULT;
25982 goto done; 26344 goto done;
25983diff -urNp linux-3.0.7/drivers/gpu/drm/drm_crtc_helper.c linux-3.0.7/drivers/gpu/drm/drm_crtc_helper.c 26345diff -urNp linux-3.0.8/drivers/gpu/drm/drm_crtc_helper.c linux-3.0.8/drivers/gpu/drm/drm_crtc_helper.c
25984--- linux-3.0.7/drivers/gpu/drm/drm_crtc_helper.c 2011-07-21 22:17:23.000000000 -0400 26346--- linux-3.0.8/drivers/gpu/drm/drm_crtc_helper.c 2011-07-21 22:17:23.000000000 -0400
25985+++ linux-3.0.7/drivers/gpu/drm/drm_crtc_helper.c 2011-08-23 21:48:14.000000000 -0400 26347+++ linux-3.0.8/drivers/gpu/drm/drm_crtc_helper.c 2011-08-23 21:48:14.000000000 -0400
25986@@ -276,7 +276,7 @@ static bool drm_encoder_crtc_ok(struct d 26348@@ -276,7 +276,7 @@ static bool drm_encoder_crtc_ok(struct d
25987 struct drm_crtc *tmp; 26349 struct drm_crtc *tmp;
25988 int crtc_mask = 1; 26350 int crtc_mask = 1;
@@ -26001,9 +26363,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/drm_crtc_helper.c linux-3.0.7/drivers/gpu
26001 crtc->enabled = drm_helper_crtc_in_use(crtc); 26363 crtc->enabled = drm_helper_crtc_in_use(crtc);
26002 if (!crtc->enabled) 26364 if (!crtc->enabled)
26003 return true; 26365 return true;
26004diff -urNp linux-3.0.7/drivers/gpu/drm/drm_drv.c linux-3.0.7/drivers/gpu/drm/drm_drv.c 26366diff -urNp linux-3.0.8/drivers/gpu/drm/drm_drv.c linux-3.0.8/drivers/gpu/drm/drm_drv.c
26005--- linux-3.0.7/drivers/gpu/drm/drm_drv.c 2011-07-21 22:17:23.000000000 -0400 26367--- linux-3.0.8/drivers/gpu/drm/drm_drv.c 2011-07-21 22:17:23.000000000 -0400
26006+++ linux-3.0.7/drivers/gpu/drm/drm_drv.c 2011-10-06 04:17:55.000000000 -0400 26368+++ linux-3.0.8/drivers/gpu/drm/drm_drv.c 2011-10-06 04:17:55.000000000 -0400
26007@@ -307,7 +307,7 @@ module_exit(drm_core_exit); 26369@@ -307,7 +307,7 @@ module_exit(drm_core_exit);
26008 /** 26370 /**
26009 * Copy and IOCTL return string to user space 26371 * Copy and IOCTL return string to user space
@@ -26022,9 +26384,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/drm_drv.c linux-3.0.7/drivers/gpu/drm/drm
26022 ++file_priv->ioctl_count; 26384 ++file_priv->ioctl_count;
26023 26385
26024 DRM_DEBUG("pid=%d, cmd=0x%02x, nr=0x%02x, dev 0x%lx, auth=%d\n", 26386 DRM_DEBUG("pid=%d, cmd=0x%02x, nr=0x%02x, dev 0x%lx, auth=%d\n",
26025diff -urNp linux-3.0.7/drivers/gpu/drm/drm_fops.c linux-3.0.7/drivers/gpu/drm/drm_fops.c 26387diff -urNp linux-3.0.8/drivers/gpu/drm/drm_fops.c linux-3.0.8/drivers/gpu/drm/drm_fops.c
26026--- linux-3.0.7/drivers/gpu/drm/drm_fops.c 2011-07-21 22:17:23.000000000 -0400 26388--- linux-3.0.8/drivers/gpu/drm/drm_fops.c 2011-07-21 22:17:23.000000000 -0400
26027+++ linux-3.0.7/drivers/gpu/drm/drm_fops.c 2011-08-23 21:47:55.000000000 -0400 26389+++ linux-3.0.8/drivers/gpu/drm/drm_fops.c 2011-08-23 21:47:55.000000000 -0400
26028@@ -70,7 +70,7 @@ static int drm_setup(struct drm_device * 26390@@ -70,7 +70,7 @@ static int drm_setup(struct drm_device *
26029 } 26391 }
26030 26392
@@ -26074,9 +26436,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/drm_fops.c linux-3.0.7/drivers/gpu/drm/dr
26074 if (atomic_read(&dev->ioctl_count)) { 26436 if (atomic_read(&dev->ioctl_count)) {
26075 DRM_ERROR("Device busy: %d\n", 26437 DRM_ERROR("Device busy: %d\n",
26076 atomic_read(&dev->ioctl_count)); 26438 atomic_read(&dev->ioctl_count));
26077diff -urNp linux-3.0.7/drivers/gpu/drm/drm_global.c linux-3.0.7/drivers/gpu/drm/drm_global.c 26439diff -urNp linux-3.0.8/drivers/gpu/drm/drm_global.c linux-3.0.8/drivers/gpu/drm/drm_global.c
26078--- linux-3.0.7/drivers/gpu/drm/drm_global.c 2011-07-21 22:17:23.000000000 -0400 26440--- linux-3.0.8/drivers/gpu/drm/drm_global.c 2011-07-21 22:17:23.000000000 -0400
26079+++ linux-3.0.7/drivers/gpu/drm/drm_global.c 2011-08-23 21:47:55.000000000 -0400 26441+++ linux-3.0.8/drivers/gpu/drm/drm_global.c 2011-08-23 21:47:55.000000000 -0400
26080@@ -36,7 +36,7 @@ 26442@@ -36,7 +36,7 @@
26081 struct drm_global_item { 26443 struct drm_global_item {
26082 struct mutex mutex; 26444 struct mutex mutex;
@@ -26134,9 +26496,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/drm_global.c linux-3.0.7/drivers/gpu/drm/
26134 ref->release(ref); 26496 ref->release(ref);
26135 item->object = NULL; 26497 item->object = NULL;
26136 } 26498 }
26137diff -urNp linux-3.0.7/drivers/gpu/drm/drm_info.c linux-3.0.7/drivers/gpu/drm/drm_info.c 26499diff -urNp linux-3.0.8/drivers/gpu/drm/drm_info.c linux-3.0.8/drivers/gpu/drm/drm_info.c
26138--- linux-3.0.7/drivers/gpu/drm/drm_info.c 2011-07-21 22:17:23.000000000 -0400 26500--- linux-3.0.8/drivers/gpu/drm/drm_info.c 2011-07-21 22:17:23.000000000 -0400
26139+++ linux-3.0.7/drivers/gpu/drm/drm_info.c 2011-08-23 21:48:14.000000000 -0400 26501+++ linux-3.0.8/drivers/gpu/drm/drm_info.c 2011-08-23 21:48:14.000000000 -0400
26140@@ -75,10 +75,14 @@ int drm_vm_info(struct seq_file *m, void 26502@@ -75,10 +75,14 @@ int drm_vm_info(struct seq_file *m, void
26141 struct drm_local_map *map; 26503 struct drm_local_map *map;
26142 struct drm_map_list *r_list; 26504 struct drm_map_list *r_list;
@@ -26177,9 +26539,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/drm_info.c linux-3.0.7/drivers/gpu/drm/dr
26177 26539
26178 #if defined(__i386__) 26540 #if defined(__i386__)
26179 pgprot = pgprot_val(vma->vm_page_prot); 26541 pgprot = pgprot_val(vma->vm_page_prot);
26180diff -urNp linux-3.0.7/drivers/gpu/drm/drm_ioc32.c linux-3.0.7/drivers/gpu/drm/drm_ioc32.c 26542diff -urNp linux-3.0.8/drivers/gpu/drm/drm_ioc32.c linux-3.0.8/drivers/gpu/drm/drm_ioc32.c
26181--- linux-3.0.7/drivers/gpu/drm/drm_ioc32.c 2011-07-21 22:17:23.000000000 -0400 26543--- linux-3.0.8/drivers/gpu/drm/drm_ioc32.c 2011-07-21 22:17:23.000000000 -0400
26182+++ linux-3.0.7/drivers/gpu/drm/drm_ioc32.c 2011-10-06 04:17:55.000000000 -0400 26544+++ linux-3.0.8/drivers/gpu/drm/drm_ioc32.c 2011-10-06 04:17:55.000000000 -0400
26183@@ -455,7 +455,7 @@ static int compat_drm_infobufs(struct fi 26545@@ -455,7 +455,7 @@ static int compat_drm_infobufs(struct fi
26184 request = compat_alloc_user_space(nbytes); 26546 request = compat_alloc_user_space(nbytes);
26185 if (!access_ok(VERIFY_WRITE, request, nbytes)) 26547 if (!access_ok(VERIFY_WRITE, request, nbytes))
@@ -26198,9 +26560,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/drm_ioc32.c linux-3.0.7/drivers/gpu/drm/d
26198 26560
26199 if (__put_user(count, &request->count) 26561 if (__put_user(count, &request->count)
26200 || __put_user(list, &request->list)) 26562 || __put_user(list, &request->list))
26201diff -urNp linux-3.0.7/drivers/gpu/drm/drm_ioctl.c linux-3.0.7/drivers/gpu/drm/drm_ioctl.c 26563diff -urNp linux-3.0.8/drivers/gpu/drm/drm_ioctl.c linux-3.0.8/drivers/gpu/drm/drm_ioctl.c
26202--- linux-3.0.7/drivers/gpu/drm/drm_ioctl.c 2011-07-21 22:17:23.000000000 -0400 26564--- linux-3.0.8/drivers/gpu/drm/drm_ioctl.c 2011-07-21 22:17:23.000000000 -0400
26203+++ linux-3.0.7/drivers/gpu/drm/drm_ioctl.c 2011-08-23 21:47:55.000000000 -0400 26565+++ linux-3.0.8/drivers/gpu/drm/drm_ioctl.c 2011-08-23 21:47:55.000000000 -0400
26204@@ -256,7 +256,7 @@ int drm_getstats(struct drm_device *dev, 26566@@ -256,7 +256,7 @@ int drm_getstats(struct drm_device *dev,
26205 stats->data[i].value = 26567 stats->data[i].value =
26206 (file_priv->master->lock.hw_lock ? file_priv->master->lock.hw_lock->lock : 0); 26568 (file_priv->master->lock.hw_lock ? file_priv->master->lock.hw_lock->lock : 0);
@@ -26210,9 +26572,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/drm_ioctl.c linux-3.0.7/drivers/gpu/drm/d
26210 stats->data[i].type = dev->types[i]; 26572 stats->data[i].type = dev->types[i];
26211 } 26573 }
26212 26574
26213diff -urNp linux-3.0.7/drivers/gpu/drm/drm_lock.c linux-3.0.7/drivers/gpu/drm/drm_lock.c 26575diff -urNp linux-3.0.8/drivers/gpu/drm/drm_lock.c linux-3.0.8/drivers/gpu/drm/drm_lock.c
26214--- linux-3.0.7/drivers/gpu/drm/drm_lock.c 2011-07-21 22:17:23.000000000 -0400 26576--- linux-3.0.8/drivers/gpu/drm/drm_lock.c 2011-07-21 22:17:23.000000000 -0400
26215+++ linux-3.0.7/drivers/gpu/drm/drm_lock.c 2011-08-23 21:47:55.000000000 -0400 26577+++ linux-3.0.8/drivers/gpu/drm/drm_lock.c 2011-08-23 21:47:55.000000000 -0400
26216@@ -89,7 +89,7 @@ int drm_lock(struct drm_device *dev, voi 26578@@ -89,7 +89,7 @@ int drm_lock(struct drm_device *dev, voi
26217 if (drm_lock_take(&master->lock, lock->context)) { 26579 if (drm_lock_take(&master->lock, lock->context)) {
26218 master->lock.file_priv = file_priv; 26580 master->lock.file_priv = file_priv;
@@ -26231,9 +26593,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/drm_lock.c linux-3.0.7/drivers/gpu/drm/dr
26231 26593
26232 if (drm_lock_free(&master->lock, lock->context)) { 26594 if (drm_lock_free(&master->lock, lock->context)) {
26233 /* FIXME: Should really bail out here. */ 26595 /* FIXME: Should really bail out here. */
26234diff -urNp linux-3.0.7/drivers/gpu/drm/i810/i810_dma.c linux-3.0.7/drivers/gpu/drm/i810/i810_dma.c 26596diff -urNp linux-3.0.8/drivers/gpu/drm/i810/i810_dma.c linux-3.0.8/drivers/gpu/drm/i810/i810_dma.c
26235--- linux-3.0.7/drivers/gpu/drm/i810/i810_dma.c 2011-07-21 22:17:23.000000000 -0400 26597--- linux-3.0.8/drivers/gpu/drm/i810/i810_dma.c 2011-07-21 22:17:23.000000000 -0400
26236+++ linux-3.0.7/drivers/gpu/drm/i810/i810_dma.c 2011-08-23 21:47:55.000000000 -0400 26598+++ linux-3.0.8/drivers/gpu/drm/i810/i810_dma.c 2011-08-23 21:47:55.000000000 -0400
26237@@ -950,8 +950,8 @@ static int i810_dma_vertex(struct drm_de 26599@@ -950,8 +950,8 @@ static int i810_dma_vertex(struct drm_de
26238 dma->buflist[vertex->idx], 26600 dma->buflist[vertex->idx],
26239 vertex->discard, vertex->used); 26601 vertex->discard, vertex->used);
@@ -26256,9 +26618,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/i810/i810_dma.c linux-3.0.7/drivers/gpu/d
26256 sarea_priv->last_enqueue = dev_priv->counter - 1; 26618 sarea_priv->last_enqueue = dev_priv->counter - 1;
26257 sarea_priv->last_dispatch = (int)hw_status[5]; 26619 sarea_priv->last_dispatch = (int)hw_status[5];
26258 26620
26259diff -urNp linux-3.0.7/drivers/gpu/drm/i810/i810_drv.h linux-3.0.7/drivers/gpu/drm/i810/i810_drv.h 26621diff -urNp linux-3.0.8/drivers/gpu/drm/i810/i810_drv.h linux-3.0.8/drivers/gpu/drm/i810/i810_drv.h
26260--- linux-3.0.7/drivers/gpu/drm/i810/i810_drv.h 2011-07-21 22:17:23.000000000 -0400 26622--- linux-3.0.8/drivers/gpu/drm/i810/i810_drv.h 2011-07-21 22:17:23.000000000 -0400
26261+++ linux-3.0.7/drivers/gpu/drm/i810/i810_drv.h 2011-08-23 21:47:55.000000000 -0400 26623+++ linux-3.0.8/drivers/gpu/drm/i810/i810_drv.h 2011-08-23 21:47:55.000000000 -0400
26262@@ -108,8 +108,8 @@ typedef struct drm_i810_private { 26624@@ -108,8 +108,8 @@ typedef struct drm_i810_private {
26263 int page_flipping; 26625 int page_flipping;
26264 26626
@@ -26270,9 +26632,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/i810/i810_drv.h linux-3.0.7/drivers/gpu/d
26270 26632
26271 int front_offset; 26633 int front_offset;
26272 } drm_i810_private_t; 26634 } drm_i810_private_t;
26273diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_debugfs.c linux-3.0.7/drivers/gpu/drm/i915/i915_debugfs.c 26635diff -urNp linux-3.0.8/drivers/gpu/drm/i915/i915_debugfs.c linux-3.0.8/drivers/gpu/drm/i915/i915_debugfs.c
26274--- linux-3.0.7/drivers/gpu/drm/i915/i915_debugfs.c 2011-07-21 22:17:23.000000000 -0400 26636--- linux-3.0.8/drivers/gpu/drm/i915/i915_debugfs.c 2011-07-21 22:17:23.000000000 -0400
26275+++ linux-3.0.7/drivers/gpu/drm/i915/i915_debugfs.c 2011-10-06 04:17:55.000000000 -0400 26637+++ linux-3.0.8/drivers/gpu/drm/i915/i915_debugfs.c 2011-10-06 04:17:55.000000000 -0400
26276@@ -497,7 +497,7 @@ static int i915_interrupt_info(struct se 26638@@ -497,7 +497,7 @@ static int i915_interrupt_info(struct se
26277 I915_READ(GTIMR)); 26639 I915_READ(GTIMR));
26278 } 26640 }
@@ -26291,9 +26653,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_debugfs.c linux-3.0.7/drivers/g
26291 26653
26292 mutex_unlock(&dev->struct_mutex); 26654 mutex_unlock(&dev->struct_mutex);
26293 26655
26294diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_dma.c linux-3.0.7/drivers/gpu/drm/i915/i915_dma.c 26656diff -urNp linux-3.0.8/drivers/gpu/drm/i915/i915_dma.c linux-3.0.8/drivers/gpu/drm/i915/i915_dma.c
26295--- linux-3.0.7/drivers/gpu/drm/i915/i915_dma.c 2011-09-02 18:11:21.000000000 -0400 26657--- linux-3.0.8/drivers/gpu/drm/i915/i915_dma.c 2011-10-24 08:05:21.000000000 -0400
26296+++ linux-3.0.7/drivers/gpu/drm/i915/i915_dma.c 2011-08-23 21:47:55.000000000 -0400 26658+++ linux-3.0.8/drivers/gpu/drm/i915/i915_dma.c 2011-08-23 21:47:55.000000000 -0400
26297@@ -1169,7 +1169,7 @@ static bool i915_switcheroo_can_switch(s 26659@@ -1169,7 +1169,7 @@ static bool i915_switcheroo_can_switch(s
26298 bool can_switch; 26660 bool can_switch;
26299 26661
@@ -26303,9 +26665,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_dma.c linux-3.0.7/drivers/gpu/d
26303 spin_unlock(&dev->count_lock); 26665 spin_unlock(&dev->count_lock);
26304 return can_switch; 26666 return can_switch;
26305 } 26667 }
26306diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_drv.h linux-3.0.7/drivers/gpu/drm/i915/i915_drv.h 26668diff -urNp linux-3.0.8/drivers/gpu/drm/i915/i915_drv.h linux-3.0.8/drivers/gpu/drm/i915/i915_drv.h
26307--- linux-3.0.7/drivers/gpu/drm/i915/i915_drv.h 2011-07-21 22:17:23.000000000 -0400 26669--- linux-3.0.8/drivers/gpu/drm/i915/i915_drv.h 2011-07-21 22:17:23.000000000 -0400
26308+++ linux-3.0.7/drivers/gpu/drm/i915/i915_drv.h 2011-08-23 21:47:55.000000000 -0400 26670+++ linux-3.0.8/drivers/gpu/drm/i915/i915_drv.h 2011-08-23 21:47:55.000000000 -0400
26309@@ -219,7 +219,7 @@ struct drm_i915_display_funcs { 26671@@ -219,7 +219,7 @@ struct drm_i915_display_funcs {
26310 /* render clock increase/decrease */ 26672 /* render clock increase/decrease */
26311 /* display clock increase/decrease */ 26673 /* display clock increase/decrease */
@@ -26342,9 +26704,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_drv.h linux-3.0.7/drivers/gpu/d
26342 { 26704 {
26343 return container_of(adapter, struct intel_gmbus, adapter)->force_bit; 26705 return container_of(adapter, struct intel_gmbus, adapter)->force_bit;
26344 } 26706 }
26345diff -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 26707diff -urNp linux-3.0.8/drivers/gpu/drm/i915/i915_gem_execbuffer.c linux-3.0.8/drivers/gpu/drm/i915/i915_gem_execbuffer.c
26346--- linux-3.0.7/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2011-07-21 22:17:23.000000000 -0400 26708--- linux-3.0.8/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2011-07-21 22:17:23.000000000 -0400
26347+++ linux-3.0.7/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2011-08-23 21:47:55.000000000 -0400 26709+++ linux-3.0.8/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2011-08-23 21:47:55.000000000 -0400
26348@@ -188,7 +188,7 @@ i915_gem_object_set_to_gpu_domain(struct 26710@@ -188,7 +188,7 @@ i915_gem_object_set_to_gpu_domain(struct
26349 i915_gem_clflush_object(obj); 26711 i915_gem_clflush_object(obj);
26350 26712
@@ -26354,9 +26716,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_gem_execbuffer.c linux-3.0.7/dr
26354 26716
26355 /* The actual obj->write_domain will be updated with 26717 /* The actual obj->write_domain will be updated with
26356 * pending_write_domain after we emit the accumulated flush for all 26718 * pending_write_domain after we emit the accumulated flush for all
26357diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_irq.c linux-3.0.7/drivers/gpu/drm/i915/i915_irq.c 26719diff -urNp linux-3.0.8/drivers/gpu/drm/i915/i915_irq.c linux-3.0.8/drivers/gpu/drm/i915/i915_irq.c
26358--- linux-3.0.7/drivers/gpu/drm/i915/i915_irq.c 2011-09-02 18:11:21.000000000 -0400 26720--- linux-3.0.8/drivers/gpu/drm/i915/i915_irq.c 2011-10-24 08:05:21.000000000 -0400
26359+++ linux-3.0.7/drivers/gpu/drm/i915/i915_irq.c 2011-08-23 21:47:55.000000000 -0400 26721+++ linux-3.0.8/drivers/gpu/drm/i915/i915_irq.c 2011-08-23 21:47:55.000000000 -0400
26360@@ -473,7 +473,7 @@ static irqreturn_t ivybridge_irq_handler 26722@@ -473,7 +473,7 @@ static irqreturn_t ivybridge_irq_handler
26361 u32 de_iir, gt_iir, de_ier, pch_iir, pm_iir; 26723 u32 de_iir, gt_iir, de_ier, pch_iir, pm_iir;
26362 struct drm_i915_master_private *master_priv; 26724 struct drm_i915_master_private *master_priv;
@@ -26402,9 +26764,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/i915/i915_irq.c linux-3.0.7/drivers/gpu/d
26402 26764
26403 INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func); 26765 INIT_WORK(&dev_priv->hotplug_work, i915_hotplug_work_func);
26404 INIT_WORK(&dev_priv->error_work, i915_error_work_func); 26766 INIT_WORK(&dev_priv->error_work, i915_error_work_func);
26405diff -urNp linux-3.0.7/drivers/gpu/drm/i915/intel_display.c linux-3.0.7/drivers/gpu/drm/i915/intel_display.c 26767diff -urNp linux-3.0.8/drivers/gpu/drm/i915/intel_display.c linux-3.0.8/drivers/gpu/drm/i915/intel_display.c
26406--- linux-3.0.7/drivers/gpu/drm/i915/intel_display.c 2011-09-02 18:11:21.000000000 -0400 26768--- linux-3.0.8/drivers/gpu/drm/i915/intel_display.c 2011-10-24 08:05:21.000000000 -0400
26407+++ linux-3.0.7/drivers/gpu/drm/i915/intel_display.c 2011-08-23 21:47:55.000000000 -0400 26769+++ linux-3.0.8/drivers/gpu/drm/i915/intel_display.c 2011-08-23 21:47:55.000000000 -0400
26408@@ -1961,7 +1961,7 @@ intel_pipe_set_base(struct drm_crtc *crt 26770@@ -1961,7 +1961,7 @@ intel_pipe_set_base(struct drm_crtc *crt
26409 26771
26410 wait_event(dev_priv->pending_flip_queue, 26772 wait_event(dev_priv->pending_flip_queue,
@@ -26450,9 +26812,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/i915/intel_display.c linux-3.0.7/drivers/
26450 cleanup_objs: 26812 cleanup_objs:
26451 drm_gem_object_unreference(&work->old_fb_obj->base); 26813 drm_gem_object_unreference(&work->old_fb_obj->base);
26452 drm_gem_object_unreference(&obj->base); 26814 drm_gem_object_unreference(&obj->base);
26453diff -urNp linux-3.0.7/drivers/gpu/drm/mga/mga_drv.h linux-3.0.7/drivers/gpu/drm/mga/mga_drv.h 26815diff -urNp linux-3.0.8/drivers/gpu/drm/mga/mga_drv.h linux-3.0.8/drivers/gpu/drm/mga/mga_drv.h
26454--- linux-3.0.7/drivers/gpu/drm/mga/mga_drv.h 2011-07-21 22:17:23.000000000 -0400 26816--- linux-3.0.8/drivers/gpu/drm/mga/mga_drv.h 2011-07-21 22:17:23.000000000 -0400
26455+++ linux-3.0.7/drivers/gpu/drm/mga/mga_drv.h 2011-08-23 21:47:55.000000000 -0400 26817+++ linux-3.0.8/drivers/gpu/drm/mga/mga_drv.h 2011-08-23 21:47:55.000000000 -0400
26456@@ -120,9 +120,9 @@ typedef struct drm_mga_private { 26818@@ -120,9 +120,9 @@ typedef struct drm_mga_private {
26457 u32 clear_cmd; 26819 u32 clear_cmd;
26458 u32 maccess; 26820 u32 maccess;
@@ -26465,9 +26827,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/mga/mga_drv.h linux-3.0.7/drivers/gpu/drm
26465 u32 next_fence_to_post; 26827 u32 next_fence_to_post;
26466 26828
26467 unsigned int fb_cpp; 26829 unsigned int fb_cpp;
26468diff -urNp linux-3.0.7/drivers/gpu/drm/mga/mga_irq.c linux-3.0.7/drivers/gpu/drm/mga/mga_irq.c 26830diff -urNp linux-3.0.8/drivers/gpu/drm/mga/mga_irq.c linux-3.0.8/drivers/gpu/drm/mga/mga_irq.c
26469--- linux-3.0.7/drivers/gpu/drm/mga/mga_irq.c 2011-07-21 22:17:23.000000000 -0400 26831--- linux-3.0.8/drivers/gpu/drm/mga/mga_irq.c 2011-07-21 22:17:23.000000000 -0400
26470+++ linux-3.0.7/drivers/gpu/drm/mga/mga_irq.c 2011-08-23 21:47:55.000000000 -0400 26832+++ linux-3.0.8/drivers/gpu/drm/mga/mga_irq.c 2011-08-23 21:47:55.000000000 -0400
26471@@ -44,7 +44,7 @@ u32 mga_get_vblank_counter(struct drm_de 26833@@ -44,7 +44,7 @@ u32 mga_get_vblank_counter(struct drm_de
26472 if (crtc != 0) 26834 if (crtc != 0)
26473 return 0; 26835 return 0;
@@ -26504,9 +26866,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/mga/mga_irq.c linux-3.0.7/drivers/gpu/drm
26504 - *sequence) <= (1 << 23))); 26866 - *sequence) <= (1 << 23)));
26505 26867
26506 *sequence = cur_fence; 26868 *sequence = cur_fence;
26507diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_bios.c linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_bios.c 26869diff -urNp linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_bios.c linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_bios.c
26508--- linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-07-21 22:17:23.000000000 -0400 26870--- linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-07-21 22:17:23.000000000 -0400
26509+++ linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-08-26 19:49:56.000000000 -0400 26871+++ linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_bios.c 2011-08-26 19:49:56.000000000 -0400
26510@@ -200,7 +200,7 @@ struct methods { 26872@@ -200,7 +200,7 @@ struct methods {
26511 const char desc[8]; 26873 const char desc[8];
26512 void (*loadbios)(struct drm_device *, uint8_t *); 26874 void (*loadbios)(struct drm_device *, uint8_t *);
@@ -26525,9 +26887,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_bios.c linux-3.0.7/driver
26525 26887
26526 #define BIT_TABLE(id, funcid) ((struct bit_table){ id, parse_bit_##funcid##_tbl_entry }) 26888 #define BIT_TABLE(id, funcid) ((struct bit_table){ id, parse_bit_##funcid##_tbl_entry })
26527 26889
26528diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_drv.h linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_drv.h 26890diff -urNp linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_drv.h linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_drv.h
26529--- linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-07-21 22:17:23.000000000 -0400 26891--- linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-07-21 22:17:23.000000000 -0400
26530+++ linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-08-23 21:47:55.000000000 -0400 26892+++ linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_drv.h 2011-08-23 21:47:55.000000000 -0400
26531@@ -227,7 +227,7 @@ struct nouveau_channel { 26893@@ -227,7 +227,7 @@ struct nouveau_channel {
26532 struct list_head pending; 26894 struct list_head pending;
26533 uint32_t sequence; 26895 uint32_t sequence;
@@ -26580,9 +26942,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_drv.h linux-3.0.7/drivers
26580 } ttm; 26942 } ttm;
26581 26943
26582 struct { 26944 struct {
26583diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_fence.c 26945diff -urNp linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_fence.c linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_fence.c
26584--- linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-07-21 22:17:23.000000000 -0400 26946--- linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-07-21 22:17:23.000000000 -0400
26585+++ linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-08-23 21:47:55.000000000 -0400 26947+++ linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_fence.c 2011-08-23 21:47:55.000000000 -0400
26586@@ -85,7 +85,7 @@ nouveau_fence_update(struct nouveau_chan 26948@@ -85,7 +85,7 @@ nouveau_fence_update(struct nouveau_chan
26587 if (USE_REFCNT(dev)) 26949 if (USE_REFCNT(dev))
26588 sequence = nvchan_rd32(chan, 0x48); 26950 sequence = nvchan_rd32(chan, 0x48);
@@ -26601,9 +26963,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_fence.c linux-3.0.7/drive
26601 return 0; 26963 return 0;
26602 } 26964 }
26603 26965
26604diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_gem.c linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_gem.c 26966diff -urNp linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_gem.c linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_gem.c
26605--- linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-07-21 22:17:23.000000000 -0400 26967--- linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-07-21 22:17:23.000000000 -0400
26606+++ linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-08-23 21:47:55.000000000 -0400 26968+++ linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_gem.c 2011-08-23 21:47:55.000000000 -0400
26607@@ -249,7 +249,7 @@ validate_init(struct nouveau_channel *ch 26969@@ -249,7 +249,7 @@ validate_init(struct nouveau_channel *ch
26608 int trycnt = 0; 26970 int trycnt = 0;
26609 int ret, i; 26971 int ret, i;
@@ -26613,9 +26975,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_gem.c linux-3.0.7/drivers
26613 retry: 26975 retry:
26614 if (++trycnt > 100000) { 26976 if (++trycnt > 100000) {
26615 NV_ERROR(dev, "%s failed and gave up.\n", __func__); 26977 NV_ERROR(dev, "%s failed and gave up.\n", __func__);
26616diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_state.c linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_state.c 26978diff -urNp linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_state.c linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_state.c
26617--- linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_state.c 2011-07-21 22:17:23.000000000 -0400 26979--- linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_state.c 2011-07-21 22:17:23.000000000 -0400
26618+++ linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_state.c 2011-08-23 21:47:55.000000000 -0400 26980+++ linux-3.0.8/drivers/gpu/drm/nouveau/nouveau_state.c 2011-08-23 21:47:55.000000000 -0400
26619@@ -488,7 +488,7 @@ static bool nouveau_switcheroo_can_switc 26981@@ -488,7 +488,7 @@ static bool nouveau_switcheroo_can_switc
26620 bool can_switch; 26982 bool can_switch;
26621 26983
@@ -26625,9 +26987,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nouveau_state.c linux-3.0.7/drive
26625 spin_unlock(&dev->count_lock); 26987 spin_unlock(&dev->count_lock);
26626 return can_switch; 26988 return can_switch;
26627 } 26989 }
26628diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nv04_graph.c linux-3.0.7/drivers/gpu/drm/nouveau/nv04_graph.c 26990diff -urNp linux-3.0.8/drivers/gpu/drm/nouveau/nv04_graph.c linux-3.0.8/drivers/gpu/drm/nouveau/nv04_graph.c
26629--- linux-3.0.7/drivers/gpu/drm/nouveau/nv04_graph.c 2011-07-21 22:17:23.000000000 -0400 26991--- linux-3.0.8/drivers/gpu/drm/nouveau/nv04_graph.c 2011-07-21 22:17:23.000000000 -0400
26630+++ linux-3.0.7/drivers/gpu/drm/nouveau/nv04_graph.c 2011-08-23 21:47:55.000000000 -0400 26992+++ linux-3.0.8/drivers/gpu/drm/nouveau/nv04_graph.c 2011-08-23 21:47:55.000000000 -0400
26631@@ -560,7 +560,7 @@ static int 26993@@ -560,7 +560,7 @@ static int
26632 nv04_graph_mthd_set_ref(struct nouveau_channel *chan, 26994 nv04_graph_mthd_set_ref(struct nouveau_channel *chan,
26633 u32 class, u32 mthd, u32 data) 26995 u32 class, u32 mthd, u32 data)
@@ -26637,9 +26999,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/nouveau/nv04_graph.c linux-3.0.7/drivers/
26637 return 0; 26999 return 0;
26638 } 27000 }
26639 27001
26640diff -urNp linux-3.0.7/drivers/gpu/drm/r128/r128_cce.c linux-3.0.7/drivers/gpu/drm/r128/r128_cce.c 27002diff -urNp linux-3.0.8/drivers/gpu/drm/r128/r128_cce.c linux-3.0.8/drivers/gpu/drm/r128/r128_cce.c
26641--- linux-3.0.7/drivers/gpu/drm/r128/r128_cce.c 2011-07-21 22:17:23.000000000 -0400 27003--- linux-3.0.8/drivers/gpu/drm/r128/r128_cce.c 2011-07-21 22:17:23.000000000 -0400
26642+++ linux-3.0.7/drivers/gpu/drm/r128/r128_cce.c 2011-08-23 21:47:55.000000000 -0400 27004+++ linux-3.0.8/drivers/gpu/drm/r128/r128_cce.c 2011-08-23 21:47:55.000000000 -0400
26643@@ -377,7 +377,7 @@ static int r128_do_init_cce(struct drm_d 27005@@ -377,7 +377,7 @@ static int r128_do_init_cce(struct drm_d
26644 27006
26645 /* GH: Simple idle check. 27007 /* GH: Simple idle check.
@@ -26649,9 +27011,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/r128/r128_cce.c linux-3.0.7/drivers/gpu/d
26649 27011
26650 /* We don't support anything other than bus-mastering ring mode, 27012 /* We don't support anything other than bus-mastering ring mode,
26651 * but the ring can be in either AGP or PCI space for the ring 27013 * but the ring can be in either AGP or PCI space for the ring
26652diff -urNp linux-3.0.7/drivers/gpu/drm/r128/r128_drv.h linux-3.0.7/drivers/gpu/drm/r128/r128_drv.h 27014diff -urNp linux-3.0.8/drivers/gpu/drm/r128/r128_drv.h linux-3.0.8/drivers/gpu/drm/r128/r128_drv.h
26653--- linux-3.0.7/drivers/gpu/drm/r128/r128_drv.h 2011-07-21 22:17:23.000000000 -0400 27015--- linux-3.0.8/drivers/gpu/drm/r128/r128_drv.h 2011-07-21 22:17:23.000000000 -0400
26654+++ linux-3.0.7/drivers/gpu/drm/r128/r128_drv.h 2011-08-23 21:47:55.000000000 -0400 27016+++ linux-3.0.8/drivers/gpu/drm/r128/r128_drv.h 2011-08-23 21:47:55.000000000 -0400
26655@@ -90,14 +90,14 @@ typedef struct drm_r128_private { 27017@@ -90,14 +90,14 @@ typedef struct drm_r128_private {
26656 int is_pci; 27018 int is_pci;
26657 unsigned long cce_buffers_offset; 27019 unsigned long cce_buffers_offset;
@@ -26669,9 +27031,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/r128/r128_drv.h linux-3.0.7/drivers/gpu/d
26669 27031
26670 u32 color_fmt; 27032 u32 color_fmt;
26671 unsigned int front_offset; 27033 unsigned int front_offset;
26672diff -urNp linux-3.0.7/drivers/gpu/drm/r128/r128_irq.c linux-3.0.7/drivers/gpu/drm/r128/r128_irq.c 27034diff -urNp linux-3.0.8/drivers/gpu/drm/r128/r128_irq.c linux-3.0.8/drivers/gpu/drm/r128/r128_irq.c
26673--- linux-3.0.7/drivers/gpu/drm/r128/r128_irq.c 2011-07-21 22:17:23.000000000 -0400 27035--- linux-3.0.8/drivers/gpu/drm/r128/r128_irq.c 2011-07-21 22:17:23.000000000 -0400
26674+++ linux-3.0.7/drivers/gpu/drm/r128/r128_irq.c 2011-08-23 21:47:55.000000000 -0400 27036+++ linux-3.0.8/drivers/gpu/drm/r128/r128_irq.c 2011-08-23 21:47:55.000000000 -0400
26675@@ -42,7 +42,7 @@ u32 r128_get_vblank_counter(struct drm_d 27037@@ -42,7 +42,7 @@ u32 r128_get_vblank_counter(struct drm_d
26676 if (crtc != 0) 27038 if (crtc != 0)
26677 return 0; 27039 return 0;
@@ -26690,9 +27052,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/r128/r128_irq.c linux-3.0.7/drivers/gpu/d
26690 drm_handle_vblank(dev, 0); 27052 drm_handle_vblank(dev, 0);
26691 return IRQ_HANDLED; 27053 return IRQ_HANDLED;
26692 } 27054 }
26693diff -urNp linux-3.0.7/drivers/gpu/drm/r128/r128_state.c linux-3.0.7/drivers/gpu/drm/r128/r128_state.c 27055diff -urNp linux-3.0.8/drivers/gpu/drm/r128/r128_state.c linux-3.0.8/drivers/gpu/drm/r128/r128_state.c
26694--- linux-3.0.7/drivers/gpu/drm/r128/r128_state.c 2011-07-21 22:17:23.000000000 -0400 27056--- linux-3.0.8/drivers/gpu/drm/r128/r128_state.c 2011-07-21 22:17:23.000000000 -0400
26695+++ linux-3.0.7/drivers/gpu/drm/r128/r128_state.c 2011-08-23 21:47:55.000000000 -0400 27057+++ linux-3.0.8/drivers/gpu/drm/r128/r128_state.c 2011-08-23 21:47:55.000000000 -0400
26696@@ -321,10 +321,10 @@ static void r128_clear_box(drm_r128_priv 27058@@ -321,10 +321,10 @@ static void r128_clear_box(drm_r128_priv
26697 27059
26698 static void r128_cce_performance_boxes(drm_r128_private_t *dev_priv) 27060 static void r128_cce_performance_boxes(drm_r128_private_t *dev_priv)
@@ -26706,10 +27068,10 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/r128/r128_state.c linux-3.0.7/drivers/gpu
26706 } 27068 }
26707 27069
26708 #endif 27070 #endif
26709diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/atom.c linux-3.0.7/drivers/gpu/drm/radeon/atom.c 27071diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/atom.c linux-3.0.8/drivers/gpu/drm/radeon/atom.c
26710--- linux-3.0.7/drivers/gpu/drm/radeon/atom.c 2011-07-21 22:17:23.000000000 -0400 27072--- linux-3.0.8/drivers/gpu/drm/radeon/atom.c 2011-10-25 09:10:33.000000000 -0400
26711+++ linux-3.0.7/drivers/gpu/drm/radeon/atom.c 2011-08-23 21:48:14.000000000 -0400 27073+++ linux-3.0.8/drivers/gpu/drm/radeon/atom.c 2011-10-25 09:10:41.000000000 -0400
26712@@ -1245,6 +1245,8 @@ struct atom_context *atom_parse(struct c 27074@@ -1254,6 +1254,8 @@ struct atom_context *atom_parse(struct c
26713 char name[512]; 27075 char name[512];
26714 int i; 27076 int i;
26715 27077
@@ -26718,9 +27080,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/atom.c linux-3.0.7/drivers/gpu/drm
26718 ctx->card = card; 27080 ctx->card = card;
26719 ctx->bios = bios; 27081 ctx->bios = bios;
26720 27082
26721diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/mkregtable.c linux-3.0.7/drivers/gpu/drm/radeon/mkregtable.c 27083diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/mkregtable.c linux-3.0.8/drivers/gpu/drm/radeon/mkregtable.c
26722--- linux-3.0.7/drivers/gpu/drm/radeon/mkregtable.c 2011-07-21 22:17:23.000000000 -0400 27084--- linux-3.0.8/drivers/gpu/drm/radeon/mkregtable.c 2011-07-21 22:17:23.000000000 -0400
26723+++ linux-3.0.7/drivers/gpu/drm/radeon/mkregtable.c 2011-08-23 21:47:55.000000000 -0400 27085+++ linux-3.0.8/drivers/gpu/drm/radeon/mkregtable.c 2011-08-23 21:47:55.000000000 -0400
26724@@ -637,14 +637,14 @@ static int parser_auth(struct table *t, 27086@@ -637,14 +637,14 @@ static int parser_auth(struct table *t,
26725 regex_t mask_rex; 27087 regex_t mask_rex;
26726 regmatch_t match[4]; 27088 regmatch_t match[4];
@@ -26738,30 +27100,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/mkregtable.c linux-3.0.7/drivers/g
26738 27100
26739 if (regcomp 27101 if (regcomp
26740 (&mask_rex, "(0x[0-9a-fA-F]*) *([_a-zA-Z0-9]*)", REG_EXTENDED)) { 27102 (&mask_rex, "(0x[0-9a-fA-F]*) *([_a-zA-Z0-9]*)", REG_EXTENDED)) {
26741diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon.h linux-3.0.7/drivers/gpu/drm/radeon/radeon.h 27103diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_atombios.c linux-3.0.8/drivers/gpu/drm/radeon/radeon_atombios.c
26742--- linux-3.0.7/drivers/gpu/drm/radeon/radeon.h 2011-10-16 21:54:53.000000000 -0400 27104--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_atombios.c 2011-07-21 22:17:23.000000000 -0400
26743+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon.h 2011-10-16 21:55:27.000000000 -0400 27105+++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_atombios.c 2011-08-23 21:48:14.000000000 -0400
26744@@ -191,7 +191,7 @@ extern int sumo_get_temp(struct radeon_d
26745 */
26746 struct radeon_fence_driver {
26747 uint32_t scratch_reg;
26748- atomic_t seq;
26749+ atomic_unchecked_t seq;
26750 uint32_t last_seq;
26751 unsigned long last_jiffies;
26752 unsigned long last_timeout;
26753@@ -961,7 +961,7 @@ struct radeon_asic {
26754 void (*pre_page_flip)(struct radeon_device *rdev, int crtc);
26755 u32 (*page_flip)(struct radeon_device *rdev, int crtc, u64 crtc_base);
26756 void (*post_page_flip)(struct radeon_device *rdev, int crtc);
26757-};
26758+} __no_const;
26759
26760 /*
26761 * Asic structures
26762diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_atombios.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_atombios.c
26763--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_atombios.c 2011-07-21 22:17:23.000000000 -0400
26764+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_atombios.c 2011-08-23 21:48:14.000000000 -0400
26765@@ -545,6 +545,8 @@ bool radeon_get_atom_connector_info_from 27106@@ -545,6 +545,8 @@ bool radeon_get_atom_connector_info_from
26766 struct radeon_gpio_rec gpio; 27107 struct radeon_gpio_rec gpio;
26767 struct radeon_hpd hpd; 27108 struct radeon_hpd hpd;
@@ -26771,9 +27112,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_atombios.c linux-3.0.7/driv
26771 if (!atom_parse_data_header(ctx, index, &size, &frev, &crev, &data_offset)) 27112 if (!atom_parse_data_header(ctx, index, &size, &frev, &crev, &data_offset))
26772 return false; 27113 return false;
26773 27114
26774diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_device.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_device.c 27115diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_device.c linux-3.0.8/drivers/gpu/drm/radeon/radeon_device.c
26775--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_device.c 2011-09-02 18:11:21.000000000 -0400 27116--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_device.c 2011-10-24 08:05:21.000000000 -0400
26776+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_device.c 2011-08-23 21:47:55.000000000 -0400 27117+++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_device.c 2011-08-23 21:47:55.000000000 -0400
26777@@ -678,7 +678,7 @@ static bool radeon_switcheroo_can_switch 27118@@ -678,7 +678,7 @@ static bool radeon_switcheroo_can_switch
26778 bool can_switch; 27119 bool can_switch;
26779 27120
@@ -26783,9 +27124,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_device.c linux-3.0.7/driver
26783 spin_unlock(&dev->count_lock); 27124 spin_unlock(&dev->count_lock);
26784 return can_switch; 27125 return can_switch;
26785 } 27126 }
26786diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_display.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_display.c 27127diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_display.c linux-3.0.8/drivers/gpu/drm/radeon/radeon_display.c
26787--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_display.c 2011-09-02 18:11:21.000000000 -0400 27128--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_display.c 2011-10-24 08:05:21.000000000 -0400
26788+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_display.c 2011-08-23 21:48:14.000000000 -0400 27129+++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_display.c 2011-08-23 21:48:14.000000000 -0400
26789@@ -946,6 +946,8 @@ void radeon_compute_pll_legacy(struct ra 27130@@ -946,6 +946,8 @@ void radeon_compute_pll_legacy(struct ra
26790 uint32_t post_div; 27131 uint32_t post_div;
26791 u32 pll_out_min, pll_out_max; 27132 u32 pll_out_min, pll_out_max;
@@ -26795,9 +27136,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_display.c linux-3.0.7/drive
26795 DRM_DEBUG_KMS("PLL freq %llu %u %u\n", freq, pll->min_ref_div, pll->max_ref_div); 27136 DRM_DEBUG_KMS("PLL freq %llu %u %u\n", freq, pll->min_ref_div, pll->max_ref_div);
26796 freq = freq * 1000; 27137 freq = freq * 1000;
26797 27138
26798diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_drv.h linux-3.0.7/drivers/gpu/drm/radeon/radeon_drv.h 27139diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_drv.h linux-3.0.8/drivers/gpu/drm/radeon/radeon_drv.h
26799--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_drv.h 2011-07-21 22:17:23.000000000 -0400 27140--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_drv.h 2011-07-21 22:17:23.000000000 -0400
26800+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_drv.h 2011-08-23 21:47:55.000000000 -0400 27141+++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_drv.h 2011-08-23 21:47:55.000000000 -0400
26801@@ -255,7 +255,7 @@ typedef struct drm_radeon_private { 27142@@ -255,7 +255,7 @@ typedef struct drm_radeon_private {
26802 27143
26803 /* SW interrupt */ 27144 /* SW interrupt */
@@ -26807,9 +27148,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_drv.h linux-3.0.7/drivers/g
26807 int vblank_crtc; 27148 int vblank_crtc;
26808 uint32_t irq_enable_reg; 27149 uint32_t irq_enable_reg;
26809 uint32_t r500_disp_irq_reg; 27150 uint32_t r500_disp_irq_reg;
26810diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_fence.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_fence.c 27151diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_fence.c linux-3.0.8/drivers/gpu/drm/radeon/radeon_fence.c
26811--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_fence.c 2011-07-21 22:17:23.000000000 -0400 27152--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_fence.c 2011-07-21 22:17:23.000000000 -0400
26812+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_fence.c 2011-08-23 21:47:55.000000000 -0400 27153+++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_fence.c 2011-08-23 21:47:55.000000000 -0400
26813@@ -78,7 +78,7 @@ int radeon_fence_emit(struct radeon_devi 27154@@ -78,7 +78,7 @@ int radeon_fence_emit(struct radeon_devi
26814 write_unlock_irqrestore(&rdev->fence_drv.lock, irq_flags); 27155 write_unlock_irqrestore(&rdev->fence_drv.lock, irq_flags);
26815 return 0; 27156 return 0;
@@ -26828,9 +27169,30 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_fence.c linux-3.0.7/drivers
26828 INIT_LIST_HEAD(&rdev->fence_drv.created); 27169 INIT_LIST_HEAD(&rdev->fence_drv.created);
26829 INIT_LIST_HEAD(&rdev->fence_drv.emited); 27170 INIT_LIST_HEAD(&rdev->fence_drv.emited);
26830 INIT_LIST_HEAD(&rdev->fence_drv.signaled); 27171 INIT_LIST_HEAD(&rdev->fence_drv.signaled);
26831diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_ioc32.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_ioc32.c 27172diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon.h linux-3.0.8/drivers/gpu/drm/radeon/radeon.h
26832--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-07-21 22:17:23.000000000 -0400 27173--- linux-3.0.8/drivers/gpu/drm/radeon/radeon.h 2011-10-24 08:05:30.000000000 -0400
26833+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-08-23 21:47:55.000000000 -0400 27174+++ linux-3.0.8/drivers/gpu/drm/radeon/radeon.h 2011-10-16 21:55:27.000000000 -0400
27175@@ -191,7 +191,7 @@ extern int sumo_get_temp(struct radeon_d
27176 */
27177 struct radeon_fence_driver {
27178 uint32_t scratch_reg;
27179- atomic_t seq;
27180+ atomic_unchecked_t seq;
27181 uint32_t last_seq;
27182 unsigned long last_jiffies;
27183 unsigned long last_timeout;
27184@@ -961,7 +961,7 @@ struct radeon_asic {
27185 void (*pre_page_flip)(struct radeon_device *rdev, int crtc);
27186 u32 (*page_flip)(struct radeon_device *rdev, int crtc, u64 crtc_base);
27187 void (*post_page_flip)(struct radeon_device *rdev, int crtc);
27188-};
27189+} __no_const;
27190
27191 /*
27192 * Asic structures
27193diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_ioc32.c linux-3.0.8/drivers/gpu/drm/radeon/radeon_ioc32.c
27194--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-07-21 22:17:23.000000000 -0400
27195+++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_ioc32.c 2011-08-23 21:47:55.000000000 -0400
26834@@ -359,7 +359,7 @@ static int compat_radeon_cp_setparam(str 27196@@ -359,7 +359,7 @@ static int compat_radeon_cp_setparam(str
26835 request = compat_alloc_user_space(sizeof(*request)); 27197 request = compat_alloc_user_space(sizeof(*request));
26836 if (!access_ok(VERIFY_WRITE, request, sizeof(*request)) 27198 if (!access_ok(VERIFY_WRITE, request, sizeof(*request))
@@ -26840,9 +27202,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_ioc32.c linux-3.0.7/drivers
26840 &request->value)) 27202 &request->value))
26841 return -EFAULT; 27203 return -EFAULT;
26842 27204
26843diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_irq.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_irq.c 27205diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_irq.c linux-3.0.8/drivers/gpu/drm/radeon/radeon_irq.c
26844--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_irq.c 2011-07-21 22:17:23.000000000 -0400 27206--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_irq.c 2011-07-21 22:17:23.000000000 -0400
26845+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_irq.c 2011-08-23 21:47:55.000000000 -0400 27207+++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_irq.c 2011-08-23 21:47:55.000000000 -0400
26846@@ -225,8 +225,8 @@ static int radeon_emit_irq(struct drm_de 27208@@ -225,8 +225,8 @@ static int radeon_emit_irq(struct drm_de
26847 unsigned int ret; 27209 unsigned int ret;
26848 RING_LOCALS; 27210 RING_LOCALS;
@@ -26863,9 +27225,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_irq.c linux-3.0.7/drivers/g
26863 DRM_INIT_WAITQUEUE(&dev_priv->swi_queue); 27225 DRM_INIT_WAITQUEUE(&dev_priv->swi_queue);
26864 27226
26865 dev->max_vblank_count = 0x001fffff; 27227 dev->max_vblank_count = 0x001fffff;
26866diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_state.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_state.c 27228diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_state.c linux-3.0.8/drivers/gpu/drm/radeon/radeon_state.c
26867--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_state.c 2011-07-21 22:17:23.000000000 -0400 27229--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_state.c 2011-07-21 22:17:23.000000000 -0400
26868+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_state.c 2011-08-23 21:47:55.000000000 -0400 27230+++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_state.c 2011-08-23 21:47:55.000000000 -0400
26869@@ -2168,7 +2168,7 @@ static int radeon_cp_clear(struct drm_de 27231@@ -2168,7 +2168,7 @@ static int radeon_cp_clear(struct drm_de
26870 if (sarea_priv->nbox > RADEON_NR_SAREA_CLIPRECTS) 27232 if (sarea_priv->nbox > RADEON_NR_SAREA_CLIPRECTS)
26871 sarea_priv->nbox = RADEON_NR_SAREA_CLIPRECTS; 27233 sarea_priv->nbox = RADEON_NR_SAREA_CLIPRECTS;
@@ -26884,9 +27246,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_state.c linux-3.0.7/drivers
26884 27246
26885 DRM_DEBUG("pid=%d\n", DRM_CURRENTPID); 27247 DRM_DEBUG("pid=%d\n", DRM_CURRENTPID);
26886 27248
26887diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_ttm.c linux-3.0.7/drivers/gpu/drm/radeon/radeon_ttm.c 27249diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/radeon_ttm.c linux-3.0.8/drivers/gpu/drm/radeon/radeon_ttm.c
26888--- linux-3.0.7/drivers/gpu/drm/radeon/radeon_ttm.c 2011-10-16 21:54:53.000000000 -0400 27250--- linux-3.0.8/drivers/gpu/drm/radeon/radeon_ttm.c 2011-10-24 08:05:30.000000000 -0400
26889+++ linux-3.0.7/drivers/gpu/drm/radeon/radeon_ttm.c 2011-10-16 21:55:27.000000000 -0400 27251+++ linux-3.0.8/drivers/gpu/drm/radeon/radeon_ttm.c 2011-10-16 21:55:27.000000000 -0400
26890@@ -649,8 +649,10 @@ int radeon_mmap(struct file *filp, struc 27252@@ -649,8 +649,10 @@ int radeon_mmap(struct file *filp, struc
26891 } 27253 }
26892 if (unlikely(ttm_vm_ops == NULL)) { 27254 if (unlikely(ttm_vm_ops == NULL)) {
@@ -26900,9 +27262,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/radeon_ttm.c linux-3.0.7/drivers/g
26900 } 27262 }
26901 vma->vm_ops = &radeon_ttm_vm_ops; 27263 vma->vm_ops = &radeon_ttm_vm_ops;
26902 return 0; 27264 return 0;
26903diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/rs690.c linux-3.0.7/drivers/gpu/drm/radeon/rs690.c 27265diff -urNp linux-3.0.8/drivers/gpu/drm/radeon/rs690.c linux-3.0.8/drivers/gpu/drm/radeon/rs690.c
26904--- linux-3.0.7/drivers/gpu/drm/radeon/rs690.c 2011-07-21 22:17:23.000000000 -0400 27266--- linux-3.0.8/drivers/gpu/drm/radeon/rs690.c 2011-07-21 22:17:23.000000000 -0400
26905+++ linux-3.0.7/drivers/gpu/drm/radeon/rs690.c 2011-08-23 21:47:55.000000000 -0400 27267+++ linux-3.0.8/drivers/gpu/drm/radeon/rs690.c 2011-08-23 21:47:55.000000000 -0400
26906@@ -304,9 +304,11 @@ void rs690_crtc_bandwidth_compute(struct 27268@@ -304,9 +304,11 @@ void rs690_crtc_bandwidth_compute(struct
26907 if (rdev->pm.max_bandwidth.full > rdev->pm.sideport_bandwidth.full && 27269 if (rdev->pm.max_bandwidth.full > rdev->pm.sideport_bandwidth.full &&
26908 rdev->pm.sideport_bandwidth.full) 27270 rdev->pm.sideport_bandwidth.full)
@@ -26916,9 +27278,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/radeon/rs690.c linux-3.0.7/drivers/gpu/dr
26916 } else { 27278 } else {
26917 if (rdev->pm.max_bandwidth.full > rdev->pm.k8_bandwidth.full && 27279 if (rdev->pm.max_bandwidth.full > rdev->pm.k8_bandwidth.full &&
26918 rdev->pm.k8_bandwidth.full) 27280 rdev->pm.k8_bandwidth.full)
26919diff -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 27281diff -urNp linux-3.0.8/drivers/gpu/drm/ttm/ttm_page_alloc.c linux-3.0.8/drivers/gpu/drm/ttm/ttm_page_alloc.c
26920--- linux-3.0.7/drivers/gpu/drm/ttm/ttm_page_alloc.c 2011-07-21 22:17:23.000000000 -0400 27282--- linux-3.0.8/drivers/gpu/drm/ttm/ttm_page_alloc.c 2011-07-21 22:17:23.000000000 -0400
26921+++ linux-3.0.7/drivers/gpu/drm/ttm/ttm_page_alloc.c 2011-08-23 21:47:55.000000000 -0400 27283+++ linux-3.0.8/drivers/gpu/drm/ttm/ttm_page_alloc.c 2011-08-23 21:47:55.000000000 -0400
26922@@ -398,9 +398,9 @@ static int ttm_pool_get_num_unused_pages 27284@@ -398,9 +398,9 @@ static int ttm_pool_get_num_unused_pages
26923 static int ttm_pool_mm_shrink(struct shrinker *shrink, 27285 static int ttm_pool_mm_shrink(struct shrinker *shrink,
26924 struct shrink_control *sc) 27286 struct shrink_control *sc)
@@ -26931,9 +27293,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/ttm/ttm_page_alloc.c linux-3.0.7/drivers/
26931 struct ttm_page_pool *pool; 27293 struct ttm_page_pool *pool;
26932 int shrink_pages = sc->nr_to_scan; 27294 int shrink_pages = sc->nr_to_scan;
26933 27295
26934diff -urNp linux-3.0.7/drivers/gpu/drm/via/via_drv.h linux-3.0.7/drivers/gpu/drm/via/via_drv.h 27296diff -urNp linux-3.0.8/drivers/gpu/drm/via/via_drv.h linux-3.0.8/drivers/gpu/drm/via/via_drv.h
26935--- linux-3.0.7/drivers/gpu/drm/via/via_drv.h 2011-07-21 22:17:23.000000000 -0400 27297--- linux-3.0.8/drivers/gpu/drm/via/via_drv.h 2011-07-21 22:17:23.000000000 -0400
26936+++ linux-3.0.7/drivers/gpu/drm/via/via_drv.h 2011-08-23 21:47:55.000000000 -0400 27298+++ linux-3.0.8/drivers/gpu/drm/via/via_drv.h 2011-08-23 21:47:55.000000000 -0400
26937@@ -51,7 +51,7 @@ typedef struct drm_via_ring_buffer { 27299@@ -51,7 +51,7 @@ typedef struct drm_via_ring_buffer {
26938 typedef uint32_t maskarray_t[5]; 27300 typedef uint32_t maskarray_t[5];
26939 27301
@@ -26952,9 +27314,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/via/via_drv.h linux-3.0.7/drivers/gpu/drm
26952 drm_via_state_t hc_state; 27314 drm_via_state_t hc_state;
26953 char pci_buf[VIA_PCI_BUF_SIZE]; 27315 char pci_buf[VIA_PCI_BUF_SIZE];
26954 const uint32_t *fire_offsets[VIA_FIRE_BUF_SIZE]; 27316 const uint32_t *fire_offsets[VIA_FIRE_BUF_SIZE];
26955diff -urNp linux-3.0.7/drivers/gpu/drm/via/via_irq.c linux-3.0.7/drivers/gpu/drm/via/via_irq.c 27317diff -urNp linux-3.0.8/drivers/gpu/drm/via/via_irq.c linux-3.0.8/drivers/gpu/drm/via/via_irq.c
26956--- linux-3.0.7/drivers/gpu/drm/via/via_irq.c 2011-07-21 22:17:23.000000000 -0400 27318--- linux-3.0.8/drivers/gpu/drm/via/via_irq.c 2011-07-21 22:17:23.000000000 -0400
26957+++ linux-3.0.7/drivers/gpu/drm/via/via_irq.c 2011-08-23 21:47:55.000000000 -0400 27319+++ linux-3.0.8/drivers/gpu/drm/via/via_irq.c 2011-08-23 21:47:55.000000000 -0400
26958@@ -102,7 +102,7 @@ u32 via_get_vblank_counter(struct drm_de 27320@@ -102,7 +102,7 @@ u32 via_get_vblank_counter(struct drm_de
26959 if (crtc != 0) 27321 if (crtc != 0)
26960 return 0; 27322 return 0;
@@ -27025,9 +27387,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/via/via_irq.c linux-3.0.7/drivers/gpu/drm
27025 irqwait->request.type &= ~_DRM_VBLANK_RELATIVE; 27387 irqwait->request.type &= ~_DRM_VBLANK_RELATIVE;
27026 case VIA_IRQ_ABSOLUTE: 27388 case VIA_IRQ_ABSOLUTE:
27027 break; 27389 break;
27028diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h 27390diff -urNp linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
27029--- linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h 2011-07-21 22:17:23.000000000 -0400 27391--- linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h 2011-07-21 22:17:23.000000000 -0400
27030+++ linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h 2011-08-23 21:47:55.000000000 -0400 27392+++ linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h 2011-08-23 21:47:55.000000000 -0400
27031@@ -240,7 +240,7 @@ struct vmw_private { 27393@@ -240,7 +240,7 @@ struct vmw_private {
27032 * Fencing and IRQs. 27394 * Fencing and IRQs.
27033 */ 27395 */
@@ -27037,9 +27399,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h linux-3.0.7/drivers/g
27037 wait_queue_head_t fence_queue; 27399 wait_queue_head_t fence_queue;
27038 wait_queue_head_t fifo_queue; 27400 wait_queue_head_t fifo_queue;
27039 atomic_t fence_queue_waiters; 27401 atomic_t fence_queue_waiters;
27040diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c 27402diff -urNp linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c
27041--- linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c 2011-07-21 22:17:23.000000000 -0400 27403--- linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c 2011-07-21 22:17:23.000000000 -0400
27042+++ linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c 2011-10-06 04:17:55.000000000 -0400 27404+++ linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c 2011-10-06 04:17:55.000000000 -0400
27043@@ -610,7 +610,7 @@ int vmw_execbuf_ioctl(struct drm_device 27405@@ -610,7 +610,7 @@ int vmw_execbuf_ioctl(struct drm_device
27044 struct drm_vmw_fence_rep fence_rep; 27406 struct drm_vmw_fence_rep fence_rep;
27045 struct drm_vmw_fence_rep __user *user_fence_rep; 27407 struct drm_vmw_fence_rep __user *user_fence_rep;
@@ -27049,9 +27411,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c linux-3.0.7/drive
27049 void *cmd; 27411 void *cmd;
27050 uint32_t sequence; 27412 uint32_t sequence;
27051 struct vmw_sw_context *sw_context = &dev_priv->ctx; 27413 struct vmw_sw_context *sw_context = &dev_priv->ctx;
27052diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c 27414diff -urNp linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c
27053--- linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c 2011-07-21 22:17:23.000000000 -0400 27415--- linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c 2011-07-21 22:17:23.000000000 -0400
27054+++ linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c 2011-08-23 21:47:55.000000000 -0400 27416+++ linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c 2011-08-23 21:47:55.000000000 -0400
27055@@ -151,7 +151,7 @@ int vmw_wait_lag(struct vmw_private *dev 27417@@ -151,7 +151,7 @@ int vmw_wait_lag(struct vmw_private *dev
27056 while (!vmw_lag_lt(queue, us)) { 27418 while (!vmw_lag_lt(queue, us)) {
27057 spin_lock(&queue->lock); 27419 spin_lock(&queue->lock);
@@ -27061,9 +27423,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fence.c linux-3.0.7/drivers
27061 else { 27423 else {
27062 fence = list_first_entry(&queue->head, 27424 fence = list_first_entry(&queue->head,
27063 struct vmw_fence, head); 27425 struct vmw_fence, head);
27064diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c 27426diff -urNp linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c
27065--- linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c 2011-07-21 22:17:23.000000000 -0400 27427--- linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c 2011-07-21 22:17:23.000000000 -0400
27066+++ linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c 2011-10-06 04:17:55.000000000 -0400 27428+++ linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c 2011-10-06 04:17:55.000000000 -0400
27067@@ -137,7 +137,7 @@ int vmw_fifo_init(struct vmw_private *de 27429@@ -137,7 +137,7 @@ int vmw_fifo_init(struct vmw_private *de
27068 (unsigned int) min, 27430 (unsigned int) min,
27069 (unsigned int) fifo->capabilities); 27431 (unsigned int) fifo->capabilities);
@@ -27100,9 +27462,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c linux-3.0.7/drivers/
27100 } while (*sequence == 0); 27462 } while (*sequence == 0);
27101 27463
27102 if (!(fifo_state->capabilities & SVGA_FIFO_CAP_FENCE)) { 27464 if (!(fifo_state->capabilities & SVGA_FIFO_CAP_FENCE)) {
27103diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c 27465diff -urNp linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c
27104--- linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c 2011-07-21 22:17:23.000000000 -0400 27466--- linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c 2011-07-21 22:17:23.000000000 -0400
27105+++ linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c 2011-08-23 21:47:55.000000000 -0400 27467+++ linux-3.0.8/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c 2011-08-23 21:47:55.000000000 -0400
27106@@ -100,7 +100,7 @@ bool vmw_fence_signaled(struct vmw_priva 27468@@ -100,7 +100,7 @@ bool vmw_fence_signaled(struct vmw_priva
27107 * emitted. Then the fence is stale and signaled. 27469 * emitted. Then the fence is stale and signaled.
27108 */ 27470 */
@@ -27121,9 +27483,9 @@ diff -urNp linux-3.0.7/drivers/gpu/drm/vmwgfx/vmwgfx_irq.c linux-3.0.7/drivers/g
27121 ret = 0; 27483 ret = 0;
27122 27484
27123 for (;;) { 27485 for (;;) {
27124diff -urNp linux-3.0.7/drivers/hid/hid-core.c linux-3.0.7/drivers/hid/hid-core.c 27486diff -urNp linux-3.0.8/drivers/hid/hid-core.c linux-3.0.8/drivers/hid/hid-core.c
27125--- linux-3.0.7/drivers/hid/hid-core.c 2011-07-21 22:17:23.000000000 -0400 27487--- linux-3.0.8/drivers/hid/hid-core.c 2011-07-21 22:17:23.000000000 -0400
27126+++ linux-3.0.7/drivers/hid/hid-core.c 2011-08-23 21:47:55.000000000 -0400 27488+++ linux-3.0.8/drivers/hid/hid-core.c 2011-08-23 21:47:55.000000000 -0400
27127@@ -1923,7 +1923,7 @@ static bool hid_ignore(struct hid_device 27489@@ -1923,7 +1923,7 @@ static bool hid_ignore(struct hid_device
27128 27490
27129 int hid_add_device(struct hid_device *hdev) 27491 int hid_add_device(struct hid_device *hdev)
@@ -27142,9 +27504,9 @@ diff -urNp linux-3.0.7/drivers/hid/hid-core.c linux-3.0.7/drivers/hid/hid-core.c
27142 27504
27143 hid_debug_register(hdev, dev_name(&hdev->dev)); 27505 hid_debug_register(hdev, dev_name(&hdev->dev));
27144 ret = device_add(&hdev->dev); 27506 ret = device_add(&hdev->dev);
27145diff -urNp linux-3.0.7/drivers/hid/usbhid/hiddev.c linux-3.0.7/drivers/hid/usbhid/hiddev.c 27507diff -urNp linux-3.0.8/drivers/hid/usbhid/hiddev.c linux-3.0.8/drivers/hid/usbhid/hiddev.c
27146--- linux-3.0.7/drivers/hid/usbhid/hiddev.c 2011-07-21 22:17:23.000000000 -0400 27508--- linux-3.0.8/drivers/hid/usbhid/hiddev.c 2011-07-21 22:17:23.000000000 -0400
27147+++ linux-3.0.7/drivers/hid/usbhid/hiddev.c 2011-08-23 21:47:55.000000000 -0400 27509+++ linux-3.0.8/drivers/hid/usbhid/hiddev.c 2011-08-23 21:47:55.000000000 -0400
27148@@ -624,7 +624,7 @@ static long hiddev_ioctl(struct file *fi 27510@@ -624,7 +624,7 @@ static long hiddev_ioctl(struct file *fi
27149 break; 27511 break;
27150 27512
@@ -27154,9 +27516,9 @@ diff -urNp linux-3.0.7/drivers/hid/usbhid/hiddev.c linux-3.0.7/drivers/hid/usbhi
27154 break; 27516 break;
27155 27517
27156 for (i = 0; i < hid->maxcollection; i++) 27518 for (i = 0; i < hid->maxcollection; i++)
27157diff -urNp linux-3.0.7/drivers/hwmon/acpi_power_meter.c linux-3.0.7/drivers/hwmon/acpi_power_meter.c 27519diff -urNp linux-3.0.8/drivers/hwmon/acpi_power_meter.c linux-3.0.8/drivers/hwmon/acpi_power_meter.c
27158--- linux-3.0.7/drivers/hwmon/acpi_power_meter.c 2011-07-21 22:17:23.000000000 -0400 27520--- linux-3.0.8/drivers/hwmon/acpi_power_meter.c 2011-07-21 22:17:23.000000000 -0400
27159+++ linux-3.0.7/drivers/hwmon/acpi_power_meter.c 2011-08-23 21:47:55.000000000 -0400 27521+++ linux-3.0.8/drivers/hwmon/acpi_power_meter.c 2011-08-23 21:47:55.000000000 -0400
27160@@ -316,8 +316,6 @@ static ssize_t set_trip(struct device *d 27522@@ -316,8 +316,6 @@ static ssize_t set_trip(struct device *d
27161 return res; 27523 return res;
27162 27524
@@ -27166,9 +27528,9 @@ diff -urNp linux-3.0.7/drivers/hwmon/acpi_power_meter.c linux-3.0.7/drivers/hwmo
27166 27528
27167 mutex_lock(&resource->lock); 27529 mutex_lock(&resource->lock);
27168 resource->trip[attr->index - 7] = temp; 27530 resource->trip[attr->index - 7] = temp;
27169diff -urNp linux-3.0.7/drivers/hwmon/sht15.c linux-3.0.7/drivers/hwmon/sht15.c 27531diff -urNp linux-3.0.8/drivers/hwmon/sht15.c linux-3.0.8/drivers/hwmon/sht15.c
27170--- linux-3.0.7/drivers/hwmon/sht15.c 2011-07-21 22:17:23.000000000 -0400 27532--- linux-3.0.8/drivers/hwmon/sht15.c 2011-07-21 22:17:23.000000000 -0400
27171+++ linux-3.0.7/drivers/hwmon/sht15.c 2011-08-23 21:47:55.000000000 -0400 27533+++ linux-3.0.8/drivers/hwmon/sht15.c 2011-08-23 21:47:55.000000000 -0400
27172@@ -166,7 +166,7 @@ struct sht15_data { 27534@@ -166,7 +166,7 @@ struct sht15_data {
27173 int supply_uV; 27535 int supply_uV;
27174 bool supply_uV_valid; 27536 bool supply_uV_valid;
@@ -27217,9 +27579,9 @@ diff -urNp linux-3.0.7/drivers/hwmon/sht15.c linux-3.0.7/drivers/hwmon/sht15.c
27217 return; 27579 return;
27218 } 27580 }
27219 27581
27220diff -urNp linux-3.0.7/drivers/hwmon/w83791d.c linux-3.0.7/drivers/hwmon/w83791d.c 27582diff -urNp linux-3.0.8/drivers/hwmon/w83791d.c linux-3.0.8/drivers/hwmon/w83791d.c
27221--- linux-3.0.7/drivers/hwmon/w83791d.c 2011-07-21 22:17:23.000000000 -0400 27583--- linux-3.0.8/drivers/hwmon/w83791d.c 2011-07-21 22:17:23.000000000 -0400
27222+++ linux-3.0.7/drivers/hwmon/w83791d.c 2011-08-23 21:47:55.000000000 -0400 27584+++ linux-3.0.8/drivers/hwmon/w83791d.c 2011-08-23 21:47:55.000000000 -0400
27223@@ -329,8 +329,8 @@ static int w83791d_detect(struct i2c_cli 27585@@ -329,8 +329,8 @@ static int w83791d_detect(struct i2c_cli
27224 struct i2c_board_info *info); 27586 struct i2c_board_info *info);
27225 static int w83791d_remove(struct i2c_client *client); 27587 static int w83791d_remove(struct i2c_client *client);
@@ -27231,9 +27593,9 @@ diff -urNp linux-3.0.7/drivers/hwmon/w83791d.c linux-3.0.7/drivers/hwmon/w83791d
27231 static struct w83791d_data *w83791d_update_device(struct device *dev); 27593 static struct w83791d_data *w83791d_update_device(struct device *dev);
27232 27594
27233 #ifdef DEBUG 27595 #ifdef DEBUG
27234diff -urNp linux-3.0.7/drivers/i2c/busses/i2c-amd756-s4882.c linux-3.0.7/drivers/i2c/busses/i2c-amd756-s4882.c 27596diff -urNp linux-3.0.8/drivers/i2c/busses/i2c-amd756-s4882.c linux-3.0.8/drivers/i2c/busses/i2c-amd756-s4882.c
27235--- linux-3.0.7/drivers/i2c/busses/i2c-amd756-s4882.c 2011-07-21 22:17:23.000000000 -0400 27597--- linux-3.0.8/drivers/i2c/busses/i2c-amd756-s4882.c 2011-07-21 22:17:23.000000000 -0400
27236+++ linux-3.0.7/drivers/i2c/busses/i2c-amd756-s4882.c 2011-08-23 21:47:55.000000000 -0400 27598+++ linux-3.0.8/drivers/i2c/busses/i2c-amd756-s4882.c 2011-08-23 21:47:55.000000000 -0400
27237@@ -43,7 +43,7 @@ 27599@@ -43,7 +43,7 @@
27238 extern struct i2c_adapter amd756_smbus; 27600 extern struct i2c_adapter amd756_smbus;
27239 27601
@@ -27243,9 +27605,9 @@ diff -urNp linux-3.0.7/drivers/i2c/busses/i2c-amd756-s4882.c linux-3.0.7/drivers
27243 27605
27244 /* Wrapper access functions for multiplexed SMBus */ 27606 /* Wrapper access functions for multiplexed SMBus */
27245 static DEFINE_MUTEX(amd756_lock); 27607 static DEFINE_MUTEX(amd756_lock);
27246diff -urNp linux-3.0.7/drivers/i2c/busses/i2c-nforce2-s4985.c linux-3.0.7/drivers/i2c/busses/i2c-nforce2-s4985.c 27608diff -urNp linux-3.0.8/drivers/i2c/busses/i2c-nforce2-s4985.c linux-3.0.8/drivers/i2c/busses/i2c-nforce2-s4985.c
27247--- linux-3.0.7/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-07-21 22:17:23.000000000 -0400 27609--- linux-3.0.8/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-07-21 22:17:23.000000000 -0400
27248+++ linux-3.0.7/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-08-23 21:47:55.000000000 -0400 27610+++ linux-3.0.8/drivers/i2c/busses/i2c-nforce2-s4985.c 2011-08-23 21:47:55.000000000 -0400
27249@@ -41,7 +41,7 @@ 27611@@ -41,7 +41,7 @@
27250 extern struct i2c_adapter *nforce2_smbus; 27612 extern struct i2c_adapter *nforce2_smbus;
27251 27613
@@ -27255,9 +27617,9 @@ diff -urNp linux-3.0.7/drivers/i2c/busses/i2c-nforce2-s4985.c linux-3.0.7/driver
27255 27617
27256 /* Wrapper access functions for multiplexed SMBus */ 27618 /* Wrapper access functions for multiplexed SMBus */
27257 static DEFINE_MUTEX(nforce2_lock); 27619 static DEFINE_MUTEX(nforce2_lock);
27258diff -urNp linux-3.0.7/drivers/i2c/i2c-mux.c linux-3.0.7/drivers/i2c/i2c-mux.c 27620diff -urNp linux-3.0.8/drivers/i2c/i2c-mux.c linux-3.0.8/drivers/i2c/i2c-mux.c
27259--- linux-3.0.7/drivers/i2c/i2c-mux.c 2011-07-21 22:17:23.000000000 -0400 27621--- linux-3.0.8/drivers/i2c/i2c-mux.c 2011-07-21 22:17:23.000000000 -0400
27260+++ linux-3.0.7/drivers/i2c/i2c-mux.c 2011-08-23 21:47:55.000000000 -0400 27622+++ linux-3.0.8/drivers/i2c/i2c-mux.c 2011-08-23 21:47:55.000000000 -0400
27261@@ -28,7 +28,7 @@ 27623@@ -28,7 +28,7 @@
27262 /* multiplexer per channel data */ 27624 /* multiplexer per channel data */
27263 struct i2c_mux_priv { 27625 struct i2c_mux_priv {
@@ -27267,9 +27629,9 @@ diff -urNp linux-3.0.7/drivers/i2c/i2c-mux.c linux-3.0.7/drivers/i2c/i2c-mux.c
27267 27629
27268 struct i2c_adapter *parent; 27630 struct i2c_adapter *parent;
27269 void *mux_dev; /* the mux chip/device */ 27631 void *mux_dev; /* the mux chip/device */
27270diff -urNp linux-3.0.7/drivers/ide/aec62xx.c linux-3.0.7/drivers/ide/aec62xx.c 27632diff -urNp linux-3.0.8/drivers/ide/aec62xx.c linux-3.0.8/drivers/ide/aec62xx.c
27271--- linux-3.0.7/drivers/ide/aec62xx.c 2011-07-21 22:17:23.000000000 -0400 27633--- linux-3.0.8/drivers/ide/aec62xx.c 2011-07-21 22:17:23.000000000 -0400
27272+++ linux-3.0.7/drivers/ide/aec62xx.c 2011-10-11 10:44:33.000000000 -0400 27634+++ linux-3.0.8/drivers/ide/aec62xx.c 2011-10-11 10:44:33.000000000 -0400
27273@@ -181,7 +181,7 @@ static const struct ide_port_ops atp86x_ 27635@@ -181,7 +181,7 @@ static const struct ide_port_ops atp86x_
27274 .cable_detect = atp86x_cable_detect, 27636 .cable_detect = atp86x_cable_detect,
27275 }; 27637 };
@@ -27279,9 +27641,9 @@ diff -urNp linux-3.0.7/drivers/ide/aec62xx.c linux-3.0.7/drivers/ide/aec62xx.c
27279 { /* 0: AEC6210 */ 27641 { /* 0: AEC6210 */
27280 .name = DRV_NAME, 27642 .name = DRV_NAME,
27281 .init_chipset = init_chipset_aec62xx, 27643 .init_chipset = init_chipset_aec62xx,
27282diff -urNp linux-3.0.7/drivers/ide/alim15x3.c linux-3.0.7/drivers/ide/alim15x3.c 27644diff -urNp linux-3.0.8/drivers/ide/alim15x3.c linux-3.0.8/drivers/ide/alim15x3.c
27283--- linux-3.0.7/drivers/ide/alim15x3.c 2011-07-21 22:17:23.000000000 -0400 27645--- linux-3.0.8/drivers/ide/alim15x3.c 2011-07-21 22:17:23.000000000 -0400
27284+++ linux-3.0.7/drivers/ide/alim15x3.c 2011-10-11 10:44:33.000000000 -0400 27646+++ linux-3.0.8/drivers/ide/alim15x3.c 2011-10-11 10:44:33.000000000 -0400
27285@@ -512,7 +512,7 @@ static const struct ide_dma_ops ali_dma_ 27647@@ -512,7 +512,7 @@ static const struct ide_dma_ops ali_dma_
27286 .dma_sff_read_status = ide_dma_sff_read_status, 27648 .dma_sff_read_status = ide_dma_sff_read_status,
27287 }; 27649 };
@@ -27291,9 +27653,9 @@ diff -urNp linux-3.0.7/drivers/ide/alim15x3.c linux-3.0.7/drivers/ide/alim15x3.c
27291 .name = DRV_NAME, 27653 .name = DRV_NAME,
27292 .init_chipset = init_chipset_ali15x3, 27654 .init_chipset = init_chipset_ali15x3,
27293 .init_hwif = init_hwif_ali15x3, 27655 .init_hwif = init_hwif_ali15x3,
27294diff -urNp linux-3.0.7/drivers/ide/amd74xx.c linux-3.0.7/drivers/ide/amd74xx.c 27656diff -urNp linux-3.0.8/drivers/ide/amd74xx.c linux-3.0.8/drivers/ide/amd74xx.c
27295--- linux-3.0.7/drivers/ide/amd74xx.c 2011-07-21 22:17:23.000000000 -0400 27657--- linux-3.0.8/drivers/ide/amd74xx.c 2011-07-21 22:17:23.000000000 -0400
27296+++ linux-3.0.7/drivers/ide/amd74xx.c 2011-10-11 10:44:33.000000000 -0400 27658+++ linux-3.0.8/drivers/ide/amd74xx.c 2011-10-11 10:44:33.000000000 -0400
27297@@ -223,7 +223,7 @@ static const struct ide_port_ops amd_por 27659@@ -223,7 +223,7 @@ static const struct ide_port_ops amd_por
27298 .udma_mask = udma, \ 27660 .udma_mask = udma, \
27299 } 27661 }
@@ -27303,9 +27665,9 @@ diff -urNp linux-3.0.7/drivers/ide/amd74xx.c linux-3.0.7/drivers/ide/amd74xx.c
27303 /* 0: AMD7401 */ DECLARE_AMD_DEV(0x00, ATA_UDMA2), 27665 /* 0: AMD7401 */ DECLARE_AMD_DEV(0x00, ATA_UDMA2),
27304 /* 1: AMD7409 */ DECLARE_AMD_DEV(ATA_SWDMA2, ATA_UDMA4), 27666 /* 1: AMD7409 */ DECLARE_AMD_DEV(ATA_SWDMA2, ATA_UDMA4),
27305 /* 2: AMD7411/7441 */ DECLARE_AMD_DEV(ATA_SWDMA2, ATA_UDMA5), 27667 /* 2: AMD7411/7441 */ DECLARE_AMD_DEV(ATA_SWDMA2, ATA_UDMA5),
27306diff -urNp linux-3.0.7/drivers/ide/atiixp.c linux-3.0.7/drivers/ide/atiixp.c 27668diff -urNp linux-3.0.8/drivers/ide/atiixp.c linux-3.0.8/drivers/ide/atiixp.c
27307--- linux-3.0.7/drivers/ide/atiixp.c 2011-07-21 22:17:23.000000000 -0400 27669--- linux-3.0.8/drivers/ide/atiixp.c 2011-07-21 22:17:23.000000000 -0400
27308+++ linux-3.0.7/drivers/ide/atiixp.c 2011-10-11 10:44:33.000000000 -0400 27670+++ linux-3.0.8/drivers/ide/atiixp.c 2011-10-11 10:44:33.000000000 -0400
27309@@ -139,7 +139,7 @@ static const struct ide_port_ops atiixp_ 27671@@ -139,7 +139,7 @@ static const struct ide_port_ops atiixp_
27310 .cable_detect = atiixp_cable_detect, 27672 .cable_detect = atiixp_cable_detect,
27311 }; 27673 };
@@ -27315,9 +27677,9 @@ diff -urNp linux-3.0.7/drivers/ide/atiixp.c linux-3.0.7/drivers/ide/atiixp.c
27315 { /* 0: IXP200/300/400/700 */ 27677 { /* 0: IXP200/300/400/700 */
27316 .name = DRV_NAME, 27678 .name = DRV_NAME,
27317 .enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}}, 27679 .enablebits = {{0x48,0x01,0x00}, {0x48,0x08,0x00}},
27318diff -urNp linux-3.0.7/drivers/ide/cmd64x.c linux-3.0.7/drivers/ide/cmd64x.c 27680diff -urNp linux-3.0.8/drivers/ide/cmd64x.c linux-3.0.8/drivers/ide/cmd64x.c
27319--- linux-3.0.7/drivers/ide/cmd64x.c 2011-07-21 22:17:23.000000000 -0400 27681--- linux-3.0.8/drivers/ide/cmd64x.c 2011-07-21 22:17:23.000000000 -0400
27320+++ linux-3.0.7/drivers/ide/cmd64x.c 2011-10-11 10:44:33.000000000 -0400 27682+++ linux-3.0.8/drivers/ide/cmd64x.c 2011-10-11 10:44:33.000000000 -0400
27321@@ -327,7 +327,7 @@ static const struct ide_dma_ops cmd646_r 27683@@ -327,7 +327,7 @@ static const struct ide_dma_ops cmd646_r
27322 .dma_sff_read_status = ide_dma_sff_read_status, 27684 .dma_sff_read_status = ide_dma_sff_read_status,
27323 }; 27685 };
@@ -27327,9 +27689,9 @@ diff -urNp linux-3.0.7/drivers/ide/cmd64x.c linux-3.0.7/drivers/ide/cmd64x.c
27327 { /* 0: CMD643 */ 27689 { /* 0: CMD643 */
27328 .name = DRV_NAME, 27690 .name = DRV_NAME,
27329 .init_chipset = init_chipset_cmd64x, 27691 .init_chipset = init_chipset_cmd64x,
27330diff -urNp linux-3.0.7/drivers/ide/cs5520.c linux-3.0.7/drivers/ide/cs5520.c 27692diff -urNp linux-3.0.8/drivers/ide/cs5520.c linux-3.0.8/drivers/ide/cs5520.c
27331--- linux-3.0.7/drivers/ide/cs5520.c 2011-07-21 22:17:23.000000000 -0400 27693--- linux-3.0.8/drivers/ide/cs5520.c 2011-07-21 22:17:23.000000000 -0400
27332+++ linux-3.0.7/drivers/ide/cs5520.c 2011-10-11 10:44:33.000000000 -0400 27694+++ linux-3.0.8/drivers/ide/cs5520.c 2011-10-11 10:44:33.000000000 -0400
27333@@ -94,7 +94,7 @@ static const struct ide_port_ops cs5520_ 27695@@ -94,7 +94,7 @@ static const struct ide_port_ops cs5520_
27334 .set_dma_mode = cs5520_set_dma_mode, 27696 .set_dma_mode = cs5520_set_dma_mode,
27335 }; 27697 };
@@ -27339,9 +27701,9 @@ diff -urNp linux-3.0.7/drivers/ide/cs5520.c linux-3.0.7/drivers/ide/cs5520.c
27339 .name = DRV_NAME, 27701 .name = DRV_NAME,
27340 .enablebits = { { 0x60, 0x01, 0x01 }, { 0x60, 0x02, 0x02 } }, 27702 .enablebits = { { 0x60, 0x01, 0x01 }, { 0x60, 0x02, 0x02 } },
27341 .port_ops = &cs5520_port_ops, 27703 .port_ops = &cs5520_port_ops,
27342diff -urNp linux-3.0.7/drivers/ide/cs5530.c linux-3.0.7/drivers/ide/cs5530.c 27704diff -urNp linux-3.0.8/drivers/ide/cs5530.c linux-3.0.8/drivers/ide/cs5530.c
27343--- linux-3.0.7/drivers/ide/cs5530.c 2011-07-21 22:17:23.000000000 -0400 27705--- linux-3.0.8/drivers/ide/cs5530.c 2011-07-21 22:17:23.000000000 -0400
27344+++ linux-3.0.7/drivers/ide/cs5530.c 2011-10-11 10:44:33.000000000 -0400 27706+++ linux-3.0.8/drivers/ide/cs5530.c 2011-10-11 10:44:33.000000000 -0400
27345@@ -245,7 +245,7 @@ static const struct ide_port_ops cs5530_ 27707@@ -245,7 +245,7 @@ static const struct ide_port_ops cs5530_
27346 .udma_filter = cs5530_udma_filter, 27708 .udma_filter = cs5530_udma_filter,
27347 }; 27709 };
@@ -27351,9 +27713,9 @@ diff -urNp linux-3.0.7/drivers/ide/cs5530.c linux-3.0.7/drivers/ide/cs5530.c
27351 .name = DRV_NAME, 27713 .name = DRV_NAME,
27352 .init_chipset = init_chipset_cs5530, 27714 .init_chipset = init_chipset_cs5530,
27353 .init_hwif = init_hwif_cs5530, 27715 .init_hwif = init_hwif_cs5530,
27354diff -urNp linux-3.0.7/drivers/ide/cs5535.c linux-3.0.7/drivers/ide/cs5535.c 27716diff -urNp linux-3.0.8/drivers/ide/cs5535.c linux-3.0.8/drivers/ide/cs5535.c
27355--- linux-3.0.7/drivers/ide/cs5535.c 2011-07-21 22:17:23.000000000 -0400 27717--- linux-3.0.8/drivers/ide/cs5535.c 2011-07-21 22:17:23.000000000 -0400
27356+++ linux-3.0.7/drivers/ide/cs5535.c 2011-10-11 10:44:33.000000000 -0400 27718+++ linux-3.0.8/drivers/ide/cs5535.c 2011-10-11 10:44:33.000000000 -0400
27357@@ -170,7 +170,7 @@ static const struct ide_port_ops cs5535_ 27719@@ -170,7 +170,7 @@ static const struct ide_port_ops cs5535_
27358 .cable_detect = cs5535_cable_detect, 27720 .cable_detect = cs5535_cable_detect,
27359 }; 27721 };
@@ -27363,9 +27725,9 @@ diff -urNp linux-3.0.7/drivers/ide/cs5535.c linux-3.0.7/drivers/ide/cs5535.c
27363 .name = DRV_NAME, 27725 .name = DRV_NAME,
27364 .port_ops = &cs5535_port_ops, 27726 .port_ops = &cs5535_port_ops,
27365 .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_POST_SET_MODE, 27727 .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_POST_SET_MODE,
27366diff -urNp linux-3.0.7/drivers/ide/cy82c693.c linux-3.0.7/drivers/ide/cy82c693.c 27728diff -urNp linux-3.0.8/drivers/ide/cy82c693.c linux-3.0.8/drivers/ide/cy82c693.c
27367--- linux-3.0.7/drivers/ide/cy82c693.c 2011-07-21 22:17:23.000000000 -0400 27729--- linux-3.0.8/drivers/ide/cy82c693.c 2011-07-21 22:17:23.000000000 -0400
27368+++ linux-3.0.7/drivers/ide/cy82c693.c 2011-10-11 10:44:33.000000000 -0400 27730+++ linux-3.0.8/drivers/ide/cy82c693.c 2011-10-11 10:44:33.000000000 -0400
27369@@ -161,7 +161,7 @@ static const struct ide_port_ops cy82c69 27731@@ -161,7 +161,7 @@ static const struct ide_port_ops cy82c69
27370 .set_dma_mode = cy82c693_set_dma_mode, 27732 .set_dma_mode = cy82c693_set_dma_mode,
27371 }; 27733 };
@@ -27375,9 +27737,9 @@ diff -urNp linux-3.0.7/drivers/ide/cy82c693.c linux-3.0.7/drivers/ide/cy82c693.c
27375 .name = DRV_NAME, 27737 .name = DRV_NAME,
27376 .init_iops = init_iops_cy82c693, 27738 .init_iops = init_iops_cy82c693,
27377 .port_ops = &cy82c693_port_ops, 27739 .port_ops = &cy82c693_port_ops,
27378diff -urNp linux-3.0.7/drivers/ide/hpt366.c linux-3.0.7/drivers/ide/hpt366.c 27740diff -urNp linux-3.0.8/drivers/ide/hpt366.c linux-3.0.8/drivers/ide/hpt366.c
27379--- linux-3.0.7/drivers/ide/hpt366.c 2011-07-21 22:17:23.000000000 -0400 27741--- linux-3.0.8/drivers/ide/hpt366.c 2011-07-21 22:17:23.000000000 -0400
27380+++ linux-3.0.7/drivers/ide/hpt366.c 2011-10-11 10:44:33.000000000 -0400 27742+++ linux-3.0.8/drivers/ide/hpt366.c 2011-10-11 10:44:33.000000000 -0400
27381@@ -443,7 +443,7 @@ static struct hpt_timings hpt37x_timings 27743@@ -443,7 +443,7 @@ static struct hpt_timings hpt37x_timings
27382 } 27744 }
27383 }; 27745 };
@@ -27486,9 +27848,9 @@ diff -urNp linux-3.0.7/drivers/ide/hpt366.c linux-3.0.7/drivers/ide/hpt366.c
27486 { /* 0: HPT36x */ 27848 { /* 0: HPT36x */
27487 .name = DRV_NAME, 27849 .name = DRV_NAME,
27488 .init_chipset = init_chipset_hpt366, 27850 .init_chipset = init_chipset_hpt366,
27489diff -urNp linux-3.0.7/drivers/ide/ide-cd.c linux-3.0.7/drivers/ide/ide-cd.c 27851diff -urNp linux-3.0.8/drivers/ide/ide-cd.c linux-3.0.8/drivers/ide/ide-cd.c
27490--- linux-3.0.7/drivers/ide/ide-cd.c 2011-07-21 22:17:23.000000000 -0400 27852--- linux-3.0.8/drivers/ide/ide-cd.c 2011-07-21 22:17:23.000000000 -0400
27491+++ linux-3.0.7/drivers/ide/ide-cd.c 2011-08-23 21:47:55.000000000 -0400 27853+++ linux-3.0.8/drivers/ide/ide-cd.c 2011-08-23 21:47:55.000000000 -0400
27492@@ -769,7 +769,7 @@ static void cdrom_do_block_pc(ide_drive_ 27854@@ -769,7 +769,7 @@ static void cdrom_do_block_pc(ide_drive_
27493 alignment = queue_dma_alignment(q) | q->dma_pad_mask; 27855 alignment = queue_dma_alignment(q) | q->dma_pad_mask;
27494 if ((unsigned long)buf & alignment 27856 if ((unsigned long)buf & alignment
@@ -27498,9 +27860,9 @@ diff -urNp linux-3.0.7/drivers/ide/ide-cd.c linux-3.0.7/drivers/ide/ide-cd.c
27498 drive->dma = 0; 27860 drive->dma = 0;
27499 } 27861 }
27500 } 27862 }
27501diff -urNp linux-3.0.7/drivers/ide/ide-floppy.c linux-3.0.7/drivers/ide/ide-floppy.c 27863diff -urNp linux-3.0.8/drivers/ide/ide-floppy.c linux-3.0.8/drivers/ide/ide-floppy.c
27502--- linux-3.0.7/drivers/ide/ide-floppy.c 2011-07-21 22:17:23.000000000 -0400 27864--- linux-3.0.8/drivers/ide/ide-floppy.c 2011-07-21 22:17:23.000000000 -0400
27503+++ linux-3.0.7/drivers/ide/ide-floppy.c 2011-08-23 21:48:14.000000000 -0400 27865+++ linux-3.0.8/drivers/ide/ide-floppy.c 2011-08-23 21:48:14.000000000 -0400
27504@@ -379,6 +379,8 @@ static int ide_floppy_get_capacity(ide_d 27866@@ -379,6 +379,8 @@ static int ide_floppy_get_capacity(ide_d
27505 u8 pc_buf[256], header_len, desc_cnt; 27867 u8 pc_buf[256], header_len, desc_cnt;
27506 int i, rc = 1, blocks, length; 27868 int i, rc = 1, blocks, length;
@@ -27510,9 +27872,9 @@ diff -urNp linux-3.0.7/drivers/ide/ide-floppy.c linux-3.0.7/drivers/ide/ide-flop
27510 ide_debug_log(IDE_DBG_FUNC, "enter"); 27872 ide_debug_log(IDE_DBG_FUNC, "enter");
27511 27873
27512 drive->bios_cyl = 0; 27874 drive->bios_cyl = 0;
27513diff -urNp linux-3.0.7/drivers/ide/ide-pci-generic.c linux-3.0.7/drivers/ide/ide-pci-generic.c 27875diff -urNp linux-3.0.8/drivers/ide/ide-pci-generic.c linux-3.0.8/drivers/ide/ide-pci-generic.c
27514--- linux-3.0.7/drivers/ide/ide-pci-generic.c 2011-07-21 22:17:23.000000000 -0400 27876--- linux-3.0.8/drivers/ide/ide-pci-generic.c 2011-07-21 22:17:23.000000000 -0400
27515+++ linux-3.0.7/drivers/ide/ide-pci-generic.c 2011-10-11 10:44:33.000000000 -0400 27877+++ linux-3.0.8/drivers/ide/ide-pci-generic.c 2011-10-11 10:44:33.000000000 -0400
27516@@ -53,7 +53,7 @@ static const struct ide_port_ops netcell 27878@@ -53,7 +53,7 @@ static const struct ide_port_ops netcell
27517 .udma_mask = ATA_UDMA6, \ 27879 .udma_mask = ATA_UDMA6, \
27518 } 27880 }
@@ -27522,9 +27884,9 @@ diff -urNp linux-3.0.7/drivers/ide/ide-pci-generic.c linux-3.0.7/drivers/ide/ide
27522 /* 0: Unknown */ 27884 /* 0: Unknown */
27523 DECLARE_GENERIC_PCI_DEV(0), 27885 DECLARE_GENERIC_PCI_DEV(0),
27524 27886
27525diff -urNp linux-3.0.7/drivers/ide/it8172.c linux-3.0.7/drivers/ide/it8172.c 27887diff -urNp linux-3.0.8/drivers/ide/it8172.c linux-3.0.8/drivers/ide/it8172.c
27526--- linux-3.0.7/drivers/ide/it8172.c 2011-07-21 22:17:23.000000000 -0400 27888--- linux-3.0.8/drivers/ide/it8172.c 2011-07-21 22:17:23.000000000 -0400
27527+++ linux-3.0.7/drivers/ide/it8172.c 2011-10-11 10:44:33.000000000 -0400 27889+++ linux-3.0.8/drivers/ide/it8172.c 2011-10-11 10:44:33.000000000 -0400
27528@@ -115,7 +115,7 @@ static const struct ide_port_ops it8172_ 27890@@ -115,7 +115,7 @@ static const struct ide_port_ops it8172_
27529 .set_dma_mode = it8172_set_dma_mode, 27891 .set_dma_mode = it8172_set_dma_mode,
27530 }; 27892 };
@@ -27534,9 +27896,9 @@ diff -urNp linux-3.0.7/drivers/ide/it8172.c linux-3.0.7/drivers/ide/it8172.c
27534 .name = DRV_NAME, 27896 .name = DRV_NAME,
27535 .port_ops = &it8172_port_ops, 27897 .port_ops = &it8172_port_ops,
27536 .enablebits = { {0x41, 0x80, 0x80}, {0x00, 0x00, 0x00} }, 27898 .enablebits = { {0x41, 0x80, 0x80}, {0x00, 0x00, 0x00} },
27537diff -urNp linux-3.0.7/drivers/ide/it8213.c linux-3.0.7/drivers/ide/it8213.c 27899diff -urNp linux-3.0.8/drivers/ide/it8213.c linux-3.0.8/drivers/ide/it8213.c
27538--- linux-3.0.7/drivers/ide/it8213.c 2011-07-21 22:17:23.000000000 -0400 27900--- linux-3.0.8/drivers/ide/it8213.c 2011-07-21 22:17:23.000000000 -0400
27539+++ linux-3.0.7/drivers/ide/it8213.c 2011-10-11 10:44:33.000000000 -0400 27901+++ linux-3.0.8/drivers/ide/it8213.c 2011-10-11 10:44:33.000000000 -0400
27540@@ -156,7 +156,7 @@ static const struct ide_port_ops it8213_ 27902@@ -156,7 +156,7 @@ static const struct ide_port_ops it8213_
27541 .cable_detect = it8213_cable_detect, 27903 .cable_detect = it8213_cable_detect,
27542 }; 27904 };
@@ -27546,9 +27908,9 @@ diff -urNp linux-3.0.7/drivers/ide/it8213.c linux-3.0.7/drivers/ide/it8213.c
27546 .name = DRV_NAME, 27908 .name = DRV_NAME,
27547 .enablebits = { {0x41, 0x80, 0x80} }, 27909 .enablebits = { {0x41, 0x80, 0x80} },
27548 .port_ops = &it8213_port_ops, 27910 .port_ops = &it8213_port_ops,
27549diff -urNp linux-3.0.7/drivers/ide/it821x.c linux-3.0.7/drivers/ide/it821x.c 27911diff -urNp linux-3.0.8/drivers/ide/it821x.c linux-3.0.8/drivers/ide/it821x.c
27550--- linux-3.0.7/drivers/ide/it821x.c 2011-07-21 22:17:23.000000000 -0400 27912--- linux-3.0.8/drivers/ide/it821x.c 2011-07-21 22:17:23.000000000 -0400
27551+++ linux-3.0.7/drivers/ide/it821x.c 2011-10-11 10:44:33.000000000 -0400 27913+++ linux-3.0.8/drivers/ide/it821x.c 2011-10-11 10:44:33.000000000 -0400
27552@@ -630,7 +630,7 @@ static const struct ide_port_ops it821x_ 27914@@ -630,7 +630,7 @@ static const struct ide_port_ops it821x_
27553 .cable_detect = it821x_cable_detect, 27915 .cable_detect = it821x_cable_detect,
27554 }; 27916 };
@@ -27558,9 +27920,9 @@ diff -urNp linux-3.0.7/drivers/ide/it821x.c linux-3.0.7/drivers/ide/it821x.c
27558 .name = DRV_NAME, 27920 .name = DRV_NAME,
27559 .init_chipset = init_chipset_it821x, 27921 .init_chipset = init_chipset_it821x,
27560 .init_hwif = init_hwif_it821x, 27922 .init_hwif = init_hwif_it821x,
27561diff -urNp linux-3.0.7/drivers/ide/jmicron.c linux-3.0.7/drivers/ide/jmicron.c 27923diff -urNp linux-3.0.8/drivers/ide/jmicron.c linux-3.0.8/drivers/ide/jmicron.c
27562--- linux-3.0.7/drivers/ide/jmicron.c 2011-07-21 22:17:23.000000000 -0400 27924--- linux-3.0.8/drivers/ide/jmicron.c 2011-07-21 22:17:23.000000000 -0400
27563+++ linux-3.0.7/drivers/ide/jmicron.c 2011-10-11 10:44:33.000000000 -0400 27925+++ linux-3.0.8/drivers/ide/jmicron.c 2011-10-11 10:44:33.000000000 -0400
27564@@ -102,7 +102,7 @@ static const struct ide_port_ops jmicron 27926@@ -102,7 +102,7 @@ static const struct ide_port_ops jmicron
27565 .cable_detect = jmicron_cable_detect, 27927 .cable_detect = jmicron_cable_detect,
27566 }; 27928 };
@@ -27570,9 +27932,9 @@ diff -urNp linux-3.0.7/drivers/ide/jmicron.c linux-3.0.7/drivers/ide/jmicron.c
27570 .name = DRV_NAME, 27932 .name = DRV_NAME,
27571 .enablebits = { { 0x40, 0x01, 0x01 }, { 0x40, 0x10, 0x10 } }, 27933 .enablebits = { { 0x40, 0x01, 0x01 }, { 0x40, 0x10, 0x10 } },
27572 .port_ops = &jmicron_port_ops, 27934 .port_ops = &jmicron_port_ops,
27573diff -urNp linux-3.0.7/drivers/ide/ns87415.c linux-3.0.7/drivers/ide/ns87415.c 27935diff -urNp linux-3.0.8/drivers/ide/ns87415.c linux-3.0.8/drivers/ide/ns87415.c
27574--- linux-3.0.7/drivers/ide/ns87415.c 2011-07-21 22:17:23.000000000 -0400 27936--- linux-3.0.8/drivers/ide/ns87415.c 2011-07-21 22:17:23.000000000 -0400
27575+++ linux-3.0.7/drivers/ide/ns87415.c 2011-10-11 10:44:33.000000000 -0400 27937+++ linux-3.0.8/drivers/ide/ns87415.c 2011-10-11 10:44:33.000000000 -0400
27576@@ -293,7 +293,7 @@ static const struct ide_dma_ops ns87415_ 27938@@ -293,7 +293,7 @@ static const struct ide_dma_ops ns87415_
27577 .dma_sff_read_status = superio_dma_sff_read_status, 27939 .dma_sff_read_status = superio_dma_sff_read_status,
27578 }; 27940 };
@@ -27582,9 +27944,9 @@ diff -urNp linux-3.0.7/drivers/ide/ns87415.c linux-3.0.7/drivers/ide/ns87415.c
27582 .name = DRV_NAME, 27944 .name = DRV_NAME,
27583 .init_hwif = init_hwif_ns87415, 27945 .init_hwif = init_hwif_ns87415,
27584 .tp_ops = &ns87415_tp_ops, 27946 .tp_ops = &ns87415_tp_ops,
27585diff -urNp linux-3.0.7/drivers/ide/opti621.c linux-3.0.7/drivers/ide/opti621.c 27947diff -urNp linux-3.0.8/drivers/ide/opti621.c linux-3.0.8/drivers/ide/opti621.c
27586--- linux-3.0.7/drivers/ide/opti621.c 2011-07-21 22:17:23.000000000 -0400 27948--- linux-3.0.8/drivers/ide/opti621.c 2011-07-21 22:17:23.000000000 -0400
27587+++ linux-3.0.7/drivers/ide/opti621.c 2011-10-11 10:44:33.000000000 -0400 27949+++ linux-3.0.8/drivers/ide/opti621.c 2011-10-11 10:44:33.000000000 -0400
27588@@ -131,7 +131,7 @@ static const struct ide_port_ops opti621 27950@@ -131,7 +131,7 @@ static const struct ide_port_ops opti621
27589 .set_pio_mode = opti621_set_pio_mode, 27951 .set_pio_mode = opti621_set_pio_mode,
27590 }; 27952 };
@@ -27594,9 +27956,9 @@ diff -urNp linux-3.0.7/drivers/ide/opti621.c linux-3.0.7/drivers/ide/opti621.c
27594 .name = DRV_NAME, 27956 .name = DRV_NAME,
27595 .enablebits = { {0x45, 0x80, 0x00}, {0x40, 0x08, 0x00} }, 27957 .enablebits = { {0x45, 0x80, 0x00}, {0x40, 0x08, 0x00} },
27596 .port_ops = &opti621_port_ops, 27958 .port_ops = &opti621_port_ops,
27597diff -urNp linux-3.0.7/drivers/ide/pdc202xx_new.c linux-3.0.7/drivers/ide/pdc202xx_new.c 27959diff -urNp linux-3.0.8/drivers/ide/pdc202xx_new.c linux-3.0.8/drivers/ide/pdc202xx_new.c
27598--- linux-3.0.7/drivers/ide/pdc202xx_new.c 2011-07-21 22:17:23.000000000 -0400 27960--- linux-3.0.8/drivers/ide/pdc202xx_new.c 2011-07-21 22:17:23.000000000 -0400
27599+++ linux-3.0.7/drivers/ide/pdc202xx_new.c 2011-10-11 10:44:33.000000000 -0400 27961+++ linux-3.0.8/drivers/ide/pdc202xx_new.c 2011-10-11 10:44:33.000000000 -0400
27600@@ -465,7 +465,7 @@ static const struct ide_port_ops pdcnew_ 27962@@ -465,7 +465,7 @@ static const struct ide_port_ops pdcnew_
27601 .udma_mask = udma, \ 27963 .udma_mask = udma, \
27602 } 27964 }
@@ -27606,9 +27968,9 @@ diff -urNp linux-3.0.7/drivers/ide/pdc202xx_new.c linux-3.0.7/drivers/ide/pdc202
27606 /* 0: PDC202{68,70} */ DECLARE_PDCNEW_DEV(ATA_UDMA5), 27968 /* 0: PDC202{68,70} */ DECLARE_PDCNEW_DEV(ATA_UDMA5),
27607 /* 1: PDC202{69,71,75,76,77} */ DECLARE_PDCNEW_DEV(ATA_UDMA6), 27969 /* 1: PDC202{69,71,75,76,77} */ DECLARE_PDCNEW_DEV(ATA_UDMA6),
27608 }; 27970 };
27609diff -urNp linux-3.0.7/drivers/ide/pdc202xx_old.c linux-3.0.7/drivers/ide/pdc202xx_old.c 27971diff -urNp linux-3.0.8/drivers/ide/pdc202xx_old.c linux-3.0.8/drivers/ide/pdc202xx_old.c
27610--- linux-3.0.7/drivers/ide/pdc202xx_old.c 2011-07-21 22:17:23.000000000 -0400 27972--- linux-3.0.8/drivers/ide/pdc202xx_old.c 2011-07-21 22:17:23.000000000 -0400
27611+++ linux-3.0.7/drivers/ide/pdc202xx_old.c 2011-10-11 10:44:33.000000000 -0400 27973+++ linux-3.0.8/drivers/ide/pdc202xx_old.c 2011-10-11 10:44:33.000000000 -0400
27612@@ -270,7 +270,7 @@ static const struct ide_dma_ops pdc2026x 27974@@ -270,7 +270,7 @@ static const struct ide_dma_ops pdc2026x
27613 .max_sectors = sectors, \ 27975 .max_sectors = sectors, \
27614 } 27976 }
@@ -27618,9 +27980,9 @@ diff -urNp linux-3.0.7/drivers/ide/pdc202xx_old.c linux-3.0.7/drivers/ide/pdc202
27618 { /* 0: PDC20246 */ 27980 { /* 0: PDC20246 */
27619 .name = DRV_NAME, 27981 .name = DRV_NAME,
27620 .init_chipset = init_chipset_pdc202xx, 27982 .init_chipset = init_chipset_pdc202xx,
27621diff -urNp linux-3.0.7/drivers/ide/piix.c linux-3.0.7/drivers/ide/piix.c 27983diff -urNp linux-3.0.8/drivers/ide/piix.c linux-3.0.8/drivers/ide/piix.c
27622--- linux-3.0.7/drivers/ide/piix.c 2011-07-21 22:17:23.000000000 -0400 27984--- linux-3.0.8/drivers/ide/piix.c 2011-07-21 22:17:23.000000000 -0400
27623+++ linux-3.0.7/drivers/ide/piix.c 2011-10-11 10:44:33.000000000 -0400 27985+++ linux-3.0.8/drivers/ide/piix.c 2011-10-11 10:44:33.000000000 -0400
27624@@ -344,7 +344,7 @@ static const struct ide_port_ops ich_por 27986@@ -344,7 +344,7 @@ static const struct ide_port_ops ich_por
27625 .udma_mask = udma, \ 27987 .udma_mask = udma, \
27626 } 27988 }
@@ -27630,9 +27992,9 @@ diff -urNp linux-3.0.7/drivers/ide/piix.c linux-3.0.7/drivers/ide/piix.c
27630 /* 0: MPIIX */ 27992 /* 0: MPIIX */
27631 { /* 27993 { /*
27632 * MPIIX actually has only a single IDE channel mapped to 27994 * MPIIX actually has only a single IDE channel mapped to
27633diff -urNp linux-3.0.7/drivers/ide/rz1000.c linux-3.0.7/drivers/ide/rz1000.c 27995diff -urNp linux-3.0.8/drivers/ide/rz1000.c linux-3.0.8/drivers/ide/rz1000.c
27634--- linux-3.0.7/drivers/ide/rz1000.c 2011-07-21 22:17:23.000000000 -0400 27996--- linux-3.0.8/drivers/ide/rz1000.c 2011-07-21 22:17:23.000000000 -0400
27635+++ linux-3.0.7/drivers/ide/rz1000.c 2011-10-11 10:44:33.000000000 -0400 27997+++ linux-3.0.8/drivers/ide/rz1000.c 2011-10-11 10:44:33.000000000 -0400
27636@@ -38,7 +38,7 @@ static int __devinit rz1000_disable_read 27998@@ -38,7 +38,7 @@ static int __devinit rz1000_disable_read
27637 } 27999 }
27638 } 28000 }
@@ -27642,9 +28004,9 @@ diff -urNp linux-3.0.7/drivers/ide/rz1000.c linux-3.0.7/drivers/ide/rz1000.c
27642 .name = DRV_NAME, 28004 .name = DRV_NAME,
27643 .host_flags = IDE_HFLAG_NO_DMA, 28005 .host_flags = IDE_HFLAG_NO_DMA,
27644 }; 28006 };
27645diff -urNp linux-3.0.7/drivers/ide/sc1200.c linux-3.0.7/drivers/ide/sc1200.c 28007diff -urNp linux-3.0.8/drivers/ide/sc1200.c linux-3.0.8/drivers/ide/sc1200.c
27646--- linux-3.0.7/drivers/ide/sc1200.c 2011-07-21 22:17:23.000000000 -0400 28008--- linux-3.0.8/drivers/ide/sc1200.c 2011-07-21 22:17:23.000000000 -0400
27647+++ linux-3.0.7/drivers/ide/sc1200.c 2011-10-11 10:44:33.000000000 -0400 28009+++ linux-3.0.8/drivers/ide/sc1200.c 2011-10-11 10:44:33.000000000 -0400
27648@@ -291,7 +291,7 @@ static const struct ide_dma_ops sc1200_d 28010@@ -291,7 +291,7 @@ static const struct ide_dma_ops sc1200_d
27649 .dma_sff_read_status = ide_dma_sff_read_status, 28011 .dma_sff_read_status = ide_dma_sff_read_status,
27650 }; 28012 };
@@ -27654,9 +28016,9 @@ diff -urNp linux-3.0.7/drivers/ide/sc1200.c linux-3.0.7/drivers/ide/sc1200.c
27654 .name = DRV_NAME, 28016 .name = DRV_NAME,
27655 .port_ops = &sc1200_port_ops, 28017 .port_ops = &sc1200_port_ops,
27656 .dma_ops = &sc1200_dma_ops, 28018 .dma_ops = &sc1200_dma_ops,
27657diff -urNp linux-3.0.7/drivers/ide/scc_pata.c linux-3.0.7/drivers/ide/scc_pata.c 28019diff -urNp linux-3.0.8/drivers/ide/scc_pata.c linux-3.0.8/drivers/ide/scc_pata.c
27658--- linux-3.0.7/drivers/ide/scc_pata.c 2011-07-21 22:17:23.000000000 -0400 28020--- linux-3.0.8/drivers/ide/scc_pata.c 2011-07-21 22:17:23.000000000 -0400
27659+++ linux-3.0.7/drivers/ide/scc_pata.c 2011-10-11 10:44:33.000000000 -0400 28021+++ linux-3.0.8/drivers/ide/scc_pata.c 2011-10-11 10:44:33.000000000 -0400
27660@@ -811,7 +811,7 @@ static const struct ide_dma_ops scc_dma_ 28022@@ -811,7 +811,7 @@ static const struct ide_dma_ops scc_dma_
27661 .dma_sff_read_status = scc_dma_sff_read_status, 28023 .dma_sff_read_status = scc_dma_sff_read_status,
27662 }; 28024 };
@@ -27666,9 +28028,9 @@ diff -urNp linux-3.0.7/drivers/ide/scc_pata.c linux-3.0.7/drivers/ide/scc_pata.c
27666 .name = "sccIDE", 28028 .name = "sccIDE",
27667 .init_iops = init_iops_scc, 28029 .init_iops = init_iops_scc,
27668 .init_dma = scc_init_dma, 28030 .init_dma = scc_init_dma,
27669diff -urNp linux-3.0.7/drivers/ide/serverworks.c linux-3.0.7/drivers/ide/serverworks.c 28031diff -urNp linux-3.0.8/drivers/ide/serverworks.c linux-3.0.8/drivers/ide/serverworks.c
27670--- linux-3.0.7/drivers/ide/serverworks.c 2011-07-21 22:17:23.000000000 -0400 28032--- linux-3.0.8/drivers/ide/serverworks.c 2011-07-21 22:17:23.000000000 -0400
27671+++ linux-3.0.7/drivers/ide/serverworks.c 2011-10-11 10:44:33.000000000 -0400 28033+++ linux-3.0.8/drivers/ide/serverworks.c 2011-10-11 10:44:33.000000000 -0400
27672@@ -337,7 +337,7 @@ static const struct ide_port_ops svwks_p 28034@@ -337,7 +337,7 @@ static const struct ide_port_ops svwks_p
27673 .cable_detect = svwks_cable_detect, 28035 .cable_detect = svwks_cable_detect,
27674 }; 28036 };
@@ -27678,9 +28040,9 @@ diff -urNp linux-3.0.7/drivers/ide/serverworks.c linux-3.0.7/drivers/ide/serverw
27678 { /* 0: OSB4 */ 28040 { /* 0: OSB4 */
27679 .name = DRV_NAME, 28041 .name = DRV_NAME,
27680 .init_chipset = init_chipset_svwks, 28042 .init_chipset = init_chipset_svwks,
27681diff -urNp linux-3.0.7/drivers/ide/setup-pci.c linux-3.0.7/drivers/ide/setup-pci.c 28043diff -urNp linux-3.0.8/drivers/ide/setup-pci.c linux-3.0.8/drivers/ide/setup-pci.c
27682--- linux-3.0.7/drivers/ide/setup-pci.c 2011-07-21 22:17:23.000000000 -0400 28044--- linux-3.0.8/drivers/ide/setup-pci.c 2011-07-21 22:17:23.000000000 -0400
27683+++ linux-3.0.7/drivers/ide/setup-pci.c 2011-08-23 21:48:14.000000000 -0400 28045+++ linux-3.0.8/drivers/ide/setup-pci.c 2011-08-23 21:48:14.000000000 -0400
27684@@ -542,6 +542,8 @@ int ide_pci_init_two(struct pci_dev *dev 28046@@ -542,6 +542,8 @@ int ide_pci_init_two(struct pci_dev *dev
27685 int ret, i, n_ports = dev2 ? 4 : 2; 28047 int ret, i, n_ports = dev2 ? 4 : 2;
27686 struct ide_hw hw[4], *hws[] = { NULL, NULL, NULL, NULL }; 28048 struct ide_hw hw[4], *hws[] = { NULL, NULL, NULL, NULL };
@@ -27690,9 +28052,9 @@ diff -urNp linux-3.0.7/drivers/ide/setup-pci.c linux-3.0.7/drivers/ide/setup-pci
27690 for (i = 0; i < n_ports / 2; i++) { 28052 for (i = 0; i < n_ports / 2; i++) {
27691 ret = ide_setup_pci_controller(pdev[i], d, !i); 28053 ret = ide_setup_pci_controller(pdev[i], d, !i);
27692 if (ret < 0) 28054 if (ret < 0)
27693diff -urNp linux-3.0.7/drivers/ide/siimage.c linux-3.0.7/drivers/ide/siimage.c 28055diff -urNp linux-3.0.8/drivers/ide/siimage.c linux-3.0.8/drivers/ide/siimage.c
27694--- linux-3.0.7/drivers/ide/siimage.c 2011-07-21 22:17:23.000000000 -0400 28056--- linux-3.0.8/drivers/ide/siimage.c 2011-07-21 22:17:23.000000000 -0400
27695+++ linux-3.0.7/drivers/ide/siimage.c 2011-10-11 10:44:33.000000000 -0400 28057+++ linux-3.0.8/drivers/ide/siimage.c 2011-10-11 10:44:33.000000000 -0400
27696@@ -719,7 +719,7 @@ static const struct ide_dma_ops sil_dma_ 28058@@ -719,7 +719,7 @@ static const struct ide_dma_ops sil_dma_
27697 .udma_mask = ATA_UDMA6, \ 28059 .udma_mask = ATA_UDMA6, \
27698 } 28060 }
@@ -27702,9 +28064,9 @@ diff -urNp linux-3.0.7/drivers/ide/siimage.c linux-3.0.7/drivers/ide/siimage.c
27702 /* 0: SiI680 */ DECLARE_SII_DEV(&sil_pata_port_ops), 28064 /* 0: SiI680 */ DECLARE_SII_DEV(&sil_pata_port_ops),
27703 /* 1: SiI3112 */ DECLARE_SII_DEV(&sil_sata_port_ops) 28065 /* 1: SiI3112 */ DECLARE_SII_DEV(&sil_sata_port_ops)
27704 }; 28066 };
27705diff -urNp linux-3.0.7/drivers/ide/sis5513.c linux-3.0.7/drivers/ide/sis5513.c 28067diff -urNp linux-3.0.8/drivers/ide/sis5513.c linux-3.0.8/drivers/ide/sis5513.c
27706--- linux-3.0.7/drivers/ide/sis5513.c 2011-07-21 22:17:23.000000000 -0400 28068--- linux-3.0.8/drivers/ide/sis5513.c 2011-07-21 22:17:23.000000000 -0400
27707+++ linux-3.0.7/drivers/ide/sis5513.c 2011-10-11 10:44:33.000000000 -0400 28069+++ linux-3.0.8/drivers/ide/sis5513.c 2011-10-11 10:44:33.000000000 -0400
27708@@ -563,7 +563,7 @@ static const struct ide_port_ops sis_ata 28070@@ -563,7 +563,7 @@ static const struct ide_port_ops sis_ata
27709 .cable_detect = sis_cable_detect, 28071 .cable_detect = sis_cable_detect,
27710 }; 28072 };
@@ -27714,9 +28076,9 @@ diff -urNp linux-3.0.7/drivers/ide/sis5513.c linux-3.0.7/drivers/ide/sis5513.c
27714 .name = DRV_NAME, 28076 .name = DRV_NAME,
27715 .init_chipset = init_chipset_sis5513, 28077 .init_chipset = init_chipset_sis5513,
27716 .enablebits = { {0x4a, 0x02, 0x02}, {0x4a, 0x04, 0x04} }, 28078 .enablebits = { {0x4a, 0x02, 0x02}, {0x4a, 0x04, 0x04} },
27717diff -urNp linux-3.0.7/drivers/ide/sl82c105.c linux-3.0.7/drivers/ide/sl82c105.c 28079diff -urNp linux-3.0.8/drivers/ide/sl82c105.c linux-3.0.8/drivers/ide/sl82c105.c
27718--- linux-3.0.7/drivers/ide/sl82c105.c 2011-07-21 22:17:23.000000000 -0400 28080--- linux-3.0.8/drivers/ide/sl82c105.c 2011-07-21 22:17:23.000000000 -0400
27719+++ linux-3.0.7/drivers/ide/sl82c105.c 2011-10-11 10:44:33.000000000 -0400 28081+++ linux-3.0.8/drivers/ide/sl82c105.c 2011-10-11 10:44:33.000000000 -0400
27720@@ -299,7 +299,7 @@ static const struct ide_dma_ops sl82c105 28082@@ -299,7 +299,7 @@ static const struct ide_dma_ops sl82c105
27721 .dma_sff_read_status = ide_dma_sff_read_status, 28083 .dma_sff_read_status = ide_dma_sff_read_status,
27722 }; 28084 };
@@ -27726,9 +28088,9 @@ diff -urNp linux-3.0.7/drivers/ide/sl82c105.c linux-3.0.7/drivers/ide/sl82c105.c
27726 .name = DRV_NAME, 28088 .name = DRV_NAME,
27727 .init_chipset = init_chipset_sl82c105, 28089 .init_chipset = init_chipset_sl82c105,
27728 .enablebits = {{0x40,0x01,0x01}, {0x40,0x10,0x10}}, 28090 .enablebits = {{0x40,0x01,0x01}, {0x40,0x10,0x10}},
27729diff -urNp linux-3.0.7/drivers/ide/slc90e66.c linux-3.0.7/drivers/ide/slc90e66.c 28091diff -urNp linux-3.0.8/drivers/ide/slc90e66.c linux-3.0.8/drivers/ide/slc90e66.c
27730--- linux-3.0.7/drivers/ide/slc90e66.c 2011-07-21 22:17:23.000000000 -0400 28092--- linux-3.0.8/drivers/ide/slc90e66.c 2011-07-21 22:17:23.000000000 -0400
27731+++ linux-3.0.7/drivers/ide/slc90e66.c 2011-10-11 10:44:33.000000000 -0400 28093+++ linux-3.0.8/drivers/ide/slc90e66.c 2011-10-11 10:44:33.000000000 -0400
27732@@ -132,7 +132,7 @@ static const struct ide_port_ops slc90e6 28094@@ -132,7 +132,7 @@ static const struct ide_port_ops slc90e6
27733 .cable_detect = slc90e66_cable_detect, 28095 .cable_detect = slc90e66_cable_detect,
27734 }; 28096 };
@@ -27738,9 +28100,9 @@ diff -urNp linux-3.0.7/drivers/ide/slc90e66.c linux-3.0.7/drivers/ide/slc90e66.c
27738 .name = DRV_NAME, 28100 .name = DRV_NAME,
27739 .enablebits = { {0x41, 0x80, 0x80}, {0x43, 0x80, 0x80} }, 28101 .enablebits = { {0x41, 0x80, 0x80}, {0x43, 0x80, 0x80} },
27740 .port_ops = &slc90e66_port_ops, 28102 .port_ops = &slc90e66_port_ops,
27741diff -urNp linux-3.0.7/drivers/ide/tc86c001.c linux-3.0.7/drivers/ide/tc86c001.c 28103diff -urNp linux-3.0.8/drivers/ide/tc86c001.c linux-3.0.8/drivers/ide/tc86c001.c
27742--- linux-3.0.7/drivers/ide/tc86c001.c 2011-07-21 22:17:23.000000000 -0400 28104--- linux-3.0.8/drivers/ide/tc86c001.c 2011-07-21 22:17:23.000000000 -0400
27743+++ linux-3.0.7/drivers/ide/tc86c001.c 2011-10-11 10:44:33.000000000 -0400 28105+++ linux-3.0.8/drivers/ide/tc86c001.c 2011-10-11 10:44:33.000000000 -0400
27744@@ -191,7 +191,7 @@ static const struct ide_dma_ops tc86c001 28106@@ -191,7 +191,7 @@ static const struct ide_dma_ops tc86c001
27745 .dma_sff_read_status = ide_dma_sff_read_status, 28107 .dma_sff_read_status = ide_dma_sff_read_status,
27746 }; 28108 };
@@ -27750,9 +28112,9 @@ diff -urNp linux-3.0.7/drivers/ide/tc86c001.c linux-3.0.7/drivers/ide/tc86c001.c
27750 .name = DRV_NAME, 28112 .name = DRV_NAME,
27751 .init_hwif = init_hwif_tc86c001, 28113 .init_hwif = init_hwif_tc86c001,
27752 .port_ops = &tc86c001_port_ops, 28114 .port_ops = &tc86c001_port_ops,
27753diff -urNp linux-3.0.7/drivers/ide/triflex.c linux-3.0.7/drivers/ide/triflex.c 28115diff -urNp linux-3.0.8/drivers/ide/triflex.c linux-3.0.8/drivers/ide/triflex.c
27754--- linux-3.0.7/drivers/ide/triflex.c 2011-07-21 22:17:23.000000000 -0400 28116--- linux-3.0.8/drivers/ide/triflex.c 2011-07-21 22:17:23.000000000 -0400
27755+++ linux-3.0.7/drivers/ide/triflex.c 2011-10-11 10:44:33.000000000 -0400 28117+++ linux-3.0.8/drivers/ide/triflex.c 2011-10-11 10:44:33.000000000 -0400
27756@@ -92,7 +92,7 @@ static const struct ide_port_ops triflex 28118@@ -92,7 +92,7 @@ static const struct ide_port_ops triflex
27757 .set_dma_mode = triflex_set_mode, 28119 .set_dma_mode = triflex_set_mode,
27758 }; 28120 };
@@ -27762,9 +28124,9 @@ diff -urNp linux-3.0.7/drivers/ide/triflex.c linux-3.0.7/drivers/ide/triflex.c
27762 .name = DRV_NAME, 28124 .name = DRV_NAME,
27763 .enablebits = {{0x80, 0x01, 0x01}, {0x80, 0x02, 0x02}}, 28125 .enablebits = {{0x80, 0x01, 0x01}, {0x80, 0x02, 0x02}},
27764 .port_ops = &triflex_port_ops, 28126 .port_ops = &triflex_port_ops,
27765diff -urNp linux-3.0.7/drivers/ide/trm290.c linux-3.0.7/drivers/ide/trm290.c 28127diff -urNp linux-3.0.8/drivers/ide/trm290.c linux-3.0.8/drivers/ide/trm290.c
27766--- linux-3.0.7/drivers/ide/trm290.c 2011-07-21 22:17:23.000000000 -0400 28128--- linux-3.0.8/drivers/ide/trm290.c 2011-07-21 22:17:23.000000000 -0400
27767+++ linux-3.0.7/drivers/ide/trm290.c 2011-10-11 10:44:33.000000000 -0400 28129+++ linux-3.0.8/drivers/ide/trm290.c 2011-10-11 10:44:33.000000000 -0400
27768@@ -324,7 +324,7 @@ static struct ide_dma_ops trm290_dma_ops 28130@@ -324,7 +324,7 @@ static struct ide_dma_ops trm290_dma_ops
27769 .dma_check = trm290_dma_check, 28131 .dma_check = trm290_dma_check,
27770 }; 28132 };
@@ -27774,9 +28136,9 @@ diff -urNp linux-3.0.7/drivers/ide/trm290.c linux-3.0.7/drivers/ide/trm290.c
27774 .name = DRV_NAME, 28136 .name = DRV_NAME,
27775 .init_hwif = init_hwif_trm290, 28137 .init_hwif = init_hwif_trm290,
27776 .tp_ops = &trm290_tp_ops, 28138 .tp_ops = &trm290_tp_ops,
27777diff -urNp linux-3.0.7/drivers/ide/via82cxxx.c linux-3.0.7/drivers/ide/via82cxxx.c 28139diff -urNp linux-3.0.8/drivers/ide/via82cxxx.c linux-3.0.8/drivers/ide/via82cxxx.c
27778--- linux-3.0.7/drivers/ide/via82cxxx.c 2011-07-21 22:17:23.000000000 -0400 28140--- linux-3.0.8/drivers/ide/via82cxxx.c 2011-07-21 22:17:23.000000000 -0400
27779+++ linux-3.0.7/drivers/ide/via82cxxx.c 2011-10-11 10:44:33.000000000 -0400 28141+++ linux-3.0.8/drivers/ide/via82cxxx.c 2011-10-11 10:44:33.000000000 -0400
27780@@ -403,7 +403,7 @@ static const struct ide_port_ops via_por 28142@@ -403,7 +403,7 @@ static const struct ide_port_ops via_por
27781 .cable_detect = via82cxxx_cable_detect, 28143 .cable_detect = via82cxxx_cable_detect,
27782 }; 28144 };
@@ -27786,9 +28148,9 @@ diff -urNp linux-3.0.7/drivers/ide/via82cxxx.c linux-3.0.7/drivers/ide/via82cxxx
27786 .name = DRV_NAME, 28148 .name = DRV_NAME,
27787 .init_chipset = init_chipset_via82cxxx, 28149 .init_chipset = init_chipset_via82cxxx,
27788 .enablebits = { { 0x40, 0x02, 0x02 }, { 0x40, 0x01, 0x01 } }, 28150 .enablebits = { { 0x40, 0x02, 0x02 }, { 0x40, 0x01, 0x01 } },
27789diff -urNp linux-3.0.7/drivers/infiniband/core/cm.c linux-3.0.7/drivers/infiniband/core/cm.c 28151diff -urNp linux-3.0.8/drivers/infiniband/core/cm.c linux-3.0.8/drivers/infiniband/core/cm.c
27790--- linux-3.0.7/drivers/infiniband/core/cm.c 2011-07-21 22:17:23.000000000 -0400 28152--- linux-3.0.8/drivers/infiniband/core/cm.c 2011-07-21 22:17:23.000000000 -0400
27791+++ linux-3.0.7/drivers/infiniband/core/cm.c 2011-08-23 21:47:55.000000000 -0400 28153+++ linux-3.0.8/drivers/infiniband/core/cm.c 2011-08-23 21:47:55.000000000 -0400
27792@@ -113,7 +113,7 @@ static char const counter_group_names[CM 28154@@ -113,7 +113,7 @@ static char const counter_group_names[CM
27793 28155
27794 struct cm_counter_group { 28156 struct cm_counter_group {
@@ -27928,9 +28290,9 @@ diff -urNp linux-3.0.7/drivers/infiniband/core/cm.c linux-3.0.7/drivers/infiniba
27928 } 28290 }
27929 28291
27930 static const struct sysfs_ops cm_counter_ops = { 28292 static const struct sysfs_ops cm_counter_ops = {
27931diff -urNp linux-3.0.7/drivers/infiniband/core/fmr_pool.c linux-3.0.7/drivers/infiniband/core/fmr_pool.c 28293diff -urNp linux-3.0.8/drivers/infiniband/core/fmr_pool.c linux-3.0.8/drivers/infiniband/core/fmr_pool.c
27932--- linux-3.0.7/drivers/infiniband/core/fmr_pool.c 2011-07-21 22:17:23.000000000 -0400 28294--- linux-3.0.8/drivers/infiniband/core/fmr_pool.c 2011-07-21 22:17:23.000000000 -0400
27933+++ linux-3.0.7/drivers/infiniband/core/fmr_pool.c 2011-08-23 21:47:55.000000000 -0400 28295+++ linux-3.0.8/drivers/infiniband/core/fmr_pool.c 2011-08-23 21:47:55.000000000 -0400
27934@@ -97,8 +97,8 @@ struct ib_fmr_pool { 28296@@ -97,8 +97,8 @@ struct ib_fmr_pool {
27935 28297
27936 struct task_struct *thread; 28298 struct task_struct *thread;
@@ -27998,9 +28360,9 @@ diff -urNp linux-3.0.7/drivers/infiniband/core/fmr_pool.c linux-3.0.7/drivers/in
27998 wake_up_process(pool->thread); 28360 wake_up_process(pool->thread);
27999 } 28361 }
28000 } 28362 }
28001diff -urNp linux-3.0.7/drivers/infiniband/hw/cxgb4/mem.c linux-3.0.7/drivers/infiniband/hw/cxgb4/mem.c 28363diff -urNp linux-3.0.8/drivers/infiniband/hw/cxgb4/mem.c linux-3.0.8/drivers/infiniband/hw/cxgb4/mem.c
28002--- linux-3.0.7/drivers/infiniband/hw/cxgb4/mem.c 2011-07-21 22:17:23.000000000 -0400 28364--- linux-3.0.8/drivers/infiniband/hw/cxgb4/mem.c 2011-07-21 22:17:23.000000000 -0400
28003+++ linux-3.0.7/drivers/infiniband/hw/cxgb4/mem.c 2011-08-23 21:47:55.000000000 -0400 28365+++ linux-3.0.8/drivers/infiniband/hw/cxgb4/mem.c 2011-08-23 21:47:55.000000000 -0400
28004@@ -122,7 +122,7 @@ static int write_tpt_entry(struct c4iw_r 28366@@ -122,7 +122,7 @@ static int write_tpt_entry(struct c4iw_r
28005 int err; 28367 int err;
28006 struct fw_ri_tpte tpt; 28368 struct fw_ri_tpte tpt;
@@ -28019,9 +28381,9 @@ diff -urNp linux-3.0.7/drivers/infiniband/hw/cxgb4/mem.c linux-3.0.7/drivers/inf
28019 } 28381 }
28020 PDBG("%s stag_state 0x%0x type 0x%0x pdid 0x%0x, stag_idx 0x%x\n", 28382 PDBG("%s stag_state 0x%0x type 0x%0x pdid 0x%0x, stag_idx 0x%x\n",
28021 __func__, stag_state, type, pdid, stag_idx); 28383 __func__, stag_state, type, pdid, stag_idx);
28022diff -urNp linux-3.0.7/drivers/infiniband/hw/ipath/ipath_fs.c linux-3.0.7/drivers/infiniband/hw/ipath/ipath_fs.c 28384diff -urNp linux-3.0.8/drivers/infiniband/hw/ipath/ipath_fs.c linux-3.0.8/drivers/infiniband/hw/ipath/ipath_fs.c
28023--- linux-3.0.7/drivers/infiniband/hw/ipath/ipath_fs.c 2011-07-21 22:17:23.000000000 -0400 28385--- linux-3.0.8/drivers/infiniband/hw/ipath/ipath_fs.c 2011-07-21 22:17:23.000000000 -0400
28024+++ linux-3.0.7/drivers/infiniband/hw/ipath/ipath_fs.c 2011-08-23 21:48:14.000000000 -0400 28386+++ linux-3.0.8/drivers/infiniband/hw/ipath/ipath_fs.c 2011-08-23 21:48:14.000000000 -0400
28025@@ -113,6 +113,8 @@ static ssize_t atomic_counters_read(stru 28387@@ -113,6 +113,8 @@ static ssize_t atomic_counters_read(stru
28026 struct infinipath_counters counters; 28388 struct infinipath_counters counters;
28027 struct ipath_devdata *dd; 28389 struct ipath_devdata *dd;
@@ -28031,9 +28393,9 @@ diff -urNp linux-3.0.7/drivers/infiniband/hw/ipath/ipath_fs.c linux-3.0.7/driver
28031 dd = file->f_path.dentry->d_inode->i_private; 28393 dd = file->f_path.dentry->d_inode->i_private;
28032 dd->ipath_f_read_counters(dd, &counters); 28394 dd->ipath_f_read_counters(dd, &counters);
28033 28395
28034diff -urNp linux-3.0.7/drivers/infiniband/hw/ipath/ipath_rc.c linux-3.0.7/drivers/infiniband/hw/ipath/ipath_rc.c 28396diff -urNp linux-3.0.8/drivers/infiniband/hw/ipath/ipath_rc.c linux-3.0.8/drivers/infiniband/hw/ipath/ipath_rc.c
28035--- linux-3.0.7/drivers/infiniband/hw/ipath/ipath_rc.c 2011-07-21 22:17:23.000000000 -0400 28397--- linux-3.0.8/drivers/infiniband/hw/ipath/ipath_rc.c 2011-07-21 22:17:23.000000000 -0400
28036+++ linux-3.0.7/drivers/infiniband/hw/ipath/ipath_rc.c 2011-08-23 21:47:55.000000000 -0400 28398+++ linux-3.0.8/drivers/infiniband/hw/ipath/ipath_rc.c 2011-08-23 21:47:55.000000000 -0400
28037@@ -1868,7 +1868,7 @@ void ipath_rc_rcv(struct ipath_ibdev *de 28399@@ -1868,7 +1868,7 @@ void ipath_rc_rcv(struct ipath_ibdev *de
28038 struct ib_atomic_eth *ateth; 28400 struct ib_atomic_eth *ateth;
28039 struct ipath_ack_entry *e; 28401 struct ipath_ack_entry *e;
@@ -28057,9 +28419,9 @@ diff -urNp linux-3.0.7/drivers/infiniband/hw/ipath/ipath_rc.c linux-3.0.7/driver
28057 (u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr, 28419 (u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr,
28058 be64_to_cpu(ateth->compare_data), 28420 be64_to_cpu(ateth->compare_data),
28059 sdata); 28421 sdata);
28060diff -urNp linux-3.0.7/drivers/infiniband/hw/ipath/ipath_ruc.c linux-3.0.7/drivers/infiniband/hw/ipath/ipath_ruc.c 28422diff -urNp linux-3.0.8/drivers/infiniband/hw/ipath/ipath_ruc.c linux-3.0.8/drivers/infiniband/hw/ipath/ipath_ruc.c
28061--- linux-3.0.7/drivers/infiniband/hw/ipath/ipath_ruc.c 2011-07-21 22:17:23.000000000 -0400 28423--- linux-3.0.8/drivers/infiniband/hw/ipath/ipath_ruc.c 2011-07-21 22:17:23.000000000 -0400
28062+++ linux-3.0.7/drivers/infiniband/hw/ipath/ipath_ruc.c 2011-08-23 21:47:55.000000000 -0400 28424+++ linux-3.0.8/drivers/infiniband/hw/ipath/ipath_ruc.c 2011-08-23 21:47:55.000000000 -0400
28063@@ -266,7 +266,7 @@ static void ipath_ruc_loopback(struct ip 28425@@ -266,7 +266,7 @@ static void ipath_ruc_loopback(struct ip
28064 unsigned long flags; 28426 unsigned long flags;
28065 struct ib_wc wc; 28427 struct ib_wc wc;
@@ -28083,9 +28445,9 @@ diff -urNp linux-3.0.7/drivers/infiniband/hw/ipath/ipath_ruc.c linux-3.0.7/drive
28083 (u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr, 28445 (u64) cmpxchg((u64 *) qp->r_sge.sge.vaddr,
28084 sdata, wqe->wr.wr.atomic.swap); 28446 sdata, wqe->wr.wr.atomic.swap);
28085 goto send_comp; 28447 goto send_comp;
28086diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes.c linux-3.0.7/drivers/infiniband/hw/nes/nes.c 28448diff -urNp linux-3.0.8/drivers/infiniband/hw/nes/nes.c linux-3.0.8/drivers/infiniband/hw/nes/nes.c
28087--- linux-3.0.7/drivers/infiniband/hw/nes/nes.c 2011-07-21 22:17:23.000000000 -0400 28449--- linux-3.0.8/drivers/infiniband/hw/nes/nes.c 2011-07-21 22:17:23.000000000 -0400
28088+++ linux-3.0.7/drivers/infiniband/hw/nes/nes.c 2011-08-23 21:47:55.000000000 -0400 28450+++ linux-3.0.8/drivers/infiniband/hw/nes/nes.c 2011-08-23 21:47:55.000000000 -0400
28089@@ -103,7 +103,7 @@ MODULE_PARM_DESC(limit_maxrdreqsz, "Limi 28451@@ -103,7 +103,7 @@ MODULE_PARM_DESC(limit_maxrdreqsz, "Limi
28090 LIST_HEAD(nes_adapter_list); 28452 LIST_HEAD(nes_adapter_list);
28091 static LIST_HEAD(nes_dev_list); 28453 static LIST_HEAD(nes_dev_list);
@@ -28104,63 +28466,9 @@ diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes.c linux-3.0.7/drivers/infin
28104 28466
28105 /* Free the control structures */ 28467 /* Free the control structures */
28106 28468
28107diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes.h linux-3.0.7/drivers/infiniband/hw/nes/nes.h 28469diff -urNp linux-3.0.8/drivers/infiniband/hw/nes/nes_cm.c linux-3.0.8/drivers/infiniband/hw/nes/nes_cm.c
28108--- linux-3.0.7/drivers/infiniband/hw/nes/nes.h 2011-07-21 22:17:23.000000000 -0400 28470--- linux-3.0.8/drivers/infiniband/hw/nes/nes_cm.c 2011-07-21 22:17:23.000000000 -0400
28109+++ linux-3.0.7/drivers/infiniband/hw/nes/nes.h 2011-08-23 21:47:55.000000000 -0400 28471+++ linux-3.0.8/drivers/infiniband/hw/nes/nes_cm.c 2011-08-23 21:47:55.000000000 -0400
28110@@ -175,17 +175,17 @@ extern unsigned int nes_debug_level;
28111 extern unsigned int wqm_quanta;
28112 extern struct list_head nes_adapter_list;
28113
28114-extern atomic_t cm_connects;
28115-extern atomic_t cm_accepts;
28116-extern atomic_t cm_disconnects;
28117-extern atomic_t cm_closes;
28118-extern atomic_t cm_connecteds;
28119-extern atomic_t cm_connect_reqs;
28120-extern atomic_t cm_rejects;
28121-extern atomic_t mod_qp_timouts;
28122-extern atomic_t qps_created;
28123-extern atomic_t qps_destroyed;
28124-extern atomic_t sw_qps_destroyed;
28125+extern atomic_unchecked_t cm_connects;
28126+extern atomic_unchecked_t cm_accepts;
28127+extern atomic_unchecked_t cm_disconnects;
28128+extern atomic_unchecked_t cm_closes;
28129+extern atomic_unchecked_t cm_connecteds;
28130+extern atomic_unchecked_t cm_connect_reqs;
28131+extern atomic_unchecked_t cm_rejects;
28132+extern atomic_unchecked_t mod_qp_timouts;
28133+extern atomic_unchecked_t qps_created;
28134+extern atomic_unchecked_t qps_destroyed;
28135+extern atomic_unchecked_t sw_qps_destroyed;
28136 extern u32 mh_detected;
28137 extern u32 mh_pauses_sent;
28138 extern u32 cm_packets_sent;
28139@@ -194,14 +194,14 @@ extern u32 cm_packets_created;
28140 extern u32 cm_packets_received;
28141 extern u32 cm_packets_dropped;
28142 extern u32 cm_packets_retrans;
28143-extern atomic_t cm_listens_created;
28144-extern atomic_t cm_listens_destroyed;
28145+extern atomic_unchecked_t cm_listens_created;
28146+extern atomic_unchecked_t cm_listens_destroyed;
28147 extern u32 cm_backlog_drops;
28148-extern atomic_t cm_loopbacks;
28149-extern atomic_t cm_nodes_created;
28150-extern atomic_t cm_nodes_destroyed;
28151-extern atomic_t cm_accel_dropped_pkts;
28152-extern atomic_t cm_resets_recvd;
28153+extern atomic_unchecked_t cm_loopbacks;
28154+extern atomic_unchecked_t cm_nodes_created;
28155+extern atomic_unchecked_t cm_nodes_destroyed;
28156+extern atomic_unchecked_t cm_accel_dropped_pkts;
28157+extern atomic_unchecked_t cm_resets_recvd;
28158
28159 extern u32 int_mod_timer_init;
28160 extern u32 int_mod_cq_depth_256;
28161diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes_cm.c linux-3.0.7/drivers/infiniband/hw/nes/nes_cm.c
28162--- linux-3.0.7/drivers/infiniband/hw/nes/nes_cm.c 2011-07-21 22:17:23.000000000 -0400
28163+++ linux-3.0.7/drivers/infiniband/hw/nes/nes_cm.c 2011-08-23 21:47:55.000000000 -0400
28164@@ -68,14 +68,14 @@ u32 cm_packets_dropped; 28472@@ -68,14 +68,14 @@ u32 cm_packets_dropped;
28165 u32 cm_packets_retrans; 28473 u32 cm_packets_retrans;
28166 u32 cm_packets_created; 28474 u32 cm_packets_created;
@@ -28357,9 +28665,63 @@ diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes_cm.c linux-3.0.7/drivers/in
28357 nes_debug(NES_DBG_CM, "cm_node = %p - cm_id = %p, jiffies = %lu\n", 28665 nes_debug(NES_DBG_CM, "cm_node = %p - cm_id = %p, jiffies = %lu\n",
28358 cm_node, cm_id, jiffies); 28666 cm_node, cm_id, jiffies);
28359 28667
28360diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes_nic.c linux-3.0.7/drivers/infiniband/hw/nes/nes_nic.c 28668diff -urNp linux-3.0.8/drivers/infiniband/hw/nes/nes.h linux-3.0.8/drivers/infiniband/hw/nes/nes.h
28361--- linux-3.0.7/drivers/infiniband/hw/nes/nes_nic.c 2011-07-21 22:17:23.000000000 -0400 28669--- linux-3.0.8/drivers/infiniband/hw/nes/nes.h 2011-07-21 22:17:23.000000000 -0400
28362+++ linux-3.0.7/drivers/infiniband/hw/nes/nes_nic.c 2011-08-23 21:47:55.000000000 -0400 28670+++ linux-3.0.8/drivers/infiniband/hw/nes/nes.h 2011-08-23 21:47:55.000000000 -0400
28671@@ -175,17 +175,17 @@ extern unsigned int nes_debug_level;
28672 extern unsigned int wqm_quanta;
28673 extern struct list_head nes_adapter_list;
28674
28675-extern atomic_t cm_connects;
28676-extern atomic_t cm_accepts;
28677-extern atomic_t cm_disconnects;
28678-extern atomic_t cm_closes;
28679-extern atomic_t cm_connecteds;
28680-extern atomic_t cm_connect_reqs;
28681-extern atomic_t cm_rejects;
28682-extern atomic_t mod_qp_timouts;
28683-extern atomic_t qps_created;
28684-extern atomic_t qps_destroyed;
28685-extern atomic_t sw_qps_destroyed;
28686+extern atomic_unchecked_t cm_connects;
28687+extern atomic_unchecked_t cm_accepts;
28688+extern atomic_unchecked_t cm_disconnects;
28689+extern atomic_unchecked_t cm_closes;
28690+extern atomic_unchecked_t cm_connecteds;
28691+extern atomic_unchecked_t cm_connect_reqs;
28692+extern atomic_unchecked_t cm_rejects;
28693+extern atomic_unchecked_t mod_qp_timouts;
28694+extern atomic_unchecked_t qps_created;
28695+extern atomic_unchecked_t qps_destroyed;
28696+extern atomic_unchecked_t sw_qps_destroyed;
28697 extern u32 mh_detected;
28698 extern u32 mh_pauses_sent;
28699 extern u32 cm_packets_sent;
28700@@ -194,14 +194,14 @@ extern u32 cm_packets_created;
28701 extern u32 cm_packets_received;
28702 extern u32 cm_packets_dropped;
28703 extern u32 cm_packets_retrans;
28704-extern atomic_t cm_listens_created;
28705-extern atomic_t cm_listens_destroyed;
28706+extern atomic_unchecked_t cm_listens_created;
28707+extern atomic_unchecked_t cm_listens_destroyed;
28708 extern u32 cm_backlog_drops;
28709-extern atomic_t cm_loopbacks;
28710-extern atomic_t cm_nodes_created;
28711-extern atomic_t cm_nodes_destroyed;
28712-extern atomic_t cm_accel_dropped_pkts;
28713-extern atomic_t cm_resets_recvd;
28714+extern atomic_unchecked_t cm_loopbacks;
28715+extern atomic_unchecked_t cm_nodes_created;
28716+extern atomic_unchecked_t cm_nodes_destroyed;
28717+extern atomic_unchecked_t cm_accel_dropped_pkts;
28718+extern atomic_unchecked_t cm_resets_recvd;
28719
28720 extern u32 int_mod_timer_init;
28721 extern u32 int_mod_cq_depth_256;
28722diff -urNp linux-3.0.8/drivers/infiniband/hw/nes/nes_nic.c linux-3.0.8/drivers/infiniband/hw/nes/nes_nic.c
28723--- linux-3.0.8/drivers/infiniband/hw/nes/nes_nic.c 2011-07-21 22:17:23.000000000 -0400
28724+++ linux-3.0.8/drivers/infiniband/hw/nes/nes_nic.c 2011-08-23 21:47:55.000000000 -0400
28363@@ -1274,31 +1274,31 @@ static void nes_netdev_get_ethtool_stats 28725@@ -1274,31 +1274,31 @@ static void nes_netdev_get_ethtool_stats
28364 target_stat_values[++index] = mh_detected; 28726 target_stat_values[++index] = mh_detected;
28365 target_stat_values[++index] = mh_pauses_sent; 28727 target_stat_values[++index] = mh_pauses_sent;
@@ -28410,9 +28772,9 @@ diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes_nic.c linux-3.0.7/drivers/i
28410 target_stat_values[++index] = nesadapter->free_4kpbl; 28772 target_stat_values[++index] = nesadapter->free_4kpbl;
28411 target_stat_values[++index] = nesadapter->free_256pbl; 28773 target_stat_values[++index] = nesadapter->free_256pbl;
28412 target_stat_values[++index] = int_mod_timer_init; 28774 target_stat_values[++index] = int_mod_timer_init;
28413diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes_verbs.c linux-3.0.7/drivers/infiniband/hw/nes/nes_verbs.c 28775diff -urNp linux-3.0.8/drivers/infiniband/hw/nes/nes_verbs.c linux-3.0.8/drivers/infiniband/hw/nes/nes_verbs.c
28414--- linux-3.0.7/drivers/infiniband/hw/nes/nes_verbs.c 2011-07-21 22:17:23.000000000 -0400 28776--- linux-3.0.8/drivers/infiniband/hw/nes/nes_verbs.c 2011-07-21 22:17:23.000000000 -0400
28415+++ linux-3.0.7/drivers/infiniband/hw/nes/nes_verbs.c 2011-08-23 21:47:55.000000000 -0400 28777+++ linux-3.0.8/drivers/infiniband/hw/nes/nes_verbs.c 2011-08-23 21:47:55.000000000 -0400
28416@@ -46,9 +46,9 @@ 28778@@ -46,9 +46,9 @@
28417 28779
28418 #include <rdma/ib_umem.h> 28780 #include <rdma/ib_umem.h>
@@ -28444,9 +28806,9 @@ diff -urNp linux-3.0.7/drivers/infiniband/hw/nes/nes_verbs.c linux-3.0.7/drivers
28444 nesqp->destroyed = 1; 28806 nesqp->destroyed = 1;
28445 28807
28446 /* Blow away the connection if it exists. */ 28808 /* Blow away the connection if it exists. */
28447diff -urNp linux-3.0.7/drivers/infiniband/hw/qib/qib.h linux-3.0.7/drivers/infiniband/hw/qib/qib.h 28809diff -urNp linux-3.0.8/drivers/infiniband/hw/qib/qib.h linux-3.0.8/drivers/infiniband/hw/qib/qib.h
28448--- linux-3.0.7/drivers/infiniband/hw/qib/qib.h 2011-07-21 22:17:23.000000000 -0400 28810--- linux-3.0.8/drivers/infiniband/hw/qib/qib.h 2011-07-21 22:17:23.000000000 -0400
28449+++ linux-3.0.7/drivers/infiniband/hw/qib/qib.h 2011-08-23 21:47:55.000000000 -0400 28811+++ linux-3.0.8/drivers/infiniband/hw/qib/qib.h 2011-08-23 21:47:55.000000000 -0400
28450@@ -51,6 +51,7 @@ 28812@@ -51,6 +51,7 @@
28451 #include <linux/completion.h> 28813 #include <linux/completion.h>
28452 #include <linux/kref.h> 28814 #include <linux/kref.h>
@@ -28455,9 +28817,9 @@ diff -urNp linux-3.0.7/drivers/infiniband/hw/qib/qib.h linux-3.0.7/drivers/infin
28455 28817
28456 #include "qib_common.h" 28818 #include "qib_common.h"
28457 #include "qib_verbs.h" 28819 #include "qib_verbs.h"
28458diff -urNp linux-3.0.7/drivers/input/gameport/gameport.c linux-3.0.7/drivers/input/gameport/gameport.c 28820diff -urNp linux-3.0.8/drivers/input/gameport/gameport.c linux-3.0.8/drivers/input/gameport/gameport.c
28459--- linux-3.0.7/drivers/input/gameport/gameport.c 2011-07-21 22:17:23.000000000 -0400 28821--- linux-3.0.8/drivers/input/gameport/gameport.c 2011-07-21 22:17:23.000000000 -0400
28460+++ linux-3.0.7/drivers/input/gameport/gameport.c 2011-08-23 21:47:55.000000000 -0400 28822+++ linux-3.0.8/drivers/input/gameport/gameport.c 2011-08-23 21:47:55.000000000 -0400
28461@@ -488,14 +488,14 @@ EXPORT_SYMBOL(gameport_set_phys); 28823@@ -488,14 +488,14 @@ EXPORT_SYMBOL(gameport_set_phys);
28462 */ 28824 */
28463 static void gameport_init_port(struct gameport *gameport) 28825 static void gameport_init_port(struct gameport *gameport)
@@ -28475,9 +28837,9 @@ diff -urNp linux-3.0.7/drivers/input/gameport/gameport.c linux-3.0.7/drivers/inp
28475 gameport->dev.bus = &gameport_bus; 28837 gameport->dev.bus = &gameport_bus;
28476 gameport->dev.release = gameport_release_port; 28838 gameport->dev.release = gameport_release_port;
28477 if (gameport->parent) 28839 if (gameport->parent)
28478diff -urNp linux-3.0.7/drivers/input/input.c linux-3.0.7/drivers/input/input.c 28840diff -urNp linux-3.0.8/drivers/input/input.c linux-3.0.8/drivers/input/input.c
28479--- linux-3.0.7/drivers/input/input.c 2011-07-21 22:17:23.000000000 -0400 28841--- linux-3.0.8/drivers/input/input.c 2011-07-21 22:17:23.000000000 -0400
28480+++ linux-3.0.7/drivers/input/input.c 2011-08-23 21:47:55.000000000 -0400 28842+++ linux-3.0.8/drivers/input/input.c 2011-08-23 21:47:55.000000000 -0400
28481@@ -1814,7 +1814,7 @@ static void input_cleanse_bitmasks(struc 28843@@ -1814,7 +1814,7 @@ static void input_cleanse_bitmasks(struc
28482 */ 28844 */
28483 int input_register_device(struct input_dev *dev) 28845 int input_register_device(struct input_dev *dev)
@@ -28496,9 +28858,9 @@ diff -urNp linux-3.0.7/drivers/input/input.c linux-3.0.7/drivers/input/input.c
28496 28858
28497 error = device_add(&dev->dev); 28859 error = device_add(&dev->dev);
28498 if (error) 28860 if (error)
28499diff -urNp linux-3.0.7/drivers/input/joystick/sidewinder.c linux-3.0.7/drivers/input/joystick/sidewinder.c 28861diff -urNp linux-3.0.8/drivers/input/joystick/sidewinder.c linux-3.0.8/drivers/input/joystick/sidewinder.c
28500--- linux-3.0.7/drivers/input/joystick/sidewinder.c 2011-07-21 22:17:23.000000000 -0400 28862--- linux-3.0.8/drivers/input/joystick/sidewinder.c 2011-07-21 22:17:23.000000000 -0400
28501+++ linux-3.0.7/drivers/input/joystick/sidewinder.c 2011-08-23 21:48:14.000000000 -0400 28863+++ linux-3.0.8/drivers/input/joystick/sidewinder.c 2011-08-23 21:48:14.000000000 -0400
28502@@ -30,6 +30,7 @@ 28864@@ -30,6 +30,7 @@
28503 #include <linux/kernel.h> 28865 #include <linux/kernel.h>
28504 #include <linux/module.h> 28866 #include <linux/module.h>
@@ -28516,9 +28878,9 @@ diff -urNp linux-3.0.7/drivers/input/joystick/sidewinder.c linux-3.0.7/drivers/i
28516 i = sw_read_packet(sw->gameport, buf, sw->length, 0); 28878 i = sw_read_packet(sw->gameport, buf, sw->length, 0);
28517 28879
28518 if (sw->type == SW_ID_3DP && sw->length == 66 && i != 66) { /* Broken packet, try to fix */ 28880 if (sw->type == SW_ID_3DP && sw->length == 66 && i != 66) { /* Broken packet, try to fix */
28519diff -urNp linux-3.0.7/drivers/input/joystick/xpad.c linux-3.0.7/drivers/input/joystick/xpad.c 28881diff -urNp linux-3.0.8/drivers/input/joystick/xpad.c linux-3.0.8/drivers/input/joystick/xpad.c
28520--- linux-3.0.7/drivers/input/joystick/xpad.c 2011-07-21 22:17:23.000000000 -0400 28882--- linux-3.0.8/drivers/input/joystick/xpad.c 2011-07-21 22:17:23.000000000 -0400
28521+++ linux-3.0.7/drivers/input/joystick/xpad.c 2011-08-23 21:47:55.000000000 -0400 28883+++ linux-3.0.8/drivers/input/joystick/xpad.c 2011-08-23 21:47:55.000000000 -0400
28522@@ -689,7 +689,7 @@ static void xpad_led_set(struct led_clas 28884@@ -689,7 +689,7 @@ static void xpad_led_set(struct led_clas
28523 28885
28524 static int xpad_led_probe(struct usb_xpad *xpad) 28886 static int xpad_led_probe(struct usb_xpad *xpad)
@@ -28537,9 +28899,9 @@ diff -urNp linux-3.0.7/drivers/input/joystick/xpad.c linux-3.0.7/drivers/input/j
28537 28899
28538 snprintf(led->name, sizeof(led->name), "xpad%ld", led_no); 28900 snprintf(led->name, sizeof(led->name), "xpad%ld", led_no);
28539 led->xpad = xpad; 28901 led->xpad = xpad;
28540diff -urNp linux-3.0.7/drivers/input/mousedev.c linux-3.0.7/drivers/input/mousedev.c 28902diff -urNp linux-3.0.8/drivers/input/mousedev.c linux-3.0.8/drivers/input/mousedev.c
28541--- linux-3.0.7/drivers/input/mousedev.c 2011-07-21 22:17:23.000000000 -0400 28903--- linux-3.0.8/drivers/input/mousedev.c 2011-07-21 22:17:23.000000000 -0400
28542+++ linux-3.0.7/drivers/input/mousedev.c 2011-08-23 21:47:55.000000000 -0400 28904+++ linux-3.0.8/drivers/input/mousedev.c 2011-08-23 21:47:55.000000000 -0400
28543@@ -763,7 +763,7 @@ static ssize_t mousedev_read(struct file 28905@@ -763,7 +763,7 @@ static ssize_t mousedev_read(struct file
28544 28906
28545 spin_unlock_irq(&client->packet_lock); 28907 spin_unlock_irq(&client->packet_lock);
@@ -28549,9 +28911,9 @@ diff -urNp linux-3.0.7/drivers/input/mousedev.c linux-3.0.7/drivers/input/moused
28549 return -EFAULT; 28911 return -EFAULT;
28550 28912
28551 return count; 28913 return count;
28552diff -urNp linux-3.0.7/drivers/input/serio/serio.c linux-3.0.7/drivers/input/serio/serio.c 28914diff -urNp linux-3.0.8/drivers/input/serio/serio.c linux-3.0.8/drivers/input/serio/serio.c
28553--- linux-3.0.7/drivers/input/serio/serio.c 2011-07-21 22:17:23.000000000 -0400 28915--- linux-3.0.8/drivers/input/serio/serio.c 2011-07-21 22:17:23.000000000 -0400
28554+++ linux-3.0.7/drivers/input/serio/serio.c 2011-08-23 21:47:55.000000000 -0400 28916+++ linux-3.0.8/drivers/input/serio/serio.c 2011-08-23 21:47:55.000000000 -0400
28555@@ -497,7 +497,7 @@ static void serio_release_port(struct de 28917@@ -497,7 +497,7 @@ static void serio_release_port(struct de
28556 */ 28918 */
28557 static void serio_init_port(struct serio *serio) 28919 static void serio_init_port(struct serio *serio)
@@ -28570,9 +28932,9 @@ diff -urNp linux-3.0.7/drivers/input/serio/serio.c linux-3.0.7/drivers/input/ser
28570 serio->dev.bus = &serio_bus; 28932 serio->dev.bus = &serio_bus;
28571 serio->dev.release = serio_release_port; 28933 serio->dev.release = serio_release_port;
28572 serio->dev.groups = serio_device_attr_groups; 28934 serio->dev.groups = serio_device_attr_groups;
28573diff -urNp linux-3.0.7/drivers/isdn/capi/capi.c linux-3.0.7/drivers/isdn/capi/capi.c 28935diff -urNp linux-3.0.8/drivers/isdn/capi/capi.c linux-3.0.8/drivers/isdn/capi/capi.c
28574--- linux-3.0.7/drivers/isdn/capi/capi.c 2011-07-21 22:17:23.000000000 -0400 28936--- linux-3.0.8/drivers/isdn/capi/capi.c 2011-07-21 22:17:23.000000000 -0400
28575+++ linux-3.0.7/drivers/isdn/capi/capi.c 2011-08-23 21:47:55.000000000 -0400 28937+++ linux-3.0.8/drivers/isdn/capi/capi.c 2011-08-23 21:47:55.000000000 -0400
28576@@ -83,8 +83,8 @@ struct capiminor { 28938@@ -83,8 +83,8 @@ struct capiminor {
28577 28939
28578 struct capi20_appl *ap; 28940 struct capi20_appl *ap;
@@ -28610,9 +28972,9 @@ diff -urNp linux-3.0.7/drivers/isdn/capi/capi.c linux-3.0.7/drivers/isdn/capi/ca
28610 capimsg_setu32(skb->data, 8, mp->ncci); /* NCCI */ 28972 capimsg_setu32(skb->data, 8, mp->ncci); /* NCCI */
28611 capimsg_setu32(skb->data, 12, (u32)(long)skb->data);/* Data32 */ 28973 capimsg_setu32(skb->data, 12, (u32)(long)skb->data);/* Data32 */
28612 capimsg_setu16(skb->data, 16, len); /* Data length */ 28974 capimsg_setu16(skb->data, 16, len); /* Data length */
28613diff -urNp linux-3.0.7/drivers/isdn/gigaset/common.c linux-3.0.7/drivers/isdn/gigaset/common.c 28975diff -urNp linux-3.0.8/drivers/isdn/gigaset/common.c linux-3.0.8/drivers/isdn/gigaset/common.c
28614--- linux-3.0.7/drivers/isdn/gigaset/common.c 2011-07-21 22:17:23.000000000 -0400 28976--- linux-3.0.8/drivers/isdn/gigaset/common.c 2011-07-21 22:17:23.000000000 -0400
28615+++ linux-3.0.7/drivers/isdn/gigaset/common.c 2011-08-23 21:47:55.000000000 -0400 28977+++ linux-3.0.8/drivers/isdn/gigaset/common.c 2011-08-23 21:47:55.000000000 -0400
28616@@ -723,7 +723,7 @@ struct cardstate *gigaset_initcs(struct 28978@@ -723,7 +723,7 @@ struct cardstate *gigaset_initcs(struct
28617 cs->commands_pending = 0; 28979 cs->commands_pending = 0;
28618 cs->cur_at_seq = 0; 28980 cs->cur_at_seq = 0;
@@ -28622,9 +28984,9 @@ diff -urNp linux-3.0.7/drivers/isdn/gigaset/common.c linux-3.0.7/drivers/isdn/gi
28622 cs->dev = NULL; 28984 cs->dev = NULL;
28623 cs->tty = NULL; 28985 cs->tty = NULL;
28624 cs->tty_dev = NULL; 28986 cs->tty_dev = NULL;
28625diff -urNp linux-3.0.7/drivers/isdn/gigaset/gigaset.h linux-3.0.7/drivers/isdn/gigaset/gigaset.h 28987diff -urNp linux-3.0.8/drivers/isdn/gigaset/gigaset.h linux-3.0.8/drivers/isdn/gigaset/gigaset.h
28626--- linux-3.0.7/drivers/isdn/gigaset/gigaset.h 2011-07-21 22:17:23.000000000 -0400 28988--- linux-3.0.8/drivers/isdn/gigaset/gigaset.h 2011-07-21 22:17:23.000000000 -0400
28627+++ linux-3.0.7/drivers/isdn/gigaset/gigaset.h 2011-08-23 21:47:55.000000000 -0400 28989+++ linux-3.0.8/drivers/isdn/gigaset/gigaset.h 2011-08-23 21:47:55.000000000 -0400
28628@@ -35,6 +35,7 @@ 28990@@ -35,6 +35,7 @@
28629 #include <linux/tty_driver.h> 28991 #include <linux/tty_driver.h>
28630 #include <linux/list.h> 28992 #include <linux/list.h>
@@ -28642,9 +29004,9 @@ diff -urNp linux-3.0.7/drivers/isdn/gigaset/gigaset.h linux-3.0.7/drivers/isdn/g
28642 struct tty_struct *tty; 29004 struct tty_struct *tty;
28643 struct tasklet_struct if_wake_tasklet; 29005 struct tasklet_struct if_wake_tasklet;
28644 unsigned control_state; 29006 unsigned control_state;
28645diff -urNp linux-3.0.7/drivers/isdn/gigaset/interface.c linux-3.0.7/drivers/isdn/gigaset/interface.c 29007diff -urNp linux-3.0.8/drivers/isdn/gigaset/interface.c linux-3.0.8/drivers/isdn/gigaset/interface.c
28646--- linux-3.0.7/drivers/isdn/gigaset/interface.c 2011-07-21 22:17:23.000000000 -0400 29008--- linux-3.0.8/drivers/isdn/gigaset/interface.c 2011-07-21 22:17:23.000000000 -0400
28647+++ linux-3.0.7/drivers/isdn/gigaset/interface.c 2011-08-23 21:47:55.000000000 -0400 29009+++ linux-3.0.8/drivers/isdn/gigaset/interface.c 2011-08-23 21:47:55.000000000 -0400
28648@@ -162,9 +162,7 @@ static int if_open(struct tty_struct *tt 29010@@ -162,9 +162,7 @@ static int if_open(struct tty_struct *tt
28649 } 29011 }
28650 tty->driver_data = cs; 29012 tty->driver_data = cs;
@@ -28732,9 +29094,9 @@ diff -urNp linux-3.0.7/drivers/isdn/gigaset/interface.c linux-3.0.7/drivers/isdn
28732 dev_warn(cs->dev, "%s: device not opened\n", __func__); 29094 dev_warn(cs->dev, "%s: device not opened\n", __func__);
28733 goto out; 29095 goto out;
28734 } 29096 }
28735diff -urNp linux-3.0.7/drivers/isdn/hardware/avm/b1.c linux-3.0.7/drivers/isdn/hardware/avm/b1.c 29097diff -urNp linux-3.0.8/drivers/isdn/hardware/avm/b1.c linux-3.0.8/drivers/isdn/hardware/avm/b1.c
28736--- linux-3.0.7/drivers/isdn/hardware/avm/b1.c 2011-07-21 22:17:23.000000000 -0400 29098--- linux-3.0.8/drivers/isdn/hardware/avm/b1.c 2011-07-21 22:17:23.000000000 -0400
28737+++ linux-3.0.7/drivers/isdn/hardware/avm/b1.c 2011-08-23 21:47:55.000000000 -0400 29099+++ linux-3.0.8/drivers/isdn/hardware/avm/b1.c 2011-08-23 21:47:55.000000000 -0400
28738@@ -176,7 +176,7 @@ int b1_load_t4file(avmcard *card, capilo 29100@@ -176,7 +176,7 @@ int b1_load_t4file(avmcard *card, capilo
28739 } 29101 }
28740 if (left) { 29102 if (left) {
@@ -28753,9 +29115,9 @@ diff -urNp linux-3.0.7/drivers/isdn/hardware/avm/b1.c linux-3.0.7/drivers/isdn/h
28753 return -EFAULT; 29115 return -EFAULT;
28754 } else { 29116 } else {
28755 memcpy(buf, dp, left); 29117 memcpy(buf, dp, left);
28756diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/capidtmf.c linux-3.0.7/drivers/isdn/hardware/eicon/capidtmf.c 29118diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/capidtmf.c linux-3.0.8/drivers/isdn/hardware/eicon/capidtmf.c
28757--- linux-3.0.7/drivers/isdn/hardware/eicon/capidtmf.c 2011-07-21 22:17:23.000000000 -0400 29119--- linux-3.0.8/drivers/isdn/hardware/eicon/capidtmf.c 2011-07-21 22:17:23.000000000 -0400
28758+++ linux-3.0.7/drivers/isdn/hardware/eicon/capidtmf.c 2011-08-23 21:48:14.000000000 -0400 29120+++ linux-3.0.8/drivers/isdn/hardware/eicon/capidtmf.c 2011-08-23 21:48:14.000000000 -0400
28759@@ -498,6 +498,7 @@ void capidtmf_recv_block (t_capidtmf_sta 29121@@ -498,6 +498,7 @@ void capidtmf_recv_block (t_capidtmf_sta
28760 byte goertzel_result_buffer[CAPIDTMF_RECV_TOTAL_FREQUENCY_COUNT]; 29122 byte goertzel_result_buffer[CAPIDTMF_RECV_TOTAL_FREQUENCY_COUNT];
28761 short windowed_sample_buffer[CAPIDTMF_RECV_WINDOWED_SAMPLES]; 29123 short windowed_sample_buffer[CAPIDTMF_RECV_WINDOWED_SAMPLES];
@@ -28764,9 +29126,9 @@ diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/capidtmf.c linux-3.0.7/driver
28764 29126
28765 if (p_state->recv.state & CAPIDTMF_RECV_STATE_DTMF_ACTIVE) 29127 if (p_state->recv.state & CAPIDTMF_RECV_STATE_DTMF_ACTIVE)
28766 { 29128 {
28767diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/capifunc.c linux-3.0.7/drivers/isdn/hardware/eicon/capifunc.c 29129diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/capifunc.c linux-3.0.8/drivers/isdn/hardware/eicon/capifunc.c
28768--- linux-3.0.7/drivers/isdn/hardware/eicon/capifunc.c 2011-07-21 22:17:23.000000000 -0400 29130--- linux-3.0.8/drivers/isdn/hardware/eicon/capifunc.c 2011-07-21 22:17:23.000000000 -0400
28769+++ linux-3.0.7/drivers/isdn/hardware/eicon/capifunc.c 2011-08-23 21:48:14.000000000 -0400 29131+++ linux-3.0.8/drivers/isdn/hardware/eicon/capifunc.c 2011-08-23 21:48:14.000000000 -0400
28770@@ -1055,6 +1055,8 @@ static int divacapi_connect_didd(void) 29132@@ -1055,6 +1055,8 @@ static int divacapi_connect_didd(void)
28771 IDI_SYNC_REQ req; 29133 IDI_SYNC_REQ req;
28772 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; 29134 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
@@ -28776,9 +29138,9 @@ diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/capifunc.c linux-3.0.7/driver
28776 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); 29138 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
28777 29139
28778 for (x = 0; x < MAX_DESCRIPTORS; x++) { 29140 for (x = 0; x < MAX_DESCRIPTORS; x++) {
28779diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/diddfunc.c linux-3.0.7/drivers/isdn/hardware/eicon/diddfunc.c 29141diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/diddfunc.c linux-3.0.8/drivers/isdn/hardware/eicon/diddfunc.c
28780--- linux-3.0.7/drivers/isdn/hardware/eicon/diddfunc.c 2011-07-21 22:17:23.000000000 -0400 29142--- linux-3.0.8/drivers/isdn/hardware/eicon/diddfunc.c 2011-07-21 22:17:23.000000000 -0400
28781+++ linux-3.0.7/drivers/isdn/hardware/eicon/diddfunc.c 2011-08-23 21:48:14.000000000 -0400 29143+++ linux-3.0.8/drivers/isdn/hardware/eicon/diddfunc.c 2011-08-23 21:48:14.000000000 -0400
28782@@ -54,6 +54,8 @@ static int DIVA_INIT_FUNCTION connect_di 29144@@ -54,6 +54,8 @@ static int DIVA_INIT_FUNCTION connect_di
28783 IDI_SYNC_REQ req; 29145 IDI_SYNC_REQ req;
28784 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; 29146 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
@@ -28788,9 +29150,9 @@ diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/diddfunc.c linux-3.0.7/driver
28788 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); 29150 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
28789 29151
28790 for (x = 0; x < MAX_DESCRIPTORS; x++) { 29152 for (x = 0; x < MAX_DESCRIPTORS; x++) {
28791diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/divasfunc.c linux-3.0.7/drivers/isdn/hardware/eicon/divasfunc.c 29153diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/divasfunc.c linux-3.0.8/drivers/isdn/hardware/eicon/divasfunc.c
28792--- linux-3.0.7/drivers/isdn/hardware/eicon/divasfunc.c 2011-07-21 22:17:23.000000000 -0400 29154--- linux-3.0.8/drivers/isdn/hardware/eicon/divasfunc.c 2011-07-21 22:17:23.000000000 -0400
28793+++ linux-3.0.7/drivers/isdn/hardware/eicon/divasfunc.c 2011-08-23 21:48:14.000000000 -0400 29155+++ linux-3.0.8/drivers/isdn/hardware/eicon/divasfunc.c 2011-08-23 21:48:14.000000000 -0400
28794@@ -160,6 +160,8 @@ static int DIVA_INIT_FUNCTION connect_di 29156@@ -160,6 +160,8 @@ static int DIVA_INIT_FUNCTION connect_di
28795 IDI_SYNC_REQ req; 29157 IDI_SYNC_REQ req;
28796 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; 29158 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
@@ -28800,9 +29162,9 @@ diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/divasfunc.c linux-3.0.7/drive
28800 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); 29162 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
28801 29163
28802 for (x = 0; x < MAX_DESCRIPTORS; x++) { 29164 for (x = 0; x < MAX_DESCRIPTORS; x++) {
28803diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/divasync.h linux-3.0.7/drivers/isdn/hardware/eicon/divasync.h 29165diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/divasync.h linux-3.0.8/drivers/isdn/hardware/eicon/divasync.h
28804--- linux-3.0.7/drivers/isdn/hardware/eicon/divasync.h 2011-07-21 22:17:23.000000000 -0400 29166--- linux-3.0.8/drivers/isdn/hardware/eicon/divasync.h 2011-07-21 22:17:23.000000000 -0400
28805+++ linux-3.0.7/drivers/isdn/hardware/eicon/divasync.h 2011-08-23 21:47:55.000000000 -0400 29167+++ linux-3.0.8/drivers/isdn/hardware/eicon/divasync.h 2011-08-23 21:47:55.000000000 -0400
28806@@ -146,7 +146,7 @@ typedef struct _diva_didd_add_adapter { 29168@@ -146,7 +146,7 @@ typedef struct _diva_didd_add_adapter {
28807 } diva_didd_add_adapter_t; 29169 } diva_didd_add_adapter_t;
28808 typedef struct _diva_didd_remove_adapter { 29170 typedef struct _diva_didd_remove_adapter {
@@ -28812,9 +29174,9 @@ diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/divasync.h linux-3.0.7/driver
28812 typedef struct _diva_didd_read_adapter_array { 29174 typedef struct _diva_didd_read_adapter_array {
28813 void * buffer; 29175 void * buffer;
28814 dword length; 29176 dword length;
28815diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/idifunc.c linux-3.0.7/drivers/isdn/hardware/eicon/idifunc.c 29177diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/idifunc.c linux-3.0.8/drivers/isdn/hardware/eicon/idifunc.c
28816--- linux-3.0.7/drivers/isdn/hardware/eicon/idifunc.c 2011-07-21 22:17:23.000000000 -0400 29178--- linux-3.0.8/drivers/isdn/hardware/eicon/idifunc.c 2011-07-21 22:17:23.000000000 -0400
28817+++ linux-3.0.7/drivers/isdn/hardware/eicon/idifunc.c 2011-08-23 21:48:14.000000000 -0400 29179+++ linux-3.0.8/drivers/isdn/hardware/eicon/idifunc.c 2011-08-23 21:48:14.000000000 -0400
28818@@ -188,6 +188,8 @@ static int DIVA_INIT_FUNCTION connect_di 29180@@ -188,6 +188,8 @@ static int DIVA_INIT_FUNCTION connect_di
28819 IDI_SYNC_REQ req; 29181 IDI_SYNC_REQ req;
28820 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; 29182 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
@@ -28824,9 +29186,9 @@ diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/idifunc.c linux-3.0.7/drivers
28824 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); 29186 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
28825 29187
28826 for (x = 0; x < MAX_DESCRIPTORS; x++) { 29188 for (x = 0; x < MAX_DESCRIPTORS; x++) {
28827diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/message.c linux-3.0.7/drivers/isdn/hardware/eicon/message.c 29189diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/message.c linux-3.0.8/drivers/isdn/hardware/eicon/message.c
28828--- linux-3.0.7/drivers/isdn/hardware/eicon/message.c 2011-07-21 22:17:23.000000000 -0400 29190--- linux-3.0.8/drivers/isdn/hardware/eicon/message.c 2011-07-21 22:17:23.000000000 -0400
28829+++ linux-3.0.7/drivers/isdn/hardware/eicon/message.c 2011-08-23 21:48:14.000000000 -0400 29191+++ linux-3.0.8/drivers/isdn/hardware/eicon/message.c 2011-08-23 21:48:14.000000000 -0400
28830@@ -4886,6 +4886,8 @@ static void sig_ind(PLCI *plci) 29192@@ -4886,6 +4886,8 @@ static void sig_ind(PLCI *plci)
28831 dword d; 29193 dword d;
28832 word w; 29194 word w;
@@ -28863,9 +29225,9 @@ diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/message.c linux-3.0.7/drivers
28863 set_group_ind_mask (plci); /* all APPLs within this inc. call are allowed to dial in */ 29225 set_group_ind_mask (plci); /* all APPLs within this inc. call are allowed to dial in */
28864 29226
28865 if(!a->group_optimization_enabled) 29227 if(!a->group_optimization_enabled)
28866diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/mntfunc.c linux-3.0.7/drivers/isdn/hardware/eicon/mntfunc.c 29228diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/mntfunc.c linux-3.0.8/drivers/isdn/hardware/eicon/mntfunc.c
28867--- linux-3.0.7/drivers/isdn/hardware/eicon/mntfunc.c 2011-07-21 22:17:23.000000000 -0400 29229--- linux-3.0.8/drivers/isdn/hardware/eicon/mntfunc.c 2011-07-21 22:17:23.000000000 -0400
28868+++ linux-3.0.7/drivers/isdn/hardware/eicon/mntfunc.c 2011-08-23 21:48:14.000000000 -0400 29230+++ linux-3.0.8/drivers/isdn/hardware/eicon/mntfunc.c 2011-08-23 21:48:14.000000000 -0400
28869@@ -79,6 +79,8 @@ static int DIVA_INIT_FUNCTION connect_di 29231@@ -79,6 +79,8 @@ static int DIVA_INIT_FUNCTION connect_di
28870 IDI_SYNC_REQ req; 29232 IDI_SYNC_REQ req;
28871 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS]; 29233 DESCRIPTOR DIDD_Table[MAX_DESCRIPTORS];
@@ -28875,9 +29237,9 @@ diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/mntfunc.c linux-3.0.7/drivers
28875 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table)); 29237 DIVA_DIDD_Read(DIDD_Table, sizeof(DIDD_Table));
28876 29238
28877 for (x = 0; x < MAX_DESCRIPTORS; x++) { 29239 for (x = 0; x < MAX_DESCRIPTORS; x++) {
28878diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/xdi_adapter.h linux-3.0.7/drivers/isdn/hardware/eicon/xdi_adapter.h 29240diff -urNp linux-3.0.8/drivers/isdn/hardware/eicon/xdi_adapter.h linux-3.0.8/drivers/isdn/hardware/eicon/xdi_adapter.h
28879--- linux-3.0.7/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-07-21 22:17:23.000000000 -0400 29241--- linux-3.0.8/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-07-21 22:17:23.000000000 -0400
28880+++ linux-3.0.7/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-08-23 21:47:55.000000000 -0400 29242+++ linux-3.0.8/drivers/isdn/hardware/eicon/xdi_adapter.h 2011-08-23 21:47:55.000000000 -0400
28881@@ -44,7 +44,7 @@ typedef struct _xdi_mbox_t { 29243@@ -44,7 +44,7 @@ typedef struct _xdi_mbox_t {
28882 typedef struct _diva_os_idi_adapter_interface { 29244 typedef struct _diva_os_idi_adapter_interface {
28883 diva_init_card_proc_t cleanup_adapter_proc; 29245 diva_init_card_proc_t cleanup_adapter_proc;
@@ -28887,9 +29249,9 @@ diff -urNp linux-3.0.7/drivers/isdn/hardware/eicon/xdi_adapter.h linux-3.0.7/dri
28887 29249
28888 typedef struct _diva_os_xdi_adapter { 29250 typedef struct _diva_os_xdi_adapter {
28889 struct list_head link; 29251 struct list_head link;
28890diff -urNp linux-3.0.7/drivers/isdn/i4l/isdn_common.c linux-3.0.7/drivers/isdn/i4l/isdn_common.c 29252diff -urNp linux-3.0.8/drivers/isdn/i4l/isdn_common.c linux-3.0.8/drivers/isdn/i4l/isdn_common.c
28891--- linux-3.0.7/drivers/isdn/i4l/isdn_common.c 2011-07-21 22:17:23.000000000 -0400 29253--- linux-3.0.8/drivers/isdn/i4l/isdn_common.c 2011-07-21 22:17:23.000000000 -0400
28892+++ linux-3.0.7/drivers/isdn/i4l/isdn_common.c 2011-08-23 21:48:14.000000000 -0400 29254+++ linux-3.0.8/drivers/isdn/i4l/isdn_common.c 2011-08-23 21:48:14.000000000 -0400
28893@@ -1286,6 +1286,8 @@ isdn_ioctl(struct file *file, uint cmd, 29255@@ -1286,6 +1286,8 @@ isdn_ioctl(struct file *file, uint cmd,
28894 } iocpar; 29256 } iocpar;
28895 void __user *argp = (void __user *)arg; 29257 void __user *argp = (void __user *)arg;
@@ -28899,9 +29261,9 @@ diff -urNp linux-3.0.7/drivers/isdn/i4l/isdn_common.c linux-3.0.7/drivers/isdn/i
28899 #define name iocpar.name 29261 #define name iocpar.name
28900 #define bname iocpar.bname 29262 #define bname iocpar.bname
28901 #define iocts iocpar.iocts 29263 #define iocts iocpar.iocts
28902diff -urNp linux-3.0.7/drivers/isdn/icn/icn.c linux-3.0.7/drivers/isdn/icn/icn.c 29264diff -urNp linux-3.0.8/drivers/isdn/icn/icn.c linux-3.0.8/drivers/isdn/icn/icn.c
28903--- linux-3.0.7/drivers/isdn/icn/icn.c 2011-07-21 22:17:23.000000000 -0400 29265--- linux-3.0.8/drivers/isdn/icn/icn.c 2011-07-21 22:17:23.000000000 -0400
28904+++ linux-3.0.7/drivers/isdn/icn/icn.c 2011-08-23 21:47:55.000000000 -0400 29266+++ linux-3.0.8/drivers/isdn/icn/icn.c 2011-08-23 21:47:55.000000000 -0400
28905@@ -1045,7 +1045,7 @@ icn_writecmd(const u_char * buf, int len 29267@@ -1045,7 +1045,7 @@ icn_writecmd(const u_char * buf, int len
28906 if (count > len) 29268 if (count > len)
28907 count = len; 29269 count = len;
@@ -28911,9 +29273,9 @@ diff -urNp linux-3.0.7/drivers/isdn/icn/icn.c linux-3.0.7/drivers/isdn/icn/icn.c
28911 return -EFAULT; 29273 return -EFAULT;
28912 } else 29274 } else
28913 memcpy(msg, buf, count); 29275 memcpy(msg, buf, count);
28914diff -urNp linux-3.0.7/drivers/lguest/core.c linux-3.0.7/drivers/lguest/core.c 29276diff -urNp linux-3.0.8/drivers/lguest/core.c linux-3.0.8/drivers/lguest/core.c
28915--- linux-3.0.7/drivers/lguest/core.c 2011-07-21 22:17:23.000000000 -0400 29277--- linux-3.0.8/drivers/lguest/core.c 2011-07-21 22:17:23.000000000 -0400
28916+++ linux-3.0.7/drivers/lguest/core.c 2011-08-23 21:47:55.000000000 -0400 29278+++ linux-3.0.8/drivers/lguest/core.c 2011-08-23 21:47:55.000000000 -0400
28917@@ -92,9 +92,17 @@ static __init int map_switcher(void) 29279@@ -92,9 +92,17 @@ static __init int map_switcher(void)
28918 * it's worked so far. The end address needs +1 because __get_vm_area 29280 * it's worked so far. The end address needs +1 because __get_vm_area
28919 * allocates an extra guard page, so we need space for that. 29281 * allocates an extra guard page, so we need space for that.
@@ -28941,9 +29303,9 @@ diff -urNp linux-3.0.7/drivers/lguest/core.c linux-3.0.7/drivers/lguest/core.c
28941 end_switcher_text - start_switcher_text); 29303 end_switcher_text - start_switcher_text);
28942 29304
28943 printk(KERN_INFO "lguest: mapped switcher at %p\n", 29305 printk(KERN_INFO "lguest: mapped switcher at %p\n",
28944diff -urNp linux-3.0.7/drivers/lguest/x86/core.c linux-3.0.7/drivers/lguest/x86/core.c 29306diff -urNp linux-3.0.8/drivers/lguest/x86/core.c linux-3.0.8/drivers/lguest/x86/core.c
28945--- linux-3.0.7/drivers/lguest/x86/core.c 2011-07-21 22:17:23.000000000 -0400 29307--- linux-3.0.8/drivers/lguest/x86/core.c 2011-07-21 22:17:23.000000000 -0400
28946+++ linux-3.0.7/drivers/lguest/x86/core.c 2011-08-23 21:47:55.000000000 -0400 29308+++ linux-3.0.8/drivers/lguest/x86/core.c 2011-08-23 21:47:55.000000000 -0400
28947@@ -59,7 +59,7 @@ static struct { 29309@@ -59,7 +59,7 @@ static struct {
28948 /* Offset from where switcher.S was compiled to where we've copied it */ 29310 /* Offset from where switcher.S was compiled to where we've copied it */
28949 static unsigned long switcher_offset(void) 29311 static unsigned long switcher_offset(void)
@@ -28985,9 +29347,9 @@ diff -urNp linux-3.0.7/drivers/lguest/x86/core.c linux-3.0.7/drivers/lguest/x86/
28985 lguest_entry.segment = LGUEST_CS; 29347 lguest_entry.segment = LGUEST_CS;
28986 29348
28987 /* 29349 /*
28988diff -urNp linux-3.0.7/drivers/lguest/x86/switcher_32.S linux-3.0.7/drivers/lguest/x86/switcher_32.S 29350diff -urNp linux-3.0.8/drivers/lguest/x86/switcher_32.S linux-3.0.8/drivers/lguest/x86/switcher_32.S
28989--- linux-3.0.7/drivers/lguest/x86/switcher_32.S 2011-07-21 22:17:23.000000000 -0400 29351--- linux-3.0.8/drivers/lguest/x86/switcher_32.S 2011-07-21 22:17:23.000000000 -0400
28990+++ linux-3.0.7/drivers/lguest/x86/switcher_32.S 2011-08-23 21:47:55.000000000 -0400 29352+++ linux-3.0.8/drivers/lguest/x86/switcher_32.S 2011-08-23 21:47:55.000000000 -0400
28991@@ -87,6 +87,7 @@ 29353@@ -87,6 +87,7 @@
28992 #include <asm/page.h> 29354 #include <asm/page.h>
28993 #include <asm/segment.h> 29355 #include <asm/segment.h>
@@ -29046,9 +29408,9 @@ diff -urNp linux-3.0.7/drivers/lguest/x86/switcher_32.S linux-3.0.7/drivers/lgue
29046 29408
29047 // Every interrupt can come to us here 29409 // Every interrupt can come to us here
29048 // But we must truly tell each apart. 29410 // But we must truly tell each apart.
29049diff -urNp linux-3.0.7/drivers/macintosh/macio_asic.c linux-3.0.7/drivers/macintosh/macio_asic.c 29411diff -urNp linux-3.0.8/drivers/macintosh/macio_asic.c linux-3.0.8/drivers/macintosh/macio_asic.c
29050--- linux-3.0.7/drivers/macintosh/macio_asic.c 2011-07-21 22:17:23.000000000 -0400 29412--- linux-3.0.8/drivers/macintosh/macio_asic.c 2011-07-21 22:17:23.000000000 -0400
29051+++ linux-3.0.7/drivers/macintosh/macio_asic.c 2011-10-11 10:44:33.000000000 -0400 29413+++ linux-3.0.8/drivers/macintosh/macio_asic.c 2011-10-11 10:44:33.000000000 -0400
29052@@ -748,7 +748,7 @@ static void __devexit macio_pci_remove(s 29414@@ -748,7 +748,7 @@ static void __devexit macio_pci_remove(s
29053 * MacIO is matched against any Apple ID, it's probe() function 29415 * MacIO is matched against any Apple ID, it's probe() function
29054 * will then decide wether it applies or not 29416 * will then decide wether it applies or not
@@ -29058,9 +29420,66 @@ diff -urNp linux-3.0.7/drivers/macintosh/macio_asic.c linux-3.0.7/drivers/macint
29058 .vendor = PCI_VENDOR_ID_APPLE, 29420 .vendor = PCI_VENDOR_ID_APPLE,
29059 .device = PCI_ANY_ID, 29421 .device = PCI_ANY_ID,
29060 .subvendor = PCI_ANY_ID, 29422 .subvendor = PCI_ANY_ID,
29061diff -urNp linux-3.0.7/drivers/md/dm-ioctl.c linux-3.0.7/drivers/md/dm-ioctl.c 29423diff -urNp linux-3.0.8/drivers/md/dm.c linux-3.0.8/drivers/md/dm.c
29062--- linux-3.0.7/drivers/md/dm-ioctl.c 2011-07-21 22:17:23.000000000 -0400 29424--- linux-3.0.8/drivers/md/dm.c 2011-10-24 08:05:21.000000000 -0400
29063+++ linux-3.0.7/drivers/md/dm-ioctl.c 2011-08-23 21:47:55.000000000 -0400 29425+++ linux-3.0.8/drivers/md/dm.c 2011-08-23 21:47:55.000000000 -0400
29426@@ -164,9 +164,9 @@ struct mapped_device {
29427 /*
29428 * Event handling.
29429 */
29430- atomic_t event_nr;
29431+ atomic_unchecked_t event_nr;
29432 wait_queue_head_t eventq;
29433- atomic_t uevent_seq;
29434+ atomic_unchecked_t uevent_seq;
29435 struct list_head uevent_list;
29436 spinlock_t uevent_lock; /* Protect access to uevent_list */
29437
29438@@ -1842,8 +1842,8 @@ static struct mapped_device *alloc_dev(i
29439 rwlock_init(&md->map_lock);
29440 atomic_set(&md->holders, 1);
29441 atomic_set(&md->open_count, 0);
29442- atomic_set(&md->event_nr, 0);
29443- atomic_set(&md->uevent_seq, 0);
29444+ atomic_set_unchecked(&md->event_nr, 0);
29445+ atomic_set_unchecked(&md->uevent_seq, 0);
29446 INIT_LIST_HEAD(&md->uevent_list);
29447 spin_lock_init(&md->uevent_lock);
29448
29449@@ -1977,7 +1977,7 @@ static void event_callback(void *context
29450
29451 dm_send_uevents(&uevents, &disk_to_dev(md->disk)->kobj);
29452
29453- atomic_inc(&md->event_nr);
29454+ atomic_inc_unchecked(&md->event_nr);
29455 wake_up(&md->eventq);
29456 }
29457
29458@@ -2553,18 +2553,18 @@ int dm_kobject_uevent(struct mapped_devi
29459
29460 uint32_t dm_next_uevent_seq(struct mapped_device *md)
29461 {
29462- return atomic_add_return(1, &md->uevent_seq);
29463+ return atomic_add_return_unchecked(1, &md->uevent_seq);
29464 }
29465
29466 uint32_t dm_get_event_nr(struct mapped_device *md)
29467 {
29468- return atomic_read(&md->event_nr);
29469+ return atomic_read_unchecked(&md->event_nr);
29470 }
29471
29472 int dm_wait_event(struct mapped_device *md, int event_nr)
29473 {
29474 return wait_event_interruptible(md->eventq,
29475- (event_nr != atomic_read(&md->event_nr)));
29476+ (event_nr != atomic_read_unchecked(&md->event_nr)));
29477 }
29478
29479 void dm_uevent_add(struct mapped_device *md, struct list_head *elist)
29480diff -urNp linux-3.0.8/drivers/md/dm-ioctl.c linux-3.0.8/drivers/md/dm-ioctl.c
29481--- linux-3.0.8/drivers/md/dm-ioctl.c 2011-07-21 22:17:23.000000000 -0400
29482+++ linux-3.0.8/drivers/md/dm-ioctl.c 2011-08-23 21:47:55.000000000 -0400
29064@@ -1551,7 +1551,7 @@ static int validate_params(uint cmd, str 29483@@ -1551,7 +1551,7 @@ static int validate_params(uint cmd, str
29065 cmd == DM_LIST_VERSIONS_CMD) 29484 cmd == DM_LIST_VERSIONS_CMD)
29066 return 0; 29485 return 0;
@@ -29070,9 +29489,9 @@ diff -urNp linux-3.0.7/drivers/md/dm-ioctl.c linux-3.0.7/drivers/md/dm-ioctl.c
29070 if (!*param->name) { 29489 if (!*param->name) {
29071 DMWARN("name not supplied when creating device"); 29490 DMWARN("name not supplied when creating device");
29072 return -EINVAL; 29491 return -EINVAL;
29073diff -urNp linux-3.0.7/drivers/md/dm-raid1.c linux-3.0.7/drivers/md/dm-raid1.c 29492diff -urNp linux-3.0.8/drivers/md/dm-raid1.c linux-3.0.8/drivers/md/dm-raid1.c
29074--- linux-3.0.7/drivers/md/dm-raid1.c 2011-07-21 22:17:23.000000000 -0400 29493--- linux-3.0.8/drivers/md/dm-raid1.c 2011-07-21 22:17:23.000000000 -0400
29075+++ linux-3.0.7/drivers/md/dm-raid1.c 2011-08-23 21:47:55.000000000 -0400 29494+++ linux-3.0.8/drivers/md/dm-raid1.c 2011-08-23 21:47:55.000000000 -0400
29076@@ -40,7 +40,7 @@ enum dm_raid1_error { 29495@@ -40,7 +40,7 @@ enum dm_raid1_error {
29077 29496
29078 struct mirror { 29497 struct mirror {
@@ -29145,9 +29564,9 @@ diff -urNp linux-3.0.7/drivers/md/dm-raid1.c linux-3.0.7/drivers/md/dm-raid1.c
29145 return 'A'; 29564 return 'A';
29146 29565
29147 return (test_bit(DM_RAID1_FLUSH_ERROR, &(m->error_type))) ? 'F' : 29566 return (test_bit(DM_RAID1_FLUSH_ERROR, &(m->error_type))) ? 'F' :
29148diff -urNp linux-3.0.7/drivers/md/dm-stripe.c linux-3.0.7/drivers/md/dm-stripe.c 29567diff -urNp linux-3.0.8/drivers/md/dm-stripe.c linux-3.0.8/drivers/md/dm-stripe.c
29149--- linux-3.0.7/drivers/md/dm-stripe.c 2011-07-21 22:17:23.000000000 -0400 29568--- linux-3.0.8/drivers/md/dm-stripe.c 2011-07-21 22:17:23.000000000 -0400
29150+++ linux-3.0.7/drivers/md/dm-stripe.c 2011-08-23 21:47:55.000000000 -0400 29569+++ linux-3.0.8/drivers/md/dm-stripe.c 2011-08-23 21:47:55.000000000 -0400
29151@@ -20,7 +20,7 @@ struct stripe { 29570@@ -20,7 +20,7 @@ struct stripe {
29152 struct dm_dev *dev; 29571 struct dm_dev *dev;
29153 sector_t physical_start; 29572 sector_t physical_start;
@@ -29186,9 +29605,9 @@ diff -urNp linux-3.0.7/drivers/md/dm-stripe.c linux-3.0.7/drivers/md/dm-stripe.c
29186 DM_IO_ERROR_THRESHOLD) 29605 DM_IO_ERROR_THRESHOLD)
29187 schedule_work(&sc->trigger_event); 29606 schedule_work(&sc->trigger_event);
29188 } 29607 }
29189diff -urNp linux-3.0.7/drivers/md/dm-table.c linux-3.0.7/drivers/md/dm-table.c 29608diff -urNp linux-3.0.8/drivers/md/dm-table.c linux-3.0.8/drivers/md/dm-table.c
29190--- linux-3.0.7/drivers/md/dm-table.c 2011-10-17 23:17:09.000000000 -0400 29609--- linux-3.0.8/drivers/md/dm-table.c 2011-10-24 08:05:32.000000000 -0400
29191+++ linux-3.0.7/drivers/md/dm-table.c 2011-10-17 23:17:19.000000000 -0400 29610+++ linux-3.0.8/drivers/md/dm-table.c 2011-10-17 23:17:19.000000000 -0400
29192@@ -390,7 +390,7 @@ static int device_area_is_invalid(struct 29611@@ -390,7 +390,7 @@ static int device_area_is_invalid(struct
29193 if (!dev_size) 29612 if (!dev_size)
29194 return 0; 29613 return 0;
@@ -29198,66 +29617,9 @@ diff -urNp linux-3.0.7/drivers/md/dm-table.c linux-3.0.7/drivers/md/dm-table.c
29198 DMWARN("%s: %s too small for target: " 29617 DMWARN("%s: %s too small for target: "
29199 "start=%llu, len=%llu, dev_size=%llu", 29618 "start=%llu, len=%llu, dev_size=%llu",
29200 dm_device_name(ti->table->md), bdevname(bdev, b), 29619 dm_device_name(ti->table->md), bdevname(bdev, b),
29201diff -urNp linux-3.0.7/drivers/md/dm.c linux-3.0.7/drivers/md/dm.c 29620diff -urNp linux-3.0.8/drivers/md/md.c linux-3.0.8/drivers/md/md.c
29202--- linux-3.0.7/drivers/md/dm.c 2011-09-02 18:11:21.000000000 -0400 29621--- linux-3.0.8/drivers/md/md.c 2011-10-24 08:05:32.000000000 -0400
29203+++ linux-3.0.7/drivers/md/dm.c 2011-08-23 21:47:55.000000000 -0400 29622+++ linux-3.0.8/drivers/md/md.c 2011-10-17 23:17:19.000000000 -0400
29204@@ -164,9 +164,9 @@ struct mapped_device {
29205 /*
29206 * Event handling.
29207 */
29208- atomic_t event_nr;
29209+ atomic_unchecked_t event_nr;
29210 wait_queue_head_t eventq;
29211- atomic_t uevent_seq;
29212+ atomic_unchecked_t uevent_seq;
29213 struct list_head uevent_list;
29214 spinlock_t uevent_lock; /* Protect access to uevent_list */
29215
29216@@ -1842,8 +1842,8 @@ static struct mapped_device *alloc_dev(i
29217 rwlock_init(&md->map_lock);
29218 atomic_set(&md->holders, 1);
29219 atomic_set(&md->open_count, 0);
29220- atomic_set(&md->event_nr, 0);
29221- atomic_set(&md->uevent_seq, 0);
29222+ atomic_set_unchecked(&md->event_nr, 0);
29223+ atomic_set_unchecked(&md->uevent_seq, 0);
29224 INIT_LIST_HEAD(&md->uevent_list);
29225 spin_lock_init(&md->uevent_lock);
29226
29227@@ -1977,7 +1977,7 @@ static void event_callback(void *context
29228
29229 dm_send_uevents(&uevents, &disk_to_dev(md->disk)->kobj);
29230
29231- atomic_inc(&md->event_nr);
29232+ atomic_inc_unchecked(&md->event_nr);
29233 wake_up(&md->eventq);
29234 }
29235
29236@@ -2553,18 +2553,18 @@ int dm_kobject_uevent(struct mapped_devi
29237
29238 uint32_t dm_next_uevent_seq(struct mapped_device *md)
29239 {
29240- return atomic_add_return(1, &md->uevent_seq);
29241+ return atomic_add_return_unchecked(1, &md->uevent_seq);
29242 }
29243
29244 uint32_t dm_get_event_nr(struct mapped_device *md)
29245 {
29246- return atomic_read(&md->event_nr);
29247+ return atomic_read_unchecked(&md->event_nr);
29248 }
29249
29250 int dm_wait_event(struct mapped_device *md, int event_nr)
29251 {
29252 return wait_event_interruptible(md->eventq,
29253- (event_nr != atomic_read(&md->event_nr)));
29254+ (event_nr != atomic_read_unchecked(&md->event_nr)));
29255 }
29256
29257 void dm_uevent_add(struct mapped_device *md, struct list_head *elist)
29258diff -urNp linux-3.0.7/drivers/md/md.c linux-3.0.7/drivers/md/md.c
29259--- linux-3.0.7/drivers/md/md.c 2011-10-17 23:17:09.000000000 -0400
29260+++ linux-3.0.7/drivers/md/md.c 2011-10-17 23:17:19.000000000 -0400
29261@@ -231,10 +231,10 @@ EXPORT_SYMBOL_GPL(bio_clone_mddev); 29623@@ -231,10 +231,10 @@ EXPORT_SYMBOL_GPL(bio_clone_mddev);
29262 * start build, activate spare 29624 * start build, activate spare
29263 */ 29625 */
@@ -29372,9 +29734,9 @@ diff -urNp linux-3.0.7/drivers/md/md.c linux-3.0.7/drivers/md/md.c
29372 /* sync IO will cause sync_io to increase before the disk_stats 29734 /* sync IO will cause sync_io to increase before the disk_stats
29373 * as sync_io is counted when a request starts, and 29735 * as sync_io is counted when a request starts, and
29374 * disk_stats is counted when it completes. 29736 * disk_stats is counted when it completes.
29375diff -urNp linux-3.0.7/drivers/md/md.h linux-3.0.7/drivers/md/md.h 29737diff -urNp linux-3.0.8/drivers/md/md.h linux-3.0.8/drivers/md/md.h
29376--- linux-3.0.7/drivers/md/md.h 2011-10-17 23:17:09.000000000 -0400 29738--- linux-3.0.8/drivers/md/md.h 2011-10-24 08:05:32.000000000 -0400
29377+++ linux-3.0.7/drivers/md/md.h 2011-10-17 23:17:19.000000000 -0400 29739+++ linux-3.0.8/drivers/md/md.h 2011-10-17 23:17:19.000000000 -0400
29378@@ -97,13 +97,13 @@ struct mdk_rdev_s 29740@@ -97,13 +97,13 @@ struct mdk_rdev_s
29379 * only maintained for arrays that 29741 * only maintained for arrays that
29380 * support hot removal 29742 * support hot removal
@@ -29400,30 +29762,9 @@ diff -urNp linux-3.0.7/drivers/md/md.h linux-3.0.7/drivers/md/md.h
29400 } 29762 }
29401 29763
29402 struct mdk_personality 29764 struct mdk_personality
29403diff -urNp linux-3.0.7/drivers/md/raid1.c linux-3.0.7/drivers/md/raid1.c 29765diff -urNp linux-3.0.8/drivers/md/raid10.c linux-3.0.8/drivers/md/raid10.c
29404--- linux-3.0.7/drivers/md/raid1.c 2011-10-17 23:17:09.000000000 -0400 29766--- linux-3.0.8/drivers/md/raid10.c 2011-10-24 08:05:32.000000000 -0400
29405+++ linux-3.0.7/drivers/md/raid1.c 2011-10-17 23:17:19.000000000 -0400 29767+++ linux-3.0.8/drivers/md/raid10.c 2011-10-17 23:17:19.000000000 -0400
29406@@ -1263,7 +1263,7 @@ static int fix_sync_read_error(r1bio_t *
29407 rdev_dec_pending(rdev, mddev);
29408 md_error(mddev, rdev);
29409 } else
29410- atomic_add(s, &rdev->corrected_errors);
29411+ atomic_add_unchecked(s, &rdev->corrected_errors);
29412 }
29413 d = start;
29414 while (d != r1_bio->read_disk) {
29415@@ -1492,7 +1492,7 @@ static void fix_read_error(conf_t *conf,
29416 /* Well, this device is dead */
29417 md_error(mddev, rdev);
29418 else {
29419- atomic_add(s, &rdev->corrected_errors);
29420+ atomic_add_unchecked(s, &rdev->corrected_errors);
29421 printk(KERN_INFO
29422 "md/raid1:%s: read error corrected "
29423 "(%d sectors at %llu on %s)\n",
29424diff -urNp linux-3.0.7/drivers/md/raid10.c linux-3.0.7/drivers/md/raid10.c
29425--- linux-3.0.7/drivers/md/raid10.c 2011-10-17 23:17:09.000000000 -0400
29426+++ linux-3.0.7/drivers/md/raid10.c 2011-10-17 23:17:19.000000000 -0400
29427@@ -1186,7 +1186,7 @@ static void end_sync_read(struct bio *bi 29768@@ -1186,7 +1186,7 @@ static void end_sync_read(struct bio *bi
29428 if (test_bit(BIO_UPTODATE, &bio->bi_flags)) 29769 if (test_bit(BIO_UPTODATE, &bio->bi_flags))
29429 set_bit(R10BIO_Uptodate, &r10_bio->state); 29770 set_bit(R10BIO_Uptodate, &r10_bio->state);
@@ -29483,9 +29824,30 @@ diff -urNp linux-3.0.7/drivers/md/raid10.c linux-3.0.7/drivers/md/raid10.c
29483 if (sync_page_io(rdev, 29824 if (sync_page_io(rdev,
29484 r10_bio->devs[sl].addr + 29825 r10_bio->devs[sl].addr +
29485 sect, 29826 sect,
29486diff -urNp linux-3.0.7/drivers/md/raid5.c linux-3.0.7/drivers/md/raid5.c 29827diff -urNp linux-3.0.8/drivers/md/raid1.c linux-3.0.8/drivers/md/raid1.c
29487--- linux-3.0.7/drivers/md/raid5.c 2011-10-17 23:17:09.000000000 -0400 29828--- linux-3.0.8/drivers/md/raid1.c 2011-10-24 08:05:32.000000000 -0400
29488+++ linux-3.0.7/drivers/md/raid5.c 2011-10-17 23:17:19.000000000 -0400 29829+++ linux-3.0.8/drivers/md/raid1.c 2011-10-17 23:17:19.000000000 -0400
29830@@ -1263,7 +1263,7 @@ static int fix_sync_read_error(r1bio_t *
29831 rdev_dec_pending(rdev, mddev);
29832 md_error(mddev, rdev);
29833 } else
29834- atomic_add(s, &rdev->corrected_errors);
29835+ atomic_add_unchecked(s, &rdev->corrected_errors);
29836 }
29837 d = start;
29838 while (d != r1_bio->read_disk) {
29839@@ -1492,7 +1492,7 @@ static void fix_read_error(conf_t *conf,
29840 /* Well, this device is dead */
29841 md_error(mddev, rdev);
29842 else {
29843- atomic_add(s, &rdev->corrected_errors);
29844+ atomic_add_unchecked(s, &rdev->corrected_errors);
29845 printk(KERN_INFO
29846 "md/raid1:%s: read error corrected "
29847 "(%d sectors at %llu on %s)\n",
29848diff -urNp linux-3.0.8/drivers/md/raid5.c linux-3.0.8/drivers/md/raid5.c
29849--- linux-3.0.8/drivers/md/raid5.c 2011-10-24 08:05:32.000000000 -0400
29850+++ linux-3.0.8/drivers/md/raid5.c 2011-10-17 23:17:19.000000000 -0400
29489@@ -550,7 +550,7 @@ static void ops_run_io(struct stripe_hea 29851@@ -550,7 +550,7 @@ static void ops_run_io(struct stripe_hea
29490 bi->bi_next = NULL; 29852 bi->bi_next = NULL;
29491 if ((rw & WRITE) && 29853 if ((rw & WRITE) &&
@@ -29531,9 +29893,9 @@ diff -urNp linux-3.0.7/drivers/md/raid5.c linux-3.0.7/drivers/md/raid5.c
29531 29893
29532 chunk_offset = sector_div(new_sector, sectors_per_chunk); 29894 chunk_offset = sector_div(new_sector, sectors_per_chunk);
29533 stripe = new_sector; 29895 stripe = new_sector;
29534diff -urNp linux-3.0.7/drivers/media/common/saa7146_hlp.c linux-3.0.7/drivers/media/common/saa7146_hlp.c 29896diff -urNp linux-3.0.8/drivers/media/common/saa7146_hlp.c linux-3.0.8/drivers/media/common/saa7146_hlp.c
29535--- linux-3.0.7/drivers/media/common/saa7146_hlp.c 2011-07-21 22:17:23.000000000 -0400 29897--- linux-3.0.8/drivers/media/common/saa7146_hlp.c 2011-07-21 22:17:23.000000000 -0400
29536+++ linux-3.0.7/drivers/media/common/saa7146_hlp.c 2011-08-23 21:48:14.000000000 -0400 29898+++ linux-3.0.8/drivers/media/common/saa7146_hlp.c 2011-08-23 21:48:14.000000000 -0400
29537@@ -353,6 +353,8 @@ static void calculate_clipping_registers 29899@@ -353,6 +353,8 @@ static void calculate_clipping_registers
29538 29900
29539 int x[32], y[32], w[32], h[32]; 29901 int x[32], y[32], w[32], h[32];
@@ -29543,9 +29905,9 @@ diff -urNp linux-3.0.7/drivers/media/common/saa7146_hlp.c linux-3.0.7/drivers/me
29543 /* clear out memory */ 29905 /* clear out memory */
29544 memset(&line_list[0], 0x00, sizeof(u32)*32); 29906 memset(&line_list[0], 0x00, sizeof(u32)*32);
29545 memset(&pixel_list[0], 0x00, sizeof(u32)*32); 29907 memset(&pixel_list[0], 0x00, sizeof(u32)*32);
29546diff -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 29908diff -urNp linux-3.0.8/drivers/media/dvb/dvb-core/dvb_ca_en50221.c linux-3.0.8/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
29547--- linux-3.0.7/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-07-21 22:17:23.000000000 -0400 29909--- linux-3.0.8/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-07-21 22:17:23.000000000 -0400
29548+++ linux-3.0.7/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-08-23 21:48:14.000000000 -0400 29910+++ linux-3.0.8/drivers/media/dvb/dvb-core/dvb_ca_en50221.c 2011-08-23 21:48:14.000000000 -0400
29549@@ -590,6 +590,8 @@ static int dvb_ca_en50221_read_data(stru 29911@@ -590,6 +590,8 @@ static int dvb_ca_en50221_read_data(stru
29550 u8 buf[HOST_LINK_BUF_SIZE]; 29912 u8 buf[HOST_LINK_BUF_SIZE];
29551 int i; 29913 int i;
@@ -29564,9 +29926,9 @@ diff -urNp linux-3.0.7/drivers/media/dvb/dvb-core/dvb_ca_en50221.c linux-3.0.7/d
29564 dprintk("%s\n", __func__); 29926 dprintk("%s\n", __func__);
29565 29927
29566 /* Incoming packet has a 2 byte header. hdr[0] = slot_id, hdr[1] = connection_id */ 29928 /* Incoming packet has a 2 byte header. hdr[0] = slot_id, hdr[1] = connection_id */
29567diff -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 29929diff -urNp linux-3.0.8/drivers/media/dvb/dvb-core/dvb_demux.h linux-3.0.8/drivers/media/dvb/dvb-core/dvb_demux.h
29568--- linux-3.0.7/drivers/media/dvb/dvb-core/dvb_demux.h 2011-07-21 22:17:23.000000000 -0400 29930--- linux-3.0.8/drivers/media/dvb/dvb-core/dvb_demux.h 2011-07-21 22:17:23.000000000 -0400
29569+++ linux-3.0.7/drivers/media/dvb/dvb-core/dvb_demux.h 2011-08-24 18:24:40.000000000 -0400 29931+++ linux-3.0.8/drivers/media/dvb/dvb-core/dvb_demux.h 2011-08-24 18:24:40.000000000 -0400
29570@@ -68,12 +68,12 @@ struct dvb_demux_feed { 29932@@ -68,12 +68,12 @@ struct dvb_demux_feed {
29571 union { 29933 union {
29572 struct dmx_ts_feed ts; 29934 struct dmx_ts_feed ts;
@@ -29582,9 +29944,9 @@ diff -urNp linux-3.0.7/drivers/media/dvb/dvb-core/dvb_demux.h linux-3.0.7/driver
29582 29944
29583 struct dvb_demux *demux; 29945 struct dvb_demux *demux;
29584 void *priv; 29946 void *priv;
29585diff -urNp linux-3.0.7/drivers/media/dvb/dvb-core/dvbdev.c linux-3.0.7/drivers/media/dvb/dvb-core/dvbdev.c 29947diff -urNp linux-3.0.8/drivers/media/dvb/dvb-core/dvbdev.c linux-3.0.8/drivers/media/dvb/dvb-core/dvbdev.c
29586--- linux-3.0.7/drivers/media/dvb/dvb-core/dvbdev.c 2011-07-21 22:17:23.000000000 -0400 29948--- linux-3.0.8/drivers/media/dvb/dvb-core/dvbdev.c 2011-07-21 22:17:23.000000000 -0400
29587+++ linux-3.0.7/drivers/media/dvb/dvb-core/dvbdev.c 2011-08-24 18:24:19.000000000 -0400 29949+++ linux-3.0.8/drivers/media/dvb/dvb-core/dvbdev.c 2011-08-24 18:24:19.000000000 -0400
29588@@ -192,7 +192,7 @@ int dvb_register_device(struct dvb_adapt 29950@@ -192,7 +192,7 @@ int dvb_register_device(struct dvb_adapt
29589 const struct dvb_device *template, void *priv, int type) 29951 const struct dvb_device *template, void *priv, int type)
29590 { 29952 {
@@ -29594,9 +29956,9 @@ diff -urNp linux-3.0.7/drivers/media/dvb/dvb-core/dvbdev.c linux-3.0.7/drivers/m
29594 struct device *clsdev; 29956 struct device *clsdev;
29595 int minor; 29957 int minor;
29596 int id; 29958 int id;
29597diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/cxusb.c linux-3.0.7/drivers/media/dvb/dvb-usb/cxusb.c 29959diff -urNp linux-3.0.8/drivers/media/dvb/dvb-usb/cxusb.c linux-3.0.8/drivers/media/dvb/dvb-usb/cxusb.c
29598--- linux-3.0.7/drivers/media/dvb/dvb-usb/cxusb.c 2011-07-21 22:17:23.000000000 -0400 29960--- linux-3.0.8/drivers/media/dvb/dvb-usb/cxusb.c 2011-07-21 22:17:23.000000000 -0400
29599+++ linux-3.0.7/drivers/media/dvb/dvb-usb/cxusb.c 2011-08-24 18:26:33.000000000 -0400 29961+++ linux-3.0.8/drivers/media/dvb/dvb-usb/cxusb.c 2011-08-24 18:26:33.000000000 -0400
29600@@ -1059,7 +1059,7 @@ static struct dib0070_config dib7070p_di 29962@@ -1059,7 +1059,7 @@ static struct dib0070_config dib7070p_di
29601 struct dib0700_adapter_state { 29963 struct dib0700_adapter_state {
29602 int (*set_param_save) (struct dvb_frontend *, 29964 int (*set_param_save) (struct dvb_frontend *,
@@ -29606,9 +29968,9 @@ diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/cxusb.c linux-3.0.7/drivers/med
29606 29968
29607 static int dib7070_set_param_override(struct dvb_frontend *fe, 29969 static int dib7070_set_param_override(struct dvb_frontend *fe,
29608 struct dvb_frontend_parameters *fep) 29970 struct dvb_frontend_parameters *fep)
29609diff -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 29971diff -urNp linux-3.0.8/drivers/media/dvb/dvb-usb/dib0700_core.c linux-3.0.8/drivers/media/dvb/dvb-usb/dib0700_core.c
29610--- linux-3.0.7/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-07-21 22:17:23.000000000 -0400 29972--- linux-3.0.8/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-07-21 22:17:23.000000000 -0400
29611+++ linux-3.0.7/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-08-23 21:48:14.000000000 -0400 29973+++ linux-3.0.8/drivers/media/dvb/dvb-usb/dib0700_core.c 2011-08-23 21:48:14.000000000 -0400
29612@@ -434,6 +434,8 @@ int dib0700_download_firmware(struct usb 29974@@ -434,6 +434,8 @@ int dib0700_download_firmware(struct usb
29613 if (!buf) 29975 if (!buf)
29614 return -ENOMEM; 29976 return -ENOMEM;
@@ -29618,9 +29980,9 @@ diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/dib0700_core.c linux-3.0.7/driv
29618 while ((ret = dvb_usb_get_hexline(fw, &hx, &pos)) > 0) { 29980 while ((ret = dvb_usb_get_hexline(fw, &hx, &pos)) > 0) {
29619 deb_fwdata("writing to address 0x%08x (buffer: 0x%02x %02x)\n", 29981 deb_fwdata("writing to address 0x%08x (buffer: 0x%02x %02x)\n",
29620 hx.addr, hx.len, hx.chk); 29982 hx.addr, hx.len, hx.chk);
29621diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/dibusb.h linux-3.0.7/drivers/media/dvb/dvb-usb/dibusb.h 29983diff -urNp linux-3.0.8/drivers/media/dvb/dvb-usb/dibusb.h linux-3.0.8/drivers/media/dvb/dvb-usb/dibusb.h
29622--- linux-3.0.7/drivers/media/dvb/dvb-usb/dibusb.h 2011-07-21 22:17:23.000000000 -0400 29984--- linux-3.0.8/drivers/media/dvb/dvb-usb/dibusb.h 2011-07-21 22:17:23.000000000 -0400
29623+++ linux-3.0.7/drivers/media/dvb/dvb-usb/dibusb.h 2011-08-24 18:27:27.000000000 -0400 29985+++ linux-3.0.8/drivers/media/dvb/dvb-usb/dibusb.h 2011-08-24 18:27:27.000000000 -0400
29624@@ -97,7 +97,7 @@ 29986@@ -97,7 +97,7 @@
29625 #define DIBUSB_IOCTL_CMD_DISABLE_STREAM 0x02 29987 #define DIBUSB_IOCTL_CMD_DISABLE_STREAM 0x02
29626 29988
@@ -29630,9 +29992,9 @@ diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/dibusb.h linux-3.0.7/drivers/me
29630 int mt2060_present; 29992 int mt2060_present;
29631 u8 tuner_addr; 29993 u8 tuner_addr;
29632 }; 29994 };
29633diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/dw2102.c linux-3.0.7/drivers/media/dvb/dvb-usb/dw2102.c 29995diff -urNp linux-3.0.8/drivers/media/dvb/dvb-usb/dw2102.c linux-3.0.8/drivers/media/dvb/dvb-usb/dw2102.c
29634--- linux-3.0.7/drivers/media/dvb/dvb-usb/dw2102.c 2011-07-21 22:17:23.000000000 -0400 29996--- linux-3.0.8/drivers/media/dvb/dvb-usb/dw2102.c 2011-07-21 22:17:23.000000000 -0400
29635+++ linux-3.0.7/drivers/media/dvb/dvb-usb/dw2102.c 2011-08-24 18:27:45.000000000 -0400 29997+++ linux-3.0.8/drivers/media/dvb/dvb-usb/dw2102.c 2011-08-24 18:27:45.000000000 -0400
29636@@ -95,7 +95,7 @@ struct su3000_state { 29998@@ -95,7 +95,7 @@ struct su3000_state {
29637 29999
29638 struct s6x0_state { 30000 struct s6x0_state {
@@ -29642,9 +30004,9 @@ diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/dw2102.c linux-3.0.7/drivers/me
29642 30004
29643 /* debug */ 30005 /* debug */
29644 static int dvb_usb_dw2102_debug; 30006 static int dvb_usb_dw2102_debug;
29645diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/lmedm04.c linux-3.0.7/drivers/media/dvb/dvb-usb/lmedm04.c 30007diff -urNp linux-3.0.8/drivers/media/dvb/dvb-usb/lmedm04.c linux-3.0.8/drivers/media/dvb/dvb-usb/lmedm04.c
29646--- linux-3.0.7/drivers/media/dvb/dvb-usb/lmedm04.c 2011-07-21 22:17:23.000000000 -0400 30008--- linux-3.0.8/drivers/media/dvb/dvb-usb/lmedm04.c 2011-07-21 22:17:23.000000000 -0400
29647+++ linux-3.0.7/drivers/media/dvb/dvb-usb/lmedm04.c 2011-08-23 21:48:14.000000000 -0400 30009+++ linux-3.0.8/drivers/media/dvb/dvb-usb/lmedm04.c 2011-08-23 21:48:14.000000000 -0400
29648@@ -742,6 +742,7 @@ static int lme2510_download_firmware(str 30010@@ -742,6 +742,7 @@ static int lme2510_download_firmware(str
29649 usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), 30011 usb_control_msg(dev, usb_rcvctrlpipe(dev, 0),
29650 0x06, 0x80, 0x0200, 0x00, data, 0x0109, 1000); 30012 0x06, 0x80, 0x0200, 0x00, data, 0x0109, 1000);
@@ -29662,9 +30024,9 @@ diff -urNp linux-3.0.7/drivers/media/dvb/dvb-usb/lmedm04.c linux-3.0.7/drivers/m
29662 data[0] = 0x0a; 30024 data[0] = 0x0a;
29663 len_in = 1; 30025 len_in = 1;
29664 info("FRM Firmware Cold Reset"); 30026 info("FRM Firmware Cold Reset");
29665diff -urNp linux-3.0.7/drivers/media/dvb/frontends/dib3000.h linux-3.0.7/drivers/media/dvb/frontends/dib3000.h 30027diff -urNp linux-3.0.8/drivers/media/dvb/frontends/dib3000.h linux-3.0.8/drivers/media/dvb/frontends/dib3000.h
29666--- linux-3.0.7/drivers/media/dvb/frontends/dib3000.h 2011-07-21 22:17:23.000000000 -0400 30028--- linux-3.0.8/drivers/media/dvb/frontends/dib3000.h 2011-07-21 22:17:23.000000000 -0400
29667+++ linux-3.0.7/drivers/media/dvb/frontends/dib3000.h 2011-10-07 19:07:39.000000000 -0400 30029+++ linux-3.0.8/drivers/media/dvb/frontends/dib3000.h 2011-10-07 19:07:39.000000000 -0400
29668@@ -40,10 +40,11 @@ struct dib_fe_xfer_ops 30030@@ -40,10 +40,11 @@ struct dib_fe_xfer_ops
29669 int (*pid_ctrl)(struct dvb_frontend *fe, int index, int pid, int onoff); 30031 int (*pid_ctrl)(struct dvb_frontend *fe, int index, int pid, int onoff);
29670 int (*tuner_pass_ctrl)(struct dvb_frontend *fe, int onoff, u8 pll_ctrl); 30032 int (*tuner_pass_ctrl)(struct dvb_frontend *fe, int onoff, u8 pll_ctrl);
@@ -29678,9 +30040,9 @@ diff -urNp linux-3.0.7/drivers/media/dvb/frontends/dib3000.h linux-3.0.7/drivers
29678 #else 30040 #else
29679 static inline struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config, 30041 static inline struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config,
29680 struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops) 30042 struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops)
29681diff -urNp linux-3.0.7/drivers/media/dvb/frontends/dib3000mb.c linux-3.0.7/drivers/media/dvb/frontends/dib3000mb.c 30043diff -urNp linux-3.0.8/drivers/media/dvb/frontends/dib3000mb.c linux-3.0.8/drivers/media/dvb/frontends/dib3000mb.c
29682--- linux-3.0.7/drivers/media/dvb/frontends/dib3000mb.c 2011-07-21 22:17:23.000000000 -0400 30044--- linux-3.0.8/drivers/media/dvb/frontends/dib3000mb.c 2011-07-21 22:17:23.000000000 -0400
29683+++ linux-3.0.7/drivers/media/dvb/frontends/dib3000mb.c 2011-08-24 18:28:42.000000000 -0400 30045+++ linux-3.0.8/drivers/media/dvb/frontends/dib3000mb.c 2011-08-24 18:28:42.000000000 -0400
29684@@ -756,7 +756,7 @@ static int dib3000mb_tuner_pass_ctrl(str 30046@@ -756,7 +756,7 @@ static int dib3000mb_tuner_pass_ctrl(str
29685 static struct dvb_frontend_ops dib3000mb_ops; 30047 static struct dvb_frontend_ops dib3000mb_ops;
29686 30048
@@ -29690,9 +30052,9 @@ diff -urNp linux-3.0.7/drivers/media/dvb/frontends/dib3000mb.c linux-3.0.7/drive
29690 { 30052 {
29691 struct dib3000_state* state = NULL; 30053 struct dib3000_state* state = NULL;
29692 30054
29693diff -urNp linux-3.0.7/drivers/media/dvb/frontends/mb86a16.c linux-3.0.7/drivers/media/dvb/frontends/mb86a16.c 30055diff -urNp linux-3.0.8/drivers/media/dvb/frontends/mb86a16.c linux-3.0.8/drivers/media/dvb/frontends/mb86a16.c
29694--- linux-3.0.7/drivers/media/dvb/frontends/mb86a16.c 2011-07-21 22:17:23.000000000 -0400 30056--- linux-3.0.8/drivers/media/dvb/frontends/mb86a16.c 2011-07-21 22:17:23.000000000 -0400
29695+++ linux-3.0.7/drivers/media/dvb/frontends/mb86a16.c 2011-08-23 21:48:14.000000000 -0400 30057+++ linux-3.0.8/drivers/media/dvb/frontends/mb86a16.c 2011-08-23 21:48:14.000000000 -0400
29696@@ -1060,6 +1060,8 @@ static int mb86a16_set_fe(struct mb86a16 30058@@ -1060,6 +1060,8 @@ static int mb86a16_set_fe(struct mb86a16
29697 int ret = -1; 30059 int ret = -1;
29698 int sync; 30060 int sync;
@@ -29702,9 +30064,9 @@ diff -urNp linux-3.0.7/drivers/media/dvb/frontends/mb86a16.c linux-3.0.7/drivers
29702 dprintk(verbose, MB86A16_INFO, 1, "freq=%d Mhz, symbrt=%d Ksps", state->frequency, state->srate); 30064 dprintk(verbose, MB86A16_INFO, 1, "freq=%d Mhz, symbrt=%d Ksps", state->frequency, state->srate);
29703 30065
29704 fcp = 3000; 30066 fcp = 3000;
29705diff -urNp linux-3.0.7/drivers/media/dvb/frontends/or51211.c linux-3.0.7/drivers/media/dvb/frontends/or51211.c 30067diff -urNp linux-3.0.8/drivers/media/dvb/frontends/or51211.c linux-3.0.8/drivers/media/dvb/frontends/or51211.c
29706--- linux-3.0.7/drivers/media/dvb/frontends/or51211.c 2011-07-21 22:17:23.000000000 -0400 30068--- linux-3.0.8/drivers/media/dvb/frontends/or51211.c 2011-07-21 22:17:23.000000000 -0400
29707+++ linux-3.0.7/drivers/media/dvb/frontends/or51211.c 2011-08-23 21:48:14.000000000 -0400 30069+++ linux-3.0.8/drivers/media/dvb/frontends/or51211.c 2011-08-23 21:48:14.000000000 -0400
29708@@ -113,6 +113,8 @@ static int or51211_load_firmware (struct 30070@@ -113,6 +113,8 @@ static int or51211_load_firmware (struct
29709 u8 tudata[585]; 30071 u8 tudata[585];
29710 int i; 30072 int i;
@@ -29714,9 +30076,9 @@ diff -urNp linux-3.0.7/drivers/media/dvb/frontends/or51211.c linux-3.0.7/drivers
29714 dprintk("Firmware is %zd bytes\n",fw->size); 30076 dprintk("Firmware is %zd bytes\n",fw->size);
29715 30077
29716 /* Get eprom data */ 30078 /* Get eprom data */
29717diff -urNp linux-3.0.7/drivers/media/dvb/ngene/ngene-cards.c linux-3.0.7/drivers/media/dvb/ngene/ngene-cards.c 30079diff -urNp linux-3.0.8/drivers/media/dvb/ngene/ngene-cards.c linux-3.0.8/drivers/media/dvb/ngene/ngene-cards.c
29718--- linux-3.0.7/drivers/media/dvb/ngene/ngene-cards.c 2011-07-21 22:17:23.000000000 -0400 30080--- linux-3.0.8/drivers/media/dvb/ngene/ngene-cards.c 2011-07-21 22:17:23.000000000 -0400
29719+++ linux-3.0.7/drivers/media/dvb/ngene/ngene-cards.c 2011-10-11 10:44:33.000000000 -0400 30081+++ linux-3.0.8/drivers/media/dvb/ngene/ngene-cards.c 2011-10-11 10:44:33.000000000 -0400
29720@@ -379,7 +379,7 @@ static struct ngene_info ngene_info_m780 30082@@ -379,7 +379,7 @@ static struct ngene_info ngene_info_m780
29721 30083
29722 /****************************************************************************/ 30084 /****************************************************************************/
@@ -29726,9 +30088,9 @@ diff -urNp linux-3.0.7/drivers/media/dvb/ngene/ngene-cards.c linux-3.0.7/drivers
29726 NGENE_ID(0x18c3, 0xabc3, ngene_info_cineS2), 30088 NGENE_ID(0x18c3, 0xabc3, ngene_info_cineS2),
29727 NGENE_ID(0x18c3, 0xabc4, ngene_info_cineS2), 30089 NGENE_ID(0x18c3, 0xabc4, ngene_info_cineS2),
29728 NGENE_ID(0x18c3, 0xdb01, ngene_info_satixS2), 30090 NGENE_ID(0x18c3, 0xdb01, ngene_info_satixS2),
29729diff -urNp linux-3.0.7/drivers/media/video/cx18/cx18-driver.c linux-3.0.7/drivers/media/video/cx18/cx18-driver.c 30091diff -urNp linux-3.0.8/drivers/media/video/cx18/cx18-driver.c linux-3.0.8/drivers/media/video/cx18/cx18-driver.c
29730--- linux-3.0.7/drivers/media/video/cx18/cx18-driver.c 2011-07-21 22:17:23.000000000 -0400 30092--- linux-3.0.8/drivers/media/video/cx18/cx18-driver.c 2011-07-21 22:17:23.000000000 -0400
29731+++ linux-3.0.7/drivers/media/video/cx18/cx18-driver.c 2011-08-23 21:48:14.000000000 -0400 30093+++ linux-3.0.8/drivers/media/video/cx18/cx18-driver.c 2011-08-23 21:48:14.000000000 -0400
29732@@ -327,6 +327,8 @@ void cx18_read_eeprom(struct cx18 *cx, s 30094@@ -327,6 +327,8 @@ void cx18_read_eeprom(struct cx18 *cx, s
29733 struct i2c_client c; 30095 struct i2c_client c;
29734 u8 eedata[256]; 30096 u8 eedata[256];
@@ -29738,9 +30100,9 @@ diff -urNp linux-3.0.7/drivers/media/video/cx18/cx18-driver.c linux-3.0.7/driver
29738 memset(&c, 0, sizeof(c)); 30100 memset(&c, 0, sizeof(c));
29739 strlcpy(c.name, "cx18 tveeprom tmp", sizeof(c.name)); 30101 strlcpy(c.name, "cx18 tveeprom tmp", sizeof(c.name));
29740 c.adapter = &cx->i2c_adap[0]; 30102 c.adapter = &cx->i2c_adap[0];
29741diff -urNp linux-3.0.7/drivers/media/video/cx23885/cx23885-input.c linux-3.0.7/drivers/media/video/cx23885/cx23885-input.c 30103diff -urNp linux-3.0.8/drivers/media/video/cx23885/cx23885-input.c linux-3.0.8/drivers/media/video/cx23885/cx23885-input.c
29742--- linux-3.0.7/drivers/media/video/cx23885/cx23885-input.c 2011-07-21 22:17:23.000000000 -0400 30104--- linux-3.0.8/drivers/media/video/cx23885/cx23885-input.c 2011-07-21 22:17:23.000000000 -0400
29743+++ linux-3.0.7/drivers/media/video/cx23885/cx23885-input.c 2011-08-23 21:48:14.000000000 -0400 30105+++ linux-3.0.8/drivers/media/video/cx23885/cx23885-input.c 2011-08-23 21:48:14.000000000 -0400
29744@@ -53,6 +53,8 @@ static void cx23885_input_process_measur 30106@@ -53,6 +53,8 @@ static void cx23885_input_process_measur
29745 bool handle = false; 30107 bool handle = false;
29746 struct ir_raw_event ir_core_event[64]; 30108 struct ir_raw_event ir_core_event[64];
@@ -29750,9 +30112,9 @@ diff -urNp linux-3.0.7/drivers/media/video/cx23885/cx23885-input.c linux-3.0.7/d
29750 do { 30112 do {
29751 num = 0; 30113 num = 0;
29752 v4l2_subdev_call(dev->sd_ir, ir, rx_read, (u8 *) ir_core_event, 30114 v4l2_subdev_call(dev->sd_ir, ir, rx_read, (u8 *) ir_core_event,
29753diff -urNp linux-3.0.7/drivers/media/video/cx88/cx88-alsa.c linux-3.0.7/drivers/media/video/cx88/cx88-alsa.c 30115diff -urNp linux-3.0.8/drivers/media/video/cx88/cx88-alsa.c linux-3.0.8/drivers/media/video/cx88/cx88-alsa.c
29754--- linux-3.0.7/drivers/media/video/cx88/cx88-alsa.c 2011-07-21 22:17:23.000000000 -0400 30116--- linux-3.0.8/drivers/media/video/cx88/cx88-alsa.c 2011-07-21 22:17:23.000000000 -0400
29755+++ linux-3.0.7/drivers/media/video/cx88/cx88-alsa.c 2011-10-11 10:44:33.000000000 -0400 30117+++ linux-3.0.8/drivers/media/video/cx88/cx88-alsa.c 2011-10-11 10:44:33.000000000 -0400
29756@@ -764,7 +764,7 @@ static struct snd_kcontrol_new snd_cx88_ 30118@@ -764,7 +764,7 @@ static struct snd_kcontrol_new snd_cx88_
29757 * Only boards with eeprom and byte 1 at eeprom=1 have it 30119 * Only boards with eeprom and byte 1 at eeprom=1 have it
29758 */ 30120 */
@@ -29762,9 +30124,9 @@ diff -urNp linux-3.0.7/drivers/media/video/cx88/cx88-alsa.c linux-3.0.7/drivers/
29762 {0x14f1,0x8801,PCI_ANY_ID,PCI_ANY_ID,0,0,0}, 30124 {0x14f1,0x8801,PCI_ANY_ID,PCI_ANY_ID,0,0,0},
29763 {0x14f1,0x8811,PCI_ANY_ID,PCI_ANY_ID,0,0,0}, 30125 {0x14f1,0x8811,PCI_ANY_ID,PCI_ANY_ID,0,0,0},
29764 {0, } 30126 {0, }
29765diff -urNp linux-3.0.7/drivers/media/video/pvrusb2/pvrusb2-eeprom.c linux-3.0.7/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 30127diff -urNp linux-3.0.8/drivers/media/video/pvrusb2/pvrusb2-eeprom.c linux-3.0.8/drivers/media/video/pvrusb2/pvrusb2-eeprom.c
29766--- linux-3.0.7/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-07-21 22:17:23.000000000 -0400 30128--- linux-3.0.8/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-07-21 22:17:23.000000000 -0400
29767+++ linux-3.0.7/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-08-23 21:48:14.000000000 -0400 30129+++ linux-3.0.8/drivers/media/video/pvrusb2/pvrusb2-eeprom.c 2011-08-23 21:48:14.000000000 -0400
29768@@ -120,6 +120,8 @@ int pvr2_eeprom_analyze(struct pvr2_hdw 30130@@ -120,6 +120,8 @@ int pvr2_eeprom_analyze(struct pvr2_hdw
29769 u8 *eeprom; 30131 u8 *eeprom;
29770 struct tveeprom tvdata; 30132 struct tveeprom tvdata;
@@ -29774,9 +30136,9 @@ diff -urNp linux-3.0.7/drivers/media/video/pvrusb2/pvrusb2-eeprom.c linux-3.0.7/
29774 memset(&tvdata,0,sizeof(tvdata)); 30136 memset(&tvdata,0,sizeof(tvdata));
29775 30137
29776 eeprom = pvr2_eeprom_fetch(hdw); 30138 eeprom = pvr2_eeprom_fetch(hdw);
29777diff -urNp linux-3.0.7/drivers/media/video/saa7134/saa6752hs.c linux-3.0.7/drivers/media/video/saa7134/saa6752hs.c 30139diff -urNp linux-3.0.8/drivers/media/video/saa7134/saa6752hs.c linux-3.0.8/drivers/media/video/saa7134/saa6752hs.c
29778--- linux-3.0.7/drivers/media/video/saa7134/saa6752hs.c 2011-07-21 22:17:23.000000000 -0400 30140--- linux-3.0.8/drivers/media/video/saa7134/saa6752hs.c 2011-07-21 22:17:23.000000000 -0400
29779+++ linux-3.0.7/drivers/media/video/saa7134/saa6752hs.c 2011-08-23 21:48:14.000000000 -0400 30141+++ linux-3.0.8/drivers/media/video/saa7134/saa6752hs.c 2011-08-23 21:48:14.000000000 -0400
29780@@ -682,6 +682,8 @@ static int saa6752hs_init(struct v4l2_su 30142@@ -682,6 +682,8 @@ static int saa6752hs_init(struct v4l2_su
29781 unsigned char localPAT[256]; 30143 unsigned char localPAT[256];
29782 unsigned char localPMT[256]; 30144 unsigned char localPMT[256];
@@ -29786,9 +30148,9 @@ diff -urNp linux-3.0.7/drivers/media/video/saa7134/saa6752hs.c linux-3.0.7/drive
29786 /* Set video format - must be done first as it resets other settings */ 30148 /* Set video format - must be done first as it resets other settings */
29787 set_reg8(client, 0x41, h->video_format); 30149 set_reg8(client, 0x41, h->video_format);
29788 30150
29789diff -urNp linux-3.0.7/drivers/media/video/saa7164/saa7164-cmd.c linux-3.0.7/drivers/media/video/saa7164/saa7164-cmd.c 30151diff -urNp linux-3.0.8/drivers/media/video/saa7164/saa7164-cmd.c linux-3.0.8/drivers/media/video/saa7164/saa7164-cmd.c
29790--- linux-3.0.7/drivers/media/video/saa7164/saa7164-cmd.c 2011-07-21 22:17:23.000000000 -0400 30152--- linux-3.0.8/drivers/media/video/saa7164/saa7164-cmd.c 2011-07-21 22:17:23.000000000 -0400
29791+++ linux-3.0.7/drivers/media/video/saa7164/saa7164-cmd.c 2011-08-23 21:48:14.000000000 -0400 30153+++ linux-3.0.8/drivers/media/video/saa7164/saa7164-cmd.c 2011-08-23 21:48:14.000000000 -0400
29792@@ -88,6 +88,8 @@ int saa7164_irq_dequeue(struct saa7164_d 30154@@ -88,6 +88,8 @@ int saa7164_irq_dequeue(struct saa7164_d
29793 u8 tmp[512]; 30155 u8 tmp[512];
29794 dprintk(DBGLVL_CMD, "%s()\n", __func__); 30156 dprintk(DBGLVL_CMD, "%s()\n", __func__);
@@ -29807,9 +30169,9 @@ diff -urNp linux-3.0.7/drivers/media/video/saa7164/saa7164-cmd.c linux-3.0.7/dri
29807 while (loop) { 30169 while (loop) {
29808 30170
29809 struct tmComResInfo tRsp = { 0, 0, 0, 0, 0, 0 }; 30171 struct tmComResInfo tRsp = { 0, 0, 0, 0, 0, 0 };
29810diff -urNp linux-3.0.7/drivers/media/video/timblogiw.c linux-3.0.7/drivers/media/video/timblogiw.c 30172diff -urNp linux-3.0.8/drivers/media/video/timblogiw.c linux-3.0.8/drivers/media/video/timblogiw.c
29811--- linux-3.0.7/drivers/media/video/timblogiw.c 2011-07-21 22:17:23.000000000 -0400 30173--- linux-3.0.8/drivers/media/video/timblogiw.c 2011-07-21 22:17:23.000000000 -0400
29812+++ linux-3.0.7/drivers/media/video/timblogiw.c 2011-08-24 18:29:20.000000000 -0400 30174+++ linux-3.0.8/drivers/media/video/timblogiw.c 2011-08-24 18:29:20.000000000 -0400
29813@@ -745,7 +745,7 @@ static int timblogiw_mmap(struct file *f 30175@@ -745,7 +745,7 @@ static int timblogiw_mmap(struct file *f
29814 30176
29815 /* Platform device functions */ 30177 /* Platform device functions */
@@ -29819,9 +30181,9 @@ diff -urNp linux-3.0.7/drivers/media/video/timblogiw.c linux-3.0.7/drivers/media
29819 .vidioc_querycap = timblogiw_querycap, 30181 .vidioc_querycap = timblogiw_querycap,
29820 .vidioc_enum_fmt_vid_cap = timblogiw_enum_fmt, 30182 .vidioc_enum_fmt_vid_cap = timblogiw_enum_fmt,
29821 .vidioc_g_fmt_vid_cap = timblogiw_g_fmt, 30183 .vidioc_g_fmt_vid_cap = timblogiw_g_fmt,
29822diff -urNp linux-3.0.7/drivers/media/video/usbvision/usbvision-core.c linux-3.0.7/drivers/media/video/usbvision/usbvision-core.c 30184diff -urNp linux-3.0.8/drivers/media/video/usbvision/usbvision-core.c linux-3.0.8/drivers/media/video/usbvision/usbvision-core.c
29823--- linux-3.0.7/drivers/media/video/usbvision/usbvision-core.c 2011-07-21 22:17:23.000000000 -0400 30185--- linux-3.0.8/drivers/media/video/usbvision/usbvision-core.c 2011-07-21 22:17:23.000000000 -0400
29824+++ linux-3.0.7/drivers/media/video/usbvision/usbvision-core.c 2011-08-23 21:48:14.000000000 -0400 30186+++ linux-3.0.8/drivers/media/video/usbvision/usbvision-core.c 2011-08-23 21:48:14.000000000 -0400
29825@@ -707,6 +707,8 @@ static enum parse_state usbvision_parse_ 30187@@ -707,6 +707,8 @@ static enum parse_state usbvision_parse_
29826 unsigned char rv, gv, bv; 30188 unsigned char rv, gv, bv;
29827 static unsigned char *Y, *U, *V; 30189 static unsigned char *Y, *U, *V;
@@ -29831,9 +30193,9 @@ diff -urNp linux-3.0.7/drivers/media/video/usbvision/usbvision-core.c linux-3.0.
29831 frame = usbvision->cur_frame; 30193 frame = usbvision->cur_frame;
29832 image_size = frame->frmwidth * frame->frmheight; 30194 image_size = frame->frmwidth * frame->frmheight;
29833 if ((frame->v4l2_format.format == V4L2_PIX_FMT_YUV422P) || 30195 if ((frame->v4l2_format.format == V4L2_PIX_FMT_YUV422P) ||
29834diff -urNp linux-3.0.7/drivers/media/video/videobuf-dma-sg.c linux-3.0.7/drivers/media/video/videobuf-dma-sg.c 30196diff -urNp linux-3.0.8/drivers/media/video/videobuf-dma-sg.c linux-3.0.8/drivers/media/video/videobuf-dma-sg.c
29835--- linux-3.0.7/drivers/media/video/videobuf-dma-sg.c 2011-07-21 22:17:23.000000000 -0400 30197--- linux-3.0.8/drivers/media/video/videobuf-dma-sg.c 2011-07-21 22:17:23.000000000 -0400
29836+++ linux-3.0.7/drivers/media/video/videobuf-dma-sg.c 2011-08-23 21:48:14.000000000 -0400 30198+++ linux-3.0.8/drivers/media/video/videobuf-dma-sg.c 2011-08-23 21:48:14.000000000 -0400
29837@@ -606,6 +606,8 @@ void *videobuf_sg_alloc(size_t size) 30199@@ -606,6 +606,8 @@ void *videobuf_sg_alloc(size_t size)
29838 { 30200 {
29839 struct videobuf_queue q; 30201 struct videobuf_queue q;
@@ -29843,9 +30205,9 @@ diff -urNp linux-3.0.7/drivers/media/video/videobuf-dma-sg.c linux-3.0.7/drivers
29843 /* Required to make generic handler to call __videobuf_alloc */ 30205 /* Required to make generic handler to call __videobuf_alloc */
29844 q.int_ops = &sg_ops; 30206 q.int_ops = &sg_ops;
29845 30207
29846diff -urNp linux-3.0.7/drivers/message/fusion/mptbase.c linux-3.0.7/drivers/message/fusion/mptbase.c 30208diff -urNp linux-3.0.8/drivers/message/fusion/mptbase.c linux-3.0.8/drivers/message/fusion/mptbase.c
29847--- linux-3.0.7/drivers/message/fusion/mptbase.c 2011-07-21 22:17:23.000000000 -0400 30209--- linux-3.0.8/drivers/message/fusion/mptbase.c 2011-07-21 22:17:23.000000000 -0400
29848+++ linux-3.0.7/drivers/message/fusion/mptbase.c 2011-08-23 21:48:14.000000000 -0400 30210+++ linux-3.0.8/drivers/message/fusion/mptbase.c 2011-08-23 21:48:14.000000000 -0400
29849@@ -6681,8 +6681,13 @@ static int mpt_iocinfo_proc_show(struct 30211@@ -6681,8 +6681,13 @@ static int mpt_iocinfo_proc_show(struct
29850 seq_printf(m, " MaxChainDepth = 0x%02x frames\n", ioc->facts.MaxChainDepth); 30212 seq_printf(m, " MaxChainDepth = 0x%02x frames\n", ioc->facts.MaxChainDepth);
29851 seq_printf(m, " MinBlockSize = 0x%02x bytes\n", 4*ioc->facts.BlockSize); 30213 seq_printf(m, " MinBlockSize = 0x%02x bytes\n", 4*ioc->facts.BlockSize);
@@ -29860,9 +30222,9 @@ diff -urNp linux-3.0.7/drivers/message/fusion/mptbase.c linux-3.0.7/drivers/mess
29860 /* 30222 /*
29861 * Rounding UP to nearest 4-kB boundary here... 30223 * Rounding UP to nearest 4-kB boundary here...
29862 */ 30224 */
29863diff -urNp linux-3.0.7/drivers/message/fusion/mptsas.c linux-3.0.7/drivers/message/fusion/mptsas.c 30225diff -urNp linux-3.0.8/drivers/message/fusion/mptsas.c linux-3.0.8/drivers/message/fusion/mptsas.c
29864--- linux-3.0.7/drivers/message/fusion/mptsas.c 2011-07-21 22:17:23.000000000 -0400 30226--- linux-3.0.8/drivers/message/fusion/mptsas.c 2011-07-21 22:17:23.000000000 -0400
29865+++ linux-3.0.7/drivers/message/fusion/mptsas.c 2011-08-23 21:47:55.000000000 -0400 30227+++ linux-3.0.8/drivers/message/fusion/mptsas.c 2011-08-23 21:47:55.000000000 -0400
29866@@ -439,6 +439,23 @@ mptsas_is_end_device(struct mptsas_devin 30228@@ -439,6 +439,23 @@ mptsas_is_end_device(struct mptsas_devin
29867 return 0; 30229 return 0;
29868 } 30230 }
@@ -29911,9 +30273,9 @@ diff -urNp linux-3.0.7/drivers/message/fusion/mptsas.c linux-3.0.7/drivers/messa
29911 static inline struct sas_port * 30273 static inline struct sas_port *
29912 mptsas_get_port(struct mptsas_phyinfo *phy_info) 30274 mptsas_get_port(struct mptsas_phyinfo *phy_info)
29913 { 30275 {
29914diff -urNp linux-3.0.7/drivers/message/fusion/mptscsih.c linux-3.0.7/drivers/message/fusion/mptscsih.c 30276diff -urNp linux-3.0.8/drivers/message/fusion/mptscsih.c linux-3.0.8/drivers/message/fusion/mptscsih.c
29915--- linux-3.0.7/drivers/message/fusion/mptscsih.c 2011-07-21 22:17:23.000000000 -0400 30277--- linux-3.0.8/drivers/message/fusion/mptscsih.c 2011-07-21 22:17:23.000000000 -0400
29916+++ linux-3.0.7/drivers/message/fusion/mptscsih.c 2011-08-23 21:47:55.000000000 -0400 30278+++ linux-3.0.8/drivers/message/fusion/mptscsih.c 2011-08-23 21:47:55.000000000 -0400
29917@@ -1268,15 +1268,16 @@ mptscsih_info(struct Scsi_Host *SChost) 30279@@ -1268,15 +1268,16 @@ mptscsih_info(struct Scsi_Host *SChost)
29918 30280
29919 h = shost_priv(SChost); 30281 h = shost_priv(SChost);
@@ -29939,9 +30301,9 @@ diff -urNp linux-3.0.7/drivers/message/fusion/mptscsih.c linux-3.0.7/drivers/mes
29939 30301
29940 return h->info_kbuf; 30302 return h->info_kbuf;
29941 } 30303 }
29942diff -urNp linux-3.0.7/drivers/message/i2o/i2o_config.c linux-3.0.7/drivers/message/i2o/i2o_config.c 30304diff -urNp linux-3.0.8/drivers/message/i2o/i2o_config.c linux-3.0.8/drivers/message/i2o/i2o_config.c
29943--- linux-3.0.7/drivers/message/i2o/i2o_config.c 2011-07-21 22:17:23.000000000 -0400 30305--- linux-3.0.8/drivers/message/i2o/i2o_config.c 2011-07-21 22:17:23.000000000 -0400
29944+++ linux-3.0.7/drivers/message/i2o/i2o_config.c 2011-08-23 21:48:14.000000000 -0400 30306+++ linux-3.0.8/drivers/message/i2o/i2o_config.c 2011-08-23 21:48:14.000000000 -0400
29945@@ -781,6 +781,8 @@ static int i2o_cfg_passthru(unsigned lon 30307@@ -781,6 +781,8 @@ static int i2o_cfg_passthru(unsigned lon
29946 struct i2o_message *msg; 30308 struct i2o_message *msg;
29947 unsigned int iop; 30309 unsigned int iop;
@@ -29951,9 +30313,9 @@ diff -urNp linux-3.0.7/drivers/message/i2o/i2o_config.c linux-3.0.7/drivers/mess
29951 if (get_user(iop, &cmd->iop) || get_user(user_msg, &cmd->msg)) 30313 if (get_user(iop, &cmd->iop) || get_user(user_msg, &cmd->msg))
29952 return -EFAULT; 30314 return -EFAULT;
29953 30315
29954diff -urNp linux-3.0.7/drivers/message/i2o/i2o_proc.c linux-3.0.7/drivers/message/i2o/i2o_proc.c 30316diff -urNp linux-3.0.8/drivers/message/i2o/i2o_proc.c linux-3.0.8/drivers/message/i2o/i2o_proc.c
29955--- linux-3.0.7/drivers/message/i2o/i2o_proc.c 2011-07-21 22:17:23.000000000 -0400 30317--- linux-3.0.8/drivers/message/i2o/i2o_proc.c 2011-07-21 22:17:23.000000000 -0400
29956+++ linux-3.0.7/drivers/message/i2o/i2o_proc.c 2011-08-23 21:47:55.000000000 -0400 30318+++ linux-3.0.8/drivers/message/i2o/i2o_proc.c 2011-08-23 21:47:55.000000000 -0400
29957@@ -255,13 +255,6 @@ static char *scsi_devices[] = { 30319@@ -255,13 +255,6 @@ static char *scsi_devices[] = {
29958 "Array Controller Device" 30320 "Array Controller Device"
29959 }; 30321 };
@@ -30040,9 +30402,9 @@ diff -urNp linux-3.0.7/drivers/message/i2o/i2o_proc.c linux-3.0.7/drivers/messag
30040 30402
30041 return 0; 30403 return 0;
30042 } 30404 }
30043diff -urNp linux-3.0.7/drivers/message/i2o/iop.c linux-3.0.7/drivers/message/i2o/iop.c 30405diff -urNp linux-3.0.8/drivers/message/i2o/iop.c linux-3.0.8/drivers/message/i2o/iop.c
30044--- linux-3.0.7/drivers/message/i2o/iop.c 2011-07-21 22:17:23.000000000 -0400 30406--- linux-3.0.8/drivers/message/i2o/iop.c 2011-07-21 22:17:23.000000000 -0400
30045+++ linux-3.0.7/drivers/message/i2o/iop.c 2011-08-23 21:47:55.000000000 -0400 30407+++ linux-3.0.8/drivers/message/i2o/iop.c 2011-08-23 21:47:55.000000000 -0400
30046@@ -111,10 +111,10 @@ u32 i2o_cntxt_list_add(struct i2o_contro 30408@@ -111,10 +111,10 @@ u32 i2o_cntxt_list_add(struct i2o_contro
30047 30409
30048 spin_lock_irqsave(&c->context_list_lock, flags); 30410 spin_lock_irqsave(&c->context_list_lock, flags);
@@ -30066,9 +30428,9 @@ diff -urNp linux-3.0.7/drivers/message/i2o/iop.c linux-3.0.7/drivers/message/i2o
30066 INIT_LIST_HEAD(&c->context_list); 30428 INIT_LIST_HEAD(&c->context_list);
30067 #endif 30429 #endif
30068 30430
30069diff -urNp linux-3.0.7/drivers/mfd/ab3100-core.c linux-3.0.7/drivers/mfd/ab3100-core.c 30431diff -urNp linux-3.0.8/drivers/mfd/ab3100-core.c linux-3.0.8/drivers/mfd/ab3100-core.c
30070--- linux-3.0.7/drivers/mfd/ab3100-core.c 2011-07-21 22:17:23.000000000 -0400 30432--- linux-3.0.8/drivers/mfd/ab3100-core.c 2011-07-21 22:17:23.000000000 -0400
30071+++ linux-3.0.7/drivers/mfd/ab3100-core.c 2011-10-11 10:44:33.000000000 -0400 30433+++ linux-3.0.8/drivers/mfd/ab3100-core.c 2011-10-11 10:44:33.000000000 -0400
30072@@ -809,7 +809,7 @@ struct ab_family_id { 30434@@ -809,7 +809,7 @@ struct ab_family_id {
30073 char *name; 30435 char *name;
30074 }; 30436 };
@@ -30078,9 +30440,9 @@ diff -urNp linux-3.0.7/drivers/mfd/ab3100-core.c linux-3.0.7/drivers/mfd/ab3100-
30078 /* AB3100 */ 30440 /* AB3100 */
30079 { 30441 {
30080 .id = 0xc0, 30442 .id = 0xc0,
30081diff -urNp linux-3.0.7/drivers/mfd/abx500-core.c linux-3.0.7/drivers/mfd/abx500-core.c 30443diff -urNp linux-3.0.8/drivers/mfd/abx500-core.c linux-3.0.8/drivers/mfd/abx500-core.c
30082--- linux-3.0.7/drivers/mfd/abx500-core.c 2011-07-21 22:17:23.000000000 -0400 30444--- linux-3.0.8/drivers/mfd/abx500-core.c 2011-07-21 22:17:23.000000000 -0400
30083+++ linux-3.0.7/drivers/mfd/abx500-core.c 2011-08-23 21:47:55.000000000 -0400 30445+++ linux-3.0.8/drivers/mfd/abx500-core.c 2011-08-23 21:47:55.000000000 -0400
30084@@ -14,7 +14,7 @@ static LIST_HEAD(abx500_list); 30446@@ -14,7 +14,7 @@ static LIST_HEAD(abx500_list);
30085 30447
30086 struct abx500_device_entry { 30448 struct abx500_device_entry {
@@ -30090,9 +30452,9 @@ diff -urNp linux-3.0.7/drivers/mfd/abx500-core.c linux-3.0.7/drivers/mfd/abx500-
30090 struct device *dev; 30452 struct device *dev;
30091 }; 30453 };
30092 30454
30093diff -urNp linux-3.0.7/drivers/mfd/janz-cmodio.c linux-3.0.7/drivers/mfd/janz-cmodio.c 30455diff -urNp linux-3.0.8/drivers/mfd/janz-cmodio.c linux-3.0.8/drivers/mfd/janz-cmodio.c
30094--- linux-3.0.7/drivers/mfd/janz-cmodio.c 2011-07-21 22:17:23.000000000 -0400 30456--- linux-3.0.8/drivers/mfd/janz-cmodio.c 2011-07-21 22:17:23.000000000 -0400
30095+++ linux-3.0.7/drivers/mfd/janz-cmodio.c 2011-08-23 21:47:55.000000000 -0400 30457+++ linux-3.0.8/drivers/mfd/janz-cmodio.c 2011-08-23 21:47:55.000000000 -0400
30096@@ -13,6 +13,7 @@ 30458@@ -13,6 +13,7 @@
30097 30459
30098 #include <linux/kernel.h> 30460 #include <linux/kernel.h>
@@ -30101,9 +30463,9 @@ diff -urNp linux-3.0.7/drivers/mfd/janz-cmodio.c linux-3.0.7/drivers/mfd/janz-cm
30101 #include <linux/init.h> 30463 #include <linux/init.h>
30102 #include <linux/pci.h> 30464 #include <linux/pci.h>
30103 #include <linux/interrupt.h> 30465 #include <linux/interrupt.h>
30104diff -urNp linux-3.0.7/drivers/mfd/wm8350-i2c.c linux-3.0.7/drivers/mfd/wm8350-i2c.c 30466diff -urNp linux-3.0.8/drivers/mfd/wm8350-i2c.c linux-3.0.8/drivers/mfd/wm8350-i2c.c
30105--- linux-3.0.7/drivers/mfd/wm8350-i2c.c 2011-07-21 22:17:23.000000000 -0400 30467--- linux-3.0.8/drivers/mfd/wm8350-i2c.c 2011-07-21 22:17:23.000000000 -0400
30106+++ linux-3.0.7/drivers/mfd/wm8350-i2c.c 2011-08-23 21:48:14.000000000 -0400 30468+++ linux-3.0.8/drivers/mfd/wm8350-i2c.c 2011-08-23 21:48:14.000000000 -0400
30107@@ -44,6 +44,8 @@ static int wm8350_i2c_write_device(struc 30469@@ -44,6 +44,8 @@ static int wm8350_i2c_write_device(struc
30108 u8 msg[(WM8350_MAX_REGISTER << 1) + 1]; 30470 u8 msg[(WM8350_MAX_REGISTER << 1) + 1];
30109 int ret; 30471 int ret;
@@ -30113,9 +30475,9 @@ diff -urNp linux-3.0.7/drivers/mfd/wm8350-i2c.c linux-3.0.7/drivers/mfd/wm8350-i
30113 if (bytes > ((WM8350_MAX_REGISTER << 1) + 1)) 30475 if (bytes > ((WM8350_MAX_REGISTER << 1) + 1))
30114 return -EINVAL; 30476 return -EINVAL;
30115 30477
30116diff -urNp linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.c linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.c 30478diff -urNp linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.c linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.c
30117--- linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.c 2011-10-17 23:17:09.000000000 -0400 30479--- linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.c 2011-10-24 08:05:32.000000000 -0400
30118+++ linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.c 2011-10-17 23:17:19.000000000 -0400 30480+++ linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.c 2011-10-17 23:17:19.000000000 -0400
30119@@ -437,7 +437,7 @@ static irqreturn_t lis302dl_interrupt(in 30481@@ -437,7 +437,7 @@ static irqreturn_t lis302dl_interrupt(in
30120 * the lid is closed. This leads to interrupts as soon as a little move 30482 * the lid is closed. This leads to interrupts as soon as a little move
30121 * is done. 30483 * is done.
@@ -30152,9 +30514,9 @@ diff -urNp linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.c linux-3.0.7/drivers/mi
30152 return POLLIN | POLLRDNORM; 30514 return POLLIN | POLLRDNORM;
30153 return 0; 30515 return 0;
30154 } 30516 }
30155diff -urNp linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.h linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.h 30517diff -urNp linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.h linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.h
30156--- linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.h 2011-07-21 22:17:23.000000000 -0400 30518--- linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.h 2011-07-21 22:17:23.000000000 -0400
30157+++ linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.h 2011-08-23 21:47:55.000000000 -0400 30519+++ linux-3.0.8/drivers/misc/lis3lv02d/lis3lv02d.h 2011-08-23 21:47:55.000000000 -0400
30158@@ -265,7 +265,7 @@ struct lis3lv02d { 30520@@ -265,7 +265,7 @@ struct lis3lv02d {
30159 struct input_polled_dev *idev; /* input device */ 30521 struct input_polled_dev *idev; /* input device */
30160 struct platform_device *pdev; /* platform device */ 30522 struct platform_device *pdev; /* platform device */
@@ -30164,9 +30526,9 @@ diff -urNp linux-3.0.7/drivers/misc/lis3lv02d/lis3lv02d.h linux-3.0.7/drivers/mi
30164 union axis_conversion ac; /* hw -> logical axis */ 30526 union axis_conversion ac; /* hw -> logical axis */
30165 int mapped_btns[3]; 30527 int mapped_btns[3];
30166 30528
30167diff -urNp linux-3.0.7/drivers/misc/sgi-gru/gruhandles.c linux-3.0.7/drivers/misc/sgi-gru/gruhandles.c 30529diff -urNp linux-3.0.8/drivers/misc/sgi-gru/gruhandles.c linux-3.0.8/drivers/misc/sgi-gru/gruhandles.c
30168--- linux-3.0.7/drivers/misc/sgi-gru/gruhandles.c 2011-07-21 22:17:23.000000000 -0400 30530--- linux-3.0.8/drivers/misc/sgi-gru/gruhandles.c 2011-07-21 22:17:23.000000000 -0400
30169+++ linux-3.0.7/drivers/misc/sgi-gru/gruhandles.c 2011-08-23 21:47:55.000000000 -0400 30531+++ linux-3.0.8/drivers/misc/sgi-gru/gruhandles.c 2011-08-23 21:47:55.000000000 -0400
30170@@ -44,8 +44,8 @@ static void update_mcs_stats(enum mcs_op 30532@@ -44,8 +44,8 @@ static void update_mcs_stats(enum mcs_op
30171 unsigned long nsec; 30533 unsigned long nsec;
30172 30534
@@ -30178,9 +30540,9 @@ diff -urNp linux-3.0.7/drivers/misc/sgi-gru/gruhandles.c linux-3.0.7/drivers/mis
30178 if (mcs_op_statistics[op].max < nsec) 30540 if (mcs_op_statistics[op].max < nsec)
30179 mcs_op_statistics[op].max = nsec; 30541 mcs_op_statistics[op].max = nsec;
30180 } 30542 }
30181diff -urNp linux-3.0.7/drivers/misc/sgi-gru/gruprocfs.c linux-3.0.7/drivers/misc/sgi-gru/gruprocfs.c 30543diff -urNp linux-3.0.8/drivers/misc/sgi-gru/gruprocfs.c linux-3.0.8/drivers/misc/sgi-gru/gruprocfs.c
30182--- linux-3.0.7/drivers/misc/sgi-gru/gruprocfs.c 2011-07-21 22:17:23.000000000 -0400 30544--- linux-3.0.8/drivers/misc/sgi-gru/gruprocfs.c 2011-07-21 22:17:23.000000000 -0400
30183+++ linux-3.0.7/drivers/misc/sgi-gru/gruprocfs.c 2011-08-23 21:47:55.000000000 -0400 30545+++ linux-3.0.8/drivers/misc/sgi-gru/gruprocfs.c 2011-08-23 21:47:55.000000000 -0400
30184@@ -32,9 +32,9 @@ 30546@@ -32,9 +32,9 @@
30185 30547
30186 #define printstat(s, f) printstat_val(s, &gru_stats.f, #f) 30548 #define printstat(s, f) printstat_val(s, &gru_stats.f, #f)
@@ -30204,9 +30566,9 @@ diff -urNp linux-3.0.7/drivers/misc/sgi-gru/gruprocfs.c linux-3.0.7/drivers/misc
30204 max = mcs_op_statistics[op].max; 30566 max = mcs_op_statistics[op].max;
30205 seq_printf(s, "%-20s%12ld%12ld%12ld\n", id[op], count, 30567 seq_printf(s, "%-20s%12ld%12ld%12ld\n", id[op], count,
30206 count ? total / count : 0, max); 30568 count ? total / count : 0, max);
30207diff -urNp linux-3.0.7/drivers/misc/sgi-gru/grutables.h linux-3.0.7/drivers/misc/sgi-gru/grutables.h 30569diff -urNp linux-3.0.8/drivers/misc/sgi-gru/grutables.h linux-3.0.8/drivers/misc/sgi-gru/grutables.h
30208--- linux-3.0.7/drivers/misc/sgi-gru/grutables.h 2011-07-21 22:17:23.000000000 -0400 30570--- linux-3.0.8/drivers/misc/sgi-gru/grutables.h 2011-07-21 22:17:23.000000000 -0400
30209+++ linux-3.0.7/drivers/misc/sgi-gru/grutables.h 2011-08-23 21:47:55.000000000 -0400 30571+++ linux-3.0.8/drivers/misc/sgi-gru/grutables.h 2011-08-23 21:47:55.000000000 -0400
30210@@ -167,82 +167,82 @@ extern unsigned int gru_max_gids; 30572@@ -167,82 +167,82 @@ extern unsigned int gru_max_gids;
30211 * GRU statistics. 30573 * GRU statistics.
30212 */ 30574 */
@@ -30386,21 +30748,9 @@ diff -urNp linux-3.0.7/drivers/misc/sgi-gru/grutables.h linux-3.0.7/drivers/misc
30386 } while (0) 30748 } while (0)
30387 30749
30388 #ifdef CONFIG_SGI_GRU_DEBUG 30750 #ifdef CONFIG_SGI_GRU_DEBUG
30389diff -urNp linux-3.0.7/drivers/misc/sgi-xp/xp.h linux-3.0.7/drivers/misc/sgi-xp/xp.h 30751diff -urNp linux-3.0.8/drivers/misc/sgi-xp/xpc.h linux-3.0.8/drivers/misc/sgi-xp/xpc.h
30390--- linux-3.0.7/drivers/misc/sgi-xp/xp.h 2011-07-21 22:17:23.000000000 -0400 30752--- linux-3.0.8/drivers/misc/sgi-xp/xpc.h 2011-07-21 22:17:23.000000000 -0400
30391+++ linux-3.0.7/drivers/misc/sgi-xp/xp.h 2011-08-23 21:47:55.000000000 -0400 30753+++ linux-3.0.8/drivers/misc/sgi-xp/xpc.h 2011-10-11 10:44:33.000000000 -0400
30392@@ -289,7 +289,7 @@ struct xpc_interface {
30393 xpc_notify_func, void *);
30394 void (*received) (short, int, void *);
30395 enum xp_retval (*partid_to_nasids) (short, void *);
30396-};
30397+} __no_const;
30398
30399 extern struct xpc_interface xpc_interface;
30400
30401diff -urNp linux-3.0.7/drivers/misc/sgi-xp/xpc.h linux-3.0.7/drivers/misc/sgi-xp/xpc.h
30402--- linux-3.0.7/drivers/misc/sgi-xp/xpc.h 2011-07-21 22:17:23.000000000 -0400
30403+++ linux-3.0.7/drivers/misc/sgi-xp/xpc.h 2011-10-11 10:44:33.000000000 -0400
30404@@ -835,6 +835,7 @@ struct xpc_arch_operations { 30754@@ -835,6 +835,7 @@ struct xpc_arch_operations {
30405 void (*received_payload) (struct xpc_channel *, void *); 30755 void (*received_payload) (struct xpc_channel *, void *);
30406 void (*notify_senders_of_disconnect) (struct xpc_channel *); 30756 void (*notify_senders_of_disconnect) (struct xpc_channel *);
@@ -30418,9 +30768,9 @@ diff -urNp linux-3.0.7/drivers/misc/sgi-xp/xpc.h linux-3.0.7/drivers/misc/sgi-xp
30418 extern int xpc_disengage_timelimit; 30768 extern int xpc_disengage_timelimit;
30419 extern int xpc_disengage_timedout; 30769 extern int xpc_disengage_timedout;
30420 extern int xpc_activate_IRQ_rcvd; 30770 extern int xpc_activate_IRQ_rcvd;
30421diff -urNp linux-3.0.7/drivers/misc/sgi-xp/xpc_main.c linux-3.0.7/drivers/misc/sgi-xp/xpc_main.c 30771diff -urNp linux-3.0.8/drivers/misc/sgi-xp/xpc_main.c linux-3.0.8/drivers/misc/sgi-xp/xpc_main.c
30422--- linux-3.0.7/drivers/misc/sgi-xp/xpc_main.c 2011-07-21 22:17:23.000000000 -0400 30772--- linux-3.0.8/drivers/misc/sgi-xp/xpc_main.c 2011-07-21 22:17:23.000000000 -0400
30423+++ linux-3.0.7/drivers/misc/sgi-xp/xpc_main.c 2011-10-11 10:44:33.000000000 -0400 30773+++ linux-3.0.8/drivers/misc/sgi-xp/xpc_main.c 2011-10-11 10:44:33.000000000 -0400
30424@@ -162,7 +162,7 @@ static struct notifier_block xpc_die_not 30774@@ -162,7 +162,7 @@ static struct notifier_block xpc_die_not
30425 .notifier_call = xpc_system_die, 30775 .notifier_call = xpc_system_die,
30426 }; 30776 };
@@ -30430,9 +30780,21 @@ diff -urNp linux-3.0.7/drivers/misc/sgi-xp/xpc_main.c linux-3.0.7/drivers/misc/s
30430 30780
30431 /* 30781 /*
30432 * Timer function to enforce the timelimit on the partition disengage. 30782 * Timer function to enforce the timelimit on the partition disengage.
30433diff -urNp linux-3.0.7/drivers/mmc/host/sdhci-pci.c linux-3.0.7/drivers/mmc/host/sdhci-pci.c 30783diff -urNp linux-3.0.8/drivers/misc/sgi-xp/xp.h linux-3.0.8/drivers/misc/sgi-xp/xp.h
30434--- linux-3.0.7/drivers/mmc/host/sdhci-pci.c 2011-07-21 22:17:23.000000000 -0400 30784--- linux-3.0.8/drivers/misc/sgi-xp/xp.h 2011-07-21 22:17:23.000000000 -0400
30435+++ linux-3.0.7/drivers/mmc/host/sdhci-pci.c 2011-10-11 10:44:33.000000000 -0400 30785+++ linux-3.0.8/drivers/misc/sgi-xp/xp.h 2011-08-23 21:47:55.000000000 -0400
30786@@ -289,7 +289,7 @@ struct xpc_interface {
30787 xpc_notify_func, void *);
30788 void (*received) (short, int, void *);
30789 enum xp_retval (*partid_to_nasids) (short, void *);
30790-};
30791+} __no_const;
30792
30793 extern struct xpc_interface xpc_interface;
30794
30795diff -urNp linux-3.0.8/drivers/mmc/host/sdhci-pci.c linux-3.0.8/drivers/mmc/host/sdhci-pci.c
30796--- linux-3.0.8/drivers/mmc/host/sdhci-pci.c 2011-07-21 22:17:23.000000000 -0400
30797+++ linux-3.0.8/drivers/mmc/host/sdhci-pci.c 2011-10-11 10:44:33.000000000 -0400
30436@@ -524,7 +524,7 @@ static const struct sdhci_pci_fixes sdhc 30798@@ -524,7 +524,7 @@ static const struct sdhci_pci_fixes sdhc
30437 .probe = via_probe, 30799 .probe = via_probe,
30438 }; 30800 };
@@ -30442,9 +30804,9 @@ diff -urNp linux-3.0.7/drivers/mmc/host/sdhci-pci.c linux-3.0.7/drivers/mmc/host
30442 { 30804 {
30443 .vendor = PCI_VENDOR_ID_RICOH, 30805 .vendor = PCI_VENDOR_ID_RICOH,
30444 .device = PCI_DEVICE_ID_RICOH_R5C822, 30806 .device = PCI_DEVICE_ID_RICOH_R5C822,
30445diff -urNp linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0001.c linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0001.c 30807diff -urNp linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0001.c linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0001.c
30446--- linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0001.c 2011-07-21 22:17:23.000000000 -0400 30808--- linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0001.c 2011-07-21 22:17:23.000000000 -0400
30447+++ linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0001.c 2011-08-23 21:48:14.000000000 -0400 30809+++ linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0001.c 2011-08-23 21:48:14.000000000 -0400
30448@@ -757,6 +757,8 @@ static int chip_ready (struct map_info * 30810@@ -757,6 +757,8 @@ static int chip_ready (struct map_info *
30449 struct cfi_pri_intelext *cfip = cfi->cmdset_priv; 30811 struct cfi_pri_intelext *cfip = cfi->cmdset_priv;
30450 unsigned long timeo = jiffies + HZ; 30812 unsigned long timeo = jiffies + HZ;
@@ -30472,9 +30834,9 @@ diff -urNp linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0001.c linux-3.0.7/drivers/m
30472 adr += chip->start; 30834 adr += chip->start;
30473 30835
30474 retry: 30836 retry:
30475diff -urNp linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0020.c linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0020.c 30837diff -urNp linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0020.c linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0020.c
30476--- linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0020.c 2011-07-21 22:17:23.000000000 -0400 30838--- linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0020.c 2011-07-21 22:17:23.000000000 -0400
30477+++ linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0020.c 2011-08-23 21:48:14.000000000 -0400 30839+++ linux-3.0.8/drivers/mtd/chips/cfi_cmdset_0020.c 2011-08-23 21:48:14.000000000 -0400
30478@@ -255,6 +255,8 @@ static inline int do_read_onechip(struct 30840@@ -255,6 +255,8 @@ static inline int do_read_onechip(struct
30479 unsigned long cmd_addr; 30841 unsigned long cmd_addr;
30480 struct cfi_private *cfi = map->fldrv_priv; 30842 struct cfi_private *cfi = map->fldrv_priv;
@@ -30520,9 +30882,9 @@ diff -urNp linux-3.0.7/drivers/mtd/chips/cfi_cmdset_0020.c linux-3.0.7/drivers/m
30520 adr += chip->start; 30882 adr += chip->start;
30521 30883
30522 /* Let's determine this according to the interleave only once */ 30884 /* Let's determine this according to the interleave only once */
30523diff -urNp linux-3.0.7/drivers/mtd/devices/doc2000.c linux-3.0.7/drivers/mtd/devices/doc2000.c 30885diff -urNp linux-3.0.8/drivers/mtd/devices/doc2000.c linux-3.0.8/drivers/mtd/devices/doc2000.c
30524--- linux-3.0.7/drivers/mtd/devices/doc2000.c 2011-07-21 22:17:23.000000000 -0400 30886--- linux-3.0.8/drivers/mtd/devices/doc2000.c 2011-07-21 22:17:23.000000000 -0400
30525+++ linux-3.0.7/drivers/mtd/devices/doc2000.c 2011-08-23 21:47:55.000000000 -0400 30887+++ linux-3.0.8/drivers/mtd/devices/doc2000.c 2011-08-23 21:47:55.000000000 -0400
30526@@ -776,7 +776,7 @@ static int doc_write(struct mtd_info *mt 30888@@ -776,7 +776,7 @@ static int doc_write(struct mtd_info *mt
30527 30889
30528 /* The ECC will not be calculated correctly if less than 512 is written */ 30890 /* The ECC will not be calculated correctly if less than 512 is written */
@@ -30532,9 +30894,9 @@ diff -urNp linux-3.0.7/drivers/mtd/devices/doc2000.c linux-3.0.7/drivers/mtd/dev
30532 printk(KERN_WARNING 30894 printk(KERN_WARNING
30533 "ECC needs a full sector write (adr: %lx size %lx)\n", 30895 "ECC needs a full sector write (adr: %lx size %lx)\n",
30534 (long) to, (long) len); 30896 (long) to, (long) len);
30535diff -urNp linux-3.0.7/drivers/mtd/devices/doc2001.c linux-3.0.7/drivers/mtd/devices/doc2001.c 30897diff -urNp linux-3.0.8/drivers/mtd/devices/doc2001.c linux-3.0.8/drivers/mtd/devices/doc2001.c
30536--- linux-3.0.7/drivers/mtd/devices/doc2001.c 2011-07-21 22:17:23.000000000 -0400 30898--- linux-3.0.8/drivers/mtd/devices/doc2001.c 2011-07-21 22:17:23.000000000 -0400
30537+++ linux-3.0.7/drivers/mtd/devices/doc2001.c 2011-08-23 21:47:55.000000000 -0400 30899+++ linux-3.0.8/drivers/mtd/devices/doc2001.c 2011-08-23 21:47:55.000000000 -0400
30538@@ -393,7 +393,7 @@ static int doc_read (struct mtd_info *mt 30900@@ -393,7 +393,7 @@ static int doc_read (struct mtd_info *mt
30539 struct Nand *mychip = &this->chips[from >> (this->chipshift)]; 30901 struct Nand *mychip = &this->chips[from >> (this->chipshift)];
30540 30902
@@ -30544,9 +30906,9 @@ diff -urNp linux-3.0.7/drivers/mtd/devices/doc2001.c linux-3.0.7/drivers/mtd/dev
30544 return -EINVAL; 30906 return -EINVAL;
30545 30907
30546 /* Don't allow a single read to cross a 512-byte block boundary */ 30908 /* Don't allow a single read to cross a 512-byte block boundary */
30547diff -urNp linux-3.0.7/drivers/mtd/ftl.c linux-3.0.7/drivers/mtd/ftl.c 30909diff -urNp linux-3.0.8/drivers/mtd/ftl.c linux-3.0.8/drivers/mtd/ftl.c
30548--- linux-3.0.7/drivers/mtd/ftl.c 2011-07-21 22:17:23.000000000 -0400 30910--- linux-3.0.8/drivers/mtd/ftl.c 2011-07-21 22:17:23.000000000 -0400
30549+++ linux-3.0.7/drivers/mtd/ftl.c 2011-08-23 21:48:14.000000000 -0400 30911+++ linux-3.0.8/drivers/mtd/ftl.c 2011-08-23 21:48:14.000000000 -0400
30550@@ -474,6 +474,8 @@ static int copy_erase_unit(partition_t * 30912@@ -474,6 +474,8 @@ static int copy_erase_unit(partition_t *
30551 loff_t offset; 30913 loff_t offset;
30552 uint16_t srcunitswap = cpu_to_le16(srcunit); 30914 uint16_t srcunitswap = cpu_to_le16(srcunit);
@@ -30556,9 +30918,9 @@ diff -urNp linux-3.0.7/drivers/mtd/ftl.c linux-3.0.7/drivers/mtd/ftl.c
30556 eun = &part->EUNInfo[srcunit]; 30918 eun = &part->EUNInfo[srcunit];
30557 xfer = &part->XferInfo[xferunit]; 30919 xfer = &part->XferInfo[xferunit];
30558 DEBUG(2, "ftl_cs: copying block 0x%x to 0x%x\n", 30920 DEBUG(2, "ftl_cs: copying block 0x%x to 0x%x\n",
30559diff -urNp linux-3.0.7/drivers/mtd/inftlcore.c linux-3.0.7/drivers/mtd/inftlcore.c 30921diff -urNp linux-3.0.8/drivers/mtd/inftlcore.c linux-3.0.8/drivers/mtd/inftlcore.c
30560--- linux-3.0.7/drivers/mtd/inftlcore.c 2011-07-21 22:17:23.000000000 -0400 30922--- linux-3.0.8/drivers/mtd/inftlcore.c 2011-07-21 22:17:23.000000000 -0400
30561+++ linux-3.0.7/drivers/mtd/inftlcore.c 2011-08-23 21:48:14.000000000 -0400 30923+++ linux-3.0.8/drivers/mtd/inftlcore.c 2011-08-23 21:48:14.000000000 -0400
30562@@ -259,6 +259,8 @@ static u16 INFTL_foldchain(struct INFTLr 30924@@ -259,6 +259,8 @@ static u16 INFTL_foldchain(struct INFTLr
30563 struct inftl_oob oob; 30925 struct inftl_oob oob;
30564 size_t retlen; 30926 size_t retlen;
@@ -30568,9 +30930,9 @@ diff -urNp linux-3.0.7/drivers/mtd/inftlcore.c linux-3.0.7/drivers/mtd/inftlcore
30568 DEBUG(MTD_DEBUG_LEVEL3, "INFTL: INFTL_foldchain(inftl=%p,thisVUC=%d," 30930 DEBUG(MTD_DEBUG_LEVEL3, "INFTL: INFTL_foldchain(inftl=%p,thisVUC=%d,"
30569 "pending=%d)\n", inftl, thisVUC, pendingblock); 30931 "pending=%d)\n", inftl, thisVUC, pendingblock);
30570 30932
30571diff -urNp linux-3.0.7/drivers/mtd/inftlmount.c linux-3.0.7/drivers/mtd/inftlmount.c 30933diff -urNp linux-3.0.8/drivers/mtd/inftlmount.c linux-3.0.8/drivers/mtd/inftlmount.c
30572--- linux-3.0.7/drivers/mtd/inftlmount.c 2011-07-21 22:17:23.000000000 -0400 30934--- linux-3.0.8/drivers/mtd/inftlmount.c 2011-07-21 22:17:23.000000000 -0400
30573+++ linux-3.0.7/drivers/mtd/inftlmount.c 2011-08-23 21:48:14.000000000 -0400 30935+++ linux-3.0.8/drivers/mtd/inftlmount.c 2011-08-23 21:48:14.000000000 -0400
30574@@ -53,6 +53,8 @@ static int find_boot_record(struct INFTL 30936@@ -53,6 +53,8 @@ static int find_boot_record(struct INFTL
30575 struct INFTLPartition *ip; 30937 struct INFTLPartition *ip;
30576 size_t retlen; 30938 size_t retlen;
@@ -30580,9 +30942,9 @@ diff -urNp linux-3.0.7/drivers/mtd/inftlmount.c linux-3.0.7/drivers/mtd/inftlmou
30580 DEBUG(MTD_DEBUG_LEVEL3, "INFTL: find_boot_record(inftl=%p)\n", inftl); 30942 DEBUG(MTD_DEBUG_LEVEL3, "INFTL: find_boot_record(inftl=%p)\n", inftl);
30581 30943
30582 /* 30944 /*
30583diff -urNp linux-3.0.7/drivers/mtd/lpddr/qinfo_probe.c linux-3.0.7/drivers/mtd/lpddr/qinfo_probe.c 30945diff -urNp linux-3.0.8/drivers/mtd/lpddr/qinfo_probe.c linux-3.0.8/drivers/mtd/lpddr/qinfo_probe.c
30584--- linux-3.0.7/drivers/mtd/lpddr/qinfo_probe.c 2011-07-21 22:17:23.000000000 -0400 30946--- linux-3.0.8/drivers/mtd/lpddr/qinfo_probe.c 2011-07-21 22:17:23.000000000 -0400
30585+++ linux-3.0.7/drivers/mtd/lpddr/qinfo_probe.c 2011-08-23 21:48:14.000000000 -0400 30947+++ linux-3.0.8/drivers/mtd/lpddr/qinfo_probe.c 2011-08-23 21:48:14.000000000 -0400
30586@@ -106,6 +106,8 @@ static int lpddr_pfow_present(struct map 30948@@ -106,6 +106,8 @@ static int lpddr_pfow_present(struct map
30587 { 30949 {
30588 map_word pfow_val[4]; 30950 map_word pfow_val[4];
@@ -30592,9 +30954,9 @@ diff -urNp linux-3.0.7/drivers/mtd/lpddr/qinfo_probe.c linux-3.0.7/drivers/mtd/l
30592 /* Check identification string */ 30954 /* Check identification string */
30593 pfow_val[0] = map_read(map, map->pfow_base + PFOW_QUERY_STRING_P); 30955 pfow_val[0] = map_read(map, map->pfow_base + PFOW_QUERY_STRING_P);
30594 pfow_val[1] = map_read(map, map->pfow_base + PFOW_QUERY_STRING_F); 30956 pfow_val[1] = map_read(map, map->pfow_base + PFOW_QUERY_STRING_F);
30595diff -urNp linux-3.0.7/drivers/mtd/mtdchar.c linux-3.0.7/drivers/mtd/mtdchar.c 30957diff -urNp linux-3.0.8/drivers/mtd/mtdchar.c linux-3.0.8/drivers/mtd/mtdchar.c
30596--- linux-3.0.7/drivers/mtd/mtdchar.c 2011-07-21 22:17:23.000000000 -0400 30958--- linux-3.0.8/drivers/mtd/mtdchar.c 2011-07-21 22:17:23.000000000 -0400
30597+++ linux-3.0.7/drivers/mtd/mtdchar.c 2011-08-23 21:48:14.000000000 -0400 30959+++ linux-3.0.8/drivers/mtd/mtdchar.c 2011-08-23 21:48:14.000000000 -0400
30598@@ -553,6 +553,8 @@ static int mtd_ioctl(struct file *file, 30960@@ -553,6 +553,8 @@ static int mtd_ioctl(struct file *file,
30599 u_long size; 30961 u_long size;
30600 struct mtd_info_user info; 30962 struct mtd_info_user info;
@@ -30604,9 +30966,9 @@ diff -urNp linux-3.0.7/drivers/mtd/mtdchar.c linux-3.0.7/drivers/mtd/mtdchar.c
30604 DEBUG(MTD_DEBUG_LEVEL0, "MTD_ioctl\n"); 30966 DEBUG(MTD_DEBUG_LEVEL0, "MTD_ioctl\n");
30605 30967
30606 size = (cmd & IOCSIZE_MASK) >> IOCSIZE_SHIFT; 30968 size = (cmd & IOCSIZE_MASK) >> IOCSIZE_SHIFT;
30607diff -urNp linux-3.0.7/drivers/mtd/nand/denali.c linux-3.0.7/drivers/mtd/nand/denali.c 30969diff -urNp linux-3.0.8/drivers/mtd/nand/denali.c linux-3.0.8/drivers/mtd/nand/denali.c
30608--- linux-3.0.7/drivers/mtd/nand/denali.c 2011-07-21 22:17:23.000000000 -0400 30970--- linux-3.0.8/drivers/mtd/nand/denali.c 2011-07-21 22:17:23.000000000 -0400
30609+++ linux-3.0.7/drivers/mtd/nand/denali.c 2011-08-23 21:47:55.000000000 -0400 30971+++ linux-3.0.8/drivers/mtd/nand/denali.c 2011-08-23 21:47:55.000000000 -0400
30610@@ -26,6 +26,7 @@ 30972@@ -26,6 +26,7 @@
30611 #include <linux/pci.h> 30973 #include <linux/pci.h>
30612 #include <linux/mtd/mtd.h> 30974 #include <linux/mtd/mtd.h>
@@ -30615,9 +30977,9 @@ diff -urNp linux-3.0.7/drivers/mtd/nand/denali.c linux-3.0.7/drivers/mtd/nand/de
30615 30977
30616 #include "denali.h" 30978 #include "denali.h"
30617 30979
30618diff -urNp linux-3.0.7/drivers/mtd/nftlcore.c linux-3.0.7/drivers/mtd/nftlcore.c 30980diff -urNp linux-3.0.8/drivers/mtd/nftlcore.c linux-3.0.8/drivers/mtd/nftlcore.c
30619--- linux-3.0.7/drivers/mtd/nftlcore.c 2011-07-21 22:17:23.000000000 -0400 30981--- linux-3.0.8/drivers/mtd/nftlcore.c 2011-07-21 22:17:23.000000000 -0400
30620+++ linux-3.0.7/drivers/mtd/nftlcore.c 2011-08-23 21:48:14.000000000 -0400 30982+++ linux-3.0.8/drivers/mtd/nftlcore.c 2011-08-23 21:48:14.000000000 -0400
30621@@ -264,6 +264,8 @@ static u16 NFTL_foldchain (struct NFTLre 30983@@ -264,6 +264,8 @@ static u16 NFTL_foldchain (struct NFTLre
30622 int inplace = 1; 30984 int inplace = 1;
30623 size_t retlen; 30985 size_t retlen;
@@ -30627,9 +30989,9 @@ diff -urNp linux-3.0.7/drivers/mtd/nftlcore.c linux-3.0.7/drivers/mtd/nftlcore.c
30627 memset(BlockMap, 0xff, sizeof(BlockMap)); 30989 memset(BlockMap, 0xff, sizeof(BlockMap));
30628 memset(BlockFreeFound, 0, sizeof(BlockFreeFound)); 30990 memset(BlockFreeFound, 0, sizeof(BlockFreeFound));
30629 30991
30630diff -urNp linux-3.0.7/drivers/mtd/nftlmount.c linux-3.0.7/drivers/mtd/nftlmount.c 30992diff -urNp linux-3.0.8/drivers/mtd/nftlmount.c linux-3.0.8/drivers/mtd/nftlmount.c
30631--- linux-3.0.7/drivers/mtd/nftlmount.c 2011-07-21 22:17:23.000000000 -0400 30993--- linux-3.0.8/drivers/mtd/nftlmount.c 2011-07-21 22:17:23.000000000 -0400
30632+++ linux-3.0.7/drivers/mtd/nftlmount.c 2011-08-23 21:48:14.000000000 -0400 30994+++ linux-3.0.8/drivers/mtd/nftlmount.c 2011-08-23 21:48:14.000000000 -0400
30633@@ -24,6 +24,7 @@ 30995@@ -24,6 +24,7 @@
30634 #include <asm/errno.h> 30996 #include <asm/errno.h>
30635 #include <linux/delay.h> 30997 #include <linux/delay.h>
@@ -30647,9 +31009,9 @@ diff -urNp linux-3.0.7/drivers/mtd/nftlmount.c linux-3.0.7/drivers/mtd/nftlmount
30647 /* Assume logical EraseSize == physical erasesize for starting the scan. 31009 /* Assume logical EraseSize == physical erasesize for starting the scan.
30648 We'll sort it out later if we find a MediaHeader which says otherwise */ 31010 We'll sort it out later if we find a MediaHeader which says otherwise */
30649 /* Actually, we won't. The new DiskOnChip driver has already scanned 31011 /* Actually, we won't. The new DiskOnChip driver has already scanned
30650diff -urNp linux-3.0.7/drivers/mtd/ubi/build.c linux-3.0.7/drivers/mtd/ubi/build.c 31012diff -urNp linux-3.0.8/drivers/mtd/ubi/build.c linux-3.0.8/drivers/mtd/ubi/build.c
30651--- linux-3.0.7/drivers/mtd/ubi/build.c 2011-07-21 22:17:23.000000000 -0400 31013--- linux-3.0.8/drivers/mtd/ubi/build.c 2011-07-21 22:17:23.000000000 -0400
30652+++ linux-3.0.7/drivers/mtd/ubi/build.c 2011-08-23 21:47:55.000000000 -0400 31014+++ linux-3.0.8/drivers/mtd/ubi/build.c 2011-08-23 21:47:55.000000000 -0400
30653@@ -1287,7 +1287,7 @@ module_exit(ubi_exit); 31015@@ -1287,7 +1287,7 @@ module_exit(ubi_exit);
30654 static int __init bytes_str_to_int(const char *str) 31016 static int __init bytes_str_to_int(const char *str)
30655 { 31017 {
@@ -30689,9 +31051,9 @@ diff -urNp linux-3.0.7/drivers/mtd/ubi/build.c linux-3.0.7/drivers/mtd/ubi/build
30689 } 31051 }
30690 31052
30691 /** 31053 /**
30692diff -urNp linux-3.0.7/drivers/net/atlx/atl2.c linux-3.0.7/drivers/net/atlx/atl2.c 31054diff -urNp linux-3.0.8/drivers/net/atlx/atl2.c linux-3.0.8/drivers/net/atlx/atl2.c
30693--- linux-3.0.7/drivers/net/atlx/atl2.c 2011-07-21 22:17:23.000000000 -0400 31055--- linux-3.0.8/drivers/net/atlx/atl2.c 2011-07-21 22:17:23.000000000 -0400
30694+++ linux-3.0.7/drivers/net/atlx/atl2.c 2011-10-11 10:44:33.000000000 -0400 31056+++ linux-3.0.8/drivers/net/atlx/atl2.c 2011-10-11 10:44:33.000000000 -0400
30695@@ -2840,7 +2840,7 @@ static void atl2_force_ps(struct atl2_hw 31057@@ -2840,7 +2840,7 @@ static void atl2_force_ps(struct atl2_hw
30696 */ 31058 */
30697 31059
@@ -30701,9 +31063,9 @@ diff -urNp linux-3.0.7/drivers/net/atlx/atl2.c linux-3.0.7/drivers/net/atlx/atl2
30701 MODULE_PARM(X, "1-" __MODULE_STRING(ATL2_MAX_NIC) "i"); \ 31063 MODULE_PARM(X, "1-" __MODULE_STRING(ATL2_MAX_NIC) "i"); \
30702 MODULE_PARM_DESC(X, desc); 31064 MODULE_PARM_DESC(X, desc);
30703 #else 31065 #else
30704diff -urNp linux-3.0.7/drivers/net/bna/bfa_ioc_ct.c linux-3.0.7/drivers/net/bna/bfa_ioc_ct.c 31066diff -urNp linux-3.0.8/drivers/net/bna/bfa_ioc_ct.c linux-3.0.8/drivers/net/bna/bfa_ioc_ct.c
30705--- linux-3.0.7/drivers/net/bna/bfa_ioc_ct.c 2011-07-21 22:17:23.000000000 -0400 31067--- linux-3.0.8/drivers/net/bna/bfa_ioc_ct.c 2011-07-21 22:17:23.000000000 -0400
30706+++ linux-3.0.7/drivers/net/bna/bfa_ioc_ct.c 2011-08-23 21:47:55.000000000 -0400 31068+++ linux-3.0.8/drivers/net/bna/bfa_ioc_ct.c 2011-08-23 21:47:55.000000000 -0400
30707@@ -48,7 +48,21 @@ static void bfa_ioc_ct_sync_ack(struct b 31069@@ -48,7 +48,21 @@ static void bfa_ioc_ct_sync_ack(struct b
30708 static bool bfa_ioc_ct_sync_complete(struct bfa_ioc *ioc); 31070 static bool bfa_ioc_ct_sync_complete(struct bfa_ioc *ioc);
30709 static enum bfa_status bfa_ioc_ct_pll_init(void __iomem *rb, bool fcmode); 31071 static enum bfa_status bfa_ioc_ct_pll_init(void __iomem *rb, bool fcmode);
@@ -30748,9 +31110,9 @@ diff -urNp linux-3.0.7/drivers/net/bna/bfa_ioc_ct.c linux-3.0.7/drivers/net/bna/
30748 ioc->ioc_hwif = &nw_hwif_ct; 31110 ioc->ioc_hwif = &nw_hwif_ct;
30749 } 31111 }
30750 31112
30751diff -urNp linux-3.0.7/drivers/net/bna/bnad.c linux-3.0.7/drivers/net/bna/bnad.c 31113diff -urNp linux-3.0.8/drivers/net/bna/bnad.c linux-3.0.8/drivers/net/bna/bnad.c
30752--- linux-3.0.7/drivers/net/bna/bnad.c 2011-07-21 22:17:23.000000000 -0400 31114--- linux-3.0.8/drivers/net/bna/bnad.c 2011-07-21 22:17:23.000000000 -0400
30753+++ linux-3.0.7/drivers/net/bna/bnad.c 2011-08-23 21:47:55.000000000 -0400 31115+++ linux-3.0.8/drivers/net/bna/bnad.c 2011-08-23 21:47:55.000000000 -0400
30754@@ -1681,7 +1681,14 @@ bnad_setup_tx(struct bnad *bnad, uint tx 31116@@ -1681,7 +1681,14 @@ bnad_setup_tx(struct bnad *bnad, uint tx
30755 struct bna_intr_info *intr_info = 31117 struct bna_intr_info *intr_info =
30756 &res_info[BNA_TX_RES_INTR_T_TXCMPL].res_u.intr_info; 31118 &res_info[BNA_TX_RES_INTR_T_TXCMPL].res_u.intr_info;
@@ -30812,9 +31174,9 @@ diff -urNp linux-3.0.7/drivers/net/bna/bnad.c linux-3.0.7/drivers/net/bna/bnad.c
30812 /* Get BNA's resource requirement for one Rx object */ 31174 /* Get BNA's resource requirement for one Rx object */
30813 spin_lock_irqsave(&bnad->bna_lock, flags); 31175 spin_lock_irqsave(&bnad->bna_lock, flags);
30814 bna_rx_res_req(rx_config, res_info); 31176 bna_rx_res_req(rx_config, res_info);
30815diff -urNp linux-3.0.7/drivers/net/bnx2.c linux-3.0.7/drivers/net/bnx2.c 31177diff -urNp linux-3.0.8/drivers/net/bnx2.c linux-3.0.8/drivers/net/bnx2.c
30816--- linux-3.0.7/drivers/net/bnx2.c 2011-10-16 21:54:54.000000000 -0400 31178--- linux-3.0.8/drivers/net/bnx2.c 2011-10-24 08:05:30.000000000 -0400
30817+++ linux-3.0.7/drivers/net/bnx2.c 2011-10-16 21:55:27.000000000 -0400 31179+++ linux-3.0.8/drivers/net/bnx2.c 2011-10-16 21:55:27.000000000 -0400
30818@@ -5831,6 +5831,8 @@ bnx2_test_nvram(struct bnx2 *bp) 31180@@ -5831,6 +5831,8 @@ bnx2_test_nvram(struct bnx2 *bp)
30819 int rc = 0; 31181 int rc = 0;
30820 u32 magic, csum; 31182 u32 magic, csum;
@@ -30824,9 +31186,9 @@ diff -urNp linux-3.0.7/drivers/net/bnx2.c linux-3.0.7/drivers/net/bnx2.c
30824 if ((rc = bnx2_nvram_read(bp, 0, data, 4)) != 0) 31186 if ((rc = bnx2_nvram_read(bp, 0, data, 4)) != 0)
30825 goto test_nvram_done; 31187 goto test_nvram_done;
30826 31188
30827diff -urNp linux-3.0.7/drivers/net/bnx2x/bnx2x_ethtool.c linux-3.0.7/drivers/net/bnx2x/bnx2x_ethtool.c 31189diff -urNp linux-3.0.8/drivers/net/bnx2x/bnx2x_ethtool.c linux-3.0.8/drivers/net/bnx2x/bnx2x_ethtool.c
30828--- linux-3.0.7/drivers/net/bnx2x/bnx2x_ethtool.c 2011-07-21 22:17:23.000000000 -0400 31190--- linux-3.0.8/drivers/net/bnx2x/bnx2x_ethtool.c 2011-07-21 22:17:23.000000000 -0400
30829+++ linux-3.0.7/drivers/net/bnx2x/bnx2x_ethtool.c 2011-08-23 21:48:14.000000000 -0400 31191+++ linux-3.0.8/drivers/net/bnx2x/bnx2x_ethtool.c 2011-08-23 21:48:14.000000000 -0400
30830@@ -1705,6 +1705,8 @@ static int bnx2x_test_nvram(struct bnx2x 31192@@ -1705,6 +1705,8 @@ static int bnx2x_test_nvram(struct bnx2x
30831 int i, rc; 31193 int i, rc;
30832 u32 magic, crc; 31194 u32 magic, crc;
@@ -30836,9 +31198,9 @@ diff -urNp linux-3.0.7/drivers/net/bnx2x/bnx2x_ethtool.c linux-3.0.7/drivers/net
30836 if (BP_NOMCP(bp)) 31198 if (BP_NOMCP(bp))
30837 return 0; 31199 return 0;
30838 31200
30839diff -urNp linux-3.0.7/drivers/net/can/mscan/mscan.c linux-3.0.7/drivers/net/can/mscan/mscan.c 31201diff -urNp linux-3.0.8/drivers/net/can/mscan/mscan.c linux-3.0.8/drivers/net/can/mscan/mscan.c
30840--- linux-3.0.7/drivers/net/can/mscan/mscan.c 2011-07-21 22:17:23.000000000 -0400 31202--- linux-3.0.8/drivers/net/can/mscan/mscan.c 2011-07-21 22:17:23.000000000 -0400
30841+++ linux-3.0.7/drivers/net/can/mscan/mscan.c 2011-10-17 02:51:46.000000000 -0400 31203+++ linux-3.0.8/drivers/net/can/mscan/mscan.c 2011-10-17 02:51:46.000000000 -0400
30842@@ -261,11 +261,13 @@ static netdev_tx_t mscan_start_xmit(stru 31204@@ -261,11 +261,13 @@ static netdev_tx_t mscan_start_xmit(stru
30843 void __iomem *data = &regs->tx.dsr1_0; 31205 void __iomem *data = &regs->tx.dsr1_0;
30844 u16 *payload = (u16 *)frame->data; 31206 u16 *payload = (u16 *)frame->data;
@@ -30870,9 +31232,9 @@ diff -urNp linux-3.0.7/drivers/net/can/mscan/mscan.c linux-3.0.7/drivers/net/can
30870 } 31232 }
30871 31233
30872 out_8(&regs->canrflg, MSCAN_RXF); 31234 out_8(&regs->canrflg, MSCAN_RXF);
30873diff -urNp linux-3.0.7/drivers/net/cxgb3/l2t.h linux-3.0.7/drivers/net/cxgb3/l2t.h 31235diff -urNp linux-3.0.8/drivers/net/cxgb3/l2t.h linux-3.0.8/drivers/net/cxgb3/l2t.h
30874--- linux-3.0.7/drivers/net/cxgb3/l2t.h 2011-10-16 21:54:54.000000000 -0400 31236--- linux-3.0.8/drivers/net/cxgb3/l2t.h 2011-10-24 08:05:30.000000000 -0400
30875+++ linux-3.0.7/drivers/net/cxgb3/l2t.h 2011-10-16 21:55:27.000000000 -0400 31237+++ linux-3.0.8/drivers/net/cxgb3/l2t.h 2011-10-16 21:55:27.000000000 -0400
30876@@ -87,7 +87,7 @@ typedef void (*arp_failure_handler_func) 31238@@ -87,7 +87,7 @@ typedef void (*arp_failure_handler_func)
30877 */ 31239 */
30878 struct l2t_skb_cb { 31240 struct l2t_skb_cb {
@@ -30882,9 +31244,9 @@ diff -urNp linux-3.0.7/drivers/net/cxgb3/l2t.h linux-3.0.7/drivers/net/cxgb3/l2t
30882 31244
30883 #define L2T_SKB_CB(skb) ((struct l2t_skb_cb *)(skb)->cb) 31245 #define L2T_SKB_CB(skb) ((struct l2t_skb_cb *)(skb)->cb)
30884 31246
30885diff -urNp linux-3.0.7/drivers/net/cxgb4/cxgb4_main.c linux-3.0.7/drivers/net/cxgb4/cxgb4_main.c 31247diff -urNp linux-3.0.8/drivers/net/cxgb4/cxgb4_main.c linux-3.0.8/drivers/net/cxgb4/cxgb4_main.c
30886--- linux-3.0.7/drivers/net/cxgb4/cxgb4_main.c 2011-07-21 22:17:23.000000000 -0400 31248--- linux-3.0.8/drivers/net/cxgb4/cxgb4_main.c 2011-07-21 22:17:23.000000000 -0400
30887+++ linux-3.0.7/drivers/net/cxgb4/cxgb4_main.c 2011-08-23 21:48:14.000000000 -0400 31249+++ linux-3.0.8/drivers/net/cxgb4/cxgb4_main.c 2011-08-23 21:48:14.000000000 -0400
30888@@ -3396,6 +3396,8 @@ static int __devinit enable_msix(struct 31250@@ -3396,6 +3396,8 @@ static int __devinit enable_msix(struct
30889 unsigned int nchan = adap->params.nports; 31251 unsigned int nchan = adap->params.nports;
30890 struct msix_entry entries[MAX_INGQ + 1]; 31252 struct msix_entry entries[MAX_INGQ + 1];
@@ -30894,9 +31256,9 @@ diff -urNp linux-3.0.7/drivers/net/cxgb4/cxgb4_main.c linux-3.0.7/drivers/net/cx
30894 for (i = 0; i < ARRAY_SIZE(entries); ++i) 31256 for (i = 0; i < ARRAY_SIZE(entries); ++i)
30895 entries[i].entry = i; 31257 entries[i].entry = i;
30896 31258
30897diff -urNp linux-3.0.7/drivers/net/cxgb4/t4_hw.c linux-3.0.7/drivers/net/cxgb4/t4_hw.c 31259diff -urNp linux-3.0.8/drivers/net/cxgb4/t4_hw.c linux-3.0.8/drivers/net/cxgb4/t4_hw.c
30898--- linux-3.0.7/drivers/net/cxgb4/t4_hw.c 2011-07-21 22:17:23.000000000 -0400 31260--- linux-3.0.8/drivers/net/cxgb4/t4_hw.c 2011-07-21 22:17:23.000000000 -0400
30899+++ linux-3.0.7/drivers/net/cxgb4/t4_hw.c 2011-08-23 21:48:14.000000000 -0400 31261+++ linux-3.0.8/drivers/net/cxgb4/t4_hw.c 2011-08-23 21:48:14.000000000 -0400
30900@@ -362,6 +362,8 @@ static int get_vpd_params(struct adapter 31262@@ -362,6 +362,8 @@ static int get_vpd_params(struct adapter
30901 u8 vpd[VPD_LEN], csum; 31263 u8 vpd[VPD_LEN], csum;
30902 unsigned int vpdr_len, kw_offset, id_len; 31264 unsigned int vpdr_len, kw_offset, id_len;
@@ -30906,9 +31268,9 @@ diff -urNp linux-3.0.7/drivers/net/cxgb4/t4_hw.c linux-3.0.7/drivers/net/cxgb4/t
30906 ret = pci_read_vpd(adapter->pdev, VPD_BASE, sizeof(vpd), vpd); 31268 ret = pci_read_vpd(adapter->pdev, VPD_BASE, sizeof(vpd), vpd);
30907 if (ret < 0) 31269 if (ret < 0)
30908 return ret; 31270 return ret;
30909diff -urNp linux-3.0.7/drivers/net/e1000e/82571.c linux-3.0.7/drivers/net/e1000e/82571.c 31271diff -urNp linux-3.0.8/drivers/net/e1000e/82571.c linux-3.0.8/drivers/net/e1000e/82571.c
30910--- linux-3.0.7/drivers/net/e1000e/82571.c 2011-07-21 22:17:23.000000000 -0400 31272--- linux-3.0.8/drivers/net/e1000e/82571.c 2011-07-21 22:17:23.000000000 -0400
30911+++ linux-3.0.7/drivers/net/e1000e/82571.c 2011-08-23 21:47:55.000000000 -0400 31273+++ linux-3.0.8/drivers/net/e1000e/82571.c 2011-08-23 21:47:55.000000000 -0400
30912@@ -239,7 +239,7 @@ static s32 e1000_init_mac_params_82571(s 31274@@ -239,7 +239,7 @@ static s32 e1000_init_mac_params_82571(s
30913 { 31275 {
30914 struct e1000_hw *hw = &adapter->hw; 31276 struct e1000_hw *hw = &adapter->hw;
@@ -30918,9 +31280,9 @@ diff -urNp linux-3.0.7/drivers/net/e1000e/82571.c linux-3.0.7/drivers/net/e1000e
30918 u32 swsm = 0; 31280 u32 swsm = 0;
30919 u32 swsm2 = 0; 31281 u32 swsm2 = 0;
30920 bool force_clear_smbi = false; 31282 bool force_clear_smbi = false;
30921diff -urNp linux-3.0.7/drivers/net/e1000e/es2lan.c linux-3.0.7/drivers/net/e1000e/es2lan.c 31283diff -urNp linux-3.0.8/drivers/net/e1000e/es2lan.c linux-3.0.8/drivers/net/e1000e/es2lan.c
30922--- linux-3.0.7/drivers/net/e1000e/es2lan.c 2011-07-21 22:17:23.000000000 -0400 31284--- linux-3.0.8/drivers/net/e1000e/es2lan.c 2011-07-21 22:17:23.000000000 -0400
30923+++ linux-3.0.7/drivers/net/e1000e/es2lan.c 2011-08-23 21:47:55.000000000 -0400 31285+++ linux-3.0.8/drivers/net/e1000e/es2lan.c 2011-08-23 21:47:55.000000000 -0400
30924@@ -205,7 +205,7 @@ static s32 e1000_init_mac_params_80003es 31286@@ -205,7 +205,7 @@ static s32 e1000_init_mac_params_80003es
30925 { 31287 {
30926 struct e1000_hw *hw = &adapter->hw; 31288 struct e1000_hw *hw = &adapter->hw;
@@ -30930,9 +31292,9 @@ diff -urNp linux-3.0.7/drivers/net/e1000e/es2lan.c linux-3.0.7/drivers/net/e1000
30930 31292
30931 /* Set media type */ 31293 /* Set media type */
30932 switch (adapter->pdev->device) { 31294 switch (adapter->pdev->device) {
30933diff -urNp linux-3.0.7/drivers/net/e1000e/hw.h linux-3.0.7/drivers/net/e1000e/hw.h 31295diff -urNp linux-3.0.8/drivers/net/e1000e/hw.h linux-3.0.8/drivers/net/e1000e/hw.h
30934--- linux-3.0.7/drivers/net/e1000e/hw.h 2011-07-21 22:17:23.000000000 -0400 31296--- linux-3.0.8/drivers/net/e1000e/hw.h 2011-07-21 22:17:23.000000000 -0400
30935+++ linux-3.0.7/drivers/net/e1000e/hw.h 2011-08-23 21:47:55.000000000 -0400 31297+++ linux-3.0.8/drivers/net/e1000e/hw.h 2011-08-23 21:47:55.000000000 -0400
30936@@ -776,6 +776,7 @@ struct e1000_mac_operations { 31298@@ -776,6 +776,7 @@ struct e1000_mac_operations {
30937 void (*write_vfta)(struct e1000_hw *, u32, u32); 31299 void (*write_vfta)(struct e1000_hw *, u32, u32);
30938 s32 (*read_mac_addr)(struct e1000_hw *); 31300 s32 (*read_mac_addr)(struct e1000_hw *);
@@ -30979,9 +31341,9 @@ diff -urNp linux-3.0.7/drivers/net/e1000e/hw.h linux-3.0.7/drivers/net/e1000e/hw
30979 31341
30980 enum e1000_nvm_type type; 31342 enum e1000_nvm_type type;
30981 enum e1000_nvm_override override; 31343 enum e1000_nvm_override override;
30982diff -urNp linux-3.0.7/drivers/net/fealnx.c linux-3.0.7/drivers/net/fealnx.c 31344diff -urNp linux-3.0.8/drivers/net/fealnx.c linux-3.0.8/drivers/net/fealnx.c
30983--- linux-3.0.7/drivers/net/fealnx.c 2011-07-21 22:17:23.000000000 -0400 31345--- linux-3.0.8/drivers/net/fealnx.c 2011-07-21 22:17:23.000000000 -0400
30984+++ linux-3.0.7/drivers/net/fealnx.c 2011-10-11 10:44:33.000000000 -0400 31346+++ linux-3.0.8/drivers/net/fealnx.c 2011-10-11 10:44:33.000000000 -0400
30985@@ -150,7 +150,7 @@ struct chip_info { 31347@@ -150,7 +150,7 @@ struct chip_info {
30986 int flags; 31348 int flags;
30987 }; 31349 };
@@ -30991,9 +31353,9 @@ diff -urNp linux-3.0.7/drivers/net/fealnx.c linux-3.0.7/drivers/net/fealnx.c
30991 { "100/10M Ethernet PCI Adapter", HAS_MII_XCVR }, 31353 { "100/10M Ethernet PCI Adapter", HAS_MII_XCVR },
30992 { "100/10M Ethernet PCI Adapter", HAS_CHIP_XCVR }, 31354 { "100/10M Ethernet PCI Adapter", HAS_CHIP_XCVR },
30993 { "1000/100/10M Ethernet PCI Adapter", HAS_MII_XCVR }, 31355 { "1000/100/10M Ethernet PCI Adapter", HAS_MII_XCVR },
30994diff -urNp linux-3.0.7/drivers/net/hamradio/6pack.c linux-3.0.7/drivers/net/hamradio/6pack.c 31356diff -urNp linux-3.0.8/drivers/net/hamradio/6pack.c linux-3.0.8/drivers/net/hamradio/6pack.c
30995--- linux-3.0.7/drivers/net/hamradio/6pack.c 2011-07-21 22:17:23.000000000 -0400 31357--- linux-3.0.8/drivers/net/hamradio/6pack.c 2011-07-21 22:17:23.000000000 -0400
30996+++ linux-3.0.7/drivers/net/hamradio/6pack.c 2011-08-23 21:48:14.000000000 -0400 31358+++ linux-3.0.8/drivers/net/hamradio/6pack.c 2011-08-23 21:48:14.000000000 -0400
30997@@ -463,6 +463,8 @@ static void sixpack_receive_buf(struct t 31359@@ -463,6 +463,8 @@ static void sixpack_receive_buf(struct t
30998 unsigned char buf[512]; 31360 unsigned char buf[512];
30999 int count1; 31361 int count1;
@@ -31003,9 +31365,9 @@ diff -urNp linux-3.0.7/drivers/net/hamradio/6pack.c linux-3.0.7/drivers/net/hamr
31003 if (!count) 31365 if (!count)
31004 return; 31366 return;
31005 31367
31006diff -urNp linux-3.0.7/drivers/net/igb/e1000_hw.h linux-3.0.7/drivers/net/igb/e1000_hw.h 31368diff -urNp linux-3.0.8/drivers/net/igb/e1000_hw.h linux-3.0.8/drivers/net/igb/e1000_hw.h
31007--- linux-3.0.7/drivers/net/igb/e1000_hw.h 2011-07-21 22:17:23.000000000 -0400 31369--- linux-3.0.8/drivers/net/igb/e1000_hw.h 2011-07-21 22:17:23.000000000 -0400
31008+++ linux-3.0.7/drivers/net/igb/e1000_hw.h 2011-08-23 21:47:55.000000000 -0400 31370+++ linux-3.0.8/drivers/net/igb/e1000_hw.h 2011-08-23 21:47:55.000000000 -0400
31009@@ -314,6 +314,7 @@ struct e1000_mac_operations { 31371@@ -314,6 +314,7 @@ struct e1000_mac_operations {
31010 s32 (*read_mac_addr)(struct e1000_hw *); 31372 s32 (*read_mac_addr)(struct e1000_hw *);
31011 s32 (*get_speed_and_duplex)(struct e1000_hw *, u16 *, u16 *); 31373 s32 (*get_speed_and_duplex)(struct e1000_hw *, u16 *, u16 *);
@@ -31074,9 +31436,9 @@ diff -urNp linux-3.0.7/drivers/net/igb/e1000_hw.h linux-3.0.7/drivers/net/igb/e1
31074 struct e1000_mbx_stats stats; 31436 struct e1000_mbx_stats stats;
31075 u32 timeout; 31437 u32 timeout;
31076 u32 usec_delay; 31438 u32 usec_delay;
31077diff -urNp linux-3.0.7/drivers/net/igbvf/vf.h linux-3.0.7/drivers/net/igbvf/vf.h 31439diff -urNp linux-3.0.8/drivers/net/igbvf/vf.h linux-3.0.8/drivers/net/igbvf/vf.h
31078--- linux-3.0.7/drivers/net/igbvf/vf.h 2011-07-21 22:17:23.000000000 -0400 31440--- linux-3.0.8/drivers/net/igbvf/vf.h 2011-07-21 22:17:23.000000000 -0400
31079+++ linux-3.0.7/drivers/net/igbvf/vf.h 2011-08-23 21:47:55.000000000 -0400 31441+++ linux-3.0.8/drivers/net/igbvf/vf.h 2011-08-23 21:47:55.000000000 -0400
31080@@ -189,9 +189,10 @@ struct e1000_mac_operations { 31442@@ -189,9 +189,10 @@ struct e1000_mac_operations {
31081 s32 (*read_mac_addr)(struct e1000_hw *); 31443 s32 (*read_mac_addr)(struct e1000_hw *);
31082 s32 (*set_vfta)(struct e1000_hw *, u16, bool); 31444 s32 (*set_vfta)(struct e1000_hw *, u16, bool);
@@ -31106,9 +31468,9 @@ diff -urNp linux-3.0.7/drivers/net/igbvf/vf.h linux-3.0.7/drivers/net/igbvf/vf.h
31106 struct e1000_mbx_stats stats; 31468 struct e1000_mbx_stats stats;
31107 u32 timeout; 31469 u32 timeout;
31108 u32 usec_delay; 31470 u32 usec_delay;
31109diff -urNp linux-3.0.7/drivers/net/ixgb/ixgb_main.c linux-3.0.7/drivers/net/ixgb/ixgb_main.c 31471diff -urNp linux-3.0.8/drivers/net/ixgb/ixgb_main.c linux-3.0.8/drivers/net/ixgb/ixgb_main.c
31110--- linux-3.0.7/drivers/net/ixgb/ixgb_main.c 2011-07-21 22:17:23.000000000 -0400 31472--- linux-3.0.8/drivers/net/ixgb/ixgb_main.c 2011-07-21 22:17:23.000000000 -0400
31111+++ linux-3.0.7/drivers/net/ixgb/ixgb_main.c 2011-08-23 21:48:14.000000000 -0400 31473+++ linux-3.0.8/drivers/net/ixgb/ixgb_main.c 2011-08-23 21:48:14.000000000 -0400
31112@@ -1070,6 +1070,8 @@ ixgb_set_multi(struct net_device *netdev 31474@@ -1070,6 +1070,8 @@ ixgb_set_multi(struct net_device *netdev
31113 u32 rctl; 31475 u32 rctl;
31114 int i; 31476 int i;
@@ -31118,9 +31480,9 @@ diff -urNp linux-3.0.7/drivers/net/ixgb/ixgb_main.c linux-3.0.7/drivers/net/ixgb
31118 /* Check for Promiscuous and All Multicast modes */ 31480 /* Check for Promiscuous and All Multicast modes */
31119 31481
31120 rctl = IXGB_READ_REG(hw, RCTL); 31482 rctl = IXGB_READ_REG(hw, RCTL);
31121diff -urNp linux-3.0.7/drivers/net/ixgb/ixgb_param.c linux-3.0.7/drivers/net/ixgb/ixgb_param.c 31483diff -urNp linux-3.0.8/drivers/net/ixgb/ixgb_param.c linux-3.0.8/drivers/net/ixgb/ixgb_param.c
31122--- linux-3.0.7/drivers/net/ixgb/ixgb_param.c 2011-07-21 22:17:23.000000000 -0400 31484--- linux-3.0.8/drivers/net/ixgb/ixgb_param.c 2011-07-21 22:17:23.000000000 -0400
31123+++ linux-3.0.7/drivers/net/ixgb/ixgb_param.c 2011-08-23 21:48:14.000000000 -0400 31485+++ linux-3.0.8/drivers/net/ixgb/ixgb_param.c 2011-08-23 21:48:14.000000000 -0400
31124@@ -261,6 +261,9 @@ void __devinit 31486@@ -261,6 +261,9 @@ void __devinit
31125 ixgb_check_options(struct ixgb_adapter *adapter) 31487 ixgb_check_options(struct ixgb_adapter *adapter)
31126 { 31488 {
@@ -31131,9 +31493,9 @@ diff -urNp linux-3.0.7/drivers/net/ixgb/ixgb_param.c linux-3.0.7/drivers/net/ixg
31131 if (bd >= IXGB_MAX_NIC) { 31493 if (bd >= IXGB_MAX_NIC) {
31132 pr_notice("Warning: no configuration for board #%i\n", bd); 31494 pr_notice("Warning: no configuration for board #%i\n", bd);
31133 pr_notice("Using defaults for all values\n"); 31495 pr_notice("Using defaults for all values\n");
31134diff -urNp linux-3.0.7/drivers/net/ixgbe/ixgbe_type.h linux-3.0.7/drivers/net/ixgbe/ixgbe_type.h 31496diff -urNp linux-3.0.8/drivers/net/ixgbe/ixgbe_type.h linux-3.0.8/drivers/net/ixgbe/ixgbe_type.h
31135--- linux-3.0.7/drivers/net/ixgbe/ixgbe_type.h 2011-07-21 22:17:23.000000000 -0400 31497--- linux-3.0.8/drivers/net/ixgbe/ixgbe_type.h 2011-07-21 22:17:23.000000000 -0400
31136+++ linux-3.0.7/drivers/net/ixgbe/ixgbe_type.h 2011-08-23 21:47:55.000000000 -0400 31498+++ linux-3.0.8/drivers/net/ixgbe/ixgbe_type.h 2011-08-23 21:47:55.000000000 -0400
31137@@ -2584,6 +2584,7 @@ struct ixgbe_eeprom_operations { 31499@@ -2584,6 +2584,7 @@ struct ixgbe_eeprom_operations {
31138 s32 (*update_checksum)(struct ixgbe_hw *); 31500 s32 (*update_checksum)(struct ixgbe_hw *);
31139 u16 (*calc_checksum)(struct ixgbe_hw *); 31501 u16 (*calc_checksum)(struct ixgbe_hw *);
@@ -31197,9 +31559,9 @@ diff -urNp linux-3.0.7/drivers/net/ixgbe/ixgbe_type.h linux-3.0.7/drivers/net/ix
31197 struct ixgbe_mbx_stats stats; 31559 struct ixgbe_mbx_stats stats;
31198 u32 timeout; 31560 u32 timeout;
31199 u32 usec_delay; 31561 u32 usec_delay;
31200diff -urNp linux-3.0.7/drivers/net/ixgbevf/vf.h linux-3.0.7/drivers/net/ixgbevf/vf.h 31562diff -urNp linux-3.0.8/drivers/net/ixgbevf/vf.h linux-3.0.8/drivers/net/ixgbevf/vf.h
31201--- linux-3.0.7/drivers/net/ixgbevf/vf.h 2011-07-21 22:17:23.000000000 -0400 31563--- linux-3.0.8/drivers/net/ixgbevf/vf.h 2011-07-21 22:17:23.000000000 -0400
31202+++ linux-3.0.7/drivers/net/ixgbevf/vf.h 2011-08-23 21:47:55.000000000 -0400 31564+++ linux-3.0.8/drivers/net/ixgbevf/vf.h 2011-08-23 21:47:55.000000000 -0400
31203@@ -70,6 +70,7 @@ struct ixgbe_mac_operations { 31565@@ -70,6 +70,7 @@ struct ixgbe_mac_operations {
31204 s32 (*clear_vfta)(struct ixgbe_hw *); 31566 s32 (*clear_vfta)(struct ixgbe_hw *);
31205 s32 (*set_vfta)(struct ixgbe_hw *, u32, u32, bool); 31567 s32 (*set_vfta)(struct ixgbe_hw *, u32, u32, bool);
@@ -31234,9 +31596,9 @@ diff -urNp linux-3.0.7/drivers/net/ixgbevf/vf.h linux-3.0.7/drivers/net/ixgbevf/
31234 struct ixgbe_mbx_stats stats; 31596 struct ixgbe_mbx_stats stats;
31235 u32 timeout; 31597 u32 timeout;
31236 u32 udelay; 31598 u32 udelay;
31237diff -urNp linux-3.0.7/drivers/net/ksz884x.c linux-3.0.7/drivers/net/ksz884x.c 31599diff -urNp linux-3.0.8/drivers/net/ksz884x.c linux-3.0.8/drivers/net/ksz884x.c
31238--- linux-3.0.7/drivers/net/ksz884x.c 2011-07-21 22:17:23.000000000 -0400 31600--- linux-3.0.8/drivers/net/ksz884x.c 2011-07-21 22:17:23.000000000 -0400
31239+++ linux-3.0.7/drivers/net/ksz884x.c 2011-08-23 21:48:14.000000000 -0400 31601+++ linux-3.0.8/drivers/net/ksz884x.c 2011-08-23 21:48:14.000000000 -0400
31240@@ -6534,6 +6534,8 @@ static void netdev_get_ethtool_stats(str 31602@@ -6534,6 +6534,8 @@ static void netdev_get_ethtool_stats(str
31241 int rc; 31603 int rc;
31242 u64 counter[TOTAL_PORT_COUNTER_NUM]; 31604 u64 counter[TOTAL_PORT_COUNTER_NUM];
@@ -31246,9 +31608,9 @@ diff -urNp linux-3.0.7/drivers/net/ksz884x.c linux-3.0.7/drivers/net/ksz884x.c
31246 mutex_lock(&hw_priv->lock); 31608 mutex_lock(&hw_priv->lock);
31247 n = SWITCH_PORT_NUM; 31609 n = SWITCH_PORT_NUM;
31248 for (i = 0, p = port->first_port; i < port->mib_port_cnt; i++, p++) { 31610 for (i = 0, p = port->first_port; i < port->mib_port_cnt; i++, p++) {
31249diff -urNp linux-3.0.7/drivers/net/mlx4/main.c linux-3.0.7/drivers/net/mlx4/main.c 31611diff -urNp linux-3.0.8/drivers/net/mlx4/main.c linux-3.0.8/drivers/net/mlx4/main.c
31250--- linux-3.0.7/drivers/net/mlx4/main.c 2011-07-21 22:17:23.000000000 -0400 31612--- linux-3.0.8/drivers/net/mlx4/main.c 2011-07-21 22:17:23.000000000 -0400
31251+++ linux-3.0.7/drivers/net/mlx4/main.c 2011-08-23 21:48:14.000000000 -0400 31613+++ linux-3.0.8/drivers/net/mlx4/main.c 2011-08-23 21:48:14.000000000 -0400
31252@@ -40,6 +40,7 @@ 31614@@ -40,6 +40,7 @@
31253 #include <linux/dma-mapping.h> 31615 #include <linux/dma-mapping.h>
31254 #include <linux/slab.h> 31616 #include <linux/slab.h>
@@ -31266,9 +31628,9 @@ diff -urNp linux-3.0.7/drivers/net/mlx4/main.c linux-3.0.7/drivers/net/mlx4/main
31266 err = mlx4_QUERY_FW(dev); 31628 err = mlx4_QUERY_FW(dev);
31267 if (err) { 31629 if (err) {
31268 if (err == -EACCES) 31630 if (err == -EACCES)
31269diff -urNp linux-3.0.7/drivers/net/niu.c linux-3.0.7/drivers/net/niu.c 31631diff -urNp linux-3.0.8/drivers/net/niu.c linux-3.0.8/drivers/net/niu.c
31270--- linux-3.0.7/drivers/net/niu.c 2011-09-02 18:11:21.000000000 -0400 31632--- linux-3.0.8/drivers/net/niu.c 2011-10-24 08:05:21.000000000 -0400
31271+++ linux-3.0.7/drivers/net/niu.c 2011-08-23 21:48:14.000000000 -0400 31633+++ linux-3.0.8/drivers/net/niu.c 2011-08-23 21:48:14.000000000 -0400
31272@@ -9056,6 +9056,8 @@ static void __devinit niu_try_msix(struc 31634@@ -9056,6 +9056,8 @@ static void __devinit niu_try_msix(struc
31273 int i, num_irqs, err; 31635 int i, num_irqs, err;
31274 u8 first_ldg; 31636 u8 first_ldg;
@@ -31278,9 +31640,9 @@ diff -urNp linux-3.0.7/drivers/net/niu.c linux-3.0.7/drivers/net/niu.c
31278 first_ldg = (NIU_NUM_LDG / parent->num_ports) * np->port; 31640 first_ldg = (NIU_NUM_LDG / parent->num_ports) * np->port;
31279 for (i = 0; i < (NIU_NUM_LDG / parent->num_ports); i++) 31641 for (i = 0; i < (NIU_NUM_LDG / parent->num_ports); i++)
31280 ldg_num_map[i] = first_ldg + i; 31642 ldg_num_map[i] = first_ldg + i;
31281diff -urNp linux-3.0.7/drivers/net/pcnet32.c linux-3.0.7/drivers/net/pcnet32.c 31643diff -urNp linux-3.0.8/drivers/net/pcnet32.c linux-3.0.8/drivers/net/pcnet32.c
31282--- linux-3.0.7/drivers/net/pcnet32.c 2011-07-21 22:17:23.000000000 -0400 31644--- linux-3.0.8/drivers/net/pcnet32.c 2011-07-21 22:17:23.000000000 -0400
31283+++ linux-3.0.7/drivers/net/pcnet32.c 2011-08-23 21:47:55.000000000 -0400 31645+++ linux-3.0.8/drivers/net/pcnet32.c 2011-08-23 21:47:55.000000000 -0400
31284@@ -82,7 +82,7 @@ static int cards_found; 31646@@ -82,7 +82,7 @@ static int cards_found;
31285 /* 31647 /*
31286 * VLB I/O addresses 31648 * VLB I/O addresses
@@ -31903,9 +32265,9 @@ diff -urNp linux-3.0.7/drivers/net/pcnet32.c linux-3.0.7/drivers/net/pcnet32.c
31903 } 32265 }
31904 } else { 32266 } else {
31905 netif_info(lp, link, dev, "link up\n"); 32267 netif_info(lp, link, dev, "link up\n");
31906diff -urNp linux-3.0.7/drivers/net/ppp_generic.c linux-3.0.7/drivers/net/ppp_generic.c 32268diff -urNp linux-3.0.8/drivers/net/ppp_generic.c linux-3.0.8/drivers/net/ppp_generic.c
31907--- linux-3.0.7/drivers/net/ppp_generic.c 2011-07-21 22:17:23.000000000 -0400 32269--- linux-3.0.8/drivers/net/ppp_generic.c 2011-07-21 22:17:23.000000000 -0400
31908+++ linux-3.0.7/drivers/net/ppp_generic.c 2011-08-23 21:47:55.000000000 -0400 32270+++ linux-3.0.8/drivers/net/ppp_generic.c 2011-08-23 21:47:55.000000000 -0400
31909@@ -987,7 +987,6 @@ ppp_net_ioctl(struct net_device *dev, st 32271@@ -987,7 +987,6 @@ ppp_net_ioctl(struct net_device *dev, st
31910 void __user *addr = (void __user *) ifr->ifr_ifru.ifru_data; 32272 void __user *addr = (void __user *) ifr->ifr_ifru.ifru_data;
31911 struct ppp_stats stats; 32273 struct ppp_stats stats;
@@ -31924,9 +32286,9 @@ diff -urNp linux-3.0.7/drivers/net/ppp_generic.c linux-3.0.7/drivers/net/ppp_gen
31924 break; 32286 break;
31925 err = 0; 32287 err = 0;
31926 break; 32288 break;
31927diff -urNp linux-3.0.7/drivers/net/r8169.c linux-3.0.7/drivers/net/r8169.c 32289diff -urNp linux-3.0.8/drivers/net/r8169.c linux-3.0.8/drivers/net/r8169.c
31928--- linux-3.0.7/drivers/net/r8169.c 2011-09-02 18:11:21.000000000 -0400 32290--- linux-3.0.8/drivers/net/r8169.c 2011-10-24 08:05:21.000000000 -0400
31929+++ linux-3.0.7/drivers/net/r8169.c 2011-08-23 21:47:55.000000000 -0400 32291+++ linux-3.0.8/drivers/net/r8169.c 2011-08-23 21:47:55.000000000 -0400
31930@@ -645,12 +645,12 @@ struct rtl8169_private { 32292@@ -645,12 +645,12 @@ struct rtl8169_private {
31931 struct mdio_ops { 32293 struct mdio_ops {
31932 void (*write)(void __iomem *, int, int); 32294 void (*write)(void __iomem *, int, int);
@@ -31942,9 +32304,9 @@ diff -urNp linux-3.0.7/drivers/net/r8169.c linux-3.0.7/drivers/net/r8169.c
31942 32304
31943 int (*set_speed)(struct net_device *, u8 aneg, u16 sp, u8 dpx, u32 adv); 32305 int (*set_speed)(struct net_device *, u8 aneg, u16 sp, u8 dpx, u32 adv);
31944 int (*get_settings)(struct net_device *, struct ethtool_cmd *); 32306 int (*get_settings)(struct net_device *, struct ethtool_cmd *);
31945diff -urNp linux-3.0.7/drivers/net/sis190.c linux-3.0.7/drivers/net/sis190.c 32307diff -urNp linux-3.0.8/drivers/net/sis190.c linux-3.0.8/drivers/net/sis190.c
31946--- linux-3.0.7/drivers/net/sis190.c 2011-09-02 18:11:21.000000000 -0400 32308--- linux-3.0.8/drivers/net/sis190.c 2011-10-24 08:05:21.000000000 -0400
31947+++ linux-3.0.7/drivers/net/sis190.c 2011-10-11 10:44:33.000000000 -0400 32309+++ linux-3.0.8/drivers/net/sis190.c 2011-10-11 10:44:33.000000000 -0400
31948@@ -1623,7 +1623,7 @@ static int __devinit sis190_get_mac_addr 32310@@ -1623,7 +1623,7 @@ static int __devinit sis190_get_mac_addr
31949 static int __devinit sis190_get_mac_addr_from_apc(struct pci_dev *pdev, 32311 static int __devinit sis190_get_mac_addr_from_apc(struct pci_dev *pdev,
31950 struct net_device *dev) 32312 struct net_device *dev)
@@ -31954,9 +32316,9 @@ diff -urNp linux-3.0.7/drivers/net/sis190.c linux-3.0.7/drivers/net/sis190.c
31954 struct sis190_private *tp = netdev_priv(dev); 32316 struct sis190_private *tp = netdev_priv(dev);
31955 struct pci_dev *isa_bridge; 32317 struct pci_dev *isa_bridge;
31956 u8 reg, tmp8; 32318 u8 reg, tmp8;
31957diff -urNp linux-3.0.7/drivers/net/sundance.c linux-3.0.7/drivers/net/sundance.c 32319diff -urNp linux-3.0.8/drivers/net/sundance.c linux-3.0.8/drivers/net/sundance.c
31958--- linux-3.0.7/drivers/net/sundance.c 2011-07-21 22:17:23.000000000 -0400 32320--- linux-3.0.8/drivers/net/sundance.c 2011-07-21 22:17:23.000000000 -0400
31959+++ linux-3.0.7/drivers/net/sundance.c 2011-10-11 10:44:33.000000000 -0400 32321+++ linux-3.0.8/drivers/net/sundance.c 2011-10-11 10:44:33.000000000 -0400
31960@@ -218,7 +218,7 @@ enum { 32322@@ -218,7 +218,7 @@ enum {
31961 struct pci_id_info { 32323 struct pci_id_info {
31962 const char *name; 32324 const char *name;
@@ -31966,9 +32328,9 @@ diff -urNp linux-3.0.7/drivers/net/sundance.c linux-3.0.7/drivers/net/sundance.c
31966 {"D-Link DFE-550TX FAST Ethernet Adapter"}, 32328 {"D-Link DFE-550TX FAST Ethernet Adapter"},
31967 {"D-Link DFE-550FX 100Mbps Fiber-optics Adapter"}, 32329 {"D-Link DFE-550FX 100Mbps Fiber-optics Adapter"},
31968 {"D-Link DFE-580TX 4 port Server Adapter"}, 32330 {"D-Link DFE-580TX 4 port Server Adapter"},
31969diff -urNp linux-3.0.7/drivers/net/tg3.h linux-3.0.7/drivers/net/tg3.h 32331diff -urNp linux-3.0.8/drivers/net/tg3.h linux-3.0.8/drivers/net/tg3.h
31970--- linux-3.0.7/drivers/net/tg3.h 2011-07-21 22:17:23.000000000 -0400 32332--- linux-3.0.8/drivers/net/tg3.h 2011-07-21 22:17:23.000000000 -0400
31971+++ linux-3.0.7/drivers/net/tg3.h 2011-08-23 21:47:55.000000000 -0400 32333+++ linux-3.0.8/drivers/net/tg3.h 2011-08-23 21:47:55.000000000 -0400
31972@@ -134,6 +134,7 @@ 32334@@ -134,6 +134,7 @@
31973 #define CHIPREV_ID_5750_A0 0x4000 32335 #define CHIPREV_ID_5750_A0 0x4000
31974 #define CHIPREV_ID_5750_A1 0x4001 32336 #define CHIPREV_ID_5750_A1 0x4001
@@ -31977,9 +32339,9 @@ diff -urNp linux-3.0.7/drivers/net/tg3.h linux-3.0.7/drivers/net/tg3.h
31977 #define CHIPREV_ID_5750_C2 0x4202 32339 #define CHIPREV_ID_5750_C2 0x4202
31978 #define CHIPREV_ID_5752_A0_HW 0x5000 32340 #define CHIPREV_ID_5752_A0_HW 0x5000
31979 #define CHIPREV_ID_5752_A0 0x6000 32341 #define CHIPREV_ID_5752_A0 0x6000
31980diff -urNp linux-3.0.7/drivers/net/tokenring/abyss.c linux-3.0.7/drivers/net/tokenring/abyss.c 32342diff -urNp linux-3.0.8/drivers/net/tokenring/abyss.c linux-3.0.8/drivers/net/tokenring/abyss.c
31981--- linux-3.0.7/drivers/net/tokenring/abyss.c 2011-07-21 22:17:23.000000000 -0400 32343--- linux-3.0.8/drivers/net/tokenring/abyss.c 2011-07-21 22:17:23.000000000 -0400
31982+++ linux-3.0.7/drivers/net/tokenring/abyss.c 2011-08-23 21:47:55.000000000 -0400 32344+++ linux-3.0.8/drivers/net/tokenring/abyss.c 2011-08-23 21:47:55.000000000 -0400
31983@@ -451,10 +451,12 @@ static struct pci_driver abyss_driver = 32345@@ -451,10 +451,12 @@ static struct pci_driver abyss_driver =
31984 32346
31985 static int __init abyss_init (void) 32347 static int __init abyss_init (void)
@@ -31996,9 +32358,9 @@ diff -urNp linux-3.0.7/drivers/net/tokenring/abyss.c linux-3.0.7/drivers/net/tok
31996 32358
31997 return pci_register_driver(&abyss_driver); 32359 return pci_register_driver(&abyss_driver);
31998 } 32360 }
31999diff -urNp linux-3.0.7/drivers/net/tokenring/madgemc.c linux-3.0.7/drivers/net/tokenring/madgemc.c 32361diff -urNp linux-3.0.8/drivers/net/tokenring/madgemc.c linux-3.0.8/drivers/net/tokenring/madgemc.c
32000--- linux-3.0.7/drivers/net/tokenring/madgemc.c 2011-07-21 22:17:23.000000000 -0400 32362--- linux-3.0.8/drivers/net/tokenring/madgemc.c 2011-07-21 22:17:23.000000000 -0400
32001+++ linux-3.0.7/drivers/net/tokenring/madgemc.c 2011-08-23 21:47:55.000000000 -0400 32363+++ linux-3.0.8/drivers/net/tokenring/madgemc.c 2011-08-23 21:47:55.000000000 -0400
32002@@ -744,9 +744,11 @@ static struct mca_driver madgemc_driver 32364@@ -744,9 +744,11 @@ static struct mca_driver madgemc_driver
32003 32365
32004 static int __init madgemc_init (void) 32366 static int __init madgemc_init (void)
@@ -32014,9 +32376,9 @@ diff -urNp linux-3.0.7/drivers/net/tokenring/madgemc.c linux-3.0.7/drivers/net/t
32014 32376
32015 return mca_register_driver (&madgemc_driver); 32377 return mca_register_driver (&madgemc_driver);
32016 } 32378 }
32017diff -urNp linux-3.0.7/drivers/net/tokenring/proteon.c linux-3.0.7/drivers/net/tokenring/proteon.c 32379diff -urNp linux-3.0.8/drivers/net/tokenring/proteon.c linux-3.0.8/drivers/net/tokenring/proteon.c
32018--- linux-3.0.7/drivers/net/tokenring/proteon.c 2011-07-21 22:17:23.000000000 -0400 32380--- linux-3.0.8/drivers/net/tokenring/proteon.c 2011-07-21 22:17:23.000000000 -0400
32019+++ linux-3.0.7/drivers/net/tokenring/proteon.c 2011-08-23 21:47:55.000000000 -0400 32381+++ linux-3.0.8/drivers/net/tokenring/proteon.c 2011-08-23 21:47:55.000000000 -0400
32020@@ -353,9 +353,11 @@ static int __init proteon_init(void) 32382@@ -353,9 +353,11 @@ static int __init proteon_init(void)
32021 struct platform_device *pdev; 32383 struct platform_device *pdev;
32022 int i, num = 0, err = 0; 32384 int i, num = 0, err = 0;
@@ -32032,9 +32394,9 @@ diff -urNp linux-3.0.7/drivers/net/tokenring/proteon.c linux-3.0.7/drivers/net/t
32032 32394
32033 err = platform_driver_register(&proteon_driver); 32395 err = platform_driver_register(&proteon_driver);
32034 if (err) 32396 if (err)
32035diff -urNp linux-3.0.7/drivers/net/tokenring/skisa.c linux-3.0.7/drivers/net/tokenring/skisa.c 32397diff -urNp linux-3.0.8/drivers/net/tokenring/skisa.c linux-3.0.8/drivers/net/tokenring/skisa.c
32036--- linux-3.0.7/drivers/net/tokenring/skisa.c 2011-07-21 22:17:23.000000000 -0400 32398--- linux-3.0.8/drivers/net/tokenring/skisa.c 2011-07-21 22:17:23.000000000 -0400
32037+++ linux-3.0.7/drivers/net/tokenring/skisa.c 2011-08-23 21:47:55.000000000 -0400 32399+++ linux-3.0.8/drivers/net/tokenring/skisa.c 2011-08-23 21:47:55.000000000 -0400
32038@@ -363,9 +363,11 @@ static int __init sk_isa_init(void) 32400@@ -363,9 +363,11 @@ static int __init sk_isa_init(void)
32039 struct platform_device *pdev; 32401 struct platform_device *pdev;
32040 int i, num = 0, err = 0; 32402 int i, num = 0, err = 0;
@@ -32050,9 +32412,9 @@ diff -urNp linux-3.0.7/drivers/net/tokenring/skisa.c linux-3.0.7/drivers/net/tok
32050 32412
32051 err = platform_driver_register(&sk_isa_driver); 32413 err = platform_driver_register(&sk_isa_driver);
32052 if (err) 32414 if (err)
32053diff -urNp linux-3.0.7/drivers/net/tulip/de2104x.c linux-3.0.7/drivers/net/tulip/de2104x.c 32415diff -urNp linux-3.0.8/drivers/net/tulip/de2104x.c linux-3.0.8/drivers/net/tulip/de2104x.c
32054--- linux-3.0.7/drivers/net/tulip/de2104x.c 2011-07-21 22:17:23.000000000 -0400 32416--- linux-3.0.8/drivers/net/tulip/de2104x.c 2011-07-21 22:17:23.000000000 -0400
32055+++ linux-3.0.7/drivers/net/tulip/de2104x.c 2011-08-23 21:48:14.000000000 -0400 32417+++ linux-3.0.8/drivers/net/tulip/de2104x.c 2011-08-23 21:48:14.000000000 -0400
32056@@ -1794,6 +1794,8 @@ static void __devinit de21041_get_srom_i 32418@@ -1794,6 +1794,8 @@ static void __devinit de21041_get_srom_i
32057 struct de_srom_info_leaf *il; 32419 struct de_srom_info_leaf *il;
32058 void *bufp; 32420 void *bufp;
@@ -32062,9 +32424,9 @@ diff -urNp linux-3.0.7/drivers/net/tulip/de2104x.c linux-3.0.7/drivers/net/tulip
32062 /* download entire eeprom */ 32424 /* download entire eeprom */
32063 for (i = 0; i < DE_EEPROM_WORDS; i++) 32425 for (i = 0; i < DE_EEPROM_WORDS; i++)
32064 ((__le16 *)ee_data)[i] = 32426 ((__le16 *)ee_data)[i] =
32065diff -urNp linux-3.0.7/drivers/net/tulip/de4x5.c linux-3.0.7/drivers/net/tulip/de4x5.c 32427diff -urNp linux-3.0.8/drivers/net/tulip/de4x5.c linux-3.0.8/drivers/net/tulip/de4x5.c
32066--- linux-3.0.7/drivers/net/tulip/de4x5.c 2011-07-21 22:17:23.000000000 -0400 32428--- linux-3.0.8/drivers/net/tulip/de4x5.c 2011-07-21 22:17:23.000000000 -0400
32067+++ linux-3.0.7/drivers/net/tulip/de4x5.c 2011-08-23 21:47:55.000000000 -0400 32429+++ linux-3.0.8/drivers/net/tulip/de4x5.c 2011-08-23 21:47:55.000000000 -0400
32068@@ -5401,7 +5401,7 @@ de4x5_ioctl(struct net_device *dev, stru 32430@@ -5401,7 +5401,7 @@ de4x5_ioctl(struct net_device *dev, stru
32069 for (i=0; i<ETH_ALEN; i++) { 32431 for (i=0; i<ETH_ALEN; i++) {
32070 tmp.addr[i] = dev->dev_addr[i]; 32432 tmp.addr[i] = dev->dev_addr[i];
@@ -32083,9 +32445,9 @@ diff -urNp linux-3.0.7/drivers/net/tulip/de4x5.c linux-3.0.7/drivers/net/tulip/d
32083 return -EFAULT; 32445 return -EFAULT;
32084 break; 32446 break;
32085 } 32447 }
32086diff -urNp linux-3.0.7/drivers/net/tulip/eeprom.c linux-3.0.7/drivers/net/tulip/eeprom.c 32448diff -urNp linux-3.0.8/drivers/net/tulip/eeprom.c linux-3.0.8/drivers/net/tulip/eeprom.c
32087--- linux-3.0.7/drivers/net/tulip/eeprom.c 2011-07-21 22:17:23.000000000 -0400 32449--- linux-3.0.8/drivers/net/tulip/eeprom.c 2011-07-21 22:17:23.000000000 -0400
32088+++ linux-3.0.7/drivers/net/tulip/eeprom.c 2011-10-11 10:44:33.000000000 -0400 32450+++ linux-3.0.8/drivers/net/tulip/eeprom.c 2011-10-11 10:44:33.000000000 -0400
32089@@ -81,7 +81,7 @@ static struct eeprom_fixup eeprom_fixups 32451@@ -81,7 +81,7 @@ static struct eeprom_fixup eeprom_fixups
32090 {NULL}}; 32452 {NULL}};
32091 32453
@@ -32095,9 +32457,9 @@ diff -urNp linux-3.0.7/drivers/net/tulip/eeprom.c linux-3.0.7/drivers/net/tulip/
32095 "21140 non-MII", 32457 "21140 non-MII",
32096 "21140 MII PHY", 32458 "21140 MII PHY",
32097 "21142 Serial PHY", 32459 "21142 Serial PHY",
32098diff -urNp linux-3.0.7/drivers/net/tulip/winbond-840.c linux-3.0.7/drivers/net/tulip/winbond-840.c 32460diff -urNp linux-3.0.8/drivers/net/tulip/winbond-840.c linux-3.0.8/drivers/net/tulip/winbond-840.c
32099--- linux-3.0.7/drivers/net/tulip/winbond-840.c 2011-07-21 22:17:23.000000000 -0400 32461--- linux-3.0.8/drivers/net/tulip/winbond-840.c 2011-07-21 22:17:23.000000000 -0400
32100+++ linux-3.0.7/drivers/net/tulip/winbond-840.c 2011-10-11 10:44:33.000000000 -0400 32462+++ linux-3.0.8/drivers/net/tulip/winbond-840.c 2011-10-11 10:44:33.000000000 -0400
32101@@ -236,7 +236,7 @@ struct pci_id_info { 32463@@ -236,7 +236,7 @@ struct pci_id_info {
32102 int drv_flags; /* Driver use, intended as capability flags. */ 32464 int drv_flags; /* Driver use, intended as capability flags. */
32103 }; 32465 };
@@ -32107,9 +32469,9 @@ diff -urNp linux-3.0.7/drivers/net/tulip/winbond-840.c linux-3.0.7/drivers/net/t
32107 { /* Sometime a Level-One switch card. */ 32469 { /* Sometime a Level-One switch card. */
32108 "Winbond W89c840", CanHaveMII | HasBrokenTx | FDXOnNoMII}, 32470 "Winbond W89c840", CanHaveMII | HasBrokenTx | FDXOnNoMII},
32109 { "Winbond W89c840", CanHaveMII | HasBrokenTx}, 32471 { "Winbond W89c840", CanHaveMII | HasBrokenTx},
32110diff -urNp linux-3.0.7/drivers/net/usb/hso.c linux-3.0.7/drivers/net/usb/hso.c 32472diff -urNp linux-3.0.8/drivers/net/usb/hso.c linux-3.0.8/drivers/net/usb/hso.c
32111--- linux-3.0.7/drivers/net/usb/hso.c 2011-07-21 22:17:23.000000000 -0400 32473--- linux-3.0.8/drivers/net/usb/hso.c 2011-07-21 22:17:23.000000000 -0400
32112+++ linux-3.0.7/drivers/net/usb/hso.c 2011-08-23 21:47:55.000000000 -0400 32474+++ linux-3.0.8/drivers/net/usb/hso.c 2011-08-23 21:47:55.000000000 -0400
32113@@ -71,7 +71,7 @@ 32475@@ -71,7 +71,7 @@
32114 #include <asm/byteorder.h> 32476 #include <asm/byteorder.h>
32115 #include <linux/serial_core.h> 32477 #include <linux/serial_core.h>
@@ -32206,9 +32568,9 @@ diff -urNp linux-3.0.7/drivers/net/usb/hso.c linux-3.0.7/drivers/net/usb/hso.c
32206 result = 32568 result =
32207 hso_start_serial_device(serial_table[i], GFP_NOIO); 32569 hso_start_serial_device(serial_table[i], GFP_NOIO);
32208 hso_kick_transmit(dev2ser(serial_table[i])); 32570 hso_kick_transmit(dev2ser(serial_table[i]));
32209diff -urNp linux-3.0.7/drivers/net/vmxnet3/vmxnet3_ethtool.c linux-3.0.7/drivers/net/vmxnet3/vmxnet3_ethtool.c 32571diff -urNp linux-3.0.8/drivers/net/vmxnet3/vmxnet3_ethtool.c linux-3.0.8/drivers/net/vmxnet3/vmxnet3_ethtool.c
32210--- linux-3.0.7/drivers/net/vmxnet3/vmxnet3_ethtool.c 2011-07-21 22:17:23.000000000 -0400 32572--- linux-3.0.8/drivers/net/vmxnet3/vmxnet3_ethtool.c 2011-07-21 22:17:23.000000000 -0400
32211+++ linux-3.0.7/drivers/net/vmxnet3/vmxnet3_ethtool.c 2011-08-23 21:47:55.000000000 -0400 32573+++ linux-3.0.8/drivers/net/vmxnet3/vmxnet3_ethtool.c 2011-08-23 21:47:55.000000000 -0400
32212@@ -594,8 +594,7 @@ vmxnet3_set_rss_indir(struct net_device 32574@@ -594,8 +594,7 @@ vmxnet3_set_rss_indir(struct net_device
32213 * Return with error code if any of the queue indices 32575 * Return with error code if any of the queue indices
32214 * is out of range 32576 * is out of range
@@ -32219,9 +32581,9 @@ diff -urNp linux-3.0.7/drivers/net/vmxnet3/vmxnet3_ethtool.c linux-3.0.7/drivers
32219 return -EINVAL; 32581 return -EINVAL;
32220 } 32582 }
32221 32583
32222diff -urNp linux-3.0.7/drivers/net/vxge/vxge-config.h linux-3.0.7/drivers/net/vxge/vxge-config.h 32584diff -urNp linux-3.0.8/drivers/net/vxge/vxge-config.h linux-3.0.8/drivers/net/vxge/vxge-config.h
32223--- linux-3.0.7/drivers/net/vxge/vxge-config.h 2011-07-21 22:17:23.000000000 -0400 32585--- linux-3.0.8/drivers/net/vxge/vxge-config.h 2011-07-21 22:17:23.000000000 -0400
32224+++ linux-3.0.7/drivers/net/vxge/vxge-config.h 2011-08-23 21:47:55.000000000 -0400 32586+++ linux-3.0.8/drivers/net/vxge/vxge-config.h 2011-08-23 21:47:55.000000000 -0400
32225@@ -512,7 +512,7 @@ struct vxge_hw_uld_cbs { 32587@@ -512,7 +512,7 @@ struct vxge_hw_uld_cbs {
32226 void (*link_down)(struct __vxge_hw_device *devh); 32588 void (*link_down)(struct __vxge_hw_device *devh);
32227 void (*crit_err)(struct __vxge_hw_device *devh, 32589 void (*crit_err)(struct __vxge_hw_device *devh,
@@ -32231,9 +32593,9 @@ diff -urNp linux-3.0.7/drivers/net/vxge/vxge-config.h linux-3.0.7/drivers/net/vx
32231 32593
32232 /* 32594 /*
32233 * struct __vxge_hw_blockpool_entry - Block private data structure 32595 * struct __vxge_hw_blockpool_entry - Block private data structure
32234diff -urNp linux-3.0.7/drivers/net/vxge/vxge-main.c linux-3.0.7/drivers/net/vxge/vxge-main.c 32596diff -urNp linux-3.0.8/drivers/net/vxge/vxge-main.c linux-3.0.8/drivers/net/vxge/vxge-main.c
32235--- linux-3.0.7/drivers/net/vxge/vxge-main.c 2011-07-21 22:17:23.000000000 -0400 32597--- linux-3.0.8/drivers/net/vxge/vxge-main.c 2011-07-21 22:17:23.000000000 -0400
32236+++ linux-3.0.7/drivers/net/vxge/vxge-main.c 2011-08-23 21:48:14.000000000 -0400 32598+++ linux-3.0.8/drivers/net/vxge/vxge-main.c 2011-08-23 21:48:14.000000000 -0400
32237@@ -98,6 +98,8 @@ static inline void VXGE_COMPLETE_VPATH_T 32599@@ -98,6 +98,8 @@ static inline void VXGE_COMPLETE_VPATH_T
32238 struct sk_buff *completed[NR_SKB_COMPLETED]; 32600 struct sk_buff *completed[NR_SKB_COMPLETED];
32239 int more; 32601 int more;
@@ -32252,9 +32614,9 @@ diff -urNp linux-3.0.7/drivers/net/vxge/vxge-main.c linux-3.0.7/drivers/net/vxge
32252 /* 32614 /*
32253 * Filling 32615 * Filling
32254 * - itable with bucket numbers 32616 * - itable with bucket numbers
32255diff -urNp linux-3.0.7/drivers/net/vxge/vxge-traffic.h linux-3.0.7/drivers/net/vxge/vxge-traffic.h 32617diff -urNp linux-3.0.8/drivers/net/vxge/vxge-traffic.h linux-3.0.8/drivers/net/vxge/vxge-traffic.h
32256--- linux-3.0.7/drivers/net/vxge/vxge-traffic.h 2011-07-21 22:17:23.000000000 -0400 32618--- linux-3.0.8/drivers/net/vxge/vxge-traffic.h 2011-07-21 22:17:23.000000000 -0400
32257+++ linux-3.0.7/drivers/net/vxge/vxge-traffic.h 2011-08-23 21:47:55.000000000 -0400 32619+++ linux-3.0.8/drivers/net/vxge/vxge-traffic.h 2011-08-23 21:47:55.000000000 -0400
32258@@ -2088,7 +2088,7 @@ struct vxge_hw_mempool_cbs { 32620@@ -2088,7 +2088,7 @@ struct vxge_hw_mempool_cbs {
32259 struct vxge_hw_mempool_dma *dma_object, 32621 struct vxge_hw_mempool_dma *dma_object,
32260 u32 index, 32622 u32 index,
@@ -32264,9 +32626,9 @@ diff -urNp linux-3.0.7/drivers/net/vxge/vxge-traffic.h linux-3.0.7/drivers/net/v
32264 32626
32265 #define VXGE_HW_VIRTUAL_PATH_HANDLE(vpath) \ 32627 #define VXGE_HW_VIRTUAL_PATH_HANDLE(vpath) \
32266 ((struct __vxge_hw_vpath_handle *)(vpath)->vpath_handles.next) 32628 ((struct __vxge_hw_vpath_handle *)(vpath)->vpath_handles.next)
32267diff -urNp linux-3.0.7/drivers/net/wan/cycx_x25.c linux-3.0.7/drivers/net/wan/cycx_x25.c 32629diff -urNp linux-3.0.8/drivers/net/wan/cycx_x25.c linux-3.0.8/drivers/net/wan/cycx_x25.c
32268--- linux-3.0.7/drivers/net/wan/cycx_x25.c 2011-07-21 22:17:23.000000000 -0400 32630--- linux-3.0.8/drivers/net/wan/cycx_x25.c 2011-07-21 22:17:23.000000000 -0400
32269+++ linux-3.0.7/drivers/net/wan/cycx_x25.c 2011-08-23 21:48:14.000000000 -0400 32631+++ linux-3.0.8/drivers/net/wan/cycx_x25.c 2011-08-23 21:48:14.000000000 -0400
32270@@ -1018,6 +1018,8 @@ static void hex_dump(char *msg, unsigned 32632@@ -1018,6 +1018,8 @@ static void hex_dump(char *msg, unsigned
32271 unsigned char hex[1024], 32633 unsigned char hex[1024],
32272 * phex = hex; 32634 * phex = hex;
@@ -32276,9 +32638,9 @@ diff -urNp linux-3.0.7/drivers/net/wan/cycx_x25.c linux-3.0.7/drivers/net/wan/cy
32276 if (len >= (sizeof(hex) / 2)) 32638 if (len >= (sizeof(hex) / 2))
32277 len = (sizeof(hex) / 2) - 1; 32639 len = (sizeof(hex) / 2) - 1;
32278 32640
32279diff -urNp linux-3.0.7/drivers/net/wan/hdlc_x25.c linux-3.0.7/drivers/net/wan/hdlc_x25.c 32641diff -urNp linux-3.0.8/drivers/net/wan/hdlc_x25.c linux-3.0.8/drivers/net/wan/hdlc_x25.c
32280--- linux-3.0.7/drivers/net/wan/hdlc_x25.c 2011-07-21 22:17:23.000000000 -0400 32642--- linux-3.0.8/drivers/net/wan/hdlc_x25.c 2011-07-21 22:17:23.000000000 -0400
32281+++ linux-3.0.7/drivers/net/wan/hdlc_x25.c 2011-08-23 21:47:55.000000000 -0400 32643+++ linux-3.0.8/drivers/net/wan/hdlc_x25.c 2011-08-23 21:47:55.000000000 -0400
32282@@ -136,16 +136,16 @@ static netdev_tx_t x25_xmit(struct sk_bu 32644@@ -136,16 +136,16 @@ static netdev_tx_t x25_xmit(struct sk_bu
32283 32645
32284 static int x25_open(struct net_device *dev) 32646 static int x25_open(struct net_device *dev)
@@ -32304,9 +32666,9 @@ diff -urNp linux-3.0.7/drivers/net/wan/hdlc_x25.c linux-3.0.7/drivers/net/wan/hd
32304 result = lapb_register(dev, &cb); 32666 result = lapb_register(dev, &cb);
32305 if (result != LAPB_OK) 32667 if (result != LAPB_OK)
32306 return result; 32668 return result;
32307diff -urNp linux-3.0.7/drivers/net/wimax/i2400m/usb-fw.c linux-3.0.7/drivers/net/wimax/i2400m/usb-fw.c 32669diff -urNp linux-3.0.8/drivers/net/wimax/i2400m/usb-fw.c linux-3.0.8/drivers/net/wimax/i2400m/usb-fw.c
32308--- linux-3.0.7/drivers/net/wimax/i2400m/usb-fw.c 2011-07-21 22:17:23.000000000 -0400 32670--- linux-3.0.8/drivers/net/wimax/i2400m/usb-fw.c 2011-07-21 22:17:23.000000000 -0400
32309+++ linux-3.0.7/drivers/net/wimax/i2400m/usb-fw.c 2011-08-23 21:48:14.000000000 -0400 32671+++ linux-3.0.8/drivers/net/wimax/i2400m/usb-fw.c 2011-08-23 21:48:14.000000000 -0400
32310@@ -287,6 +287,8 @@ ssize_t i2400mu_bus_bm_wait_for_ack(stru 32672@@ -287,6 +287,8 @@ ssize_t i2400mu_bus_bm_wait_for_ack(stru
32311 int do_autopm = 1; 32673 int do_autopm = 1;
32312 DECLARE_COMPLETION_ONSTACK(notif_completion); 32674 DECLARE_COMPLETION_ONSTACK(notif_completion);
@@ -32316,9 +32678,9 @@ diff -urNp linux-3.0.7/drivers/net/wimax/i2400m/usb-fw.c linux-3.0.7/drivers/net
32316 d_fnstart(8, dev, "(i2400m %p ack %p size %zu)\n", 32678 d_fnstart(8, dev, "(i2400m %p ack %p size %zu)\n",
32317 i2400m, ack, ack_size); 32679 i2400m, ack, ack_size);
32318 BUG_ON(_ack == i2400m->bm_ack_buf); 32680 BUG_ON(_ack == i2400m->bm_ack_buf);
32319diff -urNp linux-3.0.7/drivers/net/wireless/airo.c linux-3.0.7/drivers/net/wireless/airo.c 32681diff -urNp linux-3.0.8/drivers/net/wireless/airo.c linux-3.0.8/drivers/net/wireless/airo.c
32320--- linux-3.0.7/drivers/net/wireless/airo.c 2011-09-02 18:11:21.000000000 -0400 32682--- linux-3.0.8/drivers/net/wireless/airo.c 2011-10-24 08:05:21.000000000 -0400
32321+++ linux-3.0.7/drivers/net/wireless/airo.c 2011-08-23 21:48:14.000000000 -0400 32683+++ linux-3.0.8/drivers/net/wireless/airo.c 2011-08-23 21:48:14.000000000 -0400
32322@@ -3003,6 +3003,8 @@ static void airo_process_scan_results (s 32684@@ -3003,6 +3003,8 @@ static void airo_process_scan_results (s
32323 BSSListElement * loop_net; 32685 BSSListElement * loop_net;
32324 BSSListElement * tmp_net; 32686 BSSListElement * tmp_net;
@@ -32373,20 +32735,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/airo.c linux-3.0.7/drivers/net/wirel
32373 /* Get stats out of the card */ 32735 /* Get stats out of the card */
32374 clear_bit(JOB_WSTATS, &local->jobs); 32736 clear_bit(JOB_WSTATS, &local->jobs);
32375 if (local->power.event) { 32737 if (local->power.event) {
32376diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath.h linux-3.0.7/drivers/net/wireless/ath/ath.h 32738diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath5k/debug.c linux-3.0.8/drivers/net/wireless/ath/ath5k/debug.c
32377--- linux-3.0.7/drivers/net/wireless/ath/ath.h 2011-07-21 22:17:23.000000000 -0400 32739--- linux-3.0.8/drivers/net/wireless/ath/ath5k/debug.c 2011-07-21 22:17:23.000000000 -0400
32378+++ linux-3.0.7/drivers/net/wireless/ath/ath.h 2011-08-23 21:47:55.000000000 -0400 32740+++ linux-3.0.8/drivers/net/wireless/ath/ath5k/debug.c 2011-08-23 21:48:14.000000000 -0400
32379@@ -121,6 +121,7 @@ struct ath_ops {
32380 void (*write_flush) (void *);
32381 u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr);
32382 };
32383+typedef struct ath_ops __no_const ath_ops_no_const;
32384
32385 struct ath_common;
32386 struct ath_bus_ops;
32387diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath5k/debug.c linux-3.0.7/drivers/net/wireless/ath/ath5k/debug.c
32388--- linux-3.0.7/drivers/net/wireless/ath/ath5k/debug.c 2011-07-21 22:17:23.000000000 -0400
32389+++ linux-3.0.7/drivers/net/wireless/ath/ath5k/debug.c 2011-08-23 21:48:14.000000000 -0400
32390@@ -204,6 +204,8 @@ static ssize_t read_file_beacon(struct f 32741@@ -204,6 +204,8 @@ static ssize_t read_file_beacon(struct f
32391 unsigned int v; 32742 unsigned int v;
32392 u64 tsf; 32743 u64 tsf;
@@ -32450,9 +32801,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath5k/debug.c linux-3.0.7/driver
32450 len += snprintf(buf+len, sizeof(buf)-len, 32801 len += snprintf(buf+len, sizeof(buf)-len,
32451 "available txbuffers: %d\n", sc->txbuf_len); 32802 "available txbuffers: %d\n", sc->txbuf_len);
32452 32803
32453diff -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 32804diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_calib.c linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_calib.c
32454--- linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_calib.c 2011-07-21 22:17:23.000000000 -0400 32805--- linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_calib.c 2011-07-21 22:17:23.000000000 -0400
32455+++ linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_calib.c 2011-08-23 21:48:14.000000000 -0400 32806+++ linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_calib.c 2011-08-23 21:48:14.000000000 -0400
32456@@ -757,6 +757,8 @@ static void ar9003_hw_tx_iq_cal_post_pro 32807@@ -757,6 +757,8 @@ static void ar9003_hw_tx_iq_cal_post_pro
32457 int i, im, j; 32808 int i, im, j;
32458 int nmeasurement; 32809 int nmeasurement;
@@ -32462,9 +32813,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_calib.c linux-3.0.7
32462 for (i = 0; i < AR9300_MAX_CHAINS; i++) { 32813 for (i = 0; i < AR9300_MAX_CHAINS; i++) {
32463 if (ah->txchainmask & (1 << i)) 32814 if (ah->txchainmask & (1 << i))
32464 num_chains++; 32815 num_chains++;
32465diff -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 32816diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_paprd.c linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_paprd.c
32466--- linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 2011-07-21 22:17:23.000000000 -0400 32817--- linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 2011-07-21 22:17:23.000000000 -0400
32467+++ linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 2011-08-23 21:48:14.000000000 -0400 32818+++ linux-3.0.8/drivers/net/wireless/ath/ath9k/ar9003_paprd.c 2011-08-23 21:48:14.000000000 -0400
32468@@ -356,6 +356,8 @@ static bool create_pa_curve(u32 *data_L, 32819@@ -356,6 +356,8 @@ static bool create_pa_curve(u32 *data_L,
32469 int theta_low_bin = 0; 32820 int theta_low_bin = 0;
32470 int i; 32821 int i;
@@ -32474,9 +32825,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath9k/ar9003_paprd.c linux-3.0.7
32474 /* disregard any bin that contains <= 16 samples */ 32825 /* disregard any bin that contains <= 16 samples */
32475 thresh_accum_cnt = 16; 32826 thresh_accum_cnt = 16;
32476 scale_factor = 5; 32827 scale_factor = 5;
32477diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath9k/debug.c linux-3.0.7/drivers/net/wireless/ath/ath9k/debug.c 32828diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath9k/debug.c linux-3.0.8/drivers/net/wireless/ath/ath9k/debug.c
32478--- linux-3.0.7/drivers/net/wireless/ath/ath9k/debug.c 2011-07-21 22:17:23.000000000 -0400 32829--- linux-3.0.8/drivers/net/wireless/ath/ath9k/debug.c 2011-07-21 22:17:23.000000000 -0400
32479+++ linux-3.0.7/drivers/net/wireless/ath/ath9k/debug.c 2011-08-23 21:48:14.000000000 -0400 32830+++ linux-3.0.8/drivers/net/wireless/ath/ath9k/debug.c 2011-08-23 21:48:14.000000000 -0400
32480@@ -337,6 +337,8 @@ static ssize_t read_file_interrupt(struc 32831@@ -337,6 +337,8 @@ static ssize_t read_file_interrupt(struc
32481 char buf[512]; 32832 char buf[512];
32482 unsigned int len = 0; 32833 unsigned int len = 0;
@@ -32495,9 +32846,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath9k/debug.c linux-3.0.7/driver
32495 len += snprintf(buf + len, sizeof(buf) - len, 32846 len += snprintf(buf + len, sizeof(buf) - len,
32496 "%s (chan=%d center-freq: %d MHz channel-type: %d (%s))\n", 32847 "%s (chan=%d center-freq: %d MHz channel-type: %d (%s))\n",
32497 wiphy_name(sc->hw->wiphy), 32848 wiphy_name(sc->hw->wiphy),
32498diff -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 32849diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath9k/htc_drv_debug.c linux-3.0.8/drivers/net/wireless/ath/ath9k/htc_drv_debug.c
32499--- linux-3.0.7/drivers/net/wireless/ath/ath9k/htc_drv_debug.c 2011-07-21 22:17:23.000000000 -0400 32850--- linux-3.0.8/drivers/net/wireless/ath/ath9k/htc_drv_debug.c 2011-07-21 22:17:23.000000000 -0400
32500+++ linux-3.0.7/drivers/net/wireless/ath/ath9k/htc_drv_debug.c 2011-08-23 21:48:14.000000000 -0400 32851+++ linux-3.0.8/drivers/net/wireless/ath/ath9k/htc_drv_debug.c 2011-08-23 21:48:14.000000000 -0400
32501@@ -31,6 +31,8 @@ static ssize_t read_file_tgt_int_stats(s 32852@@ -31,6 +31,8 @@ static ssize_t read_file_tgt_int_stats(s
32502 unsigned int len = 0; 32853 unsigned int len = 0;
32503 int ret = 0; 32854 int ret = 0;
@@ -32552,9 +32903,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath9k/htc_drv_debug.c linux-3.0.
32552 len += snprintf(buf + len, sizeof(buf) - len, "%20s : %10u\n", 32903 len += snprintf(buf + len, sizeof(buf) - len, "%20s : %10u\n",
32553 "Mgmt endpoint", skb_queue_len(&priv->tx.mgmt_ep_queue)); 32904 "Mgmt endpoint", skb_queue_len(&priv->tx.mgmt_ep_queue));
32554 32905
32555diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath9k/hw.h linux-3.0.7/drivers/net/wireless/ath/ath9k/hw.h 32906diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath9k/hw.h linux-3.0.8/drivers/net/wireless/ath/ath9k/hw.h
32556--- linux-3.0.7/drivers/net/wireless/ath/ath9k/hw.h 2011-09-02 18:11:21.000000000 -0400 32907--- linux-3.0.8/drivers/net/wireless/ath/ath9k/hw.h 2011-10-24 08:05:21.000000000 -0400
32557+++ linux-3.0.7/drivers/net/wireless/ath/ath9k/hw.h 2011-08-23 21:47:55.000000000 -0400 32908+++ linux-3.0.8/drivers/net/wireless/ath/ath9k/hw.h 2011-08-23 21:47:55.000000000 -0400
32558@@ -585,7 +585,7 @@ struct ath_hw_private_ops { 32909@@ -585,7 +585,7 @@ struct ath_hw_private_ops {
32559 32910
32560 /* ANI */ 32911 /* ANI */
@@ -32582,9 +32933,20 @@ diff -urNp linux-3.0.7/drivers/net/wireless/ath/ath9k/hw.h linux-3.0.7/drivers/n
32582 32933
32583 struct ieee80211_hw *hw; 32934 struct ieee80211_hw *hw;
32584 struct ath_common common; 32935 struct ath_common common;
32585diff -urNp linux-3.0.7/drivers/net/wireless/ipw2x00/ipw2100.c linux-3.0.7/drivers/net/wireless/ipw2x00/ipw2100.c 32936diff -urNp linux-3.0.8/drivers/net/wireless/ath/ath.h linux-3.0.8/drivers/net/wireless/ath/ath.h
32586--- linux-3.0.7/drivers/net/wireless/ipw2x00/ipw2100.c 2011-07-21 22:17:23.000000000 -0400 32937--- linux-3.0.8/drivers/net/wireless/ath/ath.h 2011-07-21 22:17:23.000000000 -0400
32587+++ linux-3.0.7/drivers/net/wireless/ipw2x00/ipw2100.c 2011-08-23 21:48:14.000000000 -0400 32938+++ linux-3.0.8/drivers/net/wireless/ath/ath.h 2011-08-23 21:47:55.000000000 -0400
32939@@ -121,6 +121,7 @@ struct ath_ops {
32940 void (*write_flush) (void *);
32941 u32 (*rmw)(void *, u32 reg_offset, u32 set, u32 clr);
32942 };
32943+typedef struct ath_ops __no_const ath_ops_no_const;
32944
32945 struct ath_common;
32946 struct ath_bus_ops;
32947diff -urNp linux-3.0.8/drivers/net/wireless/ipw2x00/ipw2100.c linux-3.0.8/drivers/net/wireless/ipw2x00/ipw2100.c
32948--- linux-3.0.8/drivers/net/wireless/ipw2x00/ipw2100.c 2011-07-21 22:17:23.000000000 -0400
32949+++ linux-3.0.8/drivers/net/wireless/ipw2x00/ipw2100.c 2011-08-23 21:48:14.000000000 -0400
32588@@ -2100,6 +2100,8 @@ static int ipw2100_set_essid(struct ipw2 32950@@ -2100,6 +2100,8 @@ static int ipw2100_set_essid(struct ipw2
32589 int err; 32951 int err;
32590 DECLARE_SSID_BUF(ssid); 32952 DECLARE_SSID_BUF(ssid);
@@ -32603,9 +32965,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/ipw2x00/ipw2100.c linux-3.0.7/driver
32603 IPW_DEBUG_HC("WEP_KEY_INFO: index = %d, len = %d/%d\n", 32965 IPW_DEBUG_HC("WEP_KEY_INFO: index = %d, len = %d/%d\n",
32604 idx, keylen, len); 32966 idx, keylen, len);
32605 32967
32606diff -urNp linux-3.0.7/drivers/net/wireless/ipw2x00/libipw_rx.c linux-3.0.7/drivers/net/wireless/ipw2x00/libipw_rx.c 32968diff -urNp linux-3.0.8/drivers/net/wireless/ipw2x00/libipw_rx.c linux-3.0.8/drivers/net/wireless/ipw2x00/libipw_rx.c
32607--- linux-3.0.7/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-07-21 22:17:23.000000000 -0400 32969--- linux-3.0.8/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-07-21 22:17:23.000000000 -0400
32608+++ linux-3.0.7/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-08-23 21:48:14.000000000 -0400 32970+++ linux-3.0.8/drivers/net/wireless/ipw2x00/libipw_rx.c 2011-08-23 21:48:14.000000000 -0400
32609@@ -1565,6 +1565,8 @@ static void libipw_process_probe_respons 32971@@ -1565,6 +1565,8 @@ static void libipw_process_probe_respons
32610 unsigned long flags; 32972 unsigned long flags;
32611 DECLARE_SSID_BUF(ssid); 32973 DECLARE_SSID_BUF(ssid);
@@ -32615,9 +32977,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/ipw2x00/libipw_rx.c linux-3.0.7/driv
32615 LIBIPW_DEBUG_SCAN("'%s' (%pM" 32977 LIBIPW_DEBUG_SCAN("'%s' (%pM"
32616 "): %c%c%c%c %c%c%c%c-%c%c%c%c %c%c%c%c\n", 32978 "): %c%c%c%c %c%c%c%c-%c%c%c%c %c%c%c%c\n",
32617 print_ssid(ssid, info_element->data, info_element->len), 32979 print_ssid(ssid, info_element->data, info_element->len),
32618diff -urNp linux-3.0.7/drivers/net/wireless/iwlegacy/iwl3945-base.c linux-3.0.7/drivers/net/wireless/iwlegacy/iwl3945-base.c 32980diff -urNp linux-3.0.8/drivers/net/wireless/iwlegacy/iwl3945-base.c linux-3.0.8/drivers/net/wireless/iwlegacy/iwl3945-base.c
32619--- linux-3.0.7/drivers/net/wireless/iwlegacy/iwl3945-base.c 2011-10-16 21:54:54.000000000 -0400 32981--- linux-3.0.8/drivers/net/wireless/iwlegacy/iwl3945-base.c 2011-10-24 08:05:30.000000000 -0400
32620+++ linux-3.0.7/drivers/net/wireless/iwlegacy/iwl3945-base.c 2011-10-16 21:55:27.000000000 -0400 32982+++ linux-3.0.8/drivers/net/wireless/iwlegacy/iwl3945-base.c 2011-10-16 21:55:27.000000000 -0400
32621@@ -3962,7 +3962,9 @@ static int iwl3945_pci_probe(struct pci_ 32983@@ -3962,7 +3962,9 @@ static int iwl3945_pci_probe(struct pci_
32622 */ 32984 */
32623 if (iwl3945_mod_params.disable_hw_scan) { 32985 if (iwl3945_mod_params.disable_hw_scan) {
@@ -32629,9 +32991,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/iwlegacy/iwl3945-base.c linux-3.0.7/
32629 } 32991 }
32630 32992
32631 IWL_DEBUG_INFO(priv, "*** LOAD DRIVER ***\n"); 32993 IWL_DEBUG_INFO(priv, "*** LOAD DRIVER ***\n");
32632diff -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 32994diff -urNp linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-agn-rs.c linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
32633--- linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-07-21 22:17:23.000000000 -0400 32995--- linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-07-21 22:17:23.000000000 -0400
32634+++ linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-08-23 21:48:14.000000000 -0400 32996+++ linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-agn-rs.c 2011-08-23 21:48:14.000000000 -0400
32635@@ -910,6 +910,8 @@ static void rs_tx_status(void *priv_r, s 32997@@ -910,6 +910,8 @@ static void rs_tx_status(void *priv_r, s
32636 struct iwl_station_priv *sta_priv = (void *)sta->drv_priv; 32998 struct iwl_station_priv *sta_priv = (void *)sta->drv_priv;
32637 struct iwl_rxon_context *ctx = sta_priv->common.ctx; 32999 struct iwl_rxon_context *ctx = sta_priv->common.ctx;
@@ -32650,23 +33012,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-agn-rs.c linux-3.0.7/dri
32650 /* Override starting rate (index 0) if needed for debug purposes */ 33012 /* Override starting rate (index 0) if needed for debug purposes */
32651 rs_dbgfs_set_mcs(lq_sta, &new_rate, index); 33013 rs_dbgfs_set_mcs(lq_sta, &new_rate, index);
32652 33014
32653diff -urNp linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debug.h linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debug.h 33015diff -urNp linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debugfs.c linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debugfs.c
32654--- linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-07-21 22:17:23.000000000 -0400 33016--- linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-07-21 22:17:23.000000000 -0400
32655+++ linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-08-23 21:47:55.000000000 -0400 33017+++ linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-08-23 21:48:14.000000000 -0400
32656@@ -68,8 +68,8 @@ do {
32657 } while (0)
32658
32659 #else
32660-#define IWL_DEBUG(__priv, level, fmt, args...)
32661-#define IWL_DEBUG_LIMIT(__priv, level, fmt, args...)
32662+#define IWL_DEBUG(__priv, level, fmt, args...) do {} while (0)
32663+#define IWL_DEBUG_LIMIT(__priv, level, fmt, args...) do {} while (0)
32664 static inline void iwl_print_hex_dump(struct iwl_priv *priv, int level,
32665 const void *p, u32 len)
32666 {}
32667diff -urNp linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debugfs.c linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debugfs.c
32668--- linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-07-21 22:17:23.000000000 -0400
32669+++ linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debugfs.c 2011-08-23 21:48:14.000000000 -0400
32670@@ -548,6 +548,8 @@ static ssize_t iwl_dbgfs_status_read(str 33018@@ -548,6 +548,8 @@ static ssize_t iwl_dbgfs_status_read(str
32671 int pos = 0; 33019 int pos = 0;
32672 const size_t bufsz = sizeof(buf); 33020 const size_t bufsz = sizeof(buf);
@@ -32685,9 +33033,23 @@ diff -urNp linux-3.0.7/drivers/net/wireless/iwlwifi/iwl-debugfs.c linux-3.0.7/dr
32685 for_each_context(priv, ctx) { 33033 for_each_context(priv, ctx) {
32686 pos += scnprintf(buf + pos, bufsz - pos, "context %d:\n", 33034 pos += scnprintf(buf + pos, bufsz - pos, "context %d:\n",
32687 ctx->ctxid); 33035 ctx->ctxid);
32688diff -urNp linux-3.0.7/drivers/net/wireless/iwmc3200wifi/debugfs.c linux-3.0.7/drivers/net/wireless/iwmc3200wifi/debugfs.c 33036diff -urNp linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debug.h linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debug.h
32689--- linux-3.0.7/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-07-21 22:17:23.000000000 -0400 33037--- linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-07-21 22:17:23.000000000 -0400
32690+++ linux-3.0.7/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-08-23 21:48:14.000000000 -0400 33038+++ linux-3.0.8/drivers/net/wireless/iwlwifi/iwl-debug.h 2011-08-23 21:47:55.000000000 -0400
33039@@ -68,8 +68,8 @@ do {
33040 } while (0)
33041
33042 #else
33043-#define IWL_DEBUG(__priv, level, fmt, args...)
33044-#define IWL_DEBUG_LIMIT(__priv, level, fmt, args...)
33045+#define IWL_DEBUG(__priv, level, fmt, args...) do {} while (0)
33046+#define IWL_DEBUG_LIMIT(__priv, level, fmt, args...) do {} while (0)
33047 static inline void iwl_print_hex_dump(struct iwl_priv *priv, int level,
33048 const void *p, u32 len)
33049 {}
33050diff -urNp linux-3.0.8/drivers/net/wireless/iwmc3200wifi/debugfs.c linux-3.0.8/drivers/net/wireless/iwmc3200wifi/debugfs.c
33051--- linux-3.0.8/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-07-21 22:17:23.000000000 -0400
33052+++ linux-3.0.8/drivers/net/wireless/iwmc3200wifi/debugfs.c 2011-08-23 21:48:14.000000000 -0400
32691@@ -327,6 +327,8 @@ static ssize_t iwm_debugfs_fw_err_read(s 33053@@ -327,6 +327,8 @@ static ssize_t iwm_debugfs_fw_err_read(s
32692 int buf_len = 512; 33054 int buf_len = 512;
32693 size_t len = 0; 33055 size_t len = 0;
@@ -32697,9 +33059,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/iwmc3200wifi/debugfs.c linux-3.0.7/d
32697 if (*ppos != 0) 33059 if (*ppos != 0)
32698 return 0; 33060 return 0;
32699 if (count < sizeof(buf)) 33061 if (count < sizeof(buf))
32700diff -urNp linux-3.0.7/drivers/net/wireless/mac80211_hwsim.c linux-3.0.7/drivers/net/wireless/mac80211_hwsim.c 33062diff -urNp linux-3.0.8/drivers/net/wireless/mac80211_hwsim.c linux-3.0.8/drivers/net/wireless/mac80211_hwsim.c
32701--- linux-3.0.7/drivers/net/wireless/mac80211_hwsim.c 2011-07-21 22:17:23.000000000 -0400 33063--- linux-3.0.8/drivers/net/wireless/mac80211_hwsim.c 2011-07-21 22:17:23.000000000 -0400
32702+++ linux-3.0.7/drivers/net/wireless/mac80211_hwsim.c 2011-08-23 21:47:55.000000000 -0400 33064+++ linux-3.0.8/drivers/net/wireless/mac80211_hwsim.c 2011-08-23 21:47:55.000000000 -0400
32703@@ -1260,9 +1260,11 @@ static int __init init_mac80211_hwsim(vo 33065@@ -1260,9 +1260,11 @@ static int __init init_mac80211_hwsim(vo
32704 return -EINVAL; 33066 return -EINVAL;
32705 33067
@@ -32715,9 +33077,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/mac80211_hwsim.c linux-3.0.7/drivers
32715 } 33077 }
32716 33078
32717 spin_lock_init(&hwsim_radio_lock); 33079 spin_lock_init(&hwsim_radio_lock);
32718diff -urNp linux-3.0.7/drivers/net/wireless/rndis_wlan.c linux-3.0.7/drivers/net/wireless/rndis_wlan.c 33080diff -urNp linux-3.0.8/drivers/net/wireless/rndis_wlan.c linux-3.0.8/drivers/net/wireless/rndis_wlan.c
32719--- linux-3.0.7/drivers/net/wireless/rndis_wlan.c 2011-07-21 22:17:23.000000000 -0400 33081--- linux-3.0.8/drivers/net/wireless/rndis_wlan.c 2011-07-21 22:17:23.000000000 -0400
32720+++ linux-3.0.7/drivers/net/wireless/rndis_wlan.c 2011-08-23 21:47:55.000000000 -0400 33082+++ linux-3.0.8/drivers/net/wireless/rndis_wlan.c 2011-08-23 21:47:55.000000000 -0400
32721@@ -1277,7 +1277,7 @@ static int set_rts_threshold(struct usbn 33083@@ -1277,7 +1277,7 @@ static int set_rts_threshold(struct usbn
32722 33084
32723 netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold); 33085 netdev_dbg(usbdev->net, "%s(): %i\n", __func__, rts_threshold);
@@ -32727,9 +33089,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/rndis_wlan.c linux-3.0.7/drivers/net
32727 rts_threshold = 2347; 33089 rts_threshold = 2347;
32728 33090
32729 tmp = cpu_to_le32(rts_threshold); 33091 tmp = cpu_to_le32(rts_threshold);
32730diff -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 33092diff -urNp linux-3.0.8/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c linux-3.0.8/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c
32731--- linux-3.0.7/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c 2011-07-21 22:17:23.000000000 -0400 33093--- linux-3.0.8/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c 2011-07-21 22:17:23.000000000 -0400
32732+++ linux-3.0.7/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c 2011-08-23 21:48:14.000000000 -0400 33094+++ linux-3.0.8/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c 2011-08-23 21:48:14.000000000 -0400
32733@@ -837,6 +837,8 @@ bool _rtl92c_phy_sw_chnl_step_by_step(st 33095@@ -837,6 +837,8 @@ bool _rtl92c_phy_sw_chnl_step_by_step(st
32734 u8 rfpath; 33096 u8 rfpath;
32735 u8 num_total_rfpath = rtlphy->num_total_rfpath; 33097 u8 num_total_rfpath = rtlphy->num_total_rfpath;
@@ -32739,9 +33101,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/rtlwifi/rtl8192c/phy_common.c linux-
32739 precommoncmdcnt = 0; 33101 precommoncmdcnt = 0;
32740 _rtl92c_phy_set_sw_chnl_cmdarray(precommoncmd, precommoncmdcnt++, 33102 _rtl92c_phy_set_sw_chnl_cmdarray(precommoncmd, precommoncmdcnt++,
32741 MAX_PRECMD_CNT, 33103 MAX_PRECMD_CNT,
32742diff -urNp linux-3.0.7/drivers/net/wireless/wl1251/wl1251.h linux-3.0.7/drivers/net/wireless/wl1251/wl1251.h 33104diff -urNp linux-3.0.8/drivers/net/wireless/wl1251/wl1251.h linux-3.0.8/drivers/net/wireless/wl1251/wl1251.h
32743--- linux-3.0.7/drivers/net/wireless/wl1251/wl1251.h 2011-07-21 22:17:23.000000000 -0400 33105--- linux-3.0.8/drivers/net/wireless/wl1251/wl1251.h 2011-07-21 22:17:23.000000000 -0400
32744+++ linux-3.0.7/drivers/net/wireless/wl1251/wl1251.h 2011-08-23 21:47:55.000000000 -0400 33106+++ linux-3.0.8/drivers/net/wireless/wl1251/wl1251.h 2011-08-23 21:47:55.000000000 -0400
32745@@ -266,7 +266,7 @@ struct wl1251_if_operations { 33107@@ -266,7 +266,7 @@ struct wl1251_if_operations {
32746 void (*reset)(struct wl1251 *wl); 33108 void (*reset)(struct wl1251 *wl);
32747 void (*enable_irq)(struct wl1251 *wl); 33109 void (*enable_irq)(struct wl1251 *wl);
@@ -32751,9 +33113,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/wl1251/wl1251.h linux-3.0.7/drivers/
32751 33113
32752 struct wl1251 { 33114 struct wl1251 {
32753 struct ieee80211_hw *hw; 33115 struct ieee80211_hw *hw;
32754diff -urNp linux-3.0.7/drivers/net/wireless/wl12xx/spi.c linux-3.0.7/drivers/net/wireless/wl12xx/spi.c 33116diff -urNp linux-3.0.8/drivers/net/wireless/wl12xx/spi.c linux-3.0.8/drivers/net/wireless/wl12xx/spi.c
32755--- linux-3.0.7/drivers/net/wireless/wl12xx/spi.c 2011-07-21 22:17:23.000000000 -0400 33117--- linux-3.0.8/drivers/net/wireless/wl12xx/spi.c 2011-07-21 22:17:23.000000000 -0400
32756+++ linux-3.0.7/drivers/net/wireless/wl12xx/spi.c 2011-08-23 21:48:14.000000000 -0400 33118+++ linux-3.0.8/drivers/net/wireless/wl12xx/spi.c 2011-08-23 21:48:14.000000000 -0400
32757@@ -280,6 +280,8 @@ static void wl1271_spi_raw_write(struct 33119@@ -280,6 +280,8 @@ static void wl1271_spi_raw_write(struct
32758 u32 chunk_len; 33120 u32 chunk_len;
32759 int i; 33121 int i;
@@ -32763,9 +33125,9 @@ diff -urNp linux-3.0.7/drivers/net/wireless/wl12xx/spi.c linux-3.0.7/drivers/net
32763 WARN_ON(len > WL1271_AGGR_BUFFER_SIZE); 33125 WARN_ON(len > WL1271_AGGR_BUFFER_SIZE);
32764 33126
32765 spi_message_init(&m); 33127 spi_message_init(&m);
32766diff -urNp linux-3.0.7/drivers/oprofile/buffer_sync.c linux-3.0.7/drivers/oprofile/buffer_sync.c 33128diff -urNp linux-3.0.8/drivers/oprofile/buffer_sync.c linux-3.0.8/drivers/oprofile/buffer_sync.c
32767--- linux-3.0.7/drivers/oprofile/buffer_sync.c 2011-07-21 22:17:23.000000000 -0400 33129--- linux-3.0.8/drivers/oprofile/buffer_sync.c 2011-07-21 22:17:23.000000000 -0400
32768+++ linux-3.0.7/drivers/oprofile/buffer_sync.c 2011-08-23 21:47:55.000000000 -0400 33130+++ linux-3.0.8/drivers/oprofile/buffer_sync.c 2011-08-23 21:47:55.000000000 -0400
32769@@ -343,7 +343,7 @@ static void add_data(struct op_entry *en 33131@@ -343,7 +343,7 @@ static void add_data(struct op_entry *en
32770 if (cookie == NO_COOKIE) 33132 if (cookie == NO_COOKIE)
32771 offset = pc; 33133 offset = pc;
@@ -32801,9 +33163,9 @@ diff -urNp linux-3.0.7/drivers/oprofile/buffer_sync.c linux-3.0.7/drivers/oprofi
32801 } 33163 }
32802 } 33164 }
32803 release_mm(mm); 33165 release_mm(mm);
32804diff -urNp linux-3.0.7/drivers/oprofile/event_buffer.c linux-3.0.7/drivers/oprofile/event_buffer.c 33166diff -urNp linux-3.0.8/drivers/oprofile/event_buffer.c linux-3.0.8/drivers/oprofile/event_buffer.c
32805--- linux-3.0.7/drivers/oprofile/event_buffer.c 2011-07-21 22:17:23.000000000 -0400 33167--- linux-3.0.8/drivers/oprofile/event_buffer.c 2011-07-21 22:17:23.000000000 -0400
32806+++ linux-3.0.7/drivers/oprofile/event_buffer.c 2011-08-23 21:47:55.000000000 -0400 33168+++ linux-3.0.8/drivers/oprofile/event_buffer.c 2011-08-23 21:47:55.000000000 -0400
32807@@ -53,7 +53,7 @@ void add_event_entry(unsigned long value 33169@@ -53,7 +53,7 @@ void add_event_entry(unsigned long value
32808 } 33170 }
32809 33171
@@ -32813,9 +33175,9 @@ diff -urNp linux-3.0.7/drivers/oprofile/event_buffer.c linux-3.0.7/drivers/oprof
32813 return; 33175 return;
32814 } 33176 }
32815 33177
32816diff -urNp linux-3.0.7/drivers/oprofile/oprof.c linux-3.0.7/drivers/oprofile/oprof.c 33178diff -urNp linux-3.0.8/drivers/oprofile/oprof.c linux-3.0.8/drivers/oprofile/oprof.c
32817--- linux-3.0.7/drivers/oprofile/oprof.c 2011-07-21 22:17:23.000000000 -0400 33179--- linux-3.0.8/drivers/oprofile/oprof.c 2011-07-21 22:17:23.000000000 -0400
32818+++ linux-3.0.7/drivers/oprofile/oprof.c 2011-08-23 21:47:55.000000000 -0400 33180+++ linux-3.0.8/drivers/oprofile/oprof.c 2011-08-23 21:47:55.000000000 -0400
32819@@ -110,7 +110,7 @@ static void switch_worker(struct work_st 33181@@ -110,7 +110,7 @@ static void switch_worker(struct work_st
32820 if (oprofile_ops.switch_events()) 33182 if (oprofile_ops.switch_events())
32821 return; 33183 return;
@@ -32825,9 +33187,21 @@ diff -urNp linux-3.0.7/drivers/oprofile/oprof.c linux-3.0.7/drivers/oprofile/opr
32825 start_switch_worker(); 33187 start_switch_worker();
32826 } 33188 }
32827 33189
32828diff -urNp linux-3.0.7/drivers/oprofile/oprofile_stats.c linux-3.0.7/drivers/oprofile/oprofile_stats.c 33190diff -urNp linux-3.0.8/drivers/oprofile/oprofilefs.c linux-3.0.8/drivers/oprofile/oprofilefs.c
32829--- linux-3.0.7/drivers/oprofile/oprofile_stats.c 2011-07-21 22:17:23.000000000 -0400 33191--- linux-3.0.8/drivers/oprofile/oprofilefs.c 2011-07-21 22:17:23.000000000 -0400
32830+++ linux-3.0.7/drivers/oprofile/oprofile_stats.c 2011-08-23 21:47:55.000000000 -0400 33192+++ linux-3.0.8/drivers/oprofile/oprofilefs.c 2011-08-23 21:47:55.000000000 -0400
33193@@ -186,7 +186,7 @@ static const struct file_operations atom
33194
33195
33196 int oprofilefs_create_ro_atomic(struct super_block *sb, struct dentry *root,
33197- char const *name, atomic_t *val)
33198+ char const *name, atomic_unchecked_t *val)
33199 {
33200 return __oprofilefs_create_file(sb, root, name,
33201 &atomic_ro_fops, 0444, val);
33202diff -urNp linux-3.0.8/drivers/oprofile/oprofile_stats.c linux-3.0.8/drivers/oprofile/oprofile_stats.c
33203--- linux-3.0.8/drivers/oprofile/oprofile_stats.c 2011-07-21 22:17:23.000000000 -0400
33204+++ linux-3.0.8/drivers/oprofile/oprofile_stats.c 2011-08-23 21:47:55.000000000 -0400
32831@@ -30,11 +30,11 @@ void oprofile_reset_stats(void) 33205@@ -30,11 +30,11 @@ void oprofile_reset_stats(void)
32832 cpu_buf->sample_invalid_eip = 0; 33206 cpu_buf->sample_invalid_eip = 0;
32833 } 33207 }
@@ -32845,9 +33219,9 @@ diff -urNp linux-3.0.7/drivers/oprofile/oprofile_stats.c linux-3.0.7/drivers/opr
32845 } 33219 }
32846 33220
32847 33221
32848diff -urNp linux-3.0.7/drivers/oprofile/oprofile_stats.h linux-3.0.7/drivers/oprofile/oprofile_stats.h 33222diff -urNp linux-3.0.8/drivers/oprofile/oprofile_stats.h linux-3.0.8/drivers/oprofile/oprofile_stats.h
32849--- linux-3.0.7/drivers/oprofile/oprofile_stats.h 2011-07-21 22:17:23.000000000 -0400 33223--- linux-3.0.8/drivers/oprofile/oprofile_stats.h 2011-07-21 22:17:23.000000000 -0400
32850+++ linux-3.0.7/drivers/oprofile/oprofile_stats.h 2011-08-23 21:47:55.000000000 -0400 33224+++ linux-3.0.8/drivers/oprofile/oprofile_stats.h 2011-08-23 21:47:55.000000000 -0400
32851@@ -13,11 +13,11 @@ 33225@@ -13,11 +13,11 @@
32852 #include <asm/atomic.h> 33226 #include <asm/atomic.h>
32853 33227
@@ -32865,21 +33239,9 @@ diff -urNp linux-3.0.7/drivers/oprofile/oprofile_stats.h linux-3.0.7/drivers/opr
32865 }; 33239 };
32866 33240
32867 extern struct oprofile_stat_struct oprofile_stats; 33241 extern struct oprofile_stat_struct oprofile_stats;
32868diff -urNp linux-3.0.7/drivers/oprofile/oprofilefs.c linux-3.0.7/drivers/oprofile/oprofilefs.c 33242diff -urNp linux-3.0.8/drivers/parport/procfs.c linux-3.0.8/drivers/parport/procfs.c
32869--- linux-3.0.7/drivers/oprofile/oprofilefs.c 2011-07-21 22:17:23.000000000 -0400 33243--- linux-3.0.8/drivers/parport/procfs.c 2011-07-21 22:17:23.000000000 -0400
32870+++ linux-3.0.7/drivers/oprofile/oprofilefs.c 2011-08-23 21:47:55.000000000 -0400 33244+++ linux-3.0.8/drivers/parport/procfs.c 2011-08-23 21:47:55.000000000 -0400
32871@@ -186,7 +186,7 @@ static const struct file_operations atom
32872
32873
32874 int oprofilefs_create_ro_atomic(struct super_block *sb, struct dentry *root,
32875- char const *name, atomic_t *val)
32876+ char const *name, atomic_unchecked_t *val)
32877 {
32878 return __oprofilefs_create_file(sb, root, name,
32879 &atomic_ro_fops, 0444, val);
32880diff -urNp linux-3.0.7/drivers/parport/procfs.c linux-3.0.7/drivers/parport/procfs.c
32881--- linux-3.0.7/drivers/parport/procfs.c 2011-07-21 22:17:23.000000000 -0400
32882+++ linux-3.0.7/drivers/parport/procfs.c 2011-08-23 21:47:55.000000000 -0400
32883@@ -64,7 +64,7 @@ static int do_active_device(ctl_table *t 33245@@ -64,7 +64,7 @@ static int do_active_device(ctl_table *t
32884 33246
32885 *ppos += len; 33247 *ppos += len;
@@ -32898,9 +33260,9 @@ diff -urNp linux-3.0.7/drivers/parport/procfs.c linux-3.0.7/drivers/parport/proc
32898 } 33260 }
32899 #endif /* IEEE1284.3 support. */ 33261 #endif /* IEEE1284.3 support. */
32900 33262
32901diff -urNp linux-3.0.7/drivers/pci/hotplug/cpci_hotplug.h linux-3.0.7/drivers/pci/hotplug/cpci_hotplug.h 33263diff -urNp linux-3.0.8/drivers/pci/hotplug/cpci_hotplug.h linux-3.0.8/drivers/pci/hotplug/cpci_hotplug.h
32902--- linux-3.0.7/drivers/pci/hotplug/cpci_hotplug.h 2011-07-21 22:17:23.000000000 -0400 33264--- linux-3.0.8/drivers/pci/hotplug/cpci_hotplug.h 2011-07-21 22:17:23.000000000 -0400
32903+++ linux-3.0.7/drivers/pci/hotplug/cpci_hotplug.h 2011-08-23 21:47:55.000000000 -0400 33265+++ linux-3.0.8/drivers/pci/hotplug/cpci_hotplug.h 2011-08-23 21:47:55.000000000 -0400
32904@@ -59,7 +59,7 @@ struct cpci_hp_controller_ops { 33266@@ -59,7 +59,7 @@ struct cpci_hp_controller_ops {
32905 int (*hardware_test) (struct slot* slot, u32 value); 33267 int (*hardware_test) (struct slot* slot, u32 value);
32906 u8 (*get_power) (struct slot* slot); 33268 u8 (*get_power) (struct slot* slot);
@@ -32910,9 +33272,9 @@ diff -urNp linux-3.0.7/drivers/pci/hotplug/cpci_hotplug.h linux-3.0.7/drivers/pc
32910 33272
32911 struct cpci_hp_controller { 33273 struct cpci_hp_controller {
32912 unsigned int irq; 33274 unsigned int irq;
32913diff -urNp linux-3.0.7/drivers/pci/hotplug/cpqphp_nvram.c linux-3.0.7/drivers/pci/hotplug/cpqphp_nvram.c 33275diff -urNp linux-3.0.8/drivers/pci/hotplug/cpqphp_nvram.c linux-3.0.8/drivers/pci/hotplug/cpqphp_nvram.c
32914--- linux-3.0.7/drivers/pci/hotplug/cpqphp_nvram.c 2011-07-21 22:17:23.000000000 -0400 33276--- linux-3.0.8/drivers/pci/hotplug/cpqphp_nvram.c 2011-07-21 22:17:23.000000000 -0400
32915+++ linux-3.0.7/drivers/pci/hotplug/cpqphp_nvram.c 2011-08-23 21:47:55.000000000 -0400 33277+++ linux-3.0.8/drivers/pci/hotplug/cpqphp_nvram.c 2011-08-23 21:47:55.000000000 -0400
32916@@ -428,9 +428,13 @@ static u32 store_HRT (void __iomem *rom_ 33278@@ -428,9 +428,13 @@ static u32 store_HRT (void __iomem *rom_
32917 33279
32918 void compaq_nvram_init (void __iomem *rom_start) 33280 void compaq_nvram_init (void __iomem *rom_start)
@@ -32927,9 +33289,9 @@ diff -urNp linux-3.0.7/drivers/pci/hotplug/cpqphp_nvram.c linux-3.0.7/drivers/pc
32927 dbg("int15 entry = %p\n", compaq_int15_entry_point); 33289 dbg("int15 entry = %p\n", compaq_int15_entry_point);
32928 33290
32929 /* initialize our int15 lock */ 33291 /* initialize our int15 lock */
32930diff -urNp linux-3.0.7/drivers/pci/pcie/aspm.c linux-3.0.7/drivers/pci/pcie/aspm.c 33292diff -urNp linux-3.0.8/drivers/pci/pcie/aspm.c linux-3.0.8/drivers/pci/pcie/aspm.c
32931--- linux-3.0.7/drivers/pci/pcie/aspm.c 2011-07-21 22:17:23.000000000 -0400 33293--- linux-3.0.8/drivers/pci/pcie/aspm.c 2011-07-21 22:17:23.000000000 -0400
32932+++ linux-3.0.7/drivers/pci/pcie/aspm.c 2011-08-23 21:47:55.000000000 -0400 33294+++ linux-3.0.8/drivers/pci/pcie/aspm.c 2011-08-23 21:47:55.000000000 -0400
32933@@ -27,9 +27,9 @@ 33295@@ -27,9 +27,9 @@
32934 #define MODULE_PARAM_PREFIX "pcie_aspm." 33296 #define MODULE_PARAM_PREFIX "pcie_aspm."
32935 33297
@@ -32943,9 +33305,9 @@ diff -urNp linux-3.0.7/drivers/pci/pcie/aspm.c linux-3.0.7/drivers/pci/pcie/aspm
32943 #define ASPM_STATE_L0S (ASPM_STATE_L0S_UP | ASPM_STATE_L0S_DW) 33305 #define ASPM_STATE_L0S (ASPM_STATE_L0S_UP | ASPM_STATE_L0S_DW)
32944 #define ASPM_STATE_ALL (ASPM_STATE_L0S | ASPM_STATE_L1) 33306 #define ASPM_STATE_ALL (ASPM_STATE_L0S | ASPM_STATE_L1)
32945 33307
32946diff -urNp linux-3.0.7/drivers/pci/probe.c linux-3.0.7/drivers/pci/probe.c 33308diff -urNp linux-3.0.8/drivers/pci/probe.c linux-3.0.8/drivers/pci/probe.c
32947--- linux-3.0.7/drivers/pci/probe.c 2011-07-21 22:17:23.000000000 -0400 33309--- linux-3.0.8/drivers/pci/probe.c 2011-07-21 22:17:23.000000000 -0400
32948+++ linux-3.0.7/drivers/pci/probe.c 2011-08-23 21:47:55.000000000 -0400 33310+++ linux-3.0.8/drivers/pci/probe.c 2011-08-23 21:47:55.000000000 -0400
32949@@ -129,7 +129,7 @@ int __pci_read_base(struct pci_dev *dev, 33311@@ -129,7 +129,7 @@ int __pci_read_base(struct pci_dev *dev,
32950 u32 l, sz, mask; 33312 u32 l, sz, mask;
32951 u16 orig_cmd; 33313 u16 orig_cmd;
@@ -32955,9 +33317,9 @@ diff -urNp linux-3.0.7/drivers/pci/probe.c linux-3.0.7/drivers/pci/probe.c
32955 33317
32956 if (!dev->mmio_always_on) { 33318 if (!dev->mmio_always_on) {
32957 pci_read_config_word(dev, PCI_COMMAND, &orig_cmd); 33319 pci_read_config_word(dev, PCI_COMMAND, &orig_cmd);
32958diff -urNp linux-3.0.7/drivers/pci/proc.c linux-3.0.7/drivers/pci/proc.c 33320diff -urNp linux-3.0.8/drivers/pci/proc.c linux-3.0.8/drivers/pci/proc.c
32959--- linux-3.0.7/drivers/pci/proc.c 2011-07-21 22:17:23.000000000 -0400 33321--- linux-3.0.8/drivers/pci/proc.c 2011-07-21 22:17:23.000000000 -0400
32960+++ linux-3.0.7/drivers/pci/proc.c 2011-08-23 21:48:14.000000000 -0400 33322+++ linux-3.0.8/drivers/pci/proc.c 2011-08-23 21:48:14.000000000 -0400
32961@@ -476,7 +476,16 @@ static const struct file_operations proc 33323@@ -476,7 +476,16 @@ static const struct file_operations proc
32962 static int __init pci_proc_init(void) 33324 static int __init pci_proc_init(void)
32963 { 33325 {
@@ -32975,9 +33337,9 @@ diff -urNp linux-3.0.7/drivers/pci/proc.c linux-3.0.7/drivers/pci/proc.c
32975 proc_create("devices", 0, proc_bus_pci_dir, 33337 proc_create("devices", 0, proc_bus_pci_dir,
32976 &proc_bus_pci_dev_operations); 33338 &proc_bus_pci_dev_operations);
32977 proc_initialized = 1; 33339 proc_initialized = 1;
32978diff -urNp linux-3.0.7/drivers/pci/xen-pcifront.c linux-3.0.7/drivers/pci/xen-pcifront.c 33340diff -urNp linux-3.0.8/drivers/pci/xen-pcifront.c linux-3.0.8/drivers/pci/xen-pcifront.c
32979--- linux-3.0.7/drivers/pci/xen-pcifront.c 2011-07-21 22:17:23.000000000 -0400 33341--- linux-3.0.8/drivers/pci/xen-pcifront.c 2011-07-21 22:17:23.000000000 -0400
32980+++ linux-3.0.7/drivers/pci/xen-pcifront.c 2011-08-23 21:48:14.000000000 -0400 33342+++ linux-3.0.8/drivers/pci/xen-pcifront.c 2011-08-23 21:48:14.000000000 -0400
32981@@ -187,6 +187,8 @@ static int pcifront_bus_read(struct pci_ 33343@@ -187,6 +187,8 @@ static int pcifront_bus_read(struct pci_
32982 struct pcifront_sd *sd = bus->sysdata; 33344 struct pcifront_sd *sd = bus->sysdata;
32983 struct pcifront_device *pdev = pcifront_get_pdev(sd); 33345 struct pcifront_device *pdev = pcifront_get_pdev(sd);
@@ -33023,9 +33385,9 @@ diff -urNp linux-3.0.7/drivers/pci/xen-pcifront.c linux-3.0.7/drivers/pci/xen-pc
33023 err = do_pci_op(pdev, &op); 33385 err = do_pci_op(pdev, &op);
33024 if (likely(!err)) { 33386 if (likely(!err)) {
33025 vector[0] = op.value; 33387 vector[0] = op.value;
33026diff -urNp linux-3.0.7/drivers/platform/x86/thinkpad_acpi.c linux-3.0.7/drivers/platform/x86/thinkpad_acpi.c 33388diff -urNp linux-3.0.8/drivers/platform/x86/thinkpad_acpi.c linux-3.0.8/drivers/platform/x86/thinkpad_acpi.c
33027--- linux-3.0.7/drivers/platform/x86/thinkpad_acpi.c 2011-07-21 22:17:23.000000000 -0400 33389--- linux-3.0.8/drivers/platform/x86/thinkpad_acpi.c 2011-07-21 22:17:23.000000000 -0400
33028+++ linux-3.0.7/drivers/platform/x86/thinkpad_acpi.c 2011-08-23 21:47:55.000000000 -0400 33390+++ linux-3.0.8/drivers/platform/x86/thinkpad_acpi.c 2011-08-23 21:47:55.000000000 -0400
33029@@ -2094,7 +2094,7 @@ static int hotkey_mask_get(void) 33391@@ -2094,7 +2094,7 @@ static int hotkey_mask_get(void)
33030 return 0; 33392 return 0;
33031 } 33393 }
@@ -33035,9 +33397,9 @@ diff -urNp linux-3.0.7/drivers/platform/x86/thinkpad_acpi.c linux-3.0.7/drivers/
33035 { 33397 {
33036 /* log only what the user can fix... */ 33398 /* log only what the user can fix... */
33037 const u32 wantedmask = hotkey_driver_mask & 33399 const u32 wantedmask = hotkey_driver_mask &
33038diff -urNp linux-3.0.7/drivers/pnp/pnpbios/bioscalls.c linux-3.0.7/drivers/pnp/pnpbios/bioscalls.c 33400diff -urNp linux-3.0.8/drivers/pnp/pnpbios/bioscalls.c linux-3.0.8/drivers/pnp/pnpbios/bioscalls.c
33039--- linux-3.0.7/drivers/pnp/pnpbios/bioscalls.c 2011-07-21 22:17:23.000000000 -0400 33401--- linux-3.0.8/drivers/pnp/pnpbios/bioscalls.c 2011-07-21 22:17:23.000000000 -0400
33040+++ linux-3.0.7/drivers/pnp/pnpbios/bioscalls.c 2011-08-23 21:47:55.000000000 -0400 33402+++ linux-3.0.8/drivers/pnp/pnpbios/bioscalls.c 2011-08-23 21:47:55.000000000 -0400
33041@@ -59,7 +59,7 @@ do { \ 33403@@ -59,7 +59,7 @@ do { \
33042 set_desc_limit(&gdt[(selname) >> 3], (size) - 1); \ 33404 set_desc_limit(&gdt[(selname) >> 3], (size) - 1); \
33043 } while(0) 33405 } while(0)
@@ -33094,9 +33456,9 @@ diff -urNp linux-3.0.7/drivers/pnp/pnpbios/bioscalls.c linux-3.0.7/drivers/pnp/p
33094+ 33456+
33095+ pax_close_kernel(); 33457+ pax_close_kernel();
33096 } 33458 }
33097diff -urNp linux-3.0.7/drivers/pnp/resource.c linux-3.0.7/drivers/pnp/resource.c 33459diff -urNp linux-3.0.8/drivers/pnp/resource.c linux-3.0.8/drivers/pnp/resource.c
33098--- linux-3.0.7/drivers/pnp/resource.c 2011-07-21 22:17:23.000000000 -0400 33460--- linux-3.0.8/drivers/pnp/resource.c 2011-07-21 22:17:23.000000000 -0400
33099+++ linux-3.0.7/drivers/pnp/resource.c 2011-08-23 21:47:55.000000000 -0400 33461+++ linux-3.0.8/drivers/pnp/resource.c 2011-08-23 21:47:55.000000000 -0400
33100@@ -360,7 +360,7 @@ int pnp_check_irq(struct pnp_dev *dev, s 33462@@ -360,7 +360,7 @@ int pnp_check_irq(struct pnp_dev *dev, s
33101 return 1; 33463 return 1;
33102 33464
@@ -33115,9 +33477,9 @@ diff -urNp linux-3.0.7/drivers/pnp/resource.c linux-3.0.7/drivers/pnp/resource.c
33115 return 0; 33477 return 0;
33116 33478
33117 /* check if the resource is reserved */ 33479 /* check if the resource is reserved */
33118diff -urNp linux-3.0.7/drivers/power/bq27x00_battery.c linux-3.0.7/drivers/power/bq27x00_battery.c 33480diff -urNp linux-3.0.8/drivers/power/bq27x00_battery.c linux-3.0.8/drivers/power/bq27x00_battery.c
33119--- linux-3.0.7/drivers/power/bq27x00_battery.c 2011-07-21 22:17:23.000000000 -0400 33481--- linux-3.0.8/drivers/power/bq27x00_battery.c 2011-07-21 22:17:23.000000000 -0400
33120+++ linux-3.0.7/drivers/power/bq27x00_battery.c 2011-08-23 21:47:55.000000000 -0400 33482+++ linux-3.0.8/drivers/power/bq27x00_battery.c 2011-08-23 21:47:55.000000000 -0400
33121@@ -67,7 +67,7 @@ 33483@@ -67,7 +67,7 @@
33122 struct bq27x00_device_info; 33484 struct bq27x00_device_info;
33123 struct bq27x00_access_methods { 33485 struct bq27x00_access_methods {
@@ -33127,9 +33489,9 @@ diff -urNp linux-3.0.7/drivers/power/bq27x00_battery.c linux-3.0.7/drivers/power
33127 33489
33128 enum bq27x00_chip { BQ27000, BQ27500 }; 33490 enum bq27x00_chip { BQ27000, BQ27500 };
33129 33491
33130diff -urNp linux-3.0.7/drivers/regulator/max8660.c linux-3.0.7/drivers/regulator/max8660.c 33492diff -urNp linux-3.0.8/drivers/regulator/max8660.c linux-3.0.8/drivers/regulator/max8660.c
33131--- linux-3.0.7/drivers/regulator/max8660.c 2011-07-21 22:17:23.000000000 -0400 33493--- linux-3.0.8/drivers/regulator/max8660.c 2011-07-21 22:17:23.000000000 -0400
33132+++ linux-3.0.7/drivers/regulator/max8660.c 2011-08-23 21:47:55.000000000 -0400 33494+++ linux-3.0.8/drivers/regulator/max8660.c 2011-08-23 21:47:55.000000000 -0400
33133@@ -383,8 +383,10 @@ static int __devinit max8660_probe(struc 33495@@ -383,8 +383,10 @@ static int __devinit max8660_probe(struc
33134 max8660->shadow_regs[MAX8660_OVER1] = 5; 33496 max8660->shadow_regs[MAX8660_OVER1] = 5;
33135 } else { 33497 } else {
@@ -33143,9 +33505,9 @@ diff -urNp linux-3.0.7/drivers/regulator/max8660.c linux-3.0.7/drivers/regulator
33143 } 33505 }
33144 33506
33145 /* 33507 /*
33146diff -urNp linux-3.0.7/drivers/regulator/mc13892-regulator.c linux-3.0.7/drivers/regulator/mc13892-regulator.c 33508diff -urNp linux-3.0.8/drivers/regulator/mc13892-regulator.c linux-3.0.8/drivers/regulator/mc13892-regulator.c
33147--- linux-3.0.7/drivers/regulator/mc13892-regulator.c 2011-07-21 22:17:23.000000000 -0400 33509--- linux-3.0.8/drivers/regulator/mc13892-regulator.c 2011-07-21 22:17:23.000000000 -0400
33148+++ linux-3.0.7/drivers/regulator/mc13892-regulator.c 2011-08-23 21:47:55.000000000 -0400 33510+++ linux-3.0.8/drivers/regulator/mc13892-regulator.c 2011-08-23 21:47:55.000000000 -0400
33149@@ -564,10 +564,12 @@ static int __devinit mc13892_regulator_p 33511@@ -564,10 +564,12 @@ static int __devinit mc13892_regulator_p
33150 } 33512 }
33151 mc13xxx_unlock(mc13892); 33513 mc13xxx_unlock(mc13892);
@@ -33161,9 +33523,9 @@ diff -urNp linux-3.0.7/drivers/regulator/mc13892-regulator.c linux-3.0.7/drivers
33161 for (i = 0; i < pdata->num_regulators; i++) { 33523 for (i = 0; i < pdata->num_regulators; i++) {
33162 init_data = &pdata->regulators[i]; 33524 init_data = &pdata->regulators[i];
33163 priv->regulators[i] = regulator_register( 33525 priv->regulators[i] = regulator_register(
33164diff -urNp linux-3.0.7/drivers/rtc/rtc-dev.c linux-3.0.7/drivers/rtc/rtc-dev.c 33526diff -urNp linux-3.0.8/drivers/rtc/rtc-dev.c linux-3.0.8/drivers/rtc/rtc-dev.c
33165--- linux-3.0.7/drivers/rtc/rtc-dev.c 2011-07-21 22:17:23.000000000 -0400 33527--- linux-3.0.8/drivers/rtc/rtc-dev.c 2011-07-21 22:17:23.000000000 -0400
33166+++ linux-3.0.7/drivers/rtc/rtc-dev.c 2011-08-23 21:48:14.000000000 -0400 33528+++ linux-3.0.8/drivers/rtc/rtc-dev.c 2011-08-23 21:48:14.000000000 -0400
33167@@ -14,6 +14,7 @@ 33529@@ -14,6 +14,7 @@
33168 #include <linux/module.h> 33530 #include <linux/module.h>
33169 #include <linux/rtc.h> 33531 #include <linux/rtc.h>
@@ -33181,21 +33543,9 @@ diff -urNp linux-3.0.7/drivers/rtc/rtc-dev.c linux-3.0.7/drivers/rtc/rtc-dev.c
33181 return rtc_set_time(rtc, &tm); 33543 return rtc_set_time(rtc, &tm);
33182 33544
33183 case RTC_PIE_ON: 33545 case RTC_PIE_ON:
33184diff -urNp linux-3.0.7/drivers/scsi/BusLogic.c linux-3.0.7/drivers/scsi/BusLogic.c 33546diff -urNp linux-3.0.8/drivers/scsi/aacraid/aacraid.h linux-3.0.8/drivers/scsi/aacraid/aacraid.h
33185--- linux-3.0.7/drivers/scsi/BusLogic.c 2011-07-21 22:17:23.000000000 -0400 33547--- linux-3.0.8/drivers/scsi/aacraid/aacraid.h 2011-07-21 22:17:23.000000000 -0400
33186+++ linux-3.0.7/drivers/scsi/BusLogic.c 2011-08-23 21:48:14.000000000 -0400 33548+++ linux-3.0.8/drivers/scsi/aacraid/aacraid.h 2011-08-23 21:47:55.000000000 -0400
33187@@ -962,6 +962,8 @@ static int __init BusLogic_InitializeFla
33188 static void __init BusLogic_InitializeProbeInfoList(struct BusLogic_HostAdapter
33189 *PrototypeHostAdapter)
33190 {
33191+ pax_track_stack();
33192+
33193 /*
33194 If a PCI BIOS is present, interrogate it for MultiMaster and FlashPoint
33195 Host Adapters; otherwise, default to the standard ISA MultiMaster probe.
33196diff -urNp linux-3.0.7/drivers/scsi/aacraid/aacraid.h linux-3.0.7/drivers/scsi/aacraid/aacraid.h
33197--- linux-3.0.7/drivers/scsi/aacraid/aacraid.h 2011-07-21 22:17:23.000000000 -0400
33198+++ linux-3.0.7/drivers/scsi/aacraid/aacraid.h 2011-08-23 21:47:55.000000000 -0400
33199@@ -492,7 +492,7 @@ struct adapter_ops 33549@@ -492,7 +492,7 @@ struct adapter_ops
33200 int (*adapter_scsi)(struct fib * fib, struct scsi_cmnd * cmd); 33550 int (*adapter_scsi)(struct fib * fib, struct scsi_cmnd * cmd);
33201 /* Administrative operations */ 33551 /* Administrative operations */
@@ -33205,9 +33555,9 @@ diff -urNp linux-3.0.7/drivers/scsi/aacraid/aacraid.h linux-3.0.7/drivers/scsi/a
33205 33555
33206 /* 33556 /*
33207 * Define which interrupt handler needs to be installed 33557 * Define which interrupt handler needs to be installed
33208diff -urNp linux-3.0.7/drivers/scsi/aacraid/commctrl.c linux-3.0.7/drivers/scsi/aacraid/commctrl.c 33558diff -urNp linux-3.0.8/drivers/scsi/aacraid/commctrl.c linux-3.0.8/drivers/scsi/aacraid/commctrl.c
33209--- linux-3.0.7/drivers/scsi/aacraid/commctrl.c 2011-07-21 22:17:23.000000000 -0400 33559--- linux-3.0.8/drivers/scsi/aacraid/commctrl.c 2011-07-21 22:17:23.000000000 -0400
33210+++ linux-3.0.7/drivers/scsi/aacraid/commctrl.c 2011-08-23 21:48:14.000000000 -0400 33560+++ linux-3.0.8/drivers/scsi/aacraid/commctrl.c 2011-08-23 21:48:14.000000000 -0400
33211@@ -482,6 +482,7 @@ static int aac_send_raw_srb(struct aac_d 33561@@ -482,6 +482,7 @@ static int aac_send_raw_srb(struct aac_d
33212 u32 actual_fibsize64, actual_fibsize = 0; 33562 u32 actual_fibsize64, actual_fibsize = 0;
33213 int i; 33563 int i;
@@ -33216,9 +33566,9 @@ diff -urNp linux-3.0.7/drivers/scsi/aacraid/commctrl.c linux-3.0.7/drivers/scsi/
33216 33566
33217 if (dev->in_reset) { 33567 if (dev->in_reset) {
33218 dprintk((KERN_DEBUG"aacraid: send raw srb -EBUSY\n")); 33568 dprintk((KERN_DEBUG"aacraid: send raw srb -EBUSY\n"));
33219diff -urNp linux-3.0.7/drivers/scsi/aacraid/linit.c linux-3.0.7/drivers/scsi/aacraid/linit.c 33569diff -urNp linux-3.0.8/drivers/scsi/aacraid/linit.c linux-3.0.8/drivers/scsi/aacraid/linit.c
33220--- linux-3.0.7/drivers/scsi/aacraid/linit.c 2011-07-21 22:17:23.000000000 -0400 33570--- linux-3.0.8/drivers/scsi/aacraid/linit.c 2011-07-21 22:17:23.000000000 -0400
33221+++ linux-3.0.7/drivers/scsi/aacraid/linit.c 2011-10-11 10:44:33.000000000 -0400 33571+++ linux-3.0.8/drivers/scsi/aacraid/linit.c 2011-10-11 10:44:33.000000000 -0400
33222@@ -92,7 +92,7 @@ static DECLARE_PCI_DEVICE_TABLE(aac_pci_ 33572@@ -92,7 +92,7 @@ static DECLARE_PCI_DEVICE_TABLE(aac_pci_
33223 #elif defined(__devinitconst) 33573 #elif defined(__devinitconst)
33224 static const struct pci_device_id aac_pci_tbl[] __devinitconst = { 33574 static const struct pci_device_id aac_pci_tbl[] __devinitconst = {
@@ -33228,9 +33578,9 @@ diff -urNp linux-3.0.7/drivers/scsi/aacraid/linit.c linux-3.0.7/drivers/scsi/aac
33228 #endif 33578 #endif
33229 { 0x1028, 0x0001, 0x1028, 0x0001, 0, 0, 0 }, /* PERC 2/Si (Iguana/PERC2Si) */ 33579 { 0x1028, 0x0001, 0x1028, 0x0001, 0, 0, 0 }, /* PERC 2/Si (Iguana/PERC2Si) */
33230 { 0x1028, 0x0002, 0x1028, 0x0002, 0, 0, 1 }, /* PERC 3/Di (Opal/PERC3Di) */ 33580 { 0x1028, 0x0002, 0x1028, 0x0002, 0, 0, 1 }, /* PERC 3/Di (Opal/PERC3Di) */
33231diff -urNp linux-3.0.7/drivers/scsi/aic94xx/aic94xx_init.c linux-3.0.7/drivers/scsi/aic94xx/aic94xx_init.c 33581diff -urNp linux-3.0.8/drivers/scsi/aic94xx/aic94xx_init.c linux-3.0.8/drivers/scsi/aic94xx/aic94xx_init.c
33232--- linux-3.0.7/drivers/scsi/aic94xx/aic94xx_init.c 2011-07-21 22:17:23.000000000 -0400 33582--- linux-3.0.8/drivers/scsi/aic94xx/aic94xx_init.c 2011-07-21 22:17:23.000000000 -0400
33233+++ linux-3.0.7/drivers/scsi/aic94xx/aic94xx_init.c 2011-10-11 10:44:33.000000000 -0400 33583+++ linux-3.0.8/drivers/scsi/aic94xx/aic94xx_init.c 2011-10-11 10:44:33.000000000 -0400
33234@@ -1012,7 +1012,7 @@ static struct sas_domain_function_templa 33584@@ -1012,7 +1012,7 @@ static struct sas_domain_function_templa
33235 .lldd_control_phy = asd_control_phy, 33585 .lldd_control_phy = asd_control_phy,
33236 }; 33586 };
@@ -33240,21 +33590,21 @@ diff -urNp linux-3.0.7/drivers/scsi/aic94xx/aic94xx_init.c linux-3.0.7/drivers/s
33240 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x410),0, 0, 1}, 33590 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x410),0, 0, 1},
33241 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x412),0, 0, 1}, 33591 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x412),0, 0, 1},
33242 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x416),0, 0, 1}, 33592 {PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x416),0, 0, 1},
33243diff -urNp linux-3.0.7/drivers/scsi/bfa/bfa.h linux-3.0.7/drivers/scsi/bfa/bfa.h 33593diff -urNp linux-3.0.8/drivers/scsi/bfa/bfad.c linux-3.0.8/drivers/scsi/bfa/bfad.c
33244--- linux-3.0.7/drivers/scsi/bfa/bfa.h 2011-07-21 22:17:23.000000000 -0400 33594--- linux-3.0.8/drivers/scsi/bfa/bfad.c 2011-07-21 22:17:23.000000000 -0400
33245+++ linux-3.0.7/drivers/scsi/bfa/bfa.h 2011-08-23 21:47:55.000000000 -0400 33595+++ linux-3.0.8/drivers/scsi/bfa/bfad.c 2011-08-23 21:48:14.000000000 -0400
33246@@ -238,7 +238,7 @@ struct bfa_hwif_s { 33596@@ -1032,6 +1032,8 @@ bfad_start_ops(struct bfad_s *bfad) {
33247 u32 *nvecs, u32 *maxvec); 33597 struct bfad_vport_s *vport, *vport_new;
33248 void (*hw_msix_get_rme_range) (struct bfa_s *bfa, u32 *start, 33598 struct bfa_fcs_driver_info_s driver_info;
33249 u32 *end);
33250-};
33251+} __no_const;
33252 typedef void (*bfa_cb_iocfc_t) (void *cbarg, enum bfa_status status);
33253 33599
33254 struct bfa_iocfc_s { 33600+ pax_track_stack();
33255diff -urNp linux-3.0.7/drivers/scsi/bfa/bfa_fcs_lport.c linux-3.0.7/drivers/scsi/bfa/bfa_fcs_lport.c 33601+
33256--- linux-3.0.7/drivers/scsi/bfa/bfa_fcs_lport.c 2011-07-21 22:17:23.000000000 -0400 33602 /* Fill the driver_info info to fcs*/
33257+++ linux-3.0.7/drivers/scsi/bfa/bfa_fcs_lport.c 2011-08-23 21:48:14.000000000 -0400 33603 memset(&driver_info, 0, sizeof(driver_info));
33604 strncpy(driver_info.version, BFAD_DRIVER_VERSION,
33605diff -urNp linux-3.0.8/drivers/scsi/bfa/bfa_fcs_lport.c linux-3.0.8/drivers/scsi/bfa/bfa_fcs_lport.c
33606--- linux-3.0.8/drivers/scsi/bfa/bfa_fcs_lport.c 2011-07-21 22:17:23.000000000 -0400
33607+++ linux-3.0.8/drivers/scsi/bfa/bfa_fcs_lport.c 2011-08-23 21:48:14.000000000 -0400
33258@@ -1559,6 +1559,8 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struc 33608@@ -1559,6 +1559,8 @@ bfa_fcs_lport_fdmi_build_rhba_pyld(struc
33259 u16 len, count; 33609 u16 len, count;
33260 u16 templen; 33610 u16 templen;
@@ -33273,9 +33623,9 @@ diff -urNp linux-3.0.7/drivers/scsi/bfa/bfa_fcs_lport.c linux-3.0.7/drivers/scsi
33273 /* 33623 /*
33274 * get port attributes 33624 * get port attributes
33275 */ 33625 */
33276diff -urNp linux-3.0.7/drivers/scsi/bfa/bfa_fcs_rport.c linux-3.0.7/drivers/scsi/bfa/bfa_fcs_rport.c 33626diff -urNp linux-3.0.8/drivers/scsi/bfa/bfa_fcs_rport.c linux-3.0.8/drivers/scsi/bfa/bfa_fcs_rport.c
33277--- linux-3.0.7/drivers/scsi/bfa/bfa_fcs_rport.c 2011-07-21 22:17:23.000000000 -0400 33627--- linux-3.0.8/drivers/scsi/bfa/bfa_fcs_rport.c 2011-07-21 22:17:23.000000000 -0400
33278+++ linux-3.0.7/drivers/scsi/bfa/bfa_fcs_rport.c 2011-08-23 21:48:14.000000000 -0400 33628+++ linux-3.0.8/drivers/scsi/bfa/bfa_fcs_rport.c 2011-08-23 21:48:14.000000000 -0400
33279@@ -1844,6 +1844,8 @@ bfa_fcs_rport_process_rpsc(struct bfa_fc 33629@@ -1844,6 +1844,8 @@ bfa_fcs_rport_process_rpsc(struct bfa_fc
33280 struct fc_rpsc_speed_info_s speeds; 33630 struct fc_rpsc_speed_info_s speeds;
33281 struct bfa_port_attr_s pport_attr; 33631 struct bfa_port_attr_s pport_attr;
@@ -33285,9 +33635,21 @@ diff -urNp linux-3.0.7/drivers/scsi/bfa/bfa_fcs_rport.c linux-3.0.7/drivers/scsi
33285 bfa_trc(port->fcs, rx_fchs->s_id); 33635 bfa_trc(port->fcs, rx_fchs->s_id);
33286 bfa_trc(port->fcs, rx_fchs->d_id); 33636 bfa_trc(port->fcs, rx_fchs->d_id);
33287 33637
33288diff -urNp linux-3.0.7/drivers/scsi/bfa/bfa_ioc.h linux-3.0.7/drivers/scsi/bfa/bfa_ioc.h 33638diff -urNp linux-3.0.8/drivers/scsi/bfa/bfa.h linux-3.0.8/drivers/scsi/bfa/bfa.h
33289--- linux-3.0.7/drivers/scsi/bfa/bfa_ioc.h 2011-07-21 22:17:23.000000000 -0400 33639--- linux-3.0.8/drivers/scsi/bfa/bfa.h 2011-07-21 22:17:23.000000000 -0400
33290+++ linux-3.0.7/drivers/scsi/bfa/bfa_ioc.h 2011-08-23 21:47:55.000000000 -0400 33640+++ linux-3.0.8/drivers/scsi/bfa/bfa.h 2011-08-23 21:47:55.000000000 -0400
33641@@ -238,7 +238,7 @@ struct bfa_hwif_s {
33642 u32 *nvecs, u32 *maxvec);
33643 void (*hw_msix_get_rme_range) (struct bfa_s *bfa, u32 *start,
33644 u32 *end);
33645-};
33646+} __no_const;
33647 typedef void (*bfa_cb_iocfc_t) (void *cbarg, enum bfa_status status);
33648
33649 struct bfa_iocfc_s {
33650diff -urNp linux-3.0.8/drivers/scsi/bfa/bfa_ioc.h linux-3.0.8/drivers/scsi/bfa/bfa_ioc.h
33651--- linux-3.0.8/drivers/scsi/bfa/bfa_ioc.h 2011-07-21 22:17:23.000000000 -0400
33652+++ linux-3.0.8/drivers/scsi/bfa/bfa_ioc.h 2011-08-23 21:47:55.000000000 -0400
33291@@ -196,7 +196,7 @@ struct bfa_ioc_cbfn_s { 33653@@ -196,7 +196,7 @@ struct bfa_ioc_cbfn_s {
33292 bfa_ioc_disable_cbfn_t disable_cbfn; 33654 bfa_ioc_disable_cbfn_t disable_cbfn;
33293 bfa_ioc_hbfail_cbfn_t hbfail_cbfn; 33655 bfa_ioc_hbfail_cbfn_t hbfail_cbfn;
@@ -33306,21 +33668,21 @@ diff -urNp linux-3.0.7/drivers/scsi/bfa/bfa_ioc.h linux-3.0.7/drivers/scsi/bfa/b
33306 33668
33307 #define bfa_ioc_pcifn(__ioc) ((__ioc)->pcidev.pci_func) 33669 #define bfa_ioc_pcifn(__ioc) ((__ioc)->pcidev.pci_func)
33308 #define bfa_ioc_devid(__ioc) ((__ioc)->pcidev.device_id) 33670 #define bfa_ioc_devid(__ioc) ((__ioc)->pcidev.device_id)
33309diff -urNp linux-3.0.7/drivers/scsi/bfa/bfad.c linux-3.0.7/drivers/scsi/bfa/bfad.c 33671diff -urNp linux-3.0.8/drivers/scsi/BusLogic.c linux-3.0.8/drivers/scsi/BusLogic.c
33310--- linux-3.0.7/drivers/scsi/bfa/bfad.c 2011-07-21 22:17:23.000000000 -0400 33672--- linux-3.0.8/drivers/scsi/BusLogic.c 2011-07-21 22:17:23.000000000 -0400
33311+++ linux-3.0.7/drivers/scsi/bfa/bfad.c 2011-08-23 21:48:14.000000000 -0400 33673+++ linux-3.0.8/drivers/scsi/BusLogic.c 2011-08-23 21:48:14.000000000 -0400
33312@@ -1032,6 +1032,8 @@ bfad_start_ops(struct bfad_s *bfad) { 33674@@ -962,6 +962,8 @@ static int __init BusLogic_InitializeFla
33313 struct bfad_vport_s *vport, *vport_new; 33675 static void __init BusLogic_InitializeProbeInfoList(struct BusLogic_HostAdapter
33314 struct bfa_fcs_driver_info_s driver_info; 33676 *PrototypeHostAdapter)
33315 33677 {
33316+ pax_track_stack(); 33678+ pax_track_stack();
33317+ 33679+
33318 /* Fill the driver_info info to fcs*/ 33680 /*
33319 memset(&driver_info, 0, sizeof(driver_info)); 33681 If a PCI BIOS is present, interrogate it for MultiMaster and FlashPoint
33320 strncpy(driver_info.version, BFAD_DRIVER_VERSION, 33682 Host Adapters; otherwise, default to the standard ISA MultiMaster probe.
33321diff -urNp linux-3.0.7/drivers/scsi/dpt_i2o.c linux-3.0.7/drivers/scsi/dpt_i2o.c 33683diff -urNp linux-3.0.8/drivers/scsi/dpt_i2o.c linux-3.0.8/drivers/scsi/dpt_i2o.c
33322--- linux-3.0.7/drivers/scsi/dpt_i2o.c 2011-07-21 22:17:23.000000000 -0400 33684--- linux-3.0.8/drivers/scsi/dpt_i2o.c 2011-07-21 22:17:23.000000000 -0400
33323+++ linux-3.0.7/drivers/scsi/dpt_i2o.c 2011-08-23 21:48:14.000000000 -0400 33685+++ linux-3.0.8/drivers/scsi/dpt_i2o.c 2011-08-23 21:48:14.000000000 -0400
33324@@ -1811,6 +1811,8 @@ static int adpt_i2o_passthru(adpt_hba* p 33686@@ -1811,6 +1811,8 @@ static int adpt_i2o_passthru(adpt_hba* p
33325 dma_addr_t addr; 33687 dma_addr_t addr;
33326 ulong flags = 0; 33688 ulong flags = 0;
@@ -33339,9 +33701,9 @@ diff -urNp linux-3.0.7/drivers/scsi/dpt_i2o.c linux-3.0.7/drivers/scsi/dpt_i2o.c
33339 memset(msg, 0 , sizeof(msg)); 33701 memset(msg, 0 , sizeof(msg));
33340 len = scsi_bufflen(cmd); 33702 len = scsi_bufflen(cmd);
33341 direction = 0x00000000; 33703 direction = 0x00000000;
33342diff -urNp linux-3.0.7/drivers/scsi/eata.c linux-3.0.7/drivers/scsi/eata.c 33704diff -urNp linux-3.0.8/drivers/scsi/eata.c linux-3.0.8/drivers/scsi/eata.c
33343--- linux-3.0.7/drivers/scsi/eata.c 2011-07-21 22:17:23.000000000 -0400 33705--- linux-3.0.8/drivers/scsi/eata.c 2011-07-21 22:17:23.000000000 -0400
33344+++ linux-3.0.7/drivers/scsi/eata.c 2011-08-23 21:48:14.000000000 -0400 33706+++ linux-3.0.8/drivers/scsi/eata.c 2011-08-23 21:48:14.000000000 -0400
33345@@ -1087,6 +1087,8 @@ static int port_detect(unsigned long por 33707@@ -1087,6 +1087,8 @@ static int port_detect(unsigned long por
33346 struct hostdata *ha; 33708 struct hostdata *ha;
33347 char name[16]; 33709 char name[16];
@@ -33351,9 +33713,9 @@ diff -urNp linux-3.0.7/drivers/scsi/eata.c linux-3.0.7/drivers/scsi/eata.c
33351 sprintf(name, "%s%d", driver_name, j); 33713 sprintf(name, "%s%d", driver_name, j);
33352 33714
33353 if (!request_region(port_base, REGION_SIZE, driver_name)) { 33715 if (!request_region(port_base, REGION_SIZE, driver_name)) {
33354diff -urNp linux-3.0.7/drivers/scsi/fcoe/fcoe_ctlr.c linux-3.0.7/drivers/scsi/fcoe/fcoe_ctlr.c 33716diff -urNp linux-3.0.8/drivers/scsi/fcoe/fcoe_ctlr.c linux-3.0.8/drivers/scsi/fcoe/fcoe_ctlr.c
33355--- linux-3.0.7/drivers/scsi/fcoe/fcoe_ctlr.c 2011-07-21 22:17:23.000000000 -0400 33717--- linux-3.0.8/drivers/scsi/fcoe/fcoe_ctlr.c 2011-07-21 22:17:23.000000000 -0400
33356+++ linux-3.0.7/drivers/scsi/fcoe/fcoe_ctlr.c 2011-08-23 21:48:14.000000000 -0400 33718+++ linux-3.0.8/drivers/scsi/fcoe/fcoe_ctlr.c 2011-08-23 21:48:14.000000000 -0400
33357@@ -2503,6 +2503,8 @@ static int fcoe_ctlr_vn_recv(struct fcoe 33719@@ -2503,6 +2503,8 @@ static int fcoe_ctlr_vn_recv(struct fcoe
33358 } buf; 33720 } buf;
33359 int rc; 33721 int rc;
@@ -33363,9 +33725,9 @@ diff -urNp linux-3.0.7/drivers/scsi/fcoe/fcoe_ctlr.c linux-3.0.7/drivers/scsi/fc
33363 fiph = (struct fip_header *)skb->data; 33725 fiph = (struct fip_header *)skb->data;
33364 sub = fiph->fip_subcode; 33726 sub = fiph->fip_subcode;
33365 33727
33366diff -urNp linux-3.0.7/drivers/scsi/gdth.c linux-3.0.7/drivers/scsi/gdth.c 33728diff -urNp linux-3.0.8/drivers/scsi/gdth.c linux-3.0.8/drivers/scsi/gdth.c
33367--- linux-3.0.7/drivers/scsi/gdth.c 2011-07-21 22:17:23.000000000 -0400 33729--- linux-3.0.8/drivers/scsi/gdth.c 2011-07-21 22:17:23.000000000 -0400
33368+++ linux-3.0.7/drivers/scsi/gdth.c 2011-08-23 21:48:14.000000000 -0400 33730+++ linux-3.0.8/drivers/scsi/gdth.c 2011-08-23 21:48:14.000000000 -0400
33369@@ -4107,6 +4107,8 @@ static int ioc_lockdrv(void __user *arg) 33731@@ -4107,6 +4107,8 @@ static int ioc_lockdrv(void __user *arg)
33370 unsigned long flags; 33732 unsigned long flags;
33371 gdth_ha_str *ha; 33733 gdth_ha_str *ha;
@@ -33403,9 +33765,9 @@ diff -urNp linux-3.0.7/drivers/scsi/gdth.c linux-3.0.7/drivers/scsi/gdth.c
33403 memset(cmnd, 0xff, MAX_COMMAND_SIZE); 33765 memset(cmnd, 0xff, MAX_COMMAND_SIZE);
33404 33766
33405 TRACE2(("gdth_flush() hanum %d\n", ha->hanum)); 33767 TRACE2(("gdth_flush() hanum %d\n", ha->hanum));
33406diff -urNp linux-3.0.7/drivers/scsi/gdth_proc.c linux-3.0.7/drivers/scsi/gdth_proc.c 33768diff -urNp linux-3.0.8/drivers/scsi/gdth_proc.c linux-3.0.8/drivers/scsi/gdth_proc.c
33407--- linux-3.0.7/drivers/scsi/gdth_proc.c 2011-07-21 22:17:23.000000000 -0400 33769--- linux-3.0.8/drivers/scsi/gdth_proc.c 2011-07-21 22:17:23.000000000 -0400
33408+++ linux-3.0.7/drivers/scsi/gdth_proc.c 2011-08-23 21:48:14.000000000 -0400 33770+++ linux-3.0.8/drivers/scsi/gdth_proc.c 2011-08-23 21:48:14.000000000 -0400
33409@@ -47,6 +47,9 @@ static int gdth_set_asc_info(struct Scsi 33771@@ -47,6 +47,9 @@ static int gdth_set_asc_info(struct Scsi
33410 u64 paddr; 33772 u64 paddr;
33411 33773
@@ -33425,9 +33787,9 @@ diff -urNp linux-3.0.7/drivers/scsi/gdth_proc.c linux-3.0.7/drivers/scsi/gdth_pr
33425 gdtcmd = kmalloc(sizeof(*gdtcmd), GFP_KERNEL); 33787 gdtcmd = kmalloc(sizeof(*gdtcmd), GFP_KERNEL);
33426 estr = kmalloc(sizeof(*estr), GFP_KERNEL); 33788 estr = kmalloc(sizeof(*estr), GFP_KERNEL);
33427 if (!gdtcmd || !estr) 33789 if (!gdtcmd || !estr)
33428diff -urNp linux-3.0.7/drivers/scsi/hosts.c linux-3.0.7/drivers/scsi/hosts.c 33790diff -urNp linux-3.0.8/drivers/scsi/hosts.c linux-3.0.8/drivers/scsi/hosts.c
33429--- linux-3.0.7/drivers/scsi/hosts.c 2011-07-21 22:17:23.000000000 -0400 33791--- linux-3.0.8/drivers/scsi/hosts.c 2011-07-21 22:17:23.000000000 -0400
33430+++ linux-3.0.7/drivers/scsi/hosts.c 2011-08-23 21:47:55.000000000 -0400 33792+++ linux-3.0.8/drivers/scsi/hosts.c 2011-08-23 21:47:55.000000000 -0400
33431@@ -42,7 +42,7 @@ 33793@@ -42,7 +42,7 @@
33432 #include "scsi_logging.h" 33794 #include "scsi_logging.h"
33433 33795
@@ -33446,9 +33808,9 @@ diff -urNp linux-3.0.7/drivers/scsi/hosts.c linux-3.0.7/drivers/scsi/hosts.c
33446 shost->dma_channel = 0xff; 33808 shost->dma_channel = 0xff;
33447 33809
33448 /* These three are default values which can be overridden */ 33810 /* These three are default values which can be overridden */
33449diff -urNp linux-3.0.7/drivers/scsi/hpsa.c linux-3.0.7/drivers/scsi/hpsa.c 33811diff -urNp linux-3.0.8/drivers/scsi/hpsa.c linux-3.0.8/drivers/scsi/hpsa.c
33450--- linux-3.0.7/drivers/scsi/hpsa.c 2011-10-16 21:54:54.000000000 -0400 33812--- linux-3.0.8/drivers/scsi/hpsa.c 2011-10-24 08:05:30.000000000 -0400
33451+++ linux-3.0.7/drivers/scsi/hpsa.c 2011-10-16 21:55:27.000000000 -0400 33813+++ linux-3.0.8/drivers/scsi/hpsa.c 2011-10-16 21:55:27.000000000 -0400
33452@@ -498,7 +498,7 @@ static inline u32 next_command(struct ct 33814@@ -498,7 +498,7 @@ static inline u32 next_command(struct ct
33453 u32 a; 33815 u32 a;
33454 33816
@@ -33563,9 +33925,9 @@ diff -urNp linux-3.0.7/drivers/scsi/hpsa.c linux-3.0.7/drivers/scsi/hpsa.c
33563 h->transMethod = CFGTBL_Trans_Performant; 33925 h->transMethod = CFGTBL_Trans_Performant;
33564 } 33926 }
33565 33927
33566diff -urNp linux-3.0.7/drivers/scsi/hpsa.h linux-3.0.7/drivers/scsi/hpsa.h 33928diff -urNp linux-3.0.8/drivers/scsi/hpsa.h linux-3.0.8/drivers/scsi/hpsa.h
33567--- linux-3.0.7/drivers/scsi/hpsa.h 2011-09-02 18:11:21.000000000 -0400 33929--- linux-3.0.8/drivers/scsi/hpsa.h 2011-10-24 08:05:21.000000000 -0400
33568+++ linux-3.0.7/drivers/scsi/hpsa.h 2011-08-23 21:47:55.000000000 -0400 33930+++ linux-3.0.8/drivers/scsi/hpsa.h 2011-08-23 21:47:55.000000000 -0400
33569@@ -73,7 +73,7 @@ struct ctlr_info { 33931@@ -73,7 +73,7 @@ struct ctlr_info {
33570 unsigned int msix_vector; 33932 unsigned int msix_vector;
33571 unsigned int msi_vector; 33933 unsigned int msi_vector;
@@ -33575,9 +33937,9 @@ diff -urNp linux-3.0.7/drivers/scsi/hpsa.h linux-3.0.7/drivers/scsi/hpsa.h
33575 33937
33576 /* queue and queue Info */ 33938 /* queue and queue Info */
33577 struct list_head reqQ; 33939 struct list_head reqQ;
33578diff -urNp linux-3.0.7/drivers/scsi/ips.h linux-3.0.7/drivers/scsi/ips.h 33940diff -urNp linux-3.0.8/drivers/scsi/ips.h linux-3.0.8/drivers/scsi/ips.h
33579--- linux-3.0.7/drivers/scsi/ips.h 2011-07-21 22:17:23.000000000 -0400 33941--- linux-3.0.8/drivers/scsi/ips.h 2011-07-21 22:17:23.000000000 -0400
33580+++ linux-3.0.7/drivers/scsi/ips.h 2011-08-23 21:47:55.000000000 -0400 33942+++ linux-3.0.8/drivers/scsi/ips.h 2011-08-23 21:47:55.000000000 -0400
33581@@ -1027,7 +1027,7 @@ typedef struct { 33943@@ -1027,7 +1027,7 @@ typedef struct {
33582 int (*intr)(struct ips_ha *); 33944 int (*intr)(struct ips_ha *);
33583 void (*enableint)(struct ips_ha *); 33945 void (*enableint)(struct ips_ha *);
@@ -33587,9 +33949,9 @@ diff -urNp linux-3.0.7/drivers/scsi/ips.h linux-3.0.7/drivers/scsi/ips.h
33587 33949
33588 typedef struct ips_ha { 33950 typedef struct ips_ha {
33589 uint8_t ha_id[IPS_MAX_CHANNELS+1]; 33951 uint8_t ha_id[IPS_MAX_CHANNELS+1];
33590diff -urNp linux-3.0.7/drivers/scsi/libfc/fc_exch.c linux-3.0.7/drivers/scsi/libfc/fc_exch.c 33952diff -urNp linux-3.0.8/drivers/scsi/libfc/fc_exch.c linux-3.0.8/drivers/scsi/libfc/fc_exch.c
33591--- linux-3.0.7/drivers/scsi/libfc/fc_exch.c 2011-07-21 22:17:23.000000000 -0400 33953--- linux-3.0.8/drivers/scsi/libfc/fc_exch.c 2011-07-21 22:17:23.000000000 -0400
33592+++ linux-3.0.7/drivers/scsi/libfc/fc_exch.c 2011-08-23 21:47:55.000000000 -0400 33954+++ linux-3.0.8/drivers/scsi/libfc/fc_exch.c 2011-08-23 21:47:55.000000000 -0400
33593@@ -105,12 +105,12 @@ struct fc_exch_mgr { 33955@@ -105,12 +105,12 @@ struct fc_exch_mgr {
33594 * all together if not used XXX 33956 * all together if not used XXX
33595 */ 33957 */
@@ -33711,9 +34073,9 @@ diff -urNp linux-3.0.7/drivers/scsi/libfc/fc_exch.c linux-3.0.7/drivers/scsi/lib
33711 34073
33712 fc_frame_free(fp); 34074 fc_frame_free(fp);
33713 } 34075 }
33714diff -urNp linux-3.0.7/drivers/scsi/libsas/sas_ata.c linux-3.0.7/drivers/scsi/libsas/sas_ata.c 34076diff -urNp linux-3.0.8/drivers/scsi/libsas/sas_ata.c linux-3.0.8/drivers/scsi/libsas/sas_ata.c
33715--- linux-3.0.7/drivers/scsi/libsas/sas_ata.c 2011-07-21 22:17:23.000000000 -0400 34077--- linux-3.0.8/drivers/scsi/libsas/sas_ata.c 2011-07-21 22:17:23.000000000 -0400
33716+++ linux-3.0.7/drivers/scsi/libsas/sas_ata.c 2011-08-23 21:47:55.000000000 -0400 34078+++ linux-3.0.8/drivers/scsi/libsas/sas_ata.c 2011-08-23 21:47:55.000000000 -0400
33717@@ -368,7 +368,7 @@ static struct ata_port_operations sas_sa 34079@@ -368,7 +368,7 @@ static struct ata_port_operations sas_sa
33718 .postreset = ata_std_postreset, 34080 .postreset = ata_std_postreset,
33719 .error_handler = ata_std_error_handler, 34081 .error_handler = ata_std_error_handler,
@@ -33723,41 +34085,9 @@ diff -urNp linux-3.0.7/drivers/scsi/libsas/sas_ata.c linux-3.0.7/drivers/scsi/li
33723 .qc_prep = ata_noop_qc_prep, 34085 .qc_prep = ata_noop_qc_prep,
33724 .qc_issue = sas_ata_qc_issue, 34086 .qc_issue = sas_ata_qc_issue,
33725 .qc_fill_rtf = sas_ata_qc_fill_rtf, 34087 .qc_fill_rtf = sas_ata_qc_fill_rtf,
33726diff -urNp linux-3.0.7/drivers/scsi/lpfc/lpfc.h linux-3.0.7/drivers/scsi/lpfc/lpfc.h 34088diff -urNp linux-3.0.8/drivers/scsi/lpfc/lpfc_debugfs.c linux-3.0.8/drivers/scsi/lpfc/lpfc_debugfs.c
33727--- linux-3.0.7/drivers/scsi/lpfc/lpfc.h 2011-10-16 21:54:54.000000000 -0400 34089--- linux-3.0.8/drivers/scsi/lpfc/lpfc_debugfs.c 2011-07-21 22:17:23.000000000 -0400
33728+++ linux-3.0.7/drivers/scsi/lpfc/lpfc.h 2011-10-16 21:55:27.000000000 -0400 34090+++ linux-3.0.8/drivers/scsi/lpfc/lpfc_debugfs.c 2011-08-23 21:48:14.000000000 -0400
33729@@ -425,7 +425,7 @@ struct lpfc_vport {
33730 struct dentry *debug_nodelist;
33731 struct dentry *vport_debugfs_root;
33732 struct lpfc_debugfs_trc *disc_trc;
33733- atomic_t disc_trc_cnt;
33734+ atomic_unchecked_t disc_trc_cnt;
33735 #endif
33736 uint8_t stat_data_enabled;
33737 uint8_t stat_data_blocked;
33738@@ -832,8 +832,8 @@ struct lpfc_hba {
33739 struct timer_list fabric_block_timer;
33740 unsigned long bit_flags;
33741 #define FABRIC_COMANDS_BLOCKED 0
33742- atomic_t num_rsrc_err;
33743- atomic_t num_cmd_success;
33744+ atomic_unchecked_t num_rsrc_err;
33745+ atomic_unchecked_t num_cmd_success;
33746 unsigned long last_rsrc_error_time;
33747 unsigned long last_ramp_down_time;
33748 unsigned long last_ramp_up_time;
33749@@ -847,7 +847,7 @@ struct lpfc_hba {
33750 struct dentry *debug_dumpDif; /* BlockGuard BPL*/
33751 struct dentry *debug_slow_ring_trc;
33752 struct lpfc_debugfs_trc *slow_ring_trc;
33753- atomic_t slow_ring_trc_cnt;
33754+ atomic_unchecked_t slow_ring_trc_cnt;
33755 /* iDiag debugfs sub-directory */
33756 struct dentry *idiag_root;
33757 struct dentry *idiag_pci_cfg;
33758diff -urNp linux-3.0.7/drivers/scsi/lpfc/lpfc_debugfs.c linux-3.0.7/drivers/scsi/lpfc/lpfc_debugfs.c
33759--- linux-3.0.7/drivers/scsi/lpfc/lpfc_debugfs.c 2011-07-21 22:17:23.000000000 -0400
33760+++ linux-3.0.7/drivers/scsi/lpfc/lpfc_debugfs.c 2011-08-23 21:48:14.000000000 -0400
33761@@ -104,7 +104,7 @@ MODULE_PARM_DESC(lpfc_debugfs_mask_disc_ 34091@@ -104,7 +104,7 @@ MODULE_PARM_DESC(lpfc_debugfs_mask_disc_
33762 34092
33763 #include <linux/debugfs.h> 34093 #include <linux/debugfs.h>
@@ -33846,9 +34176,41 @@ diff -urNp linux-3.0.7/drivers/scsi/lpfc/lpfc_debugfs.c linux-3.0.7/drivers/scsi
33846 34176
33847 snprintf(name, sizeof(name), "discovery_trace"); 34177 snprintf(name, sizeof(name), "discovery_trace");
33848 vport->debug_disc_trc = 34178 vport->debug_disc_trc =
33849diff -urNp linux-3.0.7/drivers/scsi/lpfc/lpfc_init.c linux-3.0.7/drivers/scsi/lpfc/lpfc_init.c 34179diff -urNp linux-3.0.8/drivers/scsi/lpfc/lpfc.h linux-3.0.8/drivers/scsi/lpfc/lpfc.h
33850--- linux-3.0.7/drivers/scsi/lpfc/lpfc_init.c 2011-10-16 21:54:54.000000000 -0400 34180--- linux-3.0.8/drivers/scsi/lpfc/lpfc.h 2011-10-24 08:05:30.000000000 -0400
33851+++ linux-3.0.7/drivers/scsi/lpfc/lpfc_init.c 2011-10-16 21:55:27.000000000 -0400 34181+++ linux-3.0.8/drivers/scsi/lpfc/lpfc.h 2011-10-16 21:55:27.000000000 -0400
34182@@ -425,7 +425,7 @@ struct lpfc_vport {
34183 struct dentry *debug_nodelist;
34184 struct dentry *vport_debugfs_root;
34185 struct lpfc_debugfs_trc *disc_trc;
34186- atomic_t disc_trc_cnt;
34187+ atomic_unchecked_t disc_trc_cnt;
34188 #endif
34189 uint8_t stat_data_enabled;
34190 uint8_t stat_data_blocked;
34191@@ -832,8 +832,8 @@ struct lpfc_hba {
34192 struct timer_list fabric_block_timer;
34193 unsigned long bit_flags;
34194 #define FABRIC_COMANDS_BLOCKED 0
34195- atomic_t num_rsrc_err;
34196- atomic_t num_cmd_success;
34197+ atomic_unchecked_t num_rsrc_err;
34198+ atomic_unchecked_t num_cmd_success;
34199 unsigned long last_rsrc_error_time;
34200 unsigned long last_ramp_down_time;
34201 unsigned long last_ramp_up_time;
34202@@ -847,7 +847,7 @@ struct lpfc_hba {
34203 struct dentry *debug_dumpDif; /* BlockGuard BPL*/
34204 struct dentry *debug_slow_ring_trc;
34205 struct lpfc_debugfs_trc *slow_ring_trc;
34206- atomic_t slow_ring_trc_cnt;
34207+ atomic_unchecked_t slow_ring_trc_cnt;
34208 /* iDiag debugfs sub-directory */
34209 struct dentry *idiag_root;
34210 struct dentry *idiag_pci_cfg;
34211diff -urNp linux-3.0.8/drivers/scsi/lpfc/lpfc_init.c linux-3.0.8/drivers/scsi/lpfc/lpfc_init.c
34212--- linux-3.0.8/drivers/scsi/lpfc/lpfc_init.c 2011-10-24 08:05:30.000000000 -0400
34213+++ linux-3.0.8/drivers/scsi/lpfc/lpfc_init.c 2011-10-16 21:55:27.000000000 -0400
33852@@ -9971,8 +9971,10 @@ lpfc_init(void) 34214@@ -9971,8 +9971,10 @@ lpfc_init(void)
33853 printk(LPFC_COPYRIGHT "\n"); 34215 printk(LPFC_COPYRIGHT "\n");
33854 34216
@@ -33862,9 +34224,9 @@ diff -urNp linux-3.0.7/drivers/scsi/lpfc/lpfc_init.c linux-3.0.7/drivers/scsi/lp
33862 } 34224 }
33863 lpfc_transport_template = 34225 lpfc_transport_template =
33864 fc_attach_transport(&lpfc_transport_functions); 34226 fc_attach_transport(&lpfc_transport_functions);
33865diff -urNp linux-3.0.7/drivers/scsi/lpfc/lpfc_scsi.c linux-3.0.7/drivers/scsi/lpfc/lpfc_scsi.c 34227diff -urNp linux-3.0.8/drivers/scsi/lpfc/lpfc_scsi.c linux-3.0.8/drivers/scsi/lpfc/lpfc_scsi.c
33866--- linux-3.0.7/drivers/scsi/lpfc/lpfc_scsi.c 2011-10-16 21:54:54.000000000 -0400 34228--- linux-3.0.8/drivers/scsi/lpfc/lpfc_scsi.c 2011-10-24 08:05:30.000000000 -0400
33867+++ linux-3.0.7/drivers/scsi/lpfc/lpfc_scsi.c 2011-10-16 21:55:27.000000000 -0400 34229+++ linux-3.0.8/drivers/scsi/lpfc/lpfc_scsi.c 2011-10-16 21:55:27.000000000 -0400
33868@@ -297,7 +297,7 @@ lpfc_rampdown_queue_depth(struct lpfc_hb 34230@@ -297,7 +297,7 @@ lpfc_rampdown_queue_depth(struct lpfc_hb
33869 uint32_t evt_posted; 34231 uint32_t evt_posted;
33870 34232
@@ -33916,9 +34278,9 @@ diff -urNp linux-3.0.7/drivers/scsi/lpfc/lpfc_scsi.c linux-3.0.7/drivers/scsi/lp
33916 } 34278 }
33917 34279
33918 /** 34280 /**
33919diff -urNp linux-3.0.7/drivers/scsi/megaraid/megaraid_mbox.c linux-3.0.7/drivers/scsi/megaraid/megaraid_mbox.c 34281diff -urNp linux-3.0.8/drivers/scsi/megaraid/megaraid_mbox.c linux-3.0.8/drivers/scsi/megaraid/megaraid_mbox.c
33920--- linux-3.0.7/drivers/scsi/megaraid/megaraid_mbox.c 2011-07-21 22:17:23.000000000 -0400 34282--- linux-3.0.8/drivers/scsi/megaraid/megaraid_mbox.c 2011-07-21 22:17:23.000000000 -0400
33921+++ linux-3.0.7/drivers/scsi/megaraid/megaraid_mbox.c 2011-08-23 21:48:14.000000000 -0400 34283+++ linux-3.0.8/drivers/scsi/megaraid/megaraid_mbox.c 2011-08-23 21:48:14.000000000 -0400
33922@@ -3503,6 +3503,8 @@ megaraid_cmm_register(adapter_t *adapter 34284@@ -3503,6 +3503,8 @@ megaraid_cmm_register(adapter_t *adapter
33923 int rval; 34285 int rval;
33924 int i; 34286 int i;
@@ -33928,9 +34290,9 @@ diff -urNp linux-3.0.7/drivers/scsi/megaraid/megaraid_mbox.c linux-3.0.7/drivers
33928 // Allocate memory for the base list of scb for management module. 34290 // Allocate memory for the base list of scb for management module.
33929 adapter->uscb_list = kcalloc(MBOX_MAX_USER_CMDS, sizeof(scb_t), GFP_KERNEL); 34291 adapter->uscb_list = kcalloc(MBOX_MAX_USER_CMDS, sizeof(scb_t), GFP_KERNEL);
33930 34292
33931diff -urNp linux-3.0.7/drivers/scsi/osd/osd_initiator.c linux-3.0.7/drivers/scsi/osd/osd_initiator.c 34293diff -urNp linux-3.0.8/drivers/scsi/osd/osd_initiator.c linux-3.0.8/drivers/scsi/osd/osd_initiator.c
33932--- linux-3.0.7/drivers/scsi/osd/osd_initiator.c 2011-07-21 22:17:23.000000000 -0400 34294--- linux-3.0.8/drivers/scsi/osd/osd_initiator.c 2011-07-21 22:17:23.000000000 -0400
33933+++ linux-3.0.7/drivers/scsi/osd/osd_initiator.c 2011-08-23 21:48:14.000000000 -0400 34295+++ linux-3.0.8/drivers/scsi/osd/osd_initiator.c 2011-08-23 21:48:14.000000000 -0400
33934@@ -97,6 +97,8 @@ static int _osd_get_print_system_info(st 34296@@ -97,6 +97,8 @@ static int _osd_get_print_system_info(st
33935 int nelem = ARRAY_SIZE(get_attrs), a = 0; 34297 int nelem = ARRAY_SIZE(get_attrs), a = 0;
33936 int ret; 34298 int ret;
@@ -33940,9 +34302,9 @@ diff -urNp linux-3.0.7/drivers/scsi/osd/osd_initiator.c linux-3.0.7/drivers/scsi
33940 or = osd_start_request(od, GFP_KERNEL); 34302 or = osd_start_request(od, GFP_KERNEL);
33941 if (!or) 34303 if (!or)
33942 return -ENOMEM; 34304 return -ENOMEM;
33943diff -urNp linux-3.0.7/drivers/scsi/pmcraid.c linux-3.0.7/drivers/scsi/pmcraid.c 34305diff -urNp linux-3.0.8/drivers/scsi/pmcraid.c linux-3.0.8/drivers/scsi/pmcraid.c
33944--- linux-3.0.7/drivers/scsi/pmcraid.c 2011-09-02 18:11:21.000000000 -0400 34306--- linux-3.0.8/drivers/scsi/pmcraid.c 2011-10-24 08:05:21.000000000 -0400
33945+++ linux-3.0.7/drivers/scsi/pmcraid.c 2011-08-23 21:47:56.000000000 -0400 34307+++ linux-3.0.8/drivers/scsi/pmcraid.c 2011-08-23 21:47:56.000000000 -0400
33946@@ -201,8 +201,8 @@ static int pmcraid_slave_alloc(struct sc 34308@@ -201,8 +201,8 @@ static int pmcraid_slave_alloc(struct sc
33947 res->scsi_dev = scsi_dev; 34309 res->scsi_dev = scsi_dev;
33948 scsi_dev->hostdata = res; 34310 scsi_dev->hostdata = res;
@@ -34013,9 +34375,9 @@ diff -urNp linux-3.0.7/drivers/scsi/pmcraid.c linux-3.0.7/drivers/scsi/pmcraid.c
34013 schedule_work(&pinstance->worker_q); 34375 schedule_work(&pinstance->worker_q);
34014 return rc; 34376 return rc;
34015 34377
34016diff -urNp linux-3.0.7/drivers/scsi/pmcraid.h linux-3.0.7/drivers/scsi/pmcraid.h 34378diff -urNp linux-3.0.8/drivers/scsi/pmcraid.h linux-3.0.8/drivers/scsi/pmcraid.h
34017--- linux-3.0.7/drivers/scsi/pmcraid.h 2011-07-21 22:17:23.000000000 -0400 34379--- linux-3.0.8/drivers/scsi/pmcraid.h 2011-07-21 22:17:23.000000000 -0400
34018+++ linux-3.0.7/drivers/scsi/pmcraid.h 2011-08-23 21:47:56.000000000 -0400 34380+++ linux-3.0.8/drivers/scsi/pmcraid.h 2011-08-23 21:47:56.000000000 -0400
34019@@ -749,7 +749,7 @@ struct pmcraid_instance { 34381@@ -749,7 +749,7 @@ struct pmcraid_instance {
34020 struct pmcraid_isr_param hrrq_vector[PMCRAID_NUM_MSIX_VECTORS]; 34382 struct pmcraid_isr_param hrrq_vector[PMCRAID_NUM_MSIX_VECTORS];
34021 34383
@@ -34045,9 +34407,9 @@ diff -urNp linux-3.0.7/drivers/scsi/pmcraid.h linux-3.0.7/drivers/scsi/pmcraid.h
34045 34407
34046 /* To indicate add/delete/modify during CCN */ 34408 /* To indicate add/delete/modify during CCN */
34047 u8 change_detected; 34409 u8 change_detected;
34048diff -urNp linux-3.0.7/drivers/scsi/qla2xxx/qla_def.h linux-3.0.7/drivers/scsi/qla2xxx/qla_def.h 34410diff -urNp linux-3.0.8/drivers/scsi/qla2xxx/qla_def.h linux-3.0.8/drivers/scsi/qla2xxx/qla_def.h
34049--- linux-3.0.7/drivers/scsi/qla2xxx/qla_def.h 2011-07-21 22:17:23.000000000 -0400 34411--- linux-3.0.8/drivers/scsi/qla2xxx/qla_def.h 2011-07-21 22:17:23.000000000 -0400
34050+++ linux-3.0.7/drivers/scsi/qla2xxx/qla_def.h 2011-08-23 21:47:56.000000000 -0400 34412+++ linux-3.0.8/drivers/scsi/qla2xxx/qla_def.h 2011-08-23 21:47:56.000000000 -0400
34051@@ -2244,7 +2244,7 @@ struct isp_operations { 34413@@ -2244,7 +2244,7 @@ struct isp_operations {
34052 int (*get_flash_version) (struct scsi_qla_host *, void *); 34414 int (*get_flash_version) (struct scsi_qla_host *, void *);
34053 int (*start_scsi) (srb_t *); 34415 int (*start_scsi) (srb_t *);
@@ -34057,9 +34419,9 @@ diff -urNp linux-3.0.7/drivers/scsi/qla2xxx/qla_def.h linux-3.0.7/drivers/scsi/q
34057 34419
34058 /* MSI-X Support *************************************************************/ 34420 /* MSI-X Support *************************************************************/
34059 34421
34060diff -urNp linux-3.0.7/drivers/scsi/qla4xxx/ql4_def.h linux-3.0.7/drivers/scsi/qla4xxx/ql4_def.h 34422diff -urNp linux-3.0.8/drivers/scsi/qla4xxx/ql4_def.h linux-3.0.8/drivers/scsi/qla4xxx/ql4_def.h
34061--- linux-3.0.7/drivers/scsi/qla4xxx/ql4_def.h 2011-07-21 22:17:23.000000000 -0400 34423--- linux-3.0.8/drivers/scsi/qla4xxx/ql4_def.h 2011-07-21 22:17:23.000000000 -0400
34062+++ linux-3.0.7/drivers/scsi/qla4xxx/ql4_def.h 2011-08-23 21:47:56.000000000 -0400 34424+++ linux-3.0.8/drivers/scsi/qla4xxx/ql4_def.h 2011-08-23 21:47:56.000000000 -0400
34063@@ -256,7 +256,7 @@ struct ddb_entry { 34425@@ -256,7 +256,7 @@ struct ddb_entry {
34064 atomic_t retry_relogin_timer; /* Min Time between relogins 34426 atomic_t retry_relogin_timer; /* Min Time between relogins
34065 * (4000 only) */ 34427 * (4000 only) */
@@ -34069,9 +34431,9 @@ diff -urNp linux-3.0.7/drivers/scsi/qla4xxx/ql4_def.h linux-3.0.7/drivers/scsi/q
34069 * retried */ 34431 * retried */
34070 34432
34071 uint16_t port; 34433 uint16_t port;
34072diff -urNp linux-3.0.7/drivers/scsi/qla4xxx/ql4_init.c linux-3.0.7/drivers/scsi/qla4xxx/ql4_init.c 34434diff -urNp linux-3.0.8/drivers/scsi/qla4xxx/ql4_init.c linux-3.0.8/drivers/scsi/qla4xxx/ql4_init.c
34073--- linux-3.0.7/drivers/scsi/qla4xxx/ql4_init.c 2011-07-21 22:17:23.000000000 -0400 34435--- linux-3.0.8/drivers/scsi/qla4xxx/ql4_init.c 2011-07-21 22:17:23.000000000 -0400
34074+++ linux-3.0.7/drivers/scsi/qla4xxx/ql4_init.c 2011-08-23 21:47:56.000000000 -0400 34436+++ linux-3.0.8/drivers/scsi/qla4xxx/ql4_init.c 2011-08-23 21:47:56.000000000 -0400
34075@@ -680,7 +680,7 @@ static struct ddb_entry * qla4xxx_alloc_ 34437@@ -680,7 +680,7 @@ static struct ddb_entry * qla4xxx_alloc_
34076 ddb_entry->fw_ddb_index = fw_ddb_index; 34438 ddb_entry->fw_ddb_index = fw_ddb_index;
34077 atomic_set(&ddb_entry->retry_relogin_timer, INVALID_ENTRY); 34439 atomic_set(&ddb_entry->retry_relogin_timer, INVALID_ENTRY);
@@ -34090,9 +34452,9 @@ diff -urNp linux-3.0.7/drivers/scsi/qla4xxx/ql4_init.c linux-3.0.7/drivers/scsi/
34090 atomic_set(&ddb_entry->relogin_timer, 0); 34452 atomic_set(&ddb_entry->relogin_timer, 0);
34091 clear_bit(DF_RELOGIN, &ddb_entry->flags); 34453 clear_bit(DF_RELOGIN, &ddb_entry->flags);
34092 iscsi_unblock_session(ddb_entry->sess); 34454 iscsi_unblock_session(ddb_entry->sess);
34093diff -urNp linux-3.0.7/drivers/scsi/qla4xxx/ql4_os.c linux-3.0.7/drivers/scsi/qla4xxx/ql4_os.c 34455diff -urNp linux-3.0.8/drivers/scsi/qla4xxx/ql4_os.c linux-3.0.8/drivers/scsi/qla4xxx/ql4_os.c
34094--- linux-3.0.7/drivers/scsi/qla4xxx/ql4_os.c 2011-07-21 22:17:23.000000000 -0400 34456--- linux-3.0.8/drivers/scsi/qla4xxx/ql4_os.c 2011-07-21 22:17:23.000000000 -0400
34095+++ linux-3.0.7/drivers/scsi/qla4xxx/ql4_os.c 2011-08-23 21:47:56.000000000 -0400 34457+++ linux-3.0.8/drivers/scsi/qla4xxx/ql4_os.c 2011-08-23 21:47:56.000000000 -0400
34096@@ -811,13 +811,13 @@ static void qla4xxx_timer(struct scsi_ql 34458@@ -811,13 +811,13 @@ static void qla4xxx_timer(struct scsi_ql
34097 ddb_entry->fw_ddb_device_state == 34459 ddb_entry->fw_ddb_device_state ==
34098 DDB_DS_SESSION_FAILED) { 34460 DDB_DS_SESSION_FAILED) {
@@ -34109,9 +34471,9 @@ diff -urNp linux-3.0.7/drivers/scsi/qla4xxx/ql4_os.c linux-3.0.7/drivers/scsi/ql
34109 relogin_retry_count)) 34471 relogin_retry_count))
34110 ); 34472 );
34111 start_dpc++; 34473 start_dpc++;
34112diff -urNp linux-3.0.7/drivers/scsi/scsi.c linux-3.0.7/drivers/scsi/scsi.c 34474diff -urNp linux-3.0.8/drivers/scsi/scsi.c linux-3.0.8/drivers/scsi/scsi.c
34113--- linux-3.0.7/drivers/scsi/scsi.c 2011-07-21 22:17:23.000000000 -0400 34475--- linux-3.0.8/drivers/scsi/scsi.c 2011-07-21 22:17:23.000000000 -0400
34114+++ linux-3.0.7/drivers/scsi/scsi.c 2011-08-23 21:47:56.000000000 -0400 34476+++ linux-3.0.8/drivers/scsi/scsi.c 2011-08-23 21:47:56.000000000 -0400
34115@@ -655,7 +655,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd * 34477@@ -655,7 +655,7 @@ int scsi_dispatch_cmd(struct scsi_cmnd *
34116 unsigned long timeout; 34478 unsigned long timeout;
34117 int rtn = 0; 34479 int rtn = 0;
@@ -34121,9 +34483,9 @@ diff -urNp linux-3.0.7/drivers/scsi/scsi.c linux-3.0.7/drivers/scsi/scsi.c
34121 34483
34122 /* check if the device is still usable */ 34484 /* check if the device is still usable */
34123 if (unlikely(cmd->device->sdev_state == SDEV_DEL)) { 34485 if (unlikely(cmd->device->sdev_state == SDEV_DEL)) {
34124diff -urNp linux-3.0.7/drivers/scsi/scsi_debug.c linux-3.0.7/drivers/scsi/scsi_debug.c 34486diff -urNp linux-3.0.8/drivers/scsi/scsi_debug.c linux-3.0.8/drivers/scsi/scsi_debug.c
34125--- linux-3.0.7/drivers/scsi/scsi_debug.c 2011-07-21 22:17:23.000000000 -0400 34487--- linux-3.0.8/drivers/scsi/scsi_debug.c 2011-07-21 22:17:23.000000000 -0400
34126+++ linux-3.0.7/drivers/scsi/scsi_debug.c 2011-08-23 21:48:14.000000000 -0400 34488+++ linux-3.0.8/drivers/scsi/scsi_debug.c 2011-08-23 21:48:14.000000000 -0400
34127@@ -1493,6 +1493,8 @@ static int resp_mode_select(struct scsi_ 34489@@ -1493,6 +1493,8 @@ static int resp_mode_select(struct scsi_
34128 unsigned char arr[SDEBUG_MAX_MSELECT_SZ]; 34490 unsigned char arr[SDEBUG_MAX_MSELECT_SZ];
34129 unsigned char *cmd = (unsigned char *)scp->cmnd; 34491 unsigned char *cmd = (unsigned char *)scp->cmnd;
@@ -34142,9 +34504,9 @@ diff -urNp linux-3.0.7/drivers/scsi/scsi_debug.c linux-3.0.7/drivers/scsi/scsi_d
34142 if ((errsts = check_readiness(scp, 1, devip))) 34504 if ((errsts = check_readiness(scp, 1, devip)))
34143 return errsts; 34505 return errsts;
34144 memset(arr, 0, sizeof(arr)); 34506 memset(arr, 0, sizeof(arr));
34145diff -urNp linux-3.0.7/drivers/scsi/scsi_lib.c linux-3.0.7/drivers/scsi/scsi_lib.c 34507diff -urNp linux-3.0.8/drivers/scsi/scsi_lib.c linux-3.0.8/drivers/scsi/scsi_lib.c
34146--- linux-3.0.7/drivers/scsi/scsi_lib.c 2011-09-02 18:11:21.000000000 -0400 34508--- linux-3.0.8/drivers/scsi/scsi_lib.c 2011-10-24 08:05:21.000000000 -0400
34147+++ linux-3.0.7/drivers/scsi/scsi_lib.c 2011-08-23 21:47:56.000000000 -0400 34509+++ linux-3.0.8/drivers/scsi/scsi_lib.c 2011-08-23 21:47:56.000000000 -0400
34148@@ -1412,7 +1412,7 @@ static void scsi_kill_request(struct req 34510@@ -1412,7 +1412,7 @@ static void scsi_kill_request(struct req
34149 shost = sdev->host; 34511 shost = sdev->host;
34150 scsi_init_cmd_errh(cmd); 34512 scsi_init_cmd_errh(cmd);
@@ -34166,9 +34528,9 @@ diff -urNp linux-3.0.7/drivers/scsi/scsi_lib.c linux-3.0.7/drivers/scsi/scsi_lib
34166 34528
34167 disposition = scsi_decide_disposition(cmd); 34529 disposition = scsi_decide_disposition(cmd);
34168 if (disposition != SUCCESS && 34530 if (disposition != SUCCESS &&
34169diff -urNp linux-3.0.7/drivers/scsi/scsi_sysfs.c linux-3.0.7/drivers/scsi/scsi_sysfs.c 34531diff -urNp linux-3.0.8/drivers/scsi/scsi_sysfs.c linux-3.0.8/drivers/scsi/scsi_sysfs.c
34170--- linux-3.0.7/drivers/scsi/scsi_sysfs.c 2011-07-21 22:17:23.000000000 -0400 34532--- linux-3.0.8/drivers/scsi/scsi_sysfs.c 2011-07-21 22:17:23.000000000 -0400
34171+++ linux-3.0.7/drivers/scsi/scsi_sysfs.c 2011-08-23 21:47:56.000000000 -0400 34533+++ linux-3.0.8/drivers/scsi/scsi_sysfs.c 2011-08-23 21:47:56.000000000 -0400
34172@@ -622,7 +622,7 @@ show_iostat_##field(struct device *dev, 34534@@ -622,7 +622,7 @@ show_iostat_##field(struct device *dev,
34173 char *buf) \ 34535 char *buf) \
34174 { \ 34536 { \
@@ -34178,9 +34540,9 @@ diff -urNp linux-3.0.7/drivers/scsi/scsi_sysfs.c linux-3.0.7/drivers/scsi/scsi_s
34178 return snprintf(buf, 20, "0x%llx\n", count); \ 34540 return snprintf(buf, 20, "0x%llx\n", count); \
34179 } \ 34541 } \
34180 static DEVICE_ATTR(field, S_IRUGO, show_iostat_##field, NULL) 34542 static DEVICE_ATTR(field, S_IRUGO, show_iostat_##field, NULL)
34181diff -urNp linux-3.0.7/drivers/scsi/scsi_tgt_lib.c linux-3.0.7/drivers/scsi/scsi_tgt_lib.c 34543diff -urNp linux-3.0.8/drivers/scsi/scsi_tgt_lib.c linux-3.0.8/drivers/scsi/scsi_tgt_lib.c
34182--- linux-3.0.7/drivers/scsi/scsi_tgt_lib.c 2011-07-21 22:17:23.000000000 -0400 34544--- linux-3.0.8/drivers/scsi/scsi_tgt_lib.c 2011-07-21 22:17:23.000000000 -0400
34183+++ linux-3.0.7/drivers/scsi/scsi_tgt_lib.c 2011-10-06 04:17:55.000000000 -0400 34545+++ linux-3.0.8/drivers/scsi/scsi_tgt_lib.c 2011-10-06 04:17:55.000000000 -0400
34184@@ -362,7 +362,7 @@ static int scsi_map_user_pages(struct sc 34546@@ -362,7 +362,7 @@ static int scsi_map_user_pages(struct sc
34185 int err; 34547 int err;
34186 34548
@@ -34190,9 +34552,9 @@ diff -urNp linux-3.0.7/drivers/scsi/scsi_tgt_lib.c linux-3.0.7/drivers/scsi/scsi
34190 if (err) { 34552 if (err) {
34191 /* 34553 /*
34192 * TODO: need to fixup sg_tablesize, max_segment_size, 34554 * TODO: need to fixup sg_tablesize, max_segment_size,
34193diff -urNp linux-3.0.7/drivers/scsi/scsi_transport_fc.c linux-3.0.7/drivers/scsi/scsi_transport_fc.c 34555diff -urNp linux-3.0.8/drivers/scsi/scsi_transport_fc.c linux-3.0.8/drivers/scsi/scsi_transport_fc.c
34194--- linux-3.0.7/drivers/scsi/scsi_transport_fc.c 2011-07-21 22:17:23.000000000 -0400 34556--- linux-3.0.8/drivers/scsi/scsi_transport_fc.c 2011-07-21 22:17:23.000000000 -0400
34195+++ linux-3.0.7/drivers/scsi/scsi_transport_fc.c 2011-08-23 21:47:56.000000000 -0400 34557+++ linux-3.0.8/drivers/scsi/scsi_transport_fc.c 2011-08-23 21:47:56.000000000 -0400
34196@@ -484,7 +484,7 @@ static DECLARE_TRANSPORT_CLASS(fc_vport_ 34558@@ -484,7 +484,7 @@ static DECLARE_TRANSPORT_CLASS(fc_vport_
34197 * Netlink Infrastructure 34559 * Netlink Infrastructure
34198 */ 34560 */
@@ -34229,9 +34591,9 @@ diff -urNp linux-3.0.7/drivers/scsi/scsi_transport_fc.c linux-3.0.7/drivers/scsi
34229 return -EINVAL; 34591 return -EINVAL;
34230 /* 34592 /*
34231 * Check for overflow; dev_loss_tmo is u32 34593 * Check for overflow; dev_loss_tmo is u32
34232diff -urNp linux-3.0.7/drivers/scsi/scsi_transport_iscsi.c linux-3.0.7/drivers/scsi/scsi_transport_iscsi.c 34594diff -urNp linux-3.0.8/drivers/scsi/scsi_transport_iscsi.c linux-3.0.8/drivers/scsi/scsi_transport_iscsi.c
34233--- linux-3.0.7/drivers/scsi/scsi_transport_iscsi.c 2011-07-21 22:17:23.000000000 -0400 34595--- linux-3.0.8/drivers/scsi/scsi_transport_iscsi.c 2011-07-21 22:17:23.000000000 -0400
34234+++ linux-3.0.7/drivers/scsi/scsi_transport_iscsi.c 2011-08-23 21:47:56.000000000 -0400 34596+++ linux-3.0.8/drivers/scsi/scsi_transport_iscsi.c 2011-08-23 21:47:56.000000000 -0400
34235@@ -83,7 +83,7 @@ struct iscsi_internal { 34597@@ -83,7 +83,7 @@ struct iscsi_internal {
34236 struct device_attribute *session_attrs[ISCSI_SESSION_ATTRS + 1]; 34598 struct device_attribute *session_attrs[ISCSI_SESSION_ATTRS + 1];
34237 }; 34599 };
@@ -34259,9 +34621,9 @@ diff -urNp linux-3.0.7/drivers/scsi/scsi_transport_iscsi.c linux-3.0.7/drivers/s
34259 34621
34260 err = class_register(&iscsi_transport_class); 34622 err = class_register(&iscsi_transport_class);
34261 if (err) 34623 if (err)
34262diff -urNp linux-3.0.7/drivers/scsi/scsi_transport_srp.c linux-3.0.7/drivers/scsi/scsi_transport_srp.c 34624diff -urNp linux-3.0.8/drivers/scsi/scsi_transport_srp.c linux-3.0.8/drivers/scsi/scsi_transport_srp.c
34263--- linux-3.0.7/drivers/scsi/scsi_transport_srp.c 2011-07-21 22:17:23.000000000 -0400 34625--- linux-3.0.8/drivers/scsi/scsi_transport_srp.c 2011-07-21 22:17:23.000000000 -0400
34264+++ linux-3.0.7/drivers/scsi/scsi_transport_srp.c 2011-08-23 21:47:56.000000000 -0400 34626+++ linux-3.0.8/drivers/scsi/scsi_transport_srp.c 2011-08-23 21:47:56.000000000 -0400
34265@@ -33,7 +33,7 @@ 34627@@ -33,7 +33,7 @@
34266 #include "scsi_transport_srp_internal.h" 34628 #include "scsi_transport_srp_internal.h"
34267 34629
@@ -34289,9 +34651,9 @@ diff -urNp linux-3.0.7/drivers/scsi/scsi_transport_srp.c linux-3.0.7/drivers/scs
34289 dev_set_name(&rport->dev, "port-%d:%d", shost->host_no, id); 34651 dev_set_name(&rport->dev, "port-%d:%d", shost->host_no, id);
34290 34652
34291 transport_setup_device(&rport->dev); 34653 transport_setup_device(&rport->dev);
34292diff -urNp linux-3.0.7/drivers/scsi/sg.c linux-3.0.7/drivers/scsi/sg.c 34654diff -urNp linux-3.0.8/drivers/scsi/sg.c linux-3.0.8/drivers/scsi/sg.c
34293--- linux-3.0.7/drivers/scsi/sg.c 2011-07-21 22:17:23.000000000 -0400 34655--- linux-3.0.8/drivers/scsi/sg.c 2011-07-21 22:17:23.000000000 -0400
34294+++ linux-3.0.7/drivers/scsi/sg.c 2011-10-06 04:17:55.000000000 -0400 34656+++ linux-3.0.8/drivers/scsi/sg.c 2011-10-06 04:17:55.000000000 -0400
34295@@ -1075,7 +1075,7 @@ sg_ioctl(struct file *filp, unsigned int 34657@@ -1075,7 +1075,7 @@ sg_ioctl(struct file *filp, unsigned int
34296 sdp->disk->disk_name, 34658 sdp->disk->disk_name,
34297 MKDEV(SCSI_GENERIC_MAJOR, sdp->index), 34659 MKDEV(SCSI_GENERIC_MAJOR, sdp->index),
@@ -34319,9 +34681,9 @@ diff -urNp linux-3.0.7/drivers/scsi/sg.c linux-3.0.7/drivers/scsi/sg.c
34319 34681
34320 sg_proc_sgp = proc_mkdir(sg_proc_sg_dirname, NULL); 34682 sg_proc_sgp = proc_mkdir(sg_proc_sg_dirname, NULL);
34321 if (!sg_proc_sgp) 34683 if (!sg_proc_sgp)
34322diff -urNp linux-3.0.7/drivers/scsi/sym53c8xx_2/sym_glue.c linux-3.0.7/drivers/scsi/sym53c8xx_2/sym_glue.c 34684diff -urNp linux-3.0.8/drivers/scsi/sym53c8xx_2/sym_glue.c linux-3.0.8/drivers/scsi/sym53c8xx_2/sym_glue.c
34323--- linux-3.0.7/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-07-21 22:17:23.000000000 -0400 34685--- linux-3.0.8/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-07-21 22:17:23.000000000 -0400
34324+++ linux-3.0.7/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-08-23 21:48:14.000000000 -0400 34686+++ linux-3.0.8/drivers/scsi/sym53c8xx_2/sym_glue.c 2011-08-23 21:48:14.000000000 -0400
34325@@ -1756,6 +1756,8 @@ static int __devinit sym2_probe(struct p 34687@@ -1756,6 +1756,8 @@ static int __devinit sym2_probe(struct p
34326 int do_iounmap = 0; 34688 int do_iounmap = 0;
34327 int do_disable_device = 1; 34689 int do_disable_device = 1;
@@ -34331,9 +34693,9 @@ diff -urNp linux-3.0.7/drivers/scsi/sym53c8xx_2/sym_glue.c linux-3.0.7/drivers/s
34331 memset(&sym_dev, 0, sizeof(sym_dev)); 34693 memset(&sym_dev, 0, sizeof(sym_dev));
34332 memset(&nvram, 0, sizeof(nvram)); 34694 memset(&nvram, 0, sizeof(nvram));
34333 sym_dev.pdev = pdev; 34695 sym_dev.pdev = pdev;
34334diff -urNp linux-3.0.7/drivers/scsi/vmw_pvscsi.c linux-3.0.7/drivers/scsi/vmw_pvscsi.c 34696diff -urNp linux-3.0.8/drivers/scsi/vmw_pvscsi.c linux-3.0.8/drivers/scsi/vmw_pvscsi.c
34335--- linux-3.0.7/drivers/scsi/vmw_pvscsi.c 2011-07-21 22:17:23.000000000 -0400 34697--- linux-3.0.8/drivers/scsi/vmw_pvscsi.c 2011-07-21 22:17:23.000000000 -0400
34336+++ linux-3.0.7/drivers/scsi/vmw_pvscsi.c 2011-08-23 21:48:14.000000000 -0400 34698+++ linux-3.0.8/drivers/scsi/vmw_pvscsi.c 2011-08-23 21:48:14.000000000 -0400
34337@@ -447,6 +447,8 @@ static void pvscsi_setup_all_rings(const 34699@@ -447,6 +447,8 @@ static void pvscsi_setup_all_rings(const
34338 dma_addr_t base; 34700 dma_addr_t base;
34339 unsigned i; 34701 unsigned i;
@@ -34343,9 +34705,9 @@ diff -urNp linux-3.0.7/drivers/scsi/vmw_pvscsi.c linux-3.0.7/drivers/scsi/vmw_pv
34343 cmd.ringsStatePPN = adapter->ringStatePA >> PAGE_SHIFT; 34705 cmd.ringsStatePPN = adapter->ringStatePA >> PAGE_SHIFT;
34344 cmd.reqRingNumPages = adapter->req_pages; 34706 cmd.reqRingNumPages = adapter->req_pages;
34345 cmd.cmpRingNumPages = adapter->cmp_pages; 34707 cmd.cmpRingNumPages = adapter->cmp_pages;
34346diff -urNp linux-3.0.7/drivers/spi/dw_spi_pci.c linux-3.0.7/drivers/spi/dw_spi_pci.c 34708diff -urNp linux-3.0.8/drivers/spi/dw_spi_pci.c linux-3.0.8/drivers/spi/dw_spi_pci.c
34347--- linux-3.0.7/drivers/spi/dw_spi_pci.c 2011-07-21 22:17:23.000000000 -0400 34709--- linux-3.0.8/drivers/spi/dw_spi_pci.c 2011-07-21 22:17:23.000000000 -0400
34348+++ linux-3.0.7/drivers/spi/dw_spi_pci.c 2011-10-11 10:44:33.000000000 -0400 34710+++ linux-3.0.8/drivers/spi/dw_spi_pci.c 2011-10-11 10:44:33.000000000 -0400
34349@@ -148,7 +148,7 @@ static int spi_resume(struct pci_dev *pd 34711@@ -148,7 +148,7 @@ static int spi_resume(struct pci_dev *pd
34350 #define spi_resume NULL 34712 #define spi_resume NULL
34351 #endif 34713 #endif
@@ -34355,9 +34717,9 @@ diff -urNp linux-3.0.7/drivers/spi/dw_spi_pci.c linux-3.0.7/drivers/spi/dw_spi_p
34355 /* Intel MID platform SPI controller 0 */ 34717 /* Intel MID platform SPI controller 0 */
34356 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0800) }, 34718 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x0800) },
34357 {}, 34719 {},
34358diff -urNp linux-3.0.7/drivers/spi/spi.c linux-3.0.7/drivers/spi/spi.c 34720diff -urNp linux-3.0.8/drivers/spi/spi.c linux-3.0.8/drivers/spi/spi.c
34359--- linux-3.0.7/drivers/spi/spi.c 2011-07-21 22:17:23.000000000 -0400 34721--- linux-3.0.8/drivers/spi/spi.c 2011-07-21 22:17:23.000000000 -0400
34360+++ linux-3.0.7/drivers/spi/spi.c 2011-08-23 21:47:56.000000000 -0400 34722+++ linux-3.0.8/drivers/spi/spi.c 2011-08-23 21:47:56.000000000 -0400
34361@@ -1023,7 +1023,7 @@ int spi_bus_unlock(struct spi_master *ma 34723@@ -1023,7 +1023,7 @@ int spi_bus_unlock(struct spi_master *ma
34362 EXPORT_SYMBOL_GPL(spi_bus_unlock); 34724 EXPORT_SYMBOL_GPL(spi_bus_unlock);
34363 34725
@@ -34367,9 +34729,9 @@ diff -urNp linux-3.0.7/drivers/spi/spi.c linux-3.0.7/drivers/spi/spi.c
34367 34729
34368 static u8 *buf; 34730 static u8 *buf;
34369 34731
34370diff -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 34732diff -urNp linux-3.0.8/drivers/staging/ath6kl/os/linux/ar6000_drv.c linux-3.0.8/drivers/staging/ath6kl/os/linux/ar6000_drv.c
34371--- linux-3.0.7/drivers/staging/ath6kl/os/linux/ar6000_drv.c 2011-09-02 18:11:21.000000000 -0400 34733--- linux-3.0.8/drivers/staging/ath6kl/os/linux/ar6000_drv.c 2011-10-24 08:05:21.000000000 -0400
34372+++ linux-3.0.7/drivers/staging/ath6kl/os/linux/ar6000_drv.c 2011-08-23 21:48:14.000000000 -0400 34734+++ linux-3.0.8/drivers/staging/ath6kl/os/linux/ar6000_drv.c 2011-08-23 21:48:14.000000000 -0400
34373@@ -362,7 +362,7 @@ static struct ar_cookie s_ar_cookie_mem[ 34735@@ -362,7 +362,7 @@ static struct ar_cookie s_ar_cookie_mem[
34374 (((ar)->arTargetType == TARGET_TYPE_AR6003) ? AR6003_HOST_INTEREST_ITEM_ADDRESS(item) : 0)) 34736 (((ar)->arTargetType == TARGET_TYPE_AR6003) ? AR6003_HOST_INTEREST_ITEM_ADDRESS(item) : 0))
34375 34737
@@ -34379,9 +34741,9 @@ diff -urNp linux-3.0.7/drivers/staging/ath6kl/os/linux/ar6000_drv.c linux-3.0.7/
34379 .ndo_init = NULL, 34741 .ndo_init = NULL,
34380 .ndo_open = ar6000_open, 34742 .ndo_open = ar6000_open,
34381 .ndo_stop = ar6000_close, 34743 .ndo_stop = ar6000_close,
34382diff -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 34744diff -urNp linux-3.0.8/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h linux-3.0.8/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h
34383--- linux-3.0.7/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h 2011-07-21 22:17:23.000000000 -0400 34745--- linux-3.0.8/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h 2011-07-21 22:17:23.000000000 -0400
34384+++ linux-3.0.7/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h 2011-08-23 21:47:56.000000000 -0400 34746+++ linux-3.0.8/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h 2011-08-23 21:47:56.000000000 -0400
34385@@ -30,7 +30,7 @@ typedef bool (*ar6k_pal_recv_pkt_t)(void 34747@@ -30,7 +30,7 @@ typedef bool (*ar6k_pal_recv_pkt_t)(void
34386 typedef struct ar6k_pal_config_s 34748 typedef struct ar6k_pal_config_s
34387 { 34749 {
@@ -34391,9 +34753,9 @@ diff -urNp linux-3.0.7/drivers/staging/ath6kl/os/linux/include/ar6k_pal.h linux-
34391 34753
34392 void register_pal_cb(ar6k_pal_config_t *palConfig_p); 34754 void register_pal_cb(ar6k_pal_config_t *palConfig_p);
34393 #endif /* _AR6K_PAL_H_ */ 34755 #endif /* _AR6K_PAL_H_ */
34394diff -urNp linux-3.0.7/drivers/staging/brcm80211/brcmfmac/dhd_linux.c linux-3.0.7/drivers/staging/brcm80211/brcmfmac/dhd_linux.c 34756diff -urNp linux-3.0.8/drivers/staging/brcm80211/brcmfmac/dhd_linux.c linux-3.0.8/drivers/staging/brcm80211/brcmfmac/dhd_linux.c
34395--- linux-3.0.7/drivers/staging/brcm80211/brcmfmac/dhd_linux.c 2011-07-21 22:17:23.000000000 -0400 34757--- linux-3.0.8/drivers/staging/brcm80211/brcmfmac/dhd_linux.c 2011-07-21 22:17:23.000000000 -0400
34396+++ linux-3.0.7/drivers/staging/brcm80211/brcmfmac/dhd_linux.c 2011-08-23 21:47:56.000000000 -0400 34758+++ linux-3.0.8/drivers/staging/brcm80211/brcmfmac/dhd_linux.c 2011-08-23 21:47:56.000000000 -0400
34397@@ -853,14 +853,14 @@ static void dhd_op_if(dhd_if_t *ifp) 34759@@ -853,14 +853,14 @@ static void dhd_op_if(dhd_if_t *ifp)
34398 free_netdev(ifp->net); 34760 free_netdev(ifp->net);
34399 } 34761 }
@@ -34438,9 +34800,9 @@ diff -urNp linux-3.0.7/drivers/staging/brcm80211/brcmfmac/dhd_linux.c linux-3.0.
34438 34800
34439 #if defined(CUSTOMER_HW2) && defined(CONFIG_WIFI_CONTROL_FUNC) 34801 #if defined(CUSTOMER_HW2) && defined(CONFIG_WIFI_CONTROL_FUNC)
34440 g_bus = bus; 34802 g_bus = bus;
34441diff -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 34803diff -urNp linux-3.0.8/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h linux-3.0.8/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h
34442--- linux-3.0.7/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h 2011-07-21 22:17:23.000000000 -0400 34804--- linux-3.0.8/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h 2011-07-21 22:17:23.000000000 -0400
34443+++ linux-3.0.7/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h 2011-08-23 21:47:56.000000000 -0400 34805+++ linux-3.0.8/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h 2011-08-23 21:47:56.000000000 -0400
34444@@ -593,7 +593,7 @@ struct phy_func_ptr { 34806@@ -593,7 +593,7 @@ struct phy_func_ptr {
34445 initfn_t carrsuppr; 34807 initfn_t carrsuppr;
34446 rxsigpwrfn_t rxsigpwr; 34808 rxsigpwrfn_t rxsigpwr;
@@ -34450,9 +34812,9 @@ diff -urNp linux-3.0.7/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_int.h linu
34450 typedef struct phy_func_ptr phy_func_ptr_t; 34812 typedef struct phy_func_ptr phy_func_ptr_t;
34451 34813
34452 struct phy_info { 34814 struct phy_info {
34453diff -urNp linux-3.0.7/drivers/staging/brcm80211/include/bcmsdh.h linux-3.0.7/drivers/staging/brcm80211/include/bcmsdh.h 34815diff -urNp linux-3.0.8/drivers/staging/brcm80211/include/bcmsdh.h linux-3.0.8/drivers/staging/brcm80211/include/bcmsdh.h
34454--- linux-3.0.7/drivers/staging/brcm80211/include/bcmsdh.h 2011-07-21 22:17:23.000000000 -0400 34816--- linux-3.0.8/drivers/staging/brcm80211/include/bcmsdh.h 2011-07-21 22:17:23.000000000 -0400
34455+++ linux-3.0.7/drivers/staging/brcm80211/include/bcmsdh.h 2011-08-23 21:47:56.000000000 -0400 34817+++ linux-3.0.8/drivers/staging/brcm80211/include/bcmsdh.h 2011-08-23 21:47:56.000000000 -0400
34456@@ -185,7 +185,7 @@ typedef struct { 34818@@ -185,7 +185,7 @@ typedef struct {
34457 u16 func, uint bustype, void *regsva, void *param); 34819 u16 func, uint bustype, void *regsva, void *param);
34458 /* detach from device */ 34820 /* detach from device */
@@ -34462,9 +34824,9 @@ diff -urNp linux-3.0.7/drivers/staging/brcm80211/include/bcmsdh.h linux-3.0.7/dr
34462 34824
34463 /* platform specific/high level functions */ 34825 /* platform specific/high level functions */
34464 extern int bcmsdh_register(bcmsdh_driver_t *driver); 34826 extern int bcmsdh_register(bcmsdh_driver_t *driver);
34465diff -urNp linux-3.0.7/drivers/staging/et131x/et1310_tx.c linux-3.0.7/drivers/staging/et131x/et1310_tx.c 34827diff -urNp linux-3.0.8/drivers/staging/et131x/et1310_tx.c linux-3.0.8/drivers/staging/et131x/et1310_tx.c
34466--- linux-3.0.7/drivers/staging/et131x/et1310_tx.c 2011-07-21 22:17:23.000000000 -0400 34828--- linux-3.0.8/drivers/staging/et131x/et1310_tx.c 2011-07-21 22:17:23.000000000 -0400
34467+++ linux-3.0.7/drivers/staging/et131x/et1310_tx.c 2011-08-23 21:47:56.000000000 -0400 34829+++ linux-3.0.8/drivers/staging/et131x/et1310_tx.c 2011-08-23 21:47:56.000000000 -0400
34468@@ -635,11 +635,11 @@ inline void et131x_free_send_packet(stru 34830@@ -635,11 +635,11 @@ inline void et131x_free_send_packet(stru
34469 struct net_device_stats *stats = &etdev->net_stats; 34831 struct net_device_stats *stats = &etdev->net_stats;
34470 34832
@@ -34480,9 +34842,9 @@ diff -urNp linux-3.0.7/drivers/staging/et131x/et1310_tx.c linux-3.0.7/drivers/st
34480 34842
34481 if (tcb->skb) { 34843 if (tcb->skb) {
34482 stats->tx_bytes += tcb->skb->len; 34844 stats->tx_bytes += tcb->skb->len;
34483diff -urNp linux-3.0.7/drivers/staging/et131x/et131x_adapter.h linux-3.0.7/drivers/staging/et131x/et131x_adapter.h 34845diff -urNp linux-3.0.8/drivers/staging/et131x/et131x_adapter.h linux-3.0.8/drivers/staging/et131x/et131x_adapter.h
34484--- linux-3.0.7/drivers/staging/et131x/et131x_adapter.h 2011-07-21 22:17:23.000000000 -0400 34846--- linux-3.0.8/drivers/staging/et131x/et131x_adapter.h 2011-07-21 22:17:23.000000000 -0400
34485+++ linux-3.0.7/drivers/staging/et131x/et131x_adapter.h 2011-08-23 21:47:56.000000000 -0400 34847+++ linux-3.0.8/drivers/staging/et131x/et131x_adapter.h 2011-08-23 21:47:56.000000000 -0400
34486@@ -110,11 +110,11 @@ typedef struct _ce_stats_t { 34848@@ -110,11 +110,11 @@ typedef struct _ce_stats_t {
34487 * operations 34849 * operations
34488 */ 34850 */
@@ -34498,9 +34860,9 @@ diff -urNp linux-3.0.7/drivers/staging/et131x/et131x_adapter.h linux-3.0.7/drive
34498 u32 norcvbuf; /* # Rx packets discarded */ 34860 u32 norcvbuf; /* # Rx packets discarded */
34499 u32 noxmtbuf; /* # Tx packets discarded */ 34861 u32 noxmtbuf; /* # Tx packets discarded */
34500 34862
34501diff -urNp linux-3.0.7/drivers/staging/hv/channel.c linux-3.0.7/drivers/staging/hv/channel.c 34863diff -urNp linux-3.0.8/drivers/staging/hv/channel.c linux-3.0.8/drivers/staging/hv/channel.c
34502--- linux-3.0.7/drivers/staging/hv/channel.c 2011-09-02 18:11:21.000000000 -0400 34864--- linux-3.0.8/drivers/staging/hv/channel.c 2011-10-24 08:05:21.000000000 -0400
34503+++ linux-3.0.7/drivers/staging/hv/channel.c 2011-08-23 21:47:56.000000000 -0400 34865+++ linux-3.0.8/drivers/staging/hv/channel.c 2011-08-23 21:47:56.000000000 -0400
34504@@ -433,8 +433,8 @@ int vmbus_establish_gpadl(struct vmbus_c 34866@@ -433,8 +433,8 @@ int vmbus_establish_gpadl(struct vmbus_c
34505 int ret = 0; 34867 int ret = 0;
34506 int t; 34868 int t;
@@ -34512,9 +34874,9 @@ diff -urNp linux-3.0.7/drivers/staging/hv/channel.c linux-3.0.7/drivers/staging/
34512 34874
34513 ret = create_gpadl_header(kbuffer, size, &msginfo, &msgcount); 34875 ret = create_gpadl_header(kbuffer, size, &msginfo, &msgcount);
34514 if (ret) 34876 if (ret)
34515diff -urNp linux-3.0.7/drivers/staging/hv/hv.c linux-3.0.7/drivers/staging/hv/hv.c 34877diff -urNp linux-3.0.8/drivers/staging/hv/hv.c linux-3.0.8/drivers/staging/hv/hv.c
34516--- linux-3.0.7/drivers/staging/hv/hv.c 2011-07-21 22:17:23.000000000 -0400 34878--- linux-3.0.8/drivers/staging/hv/hv.c 2011-07-21 22:17:23.000000000 -0400
34517+++ linux-3.0.7/drivers/staging/hv/hv.c 2011-08-23 21:47:56.000000000 -0400 34879+++ linux-3.0.8/drivers/staging/hv/hv.c 2011-08-23 21:47:56.000000000 -0400
34518@@ -132,7 +132,7 @@ static u64 do_hypercall(u64 control, voi 34880@@ -132,7 +132,7 @@ static u64 do_hypercall(u64 control, voi
34519 u64 output_address = (output) ? virt_to_phys(output) : 0; 34881 u64 output_address = (output) ? virt_to_phys(output) : 0;
34520 u32 output_address_hi = output_address >> 32; 34882 u32 output_address_hi = output_address >> 32;
@@ -34524,9 +34886,9 @@ diff -urNp linux-3.0.7/drivers/staging/hv/hv.c linux-3.0.7/drivers/staging/hv/hv
34524 34886
34525 __asm__ __volatile__ ("call *%8" : "=d"(hv_status_hi), 34887 __asm__ __volatile__ ("call *%8" : "=d"(hv_status_hi),
34526 "=a"(hv_status_lo) : "d" (control_hi), 34888 "=a"(hv_status_lo) : "d" (control_hi),
34527diff -urNp linux-3.0.7/drivers/staging/hv/hv_mouse.c linux-3.0.7/drivers/staging/hv/hv_mouse.c 34889diff -urNp linux-3.0.8/drivers/staging/hv/hv_mouse.c linux-3.0.8/drivers/staging/hv/hv_mouse.c
34528--- linux-3.0.7/drivers/staging/hv/hv_mouse.c 2011-07-21 22:17:23.000000000 -0400 34890--- linux-3.0.8/drivers/staging/hv/hv_mouse.c 2011-07-21 22:17:23.000000000 -0400
34529+++ linux-3.0.7/drivers/staging/hv/hv_mouse.c 2011-08-23 21:47:56.000000000 -0400 34891+++ linux-3.0.8/drivers/staging/hv/hv_mouse.c 2011-08-23 21:47:56.000000000 -0400
34530@@ -879,8 +879,10 @@ static void reportdesc_callback(struct h 34892@@ -879,8 +879,10 @@ static void reportdesc_callback(struct h
34531 if (hid_dev) { 34893 if (hid_dev) {
34532 DPRINT_INFO(INPUTVSC_DRV, "hid_device created"); 34894 DPRINT_INFO(INPUTVSC_DRV, "hid_device created");
@@ -34540,9 +34902,9 @@ diff -urNp linux-3.0.7/drivers/staging/hv/hv_mouse.c linux-3.0.7/drivers/staging
34540 34902
34541 hid_dev->bus = BUS_VIRTUAL; 34903 hid_dev->bus = BUS_VIRTUAL;
34542 hid_dev->vendor = input_device_ctx->device_info.vendor; 34904 hid_dev->vendor = input_device_ctx->device_info.vendor;
34543diff -urNp linux-3.0.7/drivers/staging/hv/hyperv_vmbus.h linux-3.0.7/drivers/staging/hv/hyperv_vmbus.h 34905diff -urNp linux-3.0.8/drivers/staging/hv/hyperv_vmbus.h linux-3.0.8/drivers/staging/hv/hyperv_vmbus.h
34544--- linux-3.0.7/drivers/staging/hv/hyperv_vmbus.h 2011-07-21 22:17:23.000000000 -0400 34906--- linux-3.0.8/drivers/staging/hv/hyperv_vmbus.h 2011-07-21 22:17:23.000000000 -0400
34545+++ linux-3.0.7/drivers/staging/hv/hyperv_vmbus.h 2011-08-23 21:47:56.000000000 -0400 34907+++ linux-3.0.8/drivers/staging/hv/hyperv_vmbus.h 2011-08-23 21:47:56.000000000 -0400
34546@@ -559,7 +559,7 @@ enum vmbus_connect_state { 34908@@ -559,7 +559,7 @@ enum vmbus_connect_state {
34547 struct vmbus_connection { 34909 struct vmbus_connection {
34548 enum vmbus_connect_state conn_state; 34910 enum vmbus_connect_state conn_state;
@@ -34552,9 +34914,9 @@ diff -urNp linux-3.0.7/drivers/staging/hv/hyperv_vmbus.h linux-3.0.7/drivers/sta
34552 34914
34553 /* 34915 /*
34554 * Represents channel interrupts. Each bit position represents a 34916 * Represents channel interrupts. Each bit position represents a
34555diff -urNp linux-3.0.7/drivers/staging/hv/rndis_filter.c linux-3.0.7/drivers/staging/hv/rndis_filter.c 34917diff -urNp linux-3.0.8/drivers/staging/hv/rndis_filter.c linux-3.0.8/drivers/staging/hv/rndis_filter.c
34556--- linux-3.0.7/drivers/staging/hv/rndis_filter.c 2011-09-02 18:11:21.000000000 -0400 34918--- linux-3.0.8/drivers/staging/hv/rndis_filter.c 2011-10-24 08:05:21.000000000 -0400
34557+++ linux-3.0.7/drivers/staging/hv/rndis_filter.c 2011-08-23 21:47:56.000000000 -0400 34919+++ linux-3.0.8/drivers/staging/hv/rndis_filter.c 2011-08-23 21:47:56.000000000 -0400
34558@@ -43,7 +43,7 @@ struct rndis_device { 34920@@ -43,7 +43,7 @@ struct rndis_device {
34559 34921
34560 enum rndis_device_state state; 34922 enum rndis_device_state state;
@@ -34582,9 +34944,9 @@ diff -urNp linux-3.0.7/drivers/staging/hv/rndis_filter.c linux-3.0.7/drivers/sta
34582 34944
34583 /* Ignore return since this msg is optional. */ 34945 /* Ignore return since this msg is optional. */
34584 rndis_filter_send_request(dev, request); 34946 rndis_filter_send_request(dev, request);
34585diff -urNp linux-3.0.7/drivers/staging/hv/vmbus_drv.c linux-3.0.7/drivers/staging/hv/vmbus_drv.c 34947diff -urNp linux-3.0.8/drivers/staging/hv/vmbus_drv.c linux-3.0.8/drivers/staging/hv/vmbus_drv.c
34586--- linux-3.0.7/drivers/staging/hv/vmbus_drv.c 2011-07-21 22:17:23.000000000 -0400 34948--- linux-3.0.8/drivers/staging/hv/vmbus_drv.c 2011-07-21 22:17:23.000000000 -0400
34587+++ linux-3.0.7/drivers/staging/hv/vmbus_drv.c 2011-08-23 21:47:56.000000000 -0400 34949+++ linux-3.0.8/drivers/staging/hv/vmbus_drv.c 2011-08-23 21:47:56.000000000 -0400
34588@@ -668,11 +668,11 @@ int vmbus_child_device_register(struct h 34950@@ -668,11 +668,11 @@ int vmbus_child_device_register(struct h
34589 { 34951 {
34590 int ret = 0; 34952 int ret = 0;
@@ -34599,9 +34961,9 @@ diff -urNp linux-3.0.7/drivers/staging/hv/vmbus_drv.c linux-3.0.7/drivers/stagin
34599 34961
34600 /* The new device belongs to this bus */ 34962 /* The new device belongs to this bus */
34601 child_device_obj->device.bus = &hv_bus; /* device->dev.bus; */ 34963 child_device_obj->device.bus = &hv_bus; /* device->dev.bus; */
34602diff -urNp linux-3.0.7/drivers/staging/iio/ring_generic.h linux-3.0.7/drivers/staging/iio/ring_generic.h 34964diff -urNp linux-3.0.8/drivers/staging/iio/ring_generic.h linux-3.0.8/drivers/staging/iio/ring_generic.h
34603--- linux-3.0.7/drivers/staging/iio/ring_generic.h 2011-07-21 22:17:23.000000000 -0400 34965--- linux-3.0.8/drivers/staging/iio/ring_generic.h 2011-07-21 22:17:23.000000000 -0400
34604+++ linux-3.0.7/drivers/staging/iio/ring_generic.h 2011-08-23 21:47:56.000000000 -0400 34966+++ linux-3.0.8/drivers/staging/iio/ring_generic.h 2011-08-23 21:47:56.000000000 -0400
34605@@ -62,7 +62,7 @@ struct iio_ring_access_funcs { 34967@@ -62,7 +62,7 @@ struct iio_ring_access_funcs {
34606 34968
34607 int (*is_enabled)(struct iio_ring_buffer *ring); 34969 int (*is_enabled)(struct iio_ring_buffer *ring);
@@ -34611,9 +34973,28 @@ diff -urNp linux-3.0.7/drivers/staging/iio/ring_generic.h linux-3.0.7/drivers/st
34611 34973
34612 struct iio_ring_setup_ops { 34974 struct iio_ring_setup_ops {
34613 int (*preenable)(struct iio_dev *); 34975 int (*preenable)(struct iio_dev *);
34614diff -urNp linux-3.0.7/drivers/staging/octeon/ethernet-rx.c linux-3.0.7/drivers/staging/octeon/ethernet-rx.c 34976diff -urNp linux-3.0.8/drivers/staging/octeon/ethernet.c linux-3.0.8/drivers/staging/octeon/ethernet.c
34615--- linux-3.0.7/drivers/staging/octeon/ethernet-rx.c 2011-07-21 22:17:23.000000000 -0400 34977--- linux-3.0.8/drivers/staging/octeon/ethernet.c 2011-07-21 22:17:23.000000000 -0400
34616+++ linux-3.0.7/drivers/staging/octeon/ethernet-rx.c 2011-08-23 21:47:56.000000000 -0400 34978+++ linux-3.0.8/drivers/staging/octeon/ethernet.c 2011-08-23 21:47:56.000000000 -0400
34979@@ -258,11 +258,11 @@ static struct net_device_stats *cvm_oct_
34980 * since the RX tasklet also increments it.
34981 */
34982 #ifdef CONFIG_64BIT
34983- atomic64_add(rx_status.dropped_packets,
34984- (atomic64_t *)&priv->stats.rx_dropped);
34985+ atomic64_add_unchecked(rx_status.dropped_packets,
34986+ (atomic64_unchecked_t *)&priv->stats.rx_dropped);
34987 #else
34988- atomic_add(rx_status.dropped_packets,
34989- (atomic_t *)&priv->stats.rx_dropped);
34990+ atomic_add_unchecked(rx_status.dropped_packets,
34991+ (atomic_unchecked_t *)&priv->stats.rx_dropped);
34992 #endif
34993 }
34994
34995diff -urNp linux-3.0.8/drivers/staging/octeon/ethernet-rx.c linux-3.0.8/drivers/staging/octeon/ethernet-rx.c
34996--- linux-3.0.8/drivers/staging/octeon/ethernet-rx.c 2011-07-21 22:17:23.000000000 -0400
34997+++ linux-3.0.8/drivers/staging/octeon/ethernet-rx.c 2011-08-23 21:47:56.000000000 -0400
34617@@ -417,11 +417,11 @@ static int cvm_oct_napi_poll(struct napi 34998@@ -417,11 +417,11 @@ static int cvm_oct_napi_poll(struct napi
34618 /* Increment RX stats for virtual ports */ 34999 /* Increment RX stats for virtual ports */
34619 if (work->ipprt >= CVMX_PIP_NUM_INPUT_PORTS) { 35000 if (work->ipprt >= CVMX_PIP_NUM_INPUT_PORTS) {
@@ -34642,28 +35023,9 @@ diff -urNp linux-3.0.7/drivers/staging/octeon/ethernet-rx.c linux-3.0.7/drivers/
34642 #endif 35023 #endif
34643 dev_kfree_skb_irq(skb); 35024 dev_kfree_skb_irq(skb);
34644 } 35025 }
34645diff -urNp linux-3.0.7/drivers/staging/octeon/ethernet.c linux-3.0.7/drivers/staging/octeon/ethernet.c 35026diff -urNp linux-3.0.8/drivers/staging/pohmelfs/inode.c linux-3.0.8/drivers/staging/pohmelfs/inode.c
34646--- linux-3.0.7/drivers/staging/octeon/ethernet.c 2011-07-21 22:17:23.000000000 -0400 35027--- linux-3.0.8/drivers/staging/pohmelfs/inode.c 2011-07-21 22:17:23.000000000 -0400
34647+++ linux-3.0.7/drivers/staging/octeon/ethernet.c 2011-08-23 21:47:56.000000000 -0400 35028+++ linux-3.0.8/drivers/staging/pohmelfs/inode.c 2011-08-23 21:47:56.000000000 -0400
34648@@ -258,11 +258,11 @@ static struct net_device_stats *cvm_oct_
34649 * since the RX tasklet also increments it.
34650 */
34651 #ifdef CONFIG_64BIT
34652- atomic64_add(rx_status.dropped_packets,
34653- (atomic64_t *)&priv->stats.rx_dropped);
34654+ atomic64_add_unchecked(rx_status.dropped_packets,
34655+ (atomic64_unchecked_t *)&priv->stats.rx_dropped);
34656 #else
34657- atomic_add(rx_status.dropped_packets,
34658- (atomic_t *)&priv->stats.rx_dropped);
34659+ atomic_add_unchecked(rx_status.dropped_packets,
34660+ (atomic_unchecked_t *)&priv->stats.rx_dropped);
34661 #endif
34662 }
34663
34664diff -urNp linux-3.0.7/drivers/staging/pohmelfs/inode.c linux-3.0.7/drivers/staging/pohmelfs/inode.c
34665--- linux-3.0.7/drivers/staging/pohmelfs/inode.c 2011-07-21 22:17:23.000000000 -0400
34666+++ linux-3.0.7/drivers/staging/pohmelfs/inode.c 2011-08-23 21:47:56.000000000 -0400
34667@@ -1856,7 +1856,7 @@ static int pohmelfs_fill_super(struct su 35029@@ -1856,7 +1856,7 @@ static int pohmelfs_fill_super(struct su
34668 mutex_init(&psb->mcache_lock); 35030 mutex_init(&psb->mcache_lock);
34669 psb->mcache_root = RB_ROOT; 35031 psb->mcache_root = RB_ROOT;
@@ -34682,9 +35044,9 @@ diff -urNp linux-3.0.7/drivers/staging/pohmelfs/inode.c linux-3.0.7/drivers/stag
34682 atomic_long_set(&psb->total_inodes, 0); 35044 atomic_long_set(&psb->total_inodes, 0);
34683 35045
34684 mutex_init(&psb->state_lock); 35046 mutex_init(&psb->state_lock);
34685diff -urNp linux-3.0.7/drivers/staging/pohmelfs/mcache.c linux-3.0.7/drivers/staging/pohmelfs/mcache.c 35047diff -urNp linux-3.0.8/drivers/staging/pohmelfs/mcache.c linux-3.0.8/drivers/staging/pohmelfs/mcache.c
34686--- linux-3.0.7/drivers/staging/pohmelfs/mcache.c 2011-07-21 22:17:23.000000000 -0400 35048--- linux-3.0.8/drivers/staging/pohmelfs/mcache.c 2011-07-21 22:17:23.000000000 -0400
34687+++ linux-3.0.7/drivers/staging/pohmelfs/mcache.c 2011-08-23 21:47:56.000000000 -0400 35049+++ linux-3.0.8/drivers/staging/pohmelfs/mcache.c 2011-08-23 21:47:56.000000000 -0400
34688@@ -121,7 +121,7 @@ struct pohmelfs_mcache *pohmelfs_mcache_ 35050@@ -121,7 +121,7 @@ struct pohmelfs_mcache *pohmelfs_mcache_
34689 m->data = data; 35051 m->data = data;
34690 m->start = start; 35052 m->start = start;
@@ -34694,9 +35056,9 @@ diff -urNp linux-3.0.7/drivers/staging/pohmelfs/mcache.c linux-3.0.7/drivers/sta
34694 35056
34695 mutex_lock(&psb->mcache_lock); 35057 mutex_lock(&psb->mcache_lock);
34696 err = pohmelfs_mcache_insert(psb, m); 35058 err = pohmelfs_mcache_insert(psb, m);
34697diff -urNp linux-3.0.7/drivers/staging/pohmelfs/netfs.h linux-3.0.7/drivers/staging/pohmelfs/netfs.h 35059diff -urNp linux-3.0.8/drivers/staging/pohmelfs/netfs.h linux-3.0.8/drivers/staging/pohmelfs/netfs.h
34698--- linux-3.0.7/drivers/staging/pohmelfs/netfs.h 2011-07-21 22:17:23.000000000 -0400 35060--- linux-3.0.8/drivers/staging/pohmelfs/netfs.h 2011-07-21 22:17:23.000000000 -0400
34699+++ linux-3.0.7/drivers/staging/pohmelfs/netfs.h 2011-08-23 21:47:56.000000000 -0400 35061+++ linux-3.0.8/drivers/staging/pohmelfs/netfs.h 2011-08-23 21:47:56.000000000 -0400
34700@@ -571,14 +571,14 @@ struct pohmelfs_config; 35062@@ -571,14 +571,14 @@ struct pohmelfs_config;
34701 struct pohmelfs_sb { 35063 struct pohmelfs_sb {
34702 struct rb_root mcache_root; 35064 struct rb_root mcache_root;
@@ -34714,9 +35076,9 @@ diff -urNp linux-3.0.7/drivers/staging/pohmelfs/netfs.h linux-3.0.7/drivers/stag
34714 35076
34715 unsigned int crypto_attached_size; 35077 unsigned int crypto_attached_size;
34716 unsigned int crypto_align_size; 35078 unsigned int crypto_align_size;
34717diff -urNp linux-3.0.7/drivers/staging/pohmelfs/trans.c linux-3.0.7/drivers/staging/pohmelfs/trans.c 35079diff -urNp linux-3.0.8/drivers/staging/pohmelfs/trans.c linux-3.0.8/drivers/staging/pohmelfs/trans.c
34718--- linux-3.0.7/drivers/staging/pohmelfs/trans.c 2011-07-21 22:17:23.000000000 -0400 35080--- linux-3.0.8/drivers/staging/pohmelfs/trans.c 2011-07-21 22:17:23.000000000 -0400
34719+++ linux-3.0.7/drivers/staging/pohmelfs/trans.c 2011-08-23 21:47:56.000000000 -0400 35081+++ linux-3.0.8/drivers/staging/pohmelfs/trans.c 2011-08-23 21:47:56.000000000 -0400
34720@@ -492,7 +492,7 @@ int netfs_trans_finish(struct netfs_tran 35082@@ -492,7 +492,7 @@ int netfs_trans_finish(struct netfs_tran
34721 int err; 35083 int err;
34722 struct netfs_cmd *cmd = t->iovec.iov_base; 35084 struct netfs_cmd *cmd = t->iovec.iov_base;
@@ -34726,9 +35088,9 @@ diff -urNp linux-3.0.7/drivers/staging/pohmelfs/trans.c linux-3.0.7/drivers/stag
34726 35088
34727 cmd->size = t->iovec.iov_len - sizeof(struct netfs_cmd) + 35089 cmd->size = t->iovec.iov_len - sizeof(struct netfs_cmd) +
34728 t->attached_size + t->attached_pages * sizeof(struct netfs_cmd); 35090 t->attached_size + t->attached_pages * sizeof(struct netfs_cmd);
34729diff -urNp linux-3.0.7/drivers/staging/rtl8712/rtl871x_io.h linux-3.0.7/drivers/staging/rtl8712/rtl871x_io.h 35091diff -urNp linux-3.0.8/drivers/staging/rtl8712/rtl871x_io.h linux-3.0.8/drivers/staging/rtl8712/rtl871x_io.h
34730--- linux-3.0.7/drivers/staging/rtl8712/rtl871x_io.h 2011-07-21 22:17:23.000000000 -0400 35092--- linux-3.0.8/drivers/staging/rtl8712/rtl871x_io.h 2011-07-21 22:17:23.000000000 -0400
34731+++ linux-3.0.7/drivers/staging/rtl8712/rtl871x_io.h 2011-08-23 21:47:56.000000000 -0400 35093+++ linux-3.0.8/drivers/staging/rtl8712/rtl871x_io.h 2011-08-23 21:47:56.000000000 -0400
34732@@ -83,7 +83,7 @@ struct _io_ops { 35094@@ -83,7 +83,7 @@ struct _io_ops {
34733 u8 *pmem); 35095 u8 *pmem);
34734 u32 (*_write_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, 35096 u32 (*_write_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt,
@@ -34738,9 +35100,9 @@ diff -urNp linux-3.0.7/drivers/staging/rtl8712/rtl871x_io.h linux-3.0.7/drivers/
34738 35100
34739 struct io_req { 35101 struct io_req {
34740 struct list_head list; 35102 struct list_head list;
34741diff -urNp linux-3.0.7/drivers/staging/sbe-2t3e3/netdev.c linux-3.0.7/drivers/staging/sbe-2t3e3/netdev.c 35103diff -urNp linux-3.0.8/drivers/staging/sbe-2t3e3/netdev.c linux-3.0.8/drivers/staging/sbe-2t3e3/netdev.c
34742--- linux-3.0.7/drivers/staging/sbe-2t3e3/netdev.c 2011-07-21 22:17:23.000000000 -0400 35104--- linux-3.0.8/drivers/staging/sbe-2t3e3/netdev.c 2011-07-21 22:17:23.000000000 -0400
34743+++ linux-3.0.7/drivers/staging/sbe-2t3e3/netdev.c 2011-08-24 18:21:41.000000000 -0400 35105+++ linux-3.0.8/drivers/staging/sbe-2t3e3/netdev.c 2011-08-24 18:21:41.000000000 -0400
34744@@ -51,7 +51,7 @@ int t3e3_ioctl(struct net_device *dev, s 35106@@ -51,7 +51,7 @@ int t3e3_ioctl(struct net_device *dev, s
34745 t3e3_if_config(sc, cmd_2t3e3, (char *)&param, &resp, &rlen); 35107 t3e3_if_config(sc, cmd_2t3e3, (char *)&param, &resp, &rlen);
34746 35108
@@ -34750,9 +35112,9 @@ diff -urNp linux-3.0.7/drivers/staging/sbe-2t3e3/netdev.c linux-3.0.7/drivers/st
34750 return -EFAULT; 35112 return -EFAULT;
34751 35113
34752 return 0; 35114 return 0;
34753diff -urNp linux-3.0.7/drivers/staging/tty/stallion.c linux-3.0.7/drivers/staging/tty/stallion.c 35115diff -urNp linux-3.0.8/drivers/staging/tty/stallion.c linux-3.0.8/drivers/staging/tty/stallion.c
34754--- linux-3.0.7/drivers/staging/tty/stallion.c 2011-07-21 22:17:23.000000000 -0400 35116--- linux-3.0.8/drivers/staging/tty/stallion.c 2011-07-21 22:17:23.000000000 -0400
34755+++ linux-3.0.7/drivers/staging/tty/stallion.c 2011-08-23 21:48:14.000000000 -0400 35117+++ linux-3.0.8/drivers/staging/tty/stallion.c 2011-08-23 21:48:14.000000000 -0400
34756@@ -2406,6 +2406,8 @@ static int stl_getportstruct(struct stlp 35118@@ -2406,6 +2406,8 @@ static int stl_getportstruct(struct stlp
34757 struct stlport stl_dummyport; 35119 struct stlport stl_dummyport;
34758 struct stlport *portp; 35120 struct stlport *portp;
@@ -34762,9 +35124,9 @@ diff -urNp linux-3.0.7/drivers/staging/tty/stallion.c linux-3.0.7/drivers/stagin
34762 if (copy_from_user(&stl_dummyport, arg, sizeof(struct stlport))) 35124 if (copy_from_user(&stl_dummyport, arg, sizeof(struct stlport)))
34763 return -EFAULT; 35125 return -EFAULT;
34764 portp = stl_getport(stl_dummyport.brdnr, stl_dummyport.panelnr, 35126 portp = stl_getport(stl_dummyport.brdnr, stl_dummyport.panelnr,
34765diff -urNp linux-3.0.7/drivers/staging/usbip/usbip_common.h linux-3.0.7/drivers/staging/usbip/usbip_common.h 35127diff -urNp linux-3.0.8/drivers/staging/usbip/usbip_common.h linux-3.0.8/drivers/staging/usbip/usbip_common.h
34766--- linux-3.0.7/drivers/staging/usbip/usbip_common.h 2011-07-21 22:17:23.000000000 -0400 35128--- linux-3.0.8/drivers/staging/usbip/usbip_common.h 2011-07-21 22:17:23.000000000 -0400
34767+++ linux-3.0.7/drivers/staging/usbip/usbip_common.h 2011-08-23 21:47:56.000000000 -0400 35129+++ linux-3.0.8/drivers/staging/usbip/usbip_common.h 2011-08-23 21:47:56.000000000 -0400
34768@@ -315,7 +315,7 @@ struct usbip_device { 35130@@ -315,7 +315,7 @@ struct usbip_device {
34769 void (*shutdown)(struct usbip_device *); 35131 void (*shutdown)(struct usbip_device *);
34770 void (*reset)(struct usbip_device *); 35132 void (*reset)(struct usbip_device *);
@@ -34774,9 +35136,9 @@ diff -urNp linux-3.0.7/drivers/staging/usbip/usbip_common.h linux-3.0.7/drivers/
34774 }; 35136 };
34775 35137
34776 void usbip_pack_pdu(struct usbip_header *pdu, struct urb *urb, int cmd, 35138 void usbip_pack_pdu(struct usbip_header *pdu, struct urb *urb, int cmd,
34777diff -urNp linux-3.0.7/drivers/staging/usbip/vhci.h linux-3.0.7/drivers/staging/usbip/vhci.h 35139diff -urNp linux-3.0.8/drivers/staging/usbip/vhci.h linux-3.0.8/drivers/staging/usbip/vhci.h
34778--- linux-3.0.7/drivers/staging/usbip/vhci.h 2011-07-21 22:17:23.000000000 -0400 35140--- linux-3.0.8/drivers/staging/usbip/vhci.h 2011-07-21 22:17:23.000000000 -0400
34779+++ linux-3.0.7/drivers/staging/usbip/vhci.h 2011-08-23 21:47:56.000000000 -0400 35141+++ linux-3.0.8/drivers/staging/usbip/vhci.h 2011-08-23 21:47:56.000000000 -0400
34780@@ -94,7 +94,7 @@ struct vhci_hcd { 35142@@ -94,7 +94,7 @@ struct vhci_hcd {
34781 unsigned resuming:1; 35143 unsigned resuming:1;
34782 unsigned long re_timeout; 35144 unsigned long re_timeout;
@@ -34786,9 +35148,9 @@ diff -urNp linux-3.0.7/drivers/staging/usbip/vhci.h linux-3.0.7/drivers/staging/
34786 35148
34787 /* 35149 /*
34788 * NOTE: 35150 * NOTE:
34789diff -urNp linux-3.0.7/drivers/staging/usbip/vhci_hcd.c linux-3.0.7/drivers/staging/usbip/vhci_hcd.c 35151diff -urNp linux-3.0.8/drivers/staging/usbip/vhci_hcd.c linux-3.0.8/drivers/staging/usbip/vhci_hcd.c
34790--- linux-3.0.7/drivers/staging/usbip/vhci_hcd.c 2011-09-02 18:11:21.000000000 -0400 35152--- linux-3.0.8/drivers/staging/usbip/vhci_hcd.c 2011-10-24 08:05:21.000000000 -0400
34791+++ linux-3.0.7/drivers/staging/usbip/vhci_hcd.c 2011-08-23 21:47:56.000000000 -0400 35153+++ linux-3.0.8/drivers/staging/usbip/vhci_hcd.c 2011-08-23 21:47:56.000000000 -0400
34792@@ -511,7 +511,7 @@ static void vhci_tx_urb(struct urb *urb) 35154@@ -511,7 +511,7 @@ static void vhci_tx_urb(struct urb *urb)
34793 return; 35155 return;
34794 } 35156 }
@@ -34816,9 +35178,9 @@ diff -urNp linux-3.0.7/drivers/staging/usbip/vhci_hcd.c linux-3.0.7/drivers/stag
34816 spin_lock_init(&vhci->lock); 35178 spin_lock_init(&vhci->lock);
34817 35179
34818 hcd->power_budget = 0; /* no limit */ 35180 hcd->power_budget = 0; /* no limit */
34819diff -urNp linux-3.0.7/drivers/staging/usbip/vhci_rx.c linux-3.0.7/drivers/staging/usbip/vhci_rx.c 35181diff -urNp linux-3.0.8/drivers/staging/usbip/vhci_rx.c linux-3.0.8/drivers/staging/usbip/vhci_rx.c
34820--- linux-3.0.7/drivers/staging/usbip/vhci_rx.c 2011-07-21 22:17:23.000000000 -0400 35182--- linux-3.0.8/drivers/staging/usbip/vhci_rx.c 2011-07-21 22:17:23.000000000 -0400
34821+++ linux-3.0.7/drivers/staging/usbip/vhci_rx.c 2011-08-23 21:47:56.000000000 -0400 35183+++ linux-3.0.8/drivers/staging/usbip/vhci_rx.c 2011-08-23 21:47:56.000000000 -0400
34822@@ -76,7 +76,7 @@ static void vhci_recv_ret_submit(struct 35184@@ -76,7 +76,7 @@ static void vhci_recv_ret_submit(struct
34823 if (!urb) { 35185 if (!urb) {
34824 pr_err("cannot find a urb of seqnum %u\n", pdu->base.seqnum); 35186 pr_err("cannot find a urb of seqnum %u\n", pdu->base.seqnum);
@@ -34828,9 +35190,9 @@ diff -urNp linux-3.0.7/drivers/staging/usbip/vhci_rx.c linux-3.0.7/drivers/stagi
34828 usbip_event_add(ud, VDEV_EVENT_ERROR_TCP); 35190 usbip_event_add(ud, VDEV_EVENT_ERROR_TCP);
34829 return; 35191 return;
34830 } 35192 }
34831diff -urNp linux-3.0.7/drivers/staging/vt6655/hostap.c linux-3.0.7/drivers/staging/vt6655/hostap.c 35193diff -urNp linux-3.0.8/drivers/staging/vt6655/hostap.c linux-3.0.8/drivers/staging/vt6655/hostap.c
34832--- linux-3.0.7/drivers/staging/vt6655/hostap.c 2011-07-21 22:17:23.000000000 -0400 35194--- linux-3.0.8/drivers/staging/vt6655/hostap.c 2011-07-21 22:17:23.000000000 -0400
34833+++ linux-3.0.7/drivers/staging/vt6655/hostap.c 2011-08-23 21:47:56.000000000 -0400 35195+++ linux-3.0.8/drivers/staging/vt6655/hostap.c 2011-08-23 21:47:56.000000000 -0400
34834@@ -79,14 +79,13 @@ static int msglevel 35196@@ -79,14 +79,13 @@ static int msglevel
34835 * 35197 *
34836 */ 35198 */
@@ -34857,9 +35219,9 @@ diff -urNp linux-3.0.7/drivers/staging/vt6655/hostap.c linux-3.0.7/drivers/stagi
34857 pDevice->apdev->netdev_ops = &apdev_netdev_ops; 35219 pDevice->apdev->netdev_ops = &apdev_netdev_ops;
34858 35220
34859 pDevice->apdev->type = ARPHRD_IEEE80211; 35221 pDevice->apdev->type = ARPHRD_IEEE80211;
34860diff -urNp linux-3.0.7/drivers/staging/vt6656/hostap.c linux-3.0.7/drivers/staging/vt6656/hostap.c 35222diff -urNp linux-3.0.8/drivers/staging/vt6656/hostap.c linux-3.0.8/drivers/staging/vt6656/hostap.c
34861--- linux-3.0.7/drivers/staging/vt6656/hostap.c 2011-07-21 22:17:23.000000000 -0400 35223--- linux-3.0.8/drivers/staging/vt6656/hostap.c 2011-07-21 22:17:23.000000000 -0400
34862+++ linux-3.0.7/drivers/staging/vt6656/hostap.c 2011-08-23 21:47:56.000000000 -0400 35224+++ linux-3.0.8/drivers/staging/vt6656/hostap.c 2011-08-23 21:47:56.000000000 -0400
34863@@ -80,14 +80,13 @@ static int msglevel 35225@@ -80,14 +80,13 @@ static int msglevel
34864 * 35226 *
34865 */ 35227 */
@@ -34886,9 +35248,9 @@ diff -urNp linux-3.0.7/drivers/staging/vt6656/hostap.c linux-3.0.7/drivers/stagi
34886 pDevice->apdev->netdev_ops = &apdev_netdev_ops; 35248 pDevice->apdev->netdev_ops = &apdev_netdev_ops;
34887 35249
34888 pDevice->apdev->type = ARPHRD_IEEE80211; 35250 pDevice->apdev->type = ARPHRD_IEEE80211;
34889diff -urNp linux-3.0.7/drivers/staging/wlan-ng/hfa384x_usb.c linux-3.0.7/drivers/staging/wlan-ng/hfa384x_usb.c 35251diff -urNp linux-3.0.8/drivers/staging/wlan-ng/hfa384x_usb.c linux-3.0.8/drivers/staging/wlan-ng/hfa384x_usb.c
34890--- linux-3.0.7/drivers/staging/wlan-ng/hfa384x_usb.c 2011-07-21 22:17:23.000000000 -0400 35252--- linux-3.0.8/drivers/staging/wlan-ng/hfa384x_usb.c 2011-07-21 22:17:23.000000000 -0400
34891+++ linux-3.0.7/drivers/staging/wlan-ng/hfa384x_usb.c 2011-08-23 21:47:56.000000000 -0400 35253+++ linux-3.0.8/drivers/staging/wlan-ng/hfa384x_usb.c 2011-08-23 21:47:56.000000000 -0400
34892@@ -204,7 +204,7 @@ static void unlocked_usbctlx_complete(hf 35254@@ -204,7 +204,7 @@ static void unlocked_usbctlx_complete(hf
34893 35255
34894 struct usbctlx_completor { 35256 struct usbctlx_completor {
@@ -34898,9 +35260,9 @@ diff -urNp linux-3.0.7/drivers/staging/wlan-ng/hfa384x_usb.c linux-3.0.7/drivers
34898 35260
34899 static int 35261 static int
34900 hfa384x_usbctlx_complete_sync(hfa384x_t *hw, 35262 hfa384x_usbctlx_complete_sync(hfa384x_t *hw,
34901diff -urNp linux-3.0.7/drivers/staging/zcache/tmem.c linux-3.0.7/drivers/staging/zcache/tmem.c 35263diff -urNp linux-3.0.8/drivers/staging/zcache/tmem.c linux-3.0.8/drivers/staging/zcache/tmem.c
34902--- linux-3.0.7/drivers/staging/zcache/tmem.c 2011-07-21 22:17:23.000000000 -0400 35264--- linux-3.0.8/drivers/staging/zcache/tmem.c 2011-07-21 22:17:23.000000000 -0400
34903+++ linux-3.0.7/drivers/staging/zcache/tmem.c 2011-08-23 21:47:56.000000000 -0400 35265+++ linux-3.0.8/drivers/staging/zcache/tmem.c 2011-08-23 21:47:56.000000000 -0400
34904@@ -39,7 +39,7 @@ 35266@@ -39,7 +39,7 @@
34905 * A tmem host implementation must use this function to register callbacks 35267 * A tmem host implementation must use this function to register callbacks
34906 * for memory allocation. 35268 * for memory allocation.
@@ -34919,9 +35281,9 @@ diff -urNp linux-3.0.7/drivers/staging/zcache/tmem.c linux-3.0.7/drivers/staging
34919 35281
34920 void tmem_register_pamops(struct tmem_pamops *m) 35282 void tmem_register_pamops(struct tmem_pamops *m)
34921 { 35283 {
34922diff -urNp linux-3.0.7/drivers/staging/zcache/tmem.h linux-3.0.7/drivers/staging/zcache/tmem.h 35284diff -urNp linux-3.0.8/drivers/staging/zcache/tmem.h linux-3.0.8/drivers/staging/zcache/tmem.h
34923--- linux-3.0.7/drivers/staging/zcache/tmem.h 2011-07-21 22:17:23.000000000 -0400 35285--- linux-3.0.8/drivers/staging/zcache/tmem.h 2011-07-21 22:17:23.000000000 -0400
34924+++ linux-3.0.7/drivers/staging/zcache/tmem.h 2011-08-23 21:47:56.000000000 -0400 35286+++ linux-3.0.8/drivers/staging/zcache/tmem.h 2011-08-23 21:47:56.000000000 -0400
34925@@ -171,6 +171,7 @@ struct tmem_pamops { 35287@@ -171,6 +171,7 @@ struct tmem_pamops {
34926 int (*get_data)(struct page *, void *, struct tmem_pool *); 35288 int (*get_data)(struct page *, void *, struct tmem_pool *);
34927 void (*free)(void *, struct tmem_pool *); 35289 void (*free)(void *, struct tmem_pool *);
@@ -34938,9 +35300,9 @@ diff -urNp linux-3.0.7/drivers/staging/zcache/tmem.h linux-3.0.7/drivers/staging
34938 extern void tmem_register_hostops(struct tmem_hostops *m); 35300 extern void tmem_register_hostops(struct tmem_hostops *m);
34939 35301
34940 /* core tmem accessor functions */ 35302 /* core tmem accessor functions */
34941diff -urNp linux-3.0.7/drivers/target/target_core_alua.c linux-3.0.7/drivers/target/target_core_alua.c 35303diff -urNp linux-3.0.8/drivers/target/target_core_alua.c linux-3.0.8/drivers/target/target_core_alua.c
34942--- linux-3.0.7/drivers/target/target_core_alua.c 2011-07-21 22:17:23.000000000 -0400 35304--- linux-3.0.8/drivers/target/target_core_alua.c 2011-07-21 22:17:23.000000000 -0400
34943+++ linux-3.0.7/drivers/target/target_core_alua.c 2011-08-23 21:48:14.000000000 -0400 35305+++ linux-3.0.8/drivers/target/target_core_alua.c 2011-08-23 21:48:14.000000000 -0400
34944@@ -675,6 +675,8 @@ static int core_alua_update_tpg_primary_ 35306@@ -675,6 +675,8 @@ static int core_alua_update_tpg_primary_
34945 char path[ALUA_METADATA_PATH_LEN]; 35307 char path[ALUA_METADATA_PATH_LEN];
34946 int len; 35308 int len;
@@ -34959,9 +35321,9 @@ diff -urNp linux-3.0.7/drivers/target/target_core_alua.c linux-3.0.7/drivers/tar
34959 memset(path, 0, ALUA_METADATA_PATH_LEN); 35321 memset(path, 0, ALUA_METADATA_PATH_LEN);
34960 memset(wwn, 0, ALUA_SECONDARY_METADATA_WWN_LEN); 35322 memset(wwn, 0, ALUA_SECONDARY_METADATA_WWN_LEN);
34961 35323
34962diff -urNp linux-3.0.7/drivers/target/target_core_cdb.c linux-3.0.7/drivers/target/target_core_cdb.c 35324diff -urNp linux-3.0.8/drivers/target/target_core_cdb.c linux-3.0.8/drivers/target/target_core_cdb.c
34963--- linux-3.0.7/drivers/target/target_core_cdb.c 2011-07-21 22:17:23.000000000 -0400 35325--- linux-3.0.8/drivers/target/target_core_cdb.c 2011-07-21 22:17:23.000000000 -0400
34964+++ linux-3.0.7/drivers/target/target_core_cdb.c 2011-08-23 21:48:14.000000000 -0400 35326+++ linux-3.0.8/drivers/target/target_core_cdb.c 2011-08-23 21:48:14.000000000 -0400
34965@@ -838,6 +838,8 @@ target_emulate_modesense(struct se_cmd * 35327@@ -838,6 +838,8 @@ target_emulate_modesense(struct se_cmd *
34966 int length = 0; 35328 int length = 0;
34967 unsigned char buf[SE_MODE_PAGE_BUF]; 35329 unsigned char buf[SE_MODE_PAGE_BUF];
@@ -34971,9 +35333,9 @@ diff -urNp linux-3.0.7/drivers/target/target_core_cdb.c linux-3.0.7/drivers/targ
34971 memset(buf, 0, SE_MODE_PAGE_BUF); 35333 memset(buf, 0, SE_MODE_PAGE_BUF);
34972 35334
34973 switch (cdb[2] & 0x3f) { 35335 switch (cdb[2] & 0x3f) {
34974diff -urNp linux-3.0.7/drivers/target/target_core_configfs.c linux-3.0.7/drivers/target/target_core_configfs.c 35336diff -urNp linux-3.0.8/drivers/target/target_core_configfs.c linux-3.0.8/drivers/target/target_core_configfs.c
34975--- linux-3.0.7/drivers/target/target_core_configfs.c 2011-07-21 22:17:23.000000000 -0400 35337--- linux-3.0.8/drivers/target/target_core_configfs.c 2011-07-21 22:17:23.000000000 -0400
34976+++ linux-3.0.7/drivers/target/target_core_configfs.c 2011-08-23 21:48:14.000000000 -0400 35338+++ linux-3.0.8/drivers/target/target_core_configfs.c 2011-08-23 21:48:14.000000000 -0400
34977@@ -1276,6 +1276,8 @@ static ssize_t target_core_dev_pr_show_a 35339@@ -1276,6 +1276,8 @@ static ssize_t target_core_dev_pr_show_a
34978 ssize_t len = 0; 35340 ssize_t len = 0;
34979 int reg_count = 0, prf_isid; 35341 int reg_count = 0, prf_isid;
@@ -34983,9 +35345,9 @@ diff -urNp linux-3.0.7/drivers/target/target_core_configfs.c linux-3.0.7/drivers
34983 if (!(su_dev->se_dev_ptr)) 35345 if (!(su_dev->se_dev_ptr))
34984 return -ENODEV; 35346 return -ENODEV;
34985 35347
34986diff -urNp linux-3.0.7/drivers/target/target_core_pr.c linux-3.0.7/drivers/target/target_core_pr.c 35348diff -urNp linux-3.0.8/drivers/target/target_core_pr.c linux-3.0.8/drivers/target/target_core_pr.c
34987--- linux-3.0.7/drivers/target/target_core_pr.c 2011-07-21 22:17:23.000000000 -0400 35349--- linux-3.0.8/drivers/target/target_core_pr.c 2011-07-21 22:17:23.000000000 -0400
34988+++ linux-3.0.7/drivers/target/target_core_pr.c 2011-08-23 21:48:14.000000000 -0400 35350+++ linux-3.0.8/drivers/target/target_core_pr.c 2011-08-23 21:48:14.000000000 -0400
34989@@ -918,6 +918,8 @@ static int __core_scsi3_check_aptpl_regi 35351@@ -918,6 +918,8 @@ static int __core_scsi3_check_aptpl_regi
34990 unsigned char t_port[PR_APTPL_MAX_TPORT_LEN]; 35352 unsigned char t_port[PR_APTPL_MAX_TPORT_LEN];
34991 u16 tpgt; 35353 u16 tpgt;
@@ -35013,9 +35375,9 @@ diff -urNp linux-3.0.7/drivers/target/target_core_pr.c linux-3.0.7/drivers/targe
35013 memset(iov, 0, sizeof(struct iovec)); 35375 memset(iov, 0, sizeof(struct iovec));
35014 memset(path, 0, 512); 35376 memset(path, 0, 512);
35015 35377
35016diff -urNp linux-3.0.7/drivers/target/target_core_tmr.c linux-3.0.7/drivers/target/target_core_tmr.c 35378diff -urNp linux-3.0.8/drivers/target/target_core_tmr.c linux-3.0.8/drivers/target/target_core_tmr.c
35017--- linux-3.0.7/drivers/target/target_core_tmr.c 2011-07-21 22:17:23.000000000 -0400 35379--- linux-3.0.8/drivers/target/target_core_tmr.c 2011-07-21 22:17:23.000000000 -0400
35018+++ linux-3.0.7/drivers/target/target_core_tmr.c 2011-08-23 21:47:56.000000000 -0400 35380+++ linux-3.0.8/drivers/target/target_core_tmr.c 2011-08-23 21:47:56.000000000 -0400
35019@@ -269,7 +269,7 @@ int core_tmr_lun_reset( 35381@@ -269,7 +269,7 @@ int core_tmr_lun_reset(
35020 CMD_TFO(cmd)->get_task_tag(cmd), cmd->pr_res_key, 35382 CMD_TFO(cmd)->get_task_tag(cmd), cmd->pr_res_key,
35021 T_TASK(cmd)->t_task_cdbs, 35383 T_TASK(cmd)->t_task_cdbs,
@@ -35043,9 +35405,9 @@ diff -urNp linux-3.0.7/drivers/target/target_core_tmr.c linux-3.0.7/drivers/targ
35043 spin_unlock_irqrestore(&T_TASK(cmd)->t_state_lock, flags); 35405 spin_unlock_irqrestore(&T_TASK(cmd)->t_state_lock, flags);
35044 core_tmr_handle_tas_abort(tmr_nacl, cmd, tas, fe_count); 35406 core_tmr_handle_tas_abort(tmr_nacl, cmd, tas, fe_count);
35045 35407
35046diff -urNp linux-3.0.7/drivers/target/target_core_transport.c linux-3.0.7/drivers/target/target_core_transport.c 35408diff -urNp linux-3.0.8/drivers/target/target_core_transport.c linux-3.0.8/drivers/target/target_core_transport.c
35047--- linux-3.0.7/drivers/target/target_core_transport.c 2011-07-21 22:17:23.000000000 -0400 35409--- linux-3.0.8/drivers/target/target_core_transport.c 2011-07-21 22:17:23.000000000 -0400
35048+++ linux-3.0.7/drivers/target/target_core_transport.c 2011-08-23 21:47:56.000000000 -0400 35410+++ linux-3.0.8/drivers/target/target_core_transport.c 2011-08-23 21:47:56.000000000 -0400
35049@@ -1681,7 +1681,7 @@ struct se_device *transport_add_device_t 35411@@ -1681,7 +1681,7 @@ struct se_device *transport_add_device_t
35050 35412
35051 dev->queue_depth = dev_limits->queue_depth; 35413 dev->queue_depth = dev_limits->queue_depth;
@@ -35121,9 +35483,9 @@ diff -urNp linux-3.0.7/drivers/target/target_core_transport.c linux-3.0.7/driver
35121 atomic_read(&T_TASK(cmd)->t_transport_active), 35483 atomic_read(&T_TASK(cmd)->t_transport_active),
35122 atomic_read(&T_TASK(cmd)->t_transport_stop), 35484 atomic_read(&T_TASK(cmd)->t_transport_stop),
35123 atomic_read(&T_TASK(cmd)->t_transport_sent)); 35485 atomic_read(&T_TASK(cmd)->t_transport_sent));
35124diff -urNp linux-3.0.7/drivers/telephony/ixj.c linux-3.0.7/drivers/telephony/ixj.c 35486diff -urNp linux-3.0.8/drivers/telephony/ixj.c linux-3.0.8/drivers/telephony/ixj.c
35125--- linux-3.0.7/drivers/telephony/ixj.c 2011-07-21 22:17:23.000000000 -0400 35487--- linux-3.0.8/drivers/telephony/ixj.c 2011-07-21 22:17:23.000000000 -0400
35126+++ linux-3.0.7/drivers/telephony/ixj.c 2011-08-23 21:48:14.000000000 -0400 35488+++ linux-3.0.8/drivers/telephony/ixj.c 2011-08-23 21:48:14.000000000 -0400
35127@@ -4976,6 +4976,8 @@ static int ixj_daa_cid_read(IXJ *j) 35489@@ -4976,6 +4976,8 @@ static int ixj_daa_cid_read(IXJ *j)
35128 bool mContinue; 35490 bool mContinue;
35129 char *pIn, *pOut; 35491 char *pIn, *pOut;
@@ -35133,9 +35495,9 @@ diff -urNp linux-3.0.7/drivers/telephony/ixj.c linux-3.0.7/drivers/telephony/ixj
35133 if (!SCI_Prepare(j)) 35495 if (!SCI_Prepare(j))
35134 return 0; 35496 return 0;
35135 35497
35136diff -urNp linux-3.0.7/drivers/tty/hvc/hvcs.c linux-3.0.7/drivers/tty/hvc/hvcs.c 35498diff -urNp linux-3.0.8/drivers/tty/hvc/hvcs.c linux-3.0.8/drivers/tty/hvc/hvcs.c
35137--- linux-3.0.7/drivers/tty/hvc/hvcs.c 2011-07-21 22:17:23.000000000 -0400 35499--- linux-3.0.8/drivers/tty/hvc/hvcs.c 2011-07-21 22:17:23.000000000 -0400
35138+++ linux-3.0.7/drivers/tty/hvc/hvcs.c 2011-08-23 21:47:56.000000000 -0400 35500+++ linux-3.0.8/drivers/tty/hvc/hvcs.c 2011-08-23 21:47:56.000000000 -0400
35139@@ -83,6 +83,7 @@ 35501@@ -83,6 +83,7 @@
35140 #include <asm/hvcserver.h> 35502 #include <asm/hvcserver.h>
35141 #include <asm/uaccess.h> 35503 #include <asm/uaccess.h>
@@ -35238,9 +35600,9 @@ diff -urNp linux-3.0.7/drivers/tty/hvc/hvcs.c linux-3.0.7/drivers/tty/hvc/hvcs.c
35238 return 0; 35600 return 0;
35239 35601
35240 return HVCS_BUFF_LEN - hvcsd->chars_in_buffer; 35602 return HVCS_BUFF_LEN - hvcsd->chars_in_buffer;
35241diff -urNp linux-3.0.7/drivers/tty/ipwireless/tty.c linux-3.0.7/drivers/tty/ipwireless/tty.c 35603diff -urNp linux-3.0.8/drivers/tty/ipwireless/tty.c linux-3.0.8/drivers/tty/ipwireless/tty.c
35242--- linux-3.0.7/drivers/tty/ipwireless/tty.c 2011-07-21 22:17:23.000000000 -0400 35604--- linux-3.0.8/drivers/tty/ipwireless/tty.c 2011-07-21 22:17:23.000000000 -0400
35243+++ linux-3.0.7/drivers/tty/ipwireless/tty.c 2011-08-23 21:47:56.000000000 -0400 35605+++ linux-3.0.8/drivers/tty/ipwireless/tty.c 2011-08-23 21:47:56.000000000 -0400
35244@@ -29,6 +29,7 @@ 35606@@ -29,6 +29,7 @@
35245 #include <linux/tty_driver.h> 35607 #include <linux/tty_driver.h>
35246 #include <linux/tty_flip.h> 35608 #include <linux/tty_flip.h>
@@ -35363,9 +35725,9 @@ diff -urNp linux-3.0.7/drivers/tty/ipwireless/tty.c linux-3.0.7/drivers/tty/ipwi
35363 do_ipw_close(ttyj); 35725 do_ipw_close(ttyj);
35364 ipwireless_disassociate_network_ttys(network, 35726 ipwireless_disassociate_network_ttys(network,
35365 ttyj->channel_idx); 35727 ttyj->channel_idx);
35366diff -urNp linux-3.0.7/drivers/tty/n_gsm.c linux-3.0.7/drivers/tty/n_gsm.c 35728diff -urNp linux-3.0.8/drivers/tty/n_gsm.c linux-3.0.8/drivers/tty/n_gsm.c
35367--- linux-3.0.7/drivers/tty/n_gsm.c 2011-09-02 18:11:21.000000000 -0400 35729--- linux-3.0.8/drivers/tty/n_gsm.c 2011-10-24 08:05:21.000000000 -0400
35368+++ linux-3.0.7/drivers/tty/n_gsm.c 2011-08-23 21:47:56.000000000 -0400 35730+++ linux-3.0.8/drivers/tty/n_gsm.c 2011-08-23 21:47:56.000000000 -0400
35369@@ -1589,7 +1589,7 @@ static struct gsm_dlci *gsm_dlci_alloc(s 35731@@ -1589,7 +1589,7 @@ static struct gsm_dlci *gsm_dlci_alloc(s
35370 return NULL; 35732 return NULL;
35371 spin_lock_init(&dlci->lock); 35733 spin_lock_init(&dlci->lock);
@@ -35375,9 +35737,9 @@ diff -urNp linux-3.0.7/drivers/tty/n_gsm.c linux-3.0.7/drivers/tty/n_gsm.c
35375 kfree(dlci); 35737 kfree(dlci);
35376 return NULL; 35738 return NULL;
35377 } 35739 }
35378diff -urNp linux-3.0.7/drivers/tty/n_tty.c linux-3.0.7/drivers/tty/n_tty.c 35740diff -urNp linux-3.0.8/drivers/tty/n_tty.c linux-3.0.8/drivers/tty/n_tty.c
35379--- linux-3.0.7/drivers/tty/n_tty.c 2011-07-21 22:17:23.000000000 -0400 35741--- linux-3.0.8/drivers/tty/n_tty.c 2011-07-21 22:17:23.000000000 -0400
35380+++ linux-3.0.7/drivers/tty/n_tty.c 2011-08-23 21:47:56.000000000 -0400 35742+++ linux-3.0.8/drivers/tty/n_tty.c 2011-08-23 21:47:56.000000000 -0400
35381@@ -2123,6 +2123,7 @@ void n_tty_inherit_ops(struct tty_ldisc_ 35743@@ -2123,6 +2123,7 @@ void n_tty_inherit_ops(struct tty_ldisc_
35382 { 35744 {
35383 *ops = tty_ldisc_N_TTY; 35745 *ops = tty_ldisc_N_TTY;
@@ -35387,9 +35749,9 @@ diff -urNp linux-3.0.7/drivers/tty/n_tty.c linux-3.0.7/drivers/tty/n_tty.c
35387+ ops->flags = 0; 35749+ ops->flags = 0;
35388 } 35750 }
35389 EXPORT_SYMBOL_GPL(n_tty_inherit_ops); 35751 EXPORT_SYMBOL_GPL(n_tty_inherit_ops);
35390diff -urNp linux-3.0.7/drivers/tty/pty.c linux-3.0.7/drivers/tty/pty.c 35752diff -urNp linux-3.0.8/drivers/tty/pty.c linux-3.0.8/drivers/tty/pty.c
35391--- linux-3.0.7/drivers/tty/pty.c 2011-10-16 21:54:54.000000000 -0400 35753--- linux-3.0.8/drivers/tty/pty.c 2011-10-24 08:05:30.000000000 -0400
35392+++ linux-3.0.7/drivers/tty/pty.c 2011-10-16 21:55:28.000000000 -0400 35754+++ linux-3.0.8/drivers/tty/pty.c 2011-10-16 21:55:28.000000000 -0400
35393@@ -767,8 +767,10 @@ static void __init unix98_pty_init(void) 35755@@ -767,8 +767,10 @@ static void __init unix98_pty_init(void)
35394 register_sysctl_table(pty_root_table); 35756 register_sysctl_table(pty_root_table);
35395 35757
@@ -35402,9 +35764,9 @@ diff -urNp linux-3.0.7/drivers/tty/pty.c linux-3.0.7/drivers/tty/pty.c
35402 35764
35403 cdev_init(&ptmx_cdev, &ptmx_fops); 35765 cdev_init(&ptmx_cdev, &ptmx_fops);
35404 if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) || 35766 if (cdev_add(&ptmx_cdev, MKDEV(TTYAUX_MAJOR, 2), 1) ||
35405diff -urNp linux-3.0.7/drivers/tty/rocket.c linux-3.0.7/drivers/tty/rocket.c 35767diff -urNp linux-3.0.8/drivers/tty/rocket.c linux-3.0.8/drivers/tty/rocket.c
35406--- linux-3.0.7/drivers/tty/rocket.c 2011-07-21 22:17:23.000000000 -0400 35768--- linux-3.0.8/drivers/tty/rocket.c 2011-07-21 22:17:23.000000000 -0400
35407+++ linux-3.0.7/drivers/tty/rocket.c 2011-08-23 21:48:14.000000000 -0400 35769+++ linux-3.0.8/drivers/tty/rocket.c 2011-08-23 21:48:14.000000000 -0400
35408@@ -1277,6 +1277,8 @@ static int get_ports(struct r_port *info 35770@@ -1277,6 +1277,8 @@ static int get_ports(struct r_port *info
35409 struct rocket_ports tmp; 35771 struct rocket_ports tmp;
35410 int board; 35772 int board;
@@ -35414,9 +35776,9 @@ diff -urNp linux-3.0.7/drivers/tty/rocket.c linux-3.0.7/drivers/tty/rocket.c
35414 if (!retports) 35776 if (!retports)
35415 return -EFAULT; 35777 return -EFAULT;
35416 memset(&tmp, 0, sizeof (tmp)); 35778 memset(&tmp, 0, sizeof (tmp));
35417diff -urNp linux-3.0.7/drivers/tty/serial/kgdboc.c linux-3.0.7/drivers/tty/serial/kgdboc.c 35779diff -urNp linux-3.0.8/drivers/tty/serial/kgdboc.c linux-3.0.8/drivers/tty/serial/kgdboc.c
35418--- linux-3.0.7/drivers/tty/serial/kgdboc.c 2011-07-21 22:17:23.000000000 -0400 35780--- linux-3.0.8/drivers/tty/serial/kgdboc.c 2011-07-21 22:17:23.000000000 -0400
35419+++ linux-3.0.7/drivers/tty/serial/kgdboc.c 2011-08-23 21:47:56.000000000 -0400 35781+++ linux-3.0.8/drivers/tty/serial/kgdboc.c 2011-08-23 21:47:56.000000000 -0400
35420@@ -23,8 +23,9 @@ 35782@@ -23,8 +23,9 @@
35421 #define MAX_CONFIG_LEN 40 35783 #define MAX_CONFIG_LEN 40
35422 35784
@@ -35515,9 +35877,9 @@ diff -urNp linux-3.0.7/drivers/tty/serial/kgdboc.c linux-3.0.7/drivers/tty/seria
35515 #ifdef CONFIG_KGDB_SERIAL_CONSOLE 35877 #ifdef CONFIG_KGDB_SERIAL_CONSOLE
35516 /* This is only available if kgdboc is a built in for early debugging */ 35878 /* This is only available if kgdboc is a built in for early debugging */
35517 static int __init kgdboc_early_init(char *opt) 35879 static int __init kgdboc_early_init(char *opt)
35518diff -urNp linux-3.0.7/drivers/tty/serial/mfd.c linux-3.0.7/drivers/tty/serial/mfd.c 35880diff -urNp linux-3.0.8/drivers/tty/serial/mfd.c linux-3.0.8/drivers/tty/serial/mfd.c
35519--- linux-3.0.7/drivers/tty/serial/mfd.c 2011-07-21 22:17:23.000000000 -0400 35881--- linux-3.0.8/drivers/tty/serial/mfd.c 2011-07-21 22:17:23.000000000 -0400
35520+++ linux-3.0.7/drivers/tty/serial/mfd.c 2011-10-11 10:44:33.000000000 -0400 35882+++ linux-3.0.8/drivers/tty/serial/mfd.c 2011-10-11 10:44:33.000000000 -0400
35521@@ -1423,7 +1423,7 @@ static void serial_hsu_remove(struct pci 35883@@ -1423,7 +1423,7 @@ static void serial_hsu_remove(struct pci
35522 } 35884 }
35523 35885
@@ -35527,9 +35889,9 @@ diff -urNp linux-3.0.7/drivers/tty/serial/mfd.c linux-3.0.7/drivers/tty/serial/m
35527 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081B) }, 35889 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081B) },
35528 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081C) }, 35890 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081C) },
35529 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081D) }, 35891 { PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x081D) },
35530diff -urNp linux-3.0.7/drivers/tty/serial/mrst_max3110.c linux-3.0.7/drivers/tty/serial/mrst_max3110.c 35892diff -urNp linux-3.0.8/drivers/tty/serial/mrst_max3110.c linux-3.0.8/drivers/tty/serial/mrst_max3110.c
35531--- linux-3.0.7/drivers/tty/serial/mrst_max3110.c 2011-10-16 21:54:54.000000000 -0400 35893--- linux-3.0.8/drivers/tty/serial/mrst_max3110.c 2011-10-24 08:05:30.000000000 -0400
35532+++ linux-3.0.7/drivers/tty/serial/mrst_max3110.c 2011-10-16 21:55:28.000000000 -0400 35894+++ linux-3.0.8/drivers/tty/serial/mrst_max3110.c 2011-10-16 21:55:28.000000000 -0400
35533@@ -393,6 +393,8 @@ static void max3110_con_receive(struct u 35895@@ -393,6 +393,8 @@ static void max3110_con_receive(struct u
35534 int loop = 1, num, total = 0; 35896 int loop = 1, num, total = 0;
35535 u8 recv_buf[512], *pbuf; 35897 u8 recv_buf[512], *pbuf;
@@ -35539,9 +35901,9 @@ diff -urNp linux-3.0.7/drivers/tty/serial/mrst_max3110.c linux-3.0.7/drivers/tty
35539 pbuf = recv_buf; 35901 pbuf = recv_buf;
35540 do { 35902 do {
35541 num = max3110_read_multi(max, pbuf); 35903 num = max3110_read_multi(max, pbuf);
35542diff -urNp linux-3.0.7/drivers/tty/tty_io.c linux-3.0.7/drivers/tty/tty_io.c 35904diff -urNp linux-3.0.8/drivers/tty/tty_io.c linux-3.0.8/drivers/tty/tty_io.c
35543--- linux-3.0.7/drivers/tty/tty_io.c 2011-10-16 21:54:54.000000000 -0400 35905--- linux-3.0.8/drivers/tty/tty_io.c 2011-10-24 08:05:30.000000000 -0400
35544+++ linux-3.0.7/drivers/tty/tty_io.c 2011-10-16 21:55:28.000000000 -0400 35906+++ linux-3.0.8/drivers/tty/tty_io.c 2011-10-16 21:55:28.000000000 -0400
35545@@ -3214,7 +3214,7 @@ EXPORT_SYMBOL_GPL(get_current_tty); 35907@@ -3214,7 +3214,7 @@ EXPORT_SYMBOL_GPL(get_current_tty);
35546 35908
35547 void tty_default_fops(struct file_operations *fops) 35909 void tty_default_fops(struct file_operations *fops)
@@ -35551,9 +35913,9 @@ diff -urNp linux-3.0.7/drivers/tty/tty_io.c linux-3.0.7/drivers/tty/tty_io.c
35551 } 35913 }
35552 35914
35553 /* 35915 /*
35554diff -urNp linux-3.0.7/drivers/tty/tty_ldisc.c linux-3.0.7/drivers/tty/tty_ldisc.c 35916diff -urNp linux-3.0.8/drivers/tty/tty_ldisc.c linux-3.0.8/drivers/tty/tty_ldisc.c
35555--- linux-3.0.7/drivers/tty/tty_ldisc.c 2011-07-21 22:17:23.000000000 -0400 35917--- linux-3.0.8/drivers/tty/tty_ldisc.c 2011-07-21 22:17:23.000000000 -0400
35556+++ linux-3.0.7/drivers/tty/tty_ldisc.c 2011-08-23 21:47:56.000000000 -0400 35918+++ linux-3.0.8/drivers/tty/tty_ldisc.c 2011-08-23 21:47:56.000000000 -0400
35557@@ -74,7 +74,7 @@ static void put_ldisc(struct tty_ldisc * 35919@@ -74,7 +74,7 @@ static void put_ldisc(struct tty_ldisc *
35558 if (atomic_dec_and_lock(&ld->users, &tty_ldisc_lock)) { 35920 if (atomic_dec_and_lock(&ld->users, &tty_ldisc_lock)) {
35559 struct tty_ldisc_ops *ldo = ld->ops; 35921 struct tty_ldisc_ops *ldo = ld->ops;
@@ -35599,9 +35961,9 @@ diff -urNp linux-3.0.7/drivers/tty/tty_ldisc.c linux-3.0.7/drivers/tty/tty_ldisc
35599 module_put(ldops->owner); 35961 module_put(ldops->owner);
35600 spin_unlock_irqrestore(&tty_ldisc_lock, flags); 35962 spin_unlock_irqrestore(&tty_ldisc_lock, flags);
35601 } 35963 }
35602diff -urNp linux-3.0.7/drivers/tty/vt/keyboard.c linux-3.0.7/drivers/tty/vt/keyboard.c 35964diff -urNp linux-3.0.8/drivers/tty/vt/keyboard.c linux-3.0.8/drivers/tty/vt/keyboard.c
35603--- linux-3.0.7/drivers/tty/vt/keyboard.c 2011-07-21 22:17:23.000000000 -0400 35965--- linux-3.0.8/drivers/tty/vt/keyboard.c 2011-07-21 22:17:23.000000000 -0400
35604+++ linux-3.0.7/drivers/tty/vt/keyboard.c 2011-08-23 21:48:14.000000000 -0400 35966+++ linux-3.0.8/drivers/tty/vt/keyboard.c 2011-08-23 21:48:14.000000000 -0400
35605@@ -656,6 +656,16 @@ static void k_spec(struct vc_data *vc, u 35967@@ -656,6 +656,16 @@ static void k_spec(struct vc_data *vc, u
35606 kbd->kbdmode == VC_OFF) && 35968 kbd->kbdmode == VC_OFF) &&
35607 value != KVAL(K_SAK)) 35969 value != KVAL(K_SAK))
@@ -35619,9 +35981,9 @@ diff -urNp linux-3.0.7/drivers/tty/vt/keyboard.c linux-3.0.7/drivers/tty/vt/keyb
35619 fn_handler[value](vc); 35981 fn_handler[value](vc);
35620 } 35982 }
35621 35983
35622diff -urNp linux-3.0.7/drivers/tty/vt/vt.c linux-3.0.7/drivers/tty/vt/vt.c 35984diff -urNp linux-3.0.8/drivers/tty/vt/vt.c linux-3.0.8/drivers/tty/vt/vt.c
35623--- linux-3.0.7/drivers/tty/vt/vt.c 2011-07-21 22:17:23.000000000 -0400 35985--- linux-3.0.8/drivers/tty/vt/vt.c 2011-07-21 22:17:23.000000000 -0400
35624+++ linux-3.0.7/drivers/tty/vt/vt.c 2011-08-23 21:47:56.000000000 -0400 35986+++ linux-3.0.8/drivers/tty/vt/vt.c 2011-08-23 21:47:56.000000000 -0400
35625@@ -259,7 +259,7 @@ EXPORT_SYMBOL_GPL(unregister_vt_notifier 35987@@ -259,7 +259,7 @@ EXPORT_SYMBOL_GPL(unregister_vt_notifier
35626 35988
35627 static void notify_write(struct vc_data *vc, unsigned int unicode) 35989 static void notify_write(struct vc_data *vc, unsigned int unicode)
@@ -35631,9 +35993,9 @@ diff -urNp linux-3.0.7/drivers/tty/vt/vt.c linux-3.0.7/drivers/tty/vt/vt.c
35631 atomic_notifier_call_chain(&vt_notifier_list, VT_WRITE, &param); 35993 atomic_notifier_call_chain(&vt_notifier_list, VT_WRITE, &param);
35632 } 35994 }
35633 35995
35634diff -urNp linux-3.0.7/drivers/tty/vt/vt_ioctl.c linux-3.0.7/drivers/tty/vt/vt_ioctl.c 35996diff -urNp linux-3.0.8/drivers/tty/vt/vt_ioctl.c linux-3.0.8/drivers/tty/vt/vt_ioctl.c
35635--- linux-3.0.7/drivers/tty/vt/vt_ioctl.c 2011-07-21 22:17:23.000000000 -0400 35997--- linux-3.0.8/drivers/tty/vt/vt_ioctl.c 2011-07-21 22:17:23.000000000 -0400
35636+++ linux-3.0.7/drivers/tty/vt/vt_ioctl.c 2011-08-23 21:48:14.000000000 -0400 35998+++ linux-3.0.8/drivers/tty/vt/vt_ioctl.c 2011-08-23 21:48:14.000000000 -0400
35637@@ -207,9 +207,6 @@ do_kdsk_ioctl(int cmd, struct kbentry __ 35999@@ -207,9 +207,6 @@ do_kdsk_ioctl(int cmd, struct kbentry __
35638 if (copy_from_user(&tmp, user_kbe, sizeof(struct kbentry))) 36000 if (copy_from_user(&tmp, user_kbe, sizeof(struct kbentry)))
35639 return -EFAULT; 36001 return -EFAULT;
@@ -35674,9 +36036,9 @@ diff -urNp linux-3.0.7/drivers/tty/vt/vt_ioctl.c linux-3.0.7/drivers/tty/vt/vt_i
35674 if (!perm) { 36036 if (!perm) {
35675 ret = -EPERM; 36037 ret = -EPERM;
35676 goto reterr; 36038 goto reterr;
35677diff -urNp linux-3.0.7/drivers/uio/uio.c linux-3.0.7/drivers/uio/uio.c 36039diff -urNp linux-3.0.8/drivers/uio/uio.c linux-3.0.8/drivers/uio/uio.c
35678--- linux-3.0.7/drivers/uio/uio.c 2011-07-21 22:17:23.000000000 -0400 36040--- linux-3.0.8/drivers/uio/uio.c 2011-07-21 22:17:23.000000000 -0400
35679+++ linux-3.0.7/drivers/uio/uio.c 2011-08-23 21:47:56.000000000 -0400 36041+++ linux-3.0.8/drivers/uio/uio.c 2011-08-23 21:47:56.000000000 -0400
35680@@ -25,6 +25,7 @@ 36042@@ -25,6 +25,7 @@
35681 #include <linux/kobject.h> 36043 #include <linux/kobject.h>
35682 #include <linux/cdev.h> 36044 #include <linux/cdev.h>
@@ -35768,9 +36130,9 @@ diff -urNp linux-3.0.7/drivers/uio/uio.c linux-3.0.7/drivers/uio/uio.c
35768 36130
35769 ret = uio_get_minor(idev); 36131 ret = uio_get_minor(idev);
35770 if (ret) 36132 if (ret)
35771diff -urNp linux-3.0.7/drivers/usb/atm/cxacru.c linux-3.0.7/drivers/usb/atm/cxacru.c 36133diff -urNp linux-3.0.8/drivers/usb/atm/cxacru.c linux-3.0.8/drivers/usb/atm/cxacru.c
35772--- linux-3.0.7/drivers/usb/atm/cxacru.c 2011-07-21 22:17:23.000000000 -0400 36134--- linux-3.0.8/drivers/usb/atm/cxacru.c 2011-07-21 22:17:23.000000000 -0400
35773+++ linux-3.0.7/drivers/usb/atm/cxacru.c 2011-08-23 21:47:56.000000000 -0400 36135+++ linux-3.0.8/drivers/usb/atm/cxacru.c 2011-08-23 21:47:56.000000000 -0400
35774@@ -473,7 +473,7 @@ static ssize_t cxacru_sysfs_store_adsl_c 36136@@ -473,7 +473,7 @@ static ssize_t cxacru_sysfs_store_adsl_c
35775 ret = sscanf(buf + pos, "%x=%x%n", &index, &value, &tmp); 36137 ret = sscanf(buf + pos, "%x=%x%n", &index, &value, &tmp);
35776 if (ret < 2) 36138 if (ret < 2)
@@ -35780,9 +36142,9 @@ diff -urNp linux-3.0.7/drivers/usb/atm/cxacru.c linux-3.0.7/drivers/usb/atm/cxac
35780 return -EINVAL; 36142 return -EINVAL;
35781 pos += tmp; 36143 pos += tmp;
35782 36144
35783diff -urNp linux-3.0.7/drivers/usb/atm/usbatm.c linux-3.0.7/drivers/usb/atm/usbatm.c 36145diff -urNp linux-3.0.8/drivers/usb/atm/usbatm.c linux-3.0.8/drivers/usb/atm/usbatm.c
35784--- linux-3.0.7/drivers/usb/atm/usbatm.c 2011-07-21 22:17:23.000000000 -0400 36146--- linux-3.0.8/drivers/usb/atm/usbatm.c 2011-07-21 22:17:23.000000000 -0400
35785+++ linux-3.0.7/drivers/usb/atm/usbatm.c 2011-08-23 21:47:56.000000000 -0400 36147+++ linux-3.0.8/drivers/usb/atm/usbatm.c 2011-08-23 21:47:56.000000000 -0400
35786@@ -332,7 +332,7 @@ static void usbatm_extract_one_cell(stru 36148@@ -332,7 +332,7 @@ static void usbatm_extract_one_cell(stru
35787 if (printk_ratelimit()) 36149 if (printk_ratelimit())
35788 atm_warn(instance, "%s: OAM not supported (vpi %d, vci %d)!\n", 36150 atm_warn(instance, "%s: OAM not supported (vpi %d, vci %d)!\n",
@@ -35862,9 +36224,9 @@ diff -urNp linux-3.0.7/drivers/usb/atm/usbatm.c linux-3.0.7/drivers/usb/atm/usba
35862 36224
35863 if (!left--) { 36225 if (!left--) {
35864 if (instance->disconnected) 36226 if (instance->disconnected)
35865diff -urNp linux-3.0.7/drivers/usb/core/devices.c linux-3.0.7/drivers/usb/core/devices.c 36227diff -urNp linux-3.0.8/drivers/usb/core/devices.c linux-3.0.8/drivers/usb/core/devices.c
35866--- linux-3.0.7/drivers/usb/core/devices.c 2011-07-21 22:17:23.000000000 -0400 36228--- linux-3.0.8/drivers/usb/core/devices.c 2011-07-21 22:17:23.000000000 -0400
35867+++ linux-3.0.7/drivers/usb/core/devices.c 2011-08-23 21:47:56.000000000 -0400 36229+++ linux-3.0.8/drivers/usb/core/devices.c 2011-08-23 21:47:56.000000000 -0400
35868@@ -126,7 +126,7 @@ static const char format_endpt[] = 36230@@ -126,7 +126,7 @@ static const char format_endpt[] =
35869 * time it gets called. 36231 * time it gets called.
35870 */ 36232 */
@@ -35892,9 +36254,9 @@ diff -urNp linux-3.0.7/drivers/usb/core/devices.c linux-3.0.7/drivers/usb/core/d
35892 if (file->f_version != event_count) { 36254 if (file->f_version != event_count) {
35893 file->f_version = event_count; 36255 file->f_version = event_count;
35894 return POLLIN | POLLRDNORM; 36256 return POLLIN | POLLRDNORM;
35895diff -urNp linux-3.0.7/drivers/usb/core/message.c linux-3.0.7/drivers/usb/core/message.c 36257diff -urNp linux-3.0.8/drivers/usb/core/message.c linux-3.0.8/drivers/usb/core/message.c
35896--- linux-3.0.7/drivers/usb/core/message.c 2011-07-21 22:17:23.000000000 -0400 36258--- linux-3.0.8/drivers/usb/core/message.c 2011-07-21 22:17:23.000000000 -0400
35897+++ linux-3.0.7/drivers/usb/core/message.c 2011-08-23 21:47:56.000000000 -0400 36259+++ linux-3.0.8/drivers/usb/core/message.c 2011-08-23 21:47:56.000000000 -0400
35898@@ -869,8 +869,8 @@ char *usb_cache_string(struct usb_device 36260@@ -869,8 +869,8 @@ char *usb_cache_string(struct usb_device
35899 buf = kmalloc(MAX_USB_STRING_SIZE, GFP_NOIO); 36261 buf = kmalloc(MAX_USB_STRING_SIZE, GFP_NOIO);
35900 if (buf) { 36262 if (buf) {
@@ -35906,9 +36268,9 @@ diff -urNp linux-3.0.7/drivers/usb/core/message.c linux-3.0.7/drivers/usb/core/m
35906 if (!smallbuf) 36268 if (!smallbuf)
35907 return buf; 36269 return buf;
35908 memcpy(smallbuf, buf, len); 36270 memcpy(smallbuf, buf, len);
35909diff -urNp linux-3.0.7/drivers/usb/early/ehci-dbgp.c linux-3.0.7/drivers/usb/early/ehci-dbgp.c 36271diff -urNp linux-3.0.8/drivers/usb/early/ehci-dbgp.c linux-3.0.8/drivers/usb/early/ehci-dbgp.c
35910--- linux-3.0.7/drivers/usb/early/ehci-dbgp.c 2011-07-21 22:17:23.000000000 -0400 36272--- linux-3.0.8/drivers/usb/early/ehci-dbgp.c 2011-07-21 22:17:23.000000000 -0400
35911+++ linux-3.0.7/drivers/usb/early/ehci-dbgp.c 2011-08-23 21:47:56.000000000 -0400 36273+++ linux-3.0.8/drivers/usb/early/ehci-dbgp.c 2011-08-23 21:47:56.000000000 -0400
35912@@ -97,7 +97,8 @@ static inline u32 dbgp_len_update(u32 x, 36274@@ -97,7 +97,8 @@ static inline u32 dbgp_len_update(u32 x,
35913 36275
35914 #ifdef CONFIG_KGDB 36276 #ifdef CONFIG_KGDB
@@ -35946,9 +36308,9 @@ diff -urNp linux-3.0.7/drivers/usb/early/ehci-dbgp.c linux-3.0.7/drivers/usb/ear
35946 36308
35947 return 0; 36309 return 0;
35948 } 36310 }
35949diff -urNp linux-3.0.7/drivers/usb/host/xhci-mem.c linux-3.0.7/drivers/usb/host/xhci-mem.c 36311diff -urNp linux-3.0.8/drivers/usb/host/xhci-mem.c linux-3.0.8/drivers/usb/host/xhci-mem.c
35950--- linux-3.0.7/drivers/usb/host/xhci-mem.c 2011-07-21 22:17:23.000000000 -0400 36312--- linux-3.0.8/drivers/usb/host/xhci-mem.c 2011-07-21 22:17:23.000000000 -0400
35951+++ linux-3.0.7/drivers/usb/host/xhci-mem.c 2011-08-23 21:48:14.000000000 -0400 36313+++ linux-3.0.8/drivers/usb/host/xhci-mem.c 2011-08-23 21:48:14.000000000 -0400
35952@@ -1685,6 +1685,8 @@ static int xhci_check_trb_in_td_math(str 36314@@ -1685,6 +1685,8 @@ static int xhci_check_trb_in_td_math(str
35953 unsigned int num_tests; 36315 unsigned int num_tests;
35954 int i, ret; 36316 int i, ret;
@@ -35958,9 +36320,9 @@ diff -urNp linux-3.0.7/drivers/usb/host/xhci-mem.c linux-3.0.7/drivers/usb/host/
35958 num_tests = ARRAY_SIZE(simple_test_vector); 36320 num_tests = ARRAY_SIZE(simple_test_vector);
35959 for (i = 0; i < num_tests; i++) { 36321 for (i = 0; i < num_tests; i++) {
35960 ret = xhci_test_trb_in_td(xhci, 36322 ret = xhci_test_trb_in_td(xhci,
35961diff -urNp linux-3.0.7/drivers/usb/wusbcore/wa-hc.h linux-3.0.7/drivers/usb/wusbcore/wa-hc.h 36323diff -urNp linux-3.0.8/drivers/usb/wusbcore/wa-hc.h linux-3.0.8/drivers/usb/wusbcore/wa-hc.h
35962--- linux-3.0.7/drivers/usb/wusbcore/wa-hc.h 2011-07-21 22:17:23.000000000 -0400 36324--- linux-3.0.8/drivers/usb/wusbcore/wa-hc.h 2011-07-21 22:17:23.000000000 -0400
35963+++ linux-3.0.7/drivers/usb/wusbcore/wa-hc.h 2011-08-23 21:47:56.000000000 -0400 36325+++ linux-3.0.8/drivers/usb/wusbcore/wa-hc.h 2011-08-23 21:47:56.000000000 -0400
35964@@ -192,7 +192,7 @@ struct wahc { 36326@@ -192,7 +192,7 @@ struct wahc {
35965 struct list_head xfer_delayed_list; 36327 struct list_head xfer_delayed_list;
35966 spinlock_t xfer_list_lock; 36328 spinlock_t xfer_list_lock;
@@ -35979,9 +36341,9 @@ diff -urNp linux-3.0.7/drivers/usb/wusbcore/wa-hc.h linux-3.0.7/drivers/usb/wusb
35979 } 36341 }
35980 36342
35981 /** 36343 /**
35982diff -urNp linux-3.0.7/drivers/usb/wusbcore/wa-xfer.c linux-3.0.7/drivers/usb/wusbcore/wa-xfer.c 36344diff -urNp linux-3.0.8/drivers/usb/wusbcore/wa-xfer.c linux-3.0.8/drivers/usb/wusbcore/wa-xfer.c
35983--- linux-3.0.7/drivers/usb/wusbcore/wa-xfer.c 2011-07-21 22:17:23.000000000 -0400 36345--- linux-3.0.8/drivers/usb/wusbcore/wa-xfer.c 2011-07-21 22:17:23.000000000 -0400
35984+++ linux-3.0.7/drivers/usb/wusbcore/wa-xfer.c 2011-08-23 21:47:56.000000000 -0400 36346+++ linux-3.0.8/drivers/usb/wusbcore/wa-xfer.c 2011-08-23 21:47:56.000000000 -0400
35985@@ -294,7 +294,7 @@ out: 36347@@ -294,7 +294,7 @@ out:
35986 */ 36348 */
35987 static void wa_xfer_id_init(struct wa_xfer *xfer) 36349 static void wa_xfer_id_init(struct wa_xfer *xfer)
@@ -35991,9 +36353,9 @@ diff -urNp linux-3.0.7/drivers/usb/wusbcore/wa-xfer.c linux-3.0.7/drivers/usb/wu
35991 } 36353 }
35992 36354
35993 /* 36355 /*
35994diff -urNp linux-3.0.7/drivers/vhost/vhost.c linux-3.0.7/drivers/vhost/vhost.c 36356diff -urNp linux-3.0.8/drivers/vhost/vhost.c linux-3.0.8/drivers/vhost/vhost.c
35995--- linux-3.0.7/drivers/vhost/vhost.c 2011-07-21 22:17:23.000000000 -0400 36357--- linux-3.0.8/drivers/vhost/vhost.c 2011-07-21 22:17:23.000000000 -0400
35996+++ linux-3.0.7/drivers/vhost/vhost.c 2011-08-23 21:47:56.000000000 -0400 36358+++ linux-3.0.8/drivers/vhost/vhost.c 2011-08-23 21:47:56.000000000 -0400
35997@@ -589,7 +589,7 @@ static int init_used(struct vhost_virtqu 36359@@ -589,7 +589,7 @@ static int init_used(struct vhost_virtqu
35998 return get_user(vq->last_used_idx, &used->idx); 36360 return get_user(vq->last_used_idx, &used->idx);
35999 } 36361 }
@@ -36003,9 +36365,9 @@ diff -urNp linux-3.0.7/drivers/vhost/vhost.c linux-3.0.7/drivers/vhost/vhost.c
36003 { 36365 {
36004 struct file *eventfp, *filep = NULL, 36366 struct file *eventfp, *filep = NULL,
36005 *pollstart = NULL, *pollstop = NULL; 36367 *pollstart = NULL, *pollstop = NULL;
36006diff -urNp linux-3.0.7/drivers/video/aty/aty128fb.c linux-3.0.7/drivers/video/aty/aty128fb.c 36368diff -urNp linux-3.0.8/drivers/video/aty/aty128fb.c linux-3.0.8/drivers/video/aty/aty128fb.c
36007--- linux-3.0.7/drivers/video/aty/aty128fb.c 2011-07-21 22:17:23.000000000 -0400 36369--- linux-3.0.8/drivers/video/aty/aty128fb.c 2011-07-21 22:17:23.000000000 -0400
36008+++ linux-3.0.7/drivers/video/aty/aty128fb.c 2011-10-11 10:44:33.000000000 -0400 36370+++ linux-3.0.8/drivers/video/aty/aty128fb.c 2011-10-11 10:44:33.000000000 -0400
36009@@ -148,7 +148,7 @@ enum { 36371@@ -148,7 +148,7 @@ enum {
36010 }; 36372 };
36011 36373
@@ -36015,9 +36377,9 @@ diff -urNp linux-3.0.7/drivers/video/aty/aty128fb.c linux-3.0.7/drivers/video/at
36015 "AGP", 36377 "AGP",
36016 "PCI", 36378 "PCI",
36017 "PRO AGP", 36379 "PRO AGP",
36018diff -urNp linux-3.0.7/drivers/video/fbcmap.c linux-3.0.7/drivers/video/fbcmap.c 36380diff -urNp linux-3.0.8/drivers/video/fbcmap.c linux-3.0.8/drivers/video/fbcmap.c
36019--- linux-3.0.7/drivers/video/fbcmap.c 2011-07-21 22:17:23.000000000 -0400 36381--- linux-3.0.8/drivers/video/fbcmap.c 2011-07-21 22:17:23.000000000 -0400
36020+++ linux-3.0.7/drivers/video/fbcmap.c 2011-08-23 21:47:56.000000000 -0400 36382+++ linux-3.0.8/drivers/video/fbcmap.c 2011-08-23 21:47:56.000000000 -0400
36021@@ -285,8 +285,7 @@ int fb_set_user_cmap(struct fb_cmap_user 36383@@ -285,8 +285,7 @@ int fb_set_user_cmap(struct fb_cmap_user
36022 rc = -ENODEV; 36384 rc = -ENODEV;
36023 goto out; 36385 goto out;
@@ -36028,9 +36390,9 @@ diff -urNp linux-3.0.7/drivers/video/fbcmap.c linux-3.0.7/drivers/video/fbcmap.c
36028 rc = -EINVAL; 36390 rc = -EINVAL;
36029 goto out1; 36391 goto out1;
36030 } 36392 }
36031diff -urNp linux-3.0.7/drivers/video/fbmem.c linux-3.0.7/drivers/video/fbmem.c 36393diff -urNp linux-3.0.8/drivers/video/fbmem.c linux-3.0.8/drivers/video/fbmem.c
36032--- linux-3.0.7/drivers/video/fbmem.c 2011-07-21 22:17:23.000000000 -0400 36394--- linux-3.0.8/drivers/video/fbmem.c 2011-07-21 22:17:23.000000000 -0400
36033+++ linux-3.0.7/drivers/video/fbmem.c 2011-08-23 21:48:14.000000000 -0400 36395+++ linux-3.0.8/drivers/video/fbmem.c 2011-08-23 21:48:14.000000000 -0400
36034@@ -428,7 +428,7 @@ static void fb_do_show_logo(struct fb_in 36396@@ -428,7 +428,7 @@ static void fb_do_show_logo(struct fb_in
36035 image->dx += image->width + 8; 36397 image->dx += image->width + 8;
36036 } 36398 }
@@ -36076,9 +36438,9 @@ diff -urNp linux-3.0.7/drivers/video/fbmem.c linux-3.0.7/drivers/video/fbmem.c
36076 return -EINVAL; 36438 return -EINVAL;
36077 if (!registered_fb[con2fb.framebuffer]) 36439 if (!registered_fb[con2fb.framebuffer])
36078 request_module("fb%d", con2fb.framebuffer); 36440 request_module("fb%d", con2fb.framebuffer);
36079diff -urNp linux-3.0.7/drivers/video/geode/gx1fb_core.c linux-3.0.7/drivers/video/geode/gx1fb_core.c 36441diff -urNp linux-3.0.8/drivers/video/geode/gx1fb_core.c linux-3.0.8/drivers/video/geode/gx1fb_core.c
36080--- linux-3.0.7/drivers/video/geode/gx1fb_core.c 2011-07-21 22:17:23.000000000 -0400 36442--- linux-3.0.8/drivers/video/geode/gx1fb_core.c 2011-07-21 22:17:23.000000000 -0400
36081+++ linux-3.0.7/drivers/video/geode/gx1fb_core.c 2011-10-11 10:44:33.000000000 -0400 36443+++ linux-3.0.8/drivers/video/geode/gx1fb_core.c 2011-10-11 10:44:33.000000000 -0400
36082@@ -29,7 +29,7 @@ static int crt_option = 1; 36444@@ -29,7 +29,7 @@ static int crt_option = 1;
36083 static char panel_option[32] = ""; 36445 static char panel_option[32] = "";
36084 36446
@@ -36088,9 +36450,9 @@ diff -urNp linux-3.0.7/drivers/video/geode/gx1fb_core.c linux-3.0.7/drivers/vide
36088 /* 640x480-60 VESA */ 36450 /* 640x480-60 VESA */
36089 { NULL, 60, 640, 480, 39682, 48, 16, 33, 10, 96, 2, 36451 { NULL, 60, 640, 480, 39682, 48, 16, 33, 10, 96, 2,
36090 0, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA }, 36452 0, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA },
36091diff -urNp linux-3.0.7/drivers/video/gxt4500.c linux-3.0.7/drivers/video/gxt4500.c 36453diff -urNp linux-3.0.8/drivers/video/gxt4500.c linux-3.0.8/drivers/video/gxt4500.c
36092--- linux-3.0.7/drivers/video/gxt4500.c 2011-07-21 22:17:23.000000000 -0400 36454--- linux-3.0.8/drivers/video/gxt4500.c 2011-07-21 22:17:23.000000000 -0400
36093+++ linux-3.0.7/drivers/video/gxt4500.c 2011-10-11 10:44:33.000000000 -0400 36455+++ linux-3.0.8/drivers/video/gxt4500.c 2011-10-11 10:44:33.000000000 -0400
36094@@ -156,7 +156,7 @@ struct gxt4500_par { 36456@@ -156,7 +156,7 @@ struct gxt4500_par {
36095 static char *mode_option; 36457 static char *mode_option;
36096 36458
@@ -36109,9 +36471,9 @@ diff -urNp linux-3.0.7/drivers/video/gxt4500.c linux-3.0.7/drivers/video/gxt4500
36109 .id = "IBM GXT4500P", 36471 .id = "IBM GXT4500P",
36110 .type = FB_TYPE_PACKED_PIXELS, 36472 .type = FB_TYPE_PACKED_PIXELS,
36111 .visual = FB_VISUAL_PSEUDOCOLOR, 36473 .visual = FB_VISUAL_PSEUDOCOLOR,
36112diff -urNp linux-3.0.7/drivers/video/i810/i810_accel.c linux-3.0.7/drivers/video/i810/i810_accel.c 36474diff -urNp linux-3.0.8/drivers/video/i810/i810_accel.c linux-3.0.8/drivers/video/i810/i810_accel.c
36113--- linux-3.0.7/drivers/video/i810/i810_accel.c 2011-07-21 22:17:23.000000000 -0400 36475--- linux-3.0.8/drivers/video/i810/i810_accel.c 2011-07-21 22:17:23.000000000 -0400
36114+++ linux-3.0.7/drivers/video/i810/i810_accel.c 2011-08-23 21:47:56.000000000 -0400 36476+++ linux-3.0.8/drivers/video/i810/i810_accel.c 2011-08-23 21:47:56.000000000 -0400
36115@@ -73,6 +73,7 @@ static inline int wait_for_space(struct 36477@@ -73,6 +73,7 @@ static inline int wait_for_space(struct
36116 } 36478 }
36117 } 36479 }
@@ -36120,9 +36482,9 @@ diff -urNp linux-3.0.7/drivers/video/i810/i810_accel.c linux-3.0.7/drivers/video
36120 i810_report_error(mmio); 36482 i810_report_error(mmio);
36121 par->dev_flags |= LOCKUP; 36483 par->dev_flags |= LOCKUP;
36122 info->pixmap.scan_align = 1; 36484 info->pixmap.scan_align = 1;
36123diff -urNp linux-3.0.7/drivers/video/i810/i810_main.c linux-3.0.7/drivers/video/i810/i810_main.c 36485diff -urNp linux-3.0.8/drivers/video/i810/i810_main.c linux-3.0.8/drivers/video/i810/i810_main.c
36124--- linux-3.0.7/drivers/video/i810/i810_main.c 2011-07-21 22:17:23.000000000 -0400 36486--- linux-3.0.8/drivers/video/i810/i810_main.c 2011-07-21 22:17:23.000000000 -0400
36125+++ linux-3.0.7/drivers/video/i810/i810_main.c 2011-10-11 10:44:33.000000000 -0400 36487+++ linux-3.0.8/drivers/video/i810/i810_main.c 2011-10-11 10:44:33.000000000 -0400
36126@@ -97,7 +97,7 @@ static int i810fb_blank (int blank_ 36488@@ -97,7 +97,7 @@ static int i810fb_blank (int blank_
36127 static void i810fb_release_resource (struct fb_info *info, struct i810fb_par *par); 36489 static void i810fb_release_resource (struct fb_info *info, struct i810fb_par *par);
36128 36490
@@ -36132,9 +36494,9 @@ diff -urNp linux-3.0.7/drivers/video/i810/i810_main.c linux-3.0.7/drivers/video/
36132 "Intel(R) 810 Framebuffer Device" , 36494 "Intel(R) 810 Framebuffer Device" ,
36133 "Intel(R) 810-DC100 Framebuffer Device" , 36495 "Intel(R) 810-DC100 Framebuffer Device" ,
36134 "Intel(R) 810E Framebuffer Device" , 36496 "Intel(R) 810E Framebuffer Device" ,
36135diff -urNp linux-3.0.7/drivers/video/jz4740_fb.c linux-3.0.7/drivers/video/jz4740_fb.c 36497diff -urNp linux-3.0.8/drivers/video/jz4740_fb.c linux-3.0.8/drivers/video/jz4740_fb.c
36136--- linux-3.0.7/drivers/video/jz4740_fb.c 2011-07-21 22:17:23.000000000 -0400 36498--- linux-3.0.8/drivers/video/jz4740_fb.c 2011-07-21 22:17:23.000000000 -0400
36137+++ linux-3.0.7/drivers/video/jz4740_fb.c 2011-10-11 10:44:33.000000000 -0400 36499+++ linux-3.0.8/drivers/video/jz4740_fb.c 2011-10-11 10:44:33.000000000 -0400
36138@@ -136,7 +136,7 @@ struct jzfb { 36500@@ -136,7 +136,7 @@ struct jzfb {
36139 uint32_t pseudo_palette[16]; 36501 uint32_t pseudo_palette[16];
36140 }; 36502 };
@@ -36144,9 +36506,9 @@ diff -urNp linux-3.0.7/drivers/video/jz4740_fb.c linux-3.0.7/drivers/video/jz474
36144 .id = "JZ4740 FB", 36506 .id = "JZ4740 FB",
36145 .type = FB_TYPE_PACKED_PIXELS, 36507 .type = FB_TYPE_PACKED_PIXELS,
36146 .visual = FB_VISUAL_TRUECOLOR, 36508 .visual = FB_VISUAL_TRUECOLOR,
36147diff -urNp linux-3.0.7/drivers/video/logo/logo_linux_clut224.ppm linux-3.0.7/drivers/video/logo/logo_linux_clut224.ppm 36509diff -urNp linux-3.0.8/drivers/video/logo/logo_linux_clut224.ppm linux-3.0.8/drivers/video/logo/logo_linux_clut224.ppm
36148--- linux-3.0.7/drivers/video/logo/logo_linux_clut224.ppm 2011-07-21 22:17:23.000000000 -0400 36510--- linux-3.0.8/drivers/video/logo/logo_linux_clut224.ppm 2011-07-21 22:17:23.000000000 -0400
36149+++ linux-3.0.7/drivers/video/logo/logo_linux_clut224.ppm 2011-08-29 23:49:40.000000000 -0400 36511+++ linux-3.0.8/drivers/video/logo/logo_linux_clut224.ppm 2011-08-29 23:49:40.000000000 -0400
36150@@ -1,1604 +1,1123 @@ 36512@@ -1,1604 +1,1123 @@
36151 P3 36513 P3
36152-# Standard 224-color Linux logo 36514-# Standard 224-color Linux logo
@@ -38872,9 +39234,9 @@ diff -urNp linux-3.0.7/drivers/video/logo/logo_linux_clut224.ppm linux-3.0.7/dri
38872+4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 39234+4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
38873+4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 39235+4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
38874+4 4 4 4 4 4 39236+4 4 4 4 4 4
38875diff -urNp linux-3.0.7/drivers/video/udlfb.c linux-3.0.7/drivers/video/udlfb.c 39237diff -urNp linux-3.0.8/drivers/video/udlfb.c linux-3.0.8/drivers/video/udlfb.c
38876--- linux-3.0.7/drivers/video/udlfb.c 2011-07-21 22:17:23.000000000 -0400 39238--- linux-3.0.8/drivers/video/udlfb.c 2011-07-21 22:17:23.000000000 -0400
38877+++ linux-3.0.7/drivers/video/udlfb.c 2011-08-23 21:47:56.000000000 -0400 39239+++ linux-3.0.8/drivers/video/udlfb.c 2011-08-23 21:47:56.000000000 -0400
38878@@ -586,11 +586,11 @@ int dlfb_handle_damage(struct dlfb_data 39240@@ -586,11 +586,11 @@ int dlfb_handle_damage(struct dlfb_data
38879 dlfb_urb_completion(urb); 39241 dlfb_urb_completion(urb);
38880 39242
@@ -38958,9 +39320,9 @@ diff -urNp linux-3.0.7/drivers/video/udlfb.c linux-3.0.7/drivers/video/udlfb.c
38958 39320
38959 return count; 39321 return count;
38960 } 39322 }
38961diff -urNp linux-3.0.7/drivers/video/uvesafb.c linux-3.0.7/drivers/video/uvesafb.c 39323diff -urNp linux-3.0.8/drivers/video/uvesafb.c linux-3.0.8/drivers/video/uvesafb.c
38962--- linux-3.0.7/drivers/video/uvesafb.c 2011-07-21 22:17:23.000000000 -0400 39324--- linux-3.0.8/drivers/video/uvesafb.c 2011-07-21 22:17:23.000000000 -0400
38963+++ linux-3.0.7/drivers/video/uvesafb.c 2011-08-23 21:47:56.000000000 -0400 39325+++ linux-3.0.8/drivers/video/uvesafb.c 2011-08-23 21:47:56.000000000 -0400
38964@@ -19,6 +19,7 @@ 39326@@ -19,6 +19,7 @@
38965 #include <linux/io.h> 39327 #include <linux/io.h>
38966 #include <linux/mutex.h> 39328 #include <linux/mutex.h>
@@ -39036,9 +39398,9 @@ diff -urNp linux-3.0.7/drivers/video/uvesafb.c linux-3.0.7/drivers/video/uvesafb
39036 } 39398 }
39037 39399
39038 framebuffer_release(info); 39400 framebuffer_release(info);
39039diff -urNp linux-3.0.7/drivers/video/vesafb.c linux-3.0.7/drivers/video/vesafb.c 39401diff -urNp linux-3.0.8/drivers/video/vesafb.c linux-3.0.8/drivers/video/vesafb.c
39040--- linux-3.0.7/drivers/video/vesafb.c 2011-07-21 22:17:23.000000000 -0400 39402--- linux-3.0.8/drivers/video/vesafb.c 2011-07-21 22:17:23.000000000 -0400
39041+++ linux-3.0.7/drivers/video/vesafb.c 2011-08-23 21:47:56.000000000 -0400 39403+++ linux-3.0.8/drivers/video/vesafb.c 2011-08-23 21:47:56.000000000 -0400
39042@@ -9,6 +9,7 @@ 39404@@ -9,6 +9,7 @@
39043 */ 39405 */
39044 39406
@@ -39141,9 +39503,9 @@ diff -urNp linux-3.0.7/drivers/video/vesafb.c linux-3.0.7/drivers/video/vesafb.c
39141 if (info->screen_base) 39503 if (info->screen_base)
39142 iounmap(info->screen_base); 39504 iounmap(info->screen_base);
39143 framebuffer_release(info); 39505 framebuffer_release(info);
39144diff -urNp linux-3.0.7/drivers/video/via/via_clock.h linux-3.0.7/drivers/video/via/via_clock.h 39506diff -urNp linux-3.0.8/drivers/video/via/via_clock.h linux-3.0.8/drivers/video/via/via_clock.h
39145--- linux-3.0.7/drivers/video/via/via_clock.h 2011-07-21 22:17:23.000000000 -0400 39507--- linux-3.0.8/drivers/video/via/via_clock.h 2011-07-21 22:17:23.000000000 -0400
39146+++ linux-3.0.7/drivers/video/via/via_clock.h 2011-08-23 21:47:56.000000000 -0400 39508+++ linux-3.0.8/drivers/video/via/via_clock.h 2011-08-23 21:47:56.000000000 -0400
39147@@ -56,7 +56,7 @@ struct via_clock { 39509@@ -56,7 +56,7 @@ struct via_clock {
39148 39510
39149 void (*set_engine_pll_state)(u8 state); 39511 void (*set_engine_pll_state)(u8 state);
@@ -39153,9 +39515,9 @@ diff -urNp linux-3.0.7/drivers/video/via/via_clock.h linux-3.0.7/drivers/video/v
39153 39515
39154 39516
39155 static inline u32 get_pll_internal_frequency(u32 ref_freq, 39517 static inline u32 get_pll_internal_frequency(u32 ref_freq,
39156diff -urNp linux-3.0.7/drivers/virtio/virtio_balloon.c linux-3.0.7/drivers/virtio/virtio_balloon.c 39518diff -urNp linux-3.0.8/drivers/virtio/virtio_balloon.c linux-3.0.8/drivers/virtio/virtio_balloon.c
39157--- linux-3.0.7/drivers/virtio/virtio_balloon.c 2011-07-21 22:17:23.000000000 -0400 39519--- linux-3.0.8/drivers/virtio/virtio_balloon.c 2011-07-21 22:17:23.000000000 -0400
39158+++ linux-3.0.7/drivers/virtio/virtio_balloon.c 2011-08-23 21:48:14.000000000 -0400 39520+++ linux-3.0.8/drivers/virtio/virtio_balloon.c 2011-08-23 21:48:14.000000000 -0400
39159@@ -174,6 +174,8 @@ static void update_balloon_stats(struct 39521@@ -174,6 +174,8 @@ static void update_balloon_stats(struct
39160 struct sysinfo i; 39522 struct sysinfo i;
39161 int idx = 0; 39523 int idx = 0;
@@ -39165,9 +39527,9 @@ diff -urNp linux-3.0.7/drivers/virtio/virtio_balloon.c linux-3.0.7/drivers/virti
39165 all_vm_events(events); 39527 all_vm_events(events);
39166 si_meminfo(&i); 39528 si_meminfo(&i);
39167 39529
39168diff -urNp linux-3.0.7/fs/9p/vfs_inode.c linux-3.0.7/fs/9p/vfs_inode.c 39530diff -urNp linux-3.0.8/fs/9p/vfs_inode.c linux-3.0.8/fs/9p/vfs_inode.c
39169--- linux-3.0.7/fs/9p/vfs_inode.c 2011-10-16 21:54:54.000000000 -0400 39531--- linux-3.0.8/fs/9p/vfs_inode.c 2011-10-24 08:05:30.000000000 -0400
39170+++ linux-3.0.7/fs/9p/vfs_inode.c 2011-10-16 21:55:28.000000000 -0400 39532+++ linux-3.0.8/fs/9p/vfs_inode.c 2011-10-16 21:55:28.000000000 -0400
39171@@ -1264,7 +1264,7 @@ static void *v9fs_vfs_follow_link(struct 39533@@ -1264,7 +1264,7 @@ static void *v9fs_vfs_follow_link(struct
39172 void 39534 void
39173 v9fs_vfs_put_link(struct dentry *dentry, struct nameidata *nd, void *p) 39535 v9fs_vfs_put_link(struct dentry *dentry, struct nameidata *nd, void *p)
@@ -39177,21 +39539,9 @@ diff -urNp linux-3.0.7/fs/9p/vfs_inode.c linux-3.0.7/fs/9p/vfs_inode.c
39177 39539
39178 P9_DPRINTK(P9_DEBUG_VFS, " %s %s\n", dentry->d_name.name, 39540 P9_DPRINTK(P9_DEBUG_VFS, " %s %s\n", dentry->d_name.name,
39179 IS_ERR(s) ? "<error>" : s); 39541 IS_ERR(s) ? "<error>" : s);
39180diff -urNp linux-3.0.7/fs/Kconfig.binfmt linux-3.0.7/fs/Kconfig.binfmt 39542diff -urNp linux-3.0.8/fs/aio.c linux-3.0.8/fs/aio.c
39181--- linux-3.0.7/fs/Kconfig.binfmt 2011-07-21 22:17:23.000000000 -0400 39543--- linux-3.0.8/fs/aio.c 2011-07-21 22:17:23.000000000 -0400
39182+++ linux-3.0.7/fs/Kconfig.binfmt 2011-08-23 21:47:56.000000000 -0400 39544+++ linux-3.0.8/fs/aio.c 2011-08-23 21:48:14.000000000 -0400
39183@@ -86,7 +86,7 @@ config HAVE_AOUT
39184
39185 config BINFMT_AOUT
39186 tristate "Kernel support for a.out and ECOFF binaries"
39187- depends on HAVE_AOUT
39188+ depends on HAVE_AOUT && BROKEN
39189 ---help---
39190 A.out (Assembler.OUTput) is a set of formats for libraries and
39191 executables used in the earliest versions of UNIX. Linux used
39192diff -urNp linux-3.0.7/fs/aio.c linux-3.0.7/fs/aio.c
39193--- linux-3.0.7/fs/aio.c 2011-07-21 22:17:23.000000000 -0400
39194+++ linux-3.0.7/fs/aio.c 2011-08-23 21:48:14.000000000 -0400
39195@@ -119,7 +119,7 @@ static int aio_setup_ring(struct kioctx 39545@@ -119,7 +119,7 @@ static int aio_setup_ring(struct kioctx
39196 size += sizeof(struct io_event) * nr_events; 39546 size += sizeof(struct io_event) * nr_events;
39197 nr_pages = (size + PAGE_SIZE-1) >> PAGE_SHIFT; 39547 nr_pages = (size + PAGE_SIZE-1) >> PAGE_SHIFT;
@@ -39240,9 +39590,9 @@ diff -urNp linux-3.0.7/fs/aio.c linux-3.0.7/fs/aio.c
39240 kiocb->ki_nr_segs = kiocb->ki_nbytes; 39590 kiocb->ki_nr_segs = kiocb->ki_nbytes;
39241 kiocb->ki_cur_seg = 0; 39591 kiocb->ki_cur_seg = 0;
39242 /* ki_nbytes/left now reflect bytes instead of segs */ 39592 /* ki_nbytes/left now reflect bytes instead of segs */
39243diff -urNp linux-3.0.7/fs/attr.c linux-3.0.7/fs/attr.c 39593diff -urNp linux-3.0.8/fs/attr.c linux-3.0.8/fs/attr.c
39244--- linux-3.0.7/fs/attr.c 2011-07-21 22:17:23.000000000 -0400 39594--- linux-3.0.8/fs/attr.c 2011-07-21 22:17:23.000000000 -0400
39245+++ linux-3.0.7/fs/attr.c 2011-08-23 21:48:14.000000000 -0400 39595+++ linux-3.0.8/fs/attr.c 2011-08-23 21:48:14.000000000 -0400
39246@@ -98,6 +98,7 @@ int inode_newsize_ok(const struct inode 39596@@ -98,6 +98,7 @@ int inode_newsize_ok(const struct inode
39247 unsigned long limit; 39597 unsigned long limit;
39248 39598
@@ -39251,9 +39601,9 @@ diff -urNp linux-3.0.7/fs/attr.c linux-3.0.7/fs/attr.c
39251 if (limit != RLIM_INFINITY && offset > limit) 39601 if (limit != RLIM_INFINITY && offset > limit)
39252 goto out_sig; 39602 goto out_sig;
39253 if (offset > inode->i_sb->s_maxbytes) 39603 if (offset > inode->i_sb->s_maxbytes)
39254diff -urNp linux-3.0.7/fs/autofs4/waitq.c linux-3.0.7/fs/autofs4/waitq.c 39604diff -urNp linux-3.0.8/fs/autofs4/waitq.c linux-3.0.8/fs/autofs4/waitq.c
39255--- linux-3.0.7/fs/autofs4/waitq.c 2011-07-21 22:17:23.000000000 -0400 39605--- linux-3.0.8/fs/autofs4/waitq.c 2011-07-21 22:17:23.000000000 -0400
39256+++ linux-3.0.7/fs/autofs4/waitq.c 2011-10-06 04:17:55.000000000 -0400 39606+++ linux-3.0.8/fs/autofs4/waitq.c 2011-10-06 04:17:55.000000000 -0400
39257@@ -60,7 +60,7 @@ static int autofs4_write(struct file *fi 39607@@ -60,7 +60,7 @@ static int autofs4_write(struct file *fi
39258 { 39608 {
39259 unsigned long sigpipe, flags; 39609 unsigned long sigpipe, flags;
@@ -39263,9 +39613,9 @@ diff -urNp linux-3.0.7/fs/autofs4/waitq.c linux-3.0.7/fs/autofs4/waitq.c
39263 ssize_t wr = 0; 39613 ssize_t wr = 0;
39264 39614
39265 /** WARNING: this is not safe for writing more than PIPE_BUF bytes! **/ 39615 /** WARNING: this is not safe for writing more than PIPE_BUF bytes! **/
39266diff -urNp linux-3.0.7/fs/befs/linuxvfs.c linux-3.0.7/fs/befs/linuxvfs.c 39616diff -urNp linux-3.0.8/fs/befs/linuxvfs.c linux-3.0.8/fs/befs/linuxvfs.c
39267--- linux-3.0.7/fs/befs/linuxvfs.c 2011-09-02 18:11:26.000000000 -0400 39617--- linux-3.0.8/fs/befs/linuxvfs.c 2011-10-24 08:05:23.000000000 -0400
39268+++ linux-3.0.7/fs/befs/linuxvfs.c 2011-08-29 23:26:27.000000000 -0400 39618+++ linux-3.0.8/fs/befs/linuxvfs.c 2011-08-29 23:26:27.000000000 -0400
39269@@ -503,7 +503,7 @@ static void befs_put_link(struct dentry 39619@@ -503,7 +503,7 @@ static void befs_put_link(struct dentry
39270 { 39620 {
39271 befs_inode_info *befs_ino = BEFS_I(dentry->d_inode); 39621 befs_inode_info *befs_ino = BEFS_I(dentry->d_inode);
@@ -39275,9 +39625,9 @@ diff -urNp linux-3.0.7/fs/befs/linuxvfs.c linux-3.0.7/fs/befs/linuxvfs.c
39275 if (!IS_ERR(link)) 39625 if (!IS_ERR(link))
39276 kfree(link); 39626 kfree(link);
39277 } 39627 }
39278diff -urNp linux-3.0.7/fs/binfmt_aout.c linux-3.0.7/fs/binfmt_aout.c 39628diff -urNp linux-3.0.8/fs/binfmt_aout.c linux-3.0.8/fs/binfmt_aout.c
39279--- linux-3.0.7/fs/binfmt_aout.c 2011-07-21 22:17:23.000000000 -0400 39629--- linux-3.0.8/fs/binfmt_aout.c 2011-07-21 22:17:23.000000000 -0400
39280+++ linux-3.0.7/fs/binfmt_aout.c 2011-08-23 21:48:14.000000000 -0400 39630+++ linux-3.0.8/fs/binfmt_aout.c 2011-08-23 21:48:14.000000000 -0400
39281@@ -16,6 +16,7 @@ 39631@@ -16,6 +16,7 @@
39282 #include <linux/string.h> 39632 #include <linux/string.h>
39283 #include <linux/fs.h> 39633 #include <linux/fs.h>
@@ -39354,9 +39704,9 @@ diff -urNp linux-3.0.7/fs/binfmt_aout.c linux-3.0.7/fs/binfmt_aout.c
39354 MAP_FIXED | MAP_PRIVATE | MAP_DENYWRITE | MAP_EXECUTABLE, 39704 MAP_FIXED | MAP_PRIVATE | MAP_DENYWRITE | MAP_EXECUTABLE,
39355 fd_offset + ex.a_text); 39705 fd_offset + ex.a_text);
39356 up_write(&current->mm->mmap_sem); 39706 up_write(&current->mm->mmap_sem);
39357diff -urNp linux-3.0.7/fs/binfmt_elf.c linux-3.0.7/fs/binfmt_elf.c 39707diff -urNp linux-3.0.8/fs/binfmt_elf.c linux-3.0.8/fs/binfmt_elf.c
39358--- linux-3.0.7/fs/binfmt_elf.c 2011-07-21 22:17:23.000000000 -0400 39708--- linux-3.0.8/fs/binfmt_elf.c 2011-07-21 22:17:23.000000000 -0400
39359+++ linux-3.0.7/fs/binfmt_elf.c 2011-08-23 21:48:14.000000000 -0400 39709+++ linux-3.0.8/fs/binfmt_elf.c 2011-08-23 21:48:14.000000000 -0400
39360@@ -51,6 +51,10 @@ static int elf_core_dump(struct coredump 39710@@ -51,6 +51,10 @@ static int elf_core_dump(struct coredump
39361 #define elf_core_dump NULL 39711 #define elf_core_dump NULL
39362 #endif 39712 #endif
@@ -40060,9 +40410,9 @@ diff -urNp linux-3.0.7/fs/binfmt_elf.c linux-3.0.7/fs/binfmt_elf.c
40060 static int __init init_elf_binfmt(void) 40410 static int __init init_elf_binfmt(void)
40061 { 40411 {
40062 return register_binfmt(&elf_format); 40412 return register_binfmt(&elf_format);
40063diff -urNp linux-3.0.7/fs/binfmt_flat.c linux-3.0.7/fs/binfmt_flat.c 40413diff -urNp linux-3.0.8/fs/binfmt_flat.c linux-3.0.8/fs/binfmt_flat.c
40064--- linux-3.0.7/fs/binfmt_flat.c 2011-07-21 22:17:23.000000000 -0400 40414--- linux-3.0.8/fs/binfmt_flat.c 2011-07-21 22:17:23.000000000 -0400
40065+++ linux-3.0.7/fs/binfmt_flat.c 2011-08-23 21:47:56.000000000 -0400 40415+++ linux-3.0.8/fs/binfmt_flat.c 2011-08-23 21:47:56.000000000 -0400
40066@@ -567,7 +567,9 @@ static int load_flat_file(struct linux_b 40416@@ -567,7 +567,9 @@ static int load_flat_file(struct linux_b
40067 realdatastart = (unsigned long) -ENOMEM; 40417 realdatastart = (unsigned long) -ENOMEM;
40068 printk("Unable to allocate RAM for process data, errno %d\n", 40418 printk("Unable to allocate RAM for process data, errno %d\n",
@@ -40095,9 +40445,9 @@ diff -urNp linux-3.0.7/fs/binfmt_flat.c linux-3.0.7/fs/binfmt_flat.c
40095 ret = result; 40445 ret = result;
40096 goto err; 40446 goto err;
40097 } 40447 }
40098diff -urNp linux-3.0.7/fs/bio.c linux-3.0.7/fs/bio.c 40448diff -urNp linux-3.0.8/fs/bio.c linux-3.0.8/fs/bio.c
40099--- linux-3.0.7/fs/bio.c 2011-07-21 22:17:23.000000000 -0400 40449--- linux-3.0.8/fs/bio.c 2011-07-21 22:17:23.000000000 -0400
40100+++ linux-3.0.7/fs/bio.c 2011-10-06 04:17:55.000000000 -0400 40450+++ linux-3.0.8/fs/bio.c 2011-10-06 04:17:55.000000000 -0400
40101@@ -1233,7 +1233,7 @@ static void bio_copy_kern_endio(struct b 40451@@ -1233,7 +1233,7 @@ static void bio_copy_kern_endio(struct b
40102 const int read = bio_data_dir(bio) == READ; 40452 const int read = bio_data_dir(bio) == READ;
40103 struct bio_map_data *bmd = bio->bi_private; 40453 struct bio_map_data *bmd = bio->bi_private;
@@ -40107,9 +40457,9 @@ diff -urNp linux-3.0.7/fs/bio.c linux-3.0.7/fs/bio.c
40107 40457
40108 __bio_for_each_segment(bvec, bio, i, 0) { 40458 __bio_for_each_segment(bvec, bio, i, 0) {
40109 char *addr = page_address(bvec->bv_page); 40459 char *addr = page_address(bvec->bv_page);
40110diff -urNp linux-3.0.7/fs/block_dev.c linux-3.0.7/fs/block_dev.c 40460diff -urNp linux-3.0.8/fs/block_dev.c linux-3.0.8/fs/block_dev.c
40111--- linux-3.0.7/fs/block_dev.c 2011-10-16 21:54:54.000000000 -0400 40461--- linux-3.0.8/fs/block_dev.c 2011-10-24 08:05:30.000000000 -0400
40112+++ linux-3.0.7/fs/block_dev.c 2011-10-16 21:55:28.000000000 -0400 40462+++ linux-3.0.8/fs/block_dev.c 2011-10-16 21:55:28.000000000 -0400
40113@@ -671,7 +671,7 @@ static bool bd_may_claim(struct block_de 40463@@ -671,7 +671,7 @@ static bool bd_may_claim(struct block_de
40114 else if (bdev->bd_contains == bdev) 40464 else if (bdev->bd_contains == bdev)
40115 return true; /* is a whole device which isn't held */ 40465 return true; /* is a whole device which isn't held */
@@ -40119,9 +40469,9 @@ diff -urNp linux-3.0.7/fs/block_dev.c linux-3.0.7/fs/block_dev.c
40119 return true; /* is a partition of a device that is being partitioned */ 40469 return true; /* is a partition of a device that is being partitioned */
40120 else if (whole->bd_holder != NULL) 40470 else if (whole->bd_holder != NULL)
40121 return false; /* is a partition of a held device */ 40471 return false; /* is a partition of a held device */
40122diff -urNp linux-3.0.7/fs/btrfs/ctree.c linux-3.0.7/fs/btrfs/ctree.c 40472diff -urNp linux-3.0.8/fs/btrfs/ctree.c linux-3.0.8/fs/btrfs/ctree.c
40123--- linux-3.0.7/fs/btrfs/ctree.c 2011-07-21 22:17:23.000000000 -0400 40473--- linux-3.0.8/fs/btrfs/ctree.c 2011-07-21 22:17:23.000000000 -0400
40124+++ linux-3.0.7/fs/btrfs/ctree.c 2011-08-23 21:47:56.000000000 -0400 40474+++ linux-3.0.8/fs/btrfs/ctree.c 2011-08-23 21:47:56.000000000 -0400
40125@@ -454,9 +454,12 @@ static noinline int __btrfs_cow_block(st 40475@@ -454,9 +454,12 @@ static noinline int __btrfs_cow_block(st
40126 free_extent_buffer(buf); 40476 free_extent_buffer(buf);
40127 add_root_to_dirty_list(root); 40477 add_root_to_dirty_list(root);
@@ -40138,9 +40488,9 @@ diff -urNp linux-3.0.7/fs/btrfs/ctree.c linux-3.0.7/fs/btrfs/ctree.c
40138 parent_start = 0; 40488 parent_start = 0;
40139 40489
40140 WARN_ON(trans->transid != btrfs_header_generation(parent)); 40490 WARN_ON(trans->transid != btrfs_header_generation(parent));
40141diff -urNp linux-3.0.7/fs/btrfs/inode.c linux-3.0.7/fs/btrfs/inode.c 40491diff -urNp linux-3.0.8/fs/btrfs/inode.c linux-3.0.8/fs/btrfs/inode.c
40142--- linux-3.0.7/fs/btrfs/inode.c 2011-10-16 21:54:54.000000000 -0400 40492--- linux-3.0.8/fs/btrfs/inode.c 2011-10-24 08:05:30.000000000 -0400
40143+++ linux-3.0.7/fs/btrfs/inode.c 2011-10-16 21:55:28.000000000 -0400 40493+++ linux-3.0.8/fs/btrfs/inode.c 2011-10-16 21:55:28.000000000 -0400
40144@@ -6896,7 +6896,7 @@ fail: 40494@@ -6896,7 +6896,7 @@ fail:
40145 return -ENOMEM; 40495 return -ENOMEM;
40146 } 40496 }
@@ -40165,9 +40515,9 @@ diff -urNp linux-3.0.7/fs/btrfs/inode.c linux-3.0.7/fs/btrfs/inode.c
40165 /* 40515 /*
40166 * If a file is moved, it will inherit the cow and compression flags of the new 40516 * If a file is moved, it will inherit the cow and compression flags of the new
40167 * directory. 40517 * directory.
40168diff -urNp linux-3.0.7/fs/btrfs/ioctl.c linux-3.0.7/fs/btrfs/ioctl.c 40518diff -urNp linux-3.0.8/fs/btrfs/ioctl.c linux-3.0.8/fs/btrfs/ioctl.c
40169--- linux-3.0.7/fs/btrfs/ioctl.c 2011-07-21 22:17:23.000000000 -0400 40519--- linux-3.0.8/fs/btrfs/ioctl.c 2011-07-21 22:17:23.000000000 -0400
40170+++ linux-3.0.7/fs/btrfs/ioctl.c 2011-10-06 04:17:55.000000000 -0400 40520+++ linux-3.0.8/fs/btrfs/ioctl.c 2011-10-06 04:17:55.000000000 -0400
40171@@ -2676,9 +2676,12 @@ long btrfs_ioctl_space_info(struct btrfs 40521@@ -2676,9 +2676,12 @@ long btrfs_ioctl_space_info(struct btrfs
40172 for (i = 0; i < num_types; i++) { 40522 for (i = 0; i < num_types; i++) {
40173 struct btrfs_space_info *tmp; 40523 struct btrfs_space_info *tmp;
@@ -40198,9 +40548,9 @@ diff -urNp linux-3.0.7/fs/btrfs/ioctl.c linux-3.0.7/fs/btrfs/ioctl.c
40198 (arg + sizeof(struct btrfs_ioctl_space_args)); 40548 (arg + sizeof(struct btrfs_ioctl_space_args));
40199 40549
40200 if (copy_to_user(user_dest, dest_orig, alloc_size)) 40550 if (copy_to_user(user_dest, dest_orig, alloc_size))
40201diff -urNp linux-3.0.7/fs/btrfs/relocation.c linux-3.0.7/fs/btrfs/relocation.c 40551diff -urNp linux-3.0.8/fs/btrfs/relocation.c linux-3.0.8/fs/btrfs/relocation.c
40202--- linux-3.0.7/fs/btrfs/relocation.c 2011-07-21 22:17:23.000000000 -0400 40552--- linux-3.0.8/fs/btrfs/relocation.c 2011-07-21 22:17:23.000000000 -0400
40203+++ linux-3.0.7/fs/btrfs/relocation.c 2011-08-23 21:47:56.000000000 -0400 40553+++ linux-3.0.8/fs/btrfs/relocation.c 2011-08-23 21:47:56.000000000 -0400
40204@@ -1242,7 +1242,7 @@ static int __update_reloc_root(struct bt 40554@@ -1242,7 +1242,7 @@ static int __update_reloc_root(struct bt
40205 } 40555 }
40206 spin_unlock(&rc->reloc_root_tree.lock); 40556 spin_unlock(&rc->reloc_root_tree.lock);
@@ -40210,9 +40560,9 @@ diff -urNp linux-3.0.7/fs/btrfs/relocation.c linux-3.0.7/fs/btrfs/relocation.c
40210 40560
40211 if (!del) { 40561 if (!del) {
40212 spin_lock(&rc->reloc_root_tree.lock); 40562 spin_lock(&rc->reloc_root_tree.lock);
40213diff -urNp linux-3.0.7/fs/cachefiles/bind.c linux-3.0.7/fs/cachefiles/bind.c 40563diff -urNp linux-3.0.8/fs/cachefiles/bind.c linux-3.0.8/fs/cachefiles/bind.c
40214--- linux-3.0.7/fs/cachefiles/bind.c 2011-07-21 22:17:23.000000000 -0400 40564--- linux-3.0.8/fs/cachefiles/bind.c 2011-07-21 22:17:23.000000000 -0400
40215+++ linux-3.0.7/fs/cachefiles/bind.c 2011-08-23 21:47:56.000000000 -0400 40565+++ linux-3.0.8/fs/cachefiles/bind.c 2011-08-23 21:47:56.000000000 -0400
40216@@ -39,13 +39,11 @@ int cachefiles_daemon_bind(struct cachef 40566@@ -39,13 +39,11 @@ int cachefiles_daemon_bind(struct cachef
40217 args); 40567 args);
40218 40568
@@ -40229,9 +40579,9 @@ diff -urNp linux-3.0.7/fs/cachefiles/bind.c linux-3.0.7/fs/cachefiles/bind.c
40229 cache->bcull_percent < cache->brun_percent && 40579 cache->bcull_percent < cache->brun_percent &&
40230 cache->brun_percent < 100); 40580 cache->brun_percent < 100);
40231 40581
40232diff -urNp linux-3.0.7/fs/cachefiles/daemon.c linux-3.0.7/fs/cachefiles/daemon.c 40582diff -urNp linux-3.0.8/fs/cachefiles/daemon.c linux-3.0.8/fs/cachefiles/daemon.c
40233--- linux-3.0.7/fs/cachefiles/daemon.c 2011-07-21 22:17:23.000000000 -0400 40583--- linux-3.0.8/fs/cachefiles/daemon.c 2011-07-21 22:17:23.000000000 -0400
40234+++ linux-3.0.7/fs/cachefiles/daemon.c 2011-08-23 21:47:56.000000000 -0400 40584+++ linux-3.0.8/fs/cachefiles/daemon.c 2011-08-23 21:47:56.000000000 -0400
40235@@ -196,7 +196,7 @@ static ssize_t cachefiles_daemon_read(st 40585@@ -196,7 +196,7 @@ static ssize_t cachefiles_daemon_read(st
40236 if (n > buflen) 40586 if (n > buflen)
40237 return -EMSGSIZE; 40587 return -EMSGSIZE;
@@ -40268,9 +40618,9 @@ diff -urNp linux-3.0.7/fs/cachefiles/daemon.c linux-3.0.7/fs/cachefiles/daemon.c
40268 return cachefiles_daemon_range_error(cache, args); 40618 return cachefiles_daemon_range_error(cache, args);
40269 40619
40270 cache->bstop_percent = bstop; 40620 cache->bstop_percent = bstop;
40271diff -urNp linux-3.0.7/fs/cachefiles/internal.h linux-3.0.7/fs/cachefiles/internal.h 40621diff -urNp linux-3.0.8/fs/cachefiles/internal.h linux-3.0.8/fs/cachefiles/internal.h
40272--- linux-3.0.7/fs/cachefiles/internal.h 2011-07-21 22:17:23.000000000 -0400 40622--- linux-3.0.8/fs/cachefiles/internal.h 2011-07-21 22:17:23.000000000 -0400
40273+++ linux-3.0.7/fs/cachefiles/internal.h 2011-08-23 21:47:56.000000000 -0400 40623+++ linux-3.0.8/fs/cachefiles/internal.h 2011-08-23 21:47:56.000000000 -0400
40274@@ -57,7 +57,7 @@ struct cachefiles_cache { 40624@@ -57,7 +57,7 @@ struct cachefiles_cache {
40275 wait_queue_head_t daemon_pollwq; /* poll waitqueue for daemon */ 40625 wait_queue_head_t daemon_pollwq; /* poll waitqueue for daemon */
40276 struct rb_root active_nodes; /* active nodes (can't be culled) */ 40626 struct rb_root active_nodes; /* active nodes (can't be culled) */
@@ -40305,9 +40655,9 @@ diff -urNp linux-3.0.7/fs/cachefiles/internal.h linux-3.0.7/fs/cachefiles/intern
40305 } 40655 }
40306 40656
40307 #else 40657 #else
40308diff -urNp linux-3.0.7/fs/cachefiles/namei.c linux-3.0.7/fs/cachefiles/namei.c 40658diff -urNp linux-3.0.8/fs/cachefiles/namei.c linux-3.0.8/fs/cachefiles/namei.c
40309--- linux-3.0.7/fs/cachefiles/namei.c 2011-07-21 22:17:23.000000000 -0400 40659--- linux-3.0.8/fs/cachefiles/namei.c 2011-07-21 22:17:23.000000000 -0400
40310+++ linux-3.0.7/fs/cachefiles/namei.c 2011-08-23 21:47:56.000000000 -0400 40660+++ linux-3.0.8/fs/cachefiles/namei.c 2011-08-23 21:47:56.000000000 -0400
40311@@ -318,7 +318,7 @@ try_again: 40661@@ -318,7 +318,7 @@ try_again:
40312 /* first step is to make up a grave dentry in the graveyard */ 40662 /* first step is to make up a grave dentry in the graveyard */
40313 sprintf(nbuffer, "%08x%08x", 40663 sprintf(nbuffer, "%08x%08x",
@@ -40317,9 +40667,9 @@ diff -urNp linux-3.0.7/fs/cachefiles/namei.c linux-3.0.7/fs/cachefiles/namei.c
40317 40667
40318 /* do the multiway lock magic */ 40668 /* do the multiway lock magic */
40319 trap = lock_rename(cache->graveyard, dir); 40669 trap = lock_rename(cache->graveyard, dir);
40320diff -urNp linux-3.0.7/fs/cachefiles/proc.c linux-3.0.7/fs/cachefiles/proc.c 40670diff -urNp linux-3.0.8/fs/cachefiles/proc.c linux-3.0.8/fs/cachefiles/proc.c
40321--- linux-3.0.7/fs/cachefiles/proc.c 2011-07-21 22:17:23.000000000 -0400 40671--- linux-3.0.8/fs/cachefiles/proc.c 2011-07-21 22:17:23.000000000 -0400
40322+++ linux-3.0.7/fs/cachefiles/proc.c 2011-08-23 21:47:56.000000000 -0400 40672+++ linux-3.0.8/fs/cachefiles/proc.c 2011-08-23 21:47:56.000000000 -0400
40323@@ -14,9 +14,9 @@ 40673@@ -14,9 +14,9 @@
40324 #include <linux/seq_file.h> 40674 #include <linux/seq_file.h>
40325 #include "internal.h" 40675 #include "internal.h"
@@ -40346,9 +40696,9 @@ diff -urNp linux-3.0.7/fs/cachefiles/proc.c linux-3.0.7/fs/cachefiles/proc.c
40346 if (x == 0 && y == 0 && z == 0) 40696 if (x == 0 && y == 0 && z == 0)
40347 return 0; 40697 return 0;
40348 40698
40349diff -urNp linux-3.0.7/fs/cachefiles/rdwr.c linux-3.0.7/fs/cachefiles/rdwr.c 40699diff -urNp linux-3.0.8/fs/cachefiles/rdwr.c linux-3.0.8/fs/cachefiles/rdwr.c
40350--- linux-3.0.7/fs/cachefiles/rdwr.c 2011-07-21 22:17:23.000000000 -0400 40700--- linux-3.0.8/fs/cachefiles/rdwr.c 2011-07-21 22:17:23.000000000 -0400
40351+++ linux-3.0.7/fs/cachefiles/rdwr.c 2011-10-06 04:17:55.000000000 -0400 40701+++ linux-3.0.8/fs/cachefiles/rdwr.c 2011-10-06 04:17:55.000000000 -0400
40352@@ -945,7 +945,7 @@ int cachefiles_write_page(struct fscache 40702@@ -945,7 +945,7 @@ int cachefiles_write_page(struct fscache
40353 old_fs = get_fs(); 40703 old_fs = get_fs();
40354 set_fs(KERNEL_DS); 40704 set_fs(KERNEL_DS);
@@ -40358,9 +40708,9 @@ diff -urNp linux-3.0.7/fs/cachefiles/rdwr.c linux-3.0.7/fs/cachefiles/rdwr.c
40358 set_fs(old_fs); 40708 set_fs(old_fs);
40359 kunmap(page); 40709 kunmap(page);
40360 if (ret != len) 40710 if (ret != len)
40361diff -urNp linux-3.0.7/fs/ceph/dir.c linux-3.0.7/fs/ceph/dir.c 40711diff -urNp linux-3.0.8/fs/ceph/dir.c linux-3.0.8/fs/ceph/dir.c
40362--- linux-3.0.7/fs/ceph/dir.c 2011-07-21 22:17:23.000000000 -0400 40712--- linux-3.0.8/fs/ceph/dir.c 2011-07-21 22:17:23.000000000 -0400
40363+++ linux-3.0.7/fs/ceph/dir.c 2011-08-23 21:47:56.000000000 -0400 40713+++ linux-3.0.8/fs/ceph/dir.c 2011-08-23 21:47:56.000000000 -0400
40364@@ -226,7 +226,7 @@ static int ceph_readdir(struct file *fil 40714@@ -226,7 +226,7 @@ static int ceph_readdir(struct file *fil
40365 struct ceph_fs_client *fsc = ceph_inode_to_client(inode); 40715 struct ceph_fs_client *fsc = ceph_inode_to_client(inode);
40366 struct ceph_mds_client *mdsc = fsc->mdsc; 40716 struct ceph_mds_client *mdsc = fsc->mdsc;
@@ -40370,9 +40720,9 @@ diff -urNp linux-3.0.7/fs/ceph/dir.c linux-3.0.7/fs/ceph/dir.c
40370 int err; 40720 int err;
40371 u32 ftype; 40721 u32 ftype;
40372 struct ceph_mds_reply_info_parsed *rinfo; 40722 struct ceph_mds_reply_info_parsed *rinfo;
40373diff -urNp linux-3.0.7/fs/cifs/cifs_debug.c linux-3.0.7/fs/cifs/cifs_debug.c 40723diff -urNp linux-3.0.8/fs/cifs/cifs_debug.c linux-3.0.8/fs/cifs/cifs_debug.c
40374--- linux-3.0.7/fs/cifs/cifs_debug.c 2011-07-21 22:17:23.000000000 -0400 40724--- linux-3.0.8/fs/cifs/cifs_debug.c 2011-07-21 22:17:23.000000000 -0400
40375+++ linux-3.0.7/fs/cifs/cifs_debug.c 2011-08-25 17:18:05.000000000 -0400 40725+++ linux-3.0.8/fs/cifs/cifs_debug.c 2011-08-25 17:18:05.000000000 -0400
40376@@ -265,8 +265,8 @@ static ssize_t cifs_stats_proc_write(str 40726@@ -265,8 +265,8 @@ static ssize_t cifs_stats_proc_write(str
40377 40727
40378 if (c == '1' || c == 'y' || c == 'Y' || c == '0') { 40728 if (c == '1' || c == 'y' || c == 'Y' || c == '0') {
@@ -40502,10 +40852,10 @@ diff -urNp linux-3.0.7/fs/cifs/cifs_debug.c linux-3.0.7/fs/cifs/cifs_debug.c
40502 } 40852 }
40503 } 40853 }
40504 } 40854 }
40505diff -urNp linux-3.0.7/fs/cifs/cifsfs.c linux-3.0.7/fs/cifs/cifsfs.c 40855diff -urNp linux-3.0.8/fs/cifs/cifsfs.c linux-3.0.8/fs/cifs/cifsfs.c
40506--- linux-3.0.7/fs/cifs/cifsfs.c 2011-09-02 18:11:21.000000000 -0400 40856--- linux-3.0.8/fs/cifs/cifsfs.c 2011-10-25 09:10:33.000000000 -0400
40507+++ linux-3.0.7/fs/cifs/cifsfs.c 2011-08-25 17:18:05.000000000 -0400 40857+++ linux-3.0.8/fs/cifs/cifsfs.c 2011-10-25 09:10:41.000000000 -0400
40508@@ -994,7 +994,7 @@ cifs_init_request_bufs(void) 40858@@ -996,7 +996,7 @@ cifs_init_request_bufs(void)
40509 cifs_req_cachep = kmem_cache_create("cifs_request", 40859 cifs_req_cachep = kmem_cache_create("cifs_request",
40510 CIFSMaxBufSize + 40860 CIFSMaxBufSize +
40511 MAX_CIFS_HDR_SIZE, 0, 40861 MAX_CIFS_HDR_SIZE, 0,
@@ -40514,7 +40864,7 @@ diff -urNp linux-3.0.7/fs/cifs/cifsfs.c linux-3.0.7/fs/cifs/cifsfs.c
40514 if (cifs_req_cachep == NULL) 40864 if (cifs_req_cachep == NULL)
40515 return -ENOMEM; 40865 return -ENOMEM;
40516 40866
40517@@ -1021,7 +1021,7 @@ cifs_init_request_bufs(void) 40867@@ -1023,7 +1023,7 @@ cifs_init_request_bufs(void)
40518 efficient to alloc 1 per page off the slab compared to 17K (5page) 40868 efficient to alloc 1 per page off the slab compared to 17K (5page)
40519 alloc of large cifs buffers even when page debugging is on */ 40869 alloc of large cifs buffers even when page debugging is on */
40520 cifs_sm_req_cachep = kmem_cache_create("cifs_small_rq", 40870 cifs_sm_req_cachep = kmem_cache_create("cifs_small_rq",
@@ -40523,7 +40873,7 @@ diff -urNp linux-3.0.7/fs/cifs/cifsfs.c linux-3.0.7/fs/cifs/cifsfs.c
40523 NULL); 40873 NULL);
40524 if (cifs_sm_req_cachep == NULL) { 40874 if (cifs_sm_req_cachep == NULL) {
40525 mempool_destroy(cifs_req_poolp); 40875 mempool_destroy(cifs_req_poolp);
40526@@ -1106,8 +1106,8 @@ init_cifs(void) 40876@@ -1108,8 +1108,8 @@ init_cifs(void)
40527 atomic_set(&bufAllocCount, 0); 40877 atomic_set(&bufAllocCount, 0);
40528 atomic_set(&smBufAllocCount, 0); 40878 atomic_set(&smBufAllocCount, 0);
40529 #ifdef CONFIG_CIFS_STATS2 40879 #ifdef CONFIG_CIFS_STATS2
@@ -40534,9 +40884,9 @@ diff -urNp linux-3.0.7/fs/cifs/cifsfs.c linux-3.0.7/fs/cifs/cifsfs.c
40534 #endif /* CONFIG_CIFS_STATS2 */ 40884 #endif /* CONFIG_CIFS_STATS2 */
40535 40885
40536 atomic_set(&midCount, 0); 40886 atomic_set(&midCount, 0);
40537diff -urNp linux-3.0.7/fs/cifs/cifsglob.h linux-3.0.7/fs/cifs/cifsglob.h 40887diff -urNp linux-3.0.8/fs/cifs/cifsglob.h linux-3.0.8/fs/cifs/cifsglob.h
40538--- linux-3.0.7/fs/cifs/cifsglob.h 2011-07-21 22:17:23.000000000 -0400 40888--- linux-3.0.8/fs/cifs/cifsglob.h 2011-07-21 22:17:23.000000000 -0400
40539+++ linux-3.0.7/fs/cifs/cifsglob.h 2011-08-25 17:18:05.000000000 -0400 40889+++ linux-3.0.8/fs/cifs/cifsglob.h 2011-08-25 17:18:05.000000000 -0400
40540@@ -381,28 +381,28 @@ struct cifs_tcon { 40890@@ -381,28 +381,28 @@ struct cifs_tcon {
40541 __u16 Flags; /* optional support bits */ 40891 __u16 Flags; /* optional support bits */
40542 enum statusEnum tidStatus; 40892 enum statusEnum tidStatus;
@@ -40608,9 +40958,9 @@ diff -urNp linux-3.0.7/fs/cifs/cifsglob.h linux-3.0.7/fs/cifs/cifsglob.h
40608 #endif 40958 #endif
40609 GLOBAL_EXTERN atomic_t smBufAllocCount; 40959 GLOBAL_EXTERN atomic_t smBufAllocCount;
40610 GLOBAL_EXTERN atomic_t midCount; 40960 GLOBAL_EXTERN atomic_t midCount;
40611diff -urNp linux-3.0.7/fs/cifs/link.c linux-3.0.7/fs/cifs/link.c 40961diff -urNp linux-3.0.8/fs/cifs/link.c linux-3.0.8/fs/cifs/link.c
40612--- linux-3.0.7/fs/cifs/link.c 2011-07-21 22:17:23.000000000 -0400 40962--- linux-3.0.8/fs/cifs/link.c 2011-07-21 22:17:23.000000000 -0400
40613+++ linux-3.0.7/fs/cifs/link.c 2011-08-23 21:47:56.000000000 -0400 40963+++ linux-3.0.8/fs/cifs/link.c 2011-08-23 21:47:56.000000000 -0400
40614@@ -587,7 +587,7 @@ symlink_exit: 40964@@ -587,7 +587,7 @@ symlink_exit:
40615 40965
40616 void cifs_put_link(struct dentry *direntry, struct nameidata *nd, void *cookie) 40966 void cifs_put_link(struct dentry *direntry, struct nameidata *nd, void *cookie)
@@ -40620,9 +40970,9 @@ diff -urNp linux-3.0.7/fs/cifs/link.c linux-3.0.7/fs/cifs/link.c
40620 if (!IS_ERR(p)) 40970 if (!IS_ERR(p))
40621 kfree(p); 40971 kfree(p);
40622 } 40972 }
40623diff -urNp linux-3.0.7/fs/cifs/misc.c linux-3.0.7/fs/cifs/misc.c 40973diff -urNp linux-3.0.8/fs/cifs/misc.c linux-3.0.8/fs/cifs/misc.c
40624--- linux-3.0.7/fs/cifs/misc.c 2011-07-21 22:17:23.000000000 -0400 40974--- linux-3.0.8/fs/cifs/misc.c 2011-07-21 22:17:23.000000000 -0400
40625+++ linux-3.0.7/fs/cifs/misc.c 2011-08-25 17:18:05.000000000 -0400 40975+++ linux-3.0.8/fs/cifs/misc.c 2011-08-25 17:18:05.000000000 -0400
40626@@ -156,7 +156,7 @@ cifs_buf_get(void) 40976@@ -156,7 +156,7 @@ cifs_buf_get(void)
40627 memset(ret_buf, 0, sizeof(struct smb_hdr) + 3); 40977 memset(ret_buf, 0, sizeof(struct smb_hdr) + 3);
40628 atomic_inc(&bufAllocCount); 40978 atomic_inc(&bufAllocCount);
@@ -40641,9 +40991,9 @@ diff -urNp linux-3.0.7/fs/cifs/misc.c linux-3.0.7/fs/cifs/misc.c
40641 #endif /* CONFIG_CIFS_STATS2 */ 40991 #endif /* CONFIG_CIFS_STATS2 */
40642 40992
40643 } 40993 }
40644diff -urNp linux-3.0.7/fs/coda/cache.c linux-3.0.7/fs/coda/cache.c 40994diff -urNp linux-3.0.8/fs/coda/cache.c linux-3.0.8/fs/coda/cache.c
40645--- linux-3.0.7/fs/coda/cache.c 2011-07-21 22:17:23.000000000 -0400 40995--- linux-3.0.8/fs/coda/cache.c 2011-07-21 22:17:23.000000000 -0400
40646+++ linux-3.0.7/fs/coda/cache.c 2011-08-23 21:47:56.000000000 -0400 40996+++ linux-3.0.8/fs/coda/cache.c 2011-08-23 21:47:56.000000000 -0400
40647@@ -24,7 +24,7 @@ 40997@@ -24,7 +24,7 @@
40648 #include "coda_linux.h" 40998 #include "coda_linux.h"
40649 #include "coda_cache.h" 40999 #include "coda_cache.h"
@@ -40688,9 +41038,26 @@ diff -urNp linux-3.0.7/fs/coda/cache.c linux-3.0.7/fs/coda/cache.c
40688 spin_unlock(&cii->c_lock); 41038 spin_unlock(&cii->c_lock);
40689 41039
40690 return hit; 41040 return hit;
40691diff -urNp linux-3.0.7/fs/compat.c linux-3.0.7/fs/compat.c 41041diff -urNp linux-3.0.8/fs/compat_binfmt_elf.c linux-3.0.8/fs/compat_binfmt_elf.c
40692--- linux-3.0.7/fs/compat.c 2011-07-21 22:17:23.000000000 -0400 41042--- linux-3.0.8/fs/compat_binfmt_elf.c 2011-07-21 22:17:23.000000000 -0400
40693+++ linux-3.0.7/fs/compat.c 2011-10-06 04:17:55.000000000 -0400 41043+++ linux-3.0.8/fs/compat_binfmt_elf.c 2011-08-23 21:47:56.000000000 -0400
41044@@ -30,11 +30,13 @@
41045 #undef elf_phdr
41046 #undef elf_shdr
41047 #undef elf_note
41048+#undef elf_dyn
41049 #undef elf_addr_t
41050 #define elfhdr elf32_hdr
41051 #define elf_phdr elf32_phdr
41052 #define elf_shdr elf32_shdr
41053 #define elf_note elf32_note
41054+#define elf_dyn Elf32_Dyn
41055 #define elf_addr_t Elf32_Addr
41056
41057 /*
41058diff -urNp linux-3.0.8/fs/compat.c linux-3.0.8/fs/compat.c
41059--- linux-3.0.8/fs/compat.c 2011-07-21 22:17:23.000000000 -0400
41060+++ linux-3.0.8/fs/compat.c 2011-10-06 04:17:55.000000000 -0400
40694@@ -133,8 +133,8 @@ asmlinkage long compat_sys_utimes(const 41061@@ -133,8 +133,8 @@ asmlinkage long compat_sys_utimes(const
40695 static int cp_compat_stat(struct kstat *stat, struct compat_stat __user *ubuf) 41062 static int cp_compat_stat(struct kstat *stat, struct compat_stat __user *ubuf)
40696 { 41063 {
@@ -40827,26 +41194,9 @@ diff -urNp linux-3.0.7/fs/compat.c linux-3.0.7/fs/compat.c
40827 set_fs(oldfs); 41194 set_fs(oldfs);
40828 41195
40829 if (err) 41196 if (err)
40830diff -urNp linux-3.0.7/fs/compat_binfmt_elf.c linux-3.0.7/fs/compat_binfmt_elf.c 41197diff -urNp linux-3.0.8/fs/compat_ioctl.c linux-3.0.8/fs/compat_ioctl.c
40831--- linux-3.0.7/fs/compat_binfmt_elf.c 2011-07-21 22:17:23.000000000 -0400 41198--- linux-3.0.8/fs/compat_ioctl.c 2011-07-21 22:17:23.000000000 -0400
40832+++ linux-3.0.7/fs/compat_binfmt_elf.c 2011-08-23 21:47:56.000000000 -0400 41199+++ linux-3.0.8/fs/compat_ioctl.c 2011-10-06 04:17:55.000000000 -0400
40833@@ -30,11 +30,13 @@
40834 #undef elf_phdr
40835 #undef elf_shdr
40836 #undef elf_note
40837+#undef elf_dyn
40838 #undef elf_addr_t
40839 #define elfhdr elf32_hdr
40840 #define elf_phdr elf32_phdr
40841 #define elf_shdr elf32_shdr
40842 #define elf_note elf32_note
40843+#define elf_dyn Elf32_Dyn
40844 #define elf_addr_t Elf32_Addr
40845
40846 /*
40847diff -urNp linux-3.0.7/fs/compat_ioctl.c linux-3.0.7/fs/compat_ioctl.c
40848--- linux-3.0.7/fs/compat_ioctl.c 2011-07-21 22:17:23.000000000 -0400
40849+++ linux-3.0.7/fs/compat_ioctl.c 2011-10-06 04:17:55.000000000 -0400
40850@@ -208,6 +208,8 @@ static int do_video_set_spu_palette(unsi 41200@@ -208,6 +208,8 @@ static int do_video_set_spu_palette(unsi
40851 41201
40852 err = get_user(palp, &up->palette); 41202 err = get_user(palp, &up->palette);
@@ -40885,9 +41235,9 @@ diff -urNp linux-3.0.7/fs/compat_ioctl.c linux-3.0.7/fs/compat_ioctl.c
40885 if (a > b) 41235 if (a > b)
40886 return 1; 41236 return 1;
40887 if (a < b) 41237 if (a < b)
40888diff -urNp linux-3.0.7/fs/configfs/dir.c linux-3.0.7/fs/configfs/dir.c 41238diff -urNp linux-3.0.8/fs/configfs/dir.c linux-3.0.8/fs/configfs/dir.c
40889--- linux-3.0.7/fs/configfs/dir.c 2011-07-21 22:17:23.000000000 -0400 41239--- linux-3.0.8/fs/configfs/dir.c 2011-07-21 22:17:23.000000000 -0400
40890+++ linux-3.0.7/fs/configfs/dir.c 2011-08-23 21:47:56.000000000 -0400 41240+++ linux-3.0.8/fs/configfs/dir.c 2011-08-23 21:47:56.000000000 -0400
40891@@ -1575,7 +1575,8 @@ static int configfs_readdir(struct file 41241@@ -1575,7 +1575,8 @@ static int configfs_readdir(struct file
40892 } 41242 }
40893 for (p=q->next; p!= &parent_sd->s_children; p=p->next) { 41243 for (p=q->next; p!= &parent_sd->s_children; p=p->next) {
@@ -40912,9 +41262,9 @@ diff -urNp linux-3.0.7/fs/configfs/dir.c linux-3.0.7/fs/configfs/dir.c
40912 41262
40913 /* 41263 /*
40914 * We'll have a dentry and an inode for 41264 * We'll have a dentry and an inode for
40915diff -urNp linux-3.0.7/fs/dcache.c linux-3.0.7/fs/dcache.c 41265diff -urNp linux-3.0.8/fs/dcache.c linux-3.0.8/fs/dcache.c
40916--- linux-3.0.7/fs/dcache.c 2011-07-21 22:17:23.000000000 -0400 41266--- linux-3.0.8/fs/dcache.c 2011-07-21 22:17:23.000000000 -0400
40917+++ linux-3.0.7/fs/dcache.c 2011-08-23 21:47:56.000000000 -0400 41267+++ linux-3.0.8/fs/dcache.c 2011-08-23 21:47:56.000000000 -0400
40918@@ -3089,7 +3089,7 @@ void __init vfs_caches_init(unsigned lon 41268@@ -3089,7 +3089,7 @@ void __init vfs_caches_init(unsigned lon
40919 mempages -= reserve; 41269 mempages -= reserve;
40920 41270
@@ -40924,9 +41274,9 @@ diff -urNp linux-3.0.7/fs/dcache.c linux-3.0.7/fs/dcache.c
40924 41274
40925 dcache_init(); 41275 dcache_init();
40926 inode_init(); 41276 inode_init();
40927diff -urNp linux-3.0.7/fs/ecryptfs/inode.c linux-3.0.7/fs/ecryptfs/inode.c 41277diff -urNp linux-3.0.8/fs/ecryptfs/inode.c linux-3.0.8/fs/ecryptfs/inode.c
40928--- linux-3.0.7/fs/ecryptfs/inode.c 2011-09-02 18:11:21.000000000 -0400 41278--- linux-3.0.8/fs/ecryptfs/inode.c 2011-10-24 08:05:21.000000000 -0400
40929+++ linux-3.0.7/fs/ecryptfs/inode.c 2011-10-06 04:17:55.000000000 -0400 41279+++ linux-3.0.8/fs/ecryptfs/inode.c 2011-10-06 04:17:55.000000000 -0400
40930@@ -704,7 +704,7 @@ static int ecryptfs_readlink_lower(struc 41280@@ -704,7 +704,7 @@ static int ecryptfs_readlink_lower(struc
40931 old_fs = get_fs(); 41281 old_fs = get_fs();
40932 set_fs(get_ds()); 41282 set_fs(get_ds());
@@ -40954,9 +41304,9 @@ diff -urNp linux-3.0.7/fs/ecryptfs/inode.c linux-3.0.7/fs/ecryptfs/inode.c
40954 if (!IS_ERR(buf)) { 41304 if (!IS_ERR(buf)) {
40955 /* Free the char* */ 41305 /* Free the char* */
40956 kfree(buf); 41306 kfree(buf);
40957diff -urNp linux-3.0.7/fs/ecryptfs/miscdev.c linux-3.0.7/fs/ecryptfs/miscdev.c 41307diff -urNp linux-3.0.8/fs/ecryptfs/miscdev.c linux-3.0.8/fs/ecryptfs/miscdev.c
40958--- linux-3.0.7/fs/ecryptfs/miscdev.c 2011-07-21 22:17:23.000000000 -0400 41308--- linux-3.0.8/fs/ecryptfs/miscdev.c 2011-07-21 22:17:23.000000000 -0400
40959+++ linux-3.0.7/fs/ecryptfs/miscdev.c 2011-08-23 21:47:56.000000000 -0400 41309+++ linux-3.0.8/fs/ecryptfs/miscdev.c 2011-08-23 21:47:56.000000000 -0400
40960@@ -328,7 +328,7 @@ check_list: 41310@@ -328,7 +328,7 @@ check_list:
40961 goto out_unlock_msg_ctx; 41311 goto out_unlock_msg_ctx;
40962 i = 5; 41312 i = 5;
@@ -40966,9 +41316,9 @@ diff -urNp linux-3.0.7/fs/ecryptfs/miscdev.c linux-3.0.7/fs/ecryptfs/miscdev.c
40966 goto out_unlock_msg_ctx; 41316 goto out_unlock_msg_ctx;
40967 i += packet_length_size; 41317 i += packet_length_size;
40968 if (copy_to_user(&buf[i], msg_ctx->msg, msg_ctx->msg_size)) 41318 if (copy_to_user(&buf[i], msg_ctx->msg, msg_ctx->msg_size))
40969diff -urNp linux-3.0.7/fs/ecryptfs/read_write.c linux-3.0.7/fs/ecryptfs/read_write.c 41319diff -urNp linux-3.0.8/fs/ecryptfs/read_write.c linux-3.0.8/fs/ecryptfs/read_write.c
40970--- linux-3.0.7/fs/ecryptfs/read_write.c 2011-09-02 18:11:21.000000000 -0400 41320--- linux-3.0.8/fs/ecryptfs/read_write.c 2011-10-24 08:05:21.000000000 -0400
40971+++ linux-3.0.7/fs/ecryptfs/read_write.c 2011-10-06 04:17:55.000000000 -0400 41321+++ linux-3.0.8/fs/ecryptfs/read_write.c 2011-10-06 04:17:55.000000000 -0400
40972@@ -48,7 +48,7 @@ int ecryptfs_write_lower(struct inode *e 41322@@ -48,7 +48,7 @@ int ecryptfs_write_lower(struct inode *e
40973 return -EIO; 41323 return -EIO;
40974 fs_save = get_fs(); 41324 fs_save = get_fs();
@@ -40987,9 +41337,9 @@ diff -urNp linux-3.0.7/fs/ecryptfs/read_write.c linux-3.0.7/fs/ecryptfs/read_wri
40987 set_fs(fs_save); 41337 set_fs(fs_save);
40988 return rc; 41338 return rc;
40989 } 41339 }
40990diff -urNp linux-3.0.7/fs/exec.c linux-3.0.7/fs/exec.c 41340diff -urNp linux-3.0.8/fs/exec.c linux-3.0.8/fs/exec.c
40991--- linux-3.0.7/fs/exec.c 2011-10-17 23:17:09.000000000 -0400 41341--- linux-3.0.8/fs/exec.c 2011-10-24 08:05:32.000000000 -0400
40992+++ linux-3.0.7/fs/exec.c 2011-10-17 23:17:19.000000000 -0400 41342+++ linux-3.0.8/fs/exec.c 2011-10-17 23:17:19.000000000 -0400
40993@@ -55,12 +55,24 @@ 41343@@ -55,12 +55,24 @@
40994 #include <linux/pipe_fs_i.h> 41344 #include <linux/pipe_fs_i.h>
40995 #include <linux/oom.h> 41345 #include <linux/oom.h>
@@ -41673,9 +42023,9 @@ diff -urNp linux-3.0.7/fs/exec.c linux-3.0.7/fs/exec.c
41673 } 42023 }
41674 EXPORT_SYMBOL(dump_write); 42024 EXPORT_SYMBOL(dump_write);
41675 42025
41676diff -urNp linux-3.0.7/fs/ext2/balloc.c linux-3.0.7/fs/ext2/balloc.c 42026diff -urNp linux-3.0.8/fs/ext2/balloc.c linux-3.0.8/fs/ext2/balloc.c
41677--- linux-3.0.7/fs/ext2/balloc.c 2011-07-21 22:17:23.000000000 -0400 42027--- linux-3.0.8/fs/ext2/balloc.c 2011-07-21 22:17:23.000000000 -0400
41678+++ linux-3.0.7/fs/ext2/balloc.c 2011-08-23 21:48:14.000000000 -0400 42028+++ linux-3.0.8/fs/ext2/balloc.c 2011-08-23 21:48:14.000000000 -0400
41679@@ -1192,7 +1192,7 @@ static int ext2_has_free_blocks(struct e 42029@@ -1192,7 +1192,7 @@ static int ext2_has_free_blocks(struct e
41680 42030
41681 free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter); 42031 free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter);
@@ -41685,9 +42035,9 @@ diff -urNp linux-3.0.7/fs/ext2/balloc.c linux-3.0.7/fs/ext2/balloc.c
41685 sbi->s_resuid != current_fsuid() && 42035 sbi->s_resuid != current_fsuid() &&
41686 (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid))) { 42036 (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid))) {
41687 return 0; 42037 return 0;
41688diff -urNp linux-3.0.7/fs/ext3/balloc.c linux-3.0.7/fs/ext3/balloc.c 42038diff -urNp linux-3.0.8/fs/ext3/balloc.c linux-3.0.8/fs/ext3/balloc.c
41689--- linux-3.0.7/fs/ext3/balloc.c 2011-07-21 22:17:23.000000000 -0400 42039--- linux-3.0.8/fs/ext3/balloc.c 2011-07-21 22:17:23.000000000 -0400
41690+++ linux-3.0.7/fs/ext3/balloc.c 2011-08-23 21:48:14.000000000 -0400 42040+++ linux-3.0.8/fs/ext3/balloc.c 2011-08-23 21:48:14.000000000 -0400
41691@@ -1441,7 +1441,7 @@ static int ext3_has_free_blocks(struct e 42041@@ -1441,7 +1441,7 @@ static int ext3_has_free_blocks(struct e
41692 42042
41693 free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter); 42043 free_blocks = percpu_counter_read_positive(&sbi->s_freeblocks_counter);
@@ -41697,9 +42047,9 @@ diff -urNp linux-3.0.7/fs/ext3/balloc.c linux-3.0.7/fs/ext3/balloc.c
41697 sbi->s_resuid != current_fsuid() && 42047 sbi->s_resuid != current_fsuid() &&
41698 (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid))) { 42048 (sbi->s_resgid == 0 || !in_group_p (sbi->s_resgid))) {
41699 return 0; 42049 return 0;
41700diff -urNp linux-3.0.7/fs/ext3/ioctl.c linux-3.0.7/fs/ext3/ioctl.c 42050diff -urNp linux-3.0.8/fs/ext3/ioctl.c linux-3.0.8/fs/ext3/ioctl.c
41701--- linux-3.0.7/fs/ext3/ioctl.c 2011-07-21 22:17:23.000000000 -0400 42051--- linux-3.0.8/fs/ext3/ioctl.c 2011-07-21 22:17:23.000000000 -0400
41702+++ linux-3.0.7/fs/ext3/ioctl.c 2011-10-06 04:17:55.000000000 -0400 42052+++ linux-3.0.8/fs/ext3/ioctl.c 2011-10-06 04:17:55.000000000 -0400
41703@@ -285,7 +285,7 @@ group_add_out: 42053@@ -285,7 +285,7 @@ group_add_out:
41704 if (!capable(CAP_SYS_ADMIN)) 42054 if (!capable(CAP_SYS_ADMIN))
41705 return -EPERM; 42055 return -EPERM;
@@ -41718,9 +42068,9 @@ diff -urNp linux-3.0.7/fs/ext3/ioctl.c linux-3.0.7/fs/ext3/ioctl.c
41718 sizeof(range))) 42068 sizeof(range)))
41719 return -EFAULT; 42069 return -EFAULT;
41720 42070
41721diff -urNp linux-3.0.7/fs/ext4/balloc.c linux-3.0.7/fs/ext4/balloc.c 42071diff -urNp linux-3.0.8/fs/ext4/balloc.c linux-3.0.8/fs/ext4/balloc.c
41722--- linux-3.0.7/fs/ext4/balloc.c 2011-07-21 22:17:23.000000000 -0400 42072--- linux-3.0.8/fs/ext4/balloc.c 2011-07-21 22:17:23.000000000 -0400
41723+++ linux-3.0.7/fs/ext4/balloc.c 2011-08-23 21:48:14.000000000 -0400 42073+++ linux-3.0.8/fs/ext4/balloc.c 2011-08-23 21:48:14.000000000 -0400
41724@@ -394,8 +394,8 @@ static int ext4_has_free_blocks(struct e 42074@@ -394,8 +394,8 @@ static int ext4_has_free_blocks(struct e
41725 /* Hm, nope. Are (enough) root reserved blocks available? */ 42075 /* Hm, nope. Are (enough) root reserved blocks available? */
41726 if (sbi->s_resuid == current_fsuid() || 42076 if (sbi->s_resuid == current_fsuid() ||
@@ -41732,9 +42082,9 @@ diff -urNp linux-3.0.7/fs/ext4/balloc.c linux-3.0.7/fs/ext4/balloc.c
41732 42082
41733 if (free_blocks >= (nblocks + dirty_blocks)) 42083 if (free_blocks >= (nblocks + dirty_blocks))
41734 return 1; 42084 return 1;
41735diff -urNp linux-3.0.7/fs/ext4/ext4.h linux-3.0.7/fs/ext4/ext4.h 42085diff -urNp linux-3.0.8/fs/ext4/ext4.h linux-3.0.8/fs/ext4/ext4.h
41736--- linux-3.0.7/fs/ext4/ext4.h 2011-09-02 18:11:21.000000000 -0400 42086--- linux-3.0.8/fs/ext4/ext4.h 2011-10-24 08:05:21.000000000 -0400
41737+++ linux-3.0.7/fs/ext4/ext4.h 2011-08-23 21:47:56.000000000 -0400 42087+++ linux-3.0.8/fs/ext4/ext4.h 2011-08-23 21:47:56.000000000 -0400
41738@@ -1177,19 +1177,19 @@ struct ext4_sb_info { 42088@@ -1177,19 +1177,19 @@ struct ext4_sb_info {
41739 unsigned long s_mb_last_start; 42089 unsigned long s_mb_last_start;
41740 42090
@@ -41765,9 +42115,9 @@ diff -urNp linux-3.0.7/fs/ext4/ext4.h linux-3.0.7/fs/ext4/ext4.h
41765 atomic_t s_lock_busy; 42115 atomic_t s_lock_busy;
41766 42116
41767 /* locality groups */ 42117 /* locality groups */
41768diff -urNp linux-3.0.7/fs/ext4/file.c linux-3.0.7/fs/ext4/file.c 42118diff -urNp linux-3.0.8/fs/ext4/file.c linux-3.0.8/fs/ext4/file.c
41769--- linux-3.0.7/fs/ext4/file.c 2011-07-21 22:17:23.000000000 -0400 42119--- linux-3.0.8/fs/ext4/file.c 2011-07-21 22:17:23.000000000 -0400
41770+++ linux-3.0.7/fs/ext4/file.c 2011-10-17 02:30:30.000000000 -0400 42120+++ linux-3.0.8/fs/ext4/file.c 2011-10-17 02:30:30.000000000 -0400
41771@@ -181,8 +181,8 @@ static int ext4_file_open(struct inode * 42121@@ -181,8 +181,8 @@ static int ext4_file_open(struct inode *
41772 path.dentry = mnt->mnt_root; 42122 path.dentry = mnt->mnt_root;
41773 cp = d_path(&path, buf, sizeof(buf)); 42123 cp = d_path(&path, buf, sizeof(buf));
@@ -41779,9 +42129,9 @@ diff -urNp linux-3.0.7/fs/ext4/file.c linux-3.0.7/fs/ext4/file.c
41779 ext4_mark_super_dirty(sb); 42129 ext4_mark_super_dirty(sb);
41780 } 42130 }
41781 } 42131 }
41782diff -urNp linux-3.0.7/fs/ext4/ioctl.c linux-3.0.7/fs/ext4/ioctl.c 42132diff -urNp linux-3.0.8/fs/ext4/ioctl.c linux-3.0.8/fs/ext4/ioctl.c
41783--- linux-3.0.7/fs/ext4/ioctl.c 2011-07-21 22:17:23.000000000 -0400 42133--- linux-3.0.8/fs/ext4/ioctl.c 2011-07-21 22:17:23.000000000 -0400
41784+++ linux-3.0.7/fs/ext4/ioctl.c 2011-10-06 04:17:55.000000000 -0400 42134+++ linux-3.0.8/fs/ext4/ioctl.c 2011-10-06 04:17:55.000000000 -0400
41785@@ -344,7 +344,7 @@ mext_out: 42135@@ -344,7 +344,7 @@ mext_out:
41786 if (!blk_queue_discard(q)) 42136 if (!blk_queue_discard(q))
41787 return -EOPNOTSUPP; 42137 return -EOPNOTSUPP;
@@ -41800,9 +42150,9 @@ diff -urNp linux-3.0.7/fs/ext4/ioctl.c linux-3.0.7/fs/ext4/ioctl.c
41800 sizeof(range))) 42150 sizeof(range)))
41801 return -EFAULT; 42151 return -EFAULT;
41802 42152
41803diff -urNp linux-3.0.7/fs/ext4/mballoc.c linux-3.0.7/fs/ext4/mballoc.c 42153diff -urNp linux-3.0.8/fs/ext4/mballoc.c linux-3.0.8/fs/ext4/mballoc.c
41804--- linux-3.0.7/fs/ext4/mballoc.c 2011-09-02 18:11:21.000000000 -0400 42154--- linux-3.0.8/fs/ext4/mballoc.c 2011-10-24 08:05:21.000000000 -0400
41805+++ linux-3.0.7/fs/ext4/mballoc.c 2011-08-23 21:48:14.000000000 -0400 42155+++ linux-3.0.8/fs/ext4/mballoc.c 2011-08-23 21:48:14.000000000 -0400
41806@@ -1793,7 +1793,7 @@ void ext4_mb_simple_scan_group(struct ex 42156@@ -1793,7 +1793,7 @@ void ext4_mb_simple_scan_group(struct ex
41807 BUG_ON(ac->ac_b_ex.fe_len != ac->ac_g_ex.fe_len); 42157 BUG_ON(ac->ac_b_ex.fe_len != ac->ac_g_ex.fe_len);
41808 42158
@@ -41925,9 +42275,9 @@ diff -urNp linux-3.0.7/fs/ext4/mballoc.c linux-3.0.7/fs/ext4/mballoc.c
41925 trace_ext4_mballoc_discard(sb, NULL, group, bit, pa->pa_len); 42275 trace_ext4_mballoc_discard(sb, NULL, group, bit, pa->pa_len);
41926 42276
41927 return 0; 42277 return 0;
41928diff -urNp linux-3.0.7/fs/fcntl.c linux-3.0.7/fs/fcntl.c 42278diff -urNp linux-3.0.8/fs/fcntl.c linux-3.0.8/fs/fcntl.c
41929--- linux-3.0.7/fs/fcntl.c 2011-07-21 22:17:23.000000000 -0400 42279--- linux-3.0.8/fs/fcntl.c 2011-07-21 22:17:23.000000000 -0400
41930+++ linux-3.0.7/fs/fcntl.c 2011-10-06 04:17:55.000000000 -0400 42280+++ linux-3.0.8/fs/fcntl.c 2011-10-06 04:17:55.000000000 -0400
41931@@ -224,6 +224,11 @@ int __f_setown(struct file *filp, struct 42281@@ -224,6 +224,11 @@ int __f_setown(struct file *filp, struct
41932 if (err) 42282 if (err)
41933 return err; 42283 return err;
@@ -41983,9 +42333,9 @@ diff -urNp linux-3.0.7/fs/fcntl.c linux-3.0.7/fs/fcntl.c
41983 )); 42333 ));
41984 42334
41985 fasync_cache = kmem_cache_create("fasync_cache", 42335 fasync_cache = kmem_cache_create("fasync_cache",
41986diff -urNp linux-3.0.7/fs/fifo.c linux-3.0.7/fs/fifo.c 42336diff -urNp linux-3.0.8/fs/fifo.c linux-3.0.8/fs/fifo.c
41987--- linux-3.0.7/fs/fifo.c 2011-07-21 22:17:23.000000000 -0400 42337--- linux-3.0.8/fs/fifo.c 2011-07-21 22:17:23.000000000 -0400
41988+++ linux-3.0.7/fs/fifo.c 2011-08-23 21:47:56.000000000 -0400 42338+++ linux-3.0.8/fs/fifo.c 2011-08-23 21:47:56.000000000 -0400
41989@@ -58,10 +58,10 @@ static int fifo_open(struct inode *inode 42339@@ -58,10 +58,10 @@ static int fifo_open(struct inode *inode
41990 */ 42340 */
41991 filp->f_op = &read_pipefifo_fops; 42341 filp->f_op = &read_pipefifo_fops;
@@ -42056,9 +42406,9 @@ diff -urNp linux-3.0.7/fs/fifo.c linux-3.0.7/fs/fifo.c
42056 free_pipe_info(inode); 42406 free_pipe_info(inode);
42057 42407
42058 err_nocleanup: 42408 err_nocleanup:
42059diff -urNp linux-3.0.7/fs/file.c linux-3.0.7/fs/file.c 42409diff -urNp linux-3.0.8/fs/file.c linux-3.0.8/fs/file.c
42060--- linux-3.0.7/fs/file.c 2011-07-21 22:17:23.000000000 -0400 42410--- linux-3.0.8/fs/file.c 2011-07-21 22:17:23.000000000 -0400
42061+++ linux-3.0.7/fs/file.c 2011-08-23 21:48:14.000000000 -0400 42411+++ linux-3.0.8/fs/file.c 2011-08-23 21:48:14.000000000 -0400
42062@@ -15,6 +15,7 @@ 42412@@ -15,6 +15,7 @@
42063 #include <linux/slab.h> 42413 #include <linux/slab.h>
42064 #include <linux/vmalloc.h> 42414 #include <linux/vmalloc.h>
@@ -42075,9 +42425,9 @@ diff -urNp linux-3.0.7/fs/file.c linux-3.0.7/fs/file.c
42075 if (nr >= rlimit(RLIMIT_NOFILE)) 42425 if (nr >= rlimit(RLIMIT_NOFILE))
42076 return -EMFILE; 42426 return -EMFILE;
42077 42427
42078diff -urNp linux-3.0.7/fs/filesystems.c linux-3.0.7/fs/filesystems.c 42428diff -urNp linux-3.0.8/fs/filesystems.c linux-3.0.8/fs/filesystems.c
42079--- linux-3.0.7/fs/filesystems.c 2011-07-21 22:17:23.000000000 -0400 42429--- linux-3.0.8/fs/filesystems.c 2011-07-21 22:17:23.000000000 -0400
42080+++ linux-3.0.7/fs/filesystems.c 2011-08-23 21:48:14.000000000 -0400 42430+++ linux-3.0.8/fs/filesystems.c 2011-08-23 21:48:14.000000000 -0400
42081@@ -274,7 +274,12 @@ struct file_system_type *get_fs_type(con 42431@@ -274,7 +274,12 @@ struct file_system_type *get_fs_type(con
42082 int len = dot ? dot - name : strlen(name); 42432 int len = dot ? dot - name : strlen(name);
42083 42433
@@ -42091,101 +42441,9 @@ diff -urNp linux-3.0.7/fs/filesystems.c linux-3.0.7/fs/filesystems.c
42091 fs = __get_fs_type(name, len); 42441 fs = __get_fs_type(name, len);
42092 42442
42093 if (dot && fs && !(fs->fs_flags & FS_HAS_SUBTYPE)) { 42443 if (dot && fs && !(fs->fs_flags & FS_HAS_SUBTYPE)) {
42094diff -urNp linux-3.0.7/fs/fs_struct.c linux-3.0.7/fs/fs_struct.c 42444diff -urNp linux-3.0.8/fs/fscache/cookie.c linux-3.0.8/fs/fscache/cookie.c
42095--- linux-3.0.7/fs/fs_struct.c 2011-07-21 22:17:23.000000000 -0400 42445--- linux-3.0.8/fs/fscache/cookie.c 2011-07-21 22:17:23.000000000 -0400
42096+++ linux-3.0.7/fs/fs_struct.c 2011-08-23 21:48:14.000000000 -0400 42446+++ linux-3.0.8/fs/fscache/cookie.c 2011-08-23 21:47:56.000000000 -0400
42097@@ -4,6 +4,7 @@
42098 #include <linux/path.h>
42099 #include <linux/slab.h>
42100 #include <linux/fs_struct.h>
42101+#include <linux/grsecurity.h>
42102 #include "internal.h"
42103
42104 static inline void path_get_longterm(struct path *path)
42105@@ -31,6 +32,7 @@ void set_fs_root(struct fs_struct *fs, s
42106 old_root = fs->root;
42107 fs->root = *path;
42108 path_get_longterm(path);
42109+ gr_set_chroot_entries(current, path);
42110 write_seqcount_end(&fs->seq);
42111 spin_unlock(&fs->lock);
42112 if (old_root.dentry)
42113@@ -74,6 +76,7 @@ void chroot_fs_refs(struct path *old_roo
42114 && fs->root.mnt == old_root->mnt) {
42115 path_get_longterm(new_root);
42116 fs->root = *new_root;
42117+ gr_set_chroot_entries(p, new_root);
42118 count++;
42119 }
42120 if (fs->pwd.dentry == old_root->dentry
42121@@ -109,7 +112,8 @@ void exit_fs(struct task_struct *tsk)
42122 spin_lock(&fs->lock);
42123 write_seqcount_begin(&fs->seq);
42124 tsk->fs = NULL;
42125- kill = !--fs->users;
42126+ gr_clear_chroot_entries(tsk);
42127+ kill = !atomic_dec_return(&fs->users);
42128 write_seqcount_end(&fs->seq);
42129 spin_unlock(&fs->lock);
42130 task_unlock(tsk);
42131@@ -123,7 +127,7 @@ struct fs_struct *copy_fs_struct(struct
42132 struct fs_struct *fs = kmem_cache_alloc(fs_cachep, GFP_KERNEL);
42133 /* We don't need to lock fs - think why ;-) */
42134 if (fs) {
42135- fs->users = 1;
42136+ atomic_set(&fs->users, 1);
42137 fs->in_exec = 0;
42138 spin_lock_init(&fs->lock);
42139 seqcount_init(&fs->seq);
42140@@ -132,6 +136,9 @@ struct fs_struct *copy_fs_struct(struct
42141 spin_lock(&old->lock);
42142 fs->root = old->root;
42143 path_get_longterm(&fs->root);
42144+ /* instead of calling gr_set_chroot_entries here,
42145+ we call it from every caller of this function
42146+ */
42147 fs->pwd = old->pwd;
42148 path_get_longterm(&fs->pwd);
42149 spin_unlock(&old->lock);
42150@@ -150,8 +157,9 @@ int unshare_fs_struct(void)
42151
42152 task_lock(current);
42153 spin_lock(&fs->lock);
42154- kill = !--fs->users;
42155+ kill = !atomic_dec_return(&fs->users);
42156 current->fs = new_fs;
42157+ gr_set_chroot_entries(current, &new_fs->root);
42158 spin_unlock(&fs->lock);
42159 task_unlock(current);
42160
42161@@ -170,7 +178,7 @@ EXPORT_SYMBOL(current_umask);
42162
42163 /* to be mentioned only in INIT_TASK */
42164 struct fs_struct init_fs = {
42165- .users = 1,
42166+ .users = ATOMIC_INIT(1),
42167 .lock = __SPIN_LOCK_UNLOCKED(init_fs.lock),
42168 .seq = SEQCNT_ZERO,
42169 .umask = 0022,
42170@@ -186,12 +194,13 @@ void daemonize_fs_struct(void)
42171 task_lock(current);
42172
42173 spin_lock(&init_fs.lock);
42174- init_fs.users++;
42175+ atomic_inc(&init_fs.users);
42176 spin_unlock(&init_fs.lock);
42177
42178 spin_lock(&fs->lock);
42179 current->fs = &init_fs;
42180- kill = !--fs->users;
42181+ gr_set_chroot_entries(current, &current->fs->root);
42182+ kill = !atomic_dec_return(&fs->users);
42183 spin_unlock(&fs->lock);
42184
42185 task_unlock(current);
42186diff -urNp linux-3.0.7/fs/fscache/cookie.c linux-3.0.7/fs/fscache/cookie.c
42187--- linux-3.0.7/fs/fscache/cookie.c 2011-07-21 22:17:23.000000000 -0400
42188+++ linux-3.0.7/fs/fscache/cookie.c 2011-08-23 21:47:56.000000000 -0400
42189@@ -68,11 +68,11 @@ struct fscache_cookie *__fscache_acquire 42447@@ -68,11 +68,11 @@ struct fscache_cookie *__fscache_acquire
42190 parent ? (char *) parent->def->name : "<no-parent>", 42448 parent ? (char *) parent->def->name : "<no-parent>",
42191 def->name, netfs_data); 42449 def->name, netfs_data);
@@ -42304,9 +42562,9 @@ diff -urNp linux-3.0.7/fs/fscache/cookie.c linux-3.0.7/fs/fscache/cookie.c
42304 wait_on_bit(&cookie->flags, FSCACHE_COOKIE_CREATING, 42562 wait_on_bit(&cookie->flags, FSCACHE_COOKIE_CREATING,
42305 fscache_wait_bit, TASK_UNINTERRUPTIBLE); 42563 fscache_wait_bit, TASK_UNINTERRUPTIBLE);
42306 } 42564 }
42307diff -urNp linux-3.0.7/fs/fscache/internal.h linux-3.0.7/fs/fscache/internal.h 42565diff -urNp linux-3.0.8/fs/fscache/internal.h linux-3.0.8/fs/fscache/internal.h
42308--- linux-3.0.7/fs/fscache/internal.h 2011-07-21 22:17:23.000000000 -0400 42566--- linux-3.0.8/fs/fscache/internal.h 2011-07-21 22:17:23.000000000 -0400
42309+++ linux-3.0.7/fs/fscache/internal.h 2011-08-23 21:47:56.000000000 -0400 42567+++ linux-3.0.8/fs/fscache/internal.h 2011-08-23 21:47:56.000000000 -0400
42310@@ -144,94 +144,94 @@ extern void fscache_proc_cleanup(void); 42568@@ -144,94 +144,94 @@ extern void fscache_proc_cleanup(void);
42311 extern atomic_t fscache_n_ops_processed[FSCACHE_MAX_THREADS]; 42569 extern atomic_t fscache_n_ops_processed[FSCACHE_MAX_THREADS];
42312 extern atomic_t fscache_n_objs_processed[FSCACHE_MAX_THREADS]; 42570 extern atomic_t fscache_n_objs_processed[FSCACHE_MAX_THREADS];
@@ -42510,9 +42768,9 @@ diff -urNp linux-3.0.7/fs/fscache/internal.h linux-3.0.7/fs/fscache/internal.h
42510 #define fscache_stat_d(stat) do {} while (0) 42768 #define fscache_stat_d(stat) do {} while (0)
42511 #endif 42769 #endif
42512 42770
42513diff -urNp linux-3.0.7/fs/fscache/object.c linux-3.0.7/fs/fscache/object.c 42771diff -urNp linux-3.0.8/fs/fscache/object.c linux-3.0.8/fs/fscache/object.c
42514--- linux-3.0.7/fs/fscache/object.c 2011-07-21 22:17:23.000000000 -0400 42772--- linux-3.0.8/fs/fscache/object.c 2011-07-21 22:17:23.000000000 -0400
42515+++ linux-3.0.7/fs/fscache/object.c 2011-08-23 21:47:56.000000000 -0400 42773+++ linux-3.0.8/fs/fscache/object.c 2011-08-23 21:47:56.000000000 -0400
42516@@ -128,7 +128,7 @@ static void fscache_object_state_machine 42774@@ -128,7 +128,7 @@ static void fscache_object_state_machine
42517 /* update the object metadata on disk */ 42775 /* update the object metadata on disk */
42518 case FSCACHE_OBJECT_UPDATING: 42776 case FSCACHE_OBJECT_UPDATING:
@@ -42624,9 +42882,9 @@ diff -urNp linux-3.0.7/fs/fscache/object.c linux-3.0.7/fs/fscache/object.c
42624 break; 42882 break;
42625 42883
42626 default: 42884 default:
42627diff -urNp linux-3.0.7/fs/fscache/operation.c linux-3.0.7/fs/fscache/operation.c 42885diff -urNp linux-3.0.8/fs/fscache/operation.c linux-3.0.8/fs/fscache/operation.c
42628--- linux-3.0.7/fs/fscache/operation.c 2011-07-21 22:17:23.000000000 -0400 42886--- linux-3.0.8/fs/fscache/operation.c 2011-07-21 22:17:23.000000000 -0400
42629+++ linux-3.0.7/fs/fscache/operation.c 2011-08-23 21:47:56.000000000 -0400 42887+++ linux-3.0.8/fs/fscache/operation.c 2011-08-23 21:47:56.000000000 -0400
42630@@ -17,7 +17,7 @@ 42888@@ -17,7 +17,7 @@
42631 #include <linux/slab.h> 42889 #include <linux/slab.h>
42632 #include "internal.h" 42890 #include "internal.h"
@@ -42742,9 +43000,9 @@ diff -urNp linux-3.0.7/fs/fscache/operation.c linux-3.0.7/fs/fscache/operation.c
42742 43000
42743 ASSERTCMP(atomic_read(&op->usage), ==, 0); 43001 ASSERTCMP(atomic_read(&op->usage), ==, 0);
42744 43002
42745diff -urNp linux-3.0.7/fs/fscache/page.c linux-3.0.7/fs/fscache/page.c 43003diff -urNp linux-3.0.8/fs/fscache/page.c linux-3.0.8/fs/fscache/page.c
42746--- linux-3.0.7/fs/fscache/page.c 2011-07-21 22:17:23.000000000 -0400 43004--- linux-3.0.8/fs/fscache/page.c 2011-07-21 22:17:23.000000000 -0400
42747+++ linux-3.0.7/fs/fscache/page.c 2011-08-23 21:47:56.000000000 -0400 43005+++ linux-3.0.8/fs/fscache/page.c 2011-08-23 21:47:56.000000000 -0400
42748@@ -60,7 +60,7 @@ bool __fscache_maybe_release_page(struct 43006@@ -60,7 +60,7 @@ bool __fscache_maybe_release_page(struct
42749 val = radix_tree_lookup(&cookie->stores, page->index); 43007 val = radix_tree_lookup(&cookie->stores, page->index);
42750 if (!val) { 43008 if (!val) {
@@ -43128,9 +43386,9 @@ diff -urNp linux-3.0.7/fs/fscache/page.c linux-3.0.7/fs/fscache/page.c
43128 #endif 43386 #endif
43129 43387
43130 for (loop = 0; loop < pagevec->nr; loop++) { 43388 for (loop = 0; loop < pagevec->nr; loop++) {
43131diff -urNp linux-3.0.7/fs/fscache/stats.c linux-3.0.7/fs/fscache/stats.c 43389diff -urNp linux-3.0.8/fs/fscache/stats.c linux-3.0.8/fs/fscache/stats.c
43132--- linux-3.0.7/fs/fscache/stats.c 2011-07-21 22:17:23.000000000 -0400 43390--- linux-3.0.8/fs/fscache/stats.c 2011-07-21 22:17:23.000000000 -0400
43133+++ linux-3.0.7/fs/fscache/stats.c 2011-08-23 21:47:56.000000000 -0400 43391+++ linux-3.0.8/fs/fscache/stats.c 2011-08-23 21:47:56.000000000 -0400
43134@@ -18,95 +18,95 @@ 43392@@ -18,95 +18,95 @@
43135 /* 43393 /*
43136 * operation counters 43394 * operation counters
@@ -43506,9 +43764,101 @@ diff -urNp linux-3.0.7/fs/fscache/stats.c linux-3.0.7/fs/fscache/stats.c
43506 43764
43507 seq_printf(m, "CacheOp: alo=%d luo=%d luc=%d gro=%d\n", 43765 seq_printf(m, "CacheOp: alo=%d luo=%d luc=%d gro=%d\n",
43508 atomic_read(&fscache_n_cop_alloc_object), 43766 atomic_read(&fscache_n_cop_alloc_object),
43509diff -urNp linux-3.0.7/fs/fuse/cuse.c linux-3.0.7/fs/fuse/cuse.c 43767diff -urNp linux-3.0.8/fs/fs_struct.c linux-3.0.8/fs/fs_struct.c
43510--- linux-3.0.7/fs/fuse/cuse.c 2011-07-21 22:17:23.000000000 -0400 43768--- linux-3.0.8/fs/fs_struct.c 2011-07-21 22:17:23.000000000 -0400
43511+++ linux-3.0.7/fs/fuse/cuse.c 2011-08-23 21:47:56.000000000 -0400 43769+++ linux-3.0.8/fs/fs_struct.c 2011-08-23 21:48:14.000000000 -0400
43770@@ -4,6 +4,7 @@
43771 #include <linux/path.h>
43772 #include <linux/slab.h>
43773 #include <linux/fs_struct.h>
43774+#include <linux/grsecurity.h>
43775 #include "internal.h"
43776
43777 static inline void path_get_longterm(struct path *path)
43778@@ -31,6 +32,7 @@ void set_fs_root(struct fs_struct *fs, s
43779 old_root = fs->root;
43780 fs->root = *path;
43781 path_get_longterm(path);
43782+ gr_set_chroot_entries(current, path);
43783 write_seqcount_end(&fs->seq);
43784 spin_unlock(&fs->lock);
43785 if (old_root.dentry)
43786@@ -74,6 +76,7 @@ void chroot_fs_refs(struct path *old_roo
43787 && fs->root.mnt == old_root->mnt) {
43788 path_get_longterm(new_root);
43789 fs->root = *new_root;
43790+ gr_set_chroot_entries(p, new_root);
43791 count++;
43792 }
43793 if (fs->pwd.dentry == old_root->dentry
43794@@ -109,7 +112,8 @@ void exit_fs(struct task_struct *tsk)
43795 spin_lock(&fs->lock);
43796 write_seqcount_begin(&fs->seq);
43797 tsk->fs = NULL;
43798- kill = !--fs->users;
43799+ gr_clear_chroot_entries(tsk);
43800+ kill = !atomic_dec_return(&fs->users);
43801 write_seqcount_end(&fs->seq);
43802 spin_unlock(&fs->lock);
43803 task_unlock(tsk);
43804@@ -123,7 +127,7 @@ struct fs_struct *copy_fs_struct(struct
43805 struct fs_struct *fs = kmem_cache_alloc(fs_cachep, GFP_KERNEL);
43806 /* We don't need to lock fs - think why ;-) */
43807 if (fs) {
43808- fs->users = 1;
43809+ atomic_set(&fs->users, 1);
43810 fs->in_exec = 0;
43811 spin_lock_init(&fs->lock);
43812 seqcount_init(&fs->seq);
43813@@ -132,6 +136,9 @@ struct fs_struct *copy_fs_struct(struct
43814 spin_lock(&old->lock);
43815 fs->root = old->root;
43816 path_get_longterm(&fs->root);
43817+ /* instead of calling gr_set_chroot_entries here,
43818+ we call it from every caller of this function
43819+ */
43820 fs->pwd = old->pwd;
43821 path_get_longterm(&fs->pwd);
43822 spin_unlock(&old->lock);
43823@@ -150,8 +157,9 @@ int unshare_fs_struct(void)
43824
43825 task_lock(current);
43826 spin_lock(&fs->lock);
43827- kill = !--fs->users;
43828+ kill = !atomic_dec_return(&fs->users);
43829 current->fs = new_fs;
43830+ gr_set_chroot_entries(current, &new_fs->root);
43831 spin_unlock(&fs->lock);
43832 task_unlock(current);
43833
43834@@ -170,7 +178,7 @@ EXPORT_SYMBOL(current_umask);
43835
43836 /* to be mentioned only in INIT_TASK */
43837 struct fs_struct init_fs = {
43838- .users = 1,
43839+ .users = ATOMIC_INIT(1),
43840 .lock = __SPIN_LOCK_UNLOCKED(init_fs.lock),
43841 .seq = SEQCNT_ZERO,
43842 .umask = 0022,
43843@@ -186,12 +194,13 @@ void daemonize_fs_struct(void)
43844 task_lock(current);
43845
43846 spin_lock(&init_fs.lock);
43847- init_fs.users++;
43848+ atomic_inc(&init_fs.users);
43849 spin_unlock(&init_fs.lock);
43850
43851 spin_lock(&fs->lock);
43852 current->fs = &init_fs;
43853- kill = !--fs->users;
43854+ gr_set_chroot_entries(current, &current->fs->root);
43855+ kill = !atomic_dec_return(&fs->users);
43856 spin_unlock(&fs->lock);
43857
43858 task_unlock(current);
43859diff -urNp linux-3.0.8/fs/fuse/cuse.c linux-3.0.8/fs/fuse/cuse.c
43860--- linux-3.0.8/fs/fuse/cuse.c 2011-07-21 22:17:23.000000000 -0400
43861+++ linux-3.0.8/fs/fuse/cuse.c 2011-08-23 21:47:56.000000000 -0400
43512@@ -586,10 +586,12 @@ static int __init cuse_init(void) 43862@@ -586,10 +586,12 @@ static int __init cuse_init(void)
43513 INIT_LIST_HEAD(&cuse_conntbl[i]); 43863 INIT_LIST_HEAD(&cuse_conntbl[i]);
43514 43864
@@ -43526,10 +43876,10 @@ diff -urNp linux-3.0.7/fs/fuse/cuse.c linux-3.0.7/fs/fuse/cuse.c
43526 43876
43527 cuse_class = class_create(THIS_MODULE, "cuse"); 43877 cuse_class = class_create(THIS_MODULE, "cuse");
43528 if (IS_ERR(cuse_class)) 43878 if (IS_ERR(cuse_class))
43529diff -urNp linux-3.0.7/fs/fuse/dev.c linux-3.0.7/fs/fuse/dev.c 43879diff -urNp linux-3.0.8/fs/fuse/dev.c linux-3.0.8/fs/fuse/dev.c
43530--- linux-3.0.7/fs/fuse/dev.c 2011-09-02 18:11:26.000000000 -0400 43880--- linux-3.0.8/fs/fuse/dev.c 2011-10-25 09:10:33.000000000 -0400
43531+++ linux-3.0.7/fs/fuse/dev.c 2011-08-29 23:26:27.000000000 -0400 43881+++ linux-3.0.8/fs/fuse/dev.c 2011-10-25 09:10:41.000000000 -0400
43532@@ -1238,7 +1238,7 @@ static ssize_t fuse_dev_splice_read(stru 43882@@ -1242,7 +1242,7 @@ static ssize_t fuse_dev_splice_read(stru
43533 ret = 0; 43883 ret = 0;
43534 pipe_lock(pipe); 43884 pipe_lock(pipe);
43535 43885
@@ -43538,9 +43888,9 @@ diff -urNp linux-3.0.7/fs/fuse/dev.c linux-3.0.7/fs/fuse/dev.c
43538 send_sig(SIGPIPE, current, 0); 43888 send_sig(SIGPIPE, current, 0);
43539 if (!ret) 43889 if (!ret)
43540 ret = -EPIPE; 43890 ret = -EPIPE;
43541diff -urNp linux-3.0.7/fs/fuse/dir.c linux-3.0.7/fs/fuse/dir.c 43891diff -urNp linux-3.0.8/fs/fuse/dir.c linux-3.0.8/fs/fuse/dir.c
43542--- linux-3.0.7/fs/fuse/dir.c 2011-07-21 22:17:23.000000000 -0400 43892--- linux-3.0.8/fs/fuse/dir.c 2011-07-21 22:17:23.000000000 -0400
43543+++ linux-3.0.7/fs/fuse/dir.c 2011-08-23 21:47:56.000000000 -0400 43893+++ linux-3.0.8/fs/fuse/dir.c 2011-08-23 21:47:56.000000000 -0400
43544@@ -1148,7 +1148,7 @@ static char *read_link(struct dentry *de 43894@@ -1148,7 +1148,7 @@ static char *read_link(struct dentry *de
43545 return link; 43895 return link;
43546 } 43896 }
@@ -43550,9 +43900,9 @@ diff -urNp linux-3.0.7/fs/fuse/dir.c linux-3.0.7/fs/fuse/dir.c
43550 { 43900 {
43551 if (!IS_ERR(link)) 43901 if (!IS_ERR(link))
43552 free_page((unsigned long) link); 43902 free_page((unsigned long) link);
43553diff -urNp linux-3.0.7/fs/gfs2/inode.c linux-3.0.7/fs/gfs2/inode.c 43903diff -urNp linux-3.0.8/fs/gfs2/inode.c linux-3.0.8/fs/gfs2/inode.c
43554--- linux-3.0.7/fs/gfs2/inode.c 2011-07-21 22:17:23.000000000 -0400 43904--- linux-3.0.8/fs/gfs2/inode.c 2011-07-21 22:17:23.000000000 -0400
43555+++ linux-3.0.7/fs/gfs2/inode.c 2011-08-23 21:47:56.000000000 -0400 43905+++ linux-3.0.8/fs/gfs2/inode.c 2011-08-23 21:47:56.000000000 -0400
43556@@ -1525,7 +1525,7 @@ out: 43906@@ -1525,7 +1525,7 @@ out:
43557 43907
43558 static void gfs2_put_link(struct dentry *dentry, struct nameidata *nd, void *p) 43908 static void gfs2_put_link(struct dentry *dentry, struct nameidata *nd, void *p)
@@ -43562,9 +43912,9 @@ diff -urNp linux-3.0.7/fs/gfs2/inode.c linux-3.0.7/fs/gfs2/inode.c
43562 if (!IS_ERR(s)) 43912 if (!IS_ERR(s))
43563 kfree(s); 43913 kfree(s);
43564 } 43914 }
43565diff -urNp linux-3.0.7/fs/hfsplus/catalog.c linux-3.0.7/fs/hfsplus/catalog.c 43915diff -urNp linux-3.0.8/fs/hfsplus/catalog.c linux-3.0.8/fs/hfsplus/catalog.c
43566--- linux-3.0.7/fs/hfsplus/catalog.c 2011-07-21 22:17:23.000000000 -0400 43916--- linux-3.0.8/fs/hfsplus/catalog.c 2011-07-21 22:17:23.000000000 -0400
43567+++ linux-3.0.7/fs/hfsplus/catalog.c 2011-08-23 21:48:14.000000000 -0400 43917+++ linux-3.0.8/fs/hfsplus/catalog.c 2011-08-23 21:48:14.000000000 -0400
43568@@ -179,6 +179,8 @@ int hfsplus_find_cat(struct super_block 43918@@ -179,6 +179,8 @@ int hfsplus_find_cat(struct super_block
43569 int err; 43919 int err;
43570 u16 type; 43920 u16 type;
@@ -43592,9 +43942,9 @@ diff -urNp linux-3.0.7/fs/hfsplus/catalog.c linux-3.0.7/fs/hfsplus/catalog.c
43592 dprint(DBG_CAT_MOD, "rename_cat: %u - %lu,%s - %lu,%s\n", 43942 dprint(DBG_CAT_MOD, "rename_cat: %u - %lu,%s - %lu,%s\n",
43593 cnid, src_dir->i_ino, src_name->name, 43943 cnid, src_dir->i_ino, src_name->name,
43594 dst_dir->i_ino, dst_name->name); 43944 dst_dir->i_ino, dst_name->name);
43595diff -urNp linux-3.0.7/fs/hfsplus/dir.c linux-3.0.7/fs/hfsplus/dir.c 43945diff -urNp linux-3.0.8/fs/hfsplus/dir.c linux-3.0.8/fs/hfsplus/dir.c
43596--- linux-3.0.7/fs/hfsplus/dir.c 2011-07-21 22:17:23.000000000 -0400 43946--- linux-3.0.8/fs/hfsplus/dir.c 2011-07-21 22:17:23.000000000 -0400
43597+++ linux-3.0.7/fs/hfsplus/dir.c 2011-08-23 21:48:14.000000000 -0400 43947+++ linux-3.0.8/fs/hfsplus/dir.c 2011-08-23 21:48:14.000000000 -0400
43598@@ -129,6 +129,8 @@ static int hfsplus_readdir(struct file * 43948@@ -129,6 +129,8 @@ static int hfsplus_readdir(struct file *
43599 struct hfsplus_readdir_data *rd; 43949 struct hfsplus_readdir_data *rd;
43600 u16 type; 43950 u16 type;
@@ -43604,9 +43954,9 @@ diff -urNp linux-3.0.7/fs/hfsplus/dir.c linux-3.0.7/fs/hfsplus/dir.c
43604 if (filp->f_pos >= inode->i_size) 43954 if (filp->f_pos >= inode->i_size)
43605 return 0; 43955 return 0;
43606 43956
43607diff -urNp linux-3.0.7/fs/hfsplus/inode.c linux-3.0.7/fs/hfsplus/inode.c 43957diff -urNp linux-3.0.8/fs/hfsplus/inode.c linux-3.0.8/fs/hfsplus/inode.c
43608--- linux-3.0.7/fs/hfsplus/inode.c 2011-07-21 22:17:23.000000000 -0400 43958--- linux-3.0.8/fs/hfsplus/inode.c 2011-07-21 22:17:23.000000000 -0400
43609+++ linux-3.0.7/fs/hfsplus/inode.c 2011-08-23 21:48:14.000000000 -0400 43959+++ linux-3.0.8/fs/hfsplus/inode.c 2011-08-23 21:48:14.000000000 -0400
43610@@ -489,6 +489,8 @@ int hfsplus_cat_read_inode(struct inode 43960@@ -489,6 +489,8 @@ int hfsplus_cat_read_inode(struct inode
43611 int res = 0; 43961 int res = 0;
43612 u16 type; 43962 u16 type;
@@ -43625,9 +43975,9 @@ diff -urNp linux-3.0.7/fs/hfsplus/inode.c linux-3.0.7/fs/hfsplus/inode.c
43625 if (HFSPLUS_IS_RSRC(inode)) 43975 if (HFSPLUS_IS_RSRC(inode))
43626 main_inode = HFSPLUS_I(inode)->rsrc_inode; 43976 main_inode = HFSPLUS_I(inode)->rsrc_inode;
43627 43977
43628diff -urNp linux-3.0.7/fs/hfsplus/ioctl.c linux-3.0.7/fs/hfsplus/ioctl.c 43978diff -urNp linux-3.0.8/fs/hfsplus/ioctl.c linux-3.0.8/fs/hfsplus/ioctl.c
43629--- linux-3.0.7/fs/hfsplus/ioctl.c 2011-07-21 22:17:23.000000000 -0400 43979--- linux-3.0.8/fs/hfsplus/ioctl.c 2011-07-21 22:17:23.000000000 -0400
43630+++ linux-3.0.7/fs/hfsplus/ioctl.c 2011-08-23 21:48:14.000000000 -0400 43980+++ linux-3.0.8/fs/hfsplus/ioctl.c 2011-08-23 21:48:14.000000000 -0400
43631@@ -122,6 +122,8 @@ int hfsplus_setxattr(struct dentry *dent 43981@@ -122,6 +122,8 @@ int hfsplus_setxattr(struct dentry *dent
43632 struct hfsplus_cat_file *file; 43982 struct hfsplus_cat_file *file;
43633 int res; 43983 int res;
@@ -43646,9 +43996,9 @@ diff -urNp linux-3.0.7/fs/hfsplus/ioctl.c linux-3.0.7/fs/hfsplus/ioctl.c
43646 if (!S_ISREG(inode->i_mode) || HFSPLUS_IS_RSRC(inode)) 43996 if (!S_ISREG(inode->i_mode) || HFSPLUS_IS_RSRC(inode))
43647 return -EOPNOTSUPP; 43997 return -EOPNOTSUPP;
43648 43998
43649diff -urNp linux-3.0.7/fs/hfsplus/super.c linux-3.0.7/fs/hfsplus/super.c 43999diff -urNp linux-3.0.8/fs/hfsplus/super.c linux-3.0.8/fs/hfsplus/super.c
43650--- linux-3.0.7/fs/hfsplus/super.c 2011-07-21 22:17:23.000000000 -0400 44000--- linux-3.0.8/fs/hfsplus/super.c 2011-10-25 09:10:33.000000000 -0400
43651+++ linux-3.0.7/fs/hfsplus/super.c 2011-08-23 21:48:14.000000000 -0400 44001+++ linux-3.0.8/fs/hfsplus/super.c 2011-10-25 09:10:41.000000000 -0400
43652@@ -340,6 +340,8 @@ static int hfsplus_fill_super(struct sup 44002@@ -340,6 +340,8 @@ static int hfsplus_fill_super(struct sup
43653 struct nls_table *nls = NULL; 44003 struct nls_table *nls = NULL;
43654 int err; 44004 int err;
@@ -43658,9 +44008,9 @@ diff -urNp linux-3.0.7/fs/hfsplus/super.c linux-3.0.7/fs/hfsplus/super.c
43658 err = -EINVAL; 44008 err = -EINVAL;
43659 sbi = kzalloc(sizeof(*sbi), GFP_KERNEL); 44009 sbi = kzalloc(sizeof(*sbi), GFP_KERNEL);
43660 if (!sbi) 44010 if (!sbi)
43661diff -urNp linux-3.0.7/fs/hugetlbfs/inode.c linux-3.0.7/fs/hugetlbfs/inode.c 44011diff -urNp linux-3.0.8/fs/hugetlbfs/inode.c linux-3.0.8/fs/hugetlbfs/inode.c
43662--- linux-3.0.7/fs/hugetlbfs/inode.c 2011-07-21 22:17:23.000000000 -0400 44012--- linux-3.0.8/fs/hugetlbfs/inode.c 2011-07-21 22:17:23.000000000 -0400
43663+++ linux-3.0.7/fs/hugetlbfs/inode.c 2011-08-23 21:48:14.000000000 -0400 44013+++ linux-3.0.8/fs/hugetlbfs/inode.c 2011-08-23 21:48:14.000000000 -0400
43664@@ -914,7 +914,7 @@ static struct file_system_type hugetlbfs 44014@@ -914,7 +914,7 @@ static struct file_system_type hugetlbfs
43665 .kill_sb = kill_litter_super, 44015 .kill_sb = kill_litter_super,
43666 }; 44016 };
@@ -43670,9 +44020,9 @@ diff -urNp linux-3.0.7/fs/hugetlbfs/inode.c linux-3.0.7/fs/hugetlbfs/inode.c
43670 44020
43671 static int can_do_hugetlb_shm(void) 44021 static int can_do_hugetlb_shm(void)
43672 { 44022 {
43673diff -urNp linux-3.0.7/fs/inode.c linux-3.0.7/fs/inode.c 44023diff -urNp linux-3.0.8/fs/inode.c linux-3.0.8/fs/inode.c
43674--- linux-3.0.7/fs/inode.c 2011-07-21 22:17:23.000000000 -0400 44024--- linux-3.0.8/fs/inode.c 2011-07-21 22:17:23.000000000 -0400
43675+++ linux-3.0.7/fs/inode.c 2011-08-23 21:47:56.000000000 -0400 44025+++ linux-3.0.8/fs/inode.c 2011-08-23 21:47:56.000000000 -0400
43676@@ -829,8 +829,8 @@ unsigned int get_next_ino(void) 44026@@ -829,8 +829,8 @@ unsigned int get_next_ino(void)
43677 44027
43678 #ifdef CONFIG_SMP 44028 #ifdef CONFIG_SMP
@@ -43684,9 +44034,9 @@ diff -urNp linux-3.0.7/fs/inode.c linux-3.0.7/fs/inode.c
43684 44034
43685 res = next - LAST_INO_BATCH; 44035 res = next - LAST_INO_BATCH;
43686 } 44036 }
43687diff -urNp linux-3.0.7/fs/jbd/checkpoint.c linux-3.0.7/fs/jbd/checkpoint.c 44037diff -urNp linux-3.0.8/fs/jbd/checkpoint.c linux-3.0.8/fs/jbd/checkpoint.c
43688--- linux-3.0.7/fs/jbd/checkpoint.c 2011-07-21 22:17:23.000000000 -0400 44038--- linux-3.0.8/fs/jbd/checkpoint.c 2011-07-21 22:17:23.000000000 -0400
43689+++ linux-3.0.7/fs/jbd/checkpoint.c 2011-08-23 21:48:14.000000000 -0400 44039+++ linux-3.0.8/fs/jbd/checkpoint.c 2011-08-23 21:48:14.000000000 -0400
43690@@ -350,6 +350,8 @@ int log_do_checkpoint(journal_t *journal 44040@@ -350,6 +350,8 @@ int log_do_checkpoint(journal_t *journal
43691 tid_t this_tid; 44041 tid_t this_tid;
43692 int result; 44042 int result;
@@ -43696,9 +44046,9 @@ diff -urNp linux-3.0.7/fs/jbd/checkpoint.c linux-3.0.7/fs/jbd/checkpoint.c
43696 jbd_debug(1, "Start checkpoint\n"); 44046 jbd_debug(1, "Start checkpoint\n");
43697 44047
43698 /* 44048 /*
43699diff -urNp linux-3.0.7/fs/jffs2/compr_rtime.c linux-3.0.7/fs/jffs2/compr_rtime.c 44049diff -urNp linux-3.0.8/fs/jffs2/compr_rtime.c linux-3.0.8/fs/jffs2/compr_rtime.c
43700--- linux-3.0.7/fs/jffs2/compr_rtime.c 2011-07-21 22:17:23.000000000 -0400 44050--- linux-3.0.8/fs/jffs2/compr_rtime.c 2011-07-21 22:17:23.000000000 -0400
43701+++ linux-3.0.7/fs/jffs2/compr_rtime.c 2011-08-23 21:48:14.000000000 -0400 44051+++ linux-3.0.8/fs/jffs2/compr_rtime.c 2011-08-23 21:48:14.000000000 -0400
43702@@ -37,6 +37,8 @@ static int jffs2_rtime_compress(unsigned 44052@@ -37,6 +37,8 @@ static int jffs2_rtime_compress(unsigned
43703 int outpos = 0; 44053 int outpos = 0;
43704 int pos=0; 44054 int pos=0;
@@ -43717,9 +44067,9 @@ diff -urNp linux-3.0.7/fs/jffs2/compr_rtime.c linux-3.0.7/fs/jffs2/compr_rtime.c
43717 memset(positions,0,sizeof(positions)); 44067 memset(positions,0,sizeof(positions));
43718 44068
43719 while (outpos<destlen) { 44069 while (outpos<destlen) {
43720diff -urNp linux-3.0.7/fs/jffs2/compr_rubin.c linux-3.0.7/fs/jffs2/compr_rubin.c 44070diff -urNp linux-3.0.8/fs/jffs2/compr_rubin.c linux-3.0.8/fs/jffs2/compr_rubin.c
43721--- linux-3.0.7/fs/jffs2/compr_rubin.c 2011-07-21 22:17:23.000000000 -0400 44071--- linux-3.0.8/fs/jffs2/compr_rubin.c 2011-07-21 22:17:23.000000000 -0400
43722+++ linux-3.0.7/fs/jffs2/compr_rubin.c 2011-08-23 21:48:14.000000000 -0400 44072+++ linux-3.0.8/fs/jffs2/compr_rubin.c 2011-08-23 21:48:14.000000000 -0400
43723@@ -314,6 +314,8 @@ static int jffs2_dynrubin_compress(unsig 44073@@ -314,6 +314,8 @@ static int jffs2_dynrubin_compress(unsig
43724 int ret; 44074 int ret;
43725 uint32_t mysrclen, mydstlen; 44075 uint32_t mysrclen, mydstlen;
@@ -43729,9 +44079,9 @@ diff -urNp linux-3.0.7/fs/jffs2/compr_rubin.c linux-3.0.7/fs/jffs2/compr_rubin.c
43729 mysrclen = *sourcelen; 44079 mysrclen = *sourcelen;
43730 mydstlen = *dstlen - 8; 44080 mydstlen = *dstlen - 8;
43731 44081
43732diff -urNp linux-3.0.7/fs/jffs2/erase.c linux-3.0.7/fs/jffs2/erase.c 44082diff -urNp linux-3.0.8/fs/jffs2/erase.c linux-3.0.8/fs/jffs2/erase.c
43733--- linux-3.0.7/fs/jffs2/erase.c 2011-07-21 22:17:23.000000000 -0400 44083--- linux-3.0.8/fs/jffs2/erase.c 2011-07-21 22:17:23.000000000 -0400
43734+++ linux-3.0.7/fs/jffs2/erase.c 2011-08-23 21:47:56.000000000 -0400 44084+++ linux-3.0.8/fs/jffs2/erase.c 2011-08-23 21:47:56.000000000 -0400
43735@@ -439,7 +439,8 @@ static void jffs2_mark_erased_block(stru 44085@@ -439,7 +439,8 @@ static void jffs2_mark_erased_block(stru
43736 struct jffs2_unknown_node marker = { 44086 struct jffs2_unknown_node marker = {
43737 .magic = cpu_to_je16(JFFS2_MAGIC_BITMASK), 44087 .magic = cpu_to_je16(JFFS2_MAGIC_BITMASK),
@@ -43742,9 +44092,9 @@ diff -urNp linux-3.0.7/fs/jffs2/erase.c linux-3.0.7/fs/jffs2/erase.c
43742 }; 44092 };
43743 44093
43744 jffs2_prealloc_raw_node_refs(c, jeb, 1); 44094 jffs2_prealloc_raw_node_refs(c, jeb, 1);
43745diff -urNp linux-3.0.7/fs/jffs2/wbuf.c linux-3.0.7/fs/jffs2/wbuf.c 44095diff -urNp linux-3.0.8/fs/jffs2/wbuf.c linux-3.0.8/fs/jffs2/wbuf.c
43746--- linux-3.0.7/fs/jffs2/wbuf.c 2011-07-21 22:17:23.000000000 -0400 44096--- linux-3.0.8/fs/jffs2/wbuf.c 2011-07-21 22:17:23.000000000 -0400
43747+++ linux-3.0.7/fs/jffs2/wbuf.c 2011-08-23 21:47:56.000000000 -0400 44097+++ linux-3.0.8/fs/jffs2/wbuf.c 2011-08-23 21:47:56.000000000 -0400
43748@@ -1012,7 +1012,8 @@ static const struct jffs2_unknown_node o 44098@@ -1012,7 +1012,8 @@ static const struct jffs2_unknown_node o
43749 { 44099 {
43750 .magic = constant_cpu_to_je16(JFFS2_MAGIC_BITMASK), 44100 .magic = constant_cpu_to_je16(JFFS2_MAGIC_BITMASK),
@@ -43755,9 +44105,9 @@ diff -urNp linux-3.0.7/fs/jffs2/wbuf.c linux-3.0.7/fs/jffs2/wbuf.c
43755 }; 44105 };
43756 44106
43757 /* 44107 /*
43758diff -urNp linux-3.0.7/fs/jffs2/xattr.c linux-3.0.7/fs/jffs2/xattr.c 44108diff -urNp linux-3.0.8/fs/jffs2/xattr.c linux-3.0.8/fs/jffs2/xattr.c
43759--- linux-3.0.7/fs/jffs2/xattr.c 2011-07-21 22:17:23.000000000 -0400 44109--- linux-3.0.8/fs/jffs2/xattr.c 2011-07-21 22:17:23.000000000 -0400
43760+++ linux-3.0.7/fs/jffs2/xattr.c 2011-08-23 21:48:14.000000000 -0400 44110+++ linux-3.0.8/fs/jffs2/xattr.c 2011-08-23 21:48:14.000000000 -0400
43761@@ -773,6 +773,8 @@ void jffs2_build_xattr_subsystem(struct 44111@@ -773,6 +773,8 @@ void jffs2_build_xattr_subsystem(struct
43762 44112
43763 BUG_ON(!(c->flags & JFFS2_SB_FLAG_BUILDING)); 44113 BUG_ON(!(c->flags & JFFS2_SB_FLAG_BUILDING));
@@ -43767,9 +44117,9 @@ diff -urNp linux-3.0.7/fs/jffs2/xattr.c linux-3.0.7/fs/jffs2/xattr.c
43767 /* Phase.1 : Merge same xref */ 44117 /* Phase.1 : Merge same xref */
43768 for (i=0; i < XREF_TMPHASH_SIZE; i++) 44118 for (i=0; i < XREF_TMPHASH_SIZE; i++)
43769 xref_tmphash[i] = NULL; 44119 xref_tmphash[i] = NULL;
43770diff -urNp linux-3.0.7/fs/jfs/super.c linux-3.0.7/fs/jfs/super.c 44120diff -urNp linux-3.0.8/fs/jfs/super.c linux-3.0.8/fs/jfs/super.c
43771--- linux-3.0.7/fs/jfs/super.c 2011-07-21 22:17:23.000000000 -0400 44121--- linux-3.0.8/fs/jfs/super.c 2011-07-21 22:17:23.000000000 -0400
43772+++ linux-3.0.7/fs/jfs/super.c 2011-08-23 21:47:56.000000000 -0400 44122+++ linux-3.0.8/fs/jfs/super.c 2011-08-23 21:47:56.000000000 -0400
43773@@ -803,7 +803,7 @@ static int __init init_jfs_fs(void) 44123@@ -803,7 +803,7 @@ static int __init init_jfs_fs(void)
43774 44124
43775 jfs_inode_cachep = 44125 jfs_inode_cachep =
@@ -43779,9 +44129,21 @@ diff -urNp linux-3.0.7/fs/jfs/super.c linux-3.0.7/fs/jfs/super.c
43779 init_once); 44129 init_once);
43780 if (jfs_inode_cachep == NULL) 44130 if (jfs_inode_cachep == NULL)
43781 return -ENOMEM; 44131 return -ENOMEM;
43782diff -urNp linux-3.0.7/fs/libfs.c linux-3.0.7/fs/libfs.c 44132diff -urNp linux-3.0.8/fs/Kconfig.binfmt linux-3.0.8/fs/Kconfig.binfmt
43783--- linux-3.0.7/fs/libfs.c 2011-07-21 22:17:23.000000000 -0400 44133--- linux-3.0.8/fs/Kconfig.binfmt 2011-07-21 22:17:23.000000000 -0400
43784+++ linux-3.0.7/fs/libfs.c 2011-08-23 21:47:56.000000000 -0400 44134+++ linux-3.0.8/fs/Kconfig.binfmt 2011-08-23 21:47:56.000000000 -0400
44135@@ -86,7 +86,7 @@ config HAVE_AOUT
44136
44137 config BINFMT_AOUT
44138 tristate "Kernel support for a.out and ECOFF binaries"
44139- depends on HAVE_AOUT
44140+ depends on HAVE_AOUT && BROKEN
44141 ---help---
44142 A.out (Assembler.OUTput) is a set of formats for libraries and
44143 executables used in the earliest versions of UNIX. Linux used
44144diff -urNp linux-3.0.8/fs/libfs.c linux-3.0.8/fs/libfs.c
44145--- linux-3.0.8/fs/libfs.c 2011-07-21 22:17:23.000000000 -0400
44146+++ linux-3.0.8/fs/libfs.c 2011-08-23 21:47:56.000000000 -0400
43785@@ -163,6 +163,9 @@ int dcache_readdir(struct file * filp, v 44147@@ -163,6 +163,9 @@ int dcache_readdir(struct file * filp, v
43786 44148
43787 for (p=q->next; p != &dentry->d_subdirs; p=p->next) { 44149 for (p=q->next; p != &dentry->d_subdirs; p=p->next) {
@@ -43806,9 +44168,9 @@ diff -urNp linux-3.0.7/fs/libfs.c linux-3.0.7/fs/libfs.c
43806 next->d_name.len, filp->f_pos, 44168 next->d_name.len, filp->f_pos,
43807 next->d_inode->i_ino, 44169 next->d_inode->i_ino,
43808 dt_type(next->d_inode)) < 0) 44170 dt_type(next->d_inode)) < 0)
43809diff -urNp linux-3.0.7/fs/lockd/clntproc.c linux-3.0.7/fs/lockd/clntproc.c 44171diff -urNp linux-3.0.8/fs/lockd/clntproc.c linux-3.0.8/fs/lockd/clntproc.c
43810--- linux-3.0.7/fs/lockd/clntproc.c 2011-07-21 22:17:23.000000000 -0400 44172--- linux-3.0.8/fs/lockd/clntproc.c 2011-07-21 22:17:23.000000000 -0400
43811+++ linux-3.0.7/fs/lockd/clntproc.c 2011-08-23 21:48:14.000000000 -0400 44173+++ linux-3.0.8/fs/lockd/clntproc.c 2011-08-23 21:48:14.000000000 -0400
43812@@ -36,11 +36,11 @@ static const struct rpc_call_ops nlmclnt 44174@@ -36,11 +36,11 @@ static const struct rpc_call_ops nlmclnt
43813 /* 44175 /*
43814 * Cookie counter for NLM requests 44176 * Cookie counter for NLM requests
@@ -43832,9 +44194,9 @@ diff -urNp linux-3.0.7/fs/lockd/clntproc.c linux-3.0.7/fs/lockd/clntproc.c
43832 req = &reqst; 44194 req = &reqst;
43833 memset(req, 0, sizeof(*req)); 44195 memset(req, 0, sizeof(*req));
43834 locks_init_lock(&req->a_args.lock.fl); 44196 locks_init_lock(&req->a_args.lock.fl);
43835diff -urNp linux-3.0.7/fs/locks.c linux-3.0.7/fs/locks.c 44197diff -urNp linux-3.0.8/fs/locks.c linux-3.0.8/fs/locks.c
43836--- linux-3.0.7/fs/locks.c 2011-07-21 22:17:23.000000000 -0400 44198--- linux-3.0.8/fs/locks.c 2011-07-21 22:17:23.000000000 -0400
43837+++ linux-3.0.7/fs/locks.c 2011-08-23 21:47:56.000000000 -0400 44199+++ linux-3.0.8/fs/locks.c 2011-08-23 21:47:56.000000000 -0400
43838@@ -2043,16 +2043,16 @@ void locks_remove_flock(struct file *fil 44200@@ -2043,16 +2043,16 @@ void locks_remove_flock(struct file *fil
43839 return; 44201 return;
43840 44202
@@ -43856,9 +44218,9 @@ diff -urNp linux-3.0.7/fs/locks.c linux-3.0.7/fs/locks.c
43856 } 44218 }
43857 44219
43858 lock_flocks(); 44220 lock_flocks();
43859diff -urNp linux-3.0.7/fs/logfs/super.c linux-3.0.7/fs/logfs/super.c 44221diff -urNp linux-3.0.8/fs/logfs/super.c linux-3.0.8/fs/logfs/super.c
43860--- linux-3.0.7/fs/logfs/super.c 2011-07-21 22:17:23.000000000 -0400 44222--- linux-3.0.8/fs/logfs/super.c 2011-07-21 22:17:23.000000000 -0400
43861+++ linux-3.0.7/fs/logfs/super.c 2011-08-23 21:48:14.000000000 -0400 44223+++ linux-3.0.8/fs/logfs/super.c 2011-08-23 21:48:14.000000000 -0400
43862@@ -266,6 +266,8 @@ static int logfs_recover_sb(struct super 44224@@ -266,6 +266,8 @@ static int logfs_recover_sb(struct super
43863 struct logfs_disk_super _ds1, *ds1 = &_ds1; 44225 struct logfs_disk_super _ds1, *ds1 = &_ds1;
43864 int err, valid0, valid1; 44226 int err, valid0, valid1;
@@ -43868,9 +44230,9 @@ diff -urNp linux-3.0.7/fs/logfs/super.c linux-3.0.7/fs/logfs/super.c
43868 /* read first superblock */ 44230 /* read first superblock */
43869 err = wbuf_read(sb, super->s_sb_ofs[0], sizeof(*ds0), ds0); 44231 err = wbuf_read(sb, super->s_sb_ofs[0], sizeof(*ds0), ds0);
43870 if (err) 44232 if (err)
43871diff -urNp linux-3.0.7/fs/namei.c linux-3.0.7/fs/namei.c 44233diff -urNp linux-3.0.8/fs/namei.c linux-3.0.8/fs/namei.c
43872--- linux-3.0.7/fs/namei.c 2011-10-16 21:54:54.000000000 -0400 44234--- linux-3.0.8/fs/namei.c 2011-10-24 08:05:30.000000000 -0400
43873+++ linux-3.0.7/fs/namei.c 2011-10-19 10:09:26.000000000 -0400 44235+++ linux-3.0.8/fs/namei.c 2011-10-19 10:09:26.000000000 -0400
43874@@ -237,21 +237,23 @@ int generic_permission(struct inode *ino 44236@@ -237,21 +237,23 @@ int generic_permission(struct inode *ino
43875 return ret; 44237 return ret;
43876 44238
@@ -44379,9 +44741,9 @@ diff -urNp linux-3.0.7/fs/namei.c linux-3.0.7/fs/namei.c
44379 len = -EFAULT; 44741 len = -EFAULT;
44380 out: 44742 out:
44381 return len; 44743 return len;
44382diff -urNp linux-3.0.7/fs/namespace.c linux-3.0.7/fs/namespace.c 44744diff -urNp linux-3.0.8/fs/namespace.c linux-3.0.8/fs/namespace.c
44383--- linux-3.0.7/fs/namespace.c 2011-07-21 22:17:23.000000000 -0400 44745--- linux-3.0.8/fs/namespace.c 2011-07-21 22:17:23.000000000 -0400
44384+++ linux-3.0.7/fs/namespace.c 2011-08-23 21:48:14.000000000 -0400 44746+++ linux-3.0.8/fs/namespace.c 2011-08-23 21:48:14.000000000 -0400
44385@@ -1328,6 +1328,9 @@ static int do_umount(struct vfsmount *mn 44747@@ -1328,6 +1328,9 @@ static int do_umount(struct vfsmount *mn
44386 if (!(sb->s_flags & MS_RDONLY)) 44748 if (!(sb->s_flags & MS_RDONLY))
44387 retval = do_remount_sb(sb, MS_RDONLY, NULL, 0); 44749 retval = do_remount_sb(sb, MS_RDONLY, NULL, 0);
@@ -44441,9 +44803,9 @@ diff -urNp linux-3.0.7/fs/namespace.c linux-3.0.7/fs/namespace.c
44441 get_fs_root(current->fs, &root); 44803 get_fs_root(current->fs, &root);
44442 error = lock_mount(&old); 44804 error = lock_mount(&old);
44443 if (error) 44805 if (error)
44444diff -urNp linux-3.0.7/fs/ncpfs/dir.c linux-3.0.7/fs/ncpfs/dir.c 44806diff -urNp linux-3.0.8/fs/ncpfs/dir.c linux-3.0.8/fs/ncpfs/dir.c
44445--- linux-3.0.7/fs/ncpfs/dir.c 2011-07-21 22:17:23.000000000 -0400 44807--- linux-3.0.8/fs/ncpfs/dir.c 2011-07-21 22:17:23.000000000 -0400
44446+++ linux-3.0.7/fs/ncpfs/dir.c 2011-08-23 21:48:14.000000000 -0400 44808+++ linux-3.0.8/fs/ncpfs/dir.c 2011-08-23 21:48:14.000000000 -0400
44447@@ -299,6 +299,8 @@ ncp_lookup_validate(struct dentry *dentr 44809@@ -299,6 +299,8 @@ ncp_lookup_validate(struct dentry *dentr
44448 int res, val = 0, len; 44810 int res, val = 0, len;
44449 __u8 __name[NCP_MAXPATHLEN + 1]; 44811 __u8 __name[NCP_MAXPATHLEN + 1];
@@ -44489,9 +44851,9 @@ diff -urNp linux-3.0.7/fs/ncpfs/dir.c linux-3.0.7/fs/ncpfs/dir.c
44489 DPRINTK("ncp_rename: %s/%s to %s/%s\n", 44851 DPRINTK("ncp_rename: %s/%s to %s/%s\n",
44490 old_dentry->d_parent->d_name.name, old_dentry->d_name.name, 44852 old_dentry->d_parent->d_name.name, old_dentry->d_name.name,
44491 new_dentry->d_parent->d_name.name, new_dentry->d_name.name); 44853 new_dentry->d_parent->d_name.name, new_dentry->d_name.name);
44492diff -urNp linux-3.0.7/fs/ncpfs/inode.c linux-3.0.7/fs/ncpfs/inode.c 44854diff -urNp linux-3.0.8/fs/ncpfs/inode.c linux-3.0.8/fs/ncpfs/inode.c
44493--- linux-3.0.7/fs/ncpfs/inode.c 2011-07-21 22:17:23.000000000 -0400 44855--- linux-3.0.8/fs/ncpfs/inode.c 2011-07-21 22:17:23.000000000 -0400
44494+++ linux-3.0.7/fs/ncpfs/inode.c 2011-08-23 21:48:14.000000000 -0400 44856+++ linux-3.0.8/fs/ncpfs/inode.c 2011-08-23 21:48:14.000000000 -0400
44495@@ -461,6 +461,8 @@ static int ncp_fill_super(struct super_b 44857@@ -461,6 +461,8 @@ static int ncp_fill_super(struct super_b
44496 #endif 44858 #endif
44497 struct ncp_entry_info finfo; 44859 struct ncp_entry_info finfo;
@@ -44501,9 +44863,9 @@ diff -urNp linux-3.0.7/fs/ncpfs/inode.c linux-3.0.7/fs/ncpfs/inode.c
44501 memset(&data, 0, sizeof(data)); 44863 memset(&data, 0, sizeof(data));
44502 server = kzalloc(sizeof(struct ncp_server), GFP_KERNEL); 44864 server = kzalloc(sizeof(struct ncp_server), GFP_KERNEL);
44503 if (!server) 44865 if (!server)
44504diff -urNp linux-3.0.7/fs/nfs/inode.c linux-3.0.7/fs/nfs/inode.c 44866diff -urNp linux-3.0.8/fs/nfs/inode.c linux-3.0.8/fs/nfs/inode.c
44505--- linux-3.0.7/fs/nfs/inode.c 2011-07-21 22:17:23.000000000 -0400 44867--- linux-3.0.8/fs/nfs/inode.c 2011-07-21 22:17:23.000000000 -0400
44506+++ linux-3.0.7/fs/nfs/inode.c 2011-08-23 21:47:56.000000000 -0400 44868+++ linux-3.0.8/fs/nfs/inode.c 2011-08-23 21:47:56.000000000 -0400
44507@@ -150,7 +150,7 @@ static void nfs_zap_caches_locked(struct 44869@@ -150,7 +150,7 @@ static void nfs_zap_caches_locked(struct
44508 nfsi->attrtimeo = NFS_MINATTRTIMEO(inode); 44870 nfsi->attrtimeo = NFS_MINATTRTIMEO(inode);
44509 nfsi->attrtimeo_timestamp = jiffies; 44871 nfsi->attrtimeo_timestamp = jiffies;
@@ -44533,9 +44895,9 @@ diff -urNp linux-3.0.7/fs/nfs/inode.c linux-3.0.7/fs/nfs/inode.c
44533 } 44895 }
44534 44896
44535 void nfs_fattr_init(struct nfs_fattr *fattr) 44897 void nfs_fattr_init(struct nfs_fattr *fattr)
44536diff -urNp linux-3.0.7/fs/nfsd/nfs4state.c linux-3.0.7/fs/nfsd/nfs4state.c 44898diff -urNp linux-3.0.8/fs/nfsd/nfs4state.c linux-3.0.8/fs/nfsd/nfs4state.c
44537--- linux-3.0.7/fs/nfsd/nfs4state.c 2011-09-02 18:11:21.000000000 -0400 44899--- linux-3.0.8/fs/nfsd/nfs4state.c 2011-10-24 08:05:21.000000000 -0400
44538+++ linux-3.0.7/fs/nfsd/nfs4state.c 2011-08-23 21:48:14.000000000 -0400 44900+++ linux-3.0.8/fs/nfsd/nfs4state.c 2011-08-23 21:48:14.000000000 -0400
44539@@ -3794,6 +3794,8 @@ nfsd4_lock(struct svc_rqst *rqstp, struc 44901@@ -3794,6 +3794,8 @@ nfsd4_lock(struct svc_rqst *rqstp, struc
44540 unsigned int strhashval; 44902 unsigned int strhashval;
44541 int err; 44903 int err;
@@ -44545,9 +44907,9 @@ diff -urNp linux-3.0.7/fs/nfsd/nfs4state.c linux-3.0.7/fs/nfsd/nfs4state.c
44545 dprintk("NFSD: nfsd4_lock: start=%Ld length=%Ld\n", 44907 dprintk("NFSD: nfsd4_lock: start=%Ld length=%Ld\n",
44546 (long long) lock->lk_offset, 44908 (long long) lock->lk_offset,
44547 (long long) lock->lk_length); 44909 (long long) lock->lk_length);
44548diff -urNp linux-3.0.7/fs/nfsd/nfs4xdr.c linux-3.0.7/fs/nfsd/nfs4xdr.c 44910diff -urNp linux-3.0.8/fs/nfsd/nfs4xdr.c linux-3.0.8/fs/nfsd/nfs4xdr.c
44549--- linux-3.0.7/fs/nfsd/nfs4xdr.c 2011-07-21 22:17:23.000000000 -0400 44911--- linux-3.0.8/fs/nfsd/nfs4xdr.c 2011-07-21 22:17:23.000000000 -0400
44550+++ linux-3.0.7/fs/nfsd/nfs4xdr.c 2011-08-23 21:48:14.000000000 -0400 44912+++ linux-3.0.8/fs/nfsd/nfs4xdr.c 2011-08-23 21:48:14.000000000 -0400
44551@@ -1788,6 +1788,8 @@ nfsd4_encode_fattr(struct svc_fh *fhp, s 44913@@ -1788,6 +1788,8 @@ nfsd4_encode_fattr(struct svc_fh *fhp, s
44552 .dentry = dentry, 44914 .dentry = dentry,
44553 }; 44915 };
@@ -44557,9 +44919,9 @@ diff -urNp linux-3.0.7/fs/nfsd/nfs4xdr.c linux-3.0.7/fs/nfsd/nfs4xdr.c
44557 BUG_ON(bmval1 & NFSD_WRITEONLY_ATTRS_WORD1); 44919 BUG_ON(bmval1 & NFSD_WRITEONLY_ATTRS_WORD1);
44558 BUG_ON(bmval0 & ~nfsd_suppattrs0(minorversion)); 44920 BUG_ON(bmval0 & ~nfsd_suppattrs0(minorversion));
44559 BUG_ON(bmval1 & ~nfsd_suppattrs1(minorversion)); 44921 BUG_ON(bmval1 & ~nfsd_suppattrs1(minorversion));
44560diff -urNp linux-3.0.7/fs/nfsd/vfs.c linux-3.0.7/fs/nfsd/vfs.c 44922diff -urNp linux-3.0.8/fs/nfsd/vfs.c linux-3.0.8/fs/nfsd/vfs.c
44561--- linux-3.0.7/fs/nfsd/vfs.c 2011-07-21 22:17:23.000000000 -0400 44923--- linux-3.0.8/fs/nfsd/vfs.c 2011-07-21 22:17:23.000000000 -0400
44562+++ linux-3.0.7/fs/nfsd/vfs.c 2011-10-06 04:17:55.000000000 -0400 44924+++ linux-3.0.8/fs/nfsd/vfs.c 2011-10-06 04:17:55.000000000 -0400
44563@@ -896,7 +896,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, st 44925@@ -896,7 +896,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, st
44564 } else { 44926 } else {
44565 oldfs = get_fs(); 44927 oldfs = get_fs();
@@ -44587,9 +44949,9 @@ diff -urNp linux-3.0.7/fs/nfsd/vfs.c linux-3.0.7/fs/nfsd/vfs.c
44587 set_fs(oldfs); 44949 set_fs(oldfs);
44588 44950
44589 if (host_err < 0) 44951 if (host_err < 0)
44590diff -urNp linux-3.0.7/fs/notify/fanotify/fanotify_user.c linux-3.0.7/fs/notify/fanotify/fanotify_user.c 44952diff -urNp linux-3.0.8/fs/notify/fanotify/fanotify_user.c linux-3.0.8/fs/notify/fanotify/fanotify_user.c
44591--- linux-3.0.7/fs/notify/fanotify/fanotify_user.c 2011-07-21 22:17:23.000000000 -0400 44953--- linux-3.0.8/fs/notify/fanotify/fanotify_user.c 2011-07-21 22:17:23.000000000 -0400
44592+++ linux-3.0.7/fs/notify/fanotify/fanotify_user.c 2011-08-23 21:48:14.000000000 -0400 44954+++ linux-3.0.8/fs/notify/fanotify/fanotify_user.c 2011-08-23 21:48:14.000000000 -0400
44593@@ -276,7 +276,8 @@ static ssize_t copy_event_to_user(struct 44955@@ -276,7 +276,8 @@ static ssize_t copy_event_to_user(struct
44594 goto out_close_fd; 44956 goto out_close_fd;
44595 44957
@@ -44600,9 +44962,9 @@ diff -urNp linux-3.0.7/fs/notify/fanotify/fanotify_user.c linux-3.0.7/fs/notify/
44600 fanotify_event_metadata.event_len)) 44962 fanotify_event_metadata.event_len))
44601 goto out_kill_access_response; 44963 goto out_kill_access_response;
44602 44964
44603diff -urNp linux-3.0.7/fs/notify/notification.c linux-3.0.7/fs/notify/notification.c 44965diff -urNp linux-3.0.8/fs/notify/notification.c linux-3.0.8/fs/notify/notification.c
44604--- linux-3.0.7/fs/notify/notification.c 2011-07-21 22:17:23.000000000 -0400 44966--- linux-3.0.8/fs/notify/notification.c 2011-07-21 22:17:23.000000000 -0400
44605+++ linux-3.0.7/fs/notify/notification.c 2011-08-23 21:47:56.000000000 -0400 44967+++ linux-3.0.8/fs/notify/notification.c 2011-08-23 21:47:56.000000000 -0400
44606@@ -57,7 +57,7 @@ static struct kmem_cache *fsnotify_event 44968@@ -57,7 +57,7 @@ static struct kmem_cache *fsnotify_event
44607 * get set to 0 so it will never get 'freed' 44969 * get set to 0 so it will never get 'freed'
44608 */ 44970 */
@@ -44621,9 +44983,9 @@ diff -urNp linux-3.0.7/fs/notify/notification.c linux-3.0.7/fs/notify/notificati
44621 } 44983 }
44622 EXPORT_SYMBOL_GPL(fsnotify_get_cookie); 44984 EXPORT_SYMBOL_GPL(fsnotify_get_cookie);
44623 44985
44624diff -urNp linux-3.0.7/fs/ntfs/dir.c linux-3.0.7/fs/ntfs/dir.c 44986diff -urNp linux-3.0.8/fs/ntfs/dir.c linux-3.0.8/fs/ntfs/dir.c
44625--- linux-3.0.7/fs/ntfs/dir.c 2011-07-21 22:17:23.000000000 -0400 44987--- linux-3.0.8/fs/ntfs/dir.c 2011-07-21 22:17:23.000000000 -0400
44626+++ linux-3.0.7/fs/ntfs/dir.c 2011-08-23 21:47:56.000000000 -0400 44988+++ linux-3.0.8/fs/ntfs/dir.c 2011-08-23 21:47:56.000000000 -0400
44627@@ -1329,7 +1329,7 @@ find_next_index_buffer: 44989@@ -1329,7 +1329,7 @@ find_next_index_buffer:
44628 ia = (INDEX_ALLOCATION*)(kaddr + (ia_pos & ~PAGE_CACHE_MASK & 44990 ia = (INDEX_ALLOCATION*)(kaddr + (ia_pos & ~PAGE_CACHE_MASK &
44629 ~(s64)(ndir->itype.index.block_size - 1))); 44991 ~(s64)(ndir->itype.index.block_size - 1)));
@@ -44633,9 +44995,9 @@ diff -urNp linux-3.0.7/fs/ntfs/dir.c linux-3.0.7/fs/ntfs/dir.c
44633 ntfs_error(sb, "Out of bounds check failed. Corrupt directory " 44995 ntfs_error(sb, "Out of bounds check failed. Corrupt directory "
44634 "inode 0x%lx or driver bug.", vdir->i_ino); 44996 "inode 0x%lx or driver bug.", vdir->i_ino);
44635 goto err_out; 44997 goto err_out;
44636diff -urNp linux-3.0.7/fs/ntfs/file.c linux-3.0.7/fs/ntfs/file.c 44998diff -urNp linux-3.0.8/fs/ntfs/file.c linux-3.0.8/fs/ntfs/file.c
44637--- linux-3.0.7/fs/ntfs/file.c 2011-07-21 22:17:23.000000000 -0400 44999--- linux-3.0.8/fs/ntfs/file.c 2011-07-21 22:17:23.000000000 -0400
44638+++ linux-3.0.7/fs/ntfs/file.c 2011-08-23 21:47:56.000000000 -0400 45000+++ linux-3.0.8/fs/ntfs/file.c 2011-08-23 21:47:56.000000000 -0400
44639@@ -2222,6 +2222,6 @@ const struct inode_operations ntfs_file_ 45001@@ -2222,6 +2222,6 @@ const struct inode_operations ntfs_file_
44640 #endif /* NTFS_RW */ 45002 #endif /* NTFS_RW */
44641 }; 45003 };
@@ -44645,9 +45007,9 @@ diff -urNp linux-3.0.7/fs/ntfs/file.c linux-3.0.7/fs/ntfs/file.c
44645 45007
44646-const struct inode_operations ntfs_empty_inode_ops = {}; 45008-const struct inode_operations ntfs_empty_inode_ops = {};
44647+const struct inode_operations ntfs_empty_inode_ops __read_only; 45009+const struct inode_operations ntfs_empty_inode_ops __read_only;
44648diff -urNp linux-3.0.7/fs/ocfs2/localalloc.c linux-3.0.7/fs/ocfs2/localalloc.c 45010diff -urNp linux-3.0.8/fs/ocfs2/localalloc.c linux-3.0.8/fs/ocfs2/localalloc.c
44649--- linux-3.0.7/fs/ocfs2/localalloc.c 2011-07-21 22:17:23.000000000 -0400 45011--- linux-3.0.8/fs/ocfs2/localalloc.c 2011-07-21 22:17:23.000000000 -0400
44650+++ linux-3.0.7/fs/ocfs2/localalloc.c 2011-08-23 21:47:56.000000000 -0400 45012+++ linux-3.0.8/fs/ocfs2/localalloc.c 2011-08-23 21:47:56.000000000 -0400
44651@@ -1283,7 +1283,7 @@ static int ocfs2_local_alloc_slide_windo 45013@@ -1283,7 +1283,7 @@ static int ocfs2_local_alloc_slide_windo
44652 goto bail; 45014 goto bail;
44653 } 45015 }
@@ -44657,9 +45019,9 @@ diff -urNp linux-3.0.7/fs/ocfs2/localalloc.c linux-3.0.7/fs/ocfs2/localalloc.c
44657 45019
44658 bail: 45020 bail:
44659 if (handle) 45021 if (handle)
44660diff -urNp linux-3.0.7/fs/ocfs2/namei.c linux-3.0.7/fs/ocfs2/namei.c 45022diff -urNp linux-3.0.8/fs/ocfs2/namei.c linux-3.0.8/fs/ocfs2/namei.c
44661--- linux-3.0.7/fs/ocfs2/namei.c 2011-07-21 22:17:23.000000000 -0400 45023--- linux-3.0.8/fs/ocfs2/namei.c 2011-07-21 22:17:23.000000000 -0400
44662+++ linux-3.0.7/fs/ocfs2/namei.c 2011-08-23 21:48:14.000000000 -0400 45024+++ linux-3.0.8/fs/ocfs2/namei.c 2011-08-23 21:48:14.000000000 -0400
44663@@ -1063,6 +1063,8 @@ static int ocfs2_rename(struct inode *ol 45025@@ -1063,6 +1063,8 @@ static int ocfs2_rename(struct inode *ol
44664 struct ocfs2_dir_lookup_result orphan_insert = { NULL, }; 45026 struct ocfs2_dir_lookup_result orphan_insert = { NULL, };
44665 struct ocfs2_dir_lookup_result target_insert = { NULL, }; 45027 struct ocfs2_dir_lookup_result target_insert = { NULL, };
@@ -44669,9 +45031,9 @@ diff -urNp linux-3.0.7/fs/ocfs2/namei.c linux-3.0.7/fs/ocfs2/namei.c
44669 /* At some point it might be nice to break this function up a 45031 /* At some point it might be nice to break this function up a
44670 * bit. */ 45032 * bit. */
44671 45033
44672diff -urNp linux-3.0.7/fs/ocfs2/ocfs2.h linux-3.0.7/fs/ocfs2/ocfs2.h 45034diff -urNp linux-3.0.8/fs/ocfs2/ocfs2.h linux-3.0.8/fs/ocfs2/ocfs2.h
44673--- linux-3.0.7/fs/ocfs2/ocfs2.h 2011-07-21 22:17:23.000000000 -0400 45035--- linux-3.0.8/fs/ocfs2/ocfs2.h 2011-07-21 22:17:23.000000000 -0400
44674+++ linux-3.0.7/fs/ocfs2/ocfs2.h 2011-08-23 21:47:56.000000000 -0400 45036+++ linux-3.0.8/fs/ocfs2/ocfs2.h 2011-08-23 21:47:56.000000000 -0400
44675@@ -235,11 +235,11 @@ enum ocfs2_vol_state 45037@@ -235,11 +235,11 @@ enum ocfs2_vol_state
44676 45038
44677 struct ocfs2_alloc_stats 45039 struct ocfs2_alloc_stats
@@ -44689,9 +45051,9 @@ diff -urNp linux-3.0.7/fs/ocfs2/ocfs2.h linux-3.0.7/fs/ocfs2/ocfs2.h
44689 }; 45051 };
44690 45052
44691 enum ocfs2_local_alloc_state 45053 enum ocfs2_local_alloc_state
44692diff -urNp linux-3.0.7/fs/ocfs2/suballoc.c linux-3.0.7/fs/ocfs2/suballoc.c 45054diff -urNp linux-3.0.8/fs/ocfs2/suballoc.c linux-3.0.8/fs/ocfs2/suballoc.c
44693--- linux-3.0.7/fs/ocfs2/suballoc.c 2011-07-21 22:17:23.000000000 -0400 45055--- linux-3.0.8/fs/ocfs2/suballoc.c 2011-07-21 22:17:23.000000000 -0400
44694+++ linux-3.0.7/fs/ocfs2/suballoc.c 2011-08-23 21:47:56.000000000 -0400 45056+++ linux-3.0.8/fs/ocfs2/suballoc.c 2011-08-23 21:47:56.000000000 -0400
44695@@ -872,7 +872,7 @@ static int ocfs2_reserve_suballoc_bits(s 45057@@ -872,7 +872,7 @@ static int ocfs2_reserve_suballoc_bits(s
44696 mlog_errno(status); 45058 mlog_errno(status);
44697 goto bail; 45059 goto bail;
@@ -44746,9 +45108,9 @@ diff -urNp linux-3.0.7/fs/ocfs2/suballoc.c linux-3.0.7/fs/ocfs2/suballoc.c
44746 *num_clusters = res.sr_bits; 45108 *num_clusters = res.sr_bits;
44747 } 45109 }
44748 } 45110 }
44749diff -urNp linux-3.0.7/fs/ocfs2/super.c linux-3.0.7/fs/ocfs2/super.c 45111diff -urNp linux-3.0.8/fs/ocfs2/super.c linux-3.0.8/fs/ocfs2/super.c
44750--- linux-3.0.7/fs/ocfs2/super.c 2011-07-21 22:17:23.000000000 -0400 45112--- linux-3.0.8/fs/ocfs2/super.c 2011-07-21 22:17:23.000000000 -0400
44751+++ linux-3.0.7/fs/ocfs2/super.c 2011-08-23 21:47:56.000000000 -0400 45113+++ linux-3.0.8/fs/ocfs2/super.c 2011-08-23 21:47:56.000000000 -0400
44752@@ -300,11 +300,11 @@ static int ocfs2_osb_dump(struct ocfs2_s 45114@@ -300,11 +300,11 @@ static int ocfs2_osb_dump(struct ocfs2_s
44753 "%10s => GlobalAllocs: %d LocalAllocs: %d " 45115 "%10s => GlobalAllocs: %d LocalAllocs: %d "
44754 "SubAllocs: %d LAWinMoves: %d SAExtends: %d\n", 45116 "SubAllocs: %d LAWinMoves: %d SAExtends: %d\n",
@@ -44783,9 +45145,9 @@ diff -urNp linux-3.0.7/fs/ocfs2/super.c linux-3.0.7/fs/ocfs2/super.c
44783 45145
44784 /* Copy the blockcheck stats from the superblock probe */ 45146 /* Copy the blockcheck stats from the superblock probe */
44785 osb->osb_ecc_stats = *stats; 45147 osb->osb_ecc_stats = *stats;
44786diff -urNp linux-3.0.7/fs/ocfs2/symlink.c linux-3.0.7/fs/ocfs2/symlink.c 45148diff -urNp linux-3.0.8/fs/ocfs2/symlink.c linux-3.0.8/fs/ocfs2/symlink.c
44787--- linux-3.0.7/fs/ocfs2/symlink.c 2011-07-21 22:17:23.000000000 -0400 45149--- linux-3.0.8/fs/ocfs2/symlink.c 2011-07-21 22:17:23.000000000 -0400
44788+++ linux-3.0.7/fs/ocfs2/symlink.c 2011-08-23 21:47:56.000000000 -0400 45150+++ linux-3.0.8/fs/ocfs2/symlink.c 2011-08-23 21:47:56.000000000 -0400
44789@@ -142,7 +142,7 @@ bail: 45151@@ -142,7 +142,7 @@ bail:
44790 45152
44791 static void ocfs2_fast_put_link(struct dentry *dentry, struct nameidata *nd, void *cookie) 45153 static void ocfs2_fast_put_link(struct dentry *dentry, struct nameidata *nd, void *cookie)
@@ -44795,9 +45157,9 @@ diff -urNp linux-3.0.7/fs/ocfs2/symlink.c linux-3.0.7/fs/ocfs2/symlink.c
44795 if (!IS_ERR(link)) 45157 if (!IS_ERR(link))
44796 kfree(link); 45158 kfree(link);
44797 } 45159 }
44798diff -urNp linux-3.0.7/fs/open.c linux-3.0.7/fs/open.c 45160diff -urNp linux-3.0.8/fs/open.c linux-3.0.8/fs/open.c
44799--- linux-3.0.7/fs/open.c 2011-07-21 22:17:23.000000000 -0400 45161--- linux-3.0.8/fs/open.c 2011-07-21 22:17:23.000000000 -0400
44800+++ linux-3.0.7/fs/open.c 2011-09-14 09:16:46.000000000 -0400 45162+++ linux-3.0.8/fs/open.c 2011-09-14 09:16:46.000000000 -0400
44801@@ -112,6 +112,10 @@ static long do_sys_truncate(const char _ 45163@@ -112,6 +112,10 @@ static long do_sys_truncate(const char _
44802 error = locks_verify_truncate(inode, NULL, length); 45164 error = locks_verify_truncate(inode, NULL, length);
44803 if (!error) 45165 if (!error)
@@ -44930,9 +45292,9 @@ diff -urNp linux-3.0.7/fs/open.c linux-3.0.7/fs/open.c
44930 if (IS_ERR(f)) { 45292 if (IS_ERR(f)) {
44931 put_unused_fd(fd); 45293 put_unused_fd(fd);
44932 fd = PTR_ERR(f); 45294 fd = PTR_ERR(f);
44933diff -urNp linux-3.0.7/fs/partitions/ldm.c linux-3.0.7/fs/partitions/ldm.c 45295diff -urNp linux-3.0.8/fs/partitions/ldm.c linux-3.0.8/fs/partitions/ldm.c
44934--- linux-3.0.7/fs/partitions/ldm.c 2011-07-21 22:17:23.000000000 -0400 45296--- linux-3.0.8/fs/partitions/ldm.c 2011-07-21 22:17:23.000000000 -0400
44935+++ linux-3.0.7/fs/partitions/ldm.c 2011-08-23 21:48:14.000000000 -0400 45297+++ linux-3.0.8/fs/partitions/ldm.c 2011-08-23 21:48:14.000000000 -0400
44936@@ -1311,6 +1311,7 @@ static bool ldm_frag_add (const u8 *data 45298@@ -1311,6 +1311,7 @@ static bool ldm_frag_add (const u8 *data
44937 ldm_error ("A VBLK claims to have %d parts.", num); 45299 ldm_error ("A VBLK claims to have %d parts.", num);
44938 return false; 45300 return false;
@@ -44950,9 +45312,9 @@ diff -urNp linux-3.0.7/fs/partitions/ldm.c linux-3.0.7/fs/partitions/ldm.c
44950 if (!f) { 45312 if (!f) {
44951 ldm_crit ("Out of memory."); 45313 ldm_crit ("Out of memory.");
44952 return false; 45314 return false;
44953diff -urNp linux-3.0.7/fs/pipe.c linux-3.0.7/fs/pipe.c 45315diff -urNp linux-3.0.8/fs/pipe.c linux-3.0.8/fs/pipe.c
44954--- linux-3.0.7/fs/pipe.c 2011-07-21 22:17:23.000000000 -0400 45316--- linux-3.0.8/fs/pipe.c 2011-07-21 22:17:23.000000000 -0400
44955+++ linux-3.0.7/fs/pipe.c 2011-08-23 21:48:14.000000000 -0400 45317+++ linux-3.0.8/fs/pipe.c 2011-08-23 21:48:14.000000000 -0400
44956@@ -420,9 +420,9 @@ redo: 45318@@ -420,9 +420,9 @@ redo:
44957 } 45319 }
44958 if (bufs) /* More to do? */ 45320 if (bufs) /* More to do? */
@@ -45076,39 +45438,9 @@ diff -urNp linux-3.0.7/fs/pipe.c linux-3.0.7/fs/pipe.c
45076 inode->i_fop = &rdwr_pipefifo_fops; 45438 inode->i_fop = &rdwr_pipefifo_fops;
45077 45439
45078 /* 45440 /*
45079diff -urNp linux-3.0.7/fs/proc/Kconfig linux-3.0.7/fs/proc/Kconfig 45441diff -urNp linux-3.0.8/fs/proc/array.c linux-3.0.8/fs/proc/array.c
45080--- linux-3.0.7/fs/proc/Kconfig 2011-07-21 22:17:23.000000000 -0400 45442--- linux-3.0.8/fs/proc/array.c 2011-07-21 22:17:23.000000000 -0400
45081+++ linux-3.0.7/fs/proc/Kconfig 2011-08-23 21:48:14.000000000 -0400 45443+++ linux-3.0.8/fs/proc/array.c 2011-08-23 21:48:14.000000000 -0400
45082@@ -30,12 +30,12 @@ config PROC_FS
45083
45084 config PROC_KCORE
45085 bool "/proc/kcore support" if !ARM
45086- depends on PROC_FS && MMU
45087+ depends on PROC_FS && MMU && !GRKERNSEC_PROC_ADD
45088
45089 config PROC_VMCORE
45090 bool "/proc/vmcore support"
45091- depends on PROC_FS && CRASH_DUMP
45092- default y
45093+ depends on PROC_FS && CRASH_DUMP && !GRKERNSEC
45094+ default n
45095 help
45096 Exports the dump image of crashed kernel in ELF format.
45097
45098@@ -59,8 +59,8 @@ config PROC_SYSCTL
45099 limited in memory.
45100
45101 config PROC_PAGE_MONITOR
45102- default y
45103- depends on PROC_FS && MMU
45104+ default n
45105+ depends on PROC_FS && MMU && !GRKERNSEC
45106 bool "Enable /proc page monitoring" if EXPERT
45107 help
45108 Various /proc files exist to monitor process memory utilization:
45109diff -urNp linux-3.0.7/fs/proc/array.c linux-3.0.7/fs/proc/array.c
45110--- linux-3.0.7/fs/proc/array.c 2011-07-21 22:17:23.000000000 -0400
45111+++ linux-3.0.7/fs/proc/array.c 2011-08-23 21:48:14.000000000 -0400
45112@@ -60,6 +60,7 @@ 45444@@ -60,6 +60,7 @@
45113 #include <linux/tty.h> 45445 #include <linux/tty.h>
45114 #include <linux/string.h> 45446 #include <linux/string.h>
@@ -45232,9 +45564,9 @@ diff -urNp linux-3.0.7/fs/proc/array.c linux-3.0.7/fs/proc/array.c
45232+ return sprintf(buffer, "%pI4\n", &curr_ip); 45564+ return sprintf(buffer, "%pI4\n", &curr_ip);
45233+} 45565+}
45234+#endif 45566+#endif
45235diff -urNp linux-3.0.7/fs/proc/base.c linux-3.0.7/fs/proc/base.c 45567diff -urNp linux-3.0.8/fs/proc/base.c linux-3.0.8/fs/proc/base.c
45236--- linux-3.0.7/fs/proc/base.c 2011-09-02 18:11:21.000000000 -0400 45568--- linux-3.0.8/fs/proc/base.c 2011-10-24 08:05:21.000000000 -0400
45237+++ linux-3.0.7/fs/proc/base.c 2011-10-19 03:59:32.000000000 -0400 45569+++ linux-3.0.8/fs/proc/base.c 2011-10-19 03:59:32.000000000 -0400
45238@@ -107,6 +107,22 @@ struct pid_entry { 45570@@ -107,6 +107,22 @@ struct pid_entry {
45239 union proc_op op; 45571 union proc_op op;
45240 }; 45572 };
@@ -45677,9 +46009,9 @@ diff -urNp linux-3.0.7/fs/proc/base.c linux-3.0.7/fs/proc/base.c
45677 ONE("stack", S_IRUGO, proc_pid_stack), 46009 ONE("stack", S_IRUGO, proc_pid_stack),
45678 #endif 46010 #endif
45679 #ifdef CONFIG_SCHEDSTATS 46011 #ifdef CONFIG_SCHEDSTATS
45680diff -urNp linux-3.0.7/fs/proc/cmdline.c linux-3.0.7/fs/proc/cmdline.c 46012diff -urNp linux-3.0.8/fs/proc/cmdline.c linux-3.0.8/fs/proc/cmdline.c
45681--- linux-3.0.7/fs/proc/cmdline.c 2011-07-21 22:17:23.000000000 -0400 46013--- linux-3.0.8/fs/proc/cmdline.c 2011-07-21 22:17:23.000000000 -0400
45682+++ linux-3.0.7/fs/proc/cmdline.c 2011-08-23 21:48:14.000000000 -0400 46014+++ linux-3.0.8/fs/proc/cmdline.c 2011-08-23 21:48:14.000000000 -0400
45683@@ -23,7 +23,11 @@ static const struct file_operations cmdl 46015@@ -23,7 +23,11 @@ static const struct file_operations cmdl
45684 46016
45685 static int __init proc_cmdline_init(void) 46017 static int __init proc_cmdline_init(void)
@@ -45692,9 +46024,9 @@ diff -urNp linux-3.0.7/fs/proc/cmdline.c linux-3.0.7/fs/proc/cmdline.c
45692 return 0; 46024 return 0;
45693 } 46025 }
45694 module_init(proc_cmdline_init); 46026 module_init(proc_cmdline_init);
45695diff -urNp linux-3.0.7/fs/proc/devices.c linux-3.0.7/fs/proc/devices.c 46027diff -urNp linux-3.0.8/fs/proc/devices.c linux-3.0.8/fs/proc/devices.c
45696--- linux-3.0.7/fs/proc/devices.c 2011-07-21 22:17:23.000000000 -0400 46028--- linux-3.0.8/fs/proc/devices.c 2011-07-21 22:17:23.000000000 -0400
45697+++ linux-3.0.7/fs/proc/devices.c 2011-08-23 21:48:14.000000000 -0400 46029+++ linux-3.0.8/fs/proc/devices.c 2011-08-23 21:48:14.000000000 -0400
45698@@ -64,7 +64,11 @@ static const struct file_operations proc 46030@@ -64,7 +64,11 @@ static const struct file_operations proc
45699 46031
45700 static int __init proc_devices_init(void) 46032 static int __init proc_devices_init(void)
@@ -45707,9 +46039,9 @@ diff -urNp linux-3.0.7/fs/proc/devices.c linux-3.0.7/fs/proc/devices.c
45707 return 0; 46039 return 0;
45708 } 46040 }
45709 module_init(proc_devices_init); 46041 module_init(proc_devices_init);
45710diff -urNp linux-3.0.7/fs/proc/inode.c linux-3.0.7/fs/proc/inode.c 46042diff -urNp linux-3.0.8/fs/proc/inode.c linux-3.0.8/fs/proc/inode.c
45711--- linux-3.0.7/fs/proc/inode.c 2011-07-21 22:17:23.000000000 -0400 46043--- linux-3.0.8/fs/proc/inode.c 2011-07-21 22:17:23.000000000 -0400
45712+++ linux-3.0.7/fs/proc/inode.c 2011-10-19 03:59:32.000000000 -0400 46044+++ linux-3.0.8/fs/proc/inode.c 2011-10-19 03:59:32.000000000 -0400
45713@@ -18,12 +18,18 @@ 46045@@ -18,12 +18,18 @@
45714 #include <linux/module.h> 46046 #include <linux/module.h>
45715 #include <linux/sysctl.h> 46047 #include <linux/sysctl.h>
@@ -45755,9 +46087,9 @@ diff -urNp linux-3.0.7/fs/proc/inode.c linux-3.0.7/fs/proc/inode.c
45755 } 46087 }
45756 if (de->size) 46088 if (de->size)
45757 inode->i_size = de->size; 46089 inode->i_size = de->size;
45758diff -urNp linux-3.0.7/fs/proc/internal.h linux-3.0.7/fs/proc/internal.h 46090diff -urNp linux-3.0.8/fs/proc/internal.h linux-3.0.8/fs/proc/internal.h
45759--- linux-3.0.7/fs/proc/internal.h 2011-07-21 22:17:23.000000000 -0400 46091--- linux-3.0.8/fs/proc/internal.h 2011-07-21 22:17:23.000000000 -0400
45760+++ linux-3.0.7/fs/proc/internal.h 2011-08-23 21:48:14.000000000 -0400 46092+++ linux-3.0.8/fs/proc/internal.h 2011-08-23 21:48:14.000000000 -0400
45761@@ -51,6 +51,9 @@ extern int proc_pid_status(struct seq_fi 46093@@ -51,6 +51,9 @@ extern int proc_pid_status(struct seq_fi
45762 struct pid *pid, struct task_struct *task); 46094 struct pid *pid, struct task_struct *task);
45763 extern int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns, 46095 extern int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns,
@@ -45768,9 +46100,39 @@ diff -urNp linux-3.0.7/fs/proc/internal.h linux-3.0.7/fs/proc/internal.h
45768 extern loff_t mem_lseek(struct file *file, loff_t offset, int orig); 46100 extern loff_t mem_lseek(struct file *file, loff_t offset, int orig);
45769 46101
45770 extern const struct file_operations proc_maps_operations; 46102 extern const struct file_operations proc_maps_operations;
45771diff -urNp linux-3.0.7/fs/proc/kcore.c linux-3.0.7/fs/proc/kcore.c 46103diff -urNp linux-3.0.8/fs/proc/Kconfig linux-3.0.8/fs/proc/Kconfig
45772--- linux-3.0.7/fs/proc/kcore.c 2011-07-21 22:17:23.000000000 -0400 46104--- linux-3.0.8/fs/proc/Kconfig 2011-07-21 22:17:23.000000000 -0400
45773+++ linux-3.0.7/fs/proc/kcore.c 2011-08-23 21:48:14.000000000 -0400 46105+++ linux-3.0.8/fs/proc/Kconfig 2011-08-23 21:48:14.000000000 -0400
46106@@ -30,12 +30,12 @@ config PROC_FS
46107
46108 config PROC_KCORE
46109 bool "/proc/kcore support" if !ARM
46110- depends on PROC_FS && MMU
46111+ depends on PROC_FS && MMU && !GRKERNSEC_PROC_ADD
46112
46113 config PROC_VMCORE
46114 bool "/proc/vmcore support"
46115- depends on PROC_FS && CRASH_DUMP
46116- default y
46117+ depends on PROC_FS && CRASH_DUMP && !GRKERNSEC
46118+ default n
46119 help
46120 Exports the dump image of crashed kernel in ELF format.
46121
46122@@ -59,8 +59,8 @@ config PROC_SYSCTL
46123 limited in memory.
46124
46125 config PROC_PAGE_MONITOR
46126- default y
46127- depends on PROC_FS && MMU
46128+ default n
46129+ depends on PROC_FS && MMU && !GRKERNSEC
46130 bool "Enable /proc page monitoring" if EXPERT
46131 help
46132 Various /proc files exist to monitor process memory utilization:
46133diff -urNp linux-3.0.8/fs/proc/kcore.c linux-3.0.8/fs/proc/kcore.c
46134--- linux-3.0.8/fs/proc/kcore.c 2011-07-21 22:17:23.000000000 -0400
46135+++ linux-3.0.8/fs/proc/kcore.c 2011-08-23 21:48:14.000000000 -0400
45774@@ -321,6 +321,8 @@ static void elf_kcore_store_hdr(char *bu 46136@@ -321,6 +321,8 @@ static void elf_kcore_store_hdr(char *bu
45775 off_t offset = 0; 46137 off_t offset = 0;
45776 struct kcore_list *m; 46138 struct kcore_list *m;
@@ -45838,9 +46200,9 @@ diff -urNp linux-3.0.7/fs/proc/kcore.c linux-3.0.7/fs/proc/kcore.c
45838 if (!capable(CAP_SYS_RAWIO)) 46200 if (!capable(CAP_SYS_RAWIO))
45839 return -EPERM; 46201 return -EPERM;
45840 if (kcore_need_update) 46202 if (kcore_need_update)
45841diff -urNp linux-3.0.7/fs/proc/meminfo.c linux-3.0.7/fs/proc/meminfo.c 46203diff -urNp linux-3.0.8/fs/proc/meminfo.c linux-3.0.8/fs/proc/meminfo.c
45842--- linux-3.0.7/fs/proc/meminfo.c 2011-07-21 22:17:23.000000000 -0400 46204--- linux-3.0.8/fs/proc/meminfo.c 2011-07-21 22:17:23.000000000 -0400
45843+++ linux-3.0.7/fs/proc/meminfo.c 2011-08-23 21:48:14.000000000 -0400 46205+++ linux-3.0.8/fs/proc/meminfo.c 2011-08-23 21:48:14.000000000 -0400
45844@@ -29,6 +29,8 @@ static int meminfo_proc_show(struct seq_ 46206@@ -29,6 +29,8 @@ static int meminfo_proc_show(struct seq_
45845 unsigned long pages[NR_LRU_LISTS]; 46207 unsigned long pages[NR_LRU_LISTS];
45846 int lru; 46208 int lru;
@@ -45859,9 +46221,9 @@ diff -urNp linux-3.0.7/fs/proc/meminfo.c linux-3.0.7/fs/proc/meminfo.c
45859 #endif 46221 #endif
45860 #ifdef CONFIG_TRANSPARENT_HUGEPAGE 46222 #ifdef CONFIG_TRANSPARENT_HUGEPAGE
45861 ,K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) * 46223 ,K(global_page_state(NR_ANON_TRANSPARENT_HUGEPAGES) *
45862diff -urNp linux-3.0.7/fs/proc/nommu.c linux-3.0.7/fs/proc/nommu.c 46224diff -urNp linux-3.0.8/fs/proc/nommu.c linux-3.0.8/fs/proc/nommu.c
45863--- linux-3.0.7/fs/proc/nommu.c 2011-07-21 22:17:23.000000000 -0400 46225--- linux-3.0.8/fs/proc/nommu.c 2011-07-21 22:17:23.000000000 -0400
45864+++ linux-3.0.7/fs/proc/nommu.c 2011-08-23 21:47:56.000000000 -0400 46226+++ linux-3.0.8/fs/proc/nommu.c 2011-08-23 21:47:56.000000000 -0400
45865@@ -66,7 +66,7 @@ static int nommu_region_show(struct seq_ 46227@@ -66,7 +66,7 @@ static int nommu_region_show(struct seq_
45866 if (len < 1) 46228 if (len < 1)
45867 len = 1; 46229 len = 1;
@@ -45871,9 +46233,9 @@ diff -urNp linux-3.0.7/fs/proc/nommu.c linux-3.0.7/fs/proc/nommu.c
45871 } 46233 }
45872 46234
45873 seq_putc(m, '\n'); 46235 seq_putc(m, '\n');
45874diff -urNp linux-3.0.7/fs/proc/proc_net.c linux-3.0.7/fs/proc/proc_net.c 46236diff -urNp linux-3.0.8/fs/proc/proc_net.c linux-3.0.8/fs/proc/proc_net.c
45875--- linux-3.0.7/fs/proc/proc_net.c 2011-07-21 22:17:23.000000000 -0400 46237--- linux-3.0.8/fs/proc/proc_net.c 2011-07-21 22:17:23.000000000 -0400
45876+++ linux-3.0.7/fs/proc/proc_net.c 2011-08-23 21:48:14.000000000 -0400 46238+++ linux-3.0.8/fs/proc/proc_net.c 2011-08-23 21:48:14.000000000 -0400
45877@@ -105,6 +105,17 @@ static struct net *get_proc_task_net(str 46239@@ -105,6 +105,17 @@ static struct net *get_proc_task_net(str
45878 struct task_struct *task; 46240 struct task_struct *task;
45879 struct nsproxy *ns; 46241 struct nsproxy *ns;
@@ -45892,9 +46254,9 @@ diff -urNp linux-3.0.7/fs/proc/proc_net.c linux-3.0.7/fs/proc/proc_net.c
45892 46254
45893 rcu_read_lock(); 46255 rcu_read_lock();
45894 task = pid_task(proc_pid(dir), PIDTYPE_PID); 46256 task = pid_task(proc_pid(dir), PIDTYPE_PID);
45895diff -urNp linux-3.0.7/fs/proc/proc_sysctl.c linux-3.0.7/fs/proc/proc_sysctl.c 46257diff -urNp linux-3.0.8/fs/proc/proc_sysctl.c linux-3.0.8/fs/proc/proc_sysctl.c
45896--- linux-3.0.7/fs/proc/proc_sysctl.c 2011-07-21 22:17:23.000000000 -0400 46258--- linux-3.0.8/fs/proc/proc_sysctl.c 2011-07-21 22:17:23.000000000 -0400
45897+++ linux-3.0.7/fs/proc/proc_sysctl.c 2011-10-19 03:59:32.000000000 -0400 46259+++ linux-3.0.8/fs/proc/proc_sysctl.c 2011-10-19 03:59:32.000000000 -0400
45898@@ -8,11 +8,13 @@ 46260@@ -8,11 +8,13 @@
45899 #include <linux/namei.h> 46261 #include <linux/namei.h>
45900 #include "internal.h" 46262 #include "internal.h"
@@ -45972,9 +46334,9 @@ diff -urNp linux-3.0.7/fs/proc/proc_sysctl.c linux-3.0.7/fs/proc/proc_sysctl.c
45972 .lookup = proc_sys_lookup, 46334 .lookup = proc_sys_lookup,
45973 .permission = proc_sys_permission, 46335 .permission = proc_sys_permission,
45974 .setattr = proc_sys_setattr, 46336 .setattr = proc_sys_setattr,
45975diff -urNp linux-3.0.7/fs/proc/root.c linux-3.0.7/fs/proc/root.c 46337diff -urNp linux-3.0.8/fs/proc/root.c linux-3.0.8/fs/proc/root.c
45976--- linux-3.0.7/fs/proc/root.c 2011-07-21 22:17:23.000000000 -0400 46338--- linux-3.0.8/fs/proc/root.c 2011-07-21 22:17:23.000000000 -0400
45977+++ linux-3.0.7/fs/proc/root.c 2011-08-23 21:48:14.000000000 -0400 46339+++ linux-3.0.8/fs/proc/root.c 2011-08-23 21:48:14.000000000 -0400
45978@@ -123,7 +123,15 @@ void __init proc_root_init(void) 46340@@ -123,7 +123,15 @@ void __init proc_root_init(void)
45979 #ifdef CONFIG_PROC_DEVICETREE 46341 #ifdef CONFIG_PROC_DEVICETREE
45980 proc_device_tree_init(); 46342 proc_device_tree_init();
@@ -45991,9 +46353,9 @@ diff -urNp linux-3.0.7/fs/proc/root.c linux-3.0.7/fs/proc/root.c
45991 proc_sys_init(); 46353 proc_sys_init();
45992 } 46354 }
45993 46355
45994diff -urNp linux-3.0.7/fs/proc/task_mmu.c linux-3.0.7/fs/proc/task_mmu.c 46356diff -urNp linux-3.0.8/fs/proc/task_mmu.c linux-3.0.8/fs/proc/task_mmu.c
45995--- linux-3.0.7/fs/proc/task_mmu.c 2011-10-16 21:54:54.000000000 -0400 46357--- linux-3.0.8/fs/proc/task_mmu.c 2011-10-24 08:05:30.000000000 -0400
45996+++ linux-3.0.7/fs/proc/task_mmu.c 2011-10-16 21:55:28.000000000 -0400 46358+++ linux-3.0.8/fs/proc/task_mmu.c 2011-10-16 21:55:28.000000000 -0400
45997@@ -51,8 +51,13 @@ void task_mem(struct seq_file *m, struct 46359@@ -51,8 +51,13 @@ void task_mem(struct seq_file *m, struct
45998 "VmExe:\t%8lu kB\n" 46360 "VmExe:\t%8lu kB\n"
45999 "VmLib:\t%8lu kB\n" 46361 "VmLib:\t%8lu kB\n"
@@ -46133,9 +46495,9 @@ diff -urNp linux-3.0.7/fs/proc/task_mmu.c linux-3.0.7/fs/proc/task_mmu.c
46133 } else if (vma->vm_start <= mm->brk && vma->vm_end >= mm->start_brk) { 46495 } else if (vma->vm_start <= mm->brk && vma->vm_end >= mm->start_brk) {
46134 seq_printf(m, " heap"); 46496 seq_printf(m, " heap");
46135 } else if (vma->vm_start <= mm->start_stack && 46497 } else if (vma->vm_start <= mm->start_stack &&
46136diff -urNp linux-3.0.7/fs/proc/task_nommu.c linux-3.0.7/fs/proc/task_nommu.c 46498diff -urNp linux-3.0.8/fs/proc/task_nommu.c linux-3.0.8/fs/proc/task_nommu.c
46137--- linux-3.0.7/fs/proc/task_nommu.c 2011-07-21 22:17:23.000000000 -0400 46499--- linux-3.0.8/fs/proc/task_nommu.c 2011-07-21 22:17:23.000000000 -0400
46138+++ linux-3.0.7/fs/proc/task_nommu.c 2011-08-23 21:47:56.000000000 -0400 46500+++ linux-3.0.8/fs/proc/task_nommu.c 2011-08-23 21:47:56.000000000 -0400
46139@@ -51,7 +51,7 @@ void task_mem(struct seq_file *m, struct 46501@@ -51,7 +51,7 @@ void task_mem(struct seq_file *m, struct
46140 else 46502 else
46141 bytes += kobjsize(mm); 46503 bytes += kobjsize(mm);
@@ -46154,9 +46516,9 @@ diff -urNp linux-3.0.7/fs/proc/task_nommu.c linux-3.0.7/fs/proc/task_nommu.c
46154 } else if (mm) { 46516 } else if (mm) {
46155 if (vma->vm_start <= mm->start_stack && 46517 if (vma->vm_start <= mm->start_stack &&
46156 vma->vm_end >= mm->start_stack) { 46518 vma->vm_end >= mm->start_stack) {
46157diff -urNp linux-3.0.7/fs/quota/netlink.c linux-3.0.7/fs/quota/netlink.c 46519diff -urNp linux-3.0.8/fs/quota/netlink.c linux-3.0.8/fs/quota/netlink.c
46158--- linux-3.0.7/fs/quota/netlink.c 2011-07-21 22:17:23.000000000 -0400 46520--- linux-3.0.8/fs/quota/netlink.c 2011-07-21 22:17:23.000000000 -0400
46159+++ linux-3.0.7/fs/quota/netlink.c 2011-08-23 21:47:56.000000000 -0400 46521+++ linux-3.0.8/fs/quota/netlink.c 2011-08-23 21:47:56.000000000 -0400
46160@@ -33,7 +33,7 @@ static struct genl_family quota_genl_fam 46522@@ -33,7 +33,7 @@ static struct genl_family quota_genl_fam
46161 void quota_send_warning(short type, unsigned int id, dev_t dev, 46523 void quota_send_warning(short type, unsigned int id, dev_t dev,
46162 const char warntype) 46524 const char warntype)
@@ -46175,9 +46537,9 @@ diff -urNp linux-3.0.7/fs/quota/netlink.c linux-3.0.7/fs/quota/netlink.c
46175 &quota_genl_family, 0, QUOTA_NL_C_WARNING); 46537 &quota_genl_family, 0, QUOTA_NL_C_WARNING);
46176 if (!msg_head) { 46538 if (!msg_head) {
46177 printk(KERN_ERR 46539 printk(KERN_ERR
46178diff -urNp linux-3.0.7/fs/readdir.c linux-3.0.7/fs/readdir.c 46540diff -urNp linux-3.0.8/fs/readdir.c linux-3.0.8/fs/readdir.c
46179--- linux-3.0.7/fs/readdir.c 2011-07-21 22:17:23.000000000 -0400 46541--- linux-3.0.8/fs/readdir.c 2011-07-21 22:17:23.000000000 -0400
46180+++ linux-3.0.7/fs/readdir.c 2011-10-06 04:17:55.000000000 -0400 46542+++ linux-3.0.8/fs/readdir.c 2011-10-06 04:17:55.000000000 -0400
46181@@ -17,6 +17,7 @@ 46543@@ -17,6 +17,7 @@
46182 #include <linux/security.h> 46544 #include <linux/security.h>
46183 #include <linux/syscalls.h> 46545 #include <linux/syscalls.h>
@@ -46276,9 +46638,9 @@ diff -urNp linux-3.0.7/fs/readdir.c linux-3.0.7/fs/readdir.c
46276 if (__put_user(d_off, &lastdirent->d_off)) 46638 if (__put_user(d_off, &lastdirent->d_off))
46277 error = -EFAULT; 46639 error = -EFAULT;
46278 else 46640 else
46279diff -urNp linux-3.0.7/fs/reiserfs/dir.c linux-3.0.7/fs/reiserfs/dir.c 46641diff -urNp linux-3.0.8/fs/reiserfs/dir.c linux-3.0.8/fs/reiserfs/dir.c
46280--- linux-3.0.7/fs/reiserfs/dir.c 2011-07-21 22:17:23.000000000 -0400 46642--- linux-3.0.8/fs/reiserfs/dir.c 2011-07-21 22:17:23.000000000 -0400
46281+++ linux-3.0.7/fs/reiserfs/dir.c 2011-08-23 21:48:14.000000000 -0400 46643+++ linux-3.0.8/fs/reiserfs/dir.c 2011-08-23 21:48:14.000000000 -0400
46282@@ -66,6 +66,8 @@ int reiserfs_readdir_dentry(struct dentr 46644@@ -66,6 +66,8 @@ int reiserfs_readdir_dentry(struct dentr
46283 struct reiserfs_dir_entry de; 46645 struct reiserfs_dir_entry de;
46284 int ret = 0; 46646 int ret = 0;
@@ -46288,9 +46650,9 @@ diff -urNp linux-3.0.7/fs/reiserfs/dir.c linux-3.0.7/fs/reiserfs/dir.c
46288 reiserfs_write_lock(inode->i_sb); 46650 reiserfs_write_lock(inode->i_sb);
46289 46651
46290 reiserfs_check_lock_depth(inode->i_sb, "readdir"); 46652 reiserfs_check_lock_depth(inode->i_sb, "readdir");
46291diff -urNp linux-3.0.7/fs/reiserfs/do_balan.c linux-3.0.7/fs/reiserfs/do_balan.c 46653diff -urNp linux-3.0.8/fs/reiserfs/do_balan.c linux-3.0.8/fs/reiserfs/do_balan.c
46292--- linux-3.0.7/fs/reiserfs/do_balan.c 2011-07-21 22:17:23.000000000 -0400 46654--- linux-3.0.8/fs/reiserfs/do_balan.c 2011-07-21 22:17:23.000000000 -0400
46293+++ linux-3.0.7/fs/reiserfs/do_balan.c 2011-08-23 21:47:56.000000000 -0400 46655+++ linux-3.0.8/fs/reiserfs/do_balan.c 2011-08-23 21:47:56.000000000 -0400
46294@@ -2051,7 +2051,7 @@ void do_balance(struct tree_balance *tb, 46656@@ -2051,7 +2051,7 @@ void do_balance(struct tree_balance *tb,
46295 return; 46657 return;
46296 } 46658 }
@@ -46300,9 +46662,9 @@ diff -urNp linux-3.0.7/fs/reiserfs/do_balan.c linux-3.0.7/fs/reiserfs/do_balan.c
46300 do_balance_starts(tb); 46662 do_balance_starts(tb);
46301 46663
46302 /* balance leaf returns 0 except if combining L R and S into 46664 /* balance leaf returns 0 except if combining L R and S into
46303diff -urNp linux-3.0.7/fs/reiserfs/journal.c linux-3.0.7/fs/reiserfs/journal.c 46665diff -urNp linux-3.0.8/fs/reiserfs/journal.c linux-3.0.8/fs/reiserfs/journal.c
46304--- linux-3.0.7/fs/reiserfs/journal.c 2011-07-21 22:17:23.000000000 -0400 46666--- linux-3.0.8/fs/reiserfs/journal.c 2011-07-21 22:17:23.000000000 -0400
46305+++ linux-3.0.7/fs/reiserfs/journal.c 2011-08-23 21:48:14.000000000 -0400 46667+++ linux-3.0.8/fs/reiserfs/journal.c 2011-08-23 21:48:14.000000000 -0400
46306@@ -2299,6 +2299,8 @@ static struct buffer_head *reiserfs_brea 46668@@ -2299,6 +2299,8 @@ static struct buffer_head *reiserfs_brea
46307 struct buffer_head *bh; 46669 struct buffer_head *bh;
46308 int i, j; 46670 int i, j;
@@ -46312,9 +46674,9 @@ diff -urNp linux-3.0.7/fs/reiserfs/journal.c linux-3.0.7/fs/reiserfs/journal.c
46312 bh = __getblk(dev, block, bufsize); 46674 bh = __getblk(dev, block, bufsize);
46313 if (buffer_uptodate(bh)) 46675 if (buffer_uptodate(bh))
46314 return (bh); 46676 return (bh);
46315diff -urNp linux-3.0.7/fs/reiserfs/namei.c linux-3.0.7/fs/reiserfs/namei.c 46677diff -urNp linux-3.0.8/fs/reiserfs/namei.c linux-3.0.8/fs/reiserfs/namei.c
46316--- linux-3.0.7/fs/reiserfs/namei.c 2011-07-21 22:17:23.000000000 -0400 46678--- linux-3.0.8/fs/reiserfs/namei.c 2011-07-21 22:17:23.000000000 -0400
46317+++ linux-3.0.7/fs/reiserfs/namei.c 2011-08-23 21:48:14.000000000 -0400 46679+++ linux-3.0.8/fs/reiserfs/namei.c 2011-08-23 21:48:14.000000000 -0400
46318@@ -1225,6 +1225,8 @@ static int reiserfs_rename(struct inode 46680@@ -1225,6 +1225,8 @@ static int reiserfs_rename(struct inode
46319 unsigned long savelink = 1; 46681 unsigned long savelink = 1;
46320 struct timespec ctime; 46682 struct timespec ctime;
@@ -46324,9 +46686,9 @@ diff -urNp linux-3.0.7/fs/reiserfs/namei.c linux-3.0.7/fs/reiserfs/namei.c
46324 /* three balancings: (1) old name removal, (2) new name insertion 46686 /* three balancings: (1) old name removal, (2) new name insertion
46325 and (3) maybe "save" link insertion 46687 and (3) maybe "save" link insertion
46326 stat data updates: (1) old directory, 46688 stat data updates: (1) old directory,
46327diff -urNp linux-3.0.7/fs/reiserfs/procfs.c linux-3.0.7/fs/reiserfs/procfs.c 46689diff -urNp linux-3.0.8/fs/reiserfs/procfs.c linux-3.0.8/fs/reiserfs/procfs.c
46328--- linux-3.0.7/fs/reiserfs/procfs.c 2011-07-21 22:17:23.000000000 -0400 46690--- linux-3.0.8/fs/reiserfs/procfs.c 2011-07-21 22:17:23.000000000 -0400
46329+++ linux-3.0.7/fs/reiserfs/procfs.c 2011-08-23 21:48:14.000000000 -0400 46691+++ linux-3.0.8/fs/reiserfs/procfs.c 2011-08-23 21:48:14.000000000 -0400
46330@@ -113,7 +113,7 @@ static int show_super(struct seq_file *m 46692@@ -113,7 +113,7 @@ static int show_super(struct seq_file *m
46331 "SMALL_TAILS " : "NO_TAILS ", 46693 "SMALL_TAILS " : "NO_TAILS ",
46332 replay_only(sb) ? "REPLAY_ONLY " : "", 46694 replay_only(sb) ? "REPLAY_ONLY " : "",
@@ -46345,9 +46707,9 @@ diff -urNp linux-3.0.7/fs/reiserfs/procfs.c linux-3.0.7/fs/reiserfs/procfs.c
46345 seq_printf(m, /* on-disk fields */ 46707 seq_printf(m, /* on-disk fields */
46346 "jp_journal_1st_block: \t%i\n" 46708 "jp_journal_1st_block: \t%i\n"
46347 "jp_journal_dev: \t%s[%x]\n" 46709 "jp_journal_dev: \t%s[%x]\n"
46348diff -urNp linux-3.0.7/fs/reiserfs/stree.c linux-3.0.7/fs/reiserfs/stree.c 46710diff -urNp linux-3.0.8/fs/reiserfs/stree.c linux-3.0.8/fs/reiserfs/stree.c
46349--- linux-3.0.7/fs/reiserfs/stree.c 2011-07-21 22:17:23.000000000 -0400 46711--- linux-3.0.8/fs/reiserfs/stree.c 2011-07-21 22:17:23.000000000 -0400
46350+++ linux-3.0.7/fs/reiserfs/stree.c 2011-08-23 21:48:14.000000000 -0400 46712+++ linux-3.0.8/fs/reiserfs/stree.c 2011-08-23 21:48:14.000000000 -0400
46351@@ -1196,6 +1196,8 @@ int reiserfs_delete_item(struct reiserfs 46713@@ -1196,6 +1196,8 @@ int reiserfs_delete_item(struct reiserfs
46352 int iter = 0; 46714 int iter = 0;
46353 #endif 46715 #endif
@@ -46393,9 +46755,9 @@ diff -urNp linux-3.0.7/fs/reiserfs/stree.c linux-3.0.7/fs/reiserfs/stree.c
46393 BUG_ON(!th->t_trans_id); 46755 BUG_ON(!th->t_trans_id);
46394 46756
46395 if (inode) { /* Do we count quotas for item? */ 46757 if (inode) { /* Do we count quotas for item? */
46396diff -urNp linux-3.0.7/fs/reiserfs/super.c linux-3.0.7/fs/reiserfs/super.c 46758diff -urNp linux-3.0.8/fs/reiserfs/super.c linux-3.0.8/fs/reiserfs/super.c
46397--- linux-3.0.7/fs/reiserfs/super.c 2011-07-21 22:17:23.000000000 -0400 46759--- linux-3.0.8/fs/reiserfs/super.c 2011-07-21 22:17:23.000000000 -0400
46398+++ linux-3.0.7/fs/reiserfs/super.c 2011-08-23 21:48:14.000000000 -0400 46760+++ linux-3.0.8/fs/reiserfs/super.c 2011-08-23 21:48:14.000000000 -0400
46399@@ -927,6 +927,8 @@ static int reiserfs_parse_options(struct 46761@@ -927,6 +927,8 @@ static int reiserfs_parse_options(struct
46400 {.option_name = NULL} 46762 {.option_name = NULL}
46401 }; 46763 };
@@ -46405,9 +46767,9 @@ diff -urNp linux-3.0.7/fs/reiserfs/super.c linux-3.0.7/fs/reiserfs/super.c
46405 *blocks = 0; 46767 *blocks = 0;
46406 if (!options || !*options) 46768 if (!options || !*options)
46407 /* use default configuration: create tails, journaling on, no 46769 /* use default configuration: create tails, journaling on, no
46408diff -urNp linux-3.0.7/fs/select.c linux-3.0.7/fs/select.c 46770diff -urNp linux-3.0.8/fs/select.c linux-3.0.8/fs/select.c
46409--- linux-3.0.7/fs/select.c 2011-07-21 22:17:23.000000000 -0400 46771--- linux-3.0.8/fs/select.c 2011-07-21 22:17:23.000000000 -0400
46410+++ linux-3.0.7/fs/select.c 2011-08-23 21:48:14.000000000 -0400 46772+++ linux-3.0.8/fs/select.c 2011-08-23 21:48:14.000000000 -0400
46411@@ -20,6 +20,7 @@ 46773@@ -20,6 +20,7 @@
46412 #include <linux/module.h> 46774 #include <linux/module.h>
46413 #include <linux/slab.h> 46775 #include <linux/slab.h>
@@ -46444,9 +46806,9 @@ diff -urNp linux-3.0.7/fs/select.c linux-3.0.7/fs/select.c
46444 if (nfds > rlimit(RLIMIT_NOFILE)) 46806 if (nfds > rlimit(RLIMIT_NOFILE))
46445 return -EINVAL; 46807 return -EINVAL;
46446 46808
46447diff -urNp linux-3.0.7/fs/seq_file.c linux-3.0.7/fs/seq_file.c 46809diff -urNp linux-3.0.8/fs/seq_file.c linux-3.0.8/fs/seq_file.c
46448--- linux-3.0.7/fs/seq_file.c 2011-07-21 22:17:23.000000000 -0400 46810--- linux-3.0.8/fs/seq_file.c 2011-07-21 22:17:23.000000000 -0400
46449+++ linux-3.0.7/fs/seq_file.c 2011-08-23 21:47:56.000000000 -0400 46811+++ linux-3.0.8/fs/seq_file.c 2011-08-23 21:47:56.000000000 -0400
46450@@ -76,7 +76,8 @@ static int traverse(struct seq_file *m, 46812@@ -76,7 +76,8 @@ static int traverse(struct seq_file *m,
46451 return 0; 46813 return 0;
46452 } 46814 }
@@ -46496,9 +46858,9 @@ diff -urNp linux-3.0.7/fs/seq_file.c linux-3.0.7/fs/seq_file.c
46496 int res = -ENOMEM; 46858 int res = -ENOMEM;
46497 46859
46498 if (op) { 46860 if (op) {
46499diff -urNp linux-3.0.7/fs/splice.c linux-3.0.7/fs/splice.c 46861diff -urNp linux-3.0.8/fs/splice.c linux-3.0.8/fs/splice.c
46500--- linux-3.0.7/fs/splice.c 2011-07-21 22:17:23.000000000 -0400 46862--- linux-3.0.8/fs/splice.c 2011-07-21 22:17:23.000000000 -0400
46501+++ linux-3.0.7/fs/splice.c 2011-10-06 04:17:55.000000000 -0400 46863+++ linux-3.0.8/fs/splice.c 2011-10-06 04:17:55.000000000 -0400
46502@@ -194,7 +194,7 @@ ssize_t splice_to_pipe(struct pipe_inode 46864@@ -194,7 +194,7 @@ ssize_t splice_to_pipe(struct pipe_inode
46503 pipe_lock(pipe); 46865 pipe_lock(pipe);
46504 46866
@@ -46664,9 +47026,9 @@ diff -urNp linux-3.0.7/fs/splice.c linux-3.0.7/fs/splice.c
46664 ret = -EAGAIN; 47026 ret = -EAGAIN;
46665 47027
46666 pipe_unlock(ipipe); 47028 pipe_unlock(ipipe);
46667diff -urNp linux-3.0.7/fs/sysfs/file.c linux-3.0.7/fs/sysfs/file.c 47029diff -urNp linux-3.0.8/fs/sysfs/file.c linux-3.0.8/fs/sysfs/file.c
46668--- linux-3.0.7/fs/sysfs/file.c 2011-07-21 22:17:23.000000000 -0400 47030--- linux-3.0.8/fs/sysfs/file.c 2011-07-21 22:17:23.000000000 -0400
46669+++ linux-3.0.7/fs/sysfs/file.c 2011-08-23 21:47:56.000000000 -0400 47031+++ linux-3.0.8/fs/sysfs/file.c 2011-08-23 21:47:56.000000000 -0400
46670@@ -37,7 +37,7 @@ static DEFINE_SPINLOCK(sysfs_open_dirent 47032@@ -37,7 +37,7 @@ static DEFINE_SPINLOCK(sysfs_open_dirent
46671 47033
46672 struct sysfs_open_dirent { 47034 struct sysfs_open_dirent {
@@ -46712,9 +47074,9 @@ diff -urNp linux-3.0.7/fs/sysfs/file.c linux-3.0.7/fs/sysfs/file.c
46712 wake_up_interruptible(&od->poll); 47074 wake_up_interruptible(&od->poll);
46713 } 47075 }
46714 47076
46715diff -urNp linux-3.0.7/fs/sysfs/mount.c linux-3.0.7/fs/sysfs/mount.c 47077diff -urNp linux-3.0.8/fs/sysfs/mount.c linux-3.0.8/fs/sysfs/mount.c
46716--- linux-3.0.7/fs/sysfs/mount.c 2011-07-21 22:17:23.000000000 -0400 47078--- linux-3.0.8/fs/sysfs/mount.c 2011-07-21 22:17:23.000000000 -0400
46717+++ linux-3.0.7/fs/sysfs/mount.c 2011-08-23 21:48:14.000000000 -0400 47079+++ linux-3.0.8/fs/sysfs/mount.c 2011-08-23 21:48:14.000000000 -0400
46718@@ -36,7 +36,11 @@ struct sysfs_dirent sysfs_root = { 47080@@ -36,7 +36,11 @@ struct sysfs_dirent sysfs_root = {
46719 .s_name = "", 47081 .s_name = "",
46720 .s_count = ATOMIC_INIT(1), 47082 .s_count = ATOMIC_INIT(1),
@@ -46727,9 +47089,9 @@ diff -urNp linux-3.0.7/fs/sysfs/mount.c linux-3.0.7/fs/sysfs/mount.c
46727 .s_ino = 1, 47089 .s_ino = 1,
46728 }; 47090 };
46729 47091
46730diff -urNp linux-3.0.7/fs/sysfs/symlink.c linux-3.0.7/fs/sysfs/symlink.c 47092diff -urNp linux-3.0.8/fs/sysfs/symlink.c linux-3.0.8/fs/sysfs/symlink.c
46731--- linux-3.0.7/fs/sysfs/symlink.c 2011-07-21 22:17:23.000000000 -0400 47093--- linux-3.0.8/fs/sysfs/symlink.c 2011-07-21 22:17:23.000000000 -0400
46732+++ linux-3.0.7/fs/sysfs/symlink.c 2011-08-23 21:47:56.000000000 -0400 47094+++ linux-3.0.8/fs/sysfs/symlink.c 2011-08-23 21:47:56.000000000 -0400
46733@@ -286,7 +286,7 @@ static void *sysfs_follow_link(struct de 47095@@ -286,7 +286,7 @@ static void *sysfs_follow_link(struct de
46734 47096
46735 static void sysfs_put_link(struct dentry *dentry, struct nameidata *nd, void *cookie) 47097 static void sysfs_put_link(struct dentry *dentry, struct nameidata *nd, void *cookie)
@@ -46739,9 +47101,9 @@ diff -urNp linux-3.0.7/fs/sysfs/symlink.c linux-3.0.7/fs/sysfs/symlink.c
46739 if (!IS_ERR(page)) 47101 if (!IS_ERR(page))
46740 free_page((unsigned long)page); 47102 free_page((unsigned long)page);
46741 } 47103 }
46742diff -urNp linux-3.0.7/fs/udf/inode.c linux-3.0.7/fs/udf/inode.c 47104diff -urNp linux-3.0.8/fs/udf/inode.c linux-3.0.8/fs/udf/inode.c
46743--- linux-3.0.7/fs/udf/inode.c 2011-07-21 22:17:23.000000000 -0400 47105--- linux-3.0.8/fs/udf/inode.c 2011-07-21 22:17:23.000000000 -0400
46744+++ linux-3.0.7/fs/udf/inode.c 2011-08-23 21:48:14.000000000 -0400 47106+++ linux-3.0.8/fs/udf/inode.c 2011-08-23 21:48:14.000000000 -0400
46745@@ -560,6 +560,8 @@ static struct buffer_head *inode_getblk( 47107@@ -560,6 +560,8 @@ static struct buffer_head *inode_getblk(
46746 int goal = 0, pgoal = iinfo->i_location.logicalBlockNum; 47108 int goal = 0, pgoal = iinfo->i_location.logicalBlockNum;
46747 int lastblock = 0; 47109 int lastblock = 0;
@@ -46751,9 +47113,9 @@ diff -urNp linux-3.0.7/fs/udf/inode.c linux-3.0.7/fs/udf/inode.c
46751 prev_epos.offset = udf_file_entry_alloc_offset(inode); 47113 prev_epos.offset = udf_file_entry_alloc_offset(inode);
46752 prev_epos.block = iinfo->i_location; 47114 prev_epos.block = iinfo->i_location;
46753 prev_epos.bh = NULL; 47115 prev_epos.bh = NULL;
46754diff -urNp linux-3.0.7/fs/udf/misc.c linux-3.0.7/fs/udf/misc.c 47116diff -urNp linux-3.0.8/fs/udf/misc.c linux-3.0.8/fs/udf/misc.c
46755--- linux-3.0.7/fs/udf/misc.c 2011-07-21 22:17:23.000000000 -0400 47117--- linux-3.0.8/fs/udf/misc.c 2011-07-21 22:17:23.000000000 -0400
46756+++ linux-3.0.7/fs/udf/misc.c 2011-08-23 21:47:56.000000000 -0400 47118+++ linux-3.0.8/fs/udf/misc.c 2011-08-23 21:47:56.000000000 -0400
46757@@ -286,7 +286,7 @@ void udf_new_tag(char *data, uint16_t id 47119@@ -286,7 +286,7 @@ void udf_new_tag(char *data, uint16_t id
46758 47120
46759 u8 udf_tag_checksum(const struct tag *t) 47121 u8 udf_tag_checksum(const struct tag *t)
@@ -46763,9 +47125,9 @@ diff -urNp linux-3.0.7/fs/udf/misc.c linux-3.0.7/fs/udf/misc.c
46763 u8 checksum = 0; 47125 u8 checksum = 0;
46764 int i; 47126 int i;
46765 for (i = 0; i < sizeof(struct tag); ++i) 47127 for (i = 0; i < sizeof(struct tag); ++i)
46766diff -urNp linux-3.0.7/fs/utimes.c linux-3.0.7/fs/utimes.c 47128diff -urNp linux-3.0.8/fs/utimes.c linux-3.0.8/fs/utimes.c
46767--- linux-3.0.7/fs/utimes.c 2011-07-21 22:17:23.000000000 -0400 47129--- linux-3.0.8/fs/utimes.c 2011-07-21 22:17:23.000000000 -0400
46768+++ linux-3.0.7/fs/utimes.c 2011-08-23 21:48:14.000000000 -0400 47130+++ linux-3.0.8/fs/utimes.c 2011-08-23 21:48:14.000000000 -0400
46769@@ -1,6 +1,7 @@ 47131@@ -1,6 +1,7 @@
46770 #include <linux/compiler.h> 47132 #include <linux/compiler.h>
46771 #include <linux/file.h> 47133 #include <linux/file.h>
@@ -46787,9 +47149,23 @@ diff -urNp linux-3.0.7/fs/utimes.c linux-3.0.7/fs/utimes.c
46787 mutex_lock(&inode->i_mutex); 47149 mutex_lock(&inode->i_mutex);
46788 error = notify_change(path->dentry, &newattrs); 47150 error = notify_change(path->dentry, &newattrs);
46789 mutex_unlock(&inode->i_mutex); 47151 mutex_unlock(&inode->i_mutex);
46790diff -urNp linux-3.0.7/fs/xattr.c linux-3.0.7/fs/xattr.c 47152diff -urNp linux-3.0.8/fs/xattr_acl.c linux-3.0.8/fs/xattr_acl.c
46791--- linux-3.0.7/fs/xattr.c 2011-07-21 22:17:23.000000000 -0400 47153--- linux-3.0.8/fs/xattr_acl.c 2011-07-21 22:17:23.000000000 -0400
46792+++ linux-3.0.7/fs/xattr.c 2011-08-23 21:48:14.000000000 -0400 47154+++ linux-3.0.8/fs/xattr_acl.c 2011-08-23 21:47:56.000000000 -0400
47155@@ -17,8 +17,8 @@
47156 struct posix_acl *
47157 posix_acl_from_xattr(const void *value, size_t size)
47158 {
47159- posix_acl_xattr_header *header = (posix_acl_xattr_header *)value;
47160- posix_acl_xattr_entry *entry = (posix_acl_xattr_entry *)(header+1), *end;
47161+ const posix_acl_xattr_header *header = (const posix_acl_xattr_header *)value;
47162+ const posix_acl_xattr_entry *entry = (const posix_acl_xattr_entry *)(header+1), *end;
47163 int count;
47164 struct posix_acl *acl;
47165 struct posix_acl_entry *acl_e;
47166diff -urNp linux-3.0.8/fs/xattr.c linux-3.0.8/fs/xattr.c
47167--- linux-3.0.8/fs/xattr.c 2011-07-21 22:17:23.000000000 -0400
47168+++ linux-3.0.8/fs/xattr.c 2011-08-23 21:48:14.000000000 -0400
46793@@ -254,7 +254,7 @@ EXPORT_SYMBOL_GPL(vfs_removexattr); 47169@@ -254,7 +254,7 @@ EXPORT_SYMBOL_GPL(vfs_removexattr);
46794 * Extended attribute SET operations 47170 * Extended attribute SET operations
46795 */ 47171 */
@@ -46852,23 +47228,20 @@ diff -urNp linux-3.0.7/fs/xattr.c linux-3.0.7/fs/xattr.c
46852 mnt_drop_write(f->f_path.mnt); 47228 mnt_drop_write(f->f_path.mnt);
46853 } 47229 }
46854 fput(f); 47230 fput(f);
46855diff -urNp linux-3.0.7/fs/xattr_acl.c linux-3.0.7/fs/xattr_acl.c 47231diff -urNp linux-3.0.8/fs/xfs/linux-2.6/xfs_ioctl32.c linux-3.0.8/fs/xfs/linux-2.6/xfs_ioctl32.c
46856--- linux-3.0.7/fs/xattr_acl.c 2011-07-21 22:17:23.000000000 -0400 47232--- linux-3.0.8/fs/xfs/linux-2.6/xfs_ioctl32.c 2011-07-21 22:17:23.000000000 -0400
46857+++ linux-3.0.7/fs/xattr_acl.c 2011-08-23 21:47:56.000000000 -0400 47233+++ linux-3.0.8/fs/xfs/linux-2.6/xfs_ioctl32.c 2011-08-23 21:48:14.000000000 -0400
46858@@ -17,8 +17,8 @@ 47234@@ -73,6 +73,7 @@ xfs_compat_ioc_fsgeometry_v1(
46859 struct posix_acl * 47235 xfs_fsop_geom_t fsgeo;
46860 posix_acl_from_xattr(const void *value, size_t size) 47236 int error;
46861 { 47237
46862- posix_acl_xattr_header *header = (posix_acl_xattr_header *)value; 47238+ memset(&fsgeo, 0, sizeof(fsgeo));
46863- posix_acl_xattr_entry *entry = (posix_acl_xattr_entry *)(header+1), *end; 47239 error = xfs_fs_geometry(mp, &fsgeo, 3);
46864+ const posix_acl_xattr_header *header = (const posix_acl_xattr_header *)value; 47240 if (error)
46865+ const posix_acl_xattr_entry *entry = (const posix_acl_xattr_entry *)(header+1), *end; 47241 return -error;
46866 int count; 47242diff -urNp linux-3.0.8/fs/xfs/linux-2.6/xfs_ioctl.c linux-3.0.8/fs/xfs/linux-2.6/xfs_ioctl.c
46867 struct posix_acl *acl; 47243--- linux-3.0.8/fs/xfs/linux-2.6/xfs_ioctl.c 2011-07-21 22:17:23.000000000 -0400
46868 struct posix_acl_entry *acl_e; 47244+++ linux-3.0.8/fs/xfs/linux-2.6/xfs_ioctl.c 2011-08-23 21:47:56.000000000 -0400
46869diff -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
46870--- linux-3.0.7/fs/xfs/linux-2.6/xfs_ioctl.c 2011-07-21 22:17:23.000000000 -0400
46871+++ linux-3.0.7/fs/xfs/linux-2.6/xfs_ioctl.c 2011-08-23 21:47:56.000000000 -0400
46872@@ -128,7 +128,7 @@ xfs_find_handle( 47245@@ -128,7 +128,7 @@ xfs_find_handle(
46873 } 47246 }
46874 47247
@@ -46878,20 +47251,9 @@ diff -urNp linux-3.0.7/fs/xfs/linux-2.6/xfs_ioctl.c linux-3.0.7/fs/xfs/linux-2.6
46878 copy_to_user(hreq->ohandlen, &hsize, sizeof(__s32))) 47251 copy_to_user(hreq->ohandlen, &hsize, sizeof(__s32)))
46879 goto out_put; 47252 goto out_put;
46880 47253
46881diff -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 47254diff -urNp linux-3.0.8/fs/xfs/linux-2.6/xfs_iops.c linux-3.0.8/fs/xfs/linux-2.6/xfs_iops.c
46882--- linux-3.0.7/fs/xfs/linux-2.6/xfs_ioctl32.c 2011-07-21 22:17:23.000000000 -0400 47255--- linux-3.0.8/fs/xfs/linux-2.6/xfs_iops.c 2011-07-21 22:17:23.000000000 -0400
46883+++ linux-3.0.7/fs/xfs/linux-2.6/xfs_ioctl32.c 2011-08-23 21:48:14.000000000 -0400 47256+++ linux-3.0.8/fs/xfs/linux-2.6/xfs_iops.c 2011-08-23 21:47:56.000000000 -0400
46884@@ -73,6 +73,7 @@ xfs_compat_ioc_fsgeometry_v1(
46885 xfs_fsop_geom_t fsgeo;
46886 int error;
46887
46888+ memset(&fsgeo, 0, sizeof(fsgeo));
46889 error = xfs_fs_geometry(mp, &fsgeo, 3);
46890 if (error)
46891 return -error;
46892diff -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
46893--- linux-3.0.7/fs/xfs/linux-2.6/xfs_iops.c 2011-07-21 22:17:23.000000000 -0400
46894+++ linux-3.0.7/fs/xfs/linux-2.6/xfs_iops.c 2011-08-23 21:47:56.000000000 -0400
46895@@ -437,7 +437,7 @@ xfs_vn_put_link( 47257@@ -437,7 +437,7 @@ xfs_vn_put_link(
46896 struct nameidata *nd, 47258 struct nameidata *nd,
46897 void *p) 47259 void *p)
@@ -46901,9 +47263,9 @@ diff -urNp linux-3.0.7/fs/xfs/linux-2.6/xfs_iops.c linux-3.0.7/fs/xfs/linux-2.6/
46901 47263
46902 if (!IS_ERR(s)) 47264 if (!IS_ERR(s))
46903 kfree(s); 47265 kfree(s);
46904diff -urNp linux-3.0.7/fs/xfs/xfs_bmap.c linux-3.0.7/fs/xfs/xfs_bmap.c 47266diff -urNp linux-3.0.8/fs/xfs/xfs_bmap.c linux-3.0.8/fs/xfs/xfs_bmap.c
46905--- linux-3.0.7/fs/xfs/xfs_bmap.c 2011-07-21 22:17:23.000000000 -0400 47267--- linux-3.0.8/fs/xfs/xfs_bmap.c 2011-07-21 22:17:23.000000000 -0400
46906+++ linux-3.0.7/fs/xfs/xfs_bmap.c 2011-08-23 21:47:56.000000000 -0400 47268+++ linux-3.0.8/fs/xfs/xfs_bmap.c 2011-08-23 21:47:56.000000000 -0400
46907@@ -253,7 +253,7 @@ xfs_bmap_validate_ret( 47269@@ -253,7 +253,7 @@ xfs_bmap_validate_ret(
46908 int nmap, 47270 int nmap,
46909 int ret_nmap); 47271 int ret_nmap);
@@ -46913,9 +47275,9 @@ diff -urNp linux-3.0.7/fs/xfs/xfs_bmap.c linux-3.0.7/fs/xfs/xfs_bmap.c
46913 #endif /* DEBUG */ 47275 #endif /* DEBUG */
46914 47276
46915 STATIC int 47277 STATIC int
46916diff -urNp linux-3.0.7/fs/xfs/xfs_dir2_sf.c linux-3.0.7/fs/xfs/xfs_dir2_sf.c 47278diff -urNp linux-3.0.8/fs/xfs/xfs_dir2_sf.c linux-3.0.8/fs/xfs/xfs_dir2_sf.c
46917--- linux-3.0.7/fs/xfs/xfs_dir2_sf.c 2011-07-21 22:17:23.000000000 -0400 47279--- linux-3.0.8/fs/xfs/xfs_dir2_sf.c 2011-07-21 22:17:23.000000000 -0400
46918+++ linux-3.0.7/fs/xfs/xfs_dir2_sf.c 2011-08-23 21:47:56.000000000 -0400 47280+++ linux-3.0.8/fs/xfs/xfs_dir2_sf.c 2011-08-23 21:47:56.000000000 -0400
46919@@ -780,7 +780,15 @@ xfs_dir2_sf_getdents( 47281@@ -780,7 +780,15 @@ xfs_dir2_sf_getdents(
46920 } 47282 }
46921 47283
@@ -46933,1091 +47295,118 @@ diff -urNp linux-3.0.7/fs/xfs/xfs_dir2_sf.c linux-3.0.7/fs/xfs/xfs_dir2_sf.c
46933 off & 0x7fffffff, ino, DT_UNKNOWN)) { 47295 off & 0x7fffffff, ino, DT_UNKNOWN)) {
46934 *offset = off & 0x7fffffff; 47296 *offset = off & 0x7fffffff;
46935 return 0; 47297 return 0;
46936diff -urNp linux-3.0.7/grsecurity/Kconfig linux-3.0.7/grsecurity/Kconfig 47298diff -urNp linux-3.0.8/grsecurity/gracl_alloc.c linux-3.0.8/grsecurity/gracl_alloc.c
46937--- linux-3.0.7/grsecurity/Kconfig 1969-12-31 19:00:00.000000000 -0500 47299--- linux-3.0.8/grsecurity/gracl_alloc.c 1969-12-31 19:00:00.000000000 -0500
46938+++ linux-3.0.7/grsecurity/Kconfig 2011-09-15 00:00:57.000000000 -0400 47300+++ linux-3.0.8/grsecurity/gracl_alloc.c 2011-08-23 21:48:14.000000000 -0400
46939@@ -0,0 +1,1038 @@ 47301@@ -0,0 +1,105 @@
46940+# 47302+#include <linux/kernel.h>
46941+# grecurity configuration 47303+#include <linux/mm.h>
46942+# 47304+#include <linux/slab.h>
46943+ 47305+#include <linux/vmalloc.h>
46944+menu "Grsecurity" 47306+#include <linux/gracl.h>
46945+ 47307+#include <linux/grsecurity.h>
46946+config GRKERNSEC
46947+ bool "Grsecurity"
46948+ select CRYPTO
46949+ select CRYPTO_SHA256
46950+ help
46951+ If you say Y here, you will be able to configure many features
46952+ that will enhance the security of your system. It is highly
46953+ recommended that you say Y here and read through the help
46954+ for each option so that you fully understand the features and
46955+ can evaluate their usefulness for your machine.
46956+
46957+choice
46958+ prompt "Security Level"
46959+ depends on GRKERNSEC
46960+ default GRKERNSEC_CUSTOM
46961+
46962+config GRKERNSEC_LOW
46963+ bool "Low"
46964+ select GRKERNSEC_LINK
46965+ select GRKERNSEC_FIFO
46966+ select GRKERNSEC_RANDNET
46967+ select GRKERNSEC_DMESG
46968+ select GRKERNSEC_CHROOT
46969+ select GRKERNSEC_CHROOT_CHDIR
46970+
46971+ help
46972+ If you choose this option, several of the grsecurity options will
46973+ be enabled that will give you greater protection against a number
46974+ of attacks, while assuring that none of your software will have any
46975+ conflicts with the additional security measures. If you run a lot
46976+ of unusual software, or you are having problems with the higher
46977+ security levels, you should say Y here. With this option, the
46978+ following features are enabled:
46979+
46980+ - Linking restrictions
46981+ - FIFO restrictions
46982+ - Restricted dmesg
46983+ - Enforced chdir("/") on chroot
46984+ - Runtime module disabling
46985+
46986+config GRKERNSEC_MEDIUM
46987+ bool "Medium"
46988+ select PAX
46989+ select PAX_EI_PAX
46990+ select PAX_PT_PAX_FLAGS
46991+ select PAX_HAVE_ACL_FLAGS
46992+ select GRKERNSEC_PROC_MEMMAP if (PAX_NOEXEC || PAX_ASLR)
46993+ select GRKERNSEC_CHROOT
46994+ select GRKERNSEC_CHROOT_SYSCTL
46995+ select GRKERNSEC_LINK
46996+ select GRKERNSEC_FIFO
46997+ select GRKERNSEC_DMESG
46998+ select GRKERNSEC_RANDNET
46999+ select GRKERNSEC_FORKFAIL
47000+ select GRKERNSEC_TIME
47001+ select GRKERNSEC_SIGNAL
47002+ select GRKERNSEC_CHROOT
47003+ select GRKERNSEC_CHROOT_UNIX
47004+ select GRKERNSEC_CHROOT_MOUNT
47005+ select GRKERNSEC_CHROOT_PIVOT
47006+ select GRKERNSEC_CHROOT_DOUBLE
47007+ select GRKERNSEC_CHROOT_CHDIR
47008+ select GRKERNSEC_CHROOT_MKNOD
47009+ select GRKERNSEC_PROC
47010+ select GRKERNSEC_PROC_USERGROUP
47011+ select PAX_RANDUSTACK
47012+ select PAX_ASLR
47013+ select PAX_RANDMMAP
47014+ select PAX_REFCOUNT if (X86 || SPARC64)
47015+ select PAX_USERCOPY if ((X86 || SPARC || PPC || ARM) && (SLAB || SLUB || SLOB))
47016+
47017+ help
47018+ If you say Y here, several features in addition to those included
47019+ in the low additional security level will be enabled. These
47020+ features provide even more security to your system, though in rare
47021+ cases they may be incompatible with very old or poorly written
47022+ software. If you enable this option, make sure that your auth
47023+ service (identd) is running as gid 1001. With this option,
47024+ the following features (in addition to those provided in the
47025+ low additional security level) will be enabled:
47026+
47027+ - Failed fork logging
47028+ - Time change logging
47029+ - Signal logging
47030+ - Deny mounts in chroot
47031+ - Deny double chrooting
47032+ - Deny sysctl writes in chroot
47033+ - Deny mknod in chroot
47034+ - Deny access to abstract AF_UNIX sockets out of chroot
47035+ - Deny pivot_root in chroot
47036+ - Denied writes of /dev/kmem, /dev/mem, and /dev/port
47037+ - /proc restrictions with special GID set to 10 (usually wheel)
47038+ - Address Space Layout Randomization (ASLR)
47039+ - Prevent exploitation of most refcount overflows
47040+ - Bounds checking of copying between the kernel and userland
47041+
47042+config GRKERNSEC_HIGH
47043+ bool "High"
47044+ select GRKERNSEC_LINK
47045+ select GRKERNSEC_FIFO
47046+ select GRKERNSEC_DMESG
47047+ select GRKERNSEC_FORKFAIL
47048+ select GRKERNSEC_TIME
47049+ select GRKERNSEC_SIGNAL
47050+ select GRKERNSEC_CHROOT
47051+ select GRKERNSEC_CHROOT_SHMAT
47052+ select GRKERNSEC_CHROOT_UNIX
47053+ select GRKERNSEC_CHROOT_MOUNT
47054+ select GRKERNSEC_CHROOT_FCHDIR
47055+ select GRKERNSEC_CHROOT_PIVOT
47056+ select GRKERNSEC_CHROOT_DOUBLE
47057+ select GRKERNSEC_CHROOT_CHDIR
47058+ select GRKERNSEC_CHROOT_MKNOD
47059+ select GRKERNSEC_CHROOT_CAPS
47060+ select GRKERNSEC_CHROOT_SYSCTL
47061+ select GRKERNSEC_CHROOT_FINDTASK
47062+ select GRKERNSEC_SYSFS_RESTRICT
47063+ select GRKERNSEC_PROC
47064+ select GRKERNSEC_PROC_MEMMAP if (PAX_NOEXEC || PAX_ASLR)
47065+ select GRKERNSEC_HIDESYM
47066+ select GRKERNSEC_BRUTE
47067+ select GRKERNSEC_PROC_USERGROUP
47068+ select GRKERNSEC_KMEM
47069+ select GRKERNSEC_RESLOG
47070+ select GRKERNSEC_RANDNET
47071+ select GRKERNSEC_PROC_ADD
47072+ select GRKERNSEC_CHROOT_CHMOD
47073+ select GRKERNSEC_CHROOT_NICE
47074+ select GRKERNSEC_AUDIT_MOUNT
47075+ select GRKERNSEC_MODHARDEN if (MODULES)
47076+ select GRKERNSEC_HARDEN_PTRACE
47077+ select GRKERNSEC_VM86 if (X86_32)
47078+ select GRKERNSEC_KERN_LOCKOUT if (X86 || ARM || PPC || SPARC)
47079+ select PAX
47080+ select PAX_RANDUSTACK
47081+ select PAX_ASLR
47082+ select PAX_RANDMMAP
47083+ select PAX_NOEXEC
47084+ select PAX_MPROTECT
47085+ select PAX_EI_PAX
47086+ select PAX_PT_PAX_FLAGS
47087+ select PAX_HAVE_ACL_FLAGS
47088+ select PAX_KERNEXEC if ((PPC || X86) && (!X86_32 || X86_WP_WORKS_OK) && !XEN)
47089+ select PAX_MEMORY_UDEREF if (X86 && !XEN)
47090+ select PAX_RANDKSTACK if (X86_TSC && X86)
47091+ select PAX_SEGMEXEC if (X86_32)
47092+ select PAX_PAGEEXEC
47093+ select PAX_EMUPLT if (ALPHA || PARISC || SPARC)
47094+ select PAX_EMUTRAMP if (PARISC)
47095+ select PAX_EMUSIGRT if (PARISC)
47096+ select PAX_ETEXECRELOCS if (ALPHA || IA64 || PARISC)
47097+ select PAX_ELFRELOCS if (PAX_ETEXECRELOCS || (IA64 || PPC || X86))
47098+ select PAX_REFCOUNT if (X86 || SPARC64)
47099+ select PAX_USERCOPY if ((X86 || PPC || SPARC || ARM) && (SLAB || SLUB || SLOB))
47100+ help
47101+ If you say Y here, many of the features of grsecurity will be
47102+ enabled, which will protect you against many kinds of attacks
47103+ against your system. The heightened security comes at a cost
47104+ of an increased chance of incompatibilities with rare software
47105+ on your machine. Since this security level enables PaX, you should
47106+ view <http://pax.grsecurity.net> and read about the PaX
47107+ project. While you are there, download chpax and run it on
47108+ binaries that cause problems with PaX. Also remember that
47109+ since the /proc restrictions are enabled, you must run your
47110+ identd as gid 1001. This security level enables the following
47111+ features in addition to those listed in the low and medium
47112+ security levels:
47113+
47114+ - Additional /proc restrictions
47115+ - Chmod restrictions in chroot
47116+ - No signals, ptrace, or viewing of processes outside of chroot
47117+ - Capability restrictions in chroot
47118+ - Deny fchdir out of chroot
47119+ - Priority restrictions in chroot
47120+ - Segmentation-based implementation of PaX
47121+ - Mprotect restrictions
47122+ - Removal of addresses from /proc/<pid>/[smaps|maps|stat]
47123+ - Kernel stack randomization
47124+ - Mount/unmount/remount logging
47125+ - Kernel symbol hiding
47126+ - Prevention of memory exhaustion-based exploits
47127+ - Hardening of module auto-loading
47128+ - Ptrace restrictions
47129+ - Restricted vm86 mode
47130+ - Restricted sysfs/debugfs
47131+ - Active kernel exploit response
47132+
47133+config GRKERNSEC_CUSTOM
47134+ bool "Custom"
47135+ help
47136+ If you say Y here, you will be able to configure every grsecurity
47137+ option, which allows you to enable many more features that aren't
47138+ covered in the basic security levels. These additional features
47139+ include TPE, socket restrictions, and the sysctl system for
47140+ grsecurity. It is advised that you read through the help for
47141+ each option to determine its usefulness in your situation.
47142+
47143+endchoice
47144+
47145+menu "Address Space Protection"
47146+depends on GRKERNSEC
47147+
47148+config GRKERNSEC_KMEM
47149+ bool "Deny writing to /dev/kmem, /dev/mem, and /dev/port"
47150+ select STRICT_DEVMEM if (X86 || ARM || TILE || S390)
47151+ help
47152+ If you say Y here, /dev/kmem and /dev/mem won't be allowed to
47153+ be written to via mmap or otherwise to modify the running kernel.
47154+ /dev/port will also not be allowed to be opened. If you have module
47155+ support disabled, enabling this will close up four ways that are
47156+ currently used to insert malicious code into the running kernel.
47157+ Even with all these features enabled, we still highly recommend that
47158+ you use the RBAC system, as it is still possible for an attacker to
47159+ modify the running kernel through privileged I/O granted by ioperm/iopl.
47160+ If you are not using XFree86, you may be able to stop this additional
47161+ case by enabling the 'Disable privileged I/O' option. Though nothing
47162+ legitimately writes to /dev/kmem, XFree86 does need to write to /dev/mem,
47163+ but only to video memory, which is the only writing we allow in this
47164+ case. If /dev/kmem or /dev/mem are mmaped without PROT_WRITE, they will
47165+ not be allowed to mprotect it with PROT_WRITE later.
47166+ It is highly recommended that you say Y here if you meet all the
47167+ conditions above.
47168+
47169+config GRKERNSEC_VM86
47170+ bool "Restrict VM86 mode"
47171+ depends on X86_32
47172+
47173+ help
47174+ If you say Y here, only processes with CAP_SYS_RAWIO will be able to
47175+ make use of a special execution mode on 32bit x86 processors called
47176+ Virtual 8086 (VM86) mode. XFree86 may need vm86 mode for certain
47177+ video cards and will still work with this option enabled. The purpose
47178+ of the option is to prevent exploitation of emulation errors in
47179+ virtualization of vm86 mode like the one discovered in VMWare in 2009.
47180+ Nearly all users should be able to enable this option.
47181+
47182+config GRKERNSEC_IO
47183+ bool "Disable privileged I/O"
47184+ depends on X86
47185+ select RTC_CLASS
47186+ select RTC_INTF_DEV
47187+ select RTC_DRV_CMOS
47188+
47189+ help
47190+ If you say Y here, all ioperm and iopl calls will return an error.
47191+ Ioperm and iopl can be used to modify the running kernel.
47192+ Unfortunately, some programs need this access to operate properly,
47193+ the most notable of which are XFree86 and hwclock. hwclock can be
47194+ remedied by having RTC support in the kernel, so real-time
47195+ clock support is enabled if this option is enabled, to ensure
47196+ that hwclock operates correctly. XFree86 still will not
47197+ operate correctly with this option enabled, so DO NOT CHOOSE Y
47198+ IF YOU USE XFree86. If you use XFree86 and you still want to
47199+ protect your kernel against modification, use the RBAC system.
47200+
47201+config GRKERNSEC_PROC_MEMMAP
47202+ bool "Remove addresses from /proc/<pid>/[smaps|maps|stat]"
47203+ default y if (PAX_NOEXEC || PAX_ASLR)
47204+ depends on PAX_NOEXEC || PAX_ASLR
47205+ help
47206+ If you say Y here, the /proc/<pid>/maps and /proc/<pid>/stat files will
47207+ give no information about the addresses of its mappings if
47208+ PaX features that rely on random addresses are enabled on the task.
47209+ If you use PaX it is greatly recommended that you say Y here as it
47210+ closes up a hole that makes the full ASLR useless for suid
47211+ binaries.
47212+
47213+config GRKERNSEC_BRUTE
47214+ bool "Deter exploit bruteforcing"
47215+ help
47216+ If you say Y here, attempts to bruteforce exploits against forking
47217+ daemons such as apache or sshd, as well as against suid/sgid binaries
47218+ will be deterred. When a child of a forking daemon is killed by PaX
47219+ or crashes due to an illegal instruction or other suspicious signal,
47220+ the parent process will be delayed 30 seconds upon every subsequent
47221+ fork until the administrator is able to assess the situation and
47222+ restart the daemon.
47223+ In the suid/sgid case, the attempt is logged, the user has all their
47224+ processes terminated, and they are prevented from executing any further
47225+ processes for 15 minutes.
47226+ It is recommended that you also enable signal logging in the auditing
47227+ section so that logs are generated when a process triggers a suspicious
47228+ signal.
47229+ If the sysctl option is enabled, a sysctl option with name
47230+ "deter_bruteforce" is created.
47231+
47232+
47233+config GRKERNSEC_MODHARDEN
47234+ bool "Harden module auto-loading"
47235+ depends on MODULES
47236+ help
47237+ If you say Y here, module auto-loading in response to use of some
47238+ feature implemented by an unloaded module will be restricted to
47239+ root users. Enabling this option helps defend against attacks
47240+ by unprivileged users who abuse the auto-loading behavior to
47241+ cause a vulnerable module to load that is then exploited.
47242+
47243+ If this option prevents a legitimate use of auto-loading for a
47244+ non-root user, the administrator can execute modprobe manually
47245+ with the exact name of the module mentioned in the alert log.
47246+ Alternatively, the administrator can add the module to the list
47247+ of modules loaded at boot by modifying init scripts.
47248+
47249+ Modification of init scripts will most likely be needed on
47250+ Ubuntu servers with encrypted home directory support enabled,
47251+ as the first non-root user logging in will cause the ecb(aes),
47252+ ecb(aes)-all, cbc(aes), and cbc(aes)-all modules to be loaded.
47253+
47254+config GRKERNSEC_HIDESYM
47255+ bool "Hide kernel symbols"
47256+ help
47257+ If you say Y here, getting information on loaded modules, and
47258+ displaying all kernel symbols through a syscall will be restricted
47259+ to users with CAP_SYS_MODULE. For software compatibility reasons,
47260+ /proc/kallsyms will be restricted to the root user. The RBAC
47261+ system can hide that entry even from root.
47262+
47263+ This option also prevents leaking of kernel addresses through
47264+ several /proc entries.
47265+
47266+ Note that this option is only effective provided the following
47267+ conditions are met:
47268+ 1) The kernel using grsecurity is not precompiled by some distribution
47269+ 2) You have also enabled GRKERNSEC_DMESG
47270+ 3) You are using the RBAC system and hiding other files such as your
47271+ kernel image and System.map. Alternatively, enabling this option
47272+ causes the permissions on /boot, /lib/modules, and the kernel
47273+ source directory to change at compile time to prevent
47274+ reading by non-root users.
47275+ If the above conditions are met, this option will aid in providing a
47276+ useful protection against local kernel exploitation of overflows
47277+ and arbitrary read/write vulnerabilities.
47278+
47279+config GRKERNSEC_KERN_LOCKOUT
47280+ bool "Active kernel exploit response"
47281+ depends on X86 || ARM || PPC || SPARC
47282+ help
47283+ If you say Y here, when a PaX alert is triggered due to suspicious
47284+ activity in the kernel (from KERNEXEC/UDEREF/USERCOPY)
47285+ or an OOPs occurs due to bad memory accesses, instead of just
47286+ terminating the offending process (and potentially allowing
47287+ a subsequent exploit from the same user), we will take one of two
47288+ actions:
47289+ If the user was root, we will panic the system
47290+ If the user was non-root, we will log the attempt, terminate
47291+ all processes owned by the user, then prevent them from creating
47292+ any new processes until the system is restarted
47293+ This deters repeated kernel exploitation/bruteforcing attempts
47294+ and is useful for later forensics.
47295+
47296+endmenu
47297+menu "Role Based Access Control Options"
47298+depends on GRKERNSEC
47299+
47300+config GRKERNSEC_RBAC_DEBUG
47301+ bool
47302+
47303+config GRKERNSEC_NO_RBAC
47304+ bool "Disable RBAC system"
47305+ help
47306+ If you say Y here, the /dev/grsec device will be removed from the kernel,
47307+ preventing the RBAC system from being enabled. You should only say Y
47308+ here if you have no intention of using the RBAC system, so as to prevent
47309+ an attacker with root access from misusing the RBAC system to hide files
47310+ and processes when loadable module support and /dev/[k]mem have been
47311+ locked down.
47312+
47313+config GRKERNSEC_ACL_HIDEKERN
47314+ bool "Hide kernel processes"
47315+ help
47316+ If you say Y here, all kernel threads will be hidden to all
47317+ processes but those whose subject has the "view hidden processes"
47318+ flag.
47319+
47320+config GRKERNSEC_ACL_MAXTRIES
47321+ int "Maximum tries before password lockout"
47322+ default 3
47323+ help
47324+ This option enforces the maximum number of times a user can attempt
47325+ to authorize themselves with the grsecurity RBAC system before being
47326+ denied the ability to attempt authorization again for a specified time.
47327+ The lower the number, the harder it will be to brute-force a password.
47328+
47329+config GRKERNSEC_ACL_TIMEOUT
47330+ int "Time to wait after max password tries, in seconds"
47331+ default 30
47332+ help
47333+ This option specifies the time the user must wait after attempting to
47334+ authorize to the RBAC system with the maximum number of invalid
47335+ passwords. The higher the number, the harder it will be to brute-force
47336+ a password.
47337+
47338+endmenu
47339+menu "Filesystem Protections"
47340+depends on GRKERNSEC
47341+
47342+config GRKERNSEC_PROC
47343+ bool "Proc restrictions"
47344+ help
47345+ If you say Y here, the permissions of the /proc filesystem
47346+ will be altered to enhance system security and privacy. You MUST
47347+ choose either a user only restriction or a user and group restriction.
47348+ Depending upon the option you choose, you can either restrict users to
47349+ see only the processes they themselves run, or choose a group that can
47350+ view all processes and files normally restricted to root if you choose
47351+ the "restrict to user only" option. NOTE: If you're running identd as
47352+ a non-root user, you will have to run it as the group you specify here.
47353+
47354+config GRKERNSEC_PROC_USER
47355+ bool "Restrict /proc to user only"
47356+ depends on GRKERNSEC_PROC
47357+ help
47358+ If you say Y here, non-root users will only be able to view their own
47359+ processes, and restricts them from viewing network-related information,
47360+ and viewing kernel symbol and module information.
47361+
47362+config GRKERNSEC_PROC_USERGROUP
47363+ bool "Allow special group"
47364+ depends on GRKERNSEC_PROC && !GRKERNSEC_PROC_USER
47365+ help
47366+ If you say Y here, you will be able to select a group that will be
47367+ able to view all processes and network-related information. If you've
47368+ enabled GRKERNSEC_HIDESYM, kernel and symbol information may still
47369+ remain hidden. This option is useful if you want to run identd as
47370+ a non-root user.
47371+
47372+config GRKERNSEC_PROC_GID
47373+ int "GID for special group"
47374+ depends on GRKERNSEC_PROC_USERGROUP
47375+ default 1001
47376+
47377+config GRKERNSEC_PROC_ADD
47378+ bool "Additional restrictions"
47379+ depends on GRKERNSEC_PROC_USER || GRKERNSEC_PROC_USERGROUP
47380+ help
47381+ If you say Y here, additional restrictions will be placed on
47382+ /proc that keep normal users from viewing device information and
47383+ slabinfo information that could be useful for exploits.
47384+
47385+config GRKERNSEC_LINK
47386+ bool "Linking restrictions"
47387+ help
47388+ If you say Y here, /tmp race exploits will be prevented, since users
47389+ will no longer be able to follow symlinks owned by other users in
47390+ world-writable +t directories (e.g. /tmp), unless the owner of the
47391+ symlink is the owner of the directory. users will also not be
47392+ able to hardlink to files they do not own. If the sysctl option is
47393+ enabled, a sysctl option with name "linking_restrictions" is created.
47394+
47395+config GRKERNSEC_FIFO
47396+ bool "FIFO restrictions"
47397+ help
47398+ If you say Y here, users will not be able to write to FIFOs they don't
47399+ own in world-writable +t directories (e.g. /tmp), unless the owner of
47400+ the FIFO is the same owner of the directory it's held in. If the sysctl
47401+ option is enabled, a sysctl option with name "fifo_restrictions" is
47402+ created.
47403+
47404+config GRKERNSEC_SYSFS_RESTRICT
47405+ bool "Sysfs/debugfs restriction"
47406+ depends on SYSFS
47407+ help
47408+ If you say Y here, sysfs (the pseudo-filesystem mounted at /sys) and
47409+ any filesystem normally mounted under it (e.g. debugfs) will only
47410+ be accessible by root. These filesystems generally provide access
47411+ to hardware and debug information that isn't appropriate for unprivileged
47412+ users of the system. Sysfs and debugfs have also become a large source
47413+ of new vulnerabilities, ranging from infoleaks to local compromise.
47414+ There has been very little oversight with an eye toward security involved
47415+ in adding new exporters of information to these filesystems, so their
47416+ use is discouraged.
47417+ This option is equivalent to a chmod 0700 of the mount paths.
47418+
47419+config GRKERNSEC_ROFS
47420+ bool "Runtime read-only mount protection"
47421+ help
47422+ If you say Y here, a sysctl option with name "romount_protect" will
47423+ be created. By setting this option to 1 at runtime, filesystems
47424+ will be protected in the following ways:
47425+ * No new writable mounts will be allowed
47426+ * Existing read-only mounts won't be able to be remounted read/write
47427+ * Write operations will be denied on all block devices
47428+ This option acts independently of grsec_lock: once it is set to 1,
47429+ it cannot be turned off. Therefore, please be mindful of the resulting
47430+ behavior if this option is enabled in an init script on a read-only
47431+ filesystem. This feature is mainly intended for secure embedded systems.
47432+
47433+config GRKERNSEC_CHROOT
47434+ bool "Chroot jail restrictions"
47435+ help
47436+ If you say Y here, you will be able to choose several options that will
47437+ make breaking out of a chrooted jail much more difficult. If you
47438+ encounter no software incompatibilities with the following options, it
47439+ is recommended that you enable each one.
47440+
47441+config GRKERNSEC_CHROOT_MOUNT
47442+ bool "Deny mounts"
47443+ depends on GRKERNSEC_CHROOT
47444+ help
47445+ If you say Y here, processes inside a chroot will not be able to
47446+ mount or remount filesystems. If the sysctl option is enabled, a
47447+ sysctl option with name "chroot_deny_mount" is created.
47448+
47449+config GRKERNSEC_CHROOT_DOUBLE
47450+ bool "Deny double-chroots"
47451+ depends on GRKERNSEC_CHROOT
47452+ help
47453+ If you say Y here, processes inside a chroot will not be able to chroot
47454+ again outside the chroot. This is a widely used method of breaking
47455+ out of a chroot jail and should not be allowed. If the sysctl
47456+ option is enabled, a sysctl option with name
47457+ "chroot_deny_chroot" is created.
47458+
47459+config GRKERNSEC_CHROOT_PIVOT
47460+ bool "Deny pivot_root in chroot"
47461+ depends on GRKERNSEC_CHROOT
47462+ help
47463+ If you say Y here, processes inside a chroot will not be able to use
47464+ a function called pivot_root() that was introduced in Linux 2.3.41. It
47465+ works similar to chroot in that it changes the root filesystem. This
47466+ function could be misused in a chrooted process to attempt to break out
47467+ of the chroot, and therefore should not be allowed. If the sysctl
47468+ option is enabled, a sysctl option with name "chroot_deny_pivot" is
47469+ created.
47470+
47471+config GRKERNSEC_CHROOT_CHDIR
47472+ bool "Enforce chdir(\"/\") on all chroots"
47473+ depends on GRKERNSEC_CHROOT
47474+ help
47475+ If you say Y here, the current working directory of all newly-chrooted
47476+ applications will be set to the the root directory of the chroot.
47477+ The man page on chroot(2) states:
47478+ Note that this call does not change the current working
47479+ directory, so that `.' can be outside the tree rooted at
47480+ `/'. In particular, the super-user can escape from a
47481+ `chroot jail' by doing `mkdir foo; chroot foo; cd ..'.
47482+
47483+ It is recommended that you say Y here, since it's not known to break
47484+ any software. If the sysctl option is enabled, a sysctl option with
47485+ name "chroot_enforce_chdir" is created.
47486+
47487+config GRKERNSEC_CHROOT_CHMOD
47488+ bool "Deny (f)chmod +s"
47489+ depends on GRKERNSEC_CHROOT
47490+ help
47491+ If you say Y here, processes inside a chroot will not be able to chmod
47492+ or fchmod files to make them have suid or sgid bits. This protects
47493+ against another published method of breaking a chroot. If the sysctl
47494+ option is enabled, a sysctl option with name "chroot_deny_chmod" is
47495+ created.
47496+
47497+config GRKERNSEC_CHROOT_FCHDIR
47498+ bool "Deny fchdir out of chroot"
47499+ depends on GRKERNSEC_CHROOT
47500+ help
47501+ If you say Y here, a well-known method of breaking chroots by fchdir'ing
47502+ to a file descriptor of the chrooting process that points to a directory
47503+ outside the filesystem will be stopped. If the sysctl option
47504+ is enabled, a sysctl option with name "chroot_deny_fchdir" is created.
47505+
47506+config GRKERNSEC_CHROOT_MKNOD
47507+ bool "Deny mknod"
47508+ depends on GRKERNSEC_CHROOT
47509+ help
47510+ If you say Y here, processes inside a chroot will not be allowed to
47511+ mknod. The problem with using mknod inside a chroot is that it
47512+ would allow an attacker to create a device entry that is the same
47513+ as one on the physical root of your system, which could range from
47514+ anything from the console device to a device for your harddrive (which
47515+ they could then use to wipe the drive or steal data). It is recommended
47516+ that you say Y here, unless you run into software incompatibilities.
47517+ If the sysctl option is enabled, a sysctl option with name
47518+ "chroot_deny_mknod" is created.
47519+
47520+config GRKERNSEC_CHROOT_SHMAT
47521+ bool "Deny shmat() out of chroot"
47522+ depends on GRKERNSEC_CHROOT
47523+ help
47524+ If you say Y here, processes inside a chroot will not be able to attach
47525+ to shared memory segments that were created outside of the chroot jail.
47526+ It is recommended that you say Y here. If the sysctl option is enabled,
47527+ a sysctl option with name "chroot_deny_shmat" is created.
47528+
47529+config GRKERNSEC_CHROOT_UNIX
47530+ bool "Deny access to abstract AF_UNIX sockets out of chroot"
47531+ depends on GRKERNSEC_CHROOT
47532+ help
47533+ If you say Y here, processes inside a chroot will not be able to
47534+ connect to abstract (meaning not belonging to a filesystem) Unix
47535+ domain sockets that were bound outside of a chroot. It is recommended
47536+ that you say Y here. If the sysctl option is enabled, a sysctl option
47537+ with name "chroot_deny_unix" is created.
47538+
47539+config GRKERNSEC_CHROOT_FINDTASK
47540+ bool "Protect outside processes"
47541+ depends on GRKERNSEC_CHROOT
47542+ help
47543+ If you say Y here, processes inside a chroot will not be able to
47544+ kill, send signals with fcntl, ptrace, capget, getpgid, setpgid,
47545+ getsid, or view any process outside of the chroot. If the sysctl
47546+ option is enabled, a sysctl option with name "chroot_findtask" is
47547+ created.
47548+
47549+config GRKERNSEC_CHROOT_NICE
47550+ bool "Restrict priority changes"
47551+ depends on GRKERNSEC_CHROOT
47552+ help
47553+ If you say Y here, processes inside a chroot will not be able to raise
47554+ the priority of processes in the chroot, or alter the priority of
47555+ processes outside the chroot. This provides more security than simply
47556+ removing CAP_SYS_NICE from the process' capability set. If the
47557+ sysctl option is enabled, a sysctl option with name "chroot_restrict_nice"
47558+ is created.
47559+
47560+config GRKERNSEC_CHROOT_SYSCTL
47561+ bool "Deny sysctl writes"
47562+ depends on GRKERNSEC_CHROOT
47563+ help
47564+ If you say Y here, an attacker in a chroot will not be able to
47565+ write to sysctl entries, either by sysctl(2) or through a /proc
47566+ interface. It is strongly recommended that you say Y here. If the
47567+ sysctl option is enabled, a sysctl option with name
47568+ "chroot_deny_sysctl" is created.
47569+
47570+config GRKERNSEC_CHROOT_CAPS
47571+ bool "Capability restrictions"
47572+ depends on GRKERNSEC_CHROOT
47573+ help
47574+ If you say Y here, the capabilities on all processes within a
47575+ chroot jail will be lowered to stop module insertion, raw i/o,
47576+ system and net admin tasks, rebooting the system, modifying immutable
47577+ files, modifying IPC owned by another, and changing the system time.
47578+ This is left an option because it can break some apps. Disable this
47579+ if your chrooted apps are having problems performing those kinds of
47580+ tasks. If the sysctl option is enabled, a sysctl option with
47581+ name "chroot_caps" is created.
47582+
47583+endmenu
47584+menu "Kernel Auditing"
47585+depends on GRKERNSEC
47586+
47587+config GRKERNSEC_AUDIT_GROUP
47588+ bool "Single group for auditing"
47589+ help
47590+ If you say Y here, the exec, chdir, and (un)mount logging features
47591+ will only operate on a group you specify. This option is recommended
47592+ if you only want to watch certain users instead of having a large
47593+ amount of logs from the entire system. If the sysctl option is enabled,
47594+ a sysctl option with name "audit_group" is created.
47595+
47596+config GRKERNSEC_AUDIT_GID
47597+ int "GID for auditing"
47598+ depends on GRKERNSEC_AUDIT_GROUP
47599+ default 1007
47600+
47601+config GRKERNSEC_EXECLOG
47602+ bool "Exec logging"
47603+ help
47604+ If you say Y here, all execve() calls will be logged (since the
47605+ other exec*() calls are frontends to execve(), all execution
47606+ will be logged). Useful for shell-servers that like to keep track
47607+ of their users. If the sysctl option is enabled, a sysctl option with
47608+ name "exec_logging" is created.
47609+ WARNING: This option when enabled will produce a LOT of logs, especially
47610+ on an active system.
47611+
47612+config GRKERNSEC_RESLOG
47613+ bool "Resource logging"
47614+ help
47615+ If you say Y here, all attempts to overstep resource limits will
47616+ be logged with the resource name, the requested size, and the current
47617+ limit. It is highly recommended that you say Y here. If the sysctl
47618+ option is enabled, a sysctl option with name "resource_logging" is
47619+ created. If the RBAC system is enabled, the sysctl value is ignored.
47620+
47621+config GRKERNSEC_CHROOT_EXECLOG
47622+ bool "Log execs within chroot"
47623+ help
47624+ If you say Y here, all executions inside a chroot jail will be logged
47625+ to syslog. This can cause a large amount of logs if certain
47626+ applications (eg. djb's daemontools) are installed on the system, and
47627+ is therefore left as an option. If the sysctl option is enabled, a
47628+ sysctl option with name "chroot_execlog" is created.
47629+
47630+config GRKERNSEC_AUDIT_PTRACE
47631+ bool "Ptrace logging"
47632+ help
47633+ If you say Y here, all attempts to attach to a process via ptrace
47634+ will be logged. If the sysctl option is enabled, a sysctl option
47635+ with name "audit_ptrace" is created.
47636+
47637+config GRKERNSEC_AUDIT_CHDIR
47638+ bool "Chdir logging"
47639+ help
47640+ If you say Y here, all chdir() calls will be logged. If the sysctl
47641+ option is enabled, a sysctl option with name "audit_chdir" is created.
47642+
47643+config GRKERNSEC_AUDIT_MOUNT
47644+ bool "(Un)Mount logging"
47645+ help
47646+ If you say Y here, all mounts and unmounts will be logged. If the
47647+ sysctl option is enabled, a sysctl option with name "audit_mount" is
47648+ created.
47649+
47650+config GRKERNSEC_SIGNAL
47651+ bool "Signal logging"
47652+ help
47653+ If you say Y here, certain important signals will be logged, such as
47654+ SIGSEGV, which will as a result inform you of when a error in a program
47655+ occurred, which in some cases could mean a possible exploit attempt.
47656+ If the sysctl option is enabled, a sysctl option with name
47657+ "signal_logging" is created.
47658+
47659+config GRKERNSEC_FORKFAIL
47660+ bool "Fork failure logging"
47661+ help
47662+ If you say Y here, all failed fork() attempts will be logged.
47663+ This could suggest a fork bomb, or someone attempting to overstep
47664+ their process limit. If the sysctl option is enabled, a sysctl option
47665+ with name "forkfail_logging" is created.
47666+
47667+config GRKERNSEC_TIME
47668+ bool "Time change logging"
47669+ help
47670+ If you say Y here, any changes of the system clock will be logged.
47671+ If the sysctl option is enabled, a sysctl option with name
47672+ "timechange_logging" is created.
47673+
47674+config GRKERNSEC_PROC_IPADDR
47675+ bool "/proc/<pid>/ipaddr support"
47676+ help
47677+ If you say Y here, a new entry will be added to each /proc/<pid>
47678+ directory that contains the IP address of the person using the task.
47679+ The IP is carried across local TCP and AF_UNIX stream sockets.
47680+ This information can be useful for IDS/IPSes to perform remote response
47681+ to a local attack. The entry is readable by only the owner of the
47682+ process (and root if he has CAP_DAC_OVERRIDE, which can be removed via
47683+ the RBAC system), and thus does not create privacy concerns.
47684+
47685+config GRKERNSEC_RWXMAP_LOG
47686+ bool 'Denied RWX mmap/mprotect logging'
47687+ depends on PAX_MPROTECT && !PAX_EMUPLT && !PAX_EMUSIGRT
47688+ help
47689+ If you say Y here, calls to mmap() and mprotect() with explicit
47690+ usage of PROT_WRITE and PROT_EXEC together will be logged when
47691+ denied by the PAX_MPROTECT feature. If the sysctl option is
47692+ enabled, a sysctl option with name "rwxmap_logging" is created.
47693+
47694+config GRKERNSEC_AUDIT_TEXTREL
47695+ bool 'ELF text relocations logging (READ HELP)'
47696+ depends on PAX_MPROTECT
47697+ help
47698+ If you say Y here, text relocations will be logged with the filename
47699+ of the offending library or binary. The purpose of the feature is
47700+ to help Linux distribution developers get rid of libraries and
47701+ binaries that need text relocations which hinder the future progress
47702+ of PaX. Only Linux distribution developers should say Y here, and
47703+ never on a production machine, as this option creates an information
47704+ leak that could aid an attacker in defeating the randomization of
47705+ a single memory region. If the sysctl option is enabled, a sysctl
47706+ option with name "audit_textrel" is created.
47707+
47708+endmenu
47709+
47710+menu "Executable Protections"
47711+depends on GRKERNSEC
47712+
47713+config GRKERNSEC_DMESG
47714+ bool "Dmesg(8) restriction"
47715+ help
47716+ If you say Y here, non-root users will not be able to use dmesg(8)
47717+ to view up to the last 4kb of messages in the kernel's log buffer.
47718+ The kernel's log buffer often contains kernel addresses and other
47719+ identifying information useful to an attacker in fingerprinting a
47720+ system for a targeted exploit.
47721+ If the sysctl option is enabled, a sysctl option with name "dmesg" is
47722+ created.
47723+
47724+config GRKERNSEC_HARDEN_PTRACE
47725+ bool "Deter ptrace-based process snooping"
47726+ help
47727+ If you say Y here, TTY sniffers and other malicious monitoring
47728+ programs implemented through ptrace will be defeated. If you
47729+ have been using the RBAC system, this option has already been
47730+ enabled for several years for all users, with the ability to make
47731+ fine-grained exceptions.
47732+
47733+ This option only affects the ability of non-root users to ptrace
47734+ processes that are not a descendent of the ptracing process.
47735+ This means that strace ./binary and gdb ./binary will still work,
47736+ but attaching to arbitrary processes will not. If the sysctl
47737+ option is enabled, a sysctl option with name "harden_ptrace" is
47738+ created.
47739+
47740+config GRKERNSEC_TPE
47741+ bool "Trusted Path Execution (TPE)"
47742+ help
47743+ If you say Y here, you will be able to choose a gid to add to the
47744+ supplementary groups of users you want to mark as "untrusted."
47745+ These users will not be able to execute any files that are not in
47746+ root-owned directories writable only by root. If the sysctl option
47747+ is enabled, a sysctl option with name "tpe" is created.
47748+
47749+config GRKERNSEC_TPE_ALL
47750+ bool "Partially restrict all non-root users"
47751+ depends on GRKERNSEC_TPE
47752+ help
47753+ If you say Y here, all non-root users will be covered under
47754+ a weaker TPE restriction. This is separate from, and in addition to,
47755+ the main TPE options that you have selected elsewhere. Thus, if a
47756+ "trusted" GID is chosen, this restriction applies to even that GID.
47757+ Under this restriction, all non-root users will only be allowed to
47758+ execute files in directories they own that are not group or
47759+ world-writable, or in directories owned by root and writable only by
47760+ root. If the sysctl option is enabled, a sysctl option with name
47761+ "tpe_restrict_all" is created.
47762+
47763+config GRKERNSEC_TPE_INVERT
47764+ bool "Invert GID option"
47765+ depends on GRKERNSEC_TPE
47766+ help
47767+ If you say Y here, the group you specify in the TPE configuration will
47768+ decide what group TPE restrictions will be *disabled* for. This
47769+ option is useful if you want TPE restrictions to be applied to most
47770+ users on the system. If the sysctl option is enabled, a sysctl option
47771+ with name "tpe_invert" is created. Unlike other sysctl options, this
47772+ entry will default to on for backward-compatibility.
47773+
47774+config GRKERNSEC_TPE_GID
47775+ int "GID for untrusted users"
47776+ depends on GRKERNSEC_TPE && !GRKERNSEC_TPE_INVERT
47777+ default 1005
47778+ help
47779+ Setting this GID determines what group TPE restrictions will be
47780+ *enabled* for. If the sysctl option is enabled, a sysctl option
47781+ with name "tpe_gid" is created.
47782+
47783+config GRKERNSEC_TPE_GID
47784+ int "GID for trusted users"
47785+ depends on GRKERNSEC_TPE && GRKERNSEC_TPE_INVERT
47786+ default 1005
47787+ help
47788+ Setting this GID determines what group TPE restrictions will be
47789+ *disabled* for. If the sysctl option is enabled, a sysctl option
47790+ with name "tpe_gid" is created.
47791+
47792+endmenu
47793+menu "Network Protections"
47794+depends on GRKERNSEC
47795+
47796+config GRKERNSEC_RANDNET
47797+ bool "Larger entropy pools"
47798+ help
47799+ If you say Y here, the entropy pools used for many features of Linux
47800+ and grsecurity will be doubled in size. Since several grsecurity
47801+ features use additional randomness, it is recommended that you say Y
47802+ here. Saying Y here has a similar effect as modifying
47803+ /proc/sys/kernel/random/poolsize.
47804+
47805+config GRKERNSEC_BLACKHOLE
47806+ bool "TCP/UDP blackhole and LAST_ACK DoS prevention"
47807+ depends on NET
47808+ help
47809+ If you say Y here, neither TCP resets nor ICMP
47810+ destination-unreachable packets will be sent in response to packets
47811+ sent to ports for which no associated listening process exists.
47812+ This feature supports both IPV4 and IPV6 and exempts the
47813+ loopback interface from blackholing. Enabling this feature
47814+ makes a host more resilient to DoS attacks and reduces network
47815+ visibility against scanners.
47816+ 47308+
47817+ The blackhole feature as-implemented is equivalent to the FreeBSD 47309+static unsigned long alloc_stack_next = 1;
47818+ blackhole feature, as it prevents RST responses to all packets, not 47310+static unsigned long alloc_stack_size = 1;
47819+ just SYNs. Under most application behavior this causes no 47311+static void **alloc_stack;
47820+ problems, but applications (like haproxy) may not close certain
47821+ connections in a way that cleanly terminates them on the remote
47822+ end, leaving the remote host in LAST_ACK state. Because of this
47823+ side-effect and to prevent intentional LAST_ACK DoSes, this
47824+ feature also adds automatic mitigation against such attacks.
47825+ The mitigation drastically reduces the amount of time a socket
47826+ can spend in LAST_ACK state. If you're using haproxy and not
47827+ all servers it connects to have this option enabled, consider
47828+ disabling this feature on the haproxy host.
47829+ 47312+
47830+ If the sysctl option is enabled, two sysctl options with names 47313+static __inline__ int
47831+ "ip_blackhole" and "lastack_retries" will be created. 47314+alloc_pop(void)
47832+ While "ip_blackhole" takes the standard zero/non-zero on/off 47315+{
47833+ toggle, "lastack_retries" uses the same kinds of values as 47316+ if (alloc_stack_next == 1)
47834+ "tcp_retries1" and "tcp_retries2". The default value of 4 47317+ return 0;
47835+ prevents a socket from lasting more than 45 seconds in LAST_ACK
47836+ state.
47837+ 47318+
47838+config GRKERNSEC_SOCKET 47319+ kfree(alloc_stack[alloc_stack_next - 2]);
47839+ bool "Socket restrictions"
47840+ depends on NET
47841+ help
47842+ If you say Y here, you will be able to choose from several options.
47843+ If you assign a GID on your system and add it to the supplementary
47844+ groups of users you want to restrict socket access to, this patch
47845+ will perform up to three things, based on the option(s) you choose.
47846+ 47320+
47847+config GRKERNSEC_SOCKET_ALL 47321+ alloc_stack_next--;
47848+ bool "Deny any sockets to group"
47849+ depends on GRKERNSEC_SOCKET
47850+ help
47851+ If you say Y here, you will be able to choose a GID of whose users will
47852+ be unable to connect to other hosts from your machine or run server
47853+ applications from your machine. If the sysctl option is enabled, a
47854+ sysctl option with name "socket_all" is created.
47855+ 47322+
47856+config GRKERNSEC_SOCKET_ALL_GID 47323+ return 1;
47857+ int "GID to deny all sockets for" 47324+}
47858+ depends on GRKERNSEC_SOCKET_ALL
47859+ default 1004
47860+ help
47861+ Here you can choose the GID to disable socket access for. Remember to
47862+ add the users you want socket access disabled for to the GID
47863+ specified here. If the sysctl option is enabled, a sysctl option
47864+ with name "socket_all_gid" is created.
47865+ 47325+
47866+config GRKERNSEC_SOCKET_CLIENT 47326+static __inline__ int
47867+ bool "Deny client sockets to group" 47327+alloc_push(void *buf)
47868+ depends on GRKERNSEC_SOCKET 47328+{
47869+ help 47329+ if (alloc_stack_next >= alloc_stack_size)
47870+ If you say Y here, you will be able to choose a GID of whose users will 47330+ return 1;
47871+ be unable to connect to other hosts from your machine, but will be
47872+ able to run servers. If this option is enabled, all users in the group
47873+ you specify will have to use passive mode when initiating ftp transfers
47874+ from the shell on your machine. If the sysctl option is enabled, a
47875+ sysctl option with name "socket_client" is created.
47876+ 47331+
47877+config GRKERNSEC_SOCKET_CLIENT_GID 47332+ alloc_stack[alloc_stack_next - 1] = buf;
47878+ int "GID to deny client sockets for"
47879+ depends on GRKERNSEC_SOCKET_CLIENT
47880+ default 1003
47881+ help
47882+ Here you can choose the GID to disable client socket access for.
47883+ Remember to add the users you want client socket access disabled for to
47884+ the GID specified here. If the sysctl option is enabled, a sysctl
47885+ option with name "socket_client_gid" is created.
47886+ 47333+
47887+config GRKERNSEC_SOCKET_SERVER 47334+ alloc_stack_next++;
47888+ bool "Deny server sockets to group"
47889+ depends on GRKERNSEC_SOCKET
47890+ help
47891+ If you say Y here, you will be able to choose a GID of whose users will
47892+ be unable to run server applications from your machine. If the sysctl
47893+ option is enabled, a sysctl option with name "socket_server" is created.
47894+ 47335+
47895+config GRKERNSEC_SOCKET_SERVER_GID 47336+ return 0;
47896+ int "GID to deny server sockets for" 47337+}
47897+ depends on GRKERNSEC_SOCKET_SERVER
47898+ default 1002
47899+ help
47900+ Here you can choose the GID to disable server socket access for.
47901+ Remember to add the users you want server socket access disabled for to
47902+ the GID specified here. If the sysctl option is enabled, a sysctl
47903+ option with name "socket_server_gid" is created.
47904+ 47338+
47905+endmenu 47339+void *
47906+menu "Sysctl support" 47340+acl_alloc(unsigned long len)
47907+depends on GRKERNSEC && SYSCTL 47341+{
47342+ void *ret = NULL;
47908+ 47343+
47909+config GRKERNSEC_SYSCTL 47344+ if (!len || len > PAGE_SIZE)
47910+ bool "Sysctl support" 47345+ goto out;
47911+ help
47912+ If you say Y here, you will be able to change the options that
47913+ grsecurity runs with at bootup, without having to recompile your
47914+ kernel. You can echo values to files in /proc/sys/kernel/grsecurity
47915+ to enable (1) or disable (0) various features. All the sysctl entries
47916+ are mutable until the "grsec_lock" entry is set to a non-zero value.
47917+ All features enabled in the kernel configuration are disabled at boot
47918+ if you do not say Y to the "Turn on features by default" option.
47919+ All options should be set at startup, and the grsec_lock entry should
47920+ be set to a non-zero value after all the options are set.
47921+ *THIS IS EXTREMELY IMPORTANT*
47922+ 47346+
47923+config GRKERNSEC_SYSCTL_DISTRO 47347+ ret = kmalloc(len, GFP_KERNEL);
47924+ bool "Extra sysctl support for distro makers (READ HELP)"
47925+ depends on GRKERNSEC_SYSCTL && GRKERNSEC_IO
47926+ help
47927+ If you say Y here, additional sysctl options will be created
47928+ for features that affect processes running as root. Therefore,
47929+ it is critical when using this option that the grsec_lock entry be
47930+ enabled after boot. Only distros with prebuilt kernel packages
47931+ with this option enabled that can ensure grsec_lock is enabled
47932+ after boot should use this option.
47933+ *Failure to set grsec_lock after boot makes all grsec features
47934+ this option covers useless*
47935+ 47348+
47936+ Currently this option creates the following sysctl entries: 47349+ if (ret) {
47937+ "Disable Privileged I/O": "disable_priv_io" 47350+ if (alloc_push(ret)) {
47351+ kfree(ret);
47352+ ret = NULL;
47353+ }
47354+ }
47938+ 47355+
47939+config GRKERNSEC_SYSCTL_ON 47356+out:
47940+ bool "Turn on features by default" 47357+ return ret;
47941+ depends on GRKERNSEC_SYSCTL 47358+}
47942+ help
47943+ If you say Y here, instead of having all features enabled in the
47944+ kernel configuration disabled at boot time, the features will be
47945+ enabled at boot time. It is recommended you say Y here unless
47946+ there is some reason you would want all sysctl-tunable features to
47947+ be disabled by default. As mentioned elsewhere, it is important
47948+ to enable the grsec_lock entry once you have finished modifying
47949+ the sysctl entries.
47950+ 47359+
47951+endmenu 47360+void *
47952+menu "Logging Options" 47361+acl_alloc_num(unsigned long num, unsigned long len)
47953+depends on GRKERNSEC 47362+{
47363+ if (!len || (num > (PAGE_SIZE / len)))
47364+ return NULL;
47954+ 47365+
47955+config GRKERNSEC_FLOODTIME 47366+ return acl_alloc(num * len);
47956+ int "Seconds in between log messages (minimum)" 47367+}
47957+ default 10
47958+ help
47959+ This option allows you to enforce the number of seconds between
47960+ grsecurity log messages. The default should be suitable for most
47961+ people, however, if you choose to change it, choose a value small enough
47962+ to allow informative logs to be produced, but large enough to
47963+ prevent flooding.
47964+ 47368+
47965+config GRKERNSEC_FLOODBURST 47369+void
47966+ int "Number of messages in a burst (maximum)" 47370+acl_free_all(void)
47967+ default 6 47371+{
47968+ help 47372+ if (gr_acl_is_enabled() || !alloc_stack)
47969+ This option allows you to choose the maximum number of messages allowed 47373+ return;
47970+ within the flood time interval you chose in a separate option. The
47971+ default should be suitable for most people, however if you find that
47972+ many of your logs are being interpreted as flooding, you may want to
47973+ raise this value.
47974+ 47374+
47975+endmenu 47375+ while (alloc_pop()) ;
47976+ 47376+
47977+endmenu 47377+ if (alloc_stack) {
47978diff -urNp linux-3.0.7/grsecurity/Makefile linux-3.0.7/grsecurity/Makefile 47378+ if ((alloc_stack_size * sizeof (void *)) <= PAGE_SIZE)
47979--- linux-3.0.7/grsecurity/Makefile 1969-12-31 19:00:00.000000000 -0500 47379+ kfree(alloc_stack);
47980+++ linux-3.0.7/grsecurity/Makefile 2011-10-17 06:45:43.000000000 -0400 47380+ else
47981@@ -0,0 +1,36 @@ 47381+ vfree(alloc_stack);
47982+# grsecurity's ACL system was originally written in 2001 by Michael Dalton 47382+ }
47983+# during 2001-2009 it has been completely redesigned by Brad Spengler
47984+# into an RBAC system
47985+#
47986+# All code in this directory and various hooks inserted throughout the kernel
47987+# are copyright Brad Spengler - Open Source Security, Inc., and released
47988+# under the GPL v2 or higher
47989+ 47383+
47990+obj-y = grsec_chdir.o grsec_chroot.o grsec_exec.o grsec_fifo.o grsec_fork.o \ 47384+ alloc_stack = NULL;
47991+ grsec_mount.o grsec_sig.o grsec_sysctl.o \ 47385+ alloc_stack_size = 1;
47992+ grsec_time.o grsec_tpe.o grsec_link.o grsec_pax.o grsec_ptrace.o 47386+ alloc_stack_next = 1;
47993+ 47387+
47994+obj-$(CONFIG_GRKERNSEC) += grsec_init.o grsum.o gracl.o gracl_segv.o \ 47388+ return;
47995+ gracl_cap.o gracl_alloc.o gracl_shm.o grsec_mem.o gracl_fs.o \ 47389+}
47996+ gracl_learn.o grsec_log.o
47997+obj-$(CONFIG_GRKERNSEC_RESLOG) += gracl_res.o
47998+ 47390+
47999+ifdef CONFIG_NET 47391+int
48000+obj-y += grsec_sock.o 47392+acl_alloc_stack_init(unsigned long size)
48001+obj-$(CONFIG_GRKERNSEC) += gracl_ip.o 47393+{
48002+endif 47394+ if ((size * sizeof (void *)) <= PAGE_SIZE)
47395+ alloc_stack =
47396+ (void **) kmalloc(size * sizeof (void *), GFP_KERNEL);
47397+ else
47398+ alloc_stack = (void **) vmalloc(size * sizeof (void *));
48003+ 47399+
48004+ifndef CONFIG_GRKERNSEC 47400+ alloc_stack_size = size;
48005+obj-y += grsec_disabled.o
48006+endif
48007+ 47401+
48008+ifdef CONFIG_GRKERNSEC_HIDESYM 47402+ if (!alloc_stack)
48009+extra-y := grsec_hidesym.o 47403+ return 0;
48010+$(obj)/grsec_hidesym.o: 47404+ else
48011+ @-chmod -f 500 /boot 47405+ return 1;
48012+ @-chmod -f 500 /lib/modules 47406+}
48013+ @-chmod -f 500 /lib64/modules 47407diff -urNp linux-3.0.8/grsecurity/gracl.c linux-3.0.8/grsecurity/gracl.c
48014+ @-chmod -f 500 /lib32/modules 47408--- linux-3.0.8/grsecurity/gracl.c 1969-12-31 19:00:00.000000000 -0500
48015+ @-chmod -f 700 . 47409+++ linux-3.0.8/grsecurity/gracl.c 2011-10-17 06:42:59.000000000 -0400
48016+ @echo ' grsec: protected kernel image paths'
48017+endif
48018diff -urNp linux-3.0.7/grsecurity/gracl.c linux-3.0.7/grsecurity/gracl.c
48019--- linux-3.0.7/grsecurity/gracl.c 1969-12-31 19:00:00.000000000 -0500
48020+++ linux-3.0.7/grsecurity/gracl.c 2011-10-17 06:42:59.000000000 -0400
48021@@ -0,0 +1,4154 @@ 47410@@ -0,0 +1,4154 @@
48022+#include <linux/kernel.h> 47411+#include <linux/kernel.h>
48023+#include <linux/module.h> 47412+#include <linux/module.h>
@@ -52173,118 +51562,9 @@ diff -urNp linux-3.0.7/grsecurity/gracl.c linux-3.0.7/grsecurity/gracl.c
52173+EXPORT_SYMBOL(gr_check_group_change); 51562+EXPORT_SYMBOL(gr_check_group_change);
52174+#endif 51563+#endif
52175+ 51564+
52176diff -urNp linux-3.0.7/grsecurity/gracl_alloc.c linux-3.0.7/grsecurity/gracl_alloc.c 51565diff -urNp linux-3.0.8/grsecurity/gracl_cap.c linux-3.0.8/grsecurity/gracl_cap.c
52177--- linux-3.0.7/grsecurity/gracl_alloc.c 1969-12-31 19:00:00.000000000 -0500 51566--- linux-3.0.8/grsecurity/gracl_cap.c 1969-12-31 19:00:00.000000000 -0500
52178+++ linux-3.0.7/grsecurity/gracl_alloc.c 2011-08-23 21:48:14.000000000 -0400 51567+++ linux-3.0.8/grsecurity/gracl_cap.c 2011-09-14 09:21:24.000000000 -0400
52179@@ -0,0 +1,105 @@
52180+#include <linux/kernel.h>
52181+#include <linux/mm.h>
52182+#include <linux/slab.h>
52183+#include <linux/vmalloc.h>
52184+#include <linux/gracl.h>
52185+#include <linux/grsecurity.h>
52186+
52187+static unsigned long alloc_stack_next = 1;
52188+static unsigned long alloc_stack_size = 1;
52189+static void **alloc_stack;
52190+
52191+static __inline__ int
52192+alloc_pop(void)
52193+{
52194+ if (alloc_stack_next == 1)
52195+ return 0;
52196+
52197+ kfree(alloc_stack[alloc_stack_next - 2]);
52198+
52199+ alloc_stack_next--;
52200+
52201+ return 1;
52202+}
52203+
52204+static __inline__ int
52205+alloc_push(void *buf)
52206+{
52207+ if (alloc_stack_next >= alloc_stack_size)
52208+ return 1;
52209+
52210+ alloc_stack[alloc_stack_next - 1] = buf;
52211+
52212+ alloc_stack_next++;
52213+
52214+ return 0;
52215+}
52216+
52217+void *
52218+acl_alloc(unsigned long len)
52219+{
52220+ void *ret = NULL;
52221+
52222+ if (!len || len > PAGE_SIZE)
52223+ goto out;
52224+
52225+ ret = kmalloc(len, GFP_KERNEL);
52226+
52227+ if (ret) {
52228+ if (alloc_push(ret)) {
52229+ kfree(ret);
52230+ ret = NULL;
52231+ }
52232+ }
52233+
52234+out:
52235+ return ret;
52236+}
52237+
52238+void *
52239+acl_alloc_num(unsigned long num, unsigned long len)
52240+{
52241+ if (!len || (num > (PAGE_SIZE / len)))
52242+ return NULL;
52243+
52244+ return acl_alloc(num * len);
52245+}
52246+
52247+void
52248+acl_free_all(void)
52249+{
52250+ if (gr_acl_is_enabled() || !alloc_stack)
52251+ return;
52252+
52253+ while (alloc_pop()) ;
52254+
52255+ if (alloc_stack) {
52256+ if ((alloc_stack_size * sizeof (void *)) <= PAGE_SIZE)
52257+ kfree(alloc_stack);
52258+ else
52259+ vfree(alloc_stack);
52260+ }
52261+
52262+ alloc_stack = NULL;
52263+ alloc_stack_size = 1;
52264+ alloc_stack_next = 1;
52265+
52266+ return;
52267+}
52268+
52269+int
52270+acl_alloc_stack_init(unsigned long size)
52271+{
52272+ if ((size * sizeof (void *)) <= PAGE_SIZE)
52273+ alloc_stack =
52274+ (void **) kmalloc(size * sizeof (void *), GFP_KERNEL);
52275+ else
52276+ alloc_stack = (void **) vmalloc(size * sizeof (void *));
52277+
52278+ alloc_stack_size = size;
52279+
52280+ if (!alloc_stack)
52281+ return 0;
52282+ else
52283+ return 1;
52284+}
52285diff -urNp linux-3.0.7/grsecurity/gracl_cap.c linux-3.0.7/grsecurity/gracl_cap.c
52286--- linux-3.0.7/grsecurity/gracl_cap.c 1969-12-31 19:00:00.000000000 -0500
52287+++ linux-3.0.7/grsecurity/gracl_cap.c 2011-09-14 09:21:24.000000000 -0400
52288@@ -0,0 +1,101 @@ 51568@@ -0,0 +1,101 @@
52289+#include <linux/kernel.h> 51569+#include <linux/kernel.h>
52290+#include <linux/module.h> 51570+#include <linux/module.h>
@@ -52387,9 +51667,9 @@ diff -urNp linux-3.0.7/grsecurity/gracl_cap.c linux-3.0.7/grsecurity/gracl_cap.c
52387+ return 0; 51667+ return 0;
52388+} 51668+}
52389+ 51669+
52390diff -urNp linux-3.0.7/grsecurity/gracl_fs.c linux-3.0.7/grsecurity/gracl_fs.c 51670diff -urNp linux-3.0.8/grsecurity/gracl_fs.c linux-3.0.8/grsecurity/gracl_fs.c
52391--- linux-3.0.7/grsecurity/gracl_fs.c 1969-12-31 19:00:00.000000000 -0500 51671--- linux-3.0.8/grsecurity/gracl_fs.c 1969-12-31 19:00:00.000000000 -0500
52392+++ linux-3.0.7/grsecurity/gracl_fs.c 2011-10-17 01:22:26.000000000 -0400 51672+++ linux-3.0.8/grsecurity/gracl_fs.c 2011-10-17 01:22:26.000000000 -0400
52393@@ -0,0 +1,431 @@ 51673@@ -0,0 +1,431 @@
52394+#include <linux/kernel.h> 51674+#include <linux/kernel.h>
52395+#include <linux/sched.h> 51675+#include <linux/sched.h>
@@ -52822,9 +52102,9 @@ diff -urNp linux-3.0.7/grsecurity/gracl_fs.c linux-3.0.7/grsecurity/gracl_fs.c
52822+ 52102+
52823+ return 0; 52103+ return 0;
52824+} 52104+}
52825diff -urNp linux-3.0.7/grsecurity/gracl_ip.c linux-3.0.7/grsecurity/gracl_ip.c 52105diff -urNp linux-3.0.8/grsecurity/gracl_ip.c linux-3.0.8/grsecurity/gracl_ip.c
52826--- linux-3.0.7/grsecurity/gracl_ip.c 1969-12-31 19:00:00.000000000 -0500 52106--- linux-3.0.8/grsecurity/gracl_ip.c 1969-12-31 19:00:00.000000000 -0500
52827+++ linux-3.0.7/grsecurity/gracl_ip.c 2011-08-23 21:48:14.000000000 -0400 52107+++ linux-3.0.8/grsecurity/gracl_ip.c 2011-08-23 21:48:14.000000000 -0400
52828@@ -0,0 +1,381 @@ 52108@@ -0,0 +1,381 @@
52829+#include <linux/kernel.h> 52109+#include <linux/kernel.h>
52830+#include <asm/uaccess.h> 52110+#include <asm/uaccess.h>
@@ -53207,9 +52487,9 @@ diff -urNp linux-3.0.7/grsecurity/gracl_ip.c linux-3.0.7/grsecurity/gracl_ip.c
53207+ 52487+
53208+ return gr_search_connectbind(GR_CONNECT | GR_CONNECTOVERRIDE, sk, &sin, SOCK_DGRAM); 52488+ return gr_search_connectbind(GR_CONNECT | GR_CONNECTOVERRIDE, sk, &sin, SOCK_DGRAM);
53209+} 52489+}
53210diff -urNp linux-3.0.7/grsecurity/gracl_learn.c linux-3.0.7/grsecurity/gracl_learn.c 52490diff -urNp linux-3.0.8/grsecurity/gracl_learn.c linux-3.0.8/grsecurity/gracl_learn.c
53211--- linux-3.0.7/grsecurity/gracl_learn.c 1969-12-31 19:00:00.000000000 -0500 52491--- linux-3.0.8/grsecurity/gracl_learn.c 1969-12-31 19:00:00.000000000 -0500
53212+++ linux-3.0.7/grsecurity/gracl_learn.c 2011-08-23 21:48:14.000000000 -0400 52492+++ linux-3.0.8/grsecurity/gracl_learn.c 2011-08-23 21:48:14.000000000 -0400
53213@@ -0,0 +1,207 @@ 52493@@ -0,0 +1,207 @@
53214+#include <linux/kernel.h> 52494+#include <linux/kernel.h>
53215+#include <linux/mm.h> 52495+#include <linux/mm.h>
@@ -53418,9 +52698,9 @@ diff -urNp linux-3.0.7/grsecurity/gracl_learn.c linux-3.0.7/grsecurity/gracl_lea
53418+ .release = close_learn, 52698+ .release = close_learn,
53419+ .poll = poll_learn, 52699+ .poll = poll_learn,
53420+}; 52700+};
53421diff -urNp linux-3.0.7/grsecurity/gracl_res.c linux-3.0.7/grsecurity/gracl_res.c 52701diff -urNp linux-3.0.8/grsecurity/gracl_res.c linux-3.0.8/grsecurity/gracl_res.c
53422--- linux-3.0.7/grsecurity/gracl_res.c 1969-12-31 19:00:00.000000000 -0500 52702--- linux-3.0.8/grsecurity/gracl_res.c 1969-12-31 19:00:00.000000000 -0500
53423+++ linux-3.0.7/grsecurity/gracl_res.c 2011-08-23 21:48:14.000000000 -0400 52703+++ linux-3.0.8/grsecurity/gracl_res.c 2011-08-23 21:48:14.000000000 -0400
53424@@ -0,0 +1,68 @@ 52704@@ -0,0 +1,68 @@
53425+#include <linux/kernel.h> 52705+#include <linux/kernel.h>
53426+#include <linux/sched.h> 52706+#include <linux/sched.h>
@@ -53490,9 +52770,9 @@ diff -urNp linux-3.0.7/grsecurity/gracl_res.c linux-3.0.7/grsecurity/gracl_res.c
53490+ rcu_read_unlock(); 52770+ rcu_read_unlock();
53491+ return; 52771+ return;
53492+} 52772+}
53493diff -urNp linux-3.0.7/grsecurity/gracl_segv.c linux-3.0.7/grsecurity/gracl_segv.c 52773diff -urNp linux-3.0.8/grsecurity/gracl_segv.c linux-3.0.8/grsecurity/gracl_segv.c
53494--- linux-3.0.7/grsecurity/gracl_segv.c 1969-12-31 19:00:00.000000000 -0500 52774--- linux-3.0.8/grsecurity/gracl_segv.c 1969-12-31 19:00:00.000000000 -0500
53495+++ linux-3.0.7/grsecurity/gracl_segv.c 2011-08-23 21:48:14.000000000 -0400 52775+++ linux-3.0.8/grsecurity/gracl_segv.c 2011-08-23 21:48:14.000000000 -0400
53496@@ -0,0 +1,299 @@ 52776@@ -0,0 +1,299 @@
53497+#include <linux/kernel.h> 52777+#include <linux/kernel.h>
53498+#include <linux/mm.h> 52778+#include <linux/mm.h>
@@ -53793,9 +53073,9 @@ diff -urNp linux-3.0.7/grsecurity/gracl_segv.c linux-3.0.7/grsecurity/gracl_segv
53793+ 53073+
53794+ return; 53074+ return;
53795+} 53075+}
53796diff -urNp linux-3.0.7/grsecurity/gracl_shm.c linux-3.0.7/grsecurity/gracl_shm.c 53076diff -urNp linux-3.0.8/grsecurity/gracl_shm.c linux-3.0.8/grsecurity/gracl_shm.c
53797--- linux-3.0.7/grsecurity/gracl_shm.c 1969-12-31 19:00:00.000000000 -0500 53077--- linux-3.0.8/grsecurity/gracl_shm.c 1969-12-31 19:00:00.000000000 -0500
53798+++ linux-3.0.7/grsecurity/gracl_shm.c 2011-08-23 21:48:14.000000000 -0400 53078+++ linux-3.0.8/grsecurity/gracl_shm.c 2011-08-23 21:48:14.000000000 -0400
53799@@ -0,0 +1,40 @@ 53079@@ -0,0 +1,40 @@
53800+#include <linux/kernel.h> 53080+#include <linux/kernel.h>
53801+#include <linux/mm.h> 53081+#include <linux/mm.h>
@@ -53837,9 +53117,9 @@ diff -urNp linux-3.0.7/grsecurity/gracl_shm.c linux-3.0.7/grsecurity/gracl_shm.c
53837+ 53117+
53838+ return 1; 53118+ return 1;
53839+} 53119+}
53840diff -urNp linux-3.0.7/grsecurity/grsec_chdir.c linux-3.0.7/grsecurity/grsec_chdir.c 53120diff -urNp linux-3.0.8/grsecurity/grsec_chdir.c linux-3.0.8/grsecurity/grsec_chdir.c
53841--- linux-3.0.7/grsecurity/grsec_chdir.c 1969-12-31 19:00:00.000000000 -0500 53121--- linux-3.0.8/grsecurity/grsec_chdir.c 1969-12-31 19:00:00.000000000 -0500
53842+++ linux-3.0.7/grsecurity/grsec_chdir.c 2011-08-23 21:48:14.000000000 -0400 53122+++ linux-3.0.8/grsecurity/grsec_chdir.c 2011-08-23 21:48:14.000000000 -0400
53843@@ -0,0 +1,19 @@ 53123@@ -0,0 +1,19 @@
53844+#include <linux/kernel.h> 53124+#include <linux/kernel.h>
53845+#include <linux/sched.h> 53125+#include <linux/sched.h>
@@ -53860,9 +53140,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_chdir.c linux-3.0.7/grsecurity/grsec_chd
53860+#endif 53140+#endif
53861+ return; 53141+ return;
53862+} 53142+}
53863diff -urNp linux-3.0.7/grsecurity/grsec_chroot.c linux-3.0.7/grsecurity/grsec_chroot.c 53143diff -urNp linux-3.0.8/grsecurity/grsec_chroot.c linux-3.0.8/grsecurity/grsec_chroot.c
53864--- linux-3.0.7/grsecurity/grsec_chroot.c 1969-12-31 19:00:00.000000000 -0500 53144--- linux-3.0.8/grsecurity/grsec_chroot.c 1969-12-31 19:00:00.000000000 -0500
53865+++ linux-3.0.7/grsecurity/grsec_chroot.c 2011-09-15 06:47:48.000000000 -0400 53145+++ linux-3.0.8/grsecurity/grsec_chroot.c 2011-09-15 06:47:48.000000000 -0400
53866@@ -0,0 +1,351 @@ 53146@@ -0,0 +1,351 @@
53867+#include <linux/kernel.h> 53147+#include <linux/kernel.h>
53868+#include <linux/module.h> 53148+#include <linux/module.h>
@@ -54215,10 +53495,10 @@ diff -urNp linux-3.0.7/grsecurity/grsec_chroot.c linux-3.0.7/grsecurity/grsec_ch
54215+#endif 53495+#endif
54216+ return 0; 53496+ return 0;
54217+} 53497+}
54218diff -urNp linux-3.0.7/grsecurity/grsec_disabled.c linux-3.0.7/grsecurity/grsec_disabled.c 53498diff -urNp linux-3.0.8/grsecurity/grsec_disabled.c linux-3.0.8/grsecurity/grsec_disabled.c
54219--- linux-3.0.7/grsecurity/grsec_disabled.c 1969-12-31 19:00:00.000000000 -0500 53499--- linux-3.0.8/grsecurity/grsec_disabled.c 1969-12-31 19:00:00.000000000 -0500
54220+++ linux-3.0.7/grsecurity/grsec_disabled.c 2011-09-24 08:13:01.000000000 -0400 53500+++ linux-3.0.8/grsecurity/grsec_disabled.c 2011-10-25 09:17:34.000000000 -0400
54221@@ -0,0 +1,433 @@ 53501@@ -0,0 +1,439 @@
54222+#include <linux/kernel.h> 53502+#include <linux/kernel.h>
54223+#include <linux/module.h> 53503+#include <linux/module.h>
54224+#include <linux/sched.h> 53504+#include <linux/sched.h>
@@ -54260,6 +53540,12 @@ diff -urNp linux-3.0.7/grsecurity/grsec_disabled.c linux-3.0.7/grsecurity/grsec_
54260+ return 0; 53540+ return 0;
54261+} 53541+}
54262+ 53542+
53543+void
53544+gr_handle_proc_create(const struct dentry *dentry, const struct inode *inode)
53545+{
53546+ return;
53547+}
53548+
54263+int 53549+int
54264+gr_handle_rawio(const struct inode *inode) 53550+gr_handle_rawio(const struct inode *inode)
54265+{ 53551+{
@@ -54652,9 +53938,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_disabled.c linux-3.0.7/grsecurity/grsec_
54652+EXPORT_SYMBOL(gr_check_user_change); 53938+EXPORT_SYMBOL(gr_check_user_change);
54653+EXPORT_SYMBOL(gr_check_group_change); 53939+EXPORT_SYMBOL(gr_check_group_change);
54654+#endif 53940+#endif
54655diff -urNp linux-3.0.7/grsecurity/grsec_exec.c linux-3.0.7/grsecurity/grsec_exec.c 53941diff -urNp linux-3.0.8/grsecurity/grsec_exec.c linux-3.0.8/grsecurity/grsec_exec.c
54656--- linux-3.0.7/grsecurity/grsec_exec.c 1969-12-31 19:00:00.000000000 -0500 53942--- linux-3.0.8/grsecurity/grsec_exec.c 1969-12-31 19:00:00.000000000 -0500
54657+++ linux-3.0.7/grsecurity/grsec_exec.c 2011-10-20 00:50:54.000000000 -0400 53943+++ linux-3.0.8/grsecurity/grsec_exec.c 2011-10-20 00:50:54.000000000 -0400
54658@@ -0,0 +1,146 @@ 53944@@ -0,0 +1,146 @@
54659+#include <linux/kernel.h> 53945+#include <linux/kernel.h>
54660+#include <linux/sched.h> 53946+#include <linux/sched.h>
@@ -54802,9 +54088,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_exec.c linux-3.0.7/grsecurity/grsec_exec
54802+ 54088+
54803+EXPORT_SYMBOL(gr_is_capable); 54089+EXPORT_SYMBOL(gr_is_capable);
54804+EXPORT_SYMBOL(gr_is_capable_nolog); 54090+EXPORT_SYMBOL(gr_is_capable_nolog);
54805diff -urNp linux-3.0.7/grsecurity/grsec_fifo.c linux-3.0.7/grsecurity/grsec_fifo.c 54091diff -urNp linux-3.0.8/grsecurity/grsec_fifo.c linux-3.0.8/grsecurity/grsec_fifo.c
54806--- linux-3.0.7/grsecurity/grsec_fifo.c 1969-12-31 19:00:00.000000000 -0500 54092--- linux-3.0.8/grsecurity/grsec_fifo.c 1969-12-31 19:00:00.000000000 -0500
54807+++ linux-3.0.7/grsecurity/grsec_fifo.c 2011-08-23 21:48:14.000000000 -0400 54093+++ linux-3.0.8/grsecurity/grsec_fifo.c 2011-08-23 21:48:14.000000000 -0400
54808@@ -0,0 +1,24 @@ 54094@@ -0,0 +1,24 @@
54809+#include <linux/kernel.h> 54095+#include <linux/kernel.h>
54810+#include <linux/sched.h> 54096+#include <linux/sched.h>
@@ -54830,9 +54116,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_fifo.c linux-3.0.7/grsecurity/grsec_fifo
54830+#endif 54116+#endif
54831+ return 0; 54117+ return 0;
54832+} 54118+}
54833diff -urNp linux-3.0.7/grsecurity/grsec_fork.c linux-3.0.7/grsecurity/grsec_fork.c 54119diff -urNp linux-3.0.8/grsecurity/grsec_fork.c linux-3.0.8/grsecurity/grsec_fork.c
54834--- linux-3.0.7/grsecurity/grsec_fork.c 1969-12-31 19:00:00.000000000 -0500 54120--- linux-3.0.8/grsecurity/grsec_fork.c 1969-12-31 19:00:00.000000000 -0500
54835+++ linux-3.0.7/grsecurity/grsec_fork.c 2011-08-23 21:48:14.000000000 -0400 54121+++ linux-3.0.8/grsecurity/grsec_fork.c 2011-08-23 21:48:14.000000000 -0400
54836@@ -0,0 +1,23 @@ 54122@@ -0,0 +1,23 @@
54837+#include <linux/kernel.h> 54123+#include <linux/kernel.h>
54838+#include <linux/sched.h> 54124+#include <linux/sched.h>
@@ -54857,9 +54143,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_fork.c linux-3.0.7/grsecurity/grsec_fork
54857+#endif 54143+#endif
54858+ return; 54144+ return;
54859+} 54145+}
54860diff -urNp linux-3.0.7/grsecurity/grsec_init.c linux-3.0.7/grsecurity/grsec_init.c 54146diff -urNp linux-3.0.8/grsecurity/grsec_init.c linux-3.0.8/grsecurity/grsec_init.c
54861--- linux-3.0.7/grsecurity/grsec_init.c 1969-12-31 19:00:00.000000000 -0500 54147--- linux-3.0.8/grsecurity/grsec_init.c 1969-12-31 19:00:00.000000000 -0500
54862+++ linux-3.0.7/grsecurity/grsec_init.c 2011-08-25 17:25:12.000000000 -0400 54148+++ linux-3.0.8/grsecurity/grsec_init.c 2011-08-25 17:25:12.000000000 -0400
54863@@ -0,0 +1,269 @@ 54149@@ -0,0 +1,269 @@
54864+#include <linux/kernel.h> 54150+#include <linux/kernel.h>
54865+#include <linux/sched.h> 54151+#include <linux/sched.h>
@@ -55130,9 +54416,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_init.c linux-3.0.7/grsecurity/grsec_init
55130+ 54416+
55131+ return; 54417+ return;
55132+} 54418+}
55133diff -urNp linux-3.0.7/grsecurity/grsec_link.c linux-3.0.7/grsecurity/grsec_link.c 54419diff -urNp linux-3.0.8/grsecurity/grsec_link.c linux-3.0.8/grsecurity/grsec_link.c
55134--- linux-3.0.7/grsecurity/grsec_link.c 1969-12-31 19:00:00.000000000 -0500 54420--- linux-3.0.8/grsecurity/grsec_link.c 1969-12-31 19:00:00.000000000 -0500
55135+++ linux-3.0.7/grsecurity/grsec_link.c 2011-08-23 21:48:14.000000000 -0400 54421+++ linux-3.0.8/grsecurity/grsec_link.c 2011-08-23 21:48:14.000000000 -0400
55136@@ -0,0 +1,43 @@ 54422@@ -0,0 +1,43 @@
55137+#include <linux/kernel.h> 54423+#include <linux/kernel.h>
55138+#include <linux/sched.h> 54424+#include <linux/sched.h>
@@ -55177,9 +54463,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_link.c linux-3.0.7/grsecurity/grsec_link
55177+#endif 54463+#endif
55178+ return 0; 54464+ return 0;
55179+} 54465+}
55180diff -urNp linux-3.0.7/grsecurity/grsec_log.c linux-3.0.7/grsecurity/grsec_log.c 54466diff -urNp linux-3.0.8/grsecurity/grsec_log.c linux-3.0.8/grsecurity/grsec_log.c
55181--- linux-3.0.7/grsecurity/grsec_log.c 1969-12-31 19:00:00.000000000 -0500 54467--- linux-3.0.8/grsecurity/grsec_log.c 1969-12-31 19:00:00.000000000 -0500
55182+++ linux-3.0.7/grsecurity/grsec_log.c 2011-09-26 10:46:21.000000000 -0400 54468+++ linux-3.0.8/grsecurity/grsec_log.c 2011-09-26 10:46:21.000000000 -0400
55183@@ -0,0 +1,315 @@ 54469@@ -0,0 +1,315 @@
55184+#include <linux/kernel.h> 54470+#include <linux/kernel.h>
55185+#include <linux/sched.h> 54471+#include <linux/sched.h>
@@ -55496,9 +54782,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_log.c linux-3.0.7/grsecurity/grsec_log.c
55496+ gr_log_end(audit); 54782+ gr_log_end(audit);
55497+ END_LOCKS(audit); 54783+ END_LOCKS(audit);
55498+} 54784+}
55499diff -urNp linux-3.0.7/grsecurity/grsec_mem.c linux-3.0.7/grsecurity/grsec_mem.c 54785diff -urNp linux-3.0.8/grsecurity/grsec_mem.c linux-3.0.8/grsecurity/grsec_mem.c
55500--- linux-3.0.7/grsecurity/grsec_mem.c 1969-12-31 19:00:00.000000000 -0500 54786--- linux-3.0.8/grsecurity/grsec_mem.c 1969-12-31 19:00:00.000000000 -0500
55501+++ linux-3.0.7/grsecurity/grsec_mem.c 2011-08-23 21:48:14.000000000 -0400 54787+++ linux-3.0.8/grsecurity/grsec_mem.c 2011-08-23 21:48:14.000000000 -0400
55502@@ -0,0 +1,33 @@ 54788@@ -0,0 +1,33 @@
55503+#include <linux/kernel.h> 54789+#include <linux/kernel.h>
55504+#include <linux/sched.h> 54790+#include <linux/sched.h>
@@ -55533,9 +54819,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_mem.c linux-3.0.7/grsecurity/grsec_mem.c
55533+ gr_log_noargs(GR_DONT_AUDIT, GR_VM86_MSG); 54819+ gr_log_noargs(GR_DONT_AUDIT, GR_VM86_MSG);
55534+ return; 54820+ return;
55535+} 54821+}
55536diff -urNp linux-3.0.7/grsecurity/grsec_mount.c linux-3.0.7/grsecurity/grsec_mount.c 54822diff -urNp linux-3.0.8/grsecurity/grsec_mount.c linux-3.0.8/grsecurity/grsec_mount.c
55537--- linux-3.0.7/grsecurity/grsec_mount.c 1969-12-31 19:00:00.000000000 -0500 54823--- linux-3.0.8/grsecurity/grsec_mount.c 1969-12-31 19:00:00.000000000 -0500
55538+++ linux-3.0.7/grsecurity/grsec_mount.c 2011-08-23 21:48:14.000000000 -0400 54824+++ linux-3.0.8/grsecurity/grsec_mount.c 2011-08-23 21:48:14.000000000 -0400
55539@@ -0,0 +1,62 @@ 54825@@ -0,0 +1,62 @@
55540+#include <linux/kernel.h> 54826+#include <linux/kernel.h>
55541+#include <linux/sched.h> 54827+#include <linux/sched.h>
@@ -55599,9 +54885,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_mount.c linux-3.0.7/grsecurity/grsec_mou
55599+#endif 54885+#endif
55600+ return 0; 54886+ return 0;
55601+} 54887+}
55602diff -urNp linux-3.0.7/grsecurity/grsec_pax.c linux-3.0.7/grsecurity/grsec_pax.c 54888diff -urNp linux-3.0.8/grsecurity/grsec_pax.c linux-3.0.8/grsecurity/grsec_pax.c
55603--- linux-3.0.7/grsecurity/grsec_pax.c 1969-12-31 19:00:00.000000000 -0500 54889--- linux-3.0.8/grsecurity/grsec_pax.c 1969-12-31 19:00:00.000000000 -0500
55604+++ linux-3.0.7/grsecurity/grsec_pax.c 2011-08-23 21:48:14.000000000 -0400 54890+++ linux-3.0.8/grsecurity/grsec_pax.c 2011-08-23 21:48:14.000000000 -0400
55605@@ -0,0 +1,36 @@ 54891@@ -0,0 +1,36 @@
55606+#include <linux/kernel.h> 54892+#include <linux/kernel.h>
55607+#include <linux/sched.h> 54893+#include <linux/sched.h>
@@ -55639,9 +54925,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_pax.c linux-3.0.7/grsecurity/grsec_pax.c
55639+#endif 54925+#endif
55640+ return; 54926+ return;
55641+} 54927+}
55642diff -urNp linux-3.0.7/grsecurity/grsec_ptrace.c linux-3.0.7/grsecurity/grsec_ptrace.c 54928diff -urNp linux-3.0.8/grsecurity/grsec_ptrace.c linux-3.0.8/grsecurity/grsec_ptrace.c
55643--- linux-3.0.7/grsecurity/grsec_ptrace.c 1969-12-31 19:00:00.000000000 -0500 54929--- linux-3.0.8/grsecurity/grsec_ptrace.c 1969-12-31 19:00:00.000000000 -0500
55644+++ linux-3.0.7/grsecurity/grsec_ptrace.c 2011-08-23 21:48:14.000000000 -0400 54930+++ linux-3.0.8/grsecurity/grsec_ptrace.c 2011-08-23 21:48:14.000000000 -0400
55645@@ -0,0 +1,14 @@ 54931@@ -0,0 +1,14 @@
55646+#include <linux/kernel.h> 54932+#include <linux/kernel.h>
55647+#include <linux/sched.h> 54933+#include <linux/sched.h>
@@ -55657,9 +54943,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_ptrace.c linux-3.0.7/grsecurity/grsec_pt
55657+#endif 54943+#endif
55658+ return; 54944+ return;
55659+} 54945+}
55660diff -urNp linux-3.0.7/grsecurity/grsec_sig.c linux-3.0.7/grsecurity/grsec_sig.c 54946diff -urNp linux-3.0.8/grsecurity/grsec_sig.c linux-3.0.8/grsecurity/grsec_sig.c
55661--- linux-3.0.7/grsecurity/grsec_sig.c 1969-12-31 19:00:00.000000000 -0500 54947--- linux-3.0.8/grsecurity/grsec_sig.c 1969-12-31 19:00:00.000000000 -0500
55662+++ linux-3.0.7/grsecurity/grsec_sig.c 2011-08-23 21:48:14.000000000 -0400 54948+++ linux-3.0.8/grsecurity/grsec_sig.c 2011-08-23 21:48:14.000000000 -0400
55663@@ -0,0 +1,206 @@ 54949@@ -0,0 +1,206 @@
55664+#include <linux/kernel.h> 54950+#include <linux/kernel.h>
55665+#include <linux/sched.h> 54951+#include <linux/sched.h>
@@ -55867,9 +55153,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_sig.c linux-3.0.7/grsecurity/grsec_sig.c
55867+#endif 55153+#endif
55868+ return 0; 55154+ return 0;
55869+} 55155+}
55870diff -urNp linux-3.0.7/grsecurity/grsec_sock.c linux-3.0.7/grsecurity/grsec_sock.c 55156diff -urNp linux-3.0.8/grsecurity/grsec_sock.c linux-3.0.8/grsecurity/grsec_sock.c
55871--- linux-3.0.7/grsecurity/grsec_sock.c 1969-12-31 19:00:00.000000000 -0500 55157--- linux-3.0.8/grsecurity/grsec_sock.c 1969-12-31 19:00:00.000000000 -0500
55872+++ linux-3.0.7/grsecurity/grsec_sock.c 2011-08-23 21:48:14.000000000 -0400 55158+++ linux-3.0.8/grsecurity/grsec_sock.c 2011-08-23 21:48:14.000000000 -0400
55873@@ -0,0 +1,244 @@ 55159@@ -0,0 +1,244 @@
55874+#include <linux/kernel.h> 55160+#include <linux/kernel.h>
55875+#include <linux/module.h> 55161+#include <linux/module.h>
@@ -56115,9 +55401,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_sock.c linux-3.0.7/grsecurity/grsec_sock
56115+#endif 55401+#endif
56116+ return 0; 55402+ return 0;
56117+} 55403+}
56118diff -urNp linux-3.0.7/grsecurity/grsec_sysctl.c linux-3.0.7/grsecurity/grsec_sysctl.c 55404diff -urNp linux-3.0.8/grsecurity/grsec_sysctl.c linux-3.0.8/grsecurity/grsec_sysctl.c
56119--- linux-3.0.7/grsecurity/grsec_sysctl.c 1969-12-31 19:00:00.000000000 -0500 55405--- linux-3.0.8/grsecurity/grsec_sysctl.c 1969-12-31 19:00:00.000000000 -0500
56120+++ linux-3.0.7/grsecurity/grsec_sysctl.c 2011-08-25 17:26:15.000000000 -0400 55406+++ linux-3.0.8/grsecurity/grsec_sysctl.c 2011-08-25 17:26:15.000000000 -0400
56121@@ -0,0 +1,433 @@ 55407@@ -0,0 +1,433 @@
56122+#include <linux/kernel.h> 55408+#include <linux/kernel.h>
56123+#include <linux/sched.h> 55409+#include <linux/sched.h>
@@ -56552,9 +55838,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_sysctl.c linux-3.0.7/grsecurity/grsec_sy
56552+ { } 55838+ { }
56553+}; 55839+};
56554+#endif 55840+#endif
56555diff -urNp linux-3.0.7/grsecurity/grsec_time.c linux-3.0.7/grsecurity/grsec_time.c 55841diff -urNp linux-3.0.8/grsecurity/grsec_time.c linux-3.0.8/grsecurity/grsec_time.c
56556--- linux-3.0.7/grsecurity/grsec_time.c 1969-12-31 19:00:00.000000000 -0500 55842--- linux-3.0.8/grsecurity/grsec_time.c 1969-12-31 19:00:00.000000000 -0500
56557+++ linux-3.0.7/grsecurity/grsec_time.c 2011-08-23 21:48:14.000000000 -0400 55843+++ linux-3.0.8/grsecurity/grsec_time.c 2011-08-23 21:48:14.000000000 -0400
56558@@ -0,0 +1,16 @@ 55844@@ -0,0 +1,16 @@
56559+#include <linux/kernel.h> 55845+#include <linux/kernel.h>
56560+#include <linux/sched.h> 55846+#include <linux/sched.h>
@@ -56572,9 +55858,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_time.c linux-3.0.7/grsecurity/grsec_time
56572+} 55858+}
56573+ 55859+
56574+EXPORT_SYMBOL(gr_log_timechange); 55860+EXPORT_SYMBOL(gr_log_timechange);
56575diff -urNp linux-3.0.7/grsecurity/grsec_tpe.c linux-3.0.7/grsecurity/grsec_tpe.c 55861diff -urNp linux-3.0.8/grsecurity/grsec_tpe.c linux-3.0.8/grsecurity/grsec_tpe.c
56576--- linux-3.0.7/grsecurity/grsec_tpe.c 1969-12-31 19:00:00.000000000 -0500 55862--- linux-3.0.8/grsecurity/grsec_tpe.c 1969-12-31 19:00:00.000000000 -0500
56577+++ linux-3.0.7/grsecurity/grsec_tpe.c 2011-08-23 21:48:14.000000000 -0400 55863+++ linux-3.0.8/grsecurity/grsec_tpe.c 2011-08-23 21:48:14.000000000 -0400
56578@@ -0,0 +1,39 @@ 55864@@ -0,0 +1,39 @@
56579+#include <linux/kernel.h> 55865+#include <linux/kernel.h>
56580+#include <linux/sched.h> 55866+#include <linux/sched.h>
@@ -56615,9 +55901,9 @@ diff -urNp linux-3.0.7/grsecurity/grsec_tpe.c linux-3.0.7/grsecurity/grsec_tpe.c
56615+#endif 55901+#endif
56616+ return 1; 55902+ return 1;
56617+} 55903+}
56618diff -urNp linux-3.0.7/grsecurity/grsum.c linux-3.0.7/grsecurity/grsum.c 55904diff -urNp linux-3.0.8/grsecurity/grsum.c linux-3.0.8/grsecurity/grsum.c
56619--- linux-3.0.7/grsecurity/grsum.c 1969-12-31 19:00:00.000000000 -0500 55905--- linux-3.0.8/grsecurity/grsum.c 1969-12-31 19:00:00.000000000 -0500
56620+++ linux-3.0.7/grsecurity/grsum.c 2011-08-23 21:48:14.000000000 -0400 55906+++ linux-3.0.8/grsecurity/grsum.c 2011-08-23 21:48:14.000000000 -0400
56621@@ -0,0 +1,61 @@ 55907@@ -0,0 +1,61 @@
56622+#include <linux/err.h> 55908+#include <linux/err.h>
56623+#include <linux/kernel.h> 55909+#include <linux/kernel.h>
@@ -56680,9 +55966,1091 @@ diff -urNp linux-3.0.7/grsecurity/grsum.c linux-3.0.7/grsecurity/grsum.c
56680+ 55966+
56681+ return retval; 55967+ return retval;
56682+} 55968+}
56683diff -urNp linux-3.0.7/include/acpi/acpi_bus.h linux-3.0.7/include/acpi/acpi_bus.h 55969diff -urNp linux-3.0.8/grsecurity/Kconfig linux-3.0.8/grsecurity/Kconfig
56684--- linux-3.0.7/include/acpi/acpi_bus.h 2011-07-21 22:17:23.000000000 -0400 55970--- linux-3.0.8/grsecurity/Kconfig 1969-12-31 19:00:00.000000000 -0500
56685+++ linux-3.0.7/include/acpi/acpi_bus.h 2011-08-23 21:47:56.000000000 -0400 55971+++ linux-3.0.8/grsecurity/Kconfig 2011-09-15 00:00:57.000000000 -0400
55972@@ -0,0 +1,1038 @@
55973+#
55974+# grecurity configuration
55975+#
55976+
55977+menu "Grsecurity"
55978+
55979+config GRKERNSEC
55980+ bool "Grsecurity"
55981+ select CRYPTO
55982+ select CRYPTO_SHA256
55983+ help
55984+ If you say Y here, you will be able to configure many features
55985+ that will enhance the security of your system. It is highly
55986+ recommended that you say Y here and read through the help
55987+ for each option so that you fully understand the features and
55988+ can evaluate their usefulness for your machine.
55989+
55990+choice
55991+ prompt "Security Level"
55992+ depends on GRKERNSEC
55993+ default GRKERNSEC_CUSTOM
55994+
55995+config GRKERNSEC_LOW
55996+ bool "Low"
55997+ select GRKERNSEC_LINK
55998+ select GRKERNSEC_FIFO
55999+ select GRKERNSEC_RANDNET
56000+ select GRKERNSEC_DMESG
56001+ select GRKERNSEC_CHROOT
56002+ select GRKERNSEC_CHROOT_CHDIR
56003+
56004+ help
56005+ If you choose this option, several of the grsecurity options will
56006+ be enabled that will give you greater protection against a number
56007+ of attacks, while assuring that none of your software will have any
56008+ conflicts with the additional security measures. If you run a lot
56009+ of unusual software, or you are having problems with the higher
56010+ security levels, you should say Y here. With this option, the
56011+ following features are enabled:
56012+
56013+ - Linking restrictions
56014+ - FIFO restrictions
56015+ - Restricted dmesg
56016+ - Enforced chdir("/") on chroot
56017+ - Runtime module disabling
56018+
56019+config GRKERNSEC_MEDIUM
56020+ bool "Medium"
56021+ select PAX
56022+ select PAX_EI_PAX
56023+ select PAX_PT_PAX_FLAGS
56024+ select PAX_HAVE_ACL_FLAGS
56025+ select GRKERNSEC_PROC_MEMMAP if (PAX_NOEXEC || PAX_ASLR)
56026+ select GRKERNSEC_CHROOT
56027+ select GRKERNSEC_CHROOT_SYSCTL
56028+ select GRKERNSEC_LINK
56029+ select GRKERNSEC_FIFO
56030+ select GRKERNSEC_DMESG
56031+ select GRKERNSEC_RANDNET
56032+ select GRKERNSEC_FORKFAIL
56033+ select GRKERNSEC_TIME
56034+ select GRKERNSEC_SIGNAL
56035+ select GRKERNSEC_CHROOT
56036+ select GRKERNSEC_CHROOT_UNIX
56037+ select GRKERNSEC_CHROOT_MOUNT
56038+ select GRKERNSEC_CHROOT_PIVOT
56039+ select GRKERNSEC_CHROOT_DOUBLE
56040+ select GRKERNSEC_CHROOT_CHDIR
56041+ select GRKERNSEC_CHROOT_MKNOD
56042+ select GRKERNSEC_PROC
56043+ select GRKERNSEC_PROC_USERGROUP
56044+ select PAX_RANDUSTACK
56045+ select PAX_ASLR
56046+ select PAX_RANDMMAP
56047+ select PAX_REFCOUNT if (X86 || SPARC64)
56048+ select PAX_USERCOPY if ((X86 || SPARC || PPC || ARM) && (SLAB || SLUB || SLOB))
56049+
56050+ help
56051+ If you say Y here, several features in addition to those included
56052+ in the low additional security level will be enabled. These
56053+ features provide even more security to your system, though in rare
56054+ cases they may be incompatible with very old or poorly written
56055+ software. If you enable this option, make sure that your auth
56056+ service (identd) is running as gid 1001. With this option,
56057+ the following features (in addition to those provided in the
56058+ low additional security level) will be enabled:
56059+
56060+ - Failed fork logging
56061+ - Time change logging
56062+ - Signal logging
56063+ - Deny mounts in chroot
56064+ - Deny double chrooting
56065+ - Deny sysctl writes in chroot
56066+ - Deny mknod in chroot
56067+ - Deny access to abstract AF_UNIX sockets out of chroot
56068+ - Deny pivot_root in chroot
56069+ - Denied writes of /dev/kmem, /dev/mem, and /dev/port
56070+ - /proc restrictions with special GID set to 10 (usually wheel)
56071+ - Address Space Layout Randomization (ASLR)
56072+ - Prevent exploitation of most refcount overflows
56073+ - Bounds checking of copying between the kernel and userland
56074+
56075+config GRKERNSEC_HIGH
56076+ bool "High"
56077+ select GRKERNSEC_LINK
56078+ select GRKERNSEC_FIFO
56079+ select GRKERNSEC_DMESG
56080+ select GRKERNSEC_FORKFAIL
56081+ select GRKERNSEC_TIME
56082+ select GRKERNSEC_SIGNAL
56083+ select GRKERNSEC_CHROOT
56084+ select GRKERNSEC_CHROOT_SHMAT
56085+ select GRKERNSEC_CHROOT_UNIX
56086+ select GRKERNSEC_CHROOT_MOUNT
56087+ select GRKERNSEC_CHROOT_FCHDIR
56088+ select GRKERNSEC_CHROOT_PIVOT
56089+ select GRKERNSEC_CHROOT_DOUBLE
56090+ select GRKERNSEC_CHROOT_CHDIR
56091+ select GRKERNSEC_CHROOT_MKNOD
56092+ select GRKERNSEC_CHROOT_CAPS
56093+ select GRKERNSEC_CHROOT_SYSCTL
56094+ select GRKERNSEC_CHROOT_FINDTASK
56095+ select GRKERNSEC_SYSFS_RESTRICT
56096+ select GRKERNSEC_PROC
56097+ select GRKERNSEC_PROC_MEMMAP if (PAX_NOEXEC || PAX_ASLR)
56098+ select GRKERNSEC_HIDESYM
56099+ select GRKERNSEC_BRUTE
56100+ select GRKERNSEC_PROC_USERGROUP
56101+ select GRKERNSEC_KMEM
56102+ select GRKERNSEC_RESLOG
56103+ select GRKERNSEC_RANDNET
56104+ select GRKERNSEC_PROC_ADD
56105+ select GRKERNSEC_CHROOT_CHMOD
56106+ select GRKERNSEC_CHROOT_NICE
56107+ select GRKERNSEC_AUDIT_MOUNT
56108+ select GRKERNSEC_MODHARDEN if (MODULES)
56109+ select GRKERNSEC_HARDEN_PTRACE
56110+ select GRKERNSEC_VM86 if (X86_32)
56111+ select GRKERNSEC_KERN_LOCKOUT if (X86 || ARM || PPC || SPARC)
56112+ select PAX
56113+ select PAX_RANDUSTACK
56114+ select PAX_ASLR
56115+ select PAX_RANDMMAP
56116+ select PAX_NOEXEC
56117+ select PAX_MPROTECT
56118+ select PAX_EI_PAX
56119+ select PAX_PT_PAX_FLAGS
56120+ select PAX_HAVE_ACL_FLAGS
56121+ select PAX_KERNEXEC if ((PPC || X86) && (!X86_32 || X86_WP_WORKS_OK) && !XEN)
56122+ select PAX_MEMORY_UDEREF if (X86 && !XEN)
56123+ select PAX_RANDKSTACK if (X86_TSC && X86)
56124+ select PAX_SEGMEXEC if (X86_32)
56125+ select PAX_PAGEEXEC
56126+ select PAX_EMUPLT if (ALPHA || PARISC || SPARC)
56127+ select PAX_EMUTRAMP if (PARISC)
56128+ select PAX_EMUSIGRT if (PARISC)
56129+ select PAX_ETEXECRELOCS if (ALPHA || IA64 || PARISC)
56130+ select PAX_ELFRELOCS if (PAX_ETEXECRELOCS || (IA64 || PPC || X86))
56131+ select PAX_REFCOUNT if (X86 || SPARC64)
56132+ select PAX_USERCOPY if ((X86 || PPC || SPARC || ARM) && (SLAB || SLUB || SLOB))
56133+ help
56134+ If you say Y here, many of the features of grsecurity will be
56135+ enabled, which will protect you against many kinds of attacks
56136+ against your system. The heightened security comes at a cost
56137+ of an increased chance of incompatibilities with rare software
56138+ on your machine. Since this security level enables PaX, you should
56139+ view <http://pax.grsecurity.net> and read about the PaX
56140+ project. While you are there, download chpax and run it on
56141+ binaries that cause problems with PaX. Also remember that
56142+ since the /proc restrictions are enabled, you must run your
56143+ identd as gid 1001. This security level enables the following
56144+ features in addition to those listed in the low and medium
56145+ security levels:
56146+
56147+ - Additional /proc restrictions
56148+ - Chmod restrictions in chroot
56149+ - No signals, ptrace, or viewing of processes outside of chroot
56150+ - Capability restrictions in chroot
56151+ - Deny fchdir out of chroot
56152+ - Priority restrictions in chroot
56153+ - Segmentation-based implementation of PaX
56154+ - Mprotect restrictions
56155+ - Removal of addresses from /proc/<pid>/[smaps|maps|stat]
56156+ - Kernel stack randomization
56157+ - Mount/unmount/remount logging
56158+ - Kernel symbol hiding
56159+ - Prevention of memory exhaustion-based exploits
56160+ - Hardening of module auto-loading
56161+ - Ptrace restrictions
56162+ - Restricted vm86 mode
56163+ - Restricted sysfs/debugfs
56164+ - Active kernel exploit response
56165+
56166+config GRKERNSEC_CUSTOM
56167+ bool "Custom"
56168+ help
56169+ If you say Y here, you will be able to configure every grsecurity
56170+ option, which allows you to enable many more features that aren't
56171+ covered in the basic security levels. These additional features
56172+ include TPE, socket restrictions, and the sysctl system for
56173+ grsecurity. It is advised that you read through the help for
56174+ each option to determine its usefulness in your situation.
56175+
56176+endchoice
56177+
56178+menu "Address Space Protection"
56179+depends on GRKERNSEC
56180+
56181+config GRKERNSEC_KMEM
56182+ bool "Deny writing to /dev/kmem, /dev/mem, and /dev/port"
56183+ select STRICT_DEVMEM if (X86 || ARM || TILE || S390)
56184+ help
56185+ If you say Y here, /dev/kmem and /dev/mem won't be allowed to
56186+ be written to via mmap or otherwise to modify the running kernel.
56187+ /dev/port will also not be allowed to be opened. If you have module
56188+ support disabled, enabling this will close up four ways that are
56189+ currently used to insert malicious code into the running kernel.
56190+ Even with all these features enabled, we still highly recommend that
56191+ you use the RBAC system, as it is still possible for an attacker to
56192+ modify the running kernel through privileged I/O granted by ioperm/iopl.
56193+ If you are not using XFree86, you may be able to stop this additional
56194+ case by enabling the 'Disable privileged I/O' option. Though nothing
56195+ legitimately writes to /dev/kmem, XFree86 does need to write to /dev/mem,
56196+ but only to video memory, which is the only writing we allow in this
56197+ case. If /dev/kmem or /dev/mem are mmaped without PROT_WRITE, they will
56198+ not be allowed to mprotect it with PROT_WRITE later.
56199+ It is highly recommended that you say Y here if you meet all the
56200+ conditions above.
56201+
56202+config GRKERNSEC_VM86
56203+ bool "Restrict VM86 mode"
56204+ depends on X86_32
56205+
56206+ help
56207+ If you say Y here, only processes with CAP_SYS_RAWIO will be able to
56208+ make use of a special execution mode on 32bit x86 processors called
56209+ Virtual 8086 (VM86) mode. XFree86 may need vm86 mode for certain
56210+ video cards and will still work with this option enabled. The purpose
56211+ of the option is to prevent exploitation of emulation errors in
56212+ virtualization of vm86 mode like the one discovered in VMWare in 2009.
56213+ Nearly all users should be able to enable this option.
56214+
56215+config GRKERNSEC_IO
56216+ bool "Disable privileged I/O"
56217+ depends on X86
56218+ select RTC_CLASS
56219+ select RTC_INTF_DEV
56220+ select RTC_DRV_CMOS
56221+
56222+ help
56223+ If you say Y here, all ioperm and iopl calls will return an error.
56224+ Ioperm and iopl can be used to modify the running kernel.
56225+ Unfortunately, some programs need this access to operate properly,
56226+ the most notable of which are XFree86 and hwclock. hwclock can be
56227+ remedied by having RTC support in the kernel, so real-time
56228+ clock support is enabled if this option is enabled, to ensure
56229+ that hwclock operates correctly. XFree86 still will not
56230+ operate correctly with this option enabled, so DO NOT CHOOSE Y
56231+ IF YOU USE XFree86. If you use XFree86 and you still want to
56232+ protect your kernel against modification, use the RBAC system.
56233+
56234+config GRKERNSEC_PROC_MEMMAP
56235+ bool "Remove addresses from /proc/<pid>/[smaps|maps|stat]"
56236+ default y if (PAX_NOEXEC || PAX_ASLR)
56237+ depends on PAX_NOEXEC || PAX_ASLR
56238+ help
56239+ If you say Y here, the /proc/<pid>/maps and /proc/<pid>/stat files will
56240+ give no information about the addresses of its mappings if
56241+ PaX features that rely on random addresses are enabled on the task.
56242+ If you use PaX it is greatly recommended that you say Y here as it
56243+ closes up a hole that makes the full ASLR useless for suid
56244+ binaries.
56245+
56246+config GRKERNSEC_BRUTE
56247+ bool "Deter exploit bruteforcing"
56248+ help
56249+ If you say Y here, attempts to bruteforce exploits against forking
56250+ daemons such as apache or sshd, as well as against suid/sgid binaries
56251+ will be deterred. When a child of a forking daemon is killed by PaX
56252+ or crashes due to an illegal instruction or other suspicious signal,
56253+ the parent process will be delayed 30 seconds upon every subsequent
56254+ fork until the administrator is able to assess the situation and
56255+ restart the daemon.
56256+ In the suid/sgid case, the attempt is logged, the user has all their
56257+ processes terminated, and they are prevented from executing any further
56258+ processes for 15 minutes.
56259+ It is recommended that you also enable signal logging in the auditing
56260+ section so that logs are generated when a process triggers a suspicious
56261+ signal.
56262+ If the sysctl option is enabled, a sysctl option with name
56263+ "deter_bruteforce" is created.
56264+
56265+
56266+config GRKERNSEC_MODHARDEN
56267+ bool "Harden module auto-loading"
56268+ depends on MODULES
56269+ help
56270+ If you say Y here, module auto-loading in response to use of some
56271+ feature implemented by an unloaded module will be restricted to
56272+ root users. Enabling this option helps defend against attacks
56273+ by unprivileged users who abuse the auto-loading behavior to
56274+ cause a vulnerable module to load that is then exploited.
56275+
56276+ If this option prevents a legitimate use of auto-loading for a
56277+ non-root user, the administrator can execute modprobe manually
56278+ with the exact name of the module mentioned in the alert log.
56279+ Alternatively, the administrator can add the module to the list
56280+ of modules loaded at boot by modifying init scripts.
56281+
56282+ Modification of init scripts will most likely be needed on
56283+ Ubuntu servers with encrypted home directory support enabled,
56284+ as the first non-root user logging in will cause the ecb(aes),
56285+ ecb(aes)-all, cbc(aes), and cbc(aes)-all modules to be loaded.
56286+
56287+config GRKERNSEC_HIDESYM
56288+ bool "Hide kernel symbols"
56289+ help
56290+ If you say Y here, getting information on loaded modules, and
56291+ displaying all kernel symbols through a syscall will be restricted
56292+ to users with CAP_SYS_MODULE. For software compatibility reasons,
56293+ /proc/kallsyms will be restricted to the root user. The RBAC
56294+ system can hide that entry even from root.
56295+
56296+ This option also prevents leaking of kernel addresses through
56297+ several /proc entries.
56298+
56299+ Note that this option is only effective provided the following
56300+ conditions are met:
56301+ 1) The kernel using grsecurity is not precompiled by some distribution
56302+ 2) You have also enabled GRKERNSEC_DMESG
56303+ 3) You are using the RBAC system and hiding other files such as your
56304+ kernel image and System.map. Alternatively, enabling this option
56305+ causes the permissions on /boot, /lib/modules, and the kernel
56306+ source directory to change at compile time to prevent
56307+ reading by non-root users.
56308+ If the above conditions are met, this option will aid in providing a
56309+ useful protection against local kernel exploitation of overflows
56310+ and arbitrary read/write vulnerabilities.
56311+
56312+config GRKERNSEC_KERN_LOCKOUT
56313+ bool "Active kernel exploit response"
56314+ depends on X86 || ARM || PPC || SPARC
56315+ help
56316+ If you say Y here, when a PaX alert is triggered due to suspicious
56317+ activity in the kernel (from KERNEXEC/UDEREF/USERCOPY)
56318+ or an OOPs occurs due to bad memory accesses, instead of just
56319+ terminating the offending process (and potentially allowing
56320+ a subsequent exploit from the same user), we will take one of two
56321+ actions:
56322+ If the user was root, we will panic the system
56323+ If the user was non-root, we will log the attempt, terminate
56324+ all processes owned by the user, then prevent them from creating
56325+ any new processes until the system is restarted
56326+ This deters repeated kernel exploitation/bruteforcing attempts
56327+ and is useful for later forensics.
56328+
56329+endmenu
56330+menu "Role Based Access Control Options"
56331+depends on GRKERNSEC
56332+
56333+config GRKERNSEC_RBAC_DEBUG
56334+ bool
56335+
56336+config GRKERNSEC_NO_RBAC
56337+ bool "Disable RBAC system"
56338+ help
56339+ If you say Y here, the /dev/grsec device will be removed from the kernel,
56340+ preventing the RBAC system from being enabled. You should only say Y
56341+ here if you have no intention of using the RBAC system, so as to prevent
56342+ an attacker with root access from misusing the RBAC system to hide files
56343+ and processes when loadable module support and /dev/[k]mem have been
56344+ locked down.
56345+
56346+config GRKERNSEC_ACL_HIDEKERN
56347+ bool "Hide kernel processes"
56348+ help
56349+ If you say Y here, all kernel threads will be hidden to all
56350+ processes but those whose subject has the "view hidden processes"
56351+ flag.
56352+
56353+config GRKERNSEC_ACL_MAXTRIES
56354+ int "Maximum tries before password lockout"
56355+ default 3
56356+ help
56357+ This option enforces the maximum number of times a user can attempt
56358+ to authorize themselves with the grsecurity RBAC system before being
56359+ denied the ability to attempt authorization again for a specified time.
56360+ The lower the number, the harder it will be to brute-force a password.
56361+
56362+config GRKERNSEC_ACL_TIMEOUT
56363+ int "Time to wait after max password tries, in seconds"
56364+ default 30
56365+ help
56366+ This option specifies the time the user must wait after attempting to
56367+ authorize to the RBAC system with the maximum number of invalid
56368+ passwords. The higher the number, the harder it will be to brute-force
56369+ a password.
56370+
56371+endmenu
56372+menu "Filesystem Protections"
56373+depends on GRKERNSEC
56374+
56375+config GRKERNSEC_PROC
56376+ bool "Proc restrictions"
56377+ help
56378+ If you say Y here, the permissions of the /proc filesystem
56379+ will be altered to enhance system security and privacy. You MUST
56380+ choose either a user only restriction or a user and group restriction.
56381+ Depending upon the option you choose, you can either restrict users to
56382+ see only the processes they themselves run, or choose a group that can
56383+ view all processes and files normally restricted to root if you choose
56384+ the "restrict to user only" option. NOTE: If you're running identd as
56385+ a non-root user, you will have to run it as the group you specify here.
56386+
56387+config GRKERNSEC_PROC_USER
56388+ bool "Restrict /proc to user only"
56389+ depends on GRKERNSEC_PROC
56390+ help
56391+ If you say Y here, non-root users will only be able to view their own
56392+ processes, and restricts them from viewing network-related information,
56393+ and viewing kernel symbol and module information.
56394+
56395+config GRKERNSEC_PROC_USERGROUP
56396+ bool "Allow special group"
56397+ depends on GRKERNSEC_PROC && !GRKERNSEC_PROC_USER
56398+ help
56399+ If you say Y here, you will be able to select a group that will be
56400+ able to view all processes and network-related information. If you've
56401+ enabled GRKERNSEC_HIDESYM, kernel and symbol information may still
56402+ remain hidden. This option is useful if you want to run identd as
56403+ a non-root user.
56404+
56405+config GRKERNSEC_PROC_GID
56406+ int "GID for special group"
56407+ depends on GRKERNSEC_PROC_USERGROUP
56408+ default 1001
56409+
56410+config GRKERNSEC_PROC_ADD
56411+ bool "Additional restrictions"
56412+ depends on GRKERNSEC_PROC_USER || GRKERNSEC_PROC_USERGROUP
56413+ help
56414+ If you say Y here, additional restrictions will be placed on
56415+ /proc that keep normal users from viewing device information and
56416+ slabinfo information that could be useful for exploits.
56417+
56418+config GRKERNSEC_LINK
56419+ bool "Linking restrictions"
56420+ help
56421+ If you say Y here, /tmp race exploits will be prevented, since users
56422+ will no longer be able to follow symlinks owned by other users in
56423+ world-writable +t directories (e.g. /tmp), unless the owner of the
56424+ symlink is the owner of the directory. users will also not be
56425+ able to hardlink to files they do not own. If the sysctl option is
56426+ enabled, a sysctl option with name "linking_restrictions" is created.
56427+
56428+config GRKERNSEC_FIFO
56429+ bool "FIFO restrictions"
56430+ help
56431+ If you say Y here, users will not be able to write to FIFOs they don't
56432+ own in world-writable +t directories (e.g. /tmp), unless the owner of
56433+ the FIFO is the same owner of the directory it's held in. If the sysctl
56434+ option is enabled, a sysctl option with name "fifo_restrictions" is
56435+ created.
56436+
56437+config GRKERNSEC_SYSFS_RESTRICT
56438+ bool "Sysfs/debugfs restriction"
56439+ depends on SYSFS
56440+ help
56441+ If you say Y here, sysfs (the pseudo-filesystem mounted at /sys) and
56442+ any filesystem normally mounted under it (e.g. debugfs) will only
56443+ be accessible by root. These filesystems generally provide access
56444+ to hardware and debug information that isn't appropriate for unprivileged
56445+ users of the system. Sysfs and debugfs have also become a large source
56446+ of new vulnerabilities, ranging from infoleaks to local compromise.
56447+ There has been very little oversight with an eye toward security involved
56448+ in adding new exporters of information to these filesystems, so their
56449+ use is discouraged.
56450+ This option is equivalent to a chmod 0700 of the mount paths.
56451+
56452+config GRKERNSEC_ROFS
56453+ bool "Runtime read-only mount protection"
56454+ help
56455+ If you say Y here, a sysctl option with name "romount_protect" will
56456+ be created. By setting this option to 1 at runtime, filesystems
56457+ will be protected in the following ways:
56458+ * No new writable mounts will be allowed
56459+ * Existing read-only mounts won't be able to be remounted read/write
56460+ * Write operations will be denied on all block devices
56461+ This option acts independently of grsec_lock: once it is set to 1,
56462+ it cannot be turned off. Therefore, please be mindful of the resulting
56463+ behavior if this option is enabled in an init script on a read-only
56464+ filesystem. This feature is mainly intended for secure embedded systems.
56465+
56466+config GRKERNSEC_CHROOT
56467+ bool "Chroot jail restrictions"
56468+ help
56469+ If you say Y here, you will be able to choose several options that will
56470+ make breaking out of a chrooted jail much more difficult. If you
56471+ encounter no software incompatibilities with the following options, it
56472+ is recommended that you enable each one.
56473+
56474+config GRKERNSEC_CHROOT_MOUNT
56475+ bool "Deny mounts"
56476+ depends on GRKERNSEC_CHROOT
56477+ help
56478+ If you say Y here, processes inside a chroot will not be able to
56479+ mount or remount filesystems. If the sysctl option is enabled, a
56480+ sysctl option with name "chroot_deny_mount" is created.
56481+
56482+config GRKERNSEC_CHROOT_DOUBLE
56483+ bool "Deny double-chroots"
56484+ depends on GRKERNSEC_CHROOT
56485+ help
56486+ If you say Y here, processes inside a chroot will not be able to chroot
56487+ again outside the chroot. This is a widely used method of breaking
56488+ out of a chroot jail and should not be allowed. If the sysctl
56489+ option is enabled, a sysctl option with name
56490+ "chroot_deny_chroot" is created.
56491+
56492+config GRKERNSEC_CHROOT_PIVOT
56493+ bool "Deny pivot_root in chroot"
56494+ depends on GRKERNSEC_CHROOT
56495+ help
56496+ If you say Y here, processes inside a chroot will not be able to use
56497+ a function called pivot_root() that was introduced in Linux 2.3.41. It
56498+ works similar to chroot in that it changes the root filesystem. This
56499+ function could be misused in a chrooted process to attempt to break out
56500+ of the chroot, and therefore should not be allowed. If the sysctl
56501+ option is enabled, a sysctl option with name "chroot_deny_pivot" is
56502+ created.
56503+
56504+config GRKERNSEC_CHROOT_CHDIR
56505+ bool "Enforce chdir(\"/\") on all chroots"
56506+ depends on GRKERNSEC_CHROOT
56507+ help
56508+ If you say Y here, the current working directory of all newly-chrooted
56509+ applications will be set to the the root directory of the chroot.
56510+ The man page on chroot(2) states:
56511+ Note that this call does not change the current working
56512+ directory, so that `.' can be outside the tree rooted at
56513+ `/'. In particular, the super-user can escape from a
56514+ `chroot jail' by doing `mkdir foo; chroot foo; cd ..'.
56515+
56516+ It is recommended that you say Y here, since it's not known to break
56517+ any software. If the sysctl option is enabled, a sysctl option with
56518+ name "chroot_enforce_chdir" is created.
56519+
56520+config GRKERNSEC_CHROOT_CHMOD
56521+ bool "Deny (f)chmod +s"
56522+ depends on GRKERNSEC_CHROOT
56523+ help
56524+ If you say Y here, processes inside a chroot will not be able to chmod
56525+ or fchmod files to make them have suid or sgid bits. This protects
56526+ against another published method of breaking a chroot. If the sysctl
56527+ option is enabled, a sysctl option with name "chroot_deny_chmod" is
56528+ created.
56529+
56530+config GRKERNSEC_CHROOT_FCHDIR
56531+ bool "Deny fchdir out of chroot"
56532+ depends on GRKERNSEC_CHROOT
56533+ help
56534+ If you say Y here, a well-known method of breaking chroots by fchdir'ing
56535+ to a file descriptor of the chrooting process that points to a directory
56536+ outside the filesystem will be stopped. If the sysctl option
56537+ is enabled, a sysctl option with name "chroot_deny_fchdir" is created.
56538+
56539+config GRKERNSEC_CHROOT_MKNOD
56540+ bool "Deny mknod"
56541+ depends on GRKERNSEC_CHROOT
56542+ help
56543+ If you say Y here, processes inside a chroot will not be allowed to
56544+ mknod. The problem with using mknod inside a chroot is that it
56545+ would allow an attacker to create a device entry that is the same
56546+ as one on the physical root of your system, which could range from
56547+ anything from the console device to a device for your harddrive (which
56548+ they could then use to wipe the drive or steal data). It is recommended
56549+ that you say Y here, unless you run into software incompatibilities.
56550+ If the sysctl option is enabled, a sysctl option with name
56551+ "chroot_deny_mknod" is created.
56552+
56553+config GRKERNSEC_CHROOT_SHMAT
56554+ bool "Deny shmat() out of chroot"
56555+ depends on GRKERNSEC_CHROOT
56556+ help
56557+ If you say Y here, processes inside a chroot will not be able to attach
56558+ to shared memory segments that were created outside of the chroot jail.
56559+ It is recommended that you say Y here. If the sysctl option is enabled,
56560+ a sysctl option with name "chroot_deny_shmat" is created.
56561+
56562+config GRKERNSEC_CHROOT_UNIX
56563+ bool "Deny access to abstract AF_UNIX sockets out of chroot"
56564+ depends on GRKERNSEC_CHROOT
56565+ help
56566+ If you say Y here, processes inside a chroot will not be able to
56567+ connect to abstract (meaning not belonging to a filesystem) Unix
56568+ domain sockets that were bound outside of a chroot. It is recommended
56569+ that you say Y here. If the sysctl option is enabled, a sysctl option
56570+ with name "chroot_deny_unix" is created.
56571+
56572+config GRKERNSEC_CHROOT_FINDTASK
56573+ bool "Protect outside processes"
56574+ depends on GRKERNSEC_CHROOT
56575+ help
56576+ If you say Y here, processes inside a chroot will not be able to
56577+ kill, send signals with fcntl, ptrace, capget, getpgid, setpgid,
56578+ getsid, or view any process outside of the chroot. If the sysctl
56579+ option is enabled, a sysctl option with name "chroot_findtask" is
56580+ created.
56581+
56582+config GRKERNSEC_CHROOT_NICE
56583+ bool "Restrict priority changes"
56584+ depends on GRKERNSEC_CHROOT
56585+ help
56586+ If you say Y here, processes inside a chroot will not be able to raise
56587+ the priority of processes in the chroot, or alter the priority of
56588+ processes outside the chroot. This provides more security than simply
56589+ removing CAP_SYS_NICE from the process' capability set. If the
56590+ sysctl option is enabled, a sysctl option with name "chroot_restrict_nice"
56591+ is created.
56592+
56593+config GRKERNSEC_CHROOT_SYSCTL
56594+ bool "Deny sysctl writes"
56595+ depends on GRKERNSEC_CHROOT
56596+ help
56597+ If you say Y here, an attacker in a chroot will not be able to
56598+ write to sysctl entries, either by sysctl(2) or through a /proc
56599+ interface. It is strongly recommended that you say Y here. If the
56600+ sysctl option is enabled, a sysctl option with name
56601+ "chroot_deny_sysctl" is created.
56602+
56603+config GRKERNSEC_CHROOT_CAPS
56604+ bool "Capability restrictions"
56605+ depends on GRKERNSEC_CHROOT
56606+ help
56607+ If you say Y here, the capabilities on all processes within a
56608+ chroot jail will be lowered to stop module insertion, raw i/o,
56609+ system and net admin tasks, rebooting the system, modifying immutable
56610+ files, modifying IPC owned by another, and changing the system time.
56611+ This is left an option because it can break some apps. Disable this
56612+ if your chrooted apps are having problems performing those kinds of
56613+ tasks. If the sysctl option is enabled, a sysctl option with
56614+ name "chroot_caps" is created.
56615+
56616+endmenu
56617+menu "Kernel Auditing"
56618+depends on GRKERNSEC
56619+
56620+config GRKERNSEC_AUDIT_GROUP
56621+ bool "Single group for auditing"
56622+ help
56623+ If you say Y here, the exec, chdir, and (un)mount logging features
56624+ will only operate on a group you specify. This option is recommended
56625+ if you only want to watch certain users instead of having a large
56626+ amount of logs from the entire system. If the sysctl option is enabled,
56627+ a sysctl option with name "audit_group" is created.
56628+
56629+config GRKERNSEC_AUDIT_GID
56630+ int "GID for auditing"
56631+ depends on GRKERNSEC_AUDIT_GROUP
56632+ default 1007
56633+
56634+config GRKERNSEC_EXECLOG
56635+ bool "Exec logging"
56636+ help
56637+ If you say Y here, all execve() calls will be logged (since the
56638+ other exec*() calls are frontends to execve(), all execution
56639+ will be logged). Useful for shell-servers that like to keep track
56640+ of their users. If the sysctl option is enabled, a sysctl option with
56641+ name "exec_logging" is created.
56642+ WARNING: This option when enabled will produce a LOT of logs, especially
56643+ on an active system.
56644+
56645+config GRKERNSEC_RESLOG
56646+ bool "Resource logging"
56647+ help
56648+ If you say Y here, all attempts to overstep resource limits will
56649+ be logged with the resource name, the requested size, and the current
56650+ limit. It is highly recommended that you say Y here. If the sysctl
56651+ option is enabled, a sysctl option with name "resource_logging" is
56652+ created. If the RBAC system is enabled, the sysctl value is ignored.
56653+
56654+config GRKERNSEC_CHROOT_EXECLOG
56655+ bool "Log execs within chroot"
56656+ help
56657+ If you say Y here, all executions inside a chroot jail will be logged
56658+ to syslog. This can cause a large amount of logs if certain
56659+ applications (eg. djb's daemontools) are installed on the system, and
56660+ is therefore left as an option. If the sysctl option is enabled, a
56661+ sysctl option with name "chroot_execlog" is created.
56662+
56663+config GRKERNSEC_AUDIT_PTRACE
56664+ bool "Ptrace logging"
56665+ help
56666+ If you say Y here, all attempts to attach to a process via ptrace
56667+ will be logged. If the sysctl option is enabled, a sysctl option
56668+ with name "audit_ptrace" is created.
56669+
56670+config GRKERNSEC_AUDIT_CHDIR
56671+ bool "Chdir logging"
56672+ help
56673+ If you say Y here, all chdir() calls will be logged. If the sysctl
56674+ option is enabled, a sysctl option with name "audit_chdir" is created.
56675+
56676+config GRKERNSEC_AUDIT_MOUNT
56677+ bool "(Un)Mount logging"
56678+ help
56679+ If you say Y here, all mounts and unmounts will be logged. If the
56680+ sysctl option is enabled, a sysctl option with name "audit_mount" is
56681+ created.
56682+
56683+config GRKERNSEC_SIGNAL
56684+ bool "Signal logging"
56685+ help
56686+ If you say Y here, certain important signals will be logged, such as
56687+ SIGSEGV, which will as a result inform you of when a error in a program
56688+ occurred, which in some cases could mean a possible exploit attempt.
56689+ If the sysctl option is enabled, a sysctl option with name
56690+ "signal_logging" is created.
56691+
56692+config GRKERNSEC_FORKFAIL
56693+ bool "Fork failure logging"
56694+ help
56695+ If you say Y here, all failed fork() attempts will be logged.
56696+ This could suggest a fork bomb, or someone attempting to overstep
56697+ their process limit. If the sysctl option is enabled, a sysctl option
56698+ with name "forkfail_logging" is created.
56699+
56700+config GRKERNSEC_TIME
56701+ bool "Time change logging"
56702+ help
56703+ If you say Y here, any changes of the system clock will be logged.
56704+ If the sysctl option is enabled, a sysctl option with name
56705+ "timechange_logging" is created.
56706+
56707+config GRKERNSEC_PROC_IPADDR
56708+ bool "/proc/<pid>/ipaddr support"
56709+ help
56710+ If you say Y here, a new entry will be added to each /proc/<pid>
56711+ directory that contains the IP address of the person using the task.
56712+ The IP is carried across local TCP and AF_UNIX stream sockets.
56713+ This information can be useful for IDS/IPSes to perform remote response
56714+ to a local attack. The entry is readable by only the owner of the
56715+ process (and root if he has CAP_DAC_OVERRIDE, which can be removed via
56716+ the RBAC system), and thus does not create privacy concerns.
56717+
56718+config GRKERNSEC_RWXMAP_LOG
56719+ bool 'Denied RWX mmap/mprotect logging'
56720+ depends on PAX_MPROTECT && !PAX_EMUPLT && !PAX_EMUSIGRT
56721+ help
56722+ If you say Y here, calls to mmap() and mprotect() with explicit
56723+ usage of PROT_WRITE and PROT_EXEC together will be logged when
56724+ denied by the PAX_MPROTECT feature. If the sysctl option is
56725+ enabled, a sysctl option with name "rwxmap_logging" is created.
56726+
56727+config GRKERNSEC_AUDIT_TEXTREL
56728+ bool 'ELF text relocations logging (READ HELP)'
56729+ depends on PAX_MPROTECT
56730+ help
56731+ If you say Y here, text relocations will be logged with the filename
56732+ of the offending library or binary. The purpose of the feature is
56733+ to help Linux distribution developers get rid of libraries and
56734+ binaries that need text relocations which hinder the future progress
56735+ of PaX. Only Linux distribution developers should say Y here, and
56736+ never on a production machine, as this option creates an information
56737+ leak that could aid an attacker in defeating the randomization of
56738+ a single memory region. If the sysctl option is enabled, a sysctl
56739+ option with name "audit_textrel" is created.
56740+
56741+endmenu
56742+
56743+menu "Executable Protections"
56744+depends on GRKERNSEC
56745+
56746+config GRKERNSEC_DMESG
56747+ bool "Dmesg(8) restriction"
56748+ help
56749+ If you say Y here, non-root users will not be able to use dmesg(8)
56750+ to view up to the last 4kb of messages in the kernel's log buffer.
56751+ The kernel's log buffer often contains kernel addresses and other
56752+ identifying information useful to an attacker in fingerprinting a
56753+ system for a targeted exploit.
56754+ If the sysctl option is enabled, a sysctl option with name "dmesg" is
56755+ created.
56756+
56757+config GRKERNSEC_HARDEN_PTRACE
56758+ bool "Deter ptrace-based process snooping"
56759+ help
56760+ If you say Y here, TTY sniffers and other malicious monitoring
56761+ programs implemented through ptrace will be defeated. If you
56762+ have been using the RBAC system, this option has already been
56763+ enabled for several years for all users, with the ability to make
56764+ fine-grained exceptions.
56765+
56766+ This option only affects the ability of non-root users to ptrace
56767+ processes that are not a descendent of the ptracing process.
56768+ This means that strace ./binary and gdb ./binary will still work,
56769+ but attaching to arbitrary processes will not. If the sysctl
56770+ option is enabled, a sysctl option with name "harden_ptrace" is
56771+ created.
56772+
56773+config GRKERNSEC_TPE
56774+ bool "Trusted Path Execution (TPE)"
56775+ help
56776+ If you say Y here, you will be able to choose a gid to add to the
56777+ supplementary groups of users you want to mark as "untrusted."
56778+ These users will not be able to execute any files that are not in
56779+ root-owned directories writable only by root. If the sysctl option
56780+ is enabled, a sysctl option with name "tpe" is created.
56781+
56782+config GRKERNSEC_TPE_ALL
56783+ bool "Partially restrict all non-root users"
56784+ depends on GRKERNSEC_TPE
56785+ help
56786+ If you say Y here, all non-root users will be covered under
56787+ a weaker TPE restriction. This is separate from, and in addition to,
56788+ the main TPE options that you have selected elsewhere. Thus, if a
56789+ "trusted" GID is chosen, this restriction applies to even that GID.
56790+ Under this restriction, all non-root users will only be allowed to
56791+ execute files in directories they own that are not group or
56792+ world-writable, or in directories owned by root and writable only by
56793+ root. If the sysctl option is enabled, a sysctl option with name
56794+ "tpe_restrict_all" is created.
56795+
56796+config GRKERNSEC_TPE_INVERT
56797+ bool "Invert GID option"
56798+ depends on GRKERNSEC_TPE
56799+ help
56800+ If you say Y here, the group you specify in the TPE configuration will
56801+ decide what group TPE restrictions will be *disabled* for. This
56802+ option is useful if you want TPE restrictions to be applied to most
56803+ users on the system. If the sysctl option is enabled, a sysctl option
56804+ with name "tpe_invert" is created. Unlike other sysctl options, this
56805+ entry will default to on for backward-compatibility.
56806+
56807+config GRKERNSEC_TPE_GID
56808+ int "GID for untrusted users"
56809+ depends on GRKERNSEC_TPE && !GRKERNSEC_TPE_INVERT
56810+ default 1005
56811+ help
56812+ Setting this GID determines what group TPE restrictions will be
56813+ *enabled* for. If the sysctl option is enabled, a sysctl option
56814+ with name "tpe_gid" is created.
56815+
56816+config GRKERNSEC_TPE_GID
56817+ int "GID for trusted users"
56818+ depends on GRKERNSEC_TPE && GRKERNSEC_TPE_INVERT
56819+ default 1005
56820+ help
56821+ Setting this GID determines what group TPE restrictions will be
56822+ *disabled* for. If the sysctl option is enabled, a sysctl option
56823+ with name "tpe_gid" is created.
56824+
56825+endmenu
56826+menu "Network Protections"
56827+depends on GRKERNSEC
56828+
56829+config GRKERNSEC_RANDNET
56830+ bool "Larger entropy pools"
56831+ help
56832+ If you say Y here, the entropy pools used for many features of Linux
56833+ and grsecurity will be doubled in size. Since several grsecurity
56834+ features use additional randomness, it is recommended that you say Y
56835+ here. Saying Y here has a similar effect as modifying
56836+ /proc/sys/kernel/random/poolsize.
56837+
56838+config GRKERNSEC_BLACKHOLE
56839+ bool "TCP/UDP blackhole and LAST_ACK DoS prevention"
56840+ depends on NET
56841+ help
56842+ If you say Y here, neither TCP resets nor ICMP
56843+ destination-unreachable packets will be sent in response to packets
56844+ sent to ports for which no associated listening process exists.
56845+ This feature supports both IPV4 and IPV6 and exempts the
56846+ loopback interface from blackholing. Enabling this feature
56847+ makes a host more resilient to DoS attacks and reduces network
56848+ visibility against scanners.
56849+
56850+ The blackhole feature as-implemented is equivalent to the FreeBSD
56851+ blackhole feature, as it prevents RST responses to all packets, not
56852+ just SYNs. Under most application behavior this causes no
56853+ problems, but applications (like haproxy) may not close certain
56854+ connections in a way that cleanly terminates them on the remote
56855+ end, leaving the remote host in LAST_ACK state. Because of this
56856+ side-effect and to prevent intentional LAST_ACK DoSes, this
56857+ feature also adds automatic mitigation against such attacks.
56858+ The mitigation drastically reduces the amount of time a socket
56859+ can spend in LAST_ACK state. If you're using haproxy and not
56860+ all servers it connects to have this option enabled, consider
56861+ disabling this feature on the haproxy host.
56862+
56863+ If the sysctl option is enabled, two sysctl options with names
56864+ "ip_blackhole" and "lastack_retries" will be created.
56865+ While "ip_blackhole" takes the standard zero/non-zero on/off
56866+ toggle, "lastack_retries" uses the same kinds of values as
56867+ "tcp_retries1" and "tcp_retries2". The default value of 4
56868+ prevents a socket from lasting more than 45 seconds in LAST_ACK
56869+ state.
56870+
56871+config GRKERNSEC_SOCKET
56872+ bool "Socket restrictions"
56873+ depends on NET
56874+ help
56875+ If you say Y here, you will be able to choose from several options.
56876+ If you assign a GID on your system and add it to the supplementary
56877+ groups of users you want to restrict socket access to, this patch
56878+ will perform up to three things, based on the option(s) you choose.
56879+
56880+config GRKERNSEC_SOCKET_ALL
56881+ bool "Deny any sockets to group"
56882+ depends on GRKERNSEC_SOCKET
56883+ help
56884+ If you say Y here, you will be able to choose a GID of whose users will
56885+ be unable to connect to other hosts from your machine or run server
56886+ applications from your machine. If the sysctl option is enabled, a
56887+ sysctl option with name "socket_all" is created.
56888+
56889+config GRKERNSEC_SOCKET_ALL_GID
56890+ int "GID to deny all sockets for"
56891+ depends on GRKERNSEC_SOCKET_ALL
56892+ default 1004
56893+ help
56894+ Here you can choose the GID to disable socket access for. Remember to
56895+ add the users you want socket access disabled for to the GID
56896+ specified here. If the sysctl option is enabled, a sysctl option
56897+ with name "socket_all_gid" is created.
56898+
56899+config GRKERNSEC_SOCKET_CLIENT
56900+ bool "Deny client sockets to group"
56901+ depends on GRKERNSEC_SOCKET
56902+ help
56903+ If you say Y here, you will be able to choose a GID of whose users will
56904+ be unable to connect to other hosts from your machine, but will be
56905+ able to run servers. If this option is enabled, all users in the group
56906+ you specify will have to use passive mode when initiating ftp transfers
56907+ from the shell on your machine. If the sysctl option is enabled, a
56908+ sysctl option with name "socket_client" is created.
56909+
56910+config GRKERNSEC_SOCKET_CLIENT_GID
56911+ int "GID to deny client sockets for"
56912+ depends on GRKERNSEC_SOCKET_CLIENT
56913+ default 1003
56914+ help
56915+ Here you can choose the GID to disable client socket access for.
56916+ Remember to add the users you want client socket access disabled for to
56917+ the GID specified here. If the sysctl option is enabled, a sysctl
56918+ option with name "socket_client_gid" is created.
56919+
56920+config GRKERNSEC_SOCKET_SERVER
56921+ bool "Deny server sockets to group"
56922+ depends on GRKERNSEC_SOCKET
56923+ help
56924+ If you say Y here, you will be able to choose a GID of whose users will
56925+ be unable to run server applications from your machine. If the sysctl
56926+ option is enabled, a sysctl option with name "socket_server" is created.
56927+
56928+config GRKERNSEC_SOCKET_SERVER_GID
56929+ int "GID to deny server sockets for"
56930+ depends on GRKERNSEC_SOCKET_SERVER
56931+ default 1002
56932+ help
56933+ Here you can choose the GID to disable server socket access for.
56934+ Remember to add the users you want server socket access disabled for to
56935+ the GID specified here. If the sysctl option is enabled, a sysctl
56936+ option with name "socket_server_gid" is created.
56937+
56938+endmenu
56939+menu "Sysctl support"
56940+depends on GRKERNSEC && SYSCTL
56941+
56942+config GRKERNSEC_SYSCTL
56943+ bool "Sysctl support"
56944+ help
56945+ If you say Y here, you will be able to change the options that
56946+ grsecurity runs with at bootup, without having to recompile your
56947+ kernel. You can echo values to files in /proc/sys/kernel/grsecurity
56948+ to enable (1) or disable (0) various features. All the sysctl entries
56949+ are mutable until the "grsec_lock" entry is set to a non-zero value.
56950+ All features enabled in the kernel configuration are disabled at boot
56951+ if you do not say Y to the "Turn on features by default" option.
56952+ All options should be set at startup, and the grsec_lock entry should
56953+ be set to a non-zero value after all the options are set.
56954+ *THIS IS EXTREMELY IMPORTANT*
56955+
56956+config GRKERNSEC_SYSCTL_DISTRO
56957+ bool "Extra sysctl support for distro makers (READ HELP)"
56958+ depends on GRKERNSEC_SYSCTL && GRKERNSEC_IO
56959+ help
56960+ If you say Y here, additional sysctl options will be created
56961+ for features that affect processes running as root. Therefore,
56962+ it is critical when using this option that the grsec_lock entry be
56963+ enabled after boot. Only distros with prebuilt kernel packages
56964+ with this option enabled that can ensure grsec_lock is enabled
56965+ after boot should use this option.
56966+ *Failure to set grsec_lock after boot makes all grsec features
56967+ this option covers useless*
56968+
56969+ Currently this option creates the following sysctl entries:
56970+ "Disable Privileged I/O": "disable_priv_io"
56971+
56972+config GRKERNSEC_SYSCTL_ON
56973+ bool "Turn on features by default"
56974+ depends on GRKERNSEC_SYSCTL
56975+ help
56976+ If you say Y here, instead of having all features enabled in the
56977+ kernel configuration disabled at boot time, the features will be
56978+ enabled at boot time. It is recommended you say Y here unless
56979+ there is some reason you would want all sysctl-tunable features to
56980+ be disabled by default. As mentioned elsewhere, it is important
56981+ to enable the grsec_lock entry once you have finished modifying
56982+ the sysctl entries.
56983+
56984+endmenu
56985+menu "Logging Options"
56986+depends on GRKERNSEC
56987+
56988+config GRKERNSEC_FLOODTIME
56989+ int "Seconds in between log messages (minimum)"
56990+ default 10
56991+ help
56992+ This option allows you to enforce the number of seconds between
56993+ grsecurity log messages. The default should be suitable for most
56994+ people, however, if you choose to change it, choose a value small enough
56995+ to allow informative logs to be produced, but large enough to
56996+ prevent flooding.
56997+
56998+config GRKERNSEC_FLOODBURST
56999+ int "Number of messages in a burst (maximum)"
57000+ default 6
57001+ help
57002+ This option allows you to choose the maximum number of messages allowed
57003+ within the flood time interval you chose in a separate option. The
57004+ default should be suitable for most people, however if you find that
57005+ many of your logs are being interpreted as flooding, you may want to
57006+ raise this value.
57007+
57008+endmenu
57009+
57010+endmenu
57011diff -urNp linux-3.0.8/grsecurity/Makefile linux-3.0.8/grsecurity/Makefile
57012--- linux-3.0.8/grsecurity/Makefile 1969-12-31 19:00:00.000000000 -0500
57013+++ linux-3.0.8/grsecurity/Makefile 2011-10-17 06:45:43.000000000 -0400
57014@@ -0,0 +1,36 @@
57015+# grsecurity's ACL system was originally written in 2001 by Michael Dalton
57016+# during 2001-2009 it has been completely redesigned by Brad Spengler
57017+# into an RBAC system
57018+#
57019+# All code in this directory and various hooks inserted throughout the kernel
57020+# are copyright Brad Spengler - Open Source Security, Inc., and released
57021+# under the GPL v2 or higher
57022+
57023+obj-y = grsec_chdir.o grsec_chroot.o grsec_exec.o grsec_fifo.o grsec_fork.o \
57024+ grsec_mount.o grsec_sig.o grsec_sysctl.o \
57025+ grsec_time.o grsec_tpe.o grsec_link.o grsec_pax.o grsec_ptrace.o
57026+
57027+obj-$(CONFIG_GRKERNSEC) += grsec_init.o grsum.o gracl.o gracl_segv.o \
57028+ gracl_cap.o gracl_alloc.o gracl_shm.o grsec_mem.o gracl_fs.o \
57029+ gracl_learn.o grsec_log.o
57030+obj-$(CONFIG_GRKERNSEC_RESLOG) += gracl_res.o
57031+
57032+ifdef CONFIG_NET
57033+obj-y += grsec_sock.o
57034+obj-$(CONFIG_GRKERNSEC) += gracl_ip.o
57035+endif
57036+
57037+ifndef CONFIG_GRKERNSEC
57038+obj-y += grsec_disabled.o
57039+endif
57040+
57041+ifdef CONFIG_GRKERNSEC_HIDESYM
57042+extra-y := grsec_hidesym.o
57043+$(obj)/grsec_hidesym.o:
57044+ @-chmod -f 500 /boot
57045+ @-chmod -f 500 /lib/modules
57046+ @-chmod -f 500 /lib64/modules
57047+ @-chmod -f 500 /lib32/modules
57048+ @-chmod -f 700 .
57049+ @echo ' grsec: protected kernel image paths'
57050+endif
57051diff -urNp linux-3.0.8/include/acpi/acpi_bus.h linux-3.0.8/include/acpi/acpi_bus.h
57052--- linux-3.0.8/include/acpi/acpi_bus.h 2011-07-21 22:17:23.000000000 -0400
57053+++ linux-3.0.8/include/acpi/acpi_bus.h 2011-08-23 21:47:56.000000000 -0400
56686@@ -107,7 +107,7 @@ struct acpi_device_ops { 57054@@ -107,7 +107,7 @@ struct acpi_device_ops {
56687 acpi_op_bind bind; 57055 acpi_op_bind bind;
56688 acpi_op_unbind unbind; 57056 acpi_op_unbind unbind;
@@ -56692,9 +57060,9 @@ diff -urNp linux-3.0.7/include/acpi/acpi_bus.h linux-3.0.7/include/acpi/acpi_bus
56692 57060
56693 #define ACPI_DRIVER_ALL_NOTIFY_EVENTS 0x1 /* system AND device events */ 57061 #define ACPI_DRIVER_ALL_NOTIFY_EVENTS 0x1 /* system AND device events */
56694 57062
56695diff -urNp linux-3.0.7/include/asm-generic/atomic-long.h linux-3.0.7/include/asm-generic/atomic-long.h 57063diff -urNp linux-3.0.8/include/asm-generic/atomic-long.h linux-3.0.8/include/asm-generic/atomic-long.h
56696--- linux-3.0.7/include/asm-generic/atomic-long.h 2011-07-21 22:17:23.000000000 -0400 57064--- linux-3.0.8/include/asm-generic/atomic-long.h 2011-07-21 22:17:23.000000000 -0400
56697+++ linux-3.0.7/include/asm-generic/atomic-long.h 2011-08-23 21:47:56.000000000 -0400 57065+++ linux-3.0.8/include/asm-generic/atomic-long.h 2011-08-23 21:47:56.000000000 -0400
56698@@ -22,6 +22,12 @@ 57066@@ -22,6 +22,12 @@
56699 57067
56700 typedef atomic64_t atomic_long_t; 57068 typedef atomic64_t atomic_long_t;
@@ -56995,9 +57363,9 @@ diff -urNp linux-3.0.7/include/asm-generic/atomic-long.h linux-3.0.7/include/asm
56995+#endif 57363+#endif
56996+ 57364+
56997 #endif /* _ASM_GENERIC_ATOMIC_LONG_H */ 57365 #endif /* _ASM_GENERIC_ATOMIC_LONG_H */
56998diff -urNp linux-3.0.7/include/asm-generic/cache.h linux-3.0.7/include/asm-generic/cache.h 57366diff -urNp linux-3.0.8/include/asm-generic/cache.h linux-3.0.8/include/asm-generic/cache.h
56999--- linux-3.0.7/include/asm-generic/cache.h 2011-07-21 22:17:23.000000000 -0400 57367--- linux-3.0.8/include/asm-generic/cache.h 2011-07-21 22:17:23.000000000 -0400
57000+++ linux-3.0.7/include/asm-generic/cache.h 2011-08-23 21:47:56.000000000 -0400 57368+++ linux-3.0.8/include/asm-generic/cache.h 2011-08-23 21:47:56.000000000 -0400
57001@@ -6,7 +6,7 @@ 57369@@ -6,7 +6,7 @@
57002 * cache lines need to provide their own cache.h. 57370 * cache lines need to provide their own cache.h.
57003 */ 57371 */
@@ -57008,9 +57376,9 @@ diff -urNp linux-3.0.7/include/asm-generic/cache.h linux-3.0.7/include/asm-gener
57008+#define L1_CACHE_BYTES (1UL << L1_CACHE_SHIFT) 57376+#define L1_CACHE_BYTES (1UL << L1_CACHE_SHIFT)
57009 57377
57010 #endif /* __ASM_GENERIC_CACHE_H */ 57378 #endif /* __ASM_GENERIC_CACHE_H */
57011diff -urNp linux-3.0.7/include/asm-generic/int-l64.h linux-3.0.7/include/asm-generic/int-l64.h 57379diff -urNp linux-3.0.8/include/asm-generic/int-l64.h linux-3.0.8/include/asm-generic/int-l64.h
57012--- linux-3.0.7/include/asm-generic/int-l64.h 2011-07-21 22:17:23.000000000 -0400 57380--- linux-3.0.8/include/asm-generic/int-l64.h 2011-07-21 22:17:23.000000000 -0400
57013+++ linux-3.0.7/include/asm-generic/int-l64.h 2011-08-23 21:47:56.000000000 -0400 57381+++ linux-3.0.8/include/asm-generic/int-l64.h 2011-08-23 21:47:56.000000000 -0400
57014@@ -46,6 +46,8 @@ typedef unsigned int u32; 57382@@ -46,6 +46,8 @@ typedef unsigned int u32;
57015 typedef signed long s64; 57383 typedef signed long s64;
57016 typedef unsigned long u64; 57384 typedef unsigned long u64;
@@ -57020,9 +57388,9 @@ diff -urNp linux-3.0.7/include/asm-generic/int-l64.h linux-3.0.7/include/asm-gen
57020 #define S8_C(x) x 57388 #define S8_C(x) x
57021 #define U8_C(x) x ## U 57389 #define U8_C(x) x ## U
57022 #define S16_C(x) x 57390 #define S16_C(x) x
57023diff -urNp linux-3.0.7/include/asm-generic/int-ll64.h linux-3.0.7/include/asm-generic/int-ll64.h 57391diff -urNp linux-3.0.8/include/asm-generic/int-ll64.h linux-3.0.8/include/asm-generic/int-ll64.h
57024--- linux-3.0.7/include/asm-generic/int-ll64.h 2011-07-21 22:17:23.000000000 -0400 57392--- linux-3.0.8/include/asm-generic/int-ll64.h 2011-07-21 22:17:23.000000000 -0400
57025+++ linux-3.0.7/include/asm-generic/int-ll64.h 2011-08-23 21:47:56.000000000 -0400 57393+++ linux-3.0.8/include/asm-generic/int-ll64.h 2011-08-23 21:47:56.000000000 -0400
57026@@ -51,6 +51,8 @@ typedef unsigned int u32; 57394@@ -51,6 +51,8 @@ typedef unsigned int u32;
57027 typedef signed long long s64; 57395 typedef signed long long s64;
57028 typedef unsigned long long u64; 57396 typedef unsigned long long u64;
@@ -57032,9 +57400,9 @@ diff -urNp linux-3.0.7/include/asm-generic/int-ll64.h linux-3.0.7/include/asm-ge
57032 #define S8_C(x) x 57400 #define S8_C(x) x
57033 #define U8_C(x) x ## U 57401 #define U8_C(x) x ## U
57034 #define S16_C(x) x 57402 #define S16_C(x) x
57035diff -urNp linux-3.0.7/include/asm-generic/kmap_types.h linux-3.0.7/include/asm-generic/kmap_types.h 57403diff -urNp linux-3.0.8/include/asm-generic/kmap_types.h linux-3.0.8/include/asm-generic/kmap_types.h
57036--- linux-3.0.7/include/asm-generic/kmap_types.h 2011-07-21 22:17:23.000000000 -0400 57404--- linux-3.0.8/include/asm-generic/kmap_types.h 2011-07-21 22:17:23.000000000 -0400
57037+++ linux-3.0.7/include/asm-generic/kmap_types.h 2011-08-23 21:47:56.000000000 -0400 57405+++ linux-3.0.8/include/asm-generic/kmap_types.h 2011-08-23 21:47:56.000000000 -0400
57038@@ -29,10 +29,11 @@ KMAP_D(16) KM_IRQ_PTE, 57406@@ -29,10 +29,11 @@ KMAP_D(16) KM_IRQ_PTE,
57039 KMAP_D(17) KM_NMI, 57407 KMAP_D(17) KM_NMI,
57040 KMAP_D(18) KM_NMI_PTE, 57408 KMAP_D(18) KM_NMI_PTE,
@@ -57048,9 +57416,27 @@ diff -urNp linux-3.0.7/include/asm-generic/kmap_types.h linux-3.0.7/include/asm-
57048 }; 57416 };
57049 57417
57050 #undef KMAP_D 57418 #undef KMAP_D
57051diff -urNp linux-3.0.7/include/asm-generic/pgtable-nopmd.h linux-3.0.7/include/asm-generic/pgtable-nopmd.h 57419diff -urNp linux-3.0.8/include/asm-generic/pgtable.h linux-3.0.8/include/asm-generic/pgtable.h
57052--- linux-3.0.7/include/asm-generic/pgtable-nopmd.h 2011-07-21 22:17:23.000000000 -0400 57420--- linux-3.0.8/include/asm-generic/pgtable.h 2011-07-21 22:17:23.000000000 -0400
57053+++ linux-3.0.7/include/asm-generic/pgtable-nopmd.h 2011-08-23 21:47:56.000000000 -0400 57421+++ linux-3.0.8/include/asm-generic/pgtable.h 2011-08-23 21:47:56.000000000 -0400
57422@@ -443,6 +443,14 @@ static inline int pmd_write(pmd_t pmd)
57423 #endif /* __HAVE_ARCH_PMD_WRITE */
57424 #endif
57425
57426+#ifndef __HAVE_ARCH_PAX_OPEN_KERNEL
57427+static inline unsigned long pax_open_kernel(void) { return 0; }
57428+#endif
57429+
57430+#ifndef __HAVE_ARCH_PAX_CLOSE_KERNEL
57431+static inline unsigned long pax_close_kernel(void) { return 0; }
57432+#endif
57433+
57434 #endif /* !__ASSEMBLY__ */
57435
57436 #endif /* _ASM_GENERIC_PGTABLE_H */
57437diff -urNp linux-3.0.8/include/asm-generic/pgtable-nopmd.h linux-3.0.8/include/asm-generic/pgtable-nopmd.h
57438--- linux-3.0.8/include/asm-generic/pgtable-nopmd.h 2011-07-21 22:17:23.000000000 -0400
57439+++ linux-3.0.8/include/asm-generic/pgtable-nopmd.h 2011-08-23 21:47:56.000000000 -0400
57054@@ -1,14 +1,19 @@ 57440@@ -1,14 +1,19 @@
57055 #ifndef _PGTABLE_NOPMD_H 57441 #ifndef _PGTABLE_NOPMD_H
57056 #define _PGTABLE_NOPMD_H 57442 #define _PGTABLE_NOPMD_H
@@ -57087,9 +57473,9 @@ diff -urNp linux-3.0.7/include/asm-generic/pgtable-nopmd.h linux-3.0.7/include/a
57087 /* 57473 /*
57088 * The "pud_xxx()" functions here are trivial for a folded two-level 57474 * The "pud_xxx()" functions here are trivial for a folded two-level
57089 * setup: the pmd is never bad, and a pmd always exists (as it's folded 57475 * setup: the pmd is never bad, and a pmd always exists (as it's folded
57090diff -urNp linux-3.0.7/include/asm-generic/pgtable-nopud.h linux-3.0.7/include/asm-generic/pgtable-nopud.h 57476diff -urNp linux-3.0.8/include/asm-generic/pgtable-nopud.h linux-3.0.8/include/asm-generic/pgtable-nopud.h
57091--- linux-3.0.7/include/asm-generic/pgtable-nopud.h 2011-07-21 22:17:23.000000000 -0400 57477--- linux-3.0.8/include/asm-generic/pgtable-nopud.h 2011-07-21 22:17:23.000000000 -0400
57092+++ linux-3.0.7/include/asm-generic/pgtable-nopud.h 2011-08-23 21:47:56.000000000 -0400 57478+++ linux-3.0.8/include/asm-generic/pgtable-nopud.h 2011-08-23 21:47:56.000000000 -0400
57093@@ -1,10 +1,15 @@ 57479@@ -1,10 +1,15 @@
57094 #ifndef _PGTABLE_NOPUD_H 57480 #ifndef _PGTABLE_NOPUD_H
57095 #define _PGTABLE_NOPUD_H 57481 #define _PGTABLE_NOPUD_H
@@ -57120,27 +57506,9 @@ diff -urNp linux-3.0.7/include/asm-generic/pgtable-nopud.h linux-3.0.7/include/a
57120 /* 57506 /*
57121 * The "pgd_xxx()" functions here are trivial for a folded two-level 57507 * The "pgd_xxx()" functions here are trivial for a folded two-level
57122 * setup: the pud is never bad, and a pud always exists (as it's folded 57508 * setup: the pud is never bad, and a pud always exists (as it's folded
57123diff -urNp linux-3.0.7/include/asm-generic/pgtable.h linux-3.0.7/include/asm-generic/pgtable.h 57509diff -urNp linux-3.0.8/include/asm-generic/vmlinux.lds.h linux-3.0.8/include/asm-generic/vmlinux.lds.h
57124--- linux-3.0.7/include/asm-generic/pgtable.h 2011-07-21 22:17:23.000000000 -0400 57510--- linux-3.0.8/include/asm-generic/vmlinux.lds.h 2011-07-21 22:17:23.000000000 -0400
57125+++ linux-3.0.7/include/asm-generic/pgtable.h 2011-08-23 21:47:56.000000000 -0400 57511+++ linux-3.0.8/include/asm-generic/vmlinux.lds.h 2011-08-23 21:47:56.000000000 -0400
57126@@ -443,6 +443,14 @@ static inline int pmd_write(pmd_t pmd)
57127 #endif /* __HAVE_ARCH_PMD_WRITE */
57128 #endif
57129
57130+#ifndef __HAVE_ARCH_PAX_OPEN_KERNEL
57131+static inline unsigned long pax_open_kernel(void) { return 0; }
57132+#endif
57133+
57134+#ifndef __HAVE_ARCH_PAX_CLOSE_KERNEL
57135+static inline unsigned long pax_close_kernel(void) { return 0; }
57136+#endif
57137+
57138 #endif /* !__ASSEMBLY__ */
57139
57140 #endif /* _ASM_GENERIC_PGTABLE_H */
57141diff -urNp linux-3.0.7/include/asm-generic/vmlinux.lds.h linux-3.0.7/include/asm-generic/vmlinux.lds.h
57142--- linux-3.0.7/include/asm-generic/vmlinux.lds.h 2011-07-21 22:17:23.000000000 -0400
57143+++ linux-3.0.7/include/asm-generic/vmlinux.lds.h 2011-08-23 21:47:56.000000000 -0400
57144@@ -217,6 +217,7 @@ 57512@@ -217,6 +217,7 @@
57145 .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \ 57513 .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \
57146 VMLINUX_SYMBOL(__start_rodata) = .; \ 57514 VMLINUX_SYMBOL(__start_rodata) = .; \
@@ -57172,9 +57540,30 @@ diff -urNp linux-3.0.7/include/asm-generic/vmlinux.lds.h linux-3.0.7/include/asm
57172 57540
57173 /** 57541 /**
57174 * PERCPU_SECTION - define output section for percpu area, simple version 57542 * PERCPU_SECTION - define output section for percpu area, simple version
57175diff -urNp linux-3.0.7/include/drm/drmP.h linux-3.0.7/include/drm/drmP.h 57543diff -urNp linux-3.0.8/include/drm/drm_crtc_helper.h linux-3.0.8/include/drm/drm_crtc_helper.h
57176--- linux-3.0.7/include/drm/drmP.h 2011-07-21 22:17:23.000000000 -0400 57544--- linux-3.0.8/include/drm/drm_crtc_helper.h 2011-07-21 22:17:23.000000000 -0400
57177+++ linux-3.0.7/include/drm/drmP.h 2011-08-23 21:47:56.000000000 -0400 57545+++ linux-3.0.8/include/drm/drm_crtc_helper.h 2011-08-23 21:47:56.000000000 -0400
57546@@ -74,7 +74,7 @@ struct drm_crtc_helper_funcs {
57547
57548 /* disable crtc when not in use - more explicit than dpms off */
57549 void (*disable)(struct drm_crtc *crtc);
57550-};
57551+} __no_const;
57552
57553 struct drm_encoder_helper_funcs {
57554 void (*dpms)(struct drm_encoder *encoder, int mode);
57555@@ -95,7 +95,7 @@ struct drm_encoder_helper_funcs {
57556 struct drm_connector *connector);
57557 /* disable encoder when not in use - more explicit than dpms off */
57558 void (*disable)(struct drm_encoder *encoder);
57559-};
57560+} __no_const;
57561
57562 struct drm_connector_helper_funcs {
57563 int (*get_modes)(struct drm_connector *connector);
57564diff -urNp linux-3.0.8/include/drm/drmP.h linux-3.0.8/include/drm/drmP.h
57565--- linux-3.0.8/include/drm/drmP.h 2011-07-21 22:17:23.000000000 -0400
57566+++ linux-3.0.8/include/drm/drmP.h 2011-08-23 21:47:56.000000000 -0400
57178@@ -73,6 +73,7 @@ 57567@@ -73,6 +73,7 @@
57179 #include <linux/workqueue.h> 57568 #include <linux/workqueue.h>
57180 #include <linux/poll.h> 57569 #include <linux/poll.h>
@@ -57201,30 +57590,9 @@ diff -urNp linux-3.0.7/include/drm/drmP.h linux-3.0.7/include/drm/drmP.h
57201 /*@} */ 57590 /*@} */
57202 57591
57203 struct list_head filelist; 57592 struct list_head filelist;
57204diff -urNp linux-3.0.7/include/drm/drm_crtc_helper.h linux-3.0.7/include/drm/drm_crtc_helper.h 57593diff -urNp linux-3.0.8/include/drm/ttm/ttm_memory.h linux-3.0.8/include/drm/ttm/ttm_memory.h
57205--- linux-3.0.7/include/drm/drm_crtc_helper.h 2011-07-21 22:17:23.000000000 -0400 57594--- linux-3.0.8/include/drm/ttm/ttm_memory.h 2011-07-21 22:17:23.000000000 -0400
57206+++ linux-3.0.7/include/drm/drm_crtc_helper.h 2011-08-23 21:47:56.000000000 -0400 57595+++ linux-3.0.8/include/drm/ttm/ttm_memory.h 2011-08-23 21:47:56.000000000 -0400
57207@@ -74,7 +74,7 @@ struct drm_crtc_helper_funcs {
57208
57209 /* disable crtc when not in use - more explicit than dpms off */
57210 void (*disable)(struct drm_crtc *crtc);
57211-};
57212+} __no_const;
57213
57214 struct drm_encoder_helper_funcs {
57215 void (*dpms)(struct drm_encoder *encoder, int mode);
57216@@ -95,7 +95,7 @@ struct drm_encoder_helper_funcs {
57217 struct drm_connector *connector);
57218 /* disable encoder when not in use - more explicit than dpms off */
57219 void (*disable)(struct drm_encoder *encoder);
57220-};
57221+} __no_const;
57222
57223 struct drm_connector_helper_funcs {
57224 int (*get_modes)(struct drm_connector *connector);
57225diff -urNp linux-3.0.7/include/drm/ttm/ttm_memory.h linux-3.0.7/include/drm/ttm/ttm_memory.h
57226--- linux-3.0.7/include/drm/ttm/ttm_memory.h 2011-07-21 22:17:23.000000000 -0400
57227+++ linux-3.0.7/include/drm/ttm/ttm_memory.h 2011-08-23 21:47:56.000000000 -0400
57228@@ -47,7 +47,7 @@ 57596@@ -47,7 +47,7 @@
57229 57597
57230 struct ttm_mem_shrink { 57598 struct ttm_mem_shrink {
@@ -57234,9 +57602,9 @@ diff -urNp linux-3.0.7/include/drm/ttm/ttm_memory.h linux-3.0.7/include/drm/ttm/
57234 57602
57235 /** 57603 /**
57236 * struct ttm_mem_global - Global memory accounting structure. 57604 * struct ttm_mem_global - Global memory accounting structure.
57237diff -urNp linux-3.0.7/include/linux/a.out.h linux-3.0.7/include/linux/a.out.h 57605diff -urNp linux-3.0.8/include/linux/a.out.h linux-3.0.8/include/linux/a.out.h
57238--- linux-3.0.7/include/linux/a.out.h 2011-07-21 22:17:23.000000000 -0400 57606--- linux-3.0.8/include/linux/a.out.h 2011-07-21 22:17:23.000000000 -0400
57239+++ linux-3.0.7/include/linux/a.out.h 2011-08-23 21:47:56.000000000 -0400 57607+++ linux-3.0.8/include/linux/a.out.h 2011-08-23 21:47:56.000000000 -0400
57240@@ -39,6 +39,14 @@ enum machine_type { 57608@@ -39,6 +39,14 @@ enum machine_type {
57241 M_MIPS2 = 152 /* MIPS R6000/R4000 binary */ 57609 M_MIPS2 = 152 /* MIPS R6000/R4000 binary */
57242 }; 57610 };
@@ -57252,9 +57620,9 @@ diff -urNp linux-3.0.7/include/linux/a.out.h linux-3.0.7/include/linux/a.out.h
57252 #if !defined (N_MAGIC) 57620 #if !defined (N_MAGIC)
57253 #define N_MAGIC(exec) ((exec).a_info & 0xffff) 57621 #define N_MAGIC(exec) ((exec).a_info & 0xffff)
57254 #endif 57622 #endif
57255diff -urNp linux-3.0.7/include/linux/atmdev.h linux-3.0.7/include/linux/atmdev.h 57623diff -urNp linux-3.0.8/include/linux/atmdev.h linux-3.0.8/include/linux/atmdev.h
57256--- linux-3.0.7/include/linux/atmdev.h 2011-07-21 22:17:23.000000000 -0400 57624--- linux-3.0.8/include/linux/atmdev.h 2011-07-21 22:17:23.000000000 -0400
57257+++ linux-3.0.7/include/linux/atmdev.h 2011-08-23 21:47:56.000000000 -0400 57625+++ linux-3.0.8/include/linux/atmdev.h 2011-08-23 21:47:56.000000000 -0400
57258@@ -237,7 +237,7 @@ struct compat_atm_iobuf { 57626@@ -237,7 +237,7 @@ struct compat_atm_iobuf {
57259 #endif 57627 #endif
57260 57628
@@ -57264,9 +57632,9 @@ diff -urNp linux-3.0.7/include/linux/atmdev.h linux-3.0.7/include/linux/atmdev.h
57264 __AAL_STAT_ITEMS 57632 __AAL_STAT_ITEMS
57265 #undef __HANDLE_ITEM 57633 #undef __HANDLE_ITEM
57266 }; 57634 };
57267diff -urNp linux-3.0.7/include/linux/binfmts.h linux-3.0.7/include/linux/binfmts.h 57635diff -urNp linux-3.0.8/include/linux/binfmts.h linux-3.0.8/include/linux/binfmts.h
57268--- linux-3.0.7/include/linux/binfmts.h 2011-07-21 22:17:23.000000000 -0400 57636--- linux-3.0.8/include/linux/binfmts.h 2011-07-21 22:17:23.000000000 -0400
57269+++ linux-3.0.7/include/linux/binfmts.h 2011-08-23 21:47:56.000000000 -0400 57637+++ linux-3.0.8/include/linux/binfmts.h 2011-08-23 21:47:56.000000000 -0400
57270@@ -88,6 +88,7 @@ struct linux_binfmt { 57638@@ -88,6 +88,7 @@ struct linux_binfmt {
57271 int (*load_binary)(struct linux_binprm *, struct pt_regs * regs); 57639 int (*load_binary)(struct linux_binprm *, struct pt_regs * regs);
57272 int (*load_shlib)(struct file *); 57640 int (*load_shlib)(struct file *);
@@ -57275,9 +57643,9 @@ diff -urNp linux-3.0.7/include/linux/binfmts.h linux-3.0.7/include/linux/binfmts
57275 unsigned long min_coredump; /* minimal dump size */ 57643 unsigned long min_coredump; /* minimal dump size */
57276 }; 57644 };
57277 57645
57278diff -urNp linux-3.0.7/include/linux/blkdev.h linux-3.0.7/include/linux/blkdev.h 57646diff -urNp linux-3.0.8/include/linux/blkdev.h linux-3.0.8/include/linux/blkdev.h
57279--- linux-3.0.7/include/linux/blkdev.h 2011-07-21 22:17:23.000000000 -0400 57647--- linux-3.0.8/include/linux/blkdev.h 2011-07-21 22:17:23.000000000 -0400
57280+++ linux-3.0.7/include/linux/blkdev.h 2011-08-26 19:49:56.000000000 -0400 57648+++ linux-3.0.8/include/linux/blkdev.h 2011-08-26 19:49:56.000000000 -0400
57281@@ -1308,7 +1308,7 @@ struct block_device_operations { 57649@@ -1308,7 +1308,7 @@ struct block_device_operations {
57282 /* this callback is with swap_lock and sometimes page table lock held */ 57650 /* this callback is with swap_lock and sometimes page table lock held */
57283 void (*swap_slot_free_notify) (struct block_device *, unsigned long); 57651 void (*swap_slot_free_notify) (struct block_device *, unsigned long);
@@ -57287,9 +57655,9 @@ diff -urNp linux-3.0.7/include/linux/blkdev.h linux-3.0.7/include/linux/blkdev.h
57287 57655
57288 extern int __blkdev_driver_ioctl(struct block_device *, fmode_t, unsigned int, 57656 extern int __blkdev_driver_ioctl(struct block_device *, fmode_t, unsigned int,
57289 unsigned long); 57657 unsigned long);
57290diff -urNp linux-3.0.7/include/linux/blktrace_api.h linux-3.0.7/include/linux/blktrace_api.h 57658diff -urNp linux-3.0.8/include/linux/blktrace_api.h linux-3.0.8/include/linux/blktrace_api.h
57291--- linux-3.0.7/include/linux/blktrace_api.h 2011-07-21 22:17:23.000000000 -0400 57659--- linux-3.0.8/include/linux/blktrace_api.h 2011-07-21 22:17:23.000000000 -0400
57292+++ linux-3.0.7/include/linux/blktrace_api.h 2011-08-23 21:47:56.000000000 -0400 57660+++ linux-3.0.8/include/linux/blktrace_api.h 2011-08-23 21:47:56.000000000 -0400
57293@@ -161,7 +161,7 @@ struct blk_trace { 57661@@ -161,7 +161,7 @@ struct blk_trace {
57294 struct dentry *dir; 57662 struct dentry *dir;
57295 struct dentry *dropped_file; 57663 struct dentry *dropped_file;
@@ -57299,9 +57667,9 @@ diff -urNp linux-3.0.7/include/linux/blktrace_api.h linux-3.0.7/include/linux/bl
57299 }; 57667 };
57300 57668
57301 extern int blk_trace_ioctl(struct block_device *, unsigned, char __user *); 57669 extern int blk_trace_ioctl(struct block_device *, unsigned, char __user *);
57302diff -urNp linux-3.0.7/include/linux/byteorder/little_endian.h linux-3.0.7/include/linux/byteorder/little_endian.h 57670diff -urNp linux-3.0.8/include/linux/byteorder/little_endian.h linux-3.0.8/include/linux/byteorder/little_endian.h
57303--- linux-3.0.7/include/linux/byteorder/little_endian.h 2011-07-21 22:17:23.000000000 -0400 57671--- linux-3.0.8/include/linux/byteorder/little_endian.h 2011-07-21 22:17:23.000000000 -0400
57304+++ linux-3.0.7/include/linux/byteorder/little_endian.h 2011-08-23 21:47:56.000000000 -0400 57672+++ linux-3.0.8/include/linux/byteorder/little_endian.h 2011-08-23 21:47:56.000000000 -0400
57305@@ -42,51 +42,51 @@ 57673@@ -42,51 +42,51 @@
57306 57674
57307 static inline __le64 __cpu_to_le64p(const __u64 *p) 57675 static inline __le64 __cpu_to_le64p(const __u64 *p)
@@ -57366,9 +57734,9 @@ diff -urNp linux-3.0.7/include/linux/byteorder/little_endian.h linux-3.0.7/inclu
57366 } 57734 }
57367 #define __cpu_to_le64s(x) do { (void)(x); } while (0) 57735 #define __cpu_to_le64s(x) do { (void)(x); } while (0)
57368 #define __le64_to_cpus(x) do { (void)(x); } while (0) 57736 #define __le64_to_cpus(x) do { (void)(x); } while (0)
57369diff -urNp linux-3.0.7/include/linux/cache.h linux-3.0.7/include/linux/cache.h 57737diff -urNp linux-3.0.8/include/linux/cache.h linux-3.0.8/include/linux/cache.h
57370--- linux-3.0.7/include/linux/cache.h 2011-07-21 22:17:23.000000000 -0400 57738--- linux-3.0.8/include/linux/cache.h 2011-07-21 22:17:23.000000000 -0400
57371+++ linux-3.0.7/include/linux/cache.h 2011-08-23 21:47:56.000000000 -0400 57739+++ linux-3.0.8/include/linux/cache.h 2011-08-23 21:47:56.000000000 -0400
57372@@ -16,6 +16,10 @@ 57740@@ -16,6 +16,10 @@
57373 #define __read_mostly 57741 #define __read_mostly
57374 #endif 57742 #endif
@@ -57380,9 +57748,9 @@ diff -urNp linux-3.0.7/include/linux/cache.h linux-3.0.7/include/linux/cache.h
57380 #ifndef ____cacheline_aligned 57748 #ifndef ____cacheline_aligned
57381 #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES))) 57749 #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
57382 #endif 57750 #endif
57383diff -urNp linux-3.0.7/include/linux/capability.h linux-3.0.7/include/linux/capability.h 57751diff -urNp linux-3.0.8/include/linux/capability.h linux-3.0.8/include/linux/capability.h
57384--- linux-3.0.7/include/linux/capability.h 2011-07-21 22:17:23.000000000 -0400 57752--- linux-3.0.8/include/linux/capability.h 2011-07-21 22:17:23.000000000 -0400
57385+++ linux-3.0.7/include/linux/capability.h 2011-08-23 21:48:14.000000000 -0400 57753+++ linux-3.0.8/include/linux/capability.h 2011-08-23 21:48:14.000000000 -0400
57386@@ -547,6 +547,9 @@ extern bool capable(int cap); 57754@@ -547,6 +547,9 @@ extern bool capable(int cap);
57387 extern bool ns_capable(struct user_namespace *ns, int cap); 57755 extern bool ns_capable(struct user_namespace *ns, int cap);
57388 extern bool task_ns_capable(struct task_struct *t, int cap); 57756 extern bool task_ns_capable(struct task_struct *t, int cap);
@@ -57393,9 +57761,9 @@ diff -urNp linux-3.0.7/include/linux/capability.h linux-3.0.7/include/linux/capa
57393 57761
57394 /* audit system wants to get cap info from files as well */ 57762 /* audit system wants to get cap info from files as well */
57395 extern int get_vfs_caps_from_disk(const struct dentry *dentry, struct cpu_vfs_cap_data *cpu_caps); 57763 extern int get_vfs_caps_from_disk(const struct dentry *dentry, struct cpu_vfs_cap_data *cpu_caps);
57396diff -urNp linux-3.0.7/include/linux/cleancache.h linux-3.0.7/include/linux/cleancache.h 57764diff -urNp linux-3.0.8/include/linux/cleancache.h linux-3.0.8/include/linux/cleancache.h
57397--- linux-3.0.7/include/linux/cleancache.h 2011-07-21 22:17:23.000000000 -0400 57765--- linux-3.0.8/include/linux/cleancache.h 2011-07-21 22:17:23.000000000 -0400
57398+++ linux-3.0.7/include/linux/cleancache.h 2011-08-23 21:47:56.000000000 -0400 57766+++ linux-3.0.8/include/linux/cleancache.h 2011-08-23 21:47:56.000000000 -0400
57399@@ -31,7 +31,7 @@ struct cleancache_ops { 57767@@ -31,7 +31,7 @@ struct cleancache_ops {
57400 void (*flush_page)(int, struct cleancache_filekey, pgoff_t); 57768 void (*flush_page)(int, struct cleancache_filekey, pgoff_t);
57401 void (*flush_inode)(int, struct cleancache_filekey); 57769 void (*flush_inode)(int, struct cleancache_filekey);
@@ -57405,9 +57773,9 @@ diff -urNp linux-3.0.7/include/linux/cleancache.h linux-3.0.7/include/linux/clea
57405 57773
57406 extern struct cleancache_ops 57774 extern struct cleancache_ops
57407 cleancache_register_ops(struct cleancache_ops *ops); 57775 cleancache_register_ops(struct cleancache_ops *ops);
57408diff -urNp linux-3.0.7/include/linux/compiler-gcc4.h linux-3.0.7/include/linux/compiler-gcc4.h 57776diff -urNp linux-3.0.8/include/linux/compiler-gcc4.h linux-3.0.8/include/linux/compiler-gcc4.h
57409--- linux-3.0.7/include/linux/compiler-gcc4.h 2011-07-21 22:17:23.000000000 -0400 57777--- linux-3.0.8/include/linux/compiler-gcc4.h 2011-07-21 22:17:23.000000000 -0400
57410+++ linux-3.0.7/include/linux/compiler-gcc4.h 2011-08-26 19:49:56.000000000 -0400 57778+++ linux-3.0.8/include/linux/compiler-gcc4.h 2011-08-26 19:49:56.000000000 -0400
57411@@ -31,6 +31,12 @@ 57779@@ -31,6 +31,12 @@
57412 57780
57413 57781
@@ -57433,9 +57801,9 @@ diff -urNp linux-3.0.7/include/linux/compiler-gcc4.h linux-3.0.7/include/linux/c
57433 #endif 57801 #endif
57434 57802
57435 #if __GNUC_MINOR__ > 0 57803 #if __GNUC_MINOR__ > 0
57436diff -urNp linux-3.0.7/include/linux/compiler.h linux-3.0.7/include/linux/compiler.h 57804diff -urNp linux-3.0.8/include/linux/compiler.h linux-3.0.8/include/linux/compiler.h
57437--- linux-3.0.7/include/linux/compiler.h 2011-07-21 22:17:23.000000000 -0400 57805--- linux-3.0.8/include/linux/compiler.h 2011-07-21 22:17:23.000000000 -0400
57438+++ linux-3.0.7/include/linux/compiler.h 2011-10-06 04:17:55.000000000 -0400 57806+++ linux-3.0.8/include/linux/compiler.h 2011-10-06 04:17:55.000000000 -0400
57439@@ -5,31 +5,62 @@ 57807@@ -5,31 +5,62 @@
57440 57808
57441 #ifdef __CHECKER__ 57809 #ifdef __CHECKER__
@@ -57556,9 +57924,9 @@ diff -urNp linux-3.0.7/include/linux/compiler.h linux-3.0.7/include/linux/compil
57556+#define ACCESS_ONCE_RW(x) (*(volatile typeof(x) *)&(x)) 57924+#define ACCESS_ONCE_RW(x) (*(volatile typeof(x) *)&(x))
57557 57925
57558 #endif /* __LINUX_COMPILER_H */ 57926 #endif /* __LINUX_COMPILER_H */
57559diff -urNp linux-3.0.7/include/linux/cpuset.h linux-3.0.7/include/linux/cpuset.h 57927diff -urNp linux-3.0.8/include/linux/cpuset.h linux-3.0.8/include/linux/cpuset.h
57560--- linux-3.0.7/include/linux/cpuset.h 2011-07-21 22:17:23.000000000 -0400 57928--- linux-3.0.8/include/linux/cpuset.h 2011-07-21 22:17:23.000000000 -0400
57561+++ linux-3.0.7/include/linux/cpuset.h 2011-08-23 21:47:56.000000000 -0400 57929+++ linux-3.0.8/include/linux/cpuset.h 2011-08-23 21:47:56.000000000 -0400
57562@@ -118,7 +118,7 @@ static inline void put_mems_allowed(void 57930@@ -118,7 +118,7 @@ static inline void put_mems_allowed(void
57563 * nodemask. 57931 * nodemask.
57564 */ 57932 */
@@ -57568,9 +57936,9 @@ diff -urNp linux-3.0.7/include/linux/cpuset.h linux-3.0.7/include/linux/cpuset.h
57568 } 57936 }
57569 57937
57570 static inline void set_mems_allowed(nodemask_t nodemask) 57938 static inline void set_mems_allowed(nodemask_t nodemask)
57571diff -urNp linux-3.0.7/include/linux/crypto.h linux-3.0.7/include/linux/crypto.h 57939diff -urNp linux-3.0.8/include/linux/crypto.h linux-3.0.8/include/linux/crypto.h
57572--- linux-3.0.7/include/linux/crypto.h 2011-07-21 22:17:23.000000000 -0400 57940--- linux-3.0.8/include/linux/crypto.h 2011-07-21 22:17:23.000000000 -0400
57573+++ linux-3.0.7/include/linux/crypto.h 2011-08-23 21:47:56.000000000 -0400 57941+++ linux-3.0.8/include/linux/crypto.h 2011-08-23 21:47:56.000000000 -0400
57574@@ -361,7 +361,7 @@ struct cipher_tfm { 57942@@ -361,7 +361,7 @@ struct cipher_tfm {
57575 const u8 *key, unsigned int keylen); 57943 const u8 *key, unsigned int keylen);
57576 void (*cit_encrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src); 57944 void (*cit_encrypt_one)(struct crypto_tfm *tfm, u8 *dst, const u8 *src);
@@ -57596,9 +57964,9 @@ diff -urNp linux-3.0.7/include/linux/crypto.h linux-3.0.7/include/linux/crypto.h
57596 57964
57597 #define crt_ablkcipher crt_u.ablkcipher 57965 #define crt_ablkcipher crt_u.ablkcipher
57598 #define crt_aead crt_u.aead 57966 #define crt_aead crt_u.aead
57599diff -urNp linux-3.0.7/include/linux/decompress/mm.h linux-3.0.7/include/linux/decompress/mm.h 57967diff -urNp linux-3.0.8/include/linux/decompress/mm.h linux-3.0.8/include/linux/decompress/mm.h
57600--- linux-3.0.7/include/linux/decompress/mm.h 2011-07-21 22:17:23.000000000 -0400 57968--- linux-3.0.8/include/linux/decompress/mm.h 2011-07-21 22:17:23.000000000 -0400
57601+++ linux-3.0.7/include/linux/decompress/mm.h 2011-08-23 21:47:56.000000000 -0400 57969+++ linux-3.0.8/include/linux/decompress/mm.h 2011-08-23 21:47:56.000000000 -0400
57602@@ -77,7 +77,7 @@ static void free(void *where) 57970@@ -77,7 +77,7 @@ static void free(void *where)
57603 * warnings when not needed (indeed large_malloc / large_free are not 57971 * warnings when not needed (indeed large_malloc / large_free are not
57604 * needed by inflate */ 57972 * needed by inflate */
@@ -57608,9 +57976,9 @@ diff -urNp linux-3.0.7/include/linux/decompress/mm.h linux-3.0.7/include/linux/d
57608 #define free(a) kfree(a) 57976 #define free(a) kfree(a)
57609 57977
57610 #define large_malloc(a) vmalloc(a) 57978 #define large_malloc(a) vmalloc(a)
57611diff -urNp linux-3.0.7/include/linux/dma-mapping.h linux-3.0.7/include/linux/dma-mapping.h 57979diff -urNp linux-3.0.8/include/linux/dma-mapping.h linux-3.0.8/include/linux/dma-mapping.h
57612--- linux-3.0.7/include/linux/dma-mapping.h 2011-07-21 22:17:23.000000000 -0400 57980--- linux-3.0.8/include/linux/dma-mapping.h 2011-07-21 22:17:23.000000000 -0400
57613+++ linux-3.0.7/include/linux/dma-mapping.h 2011-08-26 19:49:56.000000000 -0400 57981+++ linux-3.0.8/include/linux/dma-mapping.h 2011-08-26 19:49:56.000000000 -0400
57614@@ -50,7 +50,7 @@ struct dma_map_ops { 57982@@ -50,7 +50,7 @@ struct dma_map_ops {
57615 int (*dma_supported)(struct device *dev, u64 mask); 57983 int (*dma_supported)(struct device *dev, u64 mask);
57616 int (*set_dma_mask)(struct device *dev, u64 mask); 57984 int (*set_dma_mask)(struct device *dev, u64 mask);
@@ -57620,9 +57988,9 @@ diff -urNp linux-3.0.7/include/linux/dma-mapping.h linux-3.0.7/include/linux/dma
57620 57988
57621 #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) 57989 #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
57622 57990
57623diff -urNp linux-3.0.7/include/linux/efi.h linux-3.0.7/include/linux/efi.h 57991diff -urNp linux-3.0.8/include/linux/efi.h linux-3.0.8/include/linux/efi.h
57624--- linux-3.0.7/include/linux/efi.h 2011-07-21 22:17:23.000000000 -0400 57992--- linux-3.0.8/include/linux/efi.h 2011-07-21 22:17:23.000000000 -0400
57625+++ linux-3.0.7/include/linux/efi.h 2011-08-23 21:47:56.000000000 -0400 57993+++ linux-3.0.8/include/linux/efi.h 2011-08-23 21:47:56.000000000 -0400
57626@@ -410,7 +410,7 @@ struct efivar_operations { 57994@@ -410,7 +410,7 @@ struct efivar_operations {
57627 efi_get_variable_t *get_variable; 57995 efi_get_variable_t *get_variable;
57628 efi_get_next_variable_t *get_next_variable; 57996 efi_get_next_variable_t *get_next_variable;
@@ -57632,9 +58000,9 @@ diff -urNp linux-3.0.7/include/linux/efi.h linux-3.0.7/include/linux/efi.h
57632 58000
57633 struct efivars { 58001 struct efivars {
57634 /* 58002 /*
57635diff -urNp linux-3.0.7/include/linux/elf.h linux-3.0.7/include/linux/elf.h 58003diff -urNp linux-3.0.8/include/linux/elf.h linux-3.0.8/include/linux/elf.h
57636--- linux-3.0.7/include/linux/elf.h 2011-07-21 22:17:23.000000000 -0400 58004--- linux-3.0.8/include/linux/elf.h 2011-07-21 22:17:23.000000000 -0400
57637+++ linux-3.0.7/include/linux/elf.h 2011-08-23 21:47:56.000000000 -0400 58005+++ linux-3.0.8/include/linux/elf.h 2011-08-23 21:47:56.000000000 -0400
57638@@ -49,6 +49,17 @@ typedef __s64 Elf64_Sxword; 58006@@ -49,6 +49,17 @@ typedef __s64 Elf64_Sxword;
57639 #define PT_GNU_EH_FRAME 0x6474e550 58007 #define PT_GNU_EH_FRAME 0x6474e550
57640 58008
@@ -57707,9 +58075,9 @@ diff -urNp linux-3.0.7/include/linux/elf.h linux-3.0.7/include/linux/elf.h
57707 58075
57708 #endif 58076 #endif
57709 58077
57710diff -urNp linux-3.0.7/include/linux/firewire.h linux-3.0.7/include/linux/firewire.h 58078diff -urNp linux-3.0.8/include/linux/firewire.h linux-3.0.8/include/linux/firewire.h
57711--- linux-3.0.7/include/linux/firewire.h 2011-07-21 22:17:23.000000000 -0400 58079--- linux-3.0.8/include/linux/firewire.h 2011-07-21 22:17:23.000000000 -0400
57712+++ linux-3.0.7/include/linux/firewire.h 2011-08-23 21:47:56.000000000 -0400 58080+++ linux-3.0.8/include/linux/firewire.h 2011-08-23 21:47:56.000000000 -0400
57713@@ -428,7 +428,7 @@ struct fw_iso_context { 58081@@ -428,7 +428,7 @@ struct fw_iso_context {
57714 union { 58082 union {
57715 fw_iso_callback_t sc; 58083 fw_iso_callback_t sc;
@@ -57719,9 +58087,30 @@ diff -urNp linux-3.0.7/include/linux/firewire.h linux-3.0.7/include/linux/firewi
57719 void *callback_data; 58087 void *callback_data;
57720 }; 58088 };
57721 58089
57722diff -urNp linux-3.0.7/include/linux/fs.h linux-3.0.7/include/linux/fs.h 58090diff -urNp linux-3.0.8/include/linux/fscache-cache.h linux-3.0.8/include/linux/fscache-cache.h
57723--- linux-3.0.7/include/linux/fs.h 2011-07-21 22:17:23.000000000 -0400 58091--- linux-3.0.8/include/linux/fscache-cache.h 2011-07-21 22:17:23.000000000 -0400
57724+++ linux-3.0.7/include/linux/fs.h 2011-08-26 19:49:56.000000000 -0400 58092+++ linux-3.0.8/include/linux/fscache-cache.h 2011-08-23 21:47:56.000000000 -0400
58093@@ -102,7 +102,7 @@ struct fscache_operation {
58094 fscache_operation_release_t release;
58095 };
58096
58097-extern atomic_t fscache_op_debug_id;
58098+extern atomic_unchecked_t fscache_op_debug_id;
58099 extern void fscache_op_work_func(struct work_struct *work);
58100
58101 extern void fscache_enqueue_operation(struct fscache_operation *);
58102@@ -122,7 +122,7 @@ static inline void fscache_operation_ini
58103 {
58104 INIT_WORK(&op->work, fscache_op_work_func);
58105 atomic_set(&op->usage, 1);
58106- op->debug_id = atomic_inc_return(&fscache_op_debug_id);
58107+ op->debug_id = atomic_inc_return_unchecked(&fscache_op_debug_id);
58108 op->processor = processor;
58109 op->release = release;
58110 INIT_LIST_HEAD(&op->pend_link);
58111diff -urNp linux-3.0.8/include/linux/fs.h linux-3.0.8/include/linux/fs.h
58112--- linux-3.0.8/include/linux/fs.h 2011-07-21 22:17:23.000000000 -0400
58113+++ linux-3.0.8/include/linux/fs.h 2011-08-26 19:49:56.000000000 -0400
57725@@ -109,6 +109,11 @@ struct inodes_stat_t { 58114@@ -109,6 +109,11 @@ struct inodes_stat_t {
57726 /* File was opened by fanotify and shouldn't generate fanotify events */ 58115 /* File was opened by fanotify and shouldn't generate fanotify events */
57727 #define FMODE_NONOTIFY ((__force fmode_t)0x1000000) 58116 #define FMODE_NONOTIFY ((__force fmode_t)0x1000000)
@@ -57744,42 +58133,9 @@ diff -urNp linux-3.0.7/include/linux/fs.h linux-3.0.7/include/linux/fs.h
57744 58133
57745 #define IPERM_FLAG_RCU 0x0001 58134 #define IPERM_FLAG_RCU 0x0001
57746 58135
57747diff -urNp linux-3.0.7/include/linux/fs_struct.h linux-3.0.7/include/linux/fs_struct.h 58136diff -urNp linux-3.0.8/include/linux/fsnotify.h linux-3.0.8/include/linux/fsnotify.h
57748--- linux-3.0.7/include/linux/fs_struct.h 2011-07-21 22:17:23.000000000 -0400 58137--- linux-3.0.8/include/linux/fsnotify.h 2011-07-21 22:17:23.000000000 -0400
57749+++ linux-3.0.7/include/linux/fs_struct.h 2011-08-23 21:47:56.000000000 -0400 58138+++ linux-3.0.8/include/linux/fsnotify.h 2011-08-24 18:10:29.000000000 -0400
57750@@ -6,7 +6,7 @@
57751 #include <linux/seqlock.h>
57752
57753 struct fs_struct {
57754- int users;
57755+ atomic_t users;
57756 spinlock_t lock;
57757 seqcount_t seq;
57758 int umask;
57759diff -urNp linux-3.0.7/include/linux/fscache-cache.h linux-3.0.7/include/linux/fscache-cache.h
57760--- linux-3.0.7/include/linux/fscache-cache.h 2011-07-21 22:17:23.000000000 -0400
57761+++ linux-3.0.7/include/linux/fscache-cache.h 2011-08-23 21:47:56.000000000 -0400
57762@@ -102,7 +102,7 @@ struct fscache_operation {
57763 fscache_operation_release_t release;
57764 };
57765
57766-extern atomic_t fscache_op_debug_id;
57767+extern atomic_unchecked_t fscache_op_debug_id;
57768 extern void fscache_op_work_func(struct work_struct *work);
57769
57770 extern void fscache_enqueue_operation(struct fscache_operation *);
57771@@ -122,7 +122,7 @@ static inline void fscache_operation_ini
57772 {
57773 INIT_WORK(&op->work, fscache_op_work_func);
57774 atomic_set(&op->usage, 1);
57775- op->debug_id = atomic_inc_return(&fscache_op_debug_id);
57776+ op->debug_id = atomic_inc_return_unchecked(&fscache_op_debug_id);
57777 op->processor = processor;
57778 op->release = release;
57779 INIT_LIST_HEAD(&op->pend_link);
57780diff -urNp linux-3.0.7/include/linux/fsnotify.h linux-3.0.7/include/linux/fsnotify.h
57781--- linux-3.0.7/include/linux/fsnotify.h 2011-07-21 22:17:23.000000000 -0400
57782+++ linux-3.0.7/include/linux/fsnotify.h 2011-08-24 18:10:29.000000000 -0400
57783@@ -314,7 +314,7 @@ static inline void fsnotify_change(struc 58139@@ -314,7 +314,7 @@ static inline void fsnotify_change(struc
57784 */ 58140 */
57785 static inline const unsigned char *fsnotify_oldname_init(const unsigned char *name) 58141 static inline const unsigned char *fsnotify_oldname_init(const unsigned char *name)
@@ -57789,9 +58145,21 @@ diff -urNp linux-3.0.7/include/linux/fsnotify.h linux-3.0.7/include/linux/fsnoti
57789 } 58145 }
57790 58146
57791 /* 58147 /*
57792diff -urNp linux-3.0.7/include/linux/ftrace_event.h linux-3.0.7/include/linux/ftrace_event.h 58148diff -urNp linux-3.0.8/include/linux/fs_struct.h linux-3.0.8/include/linux/fs_struct.h
57793--- linux-3.0.7/include/linux/ftrace_event.h 2011-07-21 22:17:23.000000000 -0400 58149--- linux-3.0.8/include/linux/fs_struct.h 2011-07-21 22:17:23.000000000 -0400
57794+++ linux-3.0.7/include/linux/ftrace_event.h 2011-08-23 21:47:56.000000000 -0400 58150+++ linux-3.0.8/include/linux/fs_struct.h 2011-08-23 21:47:56.000000000 -0400
58151@@ -6,7 +6,7 @@
58152 #include <linux/seqlock.h>
58153
58154 struct fs_struct {
58155- int users;
58156+ atomic_t users;
58157 spinlock_t lock;
58158 seqcount_t seq;
58159 int umask;
58160diff -urNp linux-3.0.8/include/linux/ftrace_event.h linux-3.0.8/include/linux/ftrace_event.h
58161--- linux-3.0.8/include/linux/ftrace_event.h 2011-07-21 22:17:23.000000000 -0400
58162+++ linux-3.0.8/include/linux/ftrace_event.h 2011-08-23 21:47:56.000000000 -0400
57795@@ -96,7 +96,7 @@ struct trace_event_functions { 58163@@ -96,7 +96,7 @@ struct trace_event_functions {
57796 trace_print_func raw; 58164 trace_print_func raw;
57797 trace_print_func hex; 58165 trace_print_func hex;
@@ -57810,9 +58178,9 @@ diff -urNp linux-3.0.7/include/linux/ftrace_event.h linux-3.0.7/include/linux/ft
57810 58178
57811 int trace_set_clr_event(const char *system, const char *event, int set); 58179 int trace_set_clr_event(const char *system, const char *event, int set);
57812 58180
57813diff -urNp linux-3.0.7/include/linux/genhd.h linux-3.0.7/include/linux/genhd.h 58181diff -urNp linux-3.0.8/include/linux/genhd.h linux-3.0.8/include/linux/genhd.h
57814--- linux-3.0.7/include/linux/genhd.h 2011-07-21 22:17:23.000000000 -0400 58182--- linux-3.0.8/include/linux/genhd.h 2011-07-21 22:17:23.000000000 -0400
57815+++ linux-3.0.7/include/linux/genhd.h 2011-08-23 21:47:56.000000000 -0400 58183+++ linux-3.0.8/include/linux/genhd.h 2011-08-23 21:47:56.000000000 -0400
57816@@ -184,7 +184,7 @@ struct gendisk { 58184@@ -184,7 +184,7 @@ struct gendisk {
57817 struct kobject *slave_dir; 58185 struct kobject *slave_dir;
57818 58186
@@ -57822,9 +58190,9 @@ diff -urNp linux-3.0.7/include/linux/genhd.h linux-3.0.7/include/linux/genhd.h
57822 struct disk_events *ev; 58190 struct disk_events *ev;
57823 #ifdef CONFIG_BLK_DEV_INTEGRITY 58191 #ifdef CONFIG_BLK_DEV_INTEGRITY
57824 struct blk_integrity *integrity; 58192 struct blk_integrity *integrity;
57825diff -urNp linux-3.0.7/include/linux/gracl.h linux-3.0.7/include/linux/gracl.h 58193diff -urNp linux-3.0.8/include/linux/gracl.h linux-3.0.8/include/linux/gracl.h
57826--- linux-3.0.7/include/linux/gracl.h 1969-12-31 19:00:00.000000000 -0500 58194--- linux-3.0.8/include/linux/gracl.h 1969-12-31 19:00:00.000000000 -0500
57827+++ linux-3.0.7/include/linux/gracl.h 2011-08-23 21:48:14.000000000 -0400 58195+++ linux-3.0.8/include/linux/gracl.h 2011-08-23 21:48:14.000000000 -0400
57828@@ -0,0 +1,317 @@ 58196@@ -0,0 +1,317 @@
57829+#ifndef GR_ACL_H 58197+#ifndef GR_ACL_H
57830+#define GR_ACL_H 58198+#define GR_ACL_H
@@ -58143,9 +58511,9 @@ diff -urNp linux-3.0.7/include/linux/gracl.h linux-3.0.7/include/linux/gracl.h
58143+ 58511+
58144+#endif 58512+#endif
58145+ 58513+
58146diff -urNp linux-3.0.7/include/linux/gralloc.h linux-3.0.7/include/linux/gralloc.h 58514diff -urNp linux-3.0.8/include/linux/gralloc.h linux-3.0.8/include/linux/gralloc.h
58147--- linux-3.0.7/include/linux/gralloc.h 1969-12-31 19:00:00.000000000 -0500 58515--- linux-3.0.8/include/linux/gralloc.h 1969-12-31 19:00:00.000000000 -0500
58148+++ linux-3.0.7/include/linux/gralloc.h 2011-08-23 21:48:14.000000000 -0400 58516+++ linux-3.0.8/include/linux/gralloc.h 2011-08-23 21:48:14.000000000 -0400
58149@@ -0,0 +1,9 @@ 58517@@ -0,0 +1,9 @@
58150+#ifndef __GRALLOC_H 58518+#ifndef __GRALLOC_H
58151+#define __GRALLOC_H 58519+#define __GRALLOC_H
@@ -58156,9 +58524,9 @@ diff -urNp linux-3.0.7/include/linux/gralloc.h linux-3.0.7/include/linux/gralloc
58156+void *acl_alloc_num(unsigned long num, unsigned long len); 58524+void *acl_alloc_num(unsigned long num, unsigned long len);
58157+ 58525+
58158+#endif 58526+#endif
58159diff -urNp linux-3.0.7/include/linux/grdefs.h linux-3.0.7/include/linux/grdefs.h 58527diff -urNp linux-3.0.8/include/linux/grdefs.h linux-3.0.8/include/linux/grdefs.h
58160--- linux-3.0.7/include/linux/grdefs.h 1969-12-31 19:00:00.000000000 -0500 58528--- linux-3.0.8/include/linux/grdefs.h 1969-12-31 19:00:00.000000000 -0500
58161+++ linux-3.0.7/include/linux/grdefs.h 2011-08-23 21:48:14.000000000 -0400 58529+++ linux-3.0.8/include/linux/grdefs.h 2011-08-23 21:48:14.000000000 -0400
58162@@ -0,0 +1,140 @@ 58530@@ -0,0 +1,140 @@
58163+#ifndef GRDEFS_H 58531+#ifndef GRDEFS_H
58164+#define GRDEFS_H 58532+#define GRDEFS_H
@@ -58300,9 +58668,9 @@ diff -urNp linux-3.0.7/include/linux/grdefs.h linux-3.0.7/include/linux/grdefs.h
58300+}; 58668+};
58301+ 58669+
58302+#endif 58670+#endif
58303diff -urNp linux-3.0.7/include/linux/grinternal.h linux-3.0.7/include/linux/grinternal.h 58671diff -urNp linux-3.0.8/include/linux/grinternal.h linux-3.0.8/include/linux/grinternal.h
58304--- linux-3.0.7/include/linux/grinternal.h 1969-12-31 19:00:00.000000000 -0500 58672--- linux-3.0.8/include/linux/grinternal.h 1969-12-31 19:00:00.000000000 -0500
58305+++ linux-3.0.7/include/linux/grinternal.h 2011-10-20 00:47:28.000000000 -0400 58673+++ linux-3.0.8/include/linux/grinternal.h 2011-10-20 00:47:28.000000000 -0400
58306@@ -0,0 +1,220 @@ 58674@@ -0,0 +1,220 @@
58307+#ifndef __GRINTERNAL_H 58675+#ifndef __GRINTERNAL_H
58308+#define __GRINTERNAL_H 58676+#define __GRINTERNAL_H
@@ -58524,9 +58892,9 @@ diff -urNp linux-3.0.7/include/linux/grinternal.h linux-3.0.7/include/linux/grin
58524+#endif 58892+#endif
58525+ 58893+
58526+#endif 58894+#endif
58527diff -urNp linux-3.0.7/include/linux/grmsg.h linux-3.0.7/include/linux/grmsg.h 58895diff -urNp linux-3.0.8/include/linux/grmsg.h linux-3.0.8/include/linux/grmsg.h
58528--- linux-3.0.7/include/linux/grmsg.h 1969-12-31 19:00:00.000000000 -0500 58896--- linux-3.0.8/include/linux/grmsg.h 1969-12-31 19:00:00.000000000 -0500
58529+++ linux-3.0.7/include/linux/grmsg.h 2011-09-14 09:16:54.000000000 -0400 58897+++ linux-3.0.8/include/linux/grmsg.h 2011-09-14 09:16:54.000000000 -0400
58530@@ -0,0 +1,108 @@ 58898@@ -0,0 +1,108 @@
58531+#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" 58899+#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"
58532+#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" 58900+#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"
@@ -58636,9 +59004,9 @@ diff -urNp linux-3.0.7/include/linux/grmsg.h linux-3.0.7/include/linux/grmsg.h
58636+#define GR_VM86_MSG "denied use of vm86 by " 59004+#define GR_VM86_MSG "denied use of vm86 by "
58637+#define GR_PTRACE_AUDIT_MSG "process %.950s(%.16s:%d) attached to via ptrace by " 59005+#define GR_PTRACE_AUDIT_MSG "process %.950s(%.16s:%d) attached to via ptrace by "
58638+#define GR_INIT_TRANSFER_MSG "persistent special role transferred privilege to init by " 59006+#define GR_INIT_TRANSFER_MSG "persistent special role transferred privilege to init by "
58639diff -urNp linux-3.0.7/include/linux/grsecurity.h linux-3.0.7/include/linux/grsecurity.h 59007diff -urNp linux-3.0.8/include/linux/grsecurity.h linux-3.0.8/include/linux/grsecurity.h
58640--- linux-3.0.7/include/linux/grsecurity.h 1969-12-31 19:00:00.000000000 -0500 59008--- linux-3.0.8/include/linux/grsecurity.h 1969-12-31 19:00:00.000000000 -0500
58641+++ linux-3.0.7/include/linux/grsecurity.h 2011-10-17 06:35:30.000000000 -0400 59009+++ linux-3.0.8/include/linux/grsecurity.h 2011-10-17 06:35:30.000000000 -0400
58642@@ -0,0 +1,228 @@ 59010@@ -0,0 +1,228 @@
58643+#ifndef GR_SECURITY_H 59011+#ifndef GR_SECURITY_H
58644+#define GR_SECURITY_H 59012+#define GR_SECURITY_H
@@ -58868,9 +59236,9 @@ diff -urNp linux-3.0.7/include/linux/grsecurity.h linux-3.0.7/include/linux/grse
58868+#endif 59236+#endif
58869+ 59237+
58870+#endif 59238+#endif
58871diff -urNp linux-3.0.7/include/linux/grsock.h linux-3.0.7/include/linux/grsock.h 59239diff -urNp linux-3.0.8/include/linux/grsock.h linux-3.0.8/include/linux/grsock.h
58872--- linux-3.0.7/include/linux/grsock.h 1969-12-31 19:00:00.000000000 -0500 59240--- linux-3.0.8/include/linux/grsock.h 1969-12-31 19:00:00.000000000 -0500
58873+++ linux-3.0.7/include/linux/grsock.h 2011-08-23 21:48:14.000000000 -0400 59241+++ linux-3.0.8/include/linux/grsock.h 2011-08-23 21:48:14.000000000 -0400
58874@@ -0,0 +1,19 @@ 59242@@ -0,0 +1,19 @@
58875+#ifndef __GRSOCK_H 59243+#ifndef __GRSOCK_H
58876+#define __GRSOCK_H 59244+#define __GRSOCK_H
@@ -58891,9 +59259,9 @@ diff -urNp linux-3.0.7/include/linux/grsock.h linux-3.0.7/include/linux/grsock.h
58891+ const int protocol); 59259+ const int protocol);
58892+ 59260+
58893+#endif 59261+#endif
58894diff -urNp linux-3.0.7/include/linux/hid.h linux-3.0.7/include/linux/hid.h 59262diff -urNp linux-3.0.8/include/linux/hid.h linux-3.0.8/include/linux/hid.h
58895--- linux-3.0.7/include/linux/hid.h 2011-07-21 22:17:23.000000000 -0400 59263--- linux-3.0.8/include/linux/hid.h 2011-07-21 22:17:23.000000000 -0400
58896+++ linux-3.0.7/include/linux/hid.h 2011-08-23 21:47:56.000000000 -0400 59264+++ linux-3.0.8/include/linux/hid.h 2011-08-23 21:47:56.000000000 -0400
58897@@ -675,7 +675,7 @@ struct hid_ll_driver { 59265@@ -675,7 +675,7 @@ struct hid_ll_driver {
58898 unsigned int code, int value); 59266 unsigned int code, int value);
58899 59267
@@ -58903,9 +59271,9 @@ diff -urNp linux-3.0.7/include/linux/hid.h linux-3.0.7/include/linux/hid.h
58903 59271
58904 #define PM_HINT_FULLON 1<<5 59272 #define PM_HINT_FULLON 1<<5
58905 #define PM_HINT_NORMAL 1<<1 59273 #define PM_HINT_NORMAL 1<<1
58906diff -urNp linux-3.0.7/include/linux/highmem.h linux-3.0.7/include/linux/highmem.h 59274diff -urNp linux-3.0.8/include/linux/highmem.h linux-3.0.8/include/linux/highmem.h
58907--- linux-3.0.7/include/linux/highmem.h 2011-07-21 22:17:23.000000000 -0400 59275--- linux-3.0.8/include/linux/highmem.h 2011-07-21 22:17:23.000000000 -0400
58908+++ linux-3.0.7/include/linux/highmem.h 2011-08-23 21:47:56.000000000 -0400 59276+++ linux-3.0.8/include/linux/highmem.h 2011-08-23 21:47:56.000000000 -0400
58909@@ -185,6 +185,18 @@ static inline void clear_highpage(struct 59277@@ -185,6 +185,18 @@ static inline void clear_highpage(struct
58910 kunmap_atomic(kaddr, KM_USER0); 59278 kunmap_atomic(kaddr, KM_USER0);
58911 } 59279 }
@@ -58925,9 +59293,9 @@ diff -urNp linux-3.0.7/include/linux/highmem.h linux-3.0.7/include/linux/highmem
58925 static inline void zero_user_segments(struct page *page, 59293 static inline void zero_user_segments(struct page *page,
58926 unsigned start1, unsigned end1, 59294 unsigned start1, unsigned end1,
58927 unsigned start2, unsigned end2) 59295 unsigned start2, unsigned end2)
58928diff -urNp linux-3.0.7/include/linux/i2c.h linux-3.0.7/include/linux/i2c.h 59296diff -urNp linux-3.0.8/include/linux/i2c.h linux-3.0.8/include/linux/i2c.h
58929--- linux-3.0.7/include/linux/i2c.h 2011-07-21 22:17:23.000000000 -0400 59297--- linux-3.0.8/include/linux/i2c.h 2011-07-21 22:17:23.000000000 -0400
58930+++ linux-3.0.7/include/linux/i2c.h 2011-08-23 21:47:56.000000000 -0400 59298+++ linux-3.0.8/include/linux/i2c.h 2011-08-23 21:47:56.000000000 -0400
58931@@ -346,6 +346,7 @@ struct i2c_algorithm { 59299@@ -346,6 +346,7 @@ struct i2c_algorithm {
58932 /* To determine what the adapter supports */ 59300 /* To determine what the adapter supports */
58933 u32 (*functionality) (struct i2c_adapter *); 59301 u32 (*functionality) (struct i2c_adapter *);
@@ -58936,9 +59304,9 @@ diff -urNp linux-3.0.7/include/linux/i2c.h linux-3.0.7/include/linux/i2c.h
58936 59304
58937 /* 59305 /*
58938 * i2c_adapter is the structure used to identify a physical i2c bus along 59306 * i2c_adapter is the structure used to identify a physical i2c bus along
58939diff -urNp linux-3.0.7/include/linux/i2o.h linux-3.0.7/include/linux/i2o.h 59307diff -urNp linux-3.0.8/include/linux/i2o.h linux-3.0.8/include/linux/i2o.h
58940--- linux-3.0.7/include/linux/i2o.h 2011-07-21 22:17:23.000000000 -0400 59308--- linux-3.0.8/include/linux/i2o.h 2011-07-21 22:17:23.000000000 -0400
58941+++ linux-3.0.7/include/linux/i2o.h 2011-08-23 21:47:56.000000000 -0400 59309+++ linux-3.0.8/include/linux/i2o.h 2011-08-23 21:47:56.000000000 -0400
58942@@ -564,7 +564,7 @@ struct i2o_controller { 59310@@ -564,7 +564,7 @@ struct i2o_controller {
58943 struct i2o_device *exec; /* Executive */ 59311 struct i2o_device *exec; /* Executive */
58944 #if BITS_PER_LONG == 64 59312 #if BITS_PER_LONG == 64
@@ -58948,9 +59316,9 @@ diff -urNp linux-3.0.7/include/linux/i2o.h linux-3.0.7/include/linux/i2o.h
58948 struct list_head context_list; /* list of context id's 59316 struct list_head context_list; /* list of context id's
58949 and pointers */ 59317 and pointers */
58950 #endif 59318 #endif
58951diff -urNp linux-3.0.7/include/linux/init.h linux-3.0.7/include/linux/init.h 59319diff -urNp linux-3.0.8/include/linux/init.h linux-3.0.8/include/linux/init.h
58952--- linux-3.0.7/include/linux/init.h 2011-07-21 22:17:23.000000000 -0400 59320--- linux-3.0.8/include/linux/init.h 2011-07-21 22:17:23.000000000 -0400
58953+++ linux-3.0.7/include/linux/init.h 2011-08-23 21:47:56.000000000 -0400 59321+++ linux-3.0.8/include/linux/init.h 2011-08-23 21:47:56.000000000 -0400
58954@@ -293,13 +293,13 @@ void __init parse_early_options(char *cm 59322@@ -293,13 +293,13 @@ void __init parse_early_options(char *cm
58955 59323
58956 /* Each module must use one module_init(). */ 59324 /* Each module must use one module_init(). */
@@ -58967,9 +59335,9 @@ diff -urNp linux-3.0.7/include/linux/init.h linux-3.0.7/include/linux/init.h
58967 { return exitfn; } \ 59335 { return exitfn; } \
58968 void cleanup_module(void) __attribute__((alias(#exitfn))); 59336 void cleanup_module(void) __attribute__((alias(#exitfn)));
58969 59337
58970diff -urNp linux-3.0.7/include/linux/init_task.h linux-3.0.7/include/linux/init_task.h 59338diff -urNp linux-3.0.8/include/linux/init_task.h linux-3.0.8/include/linux/init_task.h
58971--- linux-3.0.7/include/linux/init_task.h 2011-07-21 22:17:23.000000000 -0400 59339--- linux-3.0.8/include/linux/init_task.h 2011-07-21 22:17:23.000000000 -0400
58972+++ linux-3.0.7/include/linux/init_task.h 2011-08-23 21:47:56.000000000 -0400 59340+++ linux-3.0.8/include/linux/init_task.h 2011-08-23 21:47:56.000000000 -0400
58973@@ -126,6 +126,12 @@ extern struct cred init_cred; 59341@@ -126,6 +126,12 @@ extern struct cred init_cred;
58974 # define INIT_PERF_EVENTS(tsk) 59342 # define INIT_PERF_EVENTS(tsk)
58975 #endif 59343 #endif
@@ -58991,9 +59359,9 @@ diff -urNp linux-3.0.7/include/linux/init_task.h linux-3.0.7/include/linux/init_
58991 .fs = &init_fs, \ 59359 .fs = &init_fs, \
58992 .files = &init_files, \ 59360 .files = &init_files, \
58993 .signal = &init_signals, \ 59361 .signal = &init_signals, \
58994diff -urNp linux-3.0.7/include/linux/intel-iommu.h linux-3.0.7/include/linux/intel-iommu.h 59362diff -urNp linux-3.0.8/include/linux/intel-iommu.h linux-3.0.8/include/linux/intel-iommu.h
58995--- linux-3.0.7/include/linux/intel-iommu.h 2011-07-21 22:17:23.000000000 -0400 59363--- linux-3.0.8/include/linux/intel-iommu.h 2011-07-21 22:17:23.000000000 -0400
58996+++ linux-3.0.7/include/linux/intel-iommu.h 2011-08-23 21:47:56.000000000 -0400 59364+++ linux-3.0.8/include/linux/intel-iommu.h 2011-08-23 21:47:56.000000000 -0400
58997@@ -296,7 +296,7 @@ struct iommu_flush { 59365@@ -296,7 +296,7 @@ struct iommu_flush {
58998 u8 fm, u64 type); 59366 u8 fm, u64 type);
58999 void (*flush_iotlb)(struct intel_iommu *iommu, u16 did, u64 addr, 59367 void (*flush_iotlb)(struct intel_iommu *iommu, u16 did, u64 addr,
@@ -59003,9 +59371,9 @@ diff -urNp linux-3.0.7/include/linux/intel-iommu.h linux-3.0.7/include/linux/int
59003 59371
59004 enum { 59372 enum {
59005 SR_DMAR_FECTL_REG, 59373 SR_DMAR_FECTL_REG,
59006diff -urNp linux-3.0.7/include/linux/interrupt.h linux-3.0.7/include/linux/interrupt.h 59374diff -urNp linux-3.0.8/include/linux/interrupt.h linux-3.0.8/include/linux/interrupt.h
59007--- linux-3.0.7/include/linux/interrupt.h 2011-07-21 22:17:23.000000000 -0400 59375--- linux-3.0.8/include/linux/interrupt.h 2011-07-21 22:17:23.000000000 -0400
59008+++ linux-3.0.7/include/linux/interrupt.h 2011-08-23 21:47:56.000000000 -0400 59376+++ linux-3.0.8/include/linux/interrupt.h 2011-08-23 21:47:56.000000000 -0400
59009@@ -422,7 +422,7 @@ enum 59377@@ -422,7 +422,7 @@ enum
59010 /* map softirq index to softirq name. update 'softirq_to_name' in 59378 /* map softirq index to softirq name. update 'softirq_to_name' in
59011 * kernel/softirq.c when adding a new softirq. 59379 * kernel/softirq.c when adding a new softirq.
@@ -59030,9 +59398,9 @@ diff -urNp linux-3.0.7/include/linux/interrupt.h linux-3.0.7/include/linux/inter
59030 extern void softirq_init(void); 59398 extern void softirq_init(void);
59031 static inline void __raise_softirq_irqoff(unsigned int nr) 59399 static inline void __raise_softirq_irqoff(unsigned int nr)
59032 { 59400 {
59033diff -urNp linux-3.0.7/include/linux/kallsyms.h linux-3.0.7/include/linux/kallsyms.h 59401diff -urNp linux-3.0.8/include/linux/kallsyms.h linux-3.0.8/include/linux/kallsyms.h
59034--- linux-3.0.7/include/linux/kallsyms.h 2011-07-21 22:17:23.000000000 -0400 59402--- linux-3.0.8/include/linux/kallsyms.h 2011-07-21 22:17:23.000000000 -0400
59035+++ linux-3.0.7/include/linux/kallsyms.h 2011-08-23 21:48:14.000000000 -0400 59403+++ linux-3.0.8/include/linux/kallsyms.h 2011-08-23 21:48:14.000000000 -0400
59036@@ -15,7 +15,8 @@ 59404@@ -15,7 +15,8 @@
59037 59405
59038 struct module; 59406 struct module;
@@ -59060,9 +59428,9 @@ diff -urNp linux-3.0.7/include/linux/kallsyms.h linux-3.0.7/include/linux/kallsy
59060 59428
59061 /* This macro allows us to keep printk typechecking */ 59429 /* This macro allows us to keep printk typechecking */
59062 static void __check_printsym_format(const char *fmt, ...) 59430 static void __check_printsym_format(const char *fmt, ...)
59063diff -urNp linux-3.0.7/include/linux/kgdb.h linux-3.0.7/include/linux/kgdb.h 59431diff -urNp linux-3.0.8/include/linux/kgdb.h linux-3.0.8/include/linux/kgdb.h
59064--- linux-3.0.7/include/linux/kgdb.h 2011-07-21 22:17:23.000000000 -0400 59432--- linux-3.0.8/include/linux/kgdb.h 2011-07-21 22:17:23.000000000 -0400
59065+++ linux-3.0.7/include/linux/kgdb.h 2011-08-26 19:49:56.000000000 -0400 59433+++ linux-3.0.8/include/linux/kgdb.h 2011-08-26 19:49:56.000000000 -0400
59066@@ -53,7 +53,7 @@ extern int kgdb_connected; 59434@@ -53,7 +53,7 @@ extern int kgdb_connected;
59067 extern int kgdb_io_module_registered; 59435 extern int kgdb_io_module_registered;
59068 59436
@@ -59090,9 +59458,9 @@ diff -urNp linux-3.0.7/include/linux/kgdb.h linux-3.0.7/include/linux/kgdb.h
59090 59458
59091 extern struct kgdb_arch arch_kgdb_ops; 59459 extern struct kgdb_arch arch_kgdb_ops;
59092 59460
59093diff -urNp linux-3.0.7/include/linux/kmod.h linux-3.0.7/include/linux/kmod.h 59461diff -urNp linux-3.0.8/include/linux/kmod.h linux-3.0.8/include/linux/kmod.h
59094--- linux-3.0.7/include/linux/kmod.h 2011-07-21 22:17:23.000000000 -0400 59462--- linux-3.0.8/include/linux/kmod.h 2011-07-21 22:17:23.000000000 -0400
59095+++ linux-3.0.7/include/linux/kmod.h 2011-08-23 21:48:14.000000000 -0400 59463+++ linux-3.0.8/include/linux/kmod.h 2011-08-23 21:48:14.000000000 -0400
59096@@ -34,6 +34,8 @@ extern char modprobe_path[]; /* for sysc 59464@@ -34,6 +34,8 @@ extern char modprobe_path[]; /* for sysc
59097 * usually useless though. */ 59465 * usually useless though. */
59098 extern int __request_module(bool wait, const char *name, ...) \ 59466 extern int __request_module(bool wait, const char *name, ...) \
@@ -59102,9 +59470,9 @@ diff -urNp linux-3.0.7/include/linux/kmod.h linux-3.0.7/include/linux/kmod.h
59102 #define request_module(mod...) __request_module(true, mod) 59470 #define request_module(mod...) __request_module(true, mod)
59103 #define request_module_nowait(mod...) __request_module(false, mod) 59471 #define request_module_nowait(mod...) __request_module(false, mod)
59104 #define try_then_request_module(x, mod...) \ 59472 #define try_then_request_module(x, mod...) \
59105diff -urNp linux-3.0.7/include/linux/kvm_host.h linux-3.0.7/include/linux/kvm_host.h 59473diff -urNp linux-3.0.8/include/linux/kvm_host.h linux-3.0.8/include/linux/kvm_host.h
59106--- linux-3.0.7/include/linux/kvm_host.h 2011-07-21 22:17:23.000000000 -0400 59474--- linux-3.0.8/include/linux/kvm_host.h 2011-07-21 22:17:23.000000000 -0400
59107+++ linux-3.0.7/include/linux/kvm_host.h 2011-08-23 21:47:56.000000000 -0400 59475+++ linux-3.0.8/include/linux/kvm_host.h 2011-08-23 21:47:56.000000000 -0400
59108@@ -307,7 +307,7 @@ void kvm_vcpu_uninit(struct kvm_vcpu *vc 59476@@ -307,7 +307,7 @@ void kvm_vcpu_uninit(struct kvm_vcpu *vc
59109 void vcpu_load(struct kvm_vcpu *vcpu); 59477 void vcpu_load(struct kvm_vcpu *vcpu);
59110 void vcpu_put(struct kvm_vcpu *vcpu); 59478 void vcpu_put(struct kvm_vcpu *vcpu);
@@ -59123,9 +59491,9 @@ diff -urNp linux-3.0.7/include/linux/kvm_host.h linux-3.0.7/include/linux/kvm_ho
59123 void kvm_arch_exit(void); 59491 void kvm_arch_exit(void);
59124 59492
59125 int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu); 59493 int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu);
59126diff -urNp linux-3.0.7/include/linux/libata.h linux-3.0.7/include/linux/libata.h 59494diff -urNp linux-3.0.8/include/linux/libata.h linux-3.0.8/include/linux/libata.h
59127--- linux-3.0.7/include/linux/libata.h 2011-07-21 22:17:23.000000000 -0400 59495--- linux-3.0.8/include/linux/libata.h 2011-07-21 22:17:23.000000000 -0400
59128+++ linux-3.0.7/include/linux/libata.h 2011-08-26 19:49:56.000000000 -0400 59496+++ linux-3.0.8/include/linux/libata.h 2011-08-26 19:49:56.000000000 -0400
59129@@ -899,7 +899,7 @@ struct ata_port_operations { 59497@@ -899,7 +899,7 @@ struct ata_port_operations {
59130 * fields must be pointers. 59498 * fields must be pointers.
59131 */ 59499 */
@@ -59135,20 +59503,9 @@ diff -urNp linux-3.0.7/include/linux/libata.h linux-3.0.7/include/linux/libata.h
59135 59503
59136 struct ata_port_info { 59504 struct ata_port_info {
59137 unsigned long flags; 59505 unsigned long flags;
59138diff -urNp linux-3.0.7/include/linux/linkage.h linux-3.0.7/include/linux/linkage.h 59506diff -urNp linux-3.0.8/include/linux/mca.h linux-3.0.8/include/linux/mca.h
59139--- linux-3.0.7/include/linux/linkage.h 2011-07-21 22:17:23.000000000 -0400 59507--- linux-3.0.8/include/linux/mca.h 2011-07-21 22:17:23.000000000 -0400
59140+++ linux-3.0.7/include/linux/linkage.h 2011-10-11 10:44:33.000000000 -0400 59508+++ linux-3.0.8/include/linux/mca.h 2011-08-23 21:47:56.000000000 -0400
59141@@ -82,6 +82,7 @@
59142 */
59143 #ifndef ENDPROC
59144 #define ENDPROC(name) \
59145+ .size name, .-name; \
59146 .type name, @function; \
59147 END(name)
59148 #endif
59149diff -urNp linux-3.0.7/include/linux/mca.h linux-3.0.7/include/linux/mca.h
59150--- linux-3.0.7/include/linux/mca.h 2011-07-21 22:17:23.000000000 -0400
59151+++ linux-3.0.7/include/linux/mca.h 2011-08-23 21:47:56.000000000 -0400
59152@@ -80,7 +80,7 @@ struct mca_bus_accessor_functions { 59509@@ -80,7 +80,7 @@ struct mca_bus_accessor_functions {
59153 int region); 59510 int region);
59154 void * (*mca_transform_memory)(struct mca_device *, 59511 void * (*mca_transform_memory)(struct mca_device *,
@@ -59158,9 +59515,9 @@ diff -urNp linux-3.0.7/include/linux/mca.h linux-3.0.7/include/linux/mca.h
59158 59515
59159 struct mca_bus { 59516 struct mca_bus {
59160 u64 default_dma_mask; 59517 u64 default_dma_mask;
59161diff -urNp linux-3.0.7/include/linux/memory.h linux-3.0.7/include/linux/memory.h 59518diff -urNp linux-3.0.8/include/linux/memory.h linux-3.0.8/include/linux/memory.h
59162--- linux-3.0.7/include/linux/memory.h 2011-07-21 22:17:23.000000000 -0400 59519--- linux-3.0.8/include/linux/memory.h 2011-07-21 22:17:23.000000000 -0400
59163+++ linux-3.0.7/include/linux/memory.h 2011-08-23 21:47:56.000000000 -0400 59520+++ linux-3.0.8/include/linux/memory.h 2011-08-23 21:47:56.000000000 -0400
59164@@ -144,7 +144,7 @@ struct memory_accessor { 59521@@ -144,7 +144,7 @@ struct memory_accessor {
59165 size_t count); 59522 size_t count);
59166 ssize_t (*write)(struct memory_accessor *, const char *buf, 59523 ssize_t (*write)(struct memory_accessor *, const char *buf,
@@ -59170,9 +59527,9 @@ diff -urNp linux-3.0.7/include/linux/memory.h linux-3.0.7/include/linux/memory.h
59170 59527
59171 /* 59528 /*
59172 * Kernel text modification mutex, used for code patching. Users of this lock 59529 * Kernel text modification mutex, used for code patching. Users of this lock
59173diff -urNp linux-3.0.7/include/linux/mfd/abx500.h linux-3.0.7/include/linux/mfd/abx500.h 59530diff -urNp linux-3.0.8/include/linux/mfd/abx500.h linux-3.0.8/include/linux/mfd/abx500.h
59174--- linux-3.0.7/include/linux/mfd/abx500.h 2011-07-21 22:17:23.000000000 -0400 59531--- linux-3.0.8/include/linux/mfd/abx500.h 2011-07-21 22:17:23.000000000 -0400
59175+++ linux-3.0.7/include/linux/mfd/abx500.h 2011-08-23 21:47:56.000000000 -0400 59532+++ linux-3.0.8/include/linux/mfd/abx500.h 2011-08-23 21:47:56.000000000 -0400
59176@@ -234,6 +234,7 @@ struct abx500_ops { 59533@@ -234,6 +234,7 @@ struct abx500_ops {
59177 int (*event_registers_startup_state_get) (struct device *, u8 *); 59534 int (*event_registers_startup_state_get) (struct device *, u8 *);
59178 int (*startup_irq_enabled) (struct device *, unsigned int); 59535 int (*startup_irq_enabled) (struct device *, unsigned int);
@@ -59181,9 +59538,9 @@ diff -urNp linux-3.0.7/include/linux/mfd/abx500.h linux-3.0.7/include/linux/mfd/
59181 59538
59182 int abx500_register_ops(struct device *core_dev, struct abx500_ops *ops); 59539 int abx500_register_ops(struct device *core_dev, struct abx500_ops *ops);
59183 void abx500_remove_ops(struct device *dev); 59540 void abx500_remove_ops(struct device *dev);
59184diff -urNp linux-3.0.7/include/linux/mm.h linux-3.0.7/include/linux/mm.h 59541diff -urNp linux-3.0.8/include/linux/mm.h linux-3.0.8/include/linux/mm.h
59185--- linux-3.0.7/include/linux/mm.h 2011-09-02 18:11:21.000000000 -0400 59542--- linux-3.0.8/include/linux/mm.h 2011-10-24 08:05:21.000000000 -0400
59186+++ linux-3.0.7/include/linux/mm.h 2011-08-23 21:47:56.000000000 -0400 59543+++ linux-3.0.8/include/linux/mm.h 2011-08-23 21:47:56.000000000 -0400
59187@@ -113,7 +113,14 @@ extern unsigned int kobjsize(const void 59544@@ -113,7 +113,14 @@ extern unsigned int kobjsize(const void
59188 59545
59189 #define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pages */ 59546 #define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pages */
@@ -59306,9 +59663,9 @@ diff -urNp linux-3.0.7/include/linux/mm.h linux-3.0.7/include/linux/mm.h
59306+ 59663+
59307 #endif /* __KERNEL__ */ 59664 #endif /* __KERNEL__ */
59308 #endif /* _LINUX_MM_H */ 59665 #endif /* _LINUX_MM_H */
59309diff -urNp linux-3.0.7/include/linux/mm_types.h linux-3.0.7/include/linux/mm_types.h 59666diff -urNp linux-3.0.8/include/linux/mm_types.h linux-3.0.8/include/linux/mm_types.h
59310--- linux-3.0.7/include/linux/mm_types.h 2011-07-21 22:17:23.000000000 -0400 59667--- linux-3.0.8/include/linux/mm_types.h 2011-07-21 22:17:23.000000000 -0400
59311+++ linux-3.0.7/include/linux/mm_types.h 2011-08-23 21:47:56.000000000 -0400 59668+++ linux-3.0.8/include/linux/mm_types.h 2011-08-23 21:47:56.000000000 -0400
59312@@ -184,6 +184,8 @@ struct vm_area_struct { 59669@@ -184,6 +184,8 @@ struct vm_area_struct {
59313 #ifdef CONFIG_NUMA 59670 #ifdef CONFIG_NUMA
59314 struct mempolicy *vm_policy; /* NUMA policy for the VMA */ 59671 struct mempolicy *vm_policy; /* NUMA policy for the VMA */
@@ -59343,9 +59700,9 @@ diff -urNp linux-3.0.7/include/linux/mm_types.h linux-3.0.7/include/linux/mm_typ
59343 }; 59700 };
59344 59701
59345 static inline void mm_init_cpumask(struct mm_struct *mm) 59702 static inline void mm_init_cpumask(struct mm_struct *mm)
59346diff -urNp linux-3.0.7/include/linux/mmu_notifier.h linux-3.0.7/include/linux/mmu_notifier.h 59703diff -urNp linux-3.0.8/include/linux/mmu_notifier.h linux-3.0.8/include/linux/mmu_notifier.h
59347--- linux-3.0.7/include/linux/mmu_notifier.h 2011-07-21 22:17:23.000000000 -0400 59704--- linux-3.0.8/include/linux/mmu_notifier.h 2011-07-21 22:17:23.000000000 -0400
59348+++ linux-3.0.7/include/linux/mmu_notifier.h 2011-08-23 21:47:56.000000000 -0400 59705+++ linux-3.0.8/include/linux/mmu_notifier.h 2011-08-23 21:47:56.000000000 -0400
59349@@ -255,12 +255,12 @@ static inline void mmu_notifier_mm_destr 59706@@ -255,12 +255,12 @@ static inline void mmu_notifier_mm_destr
59350 */ 59707 */
59351 #define ptep_clear_flush_notify(__vma, __address, __ptep) \ 59708 #define ptep_clear_flush_notify(__vma, __address, __ptep) \
@@ -59362,9 +59719,9 @@ diff -urNp linux-3.0.7/include/linux/mmu_notifier.h linux-3.0.7/include/linux/mm
59362 }) 59719 })
59363 59720
59364 #define pmdp_clear_flush_notify(__vma, __address, __pmdp) \ 59721 #define pmdp_clear_flush_notify(__vma, __address, __pmdp) \
59365diff -urNp linux-3.0.7/include/linux/mmzone.h linux-3.0.7/include/linux/mmzone.h 59722diff -urNp linux-3.0.8/include/linux/mmzone.h linux-3.0.8/include/linux/mmzone.h
59366--- linux-3.0.7/include/linux/mmzone.h 2011-07-21 22:17:23.000000000 -0400 59723--- linux-3.0.8/include/linux/mmzone.h 2011-07-21 22:17:23.000000000 -0400
59367+++ linux-3.0.7/include/linux/mmzone.h 2011-08-23 21:47:56.000000000 -0400 59724+++ linux-3.0.8/include/linux/mmzone.h 2011-08-23 21:47:56.000000000 -0400
59368@@ -350,7 +350,7 @@ struct zone { 59725@@ -350,7 +350,7 @@ struct zone {
59369 unsigned long flags; /* zone flags, see below */ 59726 unsigned long flags; /* zone flags, see below */
59370 59727
@@ -59374,9 +59731,9 @@ diff -urNp linux-3.0.7/include/linux/mmzone.h linux-3.0.7/include/linux/mmzone.h
59374 59731
59375 /* 59732 /*
59376 * The target ratio of ACTIVE_ANON to INACTIVE_ANON pages on 59733 * The target ratio of ACTIVE_ANON to INACTIVE_ANON pages on
59377diff -urNp linux-3.0.7/include/linux/mod_devicetable.h linux-3.0.7/include/linux/mod_devicetable.h 59734diff -urNp linux-3.0.8/include/linux/mod_devicetable.h linux-3.0.8/include/linux/mod_devicetable.h
59378--- linux-3.0.7/include/linux/mod_devicetable.h 2011-07-21 22:17:23.000000000 -0400 59735--- linux-3.0.8/include/linux/mod_devicetable.h 2011-07-21 22:17:23.000000000 -0400
59379+++ linux-3.0.7/include/linux/mod_devicetable.h 2011-08-23 21:47:56.000000000 -0400 59736+++ linux-3.0.8/include/linux/mod_devicetable.h 2011-08-23 21:47:56.000000000 -0400
59380@@ -12,7 +12,7 @@ 59737@@ -12,7 +12,7 @@
59381 typedef unsigned long kernel_ulong_t; 59738 typedef unsigned long kernel_ulong_t;
59382 #endif 59739 #endif
@@ -59395,9 +59752,9 @@ diff -urNp linux-3.0.7/include/linux/mod_devicetable.h linux-3.0.7/include/linux
59395 59752
59396 struct hid_device_id { 59753 struct hid_device_id {
59397 __u16 bus; 59754 __u16 bus;
59398diff -urNp linux-3.0.7/include/linux/module.h linux-3.0.7/include/linux/module.h 59755diff -urNp linux-3.0.8/include/linux/module.h linux-3.0.8/include/linux/module.h
59399--- linux-3.0.7/include/linux/module.h 2011-07-21 22:17:23.000000000 -0400 59756--- linux-3.0.8/include/linux/module.h 2011-07-21 22:17:23.000000000 -0400
59400+++ linux-3.0.7/include/linux/module.h 2011-08-23 21:47:56.000000000 -0400 59757+++ linux-3.0.8/include/linux/module.h 2011-08-23 21:47:56.000000000 -0400
59401@@ -16,6 +16,7 @@ 59758@@ -16,6 +16,7 @@
59402 #include <linux/kobject.h> 59759 #include <linux/kobject.h>
59403 #include <linux/moduleparam.h> 59760 #include <linux/moduleparam.h>
@@ -59492,9 +59849,9 @@ diff -urNp linux-3.0.7/include/linux/module.h linux-3.0.7/include/linux/module.h
59492 } 59849 }
59493 59850
59494 /* Search for module by name: must hold module_mutex. */ 59851 /* Search for module by name: must hold module_mutex. */
59495diff -urNp linux-3.0.7/include/linux/moduleloader.h linux-3.0.7/include/linux/moduleloader.h 59852diff -urNp linux-3.0.8/include/linux/moduleloader.h linux-3.0.8/include/linux/moduleloader.h
59496--- linux-3.0.7/include/linux/moduleloader.h 2011-07-21 22:17:23.000000000 -0400 59853--- linux-3.0.8/include/linux/moduleloader.h 2011-07-21 22:17:23.000000000 -0400
59497+++ linux-3.0.7/include/linux/moduleloader.h 2011-08-23 21:47:56.000000000 -0400 59854+++ linux-3.0.8/include/linux/moduleloader.h 2011-08-23 21:47:56.000000000 -0400
59498@@ -20,9 +20,21 @@ unsigned int arch_mod_section_prepend(st 59855@@ -20,9 +20,21 @@ unsigned int arch_mod_section_prepend(st
59499 sections. Returns NULL on failure. */ 59856 sections. Returns NULL on failure. */
59500 void *module_alloc(unsigned long size); 59857 void *module_alloc(unsigned long size);
@@ -59517,9 +59874,9 @@ diff -urNp linux-3.0.7/include/linux/moduleloader.h linux-3.0.7/include/linux/mo
59517 /* Apply the given relocation to the (simplified) ELF. Return -error 59874 /* Apply the given relocation to the (simplified) ELF. Return -error
59518 or 0. */ 59875 or 0. */
59519 int apply_relocate(Elf_Shdr *sechdrs, 59876 int apply_relocate(Elf_Shdr *sechdrs,
59520diff -urNp linux-3.0.7/include/linux/moduleparam.h linux-3.0.7/include/linux/moduleparam.h 59877diff -urNp linux-3.0.8/include/linux/moduleparam.h linux-3.0.8/include/linux/moduleparam.h
59521--- linux-3.0.7/include/linux/moduleparam.h 2011-07-21 22:17:23.000000000 -0400 59878--- linux-3.0.8/include/linux/moduleparam.h 2011-07-21 22:17:23.000000000 -0400
59522+++ linux-3.0.7/include/linux/moduleparam.h 2011-08-23 21:47:56.000000000 -0400 59879+++ linux-3.0.8/include/linux/moduleparam.h 2011-08-23 21:47:56.000000000 -0400
59523@@ -255,7 +255,7 @@ static inline void __kernel_param_unlock 59880@@ -255,7 +255,7 @@ static inline void __kernel_param_unlock
59524 * @len is usually just sizeof(string). 59881 * @len is usually just sizeof(string).
59525 */ 59882 */
@@ -59538,9 +59895,9 @@ diff -urNp linux-3.0.7/include/linux/moduleparam.h linux-3.0.7/include/linux/mod
59538 = { .max = ARRAY_SIZE(array), .num = nump, \ 59895 = { .max = ARRAY_SIZE(array), .num = nump, \
59539 .ops = &param_ops_##type, \ 59896 .ops = &param_ops_##type, \
59540 .elemsize = sizeof(array[0]), .elem = array }; \ 59897 .elemsize = sizeof(array[0]), .elem = array }; \
59541diff -urNp linux-3.0.7/include/linux/namei.h linux-3.0.7/include/linux/namei.h 59898diff -urNp linux-3.0.8/include/linux/namei.h linux-3.0.8/include/linux/namei.h
59542--- linux-3.0.7/include/linux/namei.h 2011-07-21 22:17:23.000000000 -0400 59899--- linux-3.0.8/include/linux/namei.h 2011-07-21 22:17:23.000000000 -0400
59543+++ linux-3.0.7/include/linux/namei.h 2011-08-23 21:47:56.000000000 -0400 59900+++ linux-3.0.8/include/linux/namei.h 2011-08-23 21:47:56.000000000 -0400
59544@@ -24,7 +24,7 @@ struct nameidata { 59901@@ -24,7 +24,7 @@ struct nameidata {
59545 unsigned seq; 59902 unsigned seq;
59546 int last_type; 59903 int last_type;
@@ -59565,9 +59922,9 @@ diff -urNp linux-3.0.7/include/linux/namei.h linux-3.0.7/include/linux/namei.h
59565 { 59922 {
59566 return nd->saved_names[nd->depth]; 59923 return nd->saved_names[nd->depth];
59567 } 59924 }
59568diff -urNp linux-3.0.7/include/linux/netdevice.h linux-3.0.7/include/linux/netdevice.h 59925diff -urNp linux-3.0.8/include/linux/netdevice.h linux-3.0.8/include/linux/netdevice.h
59569--- linux-3.0.7/include/linux/netdevice.h 2011-09-02 18:11:21.000000000 -0400 59926--- linux-3.0.8/include/linux/netdevice.h 2011-10-24 08:05:21.000000000 -0400
59570+++ linux-3.0.7/include/linux/netdevice.h 2011-08-23 21:47:56.000000000 -0400 59927+++ linux-3.0.8/include/linux/netdevice.h 2011-08-23 21:47:56.000000000 -0400
59571@@ -979,6 +979,7 @@ struct net_device_ops { 59928@@ -979,6 +979,7 @@ struct net_device_ops {
59572 int (*ndo_set_features)(struct net_device *dev, 59929 int (*ndo_set_features)(struct net_device *dev,
59573 u32 features); 59930 u32 features);
@@ -59576,9 +59933,9 @@ diff -urNp linux-3.0.7/include/linux/netdevice.h linux-3.0.7/include/linux/netde
59576 59933
59577 /* 59934 /*
59578 * The DEVICE structure. 59935 * The DEVICE structure.
59579diff -urNp linux-3.0.7/include/linux/netfilter/xt_gradm.h linux-3.0.7/include/linux/netfilter/xt_gradm.h 59936diff -urNp linux-3.0.8/include/linux/netfilter/xt_gradm.h linux-3.0.8/include/linux/netfilter/xt_gradm.h
59580--- linux-3.0.7/include/linux/netfilter/xt_gradm.h 1969-12-31 19:00:00.000000000 -0500 59937--- linux-3.0.8/include/linux/netfilter/xt_gradm.h 1969-12-31 19:00:00.000000000 -0500
59581+++ linux-3.0.7/include/linux/netfilter/xt_gradm.h 2011-08-23 21:48:14.000000000 -0400 59938+++ linux-3.0.8/include/linux/netfilter/xt_gradm.h 2011-08-23 21:48:14.000000000 -0400
59582@@ -0,0 +1,9 @@ 59939@@ -0,0 +1,9 @@
59583+#ifndef _LINUX_NETFILTER_XT_GRADM_H 59940+#ifndef _LINUX_NETFILTER_XT_GRADM_H
59584+#define _LINUX_NETFILTER_XT_GRADM_H 1 59941+#define _LINUX_NETFILTER_XT_GRADM_H 1
@@ -59589,9 +59946,9 @@ diff -urNp linux-3.0.7/include/linux/netfilter/xt_gradm.h linux-3.0.7/include/li
59589+}; 59946+};
59590+ 59947+
59591+#endif 59948+#endif
59592diff -urNp linux-3.0.7/include/linux/of_pdt.h linux-3.0.7/include/linux/of_pdt.h 59949diff -urNp linux-3.0.8/include/linux/of_pdt.h linux-3.0.8/include/linux/of_pdt.h
59593--- linux-3.0.7/include/linux/of_pdt.h 2011-07-21 22:17:23.000000000 -0400 59950--- linux-3.0.8/include/linux/of_pdt.h 2011-07-21 22:17:23.000000000 -0400
59594+++ linux-3.0.7/include/linux/of_pdt.h 2011-08-30 06:20:11.000000000 -0400 59951+++ linux-3.0.8/include/linux/of_pdt.h 2011-08-30 06:20:11.000000000 -0400
59595@@ -32,7 +32,7 @@ struct of_pdt_ops { 59952@@ -32,7 +32,7 @@ struct of_pdt_ops {
59596 59953
59597 /* return 0 on success; fill in 'len' with number of bytes in path */ 59954 /* return 0 on success; fill in 'len' with number of bytes in path */
@@ -59601,9 +59958,9 @@ diff -urNp linux-3.0.7/include/linux/of_pdt.h linux-3.0.7/include/linux/of_pdt.h
59601 59958
59602 extern void *prom_early_alloc(unsigned long size); 59959 extern void *prom_early_alloc(unsigned long size);
59603 59960
59604diff -urNp linux-3.0.7/include/linux/oprofile.h linux-3.0.7/include/linux/oprofile.h 59961diff -urNp linux-3.0.8/include/linux/oprofile.h linux-3.0.8/include/linux/oprofile.h
59605--- linux-3.0.7/include/linux/oprofile.h 2011-07-21 22:17:23.000000000 -0400 59962--- linux-3.0.8/include/linux/oprofile.h 2011-07-21 22:17:23.000000000 -0400
59606+++ linux-3.0.7/include/linux/oprofile.h 2011-08-23 21:47:56.000000000 -0400 59963+++ linux-3.0.8/include/linux/oprofile.h 2011-08-23 21:47:56.000000000 -0400
59607@@ -139,9 +139,9 @@ int oprofilefs_create_ulong(struct super 59964@@ -139,9 +139,9 @@ int oprofilefs_create_ulong(struct super
59608 int oprofilefs_create_ro_ulong(struct super_block * sb, struct dentry * root, 59965 int oprofilefs_create_ro_ulong(struct super_block * sb, struct dentry * root,
59609 char const * name, ulong * val); 59966 char const * name, ulong * val);
@@ -59616,9 +59973,9 @@ diff -urNp linux-3.0.7/include/linux/oprofile.h linux-3.0.7/include/linux/oprofi
59616 59973
59617 /** create a directory */ 59974 /** create a directory */
59618 struct dentry * oprofilefs_mkdir(struct super_block * sb, struct dentry * root, 59975 struct dentry * oprofilefs_mkdir(struct super_block * sb, struct dentry * root,
59619diff -urNp linux-3.0.7/include/linux/padata.h linux-3.0.7/include/linux/padata.h 59976diff -urNp linux-3.0.8/include/linux/padata.h linux-3.0.8/include/linux/padata.h
59620--- linux-3.0.7/include/linux/padata.h 2011-07-21 22:17:23.000000000 -0400 59977--- linux-3.0.8/include/linux/padata.h 2011-07-21 22:17:23.000000000 -0400
59621+++ linux-3.0.7/include/linux/padata.h 2011-08-23 21:47:56.000000000 -0400 59978+++ linux-3.0.8/include/linux/padata.h 2011-08-23 21:47:56.000000000 -0400
59622@@ -129,7 +129,7 @@ struct parallel_data { 59979@@ -129,7 +129,7 @@ struct parallel_data {
59623 struct padata_instance *pinst; 59980 struct padata_instance *pinst;
59624 struct padata_parallel_queue __percpu *pqueue; 59981 struct padata_parallel_queue __percpu *pqueue;
@@ -59628,9 +59985,9 @@ diff -urNp linux-3.0.7/include/linux/padata.h linux-3.0.7/include/linux/padata.h
59628 atomic_t reorder_objects; 59985 atomic_t reorder_objects;
59629 atomic_t refcnt; 59986 atomic_t refcnt;
59630 unsigned int max_seq_nr; 59987 unsigned int max_seq_nr;
59631diff -urNp linux-3.0.7/include/linux/perf_event.h linux-3.0.7/include/linux/perf_event.h 59988diff -urNp linux-3.0.8/include/linux/perf_event.h linux-3.0.8/include/linux/perf_event.h
59632--- linux-3.0.7/include/linux/perf_event.h 2011-07-21 22:17:23.000000000 -0400 59989--- linux-3.0.8/include/linux/perf_event.h 2011-07-21 22:17:23.000000000 -0400
59633+++ linux-3.0.7/include/linux/perf_event.h 2011-08-23 21:47:56.000000000 -0400 59990+++ linux-3.0.8/include/linux/perf_event.h 2011-08-23 21:47:56.000000000 -0400
59634@@ -761,8 +761,8 @@ struct perf_event { 59991@@ -761,8 +761,8 @@ struct perf_event {
59635 59992
59636 enum perf_event_active_state state; 59993 enum perf_event_active_state state;
@@ -59653,9 +60010,9 @@ diff -urNp linux-3.0.7/include/linux/perf_event.h linux-3.0.7/include/linux/perf
59653 60010
59654 /* 60011 /*
59655 * Protect attach/detach and child_list: 60012 * Protect attach/detach and child_list:
59656diff -urNp linux-3.0.7/include/linux/pipe_fs_i.h linux-3.0.7/include/linux/pipe_fs_i.h 60013diff -urNp linux-3.0.8/include/linux/pipe_fs_i.h linux-3.0.8/include/linux/pipe_fs_i.h
59657--- linux-3.0.7/include/linux/pipe_fs_i.h 2011-07-21 22:17:23.000000000 -0400 60014--- linux-3.0.8/include/linux/pipe_fs_i.h 2011-07-21 22:17:23.000000000 -0400
59658+++ linux-3.0.7/include/linux/pipe_fs_i.h 2011-08-23 21:47:56.000000000 -0400 60015+++ linux-3.0.8/include/linux/pipe_fs_i.h 2011-08-23 21:47:56.000000000 -0400
59659@@ -46,9 +46,9 @@ struct pipe_buffer { 60016@@ -46,9 +46,9 @@ struct pipe_buffer {
59660 struct pipe_inode_info { 60017 struct pipe_inode_info {
59661 wait_queue_head_t wait; 60018 wait_queue_head_t wait;
@@ -59669,9 +60026,9 @@ diff -urNp linux-3.0.7/include/linux/pipe_fs_i.h linux-3.0.7/include/linux/pipe_
59669 unsigned int r_counter; 60026 unsigned int r_counter;
59670 unsigned int w_counter; 60027 unsigned int w_counter;
59671 struct page *tmp_page; 60028 struct page *tmp_page;
59672diff -urNp linux-3.0.7/include/linux/pm_runtime.h linux-3.0.7/include/linux/pm_runtime.h 60029diff -urNp linux-3.0.8/include/linux/pm_runtime.h linux-3.0.8/include/linux/pm_runtime.h
59673--- linux-3.0.7/include/linux/pm_runtime.h 2011-07-21 22:17:23.000000000 -0400 60030--- linux-3.0.8/include/linux/pm_runtime.h 2011-07-21 22:17:23.000000000 -0400
59674+++ linux-3.0.7/include/linux/pm_runtime.h 2011-08-23 21:47:56.000000000 -0400 60031+++ linux-3.0.8/include/linux/pm_runtime.h 2011-08-23 21:47:56.000000000 -0400
59675@@ -94,7 +94,7 @@ static inline bool pm_runtime_callbacks_ 60032@@ -94,7 +94,7 @@ static inline bool pm_runtime_callbacks_
59676 60033
59677 static inline void pm_runtime_mark_last_busy(struct device *dev) 60034 static inline void pm_runtime_mark_last_busy(struct device *dev)
@@ -59681,9 +60038,9 @@ diff -urNp linux-3.0.7/include/linux/pm_runtime.h linux-3.0.7/include/linux/pm_r
59681 } 60038 }
59682 60039
59683 #else /* !CONFIG_PM_RUNTIME */ 60040 #else /* !CONFIG_PM_RUNTIME */
59684diff -urNp linux-3.0.7/include/linux/poison.h linux-3.0.7/include/linux/poison.h 60041diff -urNp linux-3.0.8/include/linux/poison.h linux-3.0.8/include/linux/poison.h
59685--- linux-3.0.7/include/linux/poison.h 2011-07-21 22:17:23.000000000 -0400 60042--- linux-3.0.8/include/linux/poison.h 2011-07-21 22:17:23.000000000 -0400
59686+++ linux-3.0.7/include/linux/poison.h 2011-08-23 21:47:56.000000000 -0400 60043+++ linux-3.0.8/include/linux/poison.h 2011-08-23 21:47:56.000000000 -0400
59687@@ -19,8 +19,8 @@ 60044@@ -19,8 +19,8 @@
59688 * under normal circumstances, used to verify that nobody uses 60045 * under normal circumstances, used to verify that nobody uses
59689 * non-initialized list entries. 60046 * non-initialized list entries.
@@ -59695,9 +60052,9 @@ diff -urNp linux-3.0.7/include/linux/poison.h linux-3.0.7/include/linux/poison.h
59695 60052
59696 /********** include/linux/timer.h **********/ 60053 /********** include/linux/timer.h **********/
59697 /* 60054 /*
59698diff -urNp linux-3.0.7/include/linux/preempt.h linux-3.0.7/include/linux/preempt.h 60055diff -urNp linux-3.0.8/include/linux/preempt.h linux-3.0.8/include/linux/preempt.h
59699--- linux-3.0.7/include/linux/preempt.h 2011-07-21 22:17:23.000000000 -0400 60056--- linux-3.0.8/include/linux/preempt.h 2011-07-21 22:17:23.000000000 -0400
59700+++ linux-3.0.7/include/linux/preempt.h 2011-08-23 21:47:56.000000000 -0400 60057+++ linux-3.0.8/include/linux/preempt.h 2011-08-23 21:47:56.000000000 -0400
59701@@ -115,7 +115,7 @@ struct preempt_ops { 60058@@ -115,7 +115,7 @@ struct preempt_ops {
59702 void (*sched_in)(struct preempt_notifier *notifier, int cpu); 60059 void (*sched_in)(struct preempt_notifier *notifier, int cpu);
59703 void (*sched_out)(struct preempt_notifier *notifier, 60060 void (*sched_out)(struct preempt_notifier *notifier,
@@ -59707,9 +60064,9 @@ diff -urNp linux-3.0.7/include/linux/preempt.h linux-3.0.7/include/linux/preempt
59707 60064
59708 /** 60065 /**
59709 * preempt_notifier - key for installing preemption notifiers 60066 * preempt_notifier - key for installing preemption notifiers
59710diff -urNp linux-3.0.7/include/linux/proc_fs.h linux-3.0.7/include/linux/proc_fs.h 60067diff -urNp linux-3.0.8/include/linux/proc_fs.h linux-3.0.8/include/linux/proc_fs.h
59711--- linux-3.0.7/include/linux/proc_fs.h 2011-07-21 22:17:23.000000000 -0400 60068--- linux-3.0.8/include/linux/proc_fs.h 2011-07-21 22:17:23.000000000 -0400
59712+++ linux-3.0.7/include/linux/proc_fs.h 2011-08-23 21:48:14.000000000 -0400 60069+++ linux-3.0.8/include/linux/proc_fs.h 2011-08-23 21:48:14.000000000 -0400
59713@@ -155,6 +155,19 @@ static inline struct proc_dir_entry *pro 60070@@ -155,6 +155,19 @@ static inline struct proc_dir_entry *pro
59714 return proc_create_data(name, mode, parent, proc_fops, NULL); 60071 return proc_create_data(name, mode, parent, proc_fops, NULL);
59715 } 60072 }
@@ -59739,9 +60096,9 @@ diff -urNp linux-3.0.7/include/linux/proc_fs.h linux-3.0.7/include/linux/proc_fs
59739 60096
59740 struct ctl_table_header; 60097 struct ctl_table_header;
59741 struct ctl_table; 60098 struct ctl_table;
59742diff -urNp linux-3.0.7/include/linux/ptrace.h linux-3.0.7/include/linux/ptrace.h 60099diff -urNp linux-3.0.8/include/linux/ptrace.h linux-3.0.8/include/linux/ptrace.h
59743--- linux-3.0.7/include/linux/ptrace.h 2011-07-21 22:17:23.000000000 -0400 60100--- linux-3.0.8/include/linux/ptrace.h 2011-07-21 22:17:23.000000000 -0400
59744+++ linux-3.0.7/include/linux/ptrace.h 2011-08-23 21:48:14.000000000 -0400 60101+++ linux-3.0.8/include/linux/ptrace.h 2011-08-23 21:48:14.000000000 -0400
59745@@ -115,10 +115,10 @@ extern void __ptrace_unlink(struct task_ 60102@@ -115,10 +115,10 @@ extern void __ptrace_unlink(struct task_
59746 extern void exit_ptrace(struct task_struct *tracer); 60103 extern void exit_ptrace(struct task_struct *tracer);
59747 #define PTRACE_MODE_READ 1 60104 #define PTRACE_MODE_READ 1
@@ -59755,9 +60112,9 @@ diff -urNp linux-3.0.7/include/linux/ptrace.h linux-3.0.7/include/linux/ptrace.h
59755 60112
59756 static inline int ptrace_reparented(struct task_struct *child) 60113 static inline int ptrace_reparented(struct task_struct *child)
59757 { 60114 {
59758diff -urNp linux-3.0.7/include/linux/random.h linux-3.0.7/include/linux/random.h 60115diff -urNp linux-3.0.8/include/linux/random.h linux-3.0.8/include/linux/random.h
59759--- linux-3.0.7/include/linux/random.h 2011-09-02 18:11:21.000000000 -0400 60116--- linux-3.0.8/include/linux/random.h 2011-10-24 08:05:21.000000000 -0400
59760+++ linux-3.0.7/include/linux/random.h 2011-08-23 21:47:56.000000000 -0400 60117+++ linux-3.0.8/include/linux/random.h 2011-08-23 21:47:56.000000000 -0400
59761@@ -69,12 +69,17 @@ void srandom32(u32 seed); 60118@@ -69,12 +69,17 @@ void srandom32(u32 seed);
59762 60119
59763 u32 prandom32(struct rnd_state *); 60120 u32 prandom32(struct rnd_state *);
@@ -59777,9 +60134,9 @@ diff -urNp linux-3.0.7/include/linux/random.h linux-3.0.7/include/linux/random.h
59777 } 60134 }
59778 60135
59779 /** 60136 /**
59780diff -urNp linux-3.0.7/include/linux/reboot.h linux-3.0.7/include/linux/reboot.h 60137diff -urNp linux-3.0.8/include/linux/reboot.h linux-3.0.8/include/linux/reboot.h
59781--- linux-3.0.7/include/linux/reboot.h 2011-07-21 22:17:23.000000000 -0400 60138--- linux-3.0.8/include/linux/reboot.h 2011-07-21 22:17:23.000000000 -0400
59782+++ linux-3.0.7/include/linux/reboot.h 2011-08-23 21:47:56.000000000 -0400 60139+++ linux-3.0.8/include/linux/reboot.h 2011-08-23 21:47:56.000000000 -0400
59783@@ -47,9 +47,9 @@ extern int unregister_reboot_notifier(st 60140@@ -47,9 +47,9 @@ extern int unregister_reboot_notifier(st
59784 * Architecture-specific implementations of sys_reboot commands. 60141 * Architecture-specific implementations of sys_reboot commands.
59785 */ 60142 */
@@ -59815,9 +60172,9 @@ diff -urNp linux-3.0.7/include/linux/reboot.h linux-3.0.7/include/linux/reboot.h
59815 #include <asm/emergency-restart.h> 60172 #include <asm/emergency-restart.h>
59816 60173
59817 #endif 60174 #endif
59818diff -urNp linux-3.0.7/include/linux/reiserfs_fs.h linux-3.0.7/include/linux/reiserfs_fs.h 60175diff -urNp linux-3.0.8/include/linux/reiserfs_fs.h linux-3.0.8/include/linux/reiserfs_fs.h
59819--- linux-3.0.7/include/linux/reiserfs_fs.h 2011-07-21 22:17:23.000000000 -0400 60176--- linux-3.0.8/include/linux/reiserfs_fs.h 2011-07-21 22:17:23.000000000 -0400
59820+++ linux-3.0.7/include/linux/reiserfs_fs.h 2011-08-23 21:47:56.000000000 -0400 60177+++ linux-3.0.8/include/linux/reiserfs_fs.h 2011-08-23 21:47:56.000000000 -0400
59821@@ -1406,7 +1406,7 @@ static inline loff_t max_reiserfs_offset 60178@@ -1406,7 +1406,7 @@ static inline loff_t max_reiserfs_offset
59822 #define REISERFS_USER_MEM 1 /* reiserfs user memory mode */ 60179 #define REISERFS_USER_MEM 1 /* reiserfs user memory mode */
59823 60180
@@ -59827,9 +60184,9 @@ diff -urNp linux-3.0.7/include/linux/reiserfs_fs.h linux-3.0.7/include/linux/rei
59827 #define FILESYSTEM_CHANGED_TB(tb) (get_generation((tb)->tb_sb) != (tb)->fs_gen) 60184 #define FILESYSTEM_CHANGED_TB(tb) (get_generation((tb)->tb_sb) != (tb)->fs_gen)
59828 #define __fs_changed(gen,s) (gen != get_generation (s)) 60185 #define __fs_changed(gen,s) (gen != get_generation (s))
59829 #define fs_changed(gen,s) \ 60186 #define fs_changed(gen,s) \
59830diff -urNp linux-3.0.7/include/linux/reiserfs_fs_sb.h linux-3.0.7/include/linux/reiserfs_fs_sb.h 60187diff -urNp linux-3.0.8/include/linux/reiserfs_fs_sb.h linux-3.0.8/include/linux/reiserfs_fs_sb.h
59831--- linux-3.0.7/include/linux/reiserfs_fs_sb.h 2011-07-21 22:17:23.000000000 -0400 60188--- linux-3.0.8/include/linux/reiserfs_fs_sb.h 2011-07-21 22:17:23.000000000 -0400
59832+++ linux-3.0.7/include/linux/reiserfs_fs_sb.h 2011-08-23 21:47:56.000000000 -0400 60189+++ linux-3.0.8/include/linux/reiserfs_fs_sb.h 2011-08-23 21:47:56.000000000 -0400
59833@@ -386,7 +386,7 @@ struct reiserfs_sb_info { 60190@@ -386,7 +386,7 @@ struct reiserfs_sb_info {
59834 /* Comment? -Hans */ 60191 /* Comment? -Hans */
59835 wait_queue_head_t s_wait; 60192 wait_queue_head_t s_wait;
@@ -59839,9 +60196,9 @@ diff -urNp linux-3.0.7/include/linux/reiserfs_fs_sb.h linux-3.0.7/include/linux/
59839 // tree gets re-balanced 60196 // tree gets re-balanced
59840 unsigned long s_properties; /* File system properties. Currently holds 60197 unsigned long s_properties; /* File system properties. Currently holds
59841 on-disk FS format */ 60198 on-disk FS format */
59842diff -urNp linux-3.0.7/include/linux/relay.h linux-3.0.7/include/linux/relay.h 60199diff -urNp linux-3.0.8/include/linux/relay.h linux-3.0.8/include/linux/relay.h
59843--- linux-3.0.7/include/linux/relay.h 2011-07-21 22:17:23.000000000 -0400 60200--- linux-3.0.8/include/linux/relay.h 2011-07-21 22:17:23.000000000 -0400
59844+++ linux-3.0.7/include/linux/relay.h 2011-08-23 21:47:56.000000000 -0400 60201+++ linux-3.0.8/include/linux/relay.h 2011-08-23 21:47:56.000000000 -0400
59845@@ -159,7 +159,7 @@ struct rchan_callbacks 60202@@ -159,7 +159,7 @@ struct rchan_callbacks
59846 * The callback should return 0 if successful, negative if not. 60203 * The callback should return 0 if successful, negative if not.
59847 */ 60204 */
@@ -59851,9 +60208,9 @@ diff -urNp linux-3.0.7/include/linux/relay.h linux-3.0.7/include/linux/relay.h
59851 60208
59852 /* 60209 /*
59853 * CONFIG_RELAY kernel API, kernel/relay.c 60210 * CONFIG_RELAY kernel API, kernel/relay.c
59854diff -urNp linux-3.0.7/include/linux/rfkill.h linux-3.0.7/include/linux/rfkill.h 60211diff -urNp linux-3.0.8/include/linux/rfkill.h linux-3.0.8/include/linux/rfkill.h
59855--- linux-3.0.7/include/linux/rfkill.h 2011-07-21 22:17:23.000000000 -0400 60212--- linux-3.0.8/include/linux/rfkill.h 2011-07-21 22:17:23.000000000 -0400
59856+++ linux-3.0.7/include/linux/rfkill.h 2011-08-23 21:47:56.000000000 -0400 60213+++ linux-3.0.8/include/linux/rfkill.h 2011-08-23 21:47:56.000000000 -0400
59857@@ -147,6 +147,7 @@ struct rfkill_ops { 60214@@ -147,6 +147,7 @@ struct rfkill_ops {
59858 void (*query)(struct rfkill *rfkill, void *data); 60215 void (*query)(struct rfkill *rfkill, void *data);
59859 int (*set_block)(void *data, bool blocked); 60216 int (*set_block)(void *data, bool blocked);
@@ -59862,9 +60219,9 @@ diff -urNp linux-3.0.7/include/linux/rfkill.h linux-3.0.7/include/linux/rfkill.h
59862 60219
59863 #if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE) 60220 #if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE)
59864 /** 60221 /**
59865diff -urNp linux-3.0.7/include/linux/rmap.h linux-3.0.7/include/linux/rmap.h 60222diff -urNp linux-3.0.8/include/linux/rmap.h linux-3.0.8/include/linux/rmap.h
59866--- linux-3.0.7/include/linux/rmap.h 2011-07-21 22:17:23.000000000 -0400 60223--- linux-3.0.8/include/linux/rmap.h 2011-07-21 22:17:23.000000000 -0400
59867+++ linux-3.0.7/include/linux/rmap.h 2011-08-23 21:47:56.000000000 -0400 60224+++ linux-3.0.8/include/linux/rmap.h 2011-08-23 21:47:56.000000000 -0400
59868@@ -119,8 +119,8 @@ static inline void anon_vma_unlock(struc 60225@@ -119,8 +119,8 @@ static inline void anon_vma_unlock(struc
59869 void anon_vma_init(void); /* create anon_vma_cachep */ 60226 void anon_vma_init(void); /* create anon_vma_cachep */
59870 int anon_vma_prepare(struct vm_area_struct *); 60227 int anon_vma_prepare(struct vm_area_struct *);
@@ -59876,9 +60233,9 @@ diff -urNp linux-3.0.7/include/linux/rmap.h linux-3.0.7/include/linux/rmap.h
59876 void __anon_vma_link(struct vm_area_struct *); 60233 void __anon_vma_link(struct vm_area_struct *);
59877 60234
59878 static inline void anon_vma_merge(struct vm_area_struct *vma, 60235 static inline void anon_vma_merge(struct vm_area_struct *vma,
59879diff -urNp linux-3.0.7/include/linux/sched.h linux-3.0.7/include/linux/sched.h 60236diff -urNp linux-3.0.8/include/linux/sched.h linux-3.0.8/include/linux/sched.h
59880--- linux-3.0.7/include/linux/sched.h 2011-10-17 23:17:09.000000000 -0400 60237--- linux-3.0.8/include/linux/sched.h 2011-10-24 08:05:32.000000000 -0400
59881+++ linux-3.0.7/include/linux/sched.h 2011-10-17 23:17:19.000000000 -0400 60238+++ linux-3.0.8/include/linux/sched.h 2011-10-17 23:17:19.000000000 -0400
59882@@ -100,6 +100,7 @@ struct bio_list; 60239@@ -100,6 +100,7 @@ struct bio_list;
59883 struct fs_struct; 60240 struct fs_struct;
59884 struct perf_event_context; 60241 struct perf_event_context;
@@ -60120,9 +60477,9 @@ diff -urNp linux-3.0.7/include/linux/sched.h linux-3.0.7/include/linux/sched.h
60120 extern void thread_info_cache_init(void); 60477 extern void thread_info_cache_init(void);
60121 60478
60122 #ifdef CONFIG_DEBUG_STACK_USAGE 60479 #ifdef CONFIG_DEBUG_STACK_USAGE
60123diff -urNp linux-3.0.7/include/linux/screen_info.h linux-3.0.7/include/linux/screen_info.h 60480diff -urNp linux-3.0.8/include/linux/screen_info.h linux-3.0.8/include/linux/screen_info.h
60124--- linux-3.0.7/include/linux/screen_info.h 2011-07-21 22:17:23.000000000 -0400 60481--- linux-3.0.8/include/linux/screen_info.h 2011-07-21 22:17:23.000000000 -0400
60125+++ linux-3.0.7/include/linux/screen_info.h 2011-08-23 21:47:56.000000000 -0400 60482+++ linux-3.0.8/include/linux/screen_info.h 2011-08-23 21:47:56.000000000 -0400
60126@@ -43,7 +43,8 @@ struct screen_info { 60483@@ -43,7 +43,8 @@ struct screen_info {
60127 __u16 pages; /* 0x32 */ 60484 __u16 pages; /* 0x32 */
60128 __u16 vesa_attributes; /* 0x34 */ 60485 __u16 vesa_attributes; /* 0x34 */
@@ -60133,9 +60490,9 @@ diff -urNp linux-3.0.7/include/linux/screen_info.h linux-3.0.7/include/linux/scr
60133 } __attribute__((packed)); 60490 } __attribute__((packed));
60134 60491
60135 #define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */ 60492 #define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */
60136diff -urNp linux-3.0.7/include/linux/security.h linux-3.0.7/include/linux/security.h 60493diff -urNp linux-3.0.8/include/linux/security.h linux-3.0.8/include/linux/security.h
60137--- linux-3.0.7/include/linux/security.h 2011-07-21 22:17:23.000000000 -0400 60494--- linux-3.0.8/include/linux/security.h 2011-07-21 22:17:23.000000000 -0400
60138+++ linux-3.0.7/include/linux/security.h 2011-08-23 21:48:14.000000000 -0400 60495+++ linux-3.0.8/include/linux/security.h 2011-08-23 21:48:14.000000000 -0400
60139@@ -36,6 +36,7 @@ 60496@@ -36,6 +36,7 @@
60140 #include <linux/key.h> 60497 #include <linux/key.h>
60141 #include <linux/xfrm.h> 60498 #include <linux/xfrm.h>
@@ -60144,9 +60501,9 @@ diff -urNp linux-3.0.7/include/linux/security.h linux-3.0.7/include/linux/securi
60144 #include <net/flow.h> 60501 #include <net/flow.h>
60145 60502
60146 /* Maximum number of letters for an LSM name string */ 60503 /* Maximum number of letters for an LSM name string */
60147diff -urNp linux-3.0.7/include/linux/seq_file.h linux-3.0.7/include/linux/seq_file.h 60504diff -urNp linux-3.0.8/include/linux/seq_file.h linux-3.0.8/include/linux/seq_file.h
60148--- linux-3.0.7/include/linux/seq_file.h 2011-07-21 22:17:23.000000000 -0400 60505--- linux-3.0.8/include/linux/seq_file.h 2011-07-21 22:17:23.000000000 -0400
60149+++ linux-3.0.7/include/linux/seq_file.h 2011-08-23 21:47:56.000000000 -0400 60506+++ linux-3.0.8/include/linux/seq_file.h 2011-08-23 21:47:56.000000000 -0400
60150@@ -32,6 +32,7 @@ struct seq_operations { 60507@@ -32,6 +32,7 @@ struct seq_operations {
60151 void * (*next) (struct seq_file *m, void *v, loff_t *pos); 60508 void * (*next) (struct seq_file *m, void *v, loff_t *pos);
60152 int (*show) (struct seq_file *m, void *v); 60509 int (*show) (struct seq_file *m, void *v);
@@ -60155,9 +60512,21 @@ diff -urNp linux-3.0.7/include/linux/seq_file.h linux-3.0.7/include/linux/seq_fi
60155 60512
60156 #define SEQ_SKIP 1 60513 #define SEQ_SKIP 1
60157 60514
60158diff -urNp linux-3.0.7/include/linux/shm.h linux-3.0.7/include/linux/shm.h 60515diff -urNp linux-3.0.8/include/linux/shmem_fs.h linux-3.0.8/include/linux/shmem_fs.h
60159--- linux-3.0.7/include/linux/shm.h 2011-07-21 22:17:23.000000000 -0400 60516--- linux-3.0.8/include/linux/shmem_fs.h 2011-07-21 22:17:23.000000000 -0400
60160+++ linux-3.0.7/include/linux/shm.h 2011-08-23 21:48:14.000000000 -0400 60517+++ linux-3.0.8/include/linux/shmem_fs.h 2011-08-23 21:47:56.000000000 -0400
60518@@ -10,7 +10,7 @@
60519
60520 #define SHMEM_NR_DIRECT 16
60521
60522-#define SHMEM_SYMLINK_INLINE_LEN (SHMEM_NR_DIRECT * sizeof(swp_entry_t))
60523+#define SHMEM_SYMLINK_INLINE_LEN 64
60524
60525 struct shmem_inode_info {
60526 spinlock_t lock;
60527diff -urNp linux-3.0.8/include/linux/shm.h linux-3.0.8/include/linux/shm.h
60528--- linux-3.0.8/include/linux/shm.h 2011-07-21 22:17:23.000000000 -0400
60529+++ linux-3.0.8/include/linux/shm.h 2011-08-23 21:48:14.000000000 -0400
60161@@ -95,6 +95,10 @@ struct shmid_kernel /* private to the ke 60530@@ -95,6 +95,10 @@ struct shmid_kernel /* private to the ke
60162 pid_t shm_cprid; 60531 pid_t shm_cprid;
60163 pid_t shm_lprid; 60532 pid_t shm_lprid;
@@ -60169,21 +60538,9 @@ diff -urNp linux-3.0.7/include/linux/shm.h linux-3.0.7/include/linux/shm.h
60169 }; 60538 };
60170 60539
60171 /* shm_mode upper byte flags */ 60540 /* shm_mode upper byte flags */
60172diff -urNp linux-3.0.7/include/linux/shmem_fs.h linux-3.0.7/include/linux/shmem_fs.h 60541diff -urNp linux-3.0.8/include/linux/skbuff.h linux-3.0.8/include/linux/skbuff.h
60173--- linux-3.0.7/include/linux/shmem_fs.h 2011-07-21 22:17:23.000000000 -0400 60542--- linux-3.0.8/include/linux/skbuff.h 2011-07-21 22:17:23.000000000 -0400
60174+++ linux-3.0.7/include/linux/shmem_fs.h 2011-08-23 21:47:56.000000000 -0400 60543+++ linux-3.0.8/include/linux/skbuff.h 2011-08-23 21:47:56.000000000 -0400
60175@@ -10,7 +10,7 @@
60176
60177 #define SHMEM_NR_DIRECT 16
60178
60179-#define SHMEM_SYMLINK_INLINE_LEN (SHMEM_NR_DIRECT * sizeof(swp_entry_t))
60180+#define SHMEM_SYMLINK_INLINE_LEN 64
60181
60182 struct shmem_inode_info {
60183 spinlock_t lock;
60184diff -urNp linux-3.0.7/include/linux/skbuff.h linux-3.0.7/include/linux/skbuff.h
60185--- linux-3.0.7/include/linux/skbuff.h 2011-07-21 22:17:23.000000000 -0400
60186+++ linux-3.0.7/include/linux/skbuff.h 2011-08-23 21:47:56.000000000 -0400
60187@@ -592,7 +592,7 @@ static inline struct skb_shared_hwtstamp 60544@@ -592,7 +592,7 @@ static inline struct skb_shared_hwtstamp
60188 */ 60545 */
60189 static inline int skb_queue_empty(const struct sk_buff_head *list) 60546 static inline int skb_queue_empty(const struct sk_buff_head *list)
@@ -60220,9 +60577,27 @@ diff -urNp linux-3.0.7/include/linux/skbuff.h linux-3.0.7/include/linux/skbuff.h
60220 #endif 60577 #endif
60221 60578
60222 extern int ___pskb_trim(struct sk_buff *skb, unsigned int len); 60579 extern int ___pskb_trim(struct sk_buff *skb, unsigned int len);
60223diff -urNp linux-3.0.7/include/linux/slab.h linux-3.0.7/include/linux/slab.h 60580diff -urNp linux-3.0.8/include/linux/slab_def.h linux-3.0.8/include/linux/slab_def.h
60224--- linux-3.0.7/include/linux/slab.h 2011-07-21 22:17:23.000000000 -0400 60581--- linux-3.0.8/include/linux/slab_def.h 2011-07-21 22:17:23.000000000 -0400
60225+++ linux-3.0.7/include/linux/slab.h 2011-08-23 21:47:56.000000000 -0400 60582+++ linux-3.0.8/include/linux/slab_def.h 2011-08-23 21:47:56.000000000 -0400
60583@@ -96,10 +96,10 @@ struct kmem_cache {
60584 unsigned long node_allocs;
60585 unsigned long node_frees;
60586 unsigned long node_overflow;
60587- atomic_t allochit;
60588- atomic_t allocmiss;
60589- atomic_t freehit;
60590- atomic_t freemiss;
60591+ atomic_unchecked_t allochit;
60592+ atomic_unchecked_t allocmiss;
60593+ atomic_unchecked_t freehit;
60594+ atomic_unchecked_t freemiss;
60595
60596 /*
60597 * If debugging is enabled, then the allocator can add additional
60598diff -urNp linux-3.0.8/include/linux/slab.h linux-3.0.8/include/linux/slab.h
60599--- linux-3.0.8/include/linux/slab.h 2011-07-21 22:17:23.000000000 -0400
60600+++ linux-3.0.8/include/linux/slab.h 2011-08-23 21:47:56.000000000 -0400
60226@@ -11,12 +11,20 @@ 60601@@ -11,12 +11,20 @@
60227 60602
60228 #include <linux/gfp.h> 60603 #include <linux/gfp.h>
@@ -60329,27 +60704,9 @@ diff -urNp linux-3.0.7/include/linux/slab.h linux-3.0.7/include/linux/slab.h
60329+}) 60704+})
60330+ 60705+
60331 #endif /* _LINUX_SLAB_H */ 60706 #endif /* _LINUX_SLAB_H */
60332diff -urNp linux-3.0.7/include/linux/slab_def.h linux-3.0.7/include/linux/slab_def.h 60707diff -urNp linux-3.0.8/include/linux/slub_def.h linux-3.0.8/include/linux/slub_def.h
60333--- linux-3.0.7/include/linux/slab_def.h 2011-07-21 22:17:23.000000000 -0400 60708--- linux-3.0.8/include/linux/slub_def.h 2011-07-21 22:17:23.000000000 -0400
60334+++ linux-3.0.7/include/linux/slab_def.h 2011-08-23 21:47:56.000000000 -0400 60709+++ linux-3.0.8/include/linux/slub_def.h 2011-08-23 21:47:56.000000000 -0400
60335@@ -96,10 +96,10 @@ struct kmem_cache {
60336 unsigned long node_allocs;
60337 unsigned long node_frees;
60338 unsigned long node_overflow;
60339- atomic_t allochit;
60340- atomic_t allocmiss;
60341- atomic_t freehit;
60342- atomic_t freemiss;
60343+ atomic_unchecked_t allochit;
60344+ atomic_unchecked_t allocmiss;
60345+ atomic_unchecked_t freehit;
60346+ atomic_unchecked_t freemiss;
60347
60348 /*
60349 * If debugging is enabled, then the allocator can add additional
60350diff -urNp linux-3.0.7/include/linux/slub_def.h linux-3.0.7/include/linux/slub_def.h
60351--- linux-3.0.7/include/linux/slub_def.h 2011-07-21 22:17:23.000000000 -0400
60352+++ linux-3.0.7/include/linux/slub_def.h 2011-08-23 21:47:56.000000000 -0400
60353@@ -82,7 +82,7 @@ struct kmem_cache { 60710@@ -82,7 +82,7 @@ struct kmem_cache {
60354 struct kmem_cache_order_objects max; 60711 struct kmem_cache_order_objects max;
60355 struct kmem_cache_order_objects min; 60712 struct kmem_cache_order_objects min;
@@ -60368,9 +60725,9 @@ diff -urNp linux-3.0.7/include/linux/slub_def.h linux-3.0.7/include/linux/slub_d
60368 60725
60369 static __always_inline void * 60726 static __always_inline void *
60370 kmalloc_order(size_t size, gfp_t flags, unsigned int order) 60727 kmalloc_order(size_t size, gfp_t flags, unsigned int order)
60371diff -urNp linux-3.0.7/include/linux/sonet.h linux-3.0.7/include/linux/sonet.h 60728diff -urNp linux-3.0.8/include/linux/sonet.h linux-3.0.8/include/linux/sonet.h
60372--- linux-3.0.7/include/linux/sonet.h 2011-07-21 22:17:23.000000000 -0400 60729--- linux-3.0.8/include/linux/sonet.h 2011-07-21 22:17:23.000000000 -0400
60373+++ linux-3.0.7/include/linux/sonet.h 2011-08-23 21:47:56.000000000 -0400 60730+++ linux-3.0.8/include/linux/sonet.h 2011-08-23 21:47:56.000000000 -0400
60374@@ -61,7 +61,7 @@ struct sonet_stats { 60731@@ -61,7 +61,7 @@ struct sonet_stats {
60375 #include <asm/atomic.h> 60732 #include <asm/atomic.h>
60376 60733
@@ -60380,9 +60737,9 @@ diff -urNp linux-3.0.7/include/linux/sonet.h linux-3.0.7/include/linux/sonet.h
60380 __SONET_ITEMS 60737 __SONET_ITEMS
60381 #undef __HANDLE_ITEM 60738 #undef __HANDLE_ITEM
60382 }; 60739 };
60383diff -urNp linux-3.0.7/include/linux/sunrpc/clnt.h linux-3.0.7/include/linux/sunrpc/clnt.h 60740diff -urNp linux-3.0.8/include/linux/sunrpc/clnt.h linux-3.0.8/include/linux/sunrpc/clnt.h
60384--- linux-3.0.7/include/linux/sunrpc/clnt.h 2011-07-21 22:17:23.000000000 -0400 60741--- linux-3.0.8/include/linux/sunrpc/clnt.h 2011-07-21 22:17:23.000000000 -0400
60385+++ linux-3.0.7/include/linux/sunrpc/clnt.h 2011-08-23 21:47:56.000000000 -0400 60742+++ linux-3.0.8/include/linux/sunrpc/clnt.h 2011-08-23 21:47:56.000000000 -0400
60386@@ -169,9 +169,9 @@ static inline unsigned short rpc_get_por 60743@@ -169,9 +169,9 @@ static inline unsigned short rpc_get_por
60387 { 60744 {
60388 switch (sap->sa_family) { 60745 switch (sap->sa_family) {
@@ -60413,9 +60770,9 @@ diff -urNp linux-3.0.7/include/linux/sunrpc/clnt.h linux-3.0.7/include/linux/sun
60413 } 60770 }
60414 60771
60415 #endif /* __KERNEL__ */ 60772 #endif /* __KERNEL__ */
60416diff -urNp linux-3.0.7/include/linux/sunrpc/svc_rdma.h linux-3.0.7/include/linux/sunrpc/svc_rdma.h 60773diff -urNp linux-3.0.8/include/linux/sunrpc/svc_rdma.h linux-3.0.8/include/linux/sunrpc/svc_rdma.h
60417--- linux-3.0.7/include/linux/sunrpc/svc_rdma.h 2011-07-21 22:17:23.000000000 -0400 60774--- linux-3.0.8/include/linux/sunrpc/svc_rdma.h 2011-07-21 22:17:23.000000000 -0400
60418+++ linux-3.0.7/include/linux/sunrpc/svc_rdma.h 2011-08-23 21:47:56.000000000 -0400 60775+++ linux-3.0.8/include/linux/sunrpc/svc_rdma.h 2011-08-23 21:47:56.000000000 -0400
60419@@ -53,15 +53,15 @@ extern unsigned int svcrdma_ord; 60776@@ -53,15 +53,15 @@ extern unsigned int svcrdma_ord;
60420 extern unsigned int svcrdma_max_requests; 60777 extern unsigned int svcrdma_max_requests;
60421 extern unsigned int svcrdma_max_req_size; 60778 extern unsigned int svcrdma_max_req_size;
@@ -60441,9 +60798,9 @@ diff -urNp linux-3.0.7/include/linux/sunrpc/svc_rdma.h linux-3.0.7/include/linux
60441 60798
60442 #define RPCRDMA_VERSION 1 60799 #define RPCRDMA_VERSION 1
60443 60800
60444diff -urNp linux-3.0.7/include/linux/sysctl.h linux-3.0.7/include/linux/sysctl.h 60801diff -urNp linux-3.0.8/include/linux/sysctl.h linux-3.0.8/include/linux/sysctl.h
60445--- linux-3.0.7/include/linux/sysctl.h 2011-07-21 22:17:23.000000000 -0400 60802--- linux-3.0.8/include/linux/sysctl.h 2011-07-21 22:17:23.000000000 -0400
60446+++ linux-3.0.7/include/linux/sysctl.h 2011-08-23 21:48:14.000000000 -0400 60803+++ linux-3.0.8/include/linux/sysctl.h 2011-08-23 21:48:14.000000000 -0400
60447@@ -155,7 +155,11 @@ enum 60804@@ -155,7 +155,11 @@ enum
60448 KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */ 60805 KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */
60449 }; 60806 };
@@ -60466,9 +60823,9 @@ diff -urNp linux-3.0.7/include/linux/sysctl.h linux-3.0.7/include/linux/sysctl.h
60466 extern int proc_dointvec(struct ctl_table *, int, 60823 extern int proc_dointvec(struct ctl_table *, int,
60467 void __user *, size_t *, loff_t *); 60824 void __user *, size_t *, loff_t *);
60468 extern int proc_dointvec_minmax(struct ctl_table *, int, 60825 extern int proc_dointvec_minmax(struct ctl_table *, int,
60469diff -urNp linux-3.0.7/include/linux/tty_ldisc.h linux-3.0.7/include/linux/tty_ldisc.h 60826diff -urNp linux-3.0.8/include/linux/tty_ldisc.h linux-3.0.8/include/linux/tty_ldisc.h
60470--- linux-3.0.7/include/linux/tty_ldisc.h 2011-07-21 22:17:23.000000000 -0400 60827--- linux-3.0.8/include/linux/tty_ldisc.h 2011-07-21 22:17:23.000000000 -0400
60471+++ linux-3.0.7/include/linux/tty_ldisc.h 2011-08-23 21:47:56.000000000 -0400 60828+++ linux-3.0.8/include/linux/tty_ldisc.h 2011-08-23 21:47:56.000000000 -0400
60472@@ -148,7 +148,7 @@ struct tty_ldisc_ops { 60829@@ -148,7 +148,7 @@ struct tty_ldisc_ops {
60473 60830
60474 struct module *owner; 60831 struct module *owner;
@@ -60478,9 +60835,9 @@ diff -urNp linux-3.0.7/include/linux/tty_ldisc.h linux-3.0.7/include/linux/tty_l
60478 }; 60835 };
60479 60836
60480 struct tty_ldisc { 60837 struct tty_ldisc {
60481diff -urNp linux-3.0.7/include/linux/types.h linux-3.0.7/include/linux/types.h 60838diff -urNp linux-3.0.8/include/linux/types.h linux-3.0.8/include/linux/types.h
60482--- linux-3.0.7/include/linux/types.h 2011-07-21 22:17:23.000000000 -0400 60839--- linux-3.0.8/include/linux/types.h 2011-07-21 22:17:23.000000000 -0400
60483+++ linux-3.0.7/include/linux/types.h 2011-08-23 21:47:56.000000000 -0400 60840+++ linux-3.0.8/include/linux/types.h 2011-08-23 21:47:56.000000000 -0400
60484@@ -213,10 +213,26 @@ typedef struct { 60841@@ -213,10 +213,26 @@ typedef struct {
60485 int counter; 60842 int counter;
60486 } atomic_t; 60843 } atomic_t;
@@ -60508,9 +60865,9 @@ diff -urNp linux-3.0.7/include/linux/types.h linux-3.0.7/include/linux/types.h
60508 #endif 60865 #endif
60509 60866
60510 struct list_head { 60867 struct list_head {
60511diff -urNp linux-3.0.7/include/linux/uaccess.h linux-3.0.7/include/linux/uaccess.h 60868diff -urNp linux-3.0.8/include/linux/uaccess.h linux-3.0.8/include/linux/uaccess.h
60512--- linux-3.0.7/include/linux/uaccess.h 2011-07-21 22:17:23.000000000 -0400 60869--- linux-3.0.8/include/linux/uaccess.h 2011-07-21 22:17:23.000000000 -0400
60513+++ linux-3.0.7/include/linux/uaccess.h 2011-10-06 04:17:55.000000000 -0400 60870+++ linux-3.0.8/include/linux/uaccess.h 2011-10-06 04:17:55.000000000 -0400
60514@@ -76,11 +76,11 @@ static inline unsigned long __copy_from_ 60871@@ -76,11 +76,11 @@ static inline unsigned long __copy_from_
60515 long ret; \ 60872 long ret; \
60516 mm_segment_t old_fs = get_fs(); \ 60873 mm_segment_t old_fs = get_fs(); \
@@ -60526,9 +60883,9 @@ diff -urNp linux-3.0.7/include/linux/uaccess.h linux-3.0.7/include/linux/uaccess
60526 ret; \ 60883 ret; \
60527 }) 60884 })
60528 60885
60529diff -urNp linux-3.0.7/include/linux/unaligned/access_ok.h linux-3.0.7/include/linux/unaligned/access_ok.h 60886diff -urNp linux-3.0.8/include/linux/unaligned/access_ok.h linux-3.0.8/include/linux/unaligned/access_ok.h
60530--- linux-3.0.7/include/linux/unaligned/access_ok.h 2011-07-21 22:17:23.000000000 -0400 60887--- linux-3.0.8/include/linux/unaligned/access_ok.h 2011-07-21 22:17:23.000000000 -0400
60531+++ linux-3.0.7/include/linux/unaligned/access_ok.h 2011-08-23 21:47:56.000000000 -0400 60888+++ linux-3.0.8/include/linux/unaligned/access_ok.h 2011-08-23 21:47:56.000000000 -0400
60532@@ -6,32 +6,32 @@ 60889@@ -6,32 +6,32 @@
60533 60890
60534 static inline u16 get_unaligned_le16(const void *p) 60891 static inline u16 get_unaligned_le16(const void *p)
@@ -60568,9 +60925,9 @@ diff -urNp linux-3.0.7/include/linux/unaligned/access_ok.h linux-3.0.7/include/l
60568 } 60925 }
60569 60926
60570 static inline void put_unaligned_le16(u16 val, void *p) 60927 static inline void put_unaligned_le16(u16 val, void *p)
60571diff -urNp linux-3.0.7/include/linux/vermagic.h linux-3.0.7/include/linux/vermagic.h 60928diff -urNp linux-3.0.8/include/linux/vermagic.h linux-3.0.8/include/linux/vermagic.h
60572--- linux-3.0.7/include/linux/vermagic.h 2011-07-21 22:17:23.000000000 -0400 60929--- linux-3.0.8/include/linux/vermagic.h 2011-07-21 22:17:23.000000000 -0400
60573+++ linux-3.0.7/include/linux/vermagic.h 2011-10-07 19:25:35.000000000 -0400 60930+++ linux-3.0.8/include/linux/vermagic.h 2011-10-07 19:25:35.000000000 -0400
60574@@ -26,9 +26,28 @@ 60931@@ -26,9 +26,28 @@
60575 #define MODULE_ARCH_VERMAGIC "" 60932 #define MODULE_ARCH_VERMAGIC ""
60576 #endif 60933 #endif
@@ -60601,9 +60958,9 @@ diff -urNp linux-3.0.7/include/linux/vermagic.h linux-3.0.7/include/linux/vermag
60601+ MODULE_ARCH_VERMAGIC \ 60958+ MODULE_ARCH_VERMAGIC \
60602+ MODULE_PAX_REFCOUNT MODULE_CONSTIFY_PLUGIN MODULE_GRSEC 60959+ MODULE_PAX_REFCOUNT MODULE_CONSTIFY_PLUGIN MODULE_GRSEC
60603 60960
60604diff -urNp linux-3.0.7/include/linux/vmalloc.h linux-3.0.7/include/linux/vmalloc.h 60961diff -urNp linux-3.0.8/include/linux/vmalloc.h linux-3.0.8/include/linux/vmalloc.h
60605--- linux-3.0.7/include/linux/vmalloc.h 2011-07-21 22:17:23.000000000 -0400 60962--- linux-3.0.8/include/linux/vmalloc.h 2011-07-21 22:17:23.000000000 -0400
60606+++ linux-3.0.7/include/linux/vmalloc.h 2011-08-23 21:47:56.000000000 -0400 60963+++ linux-3.0.8/include/linux/vmalloc.h 2011-08-23 21:47:56.000000000 -0400
60607@@ -13,6 +13,11 @@ struct vm_area_struct; /* vma defining 60964@@ -13,6 +13,11 @@ struct vm_area_struct; /* vma defining
60608 #define VM_MAP 0x00000004 /* vmap()ed pages */ 60965 #define VM_MAP 0x00000004 /* vmap()ed pages */
60609 #define VM_USERMAP 0x00000008 /* suitable for remap_vmalloc_range */ 60966 #define VM_USERMAP 0x00000008 /* suitable for remap_vmalloc_range */
@@ -60720,9 +61077,9 @@ diff -urNp linux-3.0.7/include/linux/vmalloc.h linux-3.0.7/include/linux/vmalloc
60720+}) 61077+})
60721+ 61078+
60722 #endif /* _LINUX_VMALLOC_H */ 61079 #endif /* _LINUX_VMALLOC_H */
60723diff -urNp linux-3.0.7/include/linux/vmstat.h linux-3.0.7/include/linux/vmstat.h 61080diff -urNp linux-3.0.8/include/linux/vmstat.h linux-3.0.8/include/linux/vmstat.h
60724--- linux-3.0.7/include/linux/vmstat.h 2011-07-21 22:17:23.000000000 -0400 61081--- linux-3.0.8/include/linux/vmstat.h 2011-07-21 22:17:23.000000000 -0400
60725+++ linux-3.0.7/include/linux/vmstat.h 2011-08-23 21:47:56.000000000 -0400 61082+++ linux-3.0.8/include/linux/vmstat.h 2011-08-23 21:47:56.000000000 -0400
60726@@ -87,18 +87,18 @@ static inline void vm_events_fold_cpu(in 61083@@ -87,18 +87,18 @@ static inline void vm_events_fold_cpu(in
60727 /* 61084 /*
60728 * Zone based page accounting with per cpu differentials. 61085 * Zone based page accounting with per cpu differentials.
@@ -60786,9 +61143,9 @@ diff -urNp linux-3.0.7/include/linux/vmstat.h linux-3.0.7/include/linux/vmstat.h
60786 } 61143 }
60787 61144
60788 static inline void __dec_zone_page_state(struct page *page, 61145 static inline void __dec_zone_page_state(struct page *page,
60789diff -urNp linux-3.0.7/include/media/saa7146_vv.h linux-3.0.7/include/media/saa7146_vv.h 61146diff -urNp linux-3.0.8/include/media/saa7146_vv.h linux-3.0.8/include/media/saa7146_vv.h
60790--- linux-3.0.7/include/media/saa7146_vv.h 2011-07-21 22:17:23.000000000 -0400 61147--- linux-3.0.8/include/media/saa7146_vv.h 2011-07-21 22:17:23.000000000 -0400
60791+++ linux-3.0.7/include/media/saa7146_vv.h 2011-10-07 19:07:40.000000000 -0400 61148+++ linux-3.0.8/include/media/saa7146_vv.h 2011-10-07 19:07:40.000000000 -0400
60792@@ -163,7 +163,7 @@ struct saa7146_ext_vv 61149@@ -163,7 +163,7 @@ struct saa7146_ext_vv
60793 int (*std_callback)(struct saa7146_dev*, struct saa7146_standard *); 61150 int (*std_callback)(struct saa7146_dev*, struct saa7146_standard *);
60794 61151
@@ -60798,9 +61155,9 @@ diff -urNp linux-3.0.7/include/media/saa7146_vv.h linux-3.0.7/include/media/saa7
60798 /* pointer to the saa7146 core ops */ 61155 /* pointer to the saa7146 core ops */
60799 const struct v4l2_ioctl_ops *core_ops; 61156 const struct v4l2_ioctl_ops *core_ops;
60800 61157
60801diff -urNp linux-3.0.7/include/media/v4l2-dev.h linux-3.0.7/include/media/v4l2-dev.h 61158diff -urNp linux-3.0.8/include/media/v4l2-dev.h linux-3.0.8/include/media/v4l2-dev.h
60802--- linux-3.0.7/include/media/v4l2-dev.h 2011-07-21 22:17:23.000000000 -0400 61159--- linux-3.0.8/include/media/v4l2-dev.h 2011-07-21 22:17:23.000000000 -0400
60803+++ linux-3.0.7/include/media/v4l2-dev.h 2011-10-07 19:07:40.000000000 -0400 61160+++ linux-3.0.8/include/media/v4l2-dev.h 2011-10-07 19:07:40.000000000 -0400
60804@@ -56,7 +56,7 @@ int v4l2_prio_check(struct v4l2_prio_sta 61161@@ -56,7 +56,7 @@ int v4l2_prio_check(struct v4l2_prio_sta
60805 61162
60806 61163
@@ -60818,9 +61175,9 @@ diff -urNp linux-3.0.7/include/media/v4l2-dev.h linux-3.0.7/include/media/v4l2-d
60818 61175
60819 /* 61176 /*
60820 * Newer version of video_device, handled by videodev2.c 61177 * Newer version of video_device, handled by videodev2.c
60821diff -urNp linux-3.0.7/include/media/v4l2-ioctl.h linux-3.0.7/include/media/v4l2-ioctl.h 61178diff -urNp linux-3.0.8/include/media/v4l2-ioctl.h linux-3.0.8/include/media/v4l2-ioctl.h
60822--- linux-3.0.7/include/media/v4l2-ioctl.h 2011-07-21 22:17:23.000000000 -0400 61179--- linux-3.0.8/include/media/v4l2-ioctl.h 2011-07-21 22:17:23.000000000 -0400
60823+++ linux-3.0.7/include/media/v4l2-ioctl.h 2011-08-24 18:25:45.000000000 -0400 61180+++ linux-3.0.8/include/media/v4l2-ioctl.h 2011-08-24 18:25:45.000000000 -0400
60824@@ -272,6 +272,7 @@ struct v4l2_ioctl_ops { 61181@@ -272,6 +272,7 @@ struct v4l2_ioctl_ops {
60825 long (*vidioc_default) (struct file *file, void *fh, 61182 long (*vidioc_default) (struct file *file, void *fh,
60826 bool valid_prio, int cmd, void *arg); 61183 bool valid_prio, int cmd, void *arg);
@@ -60829,9 +61186,9 @@ diff -urNp linux-3.0.7/include/media/v4l2-ioctl.h linux-3.0.7/include/media/v4l2
60829 61186
60830 61187
60831 /* v4l debugging and diagnostics */ 61188 /* v4l debugging and diagnostics */
60832diff -urNp linux-3.0.7/include/net/caif/cfctrl.h linux-3.0.7/include/net/caif/cfctrl.h 61189diff -urNp linux-3.0.8/include/net/caif/cfctrl.h linux-3.0.8/include/net/caif/cfctrl.h
60833--- linux-3.0.7/include/net/caif/cfctrl.h 2011-07-21 22:17:23.000000000 -0400 61190--- linux-3.0.8/include/net/caif/cfctrl.h 2011-07-21 22:17:23.000000000 -0400
60834+++ linux-3.0.7/include/net/caif/cfctrl.h 2011-08-23 21:47:56.000000000 -0400 61191+++ linux-3.0.8/include/net/caif/cfctrl.h 2011-08-23 21:47:56.000000000 -0400
60835@@ -52,7 +52,7 @@ struct cfctrl_rsp { 61192@@ -52,7 +52,7 @@ struct cfctrl_rsp {
60836 void (*radioset_rsp)(void); 61193 void (*radioset_rsp)(void);
60837 void (*reject_rsp)(struct cflayer *layer, u8 linkid, 61194 void (*reject_rsp)(struct cflayer *layer, u8 linkid,
@@ -60852,9 +61209,9 @@ diff -urNp linux-3.0.7/include/net/caif/cfctrl.h linux-3.0.7/include/net/caif/cf
60852 struct list_head list; 61209 struct list_head list;
60853 /* Protects from simultaneous access to first_req list */ 61210 /* Protects from simultaneous access to first_req list */
60854 spinlock_t info_list_lock; 61211 spinlock_t info_list_lock;
60855diff -urNp linux-3.0.7/include/net/flow.h linux-3.0.7/include/net/flow.h 61212diff -urNp linux-3.0.8/include/net/flow.h linux-3.0.8/include/net/flow.h
60856--- linux-3.0.7/include/net/flow.h 2011-07-21 22:17:23.000000000 -0400 61213--- linux-3.0.8/include/net/flow.h 2011-07-21 22:17:23.000000000 -0400
60857+++ linux-3.0.7/include/net/flow.h 2011-08-23 21:47:56.000000000 -0400 61214+++ linux-3.0.8/include/net/flow.h 2011-08-23 21:47:56.000000000 -0400
60858@@ -188,6 +188,6 @@ extern struct flow_cache_object *flow_ca 61215@@ -188,6 +188,6 @@ extern struct flow_cache_object *flow_ca
60859 u8 dir, flow_resolve_t resolver, void *ctx); 61216 u8 dir, flow_resolve_t resolver, void *ctx);
60860 61217
@@ -60863,9 +61220,9 @@ diff -urNp linux-3.0.7/include/net/flow.h linux-3.0.7/include/net/flow.h
60863+extern atomic_unchecked_t flow_cache_genid; 61220+extern atomic_unchecked_t flow_cache_genid;
60864 61221
60865 #endif 61222 #endif
60866diff -urNp linux-3.0.7/include/net/inetpeer.h linux-3.0.7/include/net/inetpeer.h 61223diff -urNp linux-3.0.8/include/net/inetpeer.h linux-3.0.8/include/net/inetpeer.h
60867--- linux-3.0.7/include/net/inetpeer.h 2011-07-21 22:17:23.000000000 -0400 61224--- linux-3.0.8/include/net/inetpeer.h 2011-07-21 22:17:23.000000000 -0400
60868+++ linux-3.0.7/include/net/inetpeer.h 2011-08-23 21:47:56.000000000 -0400 61225+++ linux-3.0.8/include/net/inetpeer.h 2011-08-23 21:47:56.000000000 -0400
60869@@ -43,8 +43,8 @@ struct inet_peer { 61226@@ -43,8 +43,8 @@ struct inet_peer {
60870 */ 61227 */
60871 union { 61228 union {
@@ -60886,9 +61243,9 @@ diff -urNp linux-3.0.7/include/net/inetpeer.h linux-3.0.7/include/net/inetpeer.h
60886 } 61243 }
60887 61244
60888 #endif /* _NET_INETPEER_H */ 61245 #endif /* _NET_INETPEER_H */
60889diff -urNp linux-3.0.7/include/net/ip_fib.h linux-3.0.7/include/net/ip_fib.h 61246diff -urNp linux-3.0.8/include/net/ip_fib.h linux-3.0.8/include/net/ip_fib.h
60890--- linux-3.0.7/include/net/ip_fib.h 2011-07-21 22:17:23.000000000 -0400 61247--- linux-3.0.8/include/net/ip_fib.h 2011-07-21 22:17:23.000000000 -0400
60891+++ linux-3.0.7/include/net/ip_fib.h 2011-08-23 21:47:56.000000000 -0400 61248+++ linux-3.0.8/include/net/ip_fib.h 2011-08-23 21:47:56.000000000 -0400
60892@@ -146,7 +146,7 @@ extern __be32 fib_info_update_nh_saddr(s 61249@@ -146,7 +146,7 @@ extern __be32 fib_info_update_nh_saddr(s
60893 61250
60894 #define FIB_RES_SADDR(net, res) \ 61251 #define FIB_RES_SADDR(net, res) \
@@ -60898,9 +61255,9 @@ diff -urNp linux-3.0.7/include/net/ip_fib.h linux-3.0.7/include/net/ip_fib.h
60898 FIB_RES_NH(res).nh_saddr : \ 61255 FIB_RES_NH(res).nh_saddr : \
60899 fib_info_update_nh_saddr((net), &FIB_RES_NH(res))) 61256 fib_info_update_nh_saddr((net), &FIB_RES_NH(res)))
60900 #define FIB_RES_GW(res) (FIB_RES_NH(res).nh_gw) 61257 #define FIB_RES_GW(res) (FIB_RES_NH(res).nh_gw)
60901diff -urNp linux-3.0.7/include/net/ip_vs.h linux-3.0.7/include/net/ip_vs.h 61258diff -urNp linux-3.0.8/include/net/ip_vs.h linux-3.0.8/include/net/ip_vs.h
60902--- linux-3.0.7/include/net/ip_vs.h 2011-07-21 22:17:23.000000000 -0400 61259--- linux-3.0.8/include/net/ip_vs.h 2011-07-21 22:17:23.000000000 -0400
60903+++ linux-3.0.7/include/net/ip_vs.h 2011-08-23 21:47:56.000000000 -0400 61260+++ linux-3.0.8/include/net/ip_vs.h 2011-08-23 21:47:56.000000000 -0400
60904@@ -509,7 +509,7 @@ struct ip_vs_conn { 61261@@ -509,7 +509,7 @@ struct ip_vs_conn {
60905 struct ip_vs_conn *control; /* Master control connection */ 61262 struct ip_vs_conn *control; /* Master control connection */
60906 atomic_t n_control; /* Number of controlled ones */ 61263 atomic_t n_control; /* Number of controlled ones */
@@ -60919,9 +61276,9 @@ diff -urNp linux-3.0.7/include/net/ip_vs.h linux-3.0.7/include/net/ip_vs.h
60919 atomic_t weight; /* server weight */ 61276 atomic_t weight; /* server weight */
60920 61277
60921 atomic_t refcnt; /* reference counter */ 61278 atomic_t refcnt; /* reference counter */
60922diff -urNp linux-3.0.7/include/net/irda/ircomm_core.h linux-3.0.7/include/net/irda/ircomm_core.h 61279diff -urNp linux-3.0.8/include/net/irda/ircomm_core.h linux-3.0.8/include/net/irda/ircomm_core.h
60923--- linux-3.0.7/include/net/irda/ircomm_core.h 2011-07-21 22:17:23.000000000 -0400 61280--- linux-3.0.8/include/net/irda/ircomm_core.h 2011-07-21 22:17:23.000000000 -0400
60924+++ linux-3.0.7/include/net/irda/ircomm_core.h 2011-08-23 21:47:56.000000000 -0400 61281+++ linux-3.0.8/include/net/irda/ircomm_core.h 2011-08-23 21:47:56.000000000 -0400
60925@@ -51,7 +51,7 @@ typedef struct { 61282@@ -51,7 +51,7 @@ typedef struct {
60926 int (*connect_response)(struct ircomm_cb *, struct sk_buff *); 61283 int (*connect_response)(struct ircomm_cb *, struct sk_buff *);
60927 int (*disconnect_request)(struct ircomm_cb *, struct sk_buff *, 61284 int (*disconnect_request)(struct ircomm_cb *, struct sk_buff *,
@@ -60931,9 +61288,9 @@ diff -urNp linux-3.0.7/include/net/irda/ircomm_core.h linux-3.0.7/include/net/ir
60931 61288
60932 struct ircomm_cb { 61289 struct ircomm_cb {
60933 irda_queue_t queue; 61290 irda_queue_t queue;
60934diff -urNp linux-3.0.7/include/net/irda/ircomm_tty.h linux-3.0.7/include/net/irda/ircomm_tty.h 61291diff -urNp linux-3.0.8/include/net/irda/ircomm_tty.h linux-3.0.8/include/net/irda/ircomm_tty.h
60935--- linux-3.0.7/include/net/irda/ircomm_tty.h 2011-07-21 22:17:23.000000000 -0400 61292--- linux-3.0.8/include/net/irda/ircomm_tty.h 2011-07-21 22:17:23.000000000 -0400
60936+++ linux-3.0.7/include/net/irda/ircomm_tty.h 2011-08-23 21:47:56.000000000 -0400 61293+++ linux-3.0.8/include/net/irda/ircomm_tty.h 2011-08-23 21:47:56.000000000 -0400
60937@@ -35,6 +35,7 @@ 61294@@ -35,6 +35,7 @@
60938 #include <linux/termios.h> 61295 #include <linux/termios.h>
60939 #include <linux/timer.h> 61296 #include <linux/timer.h>
@@ -60953,9 +61310,9 @@ diff -urNp linux-3.0.7/include/net/irda/ircomm_tty.h linux-3.0.7/include/net/ird
60953 61310
60954 /* Protect concurent access to : 61311 /* Protect concurent access to :
60955 * o self->open_count 61312 * o self->open_count
60956diff -urNp linux-3.0.7/include/net/iucv/af_iucv.h linux-3.0.7/include/net/iucv/af_iucv.h 61313diff -urNp linux-3.0.8/include/net/iucv/af_iucv.h linux-3.0.8/include/net/iucv/af_iucv.h
60957--- linux-3.0.7/include/net/iucv/af_iucv.h 2011-07-21 22:17:23.000000000 -0400 61314--- linux-3.0.8/include/net/iucv/af_iucv.h 2011-07-21 22:17:23.000000000 -0400
60958+++ linux-3.0.7/include/net/iucv/af_iucv.h 2011-08-23 21:47:56.000000000 -0400 61315+++ linux-3.0.8/include/net/iucv/af_iucv.h 2011-08-23 21:47:56.000000000 -0400
60959@@ -87,7 +87,7 @@ struct iucv_sock { 61316@@ -87,7 +87,7 @@ struct iucv_sock {
60960 struct iucv_sock_list { 61317 struct iucv_sock_list {
60961 struct hlist_head head; 61318 struct hlist_head head;
@@ -60965,9 +61322,9 @@ diff -urNp linux-3.0.7/include/net/iucv/af_iucv.h linux-3.0.7/include/net/iucv/a
60965 }; 61322 };
60966 61323
60967 unsigned int iucv_sock_poll(struct file *file, struct socket *sock, 61324 unsigned int iucv_sock_poll(struct file *file, struct socket *sock,
60968diff -urNp linux-3.0.7/include/net/lapb.h linux-3.0.7/include/net/lapb.h 61325diff -urNp linux-3.0.8/include/net/lapb.h linux-3.0.8/include/net/lapb.h
60969--- linux-3.0.7/include/net/lapb.h 2011-07-21 22:17:23.000000000 -0400 61326--- linux-3.0.8/include/net/lapb.h 2011-07-21 22:17:23.000000000 -0400
60970+++ linux-3.0.7/include/net/lapb.h 2011-08-23 21:47:56.000000000 -0400 61327+++ linux-3.0.8/include/net/lapb.h 2011-08-23 21:47:56.000000000 -0400
60971@@ -95,7 +95,7 @@ struct lapb_cb { 61328@@ -95,7 +95,7 @@ struct lapb_cb {
60972 struct sk_buff_head write_queue; 61329 struct sk_buff_head write_queue;
60973 struct sk_buff_head ack_queue; 61330 struct sk_buff_head ack_queue;
@@ -60977,9 +61334,9 @@ diff -urNp linux-3.0.7/include/net/lapb.h linux-3.0.7/include/net/lapb.h
60977 61334
60978 /* FRMR control information */ 61335 /* FRMR control information */
60979 struct lapb_frame frmr_data; 61336 struct lapb_frame frmr_data;
60980diff -urNp linux-3.0.7/include/net/neighbour.h linux-3.0.7/include/net/neighbour.h 61337diff -urNp linux-3.0.8/include/net/neighbour.h linux-3.0.8/include/net/neighbour.h
60981--- linux-3.0.7/include/net/neighbour.h 2011-07-21 22:17:23.000000000 -0400 61338--- linux-3.0.8/include/net/neighbour.h 2011-07-21 22:17:23.000000000 -0400
60982+++ linux-3.0.7/include/net/neighbour.h 2011-08-31 18:39:25.000000000 -0400 61339+++ linux-3.0.8/include/net/neighbour.h 2011-08-31 18:39:25.000000000 -0400
60983@@ -124,7 +124,7 @@ struct neigh_ops { 61340@@ -124,7 +124,7 @@ struct neigh_ops {
60984 int (*connected_output)(struct sk_buff*); 61341 int (*connected_output)(struct sk_buff*);
60985 int (*hh_output)(struct sk_buff*); 61342 int (*hh_output)(struct sk_buff*);
@@ -60989,9 +61346,9 @@ diff -urNp linux-3.0.7/include/net/neighbour.h linux-3.0.7/include/net/neighbour
60989 61346
60990 struct pneigh_entry { 61347 struct pneigh_entry {
60991 struct pneigh_entry *next; 61348 struct pneigh_entry *next;
60992diff -urNp linux-3.0.7/include/net/netlink.h linux-3.0.7/include/net/netlink.h 61349diff -urNp linux-3.0.8/include/net/netlink.h linux-3.0.8/include/net/netlink.h
60993--- linux-3.0.7/include/net/netlink.h 2011-07-21 22:17:23.000000000 -0400 61350--- linux-3.0.8/include/net/netlink.h 2011-07-21 22:17:23.000000000 -0400
60994+++ linux-3.0.7/include/net/netlink.h 2011-08-23 21:47:56.000000000 -0400 61351+++ linux-3.0.8/include/net/netlink.h 2011-08-23 21:47:56.000000000 -0400
60995@@ -562,7 +562,7 @@ static inline void *nlmsg_get_pos(struct 61352@@ -562,7 +562,7 @@ static inline void *nlmsg_get_pos(struct
60996 static inline void nlmsg_trim(struct sk_buff *skb, const void *mark) 61353 static inline void nlmsg_trim(struct sk_buff *skb, const void *mark)
60997 { 61354 {
@@ -61001,9 +61358,9 @@ diff -urNp linux-3.0.7/include/net/netlink.h linux-3.0.7/include/net/netlink.h
61001 } 61358 }
61002 61359
61003 /** 61360 /**
61004diff -urNp linux-3.0.7/include/net/netns/ipv4.h linux-3.0.7/include/net/netns/ipv4.h 61361diff -urNp linux-3.0.8/include/net/netns/ipv4.h linux-3.0.8/include/net/netns/ipv4.h
61005--- linux-3.0.7/include/net/netns/ipv4.h 2011-07-21 22:17:23.000000000 -0400 61362--- linux-3.0.8/include/net/netns/ipv4.h 2011-07-21 22:17:23.000000000 -0400
61006+++ linux-3.0.7/include/net/netns/ipv4.h 2011-08-23 21:47:56.000000000 -0400 61363+++ linux-3.0.8/include/net/netns/ipv4.h 2011-08-23 21:47:56.000000000 -0400
61007@@ -56,8 +56,8 @@ struct netns_ipv4 { 61364@@ -56,8 +56,8 @@ struct netns_ipv4 {
61008 61365
61009 unsigned int sysctl_ping_group_range[2]; 61366 unsigned int sysctl_ping_group_range[2];
@@ -61015,9 +61372,9 @@ diff -urNp linux-3.0.7/include/net/netns/ipv4.h linux-3.0.7/include/net/netns/ip
61015 61372
61016 #ifdef CONFIG_IP_MROUTE 61373 #ifdef CONFIG_IP_MROUTE
61017 #ifndef CONFIG_IP_MROUTE_MULTIPLE_TABLES 61374 #ifndef CONFIG_IP_MROUTE_MULTIPLE_TABLES
61018diff -urNp linux-3.0.7/include/net/sctp/sctp.h linux-3.0.7/include/net/sctp/sctp.h 61375diff -urNp linux-3.0.8/include/net/sctp/sctp.h linux-3.0.8/include/net/sctp/sctp.h
61019--- linux-3.0.7/include/net/sctp/sctp.h 2011-07-21 22:17:23.000000000 -0400 61376--- linux-3.0.8/include/net/sctp/sctp.h 2011-07-21 22:17:23.000000000 -0400
61020+++ linux-3.0.7/include/net/sctp/sctp.h 2011-08-23 21:47:56.000000000 -0400 61377+++ linux-3.0.8/include/net/sctp/sctp.h 2011-08-23 21:47:56.000000000 -0400
61021@@ -315,9 +315,9 @@ do { \ 61378@@ -315,9 +315,9 @@ do { \
61022 61379
61023 #else /* SCTP_DEBUG */ 61380 #else /* SCTP_DEBUG */
@@ -61031,9 +61388,9 @@ diff -urNp linux-3.0.7/include/net/sctp/sctp.h linux-3.0.7/include/net/sctp/sctp
61031 #define SCTP_ENABLE_DEBUG 61388 #define SCTP_ENABLE_DEBUG
61032 #define SCTP_DISABLE_DEBUG 61389 #define SCTP_DISABLE_DEBUG
61033 #define SCTP_ASSERT(expr, str, func) 61390 #define SCTP_ASSERT(expr, str, func)
61034diff -urNp linux-3.0.7/include/net/sock.h linux-3.0.7/include/net/sock.h 61391diff -urNp linux-3.0.8/include/net/sock.h linux-3.0.8/include/net/sock.h
61035--- linux-3.0.7/include/net/sock.h 2011-07-21 22:17:23.000000000 -0400 61392--- linux-3.0.8/include/net/sock.h 2011-07-21 22:17:23.000000000 -0400
61036+++ linux-3.0.7/include/net/sock.h 2011-08-23 21:47:56.000000000 -0400 61393+++ linux-3.0.8/include/net/sock.h 2011-08-23 21:47:56.000000000 -0400
61037@@ -277,7 +277,7 @@ struct sock { 61394@@ -277,7 +277,7 @@ struct sock {
61038 #ifdef CONFIG_RPS 61395 #ifdef CONFIG_RPS
61039 __u32 sk_rxhash; 61396 __u32 sk_rxhash;
@@ -61052,9 +61409,9 @@ diff -urNp linux-3.0.7/include/net/sock.h linux-3.0.7/include/net/sock.h
61052 int copy, int offset) 61409 int copy, int offset)
61053 { 61410 {
61054 if (skb->ip_summed == CHECKSUM_NONE) { 61411 if (skb->ip_summed == CHECKSUM_NONE) {
61055diff -urNp linux-3.0.7/include/net/tcp.h linux-3.0.7/include/net/tcp.h 61412diff -urNp linux-3.0.8/include/net/tcp.h linux-3.0.8/include/net/tcp.h
61056--- linux-3.0.7/include/net/tcp.h 2011-07-21 22:17:23.000000000 -0400 61413--- linux-3.0.8/include/net/tcp.h 2011-07-21 22:17:23.000000000 -0400
61057+++ linux-3.0.7/include/net/tcp.h 2011-08-23 21:47:56.000000000 -0400 61414+++ linux-3.0.8/include/net/tcp.h 2011-08-23 21:47:56.000000000 -0400
61058@@ -1374,8 +1374,8 @@ enum tcp_seq_states { 61415@@ -1374,8 +1374,8 @@ enum tcp_seq_states {
61059 struct tcp_seq_afinfo { 61416 struct tcp_seq_afinfo {
61060 char *name; 61417 char *name;
@@ -61066,9 +61423,9 @@ diff -urNp linux-3.0.7/include/net/tcp.h linux-3.0.7/include/net/tcp.h
61066 }; 61423 };
61067 61424
61068 struct tcp_iter_state { 61425 struct tcp_iter_state {
61069diff -urNp linux-3.0.7/include/net/udp.h linux-3.0.7/include/net/udp.h 61426diff -urNp linux-3.0.8/include/net/udp.h linux-3.0.8/include/net/udp.h
61070--- linux-3.0.7/include/net/udp.h 2011-07-21 22:17:23.000000000 -0400 61427--- linux-3.0.8/include/net/udp.h 2011-07-21 22:17:23.000000000 -0400
61071+++ linux-3.0.7/include/net/udp.h 2011-08-23 21:47:56.000000000 -0400 61428+++ linux-3.0.8/include/net/udp.h 2011-08-23 21:47:56.000000000 -0400
61072@@ -234,8 +234,8 @@ struct udp_seq_afinfo { 61429@@ -234,8 +234,8 @@ struct udp_seq_afinfo {
61073 char *name; 61430 char *name;
61074 sa_family_t family; 61431 sa_family_t family;
@@ -61080,9 +61437,9 @@ diff -urNp linux-3.0.7/include/net/udp.h linux-3.0.7/include/net/udp.h
61080 }; 61437 };
61081 61438
61082 struct udp_iter_state { 61439 struct udp_iter_state {
61083diff -urNp linux-3.0.7/include/net/xfrm.h linux-3.0.7/include/net/xfrm.h 61440diff -urNp linux-3.0.8/include/net/xfrm.h linux-3.0.8/include/net/xfrm.h
61084--- linux-3.0.7/include/net/xfrm.h 2011-07-21 22:17:23.000000000 -0400 61441--- linux-3.0.8/include/net/xfrm.h 2011-07-21 22:17:23.000000000 -0400
61085+++ linux-3.0.7/include/net/xfrm.h 2011-08-23 21:47:56.000000000 -0400 61442+++ linux-3.0.8/include/net/xfrm.h 2011-08-23 21:47:56.000000000 -0400
61086@@ -505,7 +505,7 @@ struct xfrm_policy { 61443@@ -505,7 +505,7 @@ struct xfrm_policy {
61087 struct timer_list timer; 61444 struct timer_list timer;
61088 61445
@@ -61092,9 +61449,9 @@ diff -urNp linux-3.0.7/include/net/xfrm.h linux-3.0.7/include/net/xfrm.h
61092 u32 priority; 61449 u32 priority;
61093 u32 index; 61450 u32 index;
61094 struct xfrm_mark mark; 61451 struct xfrm_mark mark;
61095diff -urNp linux-3.0.7/include/rdma/iw_cm.h linux-3.0.7/include/rdma/iw_cm.h 61452diff -urNp linux-3.0.8/include/rdma/iw_cm.h linux-3.0.8/include/rdma/iw_cm.h
61096--- linux-3.0.7/include/rdma/iw_cm.h 2011-07-21 22:17:23.000000000 -0400 61453--- linux-3.0.8/include/rdma/iw_cm.h 2011-07-21 22:17:23.000000000 -0400
61097+++ linux-3.0.7/include/rdma/iw_cm.h 2011-08-23 21:47:56.000000000 -0400 61454+++ linux-3.0.8/include/rdma/iw_cm.h 2011-08-23 21:47:56.000000000 -0400
61098@@ -120,7 +120,7 @@ struct iw_cm_verbs { 61455@@ -120,7 +120,7 @@ struct iw_cm_verbs {
61099 int backlog); 61456 int backlog);
61100 61457
@@ -61104,9 +61461,9 @@ diff -urNp linux-3.0.7/include/rdma/iw_cm.h linux-3.0.7/include/rdma/iw_cm.h
61104 61461
61105 /** 61462 /**
61106 * iw_create_cm_id - Create an IW CM identifier. 61463 * iw_create_cm_id - Create an IW CM identifier.
61107diff -urNp linux-3.0.7/include/scsi/libfc.h linux-3.0.7/include/scsi/libfc.h 61464diff -urNp linux-3.0.8/include/scsi/libfc.h linux-3.0.8/include/scsi/libfc.h
61108--- linux-3.0.7/include/scsi/libfc.h 2011-07-21 22:17:23.000000000 -0400 61465--- linux-3.0.8/include/scsi/libfc.h 2011-07-21 22:17:23.000000000 -0400
61109+++ linux-3.0.7/include/scsi/libfc.h 2011-08-23 21:47:56.000000000 -0400 61466+++ linux-3.0.8/include/scsi/libfc.h 2011-08-23 21:47:56.000000000 -0400
61110@@ -750,6 +750,7 @@ struct libfc_function_template { 61467@@ -750,6 +750,7 @@ struct libfc_function_template {
61111 */ 61468 */
61112 void (*disc_stop_final) (struct fc_lport *); 61469 void (*disc_stop_final) (struct fc_lport *);
@@ -61124,9 +61481,9 @@ diff -urNp linux-3.0.7/include/scsi/libfc.h linux-3.0.7/include/scsi/libfc.h
61124 u8 link_up; 61481 u8 link_up;
61125 u8 qfull; 61482 u8 qfull;
61126 enum fc_lport_state state; 61483 enum fc_lport_state state;
61127diff -urNp linux-3.0.7/include/scsi/scsi_device.h linux-3.0.7/include/scsi/scsi_device.h 61484diff -urNp linux-3.0.8/include/scsi/scsi_device.h linux-3.0.8/include/scsi/scsi_device.h
61128--- linux-3.0.7/include/scsi/scsi_device.h 2011-07-21 22:17:23.000000000 -0400 61485--- linux-3.0.8/include/scsi/scsi_device.h 2011-07-21 22:17:23.000000000 -0400
61129+++ linux-3.0.7/include/scsi/scsi_device.h 2011-08-23 21:47:56.000000000 -0400 61486+++ linux-3.0.8/include/scsi/scsi_device.h 2011-08-23 21:47:56.000000000 -0400
61130@@ -161,9 +161,9 @@ struct scsi_device { 61487@@ -161,9 +161,9 @@ struct scsi_device {
61131 unsigned int max_device_blocked; /* what device_blocked counts down from */ 61488 unsigned int max_device_blocked; /* what device_blocked counts down from */
61132 #define SCSI_DEFAULT_DEVICE_BLOCKED 3 61489 #define SCSI_DEFAULT_DEVICE_BLOCKED 3
@@ -61140,9 +61497,9 @@ diff -urNp linux-3.0.7/include/scsi/scsi_device.h linux-3.0.7/include/scsi/scsi_
61140 61497
61141 struct device sdev_gendev, 61498 struct device sdev_gendev,
61142 sdev_dev; 61499 sdev_dev;
61143diff -urNp linux-3.0.7/include/scsi/scsi_transport_fc.h linux-3.0.7/include/scsi/scsi_transport_fc.h 61500diff -urNp linux-3.0.8/include/scsi/scsi_transport_fc.h linux-3.0.8/include/scsi/scsi_transport_fc.h
61144--- linux-3.0.7/include/scsi/scsi_transport_fc.h 2011-07-21 22:17:23.000000000 -0400 61501--- linux-3.0.8/include/scsi/scsi_transport_fc.h 2011-07-21 22:17:23.000000000 -0400
61145+++ linux-3.0.7/include/scsi/scsi_transport_fc.h 2011-08-26 19:49:56.000000000 -0400 61502+++ linux-3.0.8/include/scsi/scsi_transport_fc.h 2011-08-26 19:49:56.000000000 -0400
61146@@ -711,7 +711,7 @@ struct fc_function_template { 61503@@ -711,7 +711,7 @@ struct fc_function_template {
61147 unsigned long show_host_system_hostname:1; 61504 unsigned long show_host_system_hostname:1;
61148 61505
@@ -61152,9 +61509,9 @@ diff -urNp linux-3.0.7/include/scsi/scsi_transport_fc.h linux-3.0.7/include/scsi
61152 61509
61153 61510
61154 /** 61511 /**
61155diff -urNp linux-3.0.7/include/sound/ak4xxx-adda.h linux-3.0.7/include/sound/ak4xxx-adda.h 61512diff -urNp linux-3.0.8/include/sound/ak4xxx-adda.h linux-3.0.8/include/sound/ak4xxx-adda.h
61156--- linux-3.0.7/include/sound/ak4xxx-adda.h 2011-07-21 22:17:23.000000000 -0400 61513--- linux-3.0.8/include/sound/ak4xxx-adda.h 2011-07-21 22:17:23.000000000 -0400
61157+++ linux-3.0.7/include/sound/ak4xxx-adda.h 2011-08-23 21:47:56.000000000 -0400 61514+++ linux-3.0.8/include/sound/ak4xxx-adda.h 2011-08-23 21:47:56.000000000 -0400
61158@@ -35,7 +35,7 @@ struct snd_ak4xxx_ops { 61515@@ -35,7 +35,7 @@ struct snd_ak4xxx_ops {
61159 void (*write)(struct snd_akm4xxx *ak, int chip, unsigned char reg, 61516 void (*write)(struct snd_akm4xxx *ak, int chip, unsigned char reg,
61160 unsigned char val); 61517 unsigned char val);
@@ -61164,9 +61521,9 @@ diff -urNp linux-3.0.7/include/sound/ak4xxx-adda.h linux-3.0.7/include/sound/ak4
61164 61521
61165 #define AK4XXX_IMAGE_SIZE (AK4XXX_MAX_CHIPS * 16) /* 64 bytes */ 61522 #define AK4XXX_IMAGE_SIZE (AK4XXX_MAX_CHIPS * 16) /* 64 bytes */
61166 61523
61167diff -urNp linux-3.0.7/include/sound/hwdep.h linux-3.0.7/include/sound/hwdep.h 61524diff -urNp linux-3.0.8/include/sound/hwdep.h linux-3.0.8/include/sound/hwdep.h
61168--- linux-3.0.7/include/sound/hwdep.h 2011-07-21 22:17:23.000000000 -0400 61525--- linux-3.0.8/include/sound/hwdep.h 2011-07-21 22:17:23.000000000 -0400
61169+++ linux-3.0.7/include/sound/hwdep.h 2011-08-23 21:47:56.000000000 -0400 61526+++ linux-3.0.8/include/sound/hwdep.h 2011-08-23 21:47:56.000000000 -0400
61170@@ -49,7 +49,7 @@ struct snd_hwdep_ops { 61527@@ -49,7 +49,7 @@ struct snd_hwdep_ops {
61171 struct snd_hwdep_dsp_status *status); 61528 struct snd_hwdep_dsp_status *status);
61172 int (*dsp_load)(struct snd_hwdep *hw, 61529 int (*dsp_load)(struct snd_hwdep *hw,
@@ -61176,9 +61533,9 @@ diff -urNp linux-3.0.7/include/sound/hwdep.h linux-3.0.7/include/sound/hwdep.h
61176 61533
61177 struct snd_hwdep { 61534 struct snd_hwdep {
61178 struct snd_card *card; 61535 struct snd_card *card;
61179diff -urNp linux-3.0.7/include/sound/info.h linux-3.0.7/include/sound/info.h 61536diff -urNp linux-3.0.8/include/sound/info.h linux-3.0.8/include/sound/info.h
61180--- linux-3.0.7/include/sound/info.h 2011-07-21 22:17:23.000000000 -0400 61537--- linux-3.0.8/include/sound/info.h 2011-07-21 22:17:23.000000000 -0400
61181+++ linux-3.0.7/include/sound/info.h 2011-08-23 21:47:56.000000000 -0400 61538+++ linux-3.0.8/include/sound/info.h 2011-08-23 21:47:56.000000000 -0400
61182@@ -44,7 +44,7 @@ struct snd_info_entry_text { 61539@@ -44,7 +44,7 @@ struct snd_info_entry_text {
61183 struct snd_info_buffer *buffer); 61540 struct snd_info_buffer *buffer);
61184 void (*write)(struct snd_info_entry *entry, 61541 void (*write)(struct snd_info_entry *entry,
@@ -61188,9 +61545,9 @@ diff -urNp linux-3.0.7/include/sound/info.h linux-3.0.7/include/sound/info.h
61188 61545
61189 struct snd_info_entry_ops { 61546 struct snd_info_entry_ops {
61190 int (*open)(struct snd_info_entry *entry, 61547 int (*open)(struct snd_info_entry *entry,
61191diff -urNp linux-3.0.7/include/sound/pcm.h linux-3.0.7/include/sound/pcm.h 61548diff -urNp linux-3.0.8/include/sound/pcm.h linux-3.0.8/include/sound/pcm.h
61192--- linux-3.0.7/include/sound/pcm.h 2011-07-21 22:17:23.000000000 -0400 61549--- linux-3.0.8/include/sound/pcm.h 2011-07-21 22:17:23.000000000 -0400
61193+++ linux-3.0.7/include/sound/pcm.h 2011-08-23 21:47:56.000000000 -0400 61550+++ linux-3.0.8/include/sound/pcm.h 2011-08-23 21:47:56.000000000 -0400
61194@@ -81,6 +81,7 @@ struct snd_pcm_ops { 61551@@ -81,6 +81,7 @@ struct snd_pcm_ops {
61195 int (*mmap)(struct snd_pcm_substream *substream, struct vm_area_struct *vma); 61552 int (*mmap)(struct snd_pcm_substream *substream, struct vm_area_struct *vma);
61196 int (*ack)(struct snd_pcm_substream *substream); 61553 int (*ack)(struct snd_pcm_substream *substream);
@@ -61199,9 +61556,9 @@ diff -urNp linux-3.0.7/include/sound/pcm.h linux-3.0.7/include/sound/pcm.h
61199 61556
61200 /* 61557 /*
61201 * 61558 *
61202diff -urNp linux-3.0.7/include/sound/sb16_csp.h linux-3.0.7/include/sound/sb16_csp.h 61559diff -urNp linux-3.0.8/include/sound/sb16_csp.h linux-3.0.8/include/sound/sb16_csp.h
61203--- linux-3.0.7/include/sound/sb16_csp.h 2011-07-21 22:17:23.000000000 -0400 61560--- linux-3.0.8/include/sound/sb16_csp.h 2011-07-21 22:17:23.000000000 -0400
61204+++ linux-3.0.7/include/sound/sb16_csp.h 2011-08-23 21:47:56.000000000 -0400 61561+++ linux-3.0.8/include/sound/sb16_csp.h 2011-08-23 21:47:56.000000000 -0400
61205@@ -146,7 +146,7 @@ struct snd_sb_csp_ops { 61562@@ -146,7 +146,7 @@ struct snd_sb_csp_ops {
61206 int (*csp_start) (struct snd_sb_csp * p, int sample_width, int channels); 61563 int (*csp_start) (struct snd_sb_csp * p, int sample_width, int channels);
61207 int (*csp_stop) (struct snd_sb_csp * p); 61564 int (*csp_stop) (struct snd_sb_csp * p);
@@ -61211,9 +61568,9 @@ diff -urNp linux-3.0.7/include/sound/sb16_csp.h linux-3.0.7/include/sound/sb16_c
61211 61568
61212 /* 61569 /*
61213 * CSP private data 61570 * CSP private data
61214diff -urNp linux-3.0.7/include/sound/soc.h linux-3.0.7/include/sound/soc.h 61571diff -urNp linux-3.0.8/include/sound/soc.h linux-3.0.8/include/sound/soc.h
61215--- linux-3.0.7/include/sound/soc.h 2011-07-21 22:17:23.000000000 -0400 61572--- linux-3.0.8/include/sound/soc.h 2011-07-21 22:17:23.000000000 -0400
61216+++ linux-3.0.7/include/sound/soc.h 2011-08-26 19:49:56.000000000 -0400 61573+++ linux-3.0.8/include/sound/soc.h 2011-08-26 19:49:56.000000000 -0400
61217@@ -636,7 +636,7 @@ struct snd_soc_platform_driver { 61574@@ -636,7 +636,7 @@ struct snd_soc_platform_driver {
61218 61575
61219 /* platform stream ops */ 61576 /* platform stream ops */
@@ -61223,9 +61580,9 @@ diff -urNp linux-3.0.7/include/sound/soc.h linux-3.0.7/include/sound/soc.h
61223 61580
61224 struct snd_soc_platform { 61581 struct snd_soc_platform {
61225 const char *name; 61582 const char *name;
61226diff -urNp linux-3.0.7/include/sound/ymfpci.h linux-3.0.7/include/sound/ymfpci.h 61583diff -urNp linux-3.0.8/include/sound/ymfpci.h linux-3.0.8/include/sound/ymfpci.h
61227--- linux-3.0.7/include/sound/ymfpci.h 2011-07-21 22:17:23.000000000 -0400 61584--- linux-3.0.8/include/sound/ymfpci.h 2011-07-21 22:17:23.000000000 -0400
61228+++ linux-3.0.7/include/sound/ymfpci.h 2011-08-23 21:47:56.000000000 -0400 61585+++ linux-3.0.8/include/sound/ymfpci.h 2011-08-23 21:47:56.000000000 -0400
61229@@ -358,7 +358,7 @@ struct snd_ymfpci { 61586@@ -358,7 +358,7 @@ struct snd_ymfpci {
61230 spinlock_t reg_lock; 61587 spinlock_t reg_lock;
61231 spinlock_t voice_lock; 61588 spinlock_t voice_lock;
@@ -61235,9 +61592,9 @@ diff -urNp linux-3.0.7/include/sound/ymfpci.h linux-3.0.7/include/sound/ymfpci.h
61235 struct snd_info_entry *proc_entry; 61592 struct snd_info_entry *proc_entry;
61236 const struct firmware *dsp_microcode; 61593 const struct firmware *dsp_microcode;
61237 const struct firmware *controller_microcode; 61594 const struct firmware *controller_microcode;
61238diff -urNp linux-3.0.7/include/target/target_core_base.h linux-3.0.7/include/target/target_core_base.h 61595diff -urNp linux-3.0.8/include/target/target_core_base.h linux-3.0.8/include/target/target_core_base.h
61239--- linux-3.0.7/include/target/target_core_base.h 2011-07-21 22:17:23.000000000 -0400 61596--- linux-3.0.8/include/target/target_core_base.h 2011-07-21 22:17:23.000000000 -0400
61240+++ linux-3.0.7/include/target/target_core_base.h 2011-08-23 21:47:56.000000000 -0400 61597+++ linux-3.0.8/include/target/target_core_base.h 2011-08-23 21:47:56.000000000 -0400
61241@@ -364,7 +364,7 @@ struct t10_reservation_ops { 61598@@ -364,7 +364,7 @@ struct t10_reservation_ops {
61242 int (*t10_seq_non_holder)(struct se_cmd *, unsigned char *, u32); 61599 int (*t10_seq_non_holder)(struct se_cmd *, unsigned char *, u32);
61243 int (*t10_pr_register)(struct se_cmd *); 61600 int (*t10_pr_register)(struct se_cmd *);
@@ -61267,9 +61624,9 @@ diff -urNp linux-3.0.7/include/target/target_core_base.h linux-3.0.7/include/tar
61267 atomic_t dev_tur_active; 61624 atomic_t dev_tur_active;
61268 atomic_t execute_tasks; 61625 atomic_t execute_tasks;
61269 atomic_t dev_status_thr_count; 61626 atomic_t dev_status_thr_count;
61270diff -urNp linux-3.0.7/include/trace/events/irq.h linux-3.0.7/include/trace/events/irq.h 61627diff -urNp linux-3.0.8/include/trace/events/irq.h linux-3.0.8/include/trace/events/irq.h
61271--- linux-3.0.7/include/trace/events/irq.h 2011-07-21 22:17:23.000000000 -0400 61628--- linux-3.0.8/include/trace/events/irq.h 2011-07-21 22:17:23.000000000 -0400
61272+++ linux-3.0.7/include/trace/events/irq.h 2011-08-23 21:47:56.000000000 -0400 61629+++ linux-3.0.8/include/trace/events/irq.h 2011-08-23 21:47:56.000000000 -0400
61273@@ -36,7 +36,7 @@ struct softirq_action; 61630@@ -36,7 +36,7 @@ struct softirq_action;
61274 */ 61631 */
61275 TRACE_EVENT(irq_handler_entry, 61632 TRACE_EVENT(irq_handler_entry,
@@ -61288,9 +61645,9 @@ diff -urNp linux-3.0.7/include/trace/events/irq.h linux-3.0.7/include/trace/even
61288 61645
61289 TP_ARGS(irq, action, ret), 61646 TP_ARGS(irq, action, ret),
61290 61647
61291diff -urNp linux-3.0.7/include/video/udlfb.h linux-3.0.7/include/video/udlfb.h 61648diff -urNp linux-3.0.8/include/video/udlfb.h linux-3.0.8/include/video/udlfb.h
61292--- linux-3.0.7/include/video/udlfb.h 2011-07-21 22:17:23.000000000 -0400 61649--- linux-3.0.8/include/video/udlfb.h 2011-07-21 22:17:23.000000000 -0400
61293+++ linux-3.0.7/include/video/udlfb.h 2011-08-23 21:47:56.000000000 -0400 61650+++ linux-3.0.8/include/video/udlfb.h 2011-08-23 21:47:56.000000000 -0400
61294@@ -51,10 +51,10 @@ struct dlfb_data { 61651@@ -51,10 +51,10 @@ struct dlfb_data {
61295 int base8; 61652 int base8;
61296 u32 pseudo_palette[256]; 61653 u32 pseudo_palette[256];
@@ -61306,9 +61663,9 @@ diff -urNp linux-3.0.7/include/video/udlfb.h linux-3.0.7/include/video/udlfb.h
61306 }; 61663 };
61307 61664
61308 #define NR_USB_REQUEST_I2C_SUB_IO 0x02 61665 #define NR_USB_REQUEST_I2C_SUB_IO 0x02
61309diff -urNp linux-3.0.7/include/video/uvesafb.h linux-3.0.7/include/video/uvesafb.h 61666diff -urNp linux-3.0.8/include/video/uvesafb.h linux-3.0.8/include/video/uvesafb.h
61310--- linux-3.0.7/include/video/uvesafb.h 2011-07-21 22:17:23.000000000 -0400 61667--- linux-3.0.8/include/video/uvesafb.h 2011-07-21 22:17:23.000000000 -0400
61311+++ linux-3.0.7/include/video/uvesafb.h 2011-08-23 21:47:56.000000000 -0400 61668+++ linux-3.0.8/include/video/uvesafb.h 2011-08-23 21:47:56.000000000 -0400
61312@@ -177,6 +177,7 @@ struct uvesafb_par { 61669@@ -177,6 +177,7 @@ struct uvesafb_par {
61313 u8 ypan; /* 0 - nothing, 1 - ypan, 2 - ywrap */ 61670 u8 ypan; /* 0 - nothing, 1 - ypan, 2 - ywrap */
61314 u8 pmi_setpal; /* PMI for palette changes */ 61671 u8 pmi_setpal; /* PMI for palette changes */
@@ -61317,21 +61674,9 @@ diff -urNp linux-3.0.7/include/video/uvesafb.h linux-3.0.7/include/video/uvesafb
61317 void *pmi_start; 61674 void *pmi_start;
61318 void *pmi_pal; 61675 void *pmi_pal;
61319 u8 *vbe_state_orig; /* 61676 u8 *vbe_state_orig; /*
61320diff -urNp linux-3.0.7/init/Kconfig linux-3.0.7/init/Kconfig 61677diff -urNp linux-3.0.8/init/do_mounts.c linux-3.0.8/init/do_mounts.c
61321--- linux-3.0.7/init/Kconfig 2011-07-21 22:17:23.000000000 -0400 61678--- linux-3.0.8/init/do_mounts.c 2011-07-21 22:17:23.000000000 -0400
61322+++ linux-3.0.7/init/Kconfig 2011-08-23 21:47:56.000000000 -0400 61679+++ linux-3.0.8/init/do_mounts.c 2011-10-06 04:17:55.000000000 -0400
61323@@ -1195,7 +1195,7 @@ config SLUB_DEBUG
61324
61325 config COMPAT_BRK
61326 bool "Disable heap randomization"
61327- default y
61328+ default n
61329 help
61330 Randomizing heap placement makes heap exploits harder, but it
61331 also breaks ancient binaries (including anything libc5 based).
61332diff -urNp linux-3.0.7/init/do_mounts.c linux-3.0.7/init/do_mounts.c
61333--- linux-3.0.7/init/do_mounts.c 2011-07-21 22:17:23.000000000 -0400
61334+++ linux-3.0.7/init/do_mounts.c 2011-10-06 04:17:55.000000000 -0400
61335@@ -287,11 +287,11 @@ static void __init get_fs_names(char *pa 61680@@ -287,11 +287,11 @@ static void __init get_fs_names(char *pa
61336 61681
61337 static int __init do_mount_root(char *name, char *fs, int flags, void *data) 61682 static int __init do_mount_root(char *name, char *fs, int flags, void *data)
@@ -61377,9 +61722,9 @@ diff -urNp linux-3.0.7/init/do_mounts.c linux-3.0.7/init/do_mounts.c
61377+ sys_mount((char __force_user *)".", (char __force_user *)"/", NULL, MS_MOVE, NULL); 61722+ sys_mount((char __force_user *)".", (char __force_user *)"/", NULL, MS_MOVE, NULL);
61378+ sys_chroot((const char __force_user *)"."); 61723+ sys_chroot((const char __force_user *)".");
61379 } 61724 }
61380diff -urNp linux-3.0.7/init/do_mounts.h linux-3.0.7/init/do_mounts.h 61725diff -urNp linux-3.0.8/init/do_mounts.h linux-3.0.8/init/do_mounts.h
61381--- linux-3.0.7/init/do_mounts.h 2011-07-21 22:17:23.000000000 -0400 61726--- linux-3.0.8/init/do_mounts.h 2011-07-21 22:17:23.000000000 -0400
61382+++ linux-3.0.7/init/do_mounts.h 2011-10-06 04:17:55.000000000 -0400 61727+++ linux-3.0.8/init/do_mounts.h 2011-10-06 04:17:55.000000000 -0400
61383@@ -15,15 +15,15 @@ extern int root_mountflags; 61728@@ -15,15 +15,15 @@ extern int root_mountflags;
61384 61729
61385 static inline int create_dev(char *name, dev_t dev) 61730 static inline int create_dev(char *name, dev_t dev)
@@ -61408,9 +61753,9 @@ diff -urNp linux-3.0.7/init/do_mounts.h linux-3.0.7/init/do_mounts.h
61408 return 0; 61753 return 0;
61409 if (!S_ISBLK(stat.st_mode)) 61754 if (!S_ISBLK(stat.st_mode))
61410 return 0; 61755 return 0;
61411diff -urNp linux-3.0.7/init/do_mounts_initrd.c linux-3.0.7/init/do_mounts_initrd.c 61756diff -urNp linux-3.0.8/init/do_mounts_initrd.c linux-3.0.8/init/do_mounts_initrd.c
61412--- linux-3.0.7/init/do_mounts_initrd.c 2011-07-21 22:17:23.000000000 -0400 61757--- linux-3.0.8/init/do_mounts_initrd.c 2011-07-21 22:17:23.000000000 -0400
61413+++ linux-3.0.7/init/do_mounts_initrd.c 2011-10-06 04:17:55.000000000 -0400 61758+++ linux-3.0.8/init/do_mounts_initrd.c 2011-10-06 04:17:55.000000000 -0400
61414@@ -44,13 +44,13 @@ static void __init handle_initrd(void) 61759@@ -44,13 +44,13 @@ static void __init handle_initrd(void)
61415 create_dev("/dev/root.old", Root_RAM0); 61760 create_dev("/dev/root.old", Root_RAM0);
61416 /* mount initrd on rootfs' /root */ 61761 /* mount initrd on rootfs' /root */
@@ -61485,9 +61830,9 @@ diff -urNp linux-3.0.7/init/do_mounts_initrd.c linux-3.0.7/init/do_mounts_initrd
61485+ sys_unlink((const char __force_user *)"/initrd.image"); 61830+ sys_unlink((const char __force_user *)"/initrd.image");
61486 return 0; 61831 return 0;
61487 } 61832 }
61488diff -urNp linux-3.0.7/init/do_mounts_md.c linux-3.0.7/init/do_mounts_md.c 61833diff -urNp linux-3.0.8/init/do_mounts_md.c linux-3.0.8/init/do_mounts_md.c
61489--- linux-3.0.7/init/do_mounts_md.c 2011-07-21 22:17:23.000000000 -0400 61834--- linux-3.0.8/init/do_mounts_md.c 2011-07-21 22:17:23.000000000 -0400
61490+++ linux-3.0.7/init/do_mounts_md.c 2011-10-06 04:17:55.000000000 -0400 61835+++ linux-3.0.8/init/do_mounts_md.c 2011-10-06 04:17:55.000000000 -0400
61491@@ -170,7 +170,7 @@ static void __init md_setup_drive(void) 61836@@ -170,7 +170,7 @@ static void __init md_setup_drive(void)
61492 partitioned ? "_d" : "", minor, 61837 partitioned ? "_d" : "", minor,
61493 md_setup_args[ent].device_names); 61838 md_setup_args[ent].device_names);
@@ -61515,9 +61860,9 @@ diff -urNp linux-3.0.7/init/do_mounts_md.c linux-3.0.7/init/do_mounts_md.c
61515 if (fd >= 0) { 61860 if (fd >= 0) {
61516 sys_ioctl(fd, RAID_AUTORUN, raid_autopart); 61861 sys_ioctl(fd, RAID_AUTORUN, raid_autopart);
61517 sys_close(fd); 61862 sys_close(fd);
61518diff -urNp linux-3.0.7/init/initramfs.c linux-3.0.7/init/initramfs.c 61863diff -urNp linux-3.0.8/init/initramfs.c linux-3.0.8/init/initramfs.c
61519--- linux-3.0.7/init/initramfs.c 2011-07-21 22:17:23.000000000 -0400 61864--- linux-3.0.8/init/initramfs.c 2011-07-21 22:17:23.000000000 -0400
61520+++ linux-3.0.7/init/initramfs.c 2011-10-06 04:17:55.000000000 -0400 61865+++ linux-3.0.8/init/initramfs.c 2011-10-06 04:17:55.000000000 -0400
61521@@ -74,7 +74,7 @@ static void __init free_hash(void) 61866@@ -74,7 +74,7 @@ static void __init free_hash(void)
61522 } 61867 }
61523 } 61868 }
@@ -61626,9 +61971,21 @@ diff -urNp linux-3.0.7/init/initramfs.c linux-3.0.7/init/initramfs.c
61626 state = SkipIt; 61971 state = SkipIt;
61627 next_state = Reset; 61972 next_state = Reset;
61628 return 0; 61973 return 0;
61629diff -urNp linux-3.0.7/init/main.c linux-3.0.7/init/main.c 61974diff -urNp linux-3.0.8/init/Kconfig linux-3.0.8/init/Kconfig
61630--- linux-3.0.7/init/main.c 2011-07-21 22:17:23.000000000 -0400 61975--- linux-3.0.8/init/Kconfig 2011-07-21 22:17:23.000000000 -0400
61631+++ linux-3.0.7/init/main.c 2011-10-06 04:17:55.000000000 -0400 61976+++ linux-3.0.8/init/Kconfig 2011-08-23 21:47:56.000000000 -0400
61977@@ -1195,7 +1195,7 @@ config SLUB_DEBUG
61978
61979 config COMPAT_BRK
61980 bool "Disable heap randomization"
61981- default y
61982+ default n
61983 help
61984 Randomizing heap placement makes heap exploits harder, but it
61985 also breaks ancient binaries (including anything libc5 based).
61986diff -urNp linux-3.0.8/init/main.c linux-3.0.8/init/main.c
61987--- linux-3.0.8/init/main.c 2011-07-21 22:17:23.000000000 -0400
61988+++ linux-3.0.8/init/main.c 2011-10-06 04:17:55.000000000 -0400
61632@@ -96,6 +96,8 @@ static inline void mark_rodata_ro(void) 61989@@ -96,6 +96,8 @@ static inline void mark_rodata_ro(void)
61633 extern void tc_init(void); 61990 extern void tc_init(void);
61634 #endif 61991 #endif
@@ -61740,9 +62097,9 @@ diff -urNp linux-3.0.7/init/main.c linux-3.0.7/init/main.c
61740 /* 62097 /*
61741 * Ok, we have completed the initial bootup, and 62098 * Ok, we have completed the initial bootup, and
61742 * we're essentially up and running. Get rid of the 62099 * we're essentially up and running. Get rid of the
61743diff -urNp linux-3.0.7/ipc/mqueue.c linux-3.0.7/ipc/mqueue.c 62100diff -urNp linux-3.0.8/ipc/mqueue.c linux-3.0.8/ipc/mqueue.c
61744--- linux-3.0.7/ipc/mqueue.c 2011-10-16 21:54:54.000000000 -0400 62101--- linux-3.0.8/ipc/mqueue.c 2011-10-24 08:05:30.000000000 -0400
61745+++ linux-3.0.7/ipc/mqueue.c 2011-10-16 21:59:31.000000000 -0400 62102+++ linux-3.0.8/ipc/mqueue.c 2011-10-16 21:59:31.000000000 -0400
61746@@ -156,6 +156,7 @@ static struct inode *mqueue_get_inode(st 62103@@ -156,6 +156,7 @@ static struct inode *mqueue_get_inode(st
61747 mq_bytes = (mq_msg_tblsz + 62104 mq_bytes = (mq_msg_tblsz +
61748 (info->attr.mq_maxmsg * info->attr.mq_msgsize)); 62105 (info->attr.mq_maxmsg * info->attr.mq_msgsize));
@@ -61751,9 +62108,9 @@ diff -urNp linux-3.0.7/ipc/mqueue.c linux-3.0.7/ipc/mqueue.c
61751 spin_lock(&mq_lock); 62108 spin_lock(&mq_lock);
61752 if (u->mq_bytes + mq_bytes < u->mq_bytes || 62109 if (u->mq_bytes + mq_bytes < u->mq_bytes ||
61753 u->mq_bytes + mq_bytes > task_rlimit(p, RLIMIT_MSGQUEUE)) { 62110 u->mq_bytes + mq_bytes > task_rlimit(p, RLIMIT_MSGQUEUE)) {
61754diff -urNp linux-3.0.7/ipc/msg.c linux-3.0.7/ipc/msg.c 62111diff -urNp linux-3.0.8/ipc/msg.c linux-3.0.8/ipc/msg.c
61755--- linux-3.0.7/ipc/msg.c 2011-07-21 22:17:23.000000000 -0400 62112--- linux-3.0.8/ipc/msg.c 2011-07-21 22:17:23.000000000 -0400
61756+++ linux-3.0.7/ipc/msg.c 2011-08-23 21:47:56.000000000 -0400 62113+++ linux-3.0.8/ipc/msg.c 2011-08-23 21:47:56.000000000 -0400
61757@@ -309,18 +309,19 @@ static inline int msg_security(struct ke 62114@@ -309,18 +309,19 @@ static inline int msg_security(struct ke
61758 return security_msg_queue_associate(msq, msgflg); 62115 return security_msg_queue_associate(msq, msgflg);
61759 } 62116 }
@@ -61779,9 +62136,9 @@ diff -urNp linux-3.0.7/ipc/msg.c linux-3.0.7/ipc/msg.c
61779 msg_params.key = key; 62136 msg_params.key = key;
61780 msg_params.flg = msgflg; 62137 msg_params.flg = msgflg;
61781 62138
61782diff -urNp linux-3.0.7/ipc/sem.c linux-3.0.7/ipc/sem.c 62139diff -urNp linux-3.0.8/ipc/sem.c linux-3.0.8/ipc/sem.c
61783--- linux-3.0.7/ipc/sem.c 2011-09-02 18:11:21.000000000 -0400 62140--- linux-3.0.8/ipc/sem.c 2011-10-24 08:05:21.000000000 -0400
61784+++ linux-3.0.7/ipc/sem.c 2011-08-23 21:48:14.000000000 -0400 62141+++ linux-3.0.8/ipc/sem.c 2011-08-23 21:48:14.000000000 -0400
61785@@ -318,10 +318,15 @@ static inline int sem_more_checks(struct 62142@@ -318,10 +318,15 @@ static inline int sem_more_checks(struct
61786 return 0; 62143 return 0;
61787 } 62144 }
@@ -61828,9 +62185,9 @@ diff -urNp linux-3.0.7/ipc/sem.c linux-3.0.7/ipc/sem.c
61828 ns = current->nsproxy->ipc_ns; 62185 ns = current->nsproxy->ipc_ns;
61829 62186
61830 if (nsops < 1 || semid < 0) 62187 if (nsops < 1 || semid < 0)
61831diff -urNp linux-3.0.7/ipc/shm.c linux-3.0.7/ipc/shm.c 62188diff -urNp linux-3.0.8/ipc/shm.c linux-3.0.8/ipc/shm.c
61832--- linux-3.0.7/ipc/shm.c 2011-07-21 22:17:23.000000000 -0400 62189--- linux-3.0.8/ipc/shm.c 2011-07-21 22:17:23.000000000 -0400
61833+++ linux-3.0.7/ipc/shm.c 2011-08-23 21:48:14.000000000 -0400 62190+++ linux-3.0.8/ipc/shm.c 2011-08-23 21:48:14.000000000 -0400
61834@@ -69,6 +69,14 @@ static void shm_destroy (struct ipc_name 62191@@ -69,6 +69,14 @@ static void shm_destroy (struct ipc_name
61835 static int sysvipc_shm_proc_show(struct seq_file *s, void *it); 62192 static int sysvipc_shm_proc_show(struct seq_file *s, void *it);
61836 #endif 62193 #endif
@@ -61917,9 +62274,9 @@ diff -urNp linux-3.0.7/ipc/shm.c linux-3.0.7/ipc/shm.c
61917 size = i_size_read(path.dentry->d_inode); 62274 size = i_size_read(path.dentry->d_inode);
61918 shm_unlock(shp); 62275 shm_unlock(shp);
61919 62276
61920diff -urNp linux-3.0.7/kernel/acct.c linux-3.0.7/kernel/acct.c 62277diff -urNp linux-3.0.8/kernel/acct.c linux-3.0.8/kernel/acct.c
61921--- linux-3.0.7/kernel/acct.c 2011-07-21 22:17:23.000000000 -0400 62278--- linux-3.0.8/kernel/acct.c 2011-07-21 22:17:23.000000000 -0400
61922+++ linux-3.0.7/kernel/acct.c 2011-10-06 04:17:55.000000000 -0400 62279+++ linux-3.0.8/kernel/acct.c 2011-10-06 04:17:55.000000000 -0400
61923@@ -570,7 +570,7 @@ static void do_acct_process(struct bsd_a 62280@@ -570,7 +570,7 @@ static void do_acct_process(struct bsd_a
61924 */ 62281 */
61925 flim = current->signal->rlim[RLIMIT_FSIZE].rlim_cur; 62282 flim = current->signal->rlim[RLIMIT_FSIZE].rlim_cur;
@@ -61929,9 +62286,9 @@ diff -urNp linux-3.0.7/kernel/acct.c linux-3.0.7/kernel/acct.c
61929 sizeof(acct_t), &file->f_pos); 62286 sizeof(acct_t), &file->f_pos);
61930 current->signal->rlim[RLIMIT_FSIZE].rlim_cur = flim; 62287 current->signal->rlim[RLIMIT_FSIZE].rlim_cur = flim;
61931 set_fs(fs); 62288 set_fs(fs);
61932diff -urNp linux-3.0.7/kernel/audit.c linux-3.0.7/kernel/audit.c 62289diff -urNp linux-3.0.8/kernel/audit.c linux-3.0.8/kernel/audit.c
61933--- linux-3.0.7/kernel/audit.c 2011-07-21 22:17:23.000000000 -0400 62290--- linux-3.0.8/kernel/audit.c 2011-07-21 22:17:23.000000000 -0400
61934+++ linux-3.0.7/kernel/audit.c 2011-08-23 21:47:56.000000000 -0400 62291+++ linux-3.0.8/kernel/audit.c 2011-08-23 21:47:56.000000000 -0400
61935@@ -112,7 +112,7 @@ u32 audit_sig_sid = 0; 62292@@ -112,7 +112,7 @@ u32 audit_sig_sid = 0;
61936 3) suppressed due to audit_rate_limit 62293 3) suppressed due to audit_rate_limit
61937 4) suppressed due to audit_backlog_limit 62294 4) suppressed due to audit_backlog_limit
@@ -61968,9 +62325,9 @@ diff -urNp linux-3.0.7/kernel/audit.c linux-3.0.7/kernel/audit.c
61968 status_set.backlog = skb_queue_len(&audit_skb_queue); 62325 status_set.backlog = skb_queue_len(&audit_skb_queue);
61969 audit_send_reply(NETLINK_CB(skb).pid, seq, AUDIT_GET, 0, 0, 62326 audit_send_reply(NETLINK_CB(skb).pid, seq, AUDIT_GET, 0, 0,
61970 &status_set, sizeof(status_set)); 62327 &status_set, sizeof(status_set));
61971diff -urNp linux-3.0.7/kernel/auditsc.c linux-3.0.7/kernel/auditsc.c 62328diff -urNp linux-3.0.8/kernel/auditsc.c linux-3.0.8/kernel/auditsc.c
61972--- linux-3.0.7/kernel/auditsc.c 2011-07-21 22:17:23.000000000 -0400 62329--- linux-3.0.8/kernel/auditsc.c 2011-07-21 22:17:23.000000000 -0400
61973+++ linux-3.0.7/kernel/auditsc.c 2011-08-23 21:47:56.000000000 -0400 62330+++ linux-3.0.8/kernel/auditsc.c 2011-08-23 21:47:56.000000000 -0400
61974@@ -2118,7 +2118,7 @@ int auditsc_get_stamp(struct audit_conte 62331@@ -2118,7 +2118,7 @@ int auditsc_get_stamp(struct audit_conte
61975 } 62332 }
61976 62333
@@ -61989,9 +62346,9 @@ diff -urNp linux-3.0.7/kernel/auditsc.c linux-3.0.7/kernel/auditsc.c
61989 struct audit_context *context = task->audit_context; 62346 struct audit_context *context = task->audit_context;
61990 62347
61991 if (context && context->in_syscall) { 62348 if (context && context->in_syscall) {
61992diff -urNp linux-3.0.7/kernel/capability.c linux-3.0.7/kernel/capability.c 62349diff -urNp linux-3.0.8/kernel/capability.c linux-3.0.8/kernel/capability.c
61993--- linux-3.0.7/kernel/capability.c 2011-07-21 22:17:23.000000000 -0400 62350--- linux-3.0.8/kernel/capability.c 2011-07-21 22:17:23.000000000 -0400
61994+++ linux-3.0.7/kernel/capability.c 2011-08-23 21:48:14.000000000 -0400 62351+++ linux-3.0.8/kernel/capability.c 2011-08-23 21:48:14.000000000 -0400
61995@@ -202,6 +202,9 @@ SYSCALL_DEFINE2(capget, cap_user_header_ 62352@@ -202,6 +202,9 @@ SYSCALL_DEFINE2(capget, cap_user_header_
61996 * before modification is attempted and the application 62353 * before modification is attempted and the application
61997 * fails. 62354 * fails.
@@ -62052,9 +62409,9 @@ diff -urNp linux-3.0.7/kernel/capability.c linux-3.0.7/kernel/capability.c
62052 /** 62409 /**
62053 * nsown_capable - Check superior capability to one's own user_ns 62410 * nsown_capable - Check superior capability to one's own user_ns
62054 * @cap: The capability in question 62411 * @cap: The capability in question
62055diff -urNp linux-3.0.7/kernel/cgroup.c linux-3.0.7/kernel/cgroup.c 62412diff -urNp linux-3.0.8/kernel/cgroup.c linux-3.0.8/kernel/cgroup.c
62056--- linux-3.0.7/kernel/cgroup.c 2011-07-21 22:17:23.000000000 -0400 62413--- linux-3.0.8/kernel/cgroup.c 2011-07-21 22:17:23.000000000 -0400
62057+++ linux-3.0.7/kernel/cgroup.c 2011-08-23 21:48:14.000000000 -0400 62414+++ linux-3.0.8/kernel/cgroup.c 2011-08-23 21:48:14.000000000 -0400
62058@@ -593,6 +593,8 @@ static struct css_set *find_css_set( 62415@@ -593,6 +593,8 @@ static struct css_set *find_css_set(
62059 struct hlist_head *hhead; 62416 struct hlist_head *hhead;
62060 struct cg_cgroup_link *link; 62417 struct cg_cgroup_link *link;
@@ -62064,9 +62421,9 @@ diff -urNp linux-3.0.7/kernel/cgroup.c linux-3.0.7/kernel/cgroup.c
62064 /* First see if we already have a cgroup group that matches 62421 /* First see if we already have a cgroup group that matches
62065 * the desired set */ 62422 * the desired set */
62066 read_lock(&css_set_lock); 62423 read_lock(&css_set_lock);
62067diff -urNp linux-3.0.7/kernel/compat.c linux-3.0.7/kernel/compat.c 62424diff -urNp linux-3.0.8/kernel/compat.c linux-3.0.8/kernel/compat.c
62068--- linux-3.0.7/kernel/compat.c 2011-07-21 22:17:23.000000000 -0400 62425--- linux-3.0.8/kernel/compat.c 2011-07-21 22:17:23.000000000 -0400
62069+++ linux-3.0.7/kernel/compat.c 2011-10-06 04:17:55.000000000 -0400 62426+++ linux-3.0.8/kernel/compat.c 2011-10-06 04:17:55.000000000 -0400
62070@@ -13,6 +13,7 @@ 62427@@ -13,6 +13,7 @@
62071 62428
62072 #include <linux/linkage.h> 62429 #include <linux/linkage.h>
@@ -62232,9 +62589,9 @@ diff -urNp linux-3.0.7/kernel/compat.c linux-3.0.7/kernel/compat.c
62232 set_fs(oldfs); 62589 set_fs(oldfs);
62233 62590
62234 if ((err == -ERESTART_RESTARTBLOCK) && rmtp && 62591 if ((err == -ERESTART_RESTARTBLOCK) && rmtp &&
62235diff -urNp linux-3.0.7/kernel/configs.c linux-3.0.7/kernel/configs.c 62592diff -urNp linux-3.0.8/kernel/configs.c linux-3.0.8/kernel/configs.c
62236--- linux-3.0.7/kernel/configs.c 2011-07-21 22:17:23.000000000 -0400 62593--- linux-3.0.8/kernel/configs.c 2011-07-21 22:17:23.000000000 -0400
62237+++ linux-3.0.7/kernel/configs.c 2011-08-23 21:48:14.000000000 -0400 62594+++ linux-3.0.8/kernel/configs.c 2011-08-23 21:48:14.000000000 -0400
62238@@ -74,8 +74,19 @@ static int __init ikconfig_init(void) 62595@@ -74,8 +74,19 @@ static int __init ikconfig_init(void)
62239 struct proc_dir_entry *entry; 62596 struct proc_dir_entry *entry;
62240 62597
@@ -62255,9 +62612,9 @@ diff -urNp linux-3.0.7/kernel/configs.c linux-3.0.7/kernel/configs.c
62255 if (!entry) 62612 if (!entry)
62256 return -ENOMEM; 62613 return -ENOMEM;
62257 62614
62258diff -urNp linux-3.0.7/kernel/cred.c linux-3.0.7/kernel/cred.c 62615diff -urNp linux-3.0.8/kernel/cred.c linux-3.0.8/kernel/cred.c
62259--- linux-3.0.7/kernel/cred.c 2011-07-21 22:17:23.000000000 -0400 62616--- linux-3.0.8/kernel/cred.c 2011-07-21 22:17:23.000000000 -0400
62260+++ linux-3.0.7/kernel/cred.c 2011-08-25 17:23:03.000000000 -0400 62617+++ linux-3.0.8/kernel/cred.c 2011-08-25 17:23:03.000000000 -0400
62261@@ -158,6 +158,8 @@ static void put_cred_rcu(struct rcu_head 62618@@ -158,6 +158,8 @@ static void put_cred_rcu(struct rcu_head
62262 */ 62619 */
62263 void __put_cred(struct cred *cred) 62620 void __put_cred(struct cred *cred)
@@ -62406,9 +62763,9 @@ diff -urNp linux-3.0.7/kernel/cred.c linux-3.0.7/kernel/cred.c
62406 ret = security_secctx_to_secid(secctx, strlen(secctx), &secid); 62763 ret = security_secctx_to_secid(secctx, strlen(secctx), &secid);
62407 if (ret < 0) 62764 if (ret < 0)
62408 return ret; 62765 return ret;
62409diff -urNp linux-3.0.7/kernel/debug/debug_core.c linux-3.0.7/kernel/debug/debug_core.c 62766diff -urNp linux-3.0.8/kernel/debug/debug_core.c linux-3.0.8/kernel/debug/debug_core.c
62410--- linux-3.0.7/kernel/debug/debug_core.c 2011-07-21 22:17:23.000000000 -0400 62767--- linux-3.0.8/kernel/debug/debug_core.c 2011-07-21 22:17:23.000000000 -0400
62411+++ linux-3.0.7/kernel/debug/debug_core.c 2011-08-23 21:47:56.000000000 -0400 62768+++ linux-3.0.8/kernel/debug/debug_core.c 2011-08-23 21:47:56.000000000 -0400
62412@@ -119,7 +119,7 @@ static DEFINE_RAW_SPINLOCK(dbg_slave_loc 62769@@ -119,7 +119,7 @@ static DEFINE_RAW_SPINLOCK(dbg_slave_loc
62413 */ 62770 */
62414 static atomic_t masters_in_kgdb; 62771 static atomic_t masters_in_kgdb;
@@ -62469,9 +62826,9 @@ diff -urNp linux-3.0.7/kernel/debug/debug_core.c linux-3.0.7/kernel/debug/debug_
62469 tasklet_schedule(&kgdb_tasklet_breakpoint); 62826 tasklet_schedule(&kgdb_tasklet_breakpoint);
62470 } 62827 }
62471 EXPORT_SYMBOL_GPL(kgdb_schedule_breakpoint); 62828 EXPORT_SYMBOL_GPL(kgdb_schedule_breakpoint);
62472diff -urNp linux-3.0.7/kernel/debug/kdb/kdb_main.c linux-3.0.7/kernel/debug/kdb/kdb_main.c 62829diff -urNp linux-3.0.8/kernel/debug/kdb/kdb_main.c linux-3.0.8/kernel/debug/kdb/kdb_main.c
62473--- linux-3.0.7/kernel/debug/kdb/kdb_main.c 2011-07-21 22:17:23.000000000 -0400 62830--- linux-3.0.8/kernel/debug/kdb/kdb_main.c 2011-07-21 22:17:23.000000000 -0400
62474+++ linux-3.0.7/kernel/debug/kdb/kdb_main.c 2011-08-23 21:47:56.000000000 -0400 62831+++ linux-3.0.8/kernel/debug/kdb/kdb_main.c 2011-08-23 21:47:56.000000000 -0400
62475@@ -1980,7 +1980,7 @@ static int kdb_lsmod(int argc, const cha 62832@@ -1980,7 +1980,7 @@ static int kdb_lsmod(int argc, const cha
62476 list_for_each_entry(mod, kdb_modules, list) { 62833 list_for_each_entry(mod, kdb_modules, list) {
62477 62834
@@ -62490,9 +62847,9 @@ diff -urNp linux-3.0.7/kernel/debug/kdb/kdb_main.c linux-3.0.7/kernel/debug/kdb/
62490 62847
62491 #ifdef CONFIG_MODULE_UNLOAD 62848 #ifdef CONFIG_MODULE_UNLOAD
62492 { 62849 {
62493diff -urNp linux-3.0.7/kernel/events/core.c linux-3.0.7/kernel/events/core.c 62850diff -urNp linux-3.0.8/kernel/events/core.c linux-3.0.8/kernel/events/core.c
62494--- linux-3.0.7/kernel/events/core.c 2011-09-02 18:11:21.000000000 -0400 62851--- linux-3.0.8/kernel/events/core.c 2011-10-24 08:05:21.000000000 -0400
62495+++ linux-3.0.7/kernel/events/core.c 2011-09-14 09:08:05.000000000 -0400 62852+++ linux-3.0.8/kernel/events/core.c 2011-09-14 09:08:05.000000000 -0400
62496@@ -170,7 +170,7 @@ int perf_proc_update_handler(struct ctl_ 62853@@ -170,7 +170,7 @@ int perf_proc_update_handler(struct ctl_
62497 return 0; 62854 return 0;
62498 } 62855 }
@@ -62588,9 +62945,9 @@ diff -urNp linux-3.0.7/kernel/events/core.c linux-3.0.7/kernel/events/core.c
62588 &parent_event->child_total_time_running); 62945 &parent_event->child_total_time_running);
62589 62946
62590 /* 62947 /*
62591diff -urNp linux-3.0.7/kernel/exit.c linux-3.0.7/kernel/exit.c 62948diff -urNp linux-3.0.8/kernel/exit.c linux-3.0.8/kernel/exit.c
62592--- linux-3.0.7/kernel/exit.c 2011-07-21 22:17:23.000000000 -0400 62949--- linux-3.0.8/kernel/exit.c 2011-07-21 22:17:23.000000000 -0400
62593+++ linux-3.0.7/kernel/exit.c 2011-08-23 21:48:14.000000000 -0400 62950+++ linux-3.0.8/kernel/exit.c 2011-08-23 21:48:14.000000000 -0400
62594@@ -57,6 +57,10 @@ 62951@@ -57,6 +57,10 @@
62595 #include <asm/pgtable.h> 62952 #include <asm/pgtable.h>
62596 #include <asm/mmu_context.h> 62953 #include <asm/mmu_context.h>
@@ -62704,9 +63061,9 @@ diff -urNp linux-3.0.7/kernel/exit.c linux-3.0.7/kernel/exit.c
62704 exit_mm(tsk); 63061 exit_mm(tsk);
62705 63062
62706 if (group_dead) 63063 if (group_dead)
62707diff -urNp linux-3.0.7/kernel/fork.c linux-3.0.7/kernel/fork.c 63064diff -urNp linux-3.0.8/kernel/fork.c linux-3.0.8/kernel/fork.c
62708--- linux-3.0.7/kernel/fork.c 2011-07-21 22:17:23.000000000 -0400 63065--- linux-3.0.8/kernel/fork.c 2011-07-21 22:17:23.000000000 -0400
62709+++ linux-3.0.7/kernel/fork.c 2011-08-25 17:23:36.000000000 -0400 63066+++ linux-3.0.8/kernel/fork.c 2011-08-25 17:23:36.000000000 -0400
62710@@ -286,7 +286,7 @@ static struct task_struct *dup_task_stru 63067@@ -286,7 +286,7 @@ static struct task_struct *dup_task_stru
62711 *stackend = STACK_END_MAGIC; /* for overflow detection */ 63068 *stackend = STACK_END_MAGIC; /* for overflow detection */
62712 63069
@@ -63004,9 +63361,9 @@ diff -urNp linux-3.0.7/kernel/fork.c linux-3.0.7/kernel/fork.c
63004 new_fs = NULL; 63361 new_fs = NULL;
63005 else 63362 else
63006 new_fs = fs; 63363 new_fs = fs;
63007diff -urNp linux-3.0.7/kernel/futex.c linux-3.0.7/kernel/futex.c 63364diff -urNp linux-3.0.8/kernel/futex.c linux-3.0.8/kernel/futex.c
63008--- linux-3.0.7/kernel/futex.c 2011-09-02 18:11:21.000000000 -0400 63365--- linux-3.0.8/kernel/futex.c 2011-10-24 08:05:21.000000000 -0400
63009+++ linux-3.0.7/kernel/futex.c 2011-08-23 21:48:14.000000000 -0400 63366+++ linux-3.0.8/kernel/futex.c 2011-08-23 21:48:14.000000000 -0400
63010@@ -54,6 +54,7 @@ 63367@@ -54,6 +54,7 @@
63011 #include <linux/mount.h> 63368 #include <linux/mount.h>
63012 #include <linux/pagemap.h> 63369 #include <linux/pagemap.h>
@@ -63094,9 +63451,9 @@ diff -urNp linux-3.0.7/kernel/futex.c linux-3.0.7/kernel/futex.c
63094 63451
63095 for (i = 0; i < ARRAY_SIZE(futex_queues); i++) { 63452 for (i = 0; i < ARRAY_SIZE(futex_queues); i++) {
63096 plist_head_init(&futex_queues[i].chain, &futex_queues[i].lock); 63453 plist_head_init(&futex_queues[i].chain, &futex_queues[i].lock);
63097diff -urNp linux-3.0.7/kernel/futex_compat.c linux-3.0.7/kernel/futex_compat.c 63454diff -urNp linux-3.0.8/kernel/futex_compat.c linux-3.0.8/kernel/futex_compat.c
63098--- linux-3.0.7/kernel/futex_compat.c 2011-07-21 22:17:23.000000000 -0400 63455--- linux-3.0.8/kernel/futex_compat.c 2011-07-21 22:17:23.000000000 -0400
63099+++ linux-3.0.7/kernel/futex_compat.c 2011-08-23 21:48:14.000000000 -0400 63456+++ linux-3.0.8/kernel/futex_compat.c 2011-08-23 21:48:14.000000000 -0400
63100@@ -10,6 +10,7 @@ 63457@@ -10,6 +10,7 @@
63101 #include <linux/compat.h> 63458 #include <linux/compat.h>
63102 #include <linux/nsproxy.h> 63459 #include <linux/nsproxy.h>
@@ -63136,9 +63493,9 @@ diff -urNp linux-3.0.7/kernel/futex_compat.c linux-3.0.7/kernel/futex_compat.c
63136 head = p->compat_robust_list; 63493 head = p->compat_robust_list;
63137 rcu_read_unlock(); 63494 rcu_read_unlock();
63138 } 63495 }
63139diff -urNp linux-3.0.7/kernel/gcov/base.c linux-3.0.7/kernel/gcov/base.c 63496diff -urNp linux-3.0.8/kernel/gcov/base.c linux-3.0.8/kernel/gcov/base.c
63140--- linux-3.0.7/kernel/gcov/base.c 2011-07-21 22:17:23.000000000 -0400 63497--- linux-3.0.8/kernel/gcov/base.c 2011-07-21 22:17:23.000000000 -0400
63141+++ linux-3.0.7/kernel/gcov/base.c 2011-08-23 21:47:56.000000000 -0400 63498+++ linux-3.0.8/kernel/gcov/base.c 2011-08-23 21:47:56.000000000 -0400
63142@@ -102,11 +102,6 @@ void gcov_enable_events(void) 63499@@ -102,11 +102,6 @@ void gcov_enable_events(void)
63143 } 63500 }
63144 63501
@@ -63160,9 +63517,9 @@ diff -urNp linux-3.0.7/kernel/gcov/base.c linux-3.0.7/kernel/gcov/base.c
63160 if (prev) 63517 if (prev)
63161 prev->next = info->next; 63518 prev->next = info->next;
63162 else 63519 else
63163diff -urNp linux-3.0.7/kernel/hrtimer.c linux-3.0.7/kernel/hrtimer.c 63520diff -urNp linux-3.0.8/kernel/hrtimer.c linux-3.0.8/kernel/hrtimer.c
63164--- linux-3.0.7/kernel/hrtimer.c 2011-07-21 22:17:23.000000000 -0400 63521--- linux-3.0.8/kernel/hrtimer.c 2011-07-21 22:17:23.000000000 -0400
63165+++ linux-3.0.7/kernel/hrtimer.c 2011-08-23 21:47:56.000000000 -0400 63522+++ linux-3.0.8/kernel/hrtimer.c 2011-08-23 21:47:56.000000000 -0400
63166@@ -1391,7 +1391,7 @@ void hrtimer_peek_ahead_timers(void) 63523@@ -1391,7 +1391,7 @@ void hrtimer_peek_ahead_timers(void)
63167 local_irq_restore(flags); 63524 local_irq_restore(flags);
63168 } 63525 }
@@ -63172,9 +63529,9 @@ diff -urNp linux-3.0.7/kernel/hrtimer.c linux-3.0.7/kernel/hrtimer.c
63172 { 63529 {
63173 hrtimer_peek_ahead_timers(); 63530 hrtimer_peek_ahead_timers();
63174 } 63531 }
63175diff -urNp linux-3.0.7/kernel/jump_label.c linux-3.0.7/kernel/jump_label.c 63532diff -urNp linux-3.0.8/kernel/jump_label.c linux-3.0.8/kernel/jump_label.c
63176--- linux-3.0.7/kernel/jump_label.c 2011-07-21 22:17:23.000000000 -0400 63533--- linux-3.0.8/kernel/jump_label.c 2011-07-21 22:17:23.000000000 -0400
63177+++ linux-3.0.7/kernel/jump_label.c 2011-08-23 21:47:56.000000000 -0400 63534+++ linux-3.0.8/kernel/jump_label.c 2011-08-23 21:47:56.000000000 -0400
63178@@ -55,7 +55,9 @@ jump_label_sort_entries(struct jump_entr 63535@@ -55,7 +55,9 @@ jump_label_sort_entries(struct jump_entr
63179 63536
63180 size = (((unsigned long)stop - (unsigned long)start) 63537 size = (((unsigned long)stop - (unsigned long)start)
@@ -63198,9 +63555,9 @@ diff -urNp linux-3.0.7/kernel/jump_label.c linux-3.0.7/kernel/jump_label.c
63198 } 63555 }
63199 63556
63200 static int 63557 static int
63201diff -urNp linux-3.0.7/kernel/kallsyms.c linux-3.0.7/kernel/kallsyms.c 63558diff -urNp linux-3.0.8/kernel/kallsyms.c linux-3.0.8/kernel/kallsyms.c
63202--- linux-3.0.7/kernel/kallsyms.c 2011-07-21 22:17:23.000000000 -0400 63559--- linux-3.0.8/kernel/kallsyms.c 2011-07-21 22:17:23.000000000 -0400
63203+++ linux-3.0.7/kernel/kallsyms.c 2011-08-23 21:48:14.000000000 -0400 63560+++ linux-3.0.8/kernel/kallsyms.c 2011-08-23 21:48:14.000000000 -0400
63204@@ -11,6 +11,9 @@ 63561@@ -11,6 +11,9 @@
63205 * Changed the compression method from stem compression to "table lookup" 63562 * Changed the compression method from stem compression to "table lookup"
63206 * compression (see scripts/kallsyms.c for a more complete description) 63563 * compression (see scripts/kallsyms.c for a more complete description)
@@ -63303,9 +63660,9 @@ diff -urNp linux-3.0.7/kernel/kallsyms.c linux-3.0.7/kernel/kallsyms.c
63303 if (!iter) 63660 if (!iter)
63304 return -ENOMEM; 63661 return -ENOMEM;
63305 reset_iter(iter, 0); 63662 reset_iter(iter, 0);
63306diff -urNp linux-3.0.7/kernel/kexec.c linux-3.0.7/kernel/kexec.c 63663diff -urNp linux-3.0.8/kernel/kexec.c linux-3.0.8/kernel/kexec.c
63307--- linux-3.0.7/kernel/kexec.c 2011-07-21 22:17:23.000000000 -0400 63664--- linux-3.0.8/kernel/kexec.c 2011-07-21 22:17:23.000000000 -0400
63308+++ linux-3.0.7/kernel/kexec.c 2011-10-06 04:17:55.000000000 -0400 63665+++ linux-3.0.8/kernel/kexec.c 2011-10-06 04:17:55.000000000 -0400
63309@@ -1033,7 +1033,8 @@ asmlinkage long compat_sys_kexec_load(un 63666@@ -1033,7 +1033,8 @@ asmlinkage long compat_sys_kexec_load(un
63310 unsigned long flags) 63667 unsigned long flags)
63311 { 63668 {
@@ -63316,9 +63673,9 @@ diff -urNp linux-3.0.7/kernel/kexec.c linux-3.0.7/kernel/kexec.c
63316 unsigned long i, result; 63673 unsigned long i, result;
63317 63674
63318 /* Don't allow clients that don't understand the native 63675 /* Don't allow clients that don't understand the native
63319diff -urNp linux-3.0.7/kernel/kmod.c linux-3.0.7/kernel/kmod.c 63676diff -urNp linux-3.0.8/kernel/kmod.c linux-3.0.8/kernel/kmod.c
63320--- linux-3.0.7/kernel/kmod.c 2011-07-21 22:17:23.000000000 -0400 63677--- linux-3.0.8/kernel/kmod.c 2011-07-21 22:17:23.000000000 -0400
63321+++ linux-3.0.7/kernel/kmod.c 2011-10-06 04:17:55.000000000 -0400 63678+++ linux-3.0.8/kernel/kmod.c 2011-10-06 04:17:55.000000000 -0400
63322@@ -73,13 +73,12 @@ char modprobe_path[KMOD_PATH_LEN] = "/sb 63679@@ -73,13 +73,12 @@ char modprobe_path[KMOD_PATH_LEN] = "/sb
63323 * If module auto-loading support is disabled then this function 63680 * If module auto-loading support is disabled then this function
63324 * becomes a no-operation. 63681 * becomes a no-operation.
@@ -63424,9 +63781,9 @@ diff -urNp linux-3.0.7/kernel/kmod.c linux-3.0.7/kernel/kmod.c
63424 63781
63425 /* 63782 /*
63426 * If ret is 0, either ____call_usermodehelper failed and the 63783 * If ret is 0, either ____call_usermodehelper failed and the
63427diff -urNp linux-3.0.7/kernel/kprobes.c linux-3.0.7/kernel/kprobes.c 63784diff -urNp linux-3.0.8/kernel/kprobes.c linux-3.0.8/kernel/kprobes.c
63428--- linux-3.0.7/kernel/kprobes.c 2011-07-21 22:17:23.000000000 -0400 63785--- linux-3.0.8/kernel/kprobes.c 2011-07-21 22:17:23.000000000 -0400
63429+++ linux-3.0.7/kernel/kprobes.c 2011-08-23 21:47:56.000000000 -0400 63786+++ linux-3.0.8/kernel/kprobes.c 2011-08-23 21:47:56.000000000 -0400
63430@@ -185,7 +185,7 @@ static kprobe_opcode_t __kprobes *__get_ 63787@@ -185,7 +185,7 @@ static kprobe_opcode_t __kprobes *__get_
63431 * kernel image and loaded module images reside. This is required 63788 * kernel image and loaded module images reside. This is required
63432 * so x86_64 can correctly handle the %rip-relative fixups. 63789 * so x86_64 can correctly handle the %rip-relative fixups.
@@ -63463,9 +63820,9 @@ diff -urNp linux-3.0.7/kernel/kprobes.c linux-3.0.7/kernel/kprobes.c
63463 63820
63464 head = &kprobe_table[i]; 63821 head = &kprobe_table[i];
63465 preempt_disable(); 63822 preempt_disable();
63466diff -urNp linux-3.0.7/kernel/lockdep.c linux-3.0.7/kernel/lockdep.c 63823diff -urNp linux-3.0.8/kernel/lockdep.c linux-3.0.8/kernel/lockdep.c
63467--- linux-3.0.7/kernel/lockdep.c 2011-07-21 22:17:23.000000000 -0400 63824--- linux-3.0.8/kernel/lockdep.c 2011-07-21 22:17:23.000000000 -0400
63468+++ linux-3.0.7/kernel/lockdep.c 2011-08-23 21:47:56.000000000 -0400 63825+++ linux-3.0.8/kernel/lockdep.c 2011-08-23 21:47:56.000000000 -0400
63469@@ -583,6 +583,10 @@ static int static_obj(void *obj) 63826@@ -583,6 +583,10 @@ static int static_obj(void *obj)
63470 end = (unsigned long) &_end, 63827 end = (unsigned long) &_end,
63471 addr = (unsigned long) obj; 63828 addr = (unsigned long) obj;
@@ -63494,9 +63851,9 @@ diff -urNp linux-3.0.7/kernel/lockdep.c linux-3.0.7/kernel/lockdep.c
63494 if (very_verbose(class)) { 63851 if (very_verbose(class)) {
63495 printk("\nacquire class [%p] %s", class->key, class->name); 63852 printk("\nacquire class [%p] %s", class->key, class->name);
63496 if (class->name_version > 1) 63853 if (class->name_version > 1)
63497diff -urNp linux-3.0.7/kernel/lockdep_proc.c linux-3.0.7/kernel/lockdep_proc.c 63854diff -urNp linux-3.0.8/kernel/lockdep_proc.c linux-3.0.8/kernel/lockdep_proc.c
63498--- linux-3.0.7/kernel/lockdep_proc.c 2011-07-21 22:17:23.000000000 -0400 63855--- linux-3.0.8/kernel/lockdep_proc.c 2011-07-21 22:17:23.000000000 -0400
63499+++ linux-3.0.7/kernel/lockdep_proc.c 2011-08-23 21:47:56.000000000 -0400 63856+++ linux-3.0.8/kernel/lockdep_proc.c 2011-08-23 21:47:56.000000000 -0400
63500@@ -39,7 +39,7 @@ static void l_stop(struct seq_file *m, v 63857@@ -39,7 +39,7 @@ static void l_stop(struct seq_file *m, v
63501 63858
63502 static void print_name(struct seq_file *m, struct lock_class *class) 63859 static void print_name(struct seq_file *m, struct lock_class *class)
@@ -63506,9 +63863,9 @@ diff -urNp linux-3.0.7/kernel/lockdep_proc.c linux-3.0.7/kernel/lockdep_proc.c
63506 const char *name = class->name; 63863 const char *name = class->name;
63507 63864
63508 if (!name) { 63865 if (!name) {
63509diff -urNp linux-3.0.7/kernel/module.c linux-3.0.7/kernel/module.c 63866diff -urNp linux-3.0.8/kernel/module.c linux-3.0.8/kernel/module.c
63510--- linux-3.0.7/kernel/module.c 2011-07-21 22:17:23.000000000 -0400 63867--- linux-3.0.8/kernel/module.c 2011-07-21 22:17:23.000000000 -0400
63511+++ linux-3.0.7/kernel/module.c 2011-08-23 21:48:14.000000000 -0400 63868+++ linux-3.0.8/kernel/module.c 2011-08-23 21:48:14.000000000 -0400
63512@@ -58,6 +58,7 @@ 63869@@ -58,6 +58,7 @@
63513 #include <linux/jump_label.h> 63870 #include <linux/jump_label.h>
63514 #include <linux/pfn.h> 63871 #include <linux/pfn.h>
@@ -64237,9 +64594,40 @@ diff -urNp linux-3.0.7/kernel/module.c linux-3.0.7/kernel/module.c
64237 mod = NULL; 64594 mod = NULL;
64238 } 64595 }
64239 return mod; 64596 return mod;
64240diff -urNp linux-3.0.7/kernel/mutex-debug.c linux-3.0.7/kernel/mutex-debug.c 64597diff -urNp linux-3.0.8/kernel/mutex.c linux-3.0.8/kernel/mutex.c
64241--- linux-3.0.7/kernel/mutex-debug.c 2011-07-21 22:17:23.000000000 -0400 64598--- linux-3.0.8/kernel/mutex.c 2011-07-21 22:17:23.000000000 -0400
64242+++ linux-3.0.7/kernel/mutex-debug.c 2011-08-23 21:47:56.000000000 -0400 64599+++ linux-3.0.8/kernel/mutex.c 2011-08-23 21:47:56.000000000 -0400
64600@@ -198,7 +198,7 @@ __mutex_lock_common(struct mutex *lock,
64601 spin_lock_mutex(&lock->wait_lock, flags);
64602
64603 debug_mutex_lock_common(lock, &waiter);
64604- debug_mutex_add_waiter(lock, &waiter, task_thread_info(task));
64605+ debug_mutex_add_waiter(lock, &waiter, task);
64606
64607 /* add waiting tasks to the end of the waitqueue (FIFO): */
64608 list_add_tail(&waiter.list, &lock->wait_list);
64609@@ -227,8 +227,7 @@ __mutex_lock_common(struct mutex *lock,
64610 * TASK_UNINTERRUPTIBLE case.)
64611 */
64612 if (unlikely(signal_pending_state(state, task))) {
64613- mutex_remove_waiter(lock, &waiter,
64614- task_thread_info(task));
64615+ mutex_remove_waiter(lock, &waiter, task);
64616 mutex_release(&lock->dep_map, 1, ip);
64617 spin_unlock_mutex(&lock->wait_lock, flags);
64618
64619@@ -249,7 +248,7 @@ __mutex_lock_common(struct mutex *lock,
64620 done:
64621 lock_acquired(&lock->dep_map, ip);
64622 /* got the lock - rejoice! */
64623- mutex_remove_waiter(lock, &waiter, current_thread_info());
64624+ mutex_remove_waiter(lock, &waiter, task);
64625 mutex_set_owner(lock);
64626
64627 /* set it to 0 if there are no waiters left: */
64628diff -urNp linux-3.0.8/kernel/mutex-debug.c linux-3.0.8/kernel/mutex-debug.c
64629--- linux-3.0.8/kernel/mutex-debug.c 2011-07-21 22:17:23.000000000 -0400
64630+++ linux-3.0.8/kernel/mutex-debug.c 2011-08-23 21:47:56.000000000 -0400
64243@@ -49,21 +49,21 @@ void debug_mutex_free_waiter(struct mute 64631@@ -49,21 +49,21 @@ void debug_mutex_free_waiter(struct mute
64244 } 64632 }
64245 64633
@@ -64268,9 +64656,9 @@ diff -urNp linux-3.0.7/kernel/mutex-debug.c linux-3.0.7/kernel/mutex-debug.c
64268 64656
64269 list_del_init(&waiter->list); 64657 list_del_init(&waiter->list);
64270 waiter->task = NULL; 64658 waiter->task = NULL;
64271diff -urNp linux-3.0.7/kernel/mutex-debug.h linux-3.0.7/kernel/mutex-debug.h 64659diff -urNp linux-3.0.8/kernel/mutex-debug.h linux-3.0.8/kernel/mutex-debug.h
64272--- linux-3.0.7/kernel/mutex-debug.h 2011-07-21 22:17:23.000000000 -0400 64660--- linux-3.0.8/kernel/mutex-debug.h 2011-07-21 22:17:23.000000000 -0400
64273+++ linux-3.0.7/kernel/mutex-debug.h 2011-08-23 21:47:56.000000000 -0400 64661+++ linux-3.0.8/kernel/mutex-debug.h 2011-08-23 21:47:56.000000000 -0400
64274@@ -20,9 +20,9 @@ extern void debug_mutex_wake_waiter(stru 64662@@ -20,9 +20,9 @@ extern void debug_mutex_wake_waiter(stru
64275 extern void debug_mutex_free_waiter(struct mutex_waiter *waiter); 64663 extern void debug_mutex_free_waiter(struct mutex_waiter *waiter);
64276 extern void debug_mutex_add_waiter(struct mutex *lock, 64664 extern void debug_mutex_add_waiter(struct mutex *lock,
@@ -64283,40 +64671,9 @@ diff -urNp linux-3.0.7/kernel/mutex-debug.h linux-3.0.7/kernel/mutex-debug.h
64283 extern void debug_mutex_unlock(struct mutex *lock); 64671 extern void debug_mutex_unlock(struct mutex *lock);
64284 extern void debug_mutex_init(struct mutex *lock, const char *name, 64672 extern void debug_mutex_init(struct mutex *lock, const char *name,
64285 struct lock_class_key *key); 64673 struct lock_class_key *key);
64286diff -urNp linux-3.0.7/kernel/mutex.c linux-3.0.7/kernel/mutex.c 64674diff -urNp linux-3.0.8/kernel/padata.c linux-3.0.8/kernel/padata.c
64287--- linux-3.0.7/kernel/mutex.c 2011-07-21 22:17:23.000000000 -0400 64675--- linux-3.0.8/kernel/padata.c 2011-07-21 22:17:23.000000000 -0400
64288+++ linux-3.0.7/kernel/mutex.c 2011-08-23 21:47:56.000000000 -0400 64676+++ linux-3.0.8/kernel/padata.c 2011-08-23 21:47:56.000000000 -0400
64289@@ -198,7 +198,7 @@ __mutex_lock_common(struct mutex *lock,
64290 spin_lock_mutex(&lock->wait_lock, flags);
64291
64292 debug_mutex_lock_common(lock, &waiter);
64293- debug_mutex_add_waiter(lock, &waiter, task_thread_info(task));
64294+ debug_mutex_add_waiter(lock, &waiter, task);
64295
64296 /* add waiting tasks to the end of the waitqueue (FIFO): */
64297 list_add_tail(&waiter.list, &lock->wait_list);
64298@@ -227,8 +227,7 @@ __mutex_lock_common(struct mutex *lock,
64299 * TASK_UNINTERRUPTIBLE case.)
64300 */
64301 if (unlikely(signal_pending_state(state, task))) {
64302- mutex_remove_waiter(lock, &waiter,
64303- task_thread_info(task));
64304+ mutex_remove_waiter(lock, &waiter, task);
64305 mutex_release(&lock->dep_map, 1, ip);
64306 spin_unlock_mutex(&lock->wait_lock, flags);
64307
64308@@ -249,7 +248,7 @@ __mutex_lock_common(struct mutex *lock,
64309 done:
64310 lock_acquired(&lock->dep_map, ip);
64311 /* got the lock - rejoice! */
64312- mutex_remove_waiter(lock, &waiter, current_thread_info());
64313+ mutex_remove_waiter(lock, &waiter, task);
64314 mutex_set_owner(lock);
64315
64316 /* set it to 0 if there are no waiters left: */
64317diff -urNp linux-3.0.7/kernel/padata.c linux-3.0.7/kernel/padata.c
64318--- linux-3.0.7/kernel/padata.c 2011-07-21 22:17:23.000000000 -0400
64319+++ linux-3.0.7/kernel/padata.c 2011-08-23 21:47:56.000000000 -0400
64320@@ -132,10 +132,10 @@ int padata_do_parallel(struct padata_ins 64677@@ -132,10 +132,10 @@ int padata_do_parallel(struct padata_ins
64321 padata->pd = pd; 64678 padata->pd = pd;
64322 padata->cb_cpu = cb_cpu; 64679 padata->cb_cpu = cb_cpu;
@@ -64340,9 +64697,9 @@ diff -urNp linux-3.0.7/kernel/padata.c linux-3.0.7/kernel/padata.c
64340 atomic_set(&pd->reorder_objects, 0); 64697 atomic_set(&pd->reorder_objects, 0);
64341 atomic_set(&pd->refcnt, 0); 64698 atomic_set(&pd->refcnt, 0);
64342 pd->pinst = pinst; 64699 pd->pinst = pinst;
64343diff -urNp linux-3.0.7/kernel/panic.c linux-3.0.7/kernel/panic.c 64700diff -urNp linux-3.0.8/kernel/panic.c linux-3.0.8/kernel/panic.c
64344--- linux-3.0.7/kernel/panic.c 2011-07-21 22:17:23.000000000 -0400 64701--- linux-3.0.8/kernel/panic.c 2011-07-21 22:17:23.000000000 -0400
64345+++ linux-3.0.7/kernel/panic.c 2011-08-23 21:48:14.000000000 -0400 64702+++ linux-3.0.8/kernel/panic.c 2011-08-23 21:48:14.000000000 -0400
64346@@ -369,7 +369,7 @@ static void warn_slowpath_common(const c 64703@@ -369,7 +369,7 @@ static void warn_slowpath_common(const c
64347 const char *board; 64704 const char *board;
64348 64705
@@ -64362,9 +64719,9 @@ diff -urNp linux-3.0.7/kernel/panic.c linux-3.0.7/kernel/panic.c
64362 __builtin_return_address(0)); 64719 __builtin_return_address(0));
64363 } 64720 }
64364 EXPORT_SYMBOL(__stack_chk_fail); 64721 EXPORT_SYMBOL(__stack_chk_fail);
64365diff -urNp linux-3.0.7/kernel/pid.c linux-3.0.7/kernel/pid.c 64722diff -urNp linux-3.0.8/kernel/pid.c linux-3.0.8/kernel/pid.c
64366--- linux-3.0.7/kernel/pid.c 2011-07-21 22:17:23.000000000 -0400 64723--- linux-3.0.8/kernel/pid.c 2011-07-21 22:17:23.000000000 -0400
64367+++ linux-3.0.7/kernel/pid.c 2011-08-23 21:48:14.000000000 -0400 64724+++ linux-3.0.8/kernel/pid.c 2011-08-23 21:48:14.000000000 -0400
64368@@ -33,6 +33,7 @@ 64725@@ -33,6 +33,7 @@
64369 #include <linux/rculist.h> 64726 #include <linux/rculist.h>
64370 #include <linux/bootmem.h> 64727 #include <linux/bootmem.h>
@@ -64412,9 +64769,9 @@ diff -urNp linux-3.0.7/kernel/pid.c linux-3.0.7/kernel/pid.c
64412 struct pid *get_task_pid(struct task_struct *task, enum pid_type type) 64769 struct pid *get_task_pid(struct task_struct *task, enum pid_type type)
64413 { 64770 {
64414 struct pid *pid; 64771 struct pid *pid;
64415diff -urNp linux-3.0.7/kernel/posix-cpu-timers.c linux-3.0.7/kernel/posix-cpu-timers.c 64772diff -urNp linux-3.0.8/kernel/posix-cpu-timers.c linux-3.0.8/kernel/posix-cpu-timers.c
64416--- linux-3.0.7/kernel/posix-cpu-timers.c 2011-10-17 23:17:09.000000000 -0400 64773--- linux-3.0.8/kernel/posix-cpu-timers.c 2011-10-25 09:10:33.000000000 -0400
64417+++ linux-3.0.7/kernel/posix-cpu-timers.c 2011-10-17 23:17:19.000000000 -0400 64774+++ linux-3.0.8/kernel/posix-cpu-timers.c 2011-10-25 09:10:41.000000000 -0400
64418@@ -6,6 +6,7 @@ 64775@@ -6,6 +6,7 @@
64419 #include <linux/posix-timers.h> 64776 #include <linux/posix-timers.h>
64420 #include <linux/errno.h> 64777 #include <linux/errno.h>
@@ -64423,7 +64780,7 @@ diff -urNp linux-3.0.7/kernel/posix-cpu-timers.c linux-3.0.7/kernel/posix-cpu-ti
64423 #include <asm/uaccess.h> 64780 #include <asm/uaccess.h>
64424 #include <linux/kernel_stat.h> 64781 #include <linux/kernel_stat.h>
64425 #include <trace/events/timer.h> 64782 #include <trace/events/timer.h>
64426@@ -1605,14 +1606,14 @@ struct k_clock clock_posix_cpu = { 64783@@ -1606,14 +1607,14 @@ struct k_clock clock_posix_cpu = {
64427 64784
64428 static __init int init_posix_cpu_timers(void) 64785 static __init int init_posix_cpu_timers(void)
64429 { 64786 {
@@ -64440,9 +64797,9 @@ diff -urNp linux-3.0.7/kernel/posix-cpu-timers.c linux-3.0.7/kernel/posix-cpu-ti
64440 .clock_getres = thread_cpu_clock_getres, 64797 .clock_getres = thread_cpu_clock_getres,
64441 .clock_get = thread_cpu_clock_get, 64798 .clock_get = thread_cpu_clock_get,
64442 .timer_create = thread_cpu_timer_create, 64799 .timer_create = thread_cpu_timer_create,
64443diff -urNp linux-3.0.7/kernel/posix-timers.c linux-3.0.7/kernel/posix-timers.c 64800diff -urNp linux-3.0.8/kernel/posix-timers.c linux-3.0.8/kernel/posix-timers.c
64444--- linux-3.0.7/kernel/posix-timers.c 2011-07-21 22:17:23.000000000 -0400 64801--- linux-3.0.8/kernel/posix-timers.c 2011-07-21 22:17:23.000000000 -0400
64445+++ linux-3.0.7/kernel/posix-timers.c 2011-08-23 21:48:14.000000000 -0400 64802+++ linux-3.0.8/kernel/posix-timers.c 2011-08-23 21:48:14.000000000 -0400
64446@@ -43,6 +43,7 @@ 64803@@ -43,6 +43,7 @@
64447 #include <linux/idr.h> 64804 #include <linux/idr.h>
64448 #include <linux/posix-clock.h> 64805 #include <linux/posix-clock.h>
@@ -64546,9 +64903,9 @@ diff -urNp linux-3.0.7/kernel/posix-timers.c linux-3.0.7/kernel/posix-timers.c
64546 return kc->clock_set(which_clock, &new_tp); 64903 return kc->clock_set(which_clock, &new_tp);
64547 } 64904 }
64548 64905
64549diff -urNp linux-3.0.7/kernel/power/poweroff.c linux-3.0.7/kernel/power/poweroff.c 64906diff -urNp linux-3.0.8/kernel/power/poweroff.c linux-3.0.8/kernel/power/poweroff.c
64550--- linux-3.0.7/kernel/power/poweroff.c 2011-07-21 22:17:23.000000000 -0400 64907--- linux-3.0.8/kernel/power/poweroff.c 2011-07-21 22:17:23.000000000 -0400
64551+++ linux-3.0.7/kernel/power/poweroff.c 2011-08-23 21:47:56.000000000 -0400 64908+++ linux-3.0.8/kernel/power/poweroff.c 2011-08-23 21:47:56.000000000 -0400
64552@@ -37,7 +37,7 @@ static struct sysrq_key_op sysrq_powerof 64909@@ -37,7 +37,7 @@ static struct sysrq_key_op sysrq_powerof
64553 .enable_mask = SYSRQ_ENABLE_BOOT, 64910 .enable_mask = SYSRQ_ENABLE_BOOT,
64554 }; 64911 };
@@ -64558,9 +64915,9 @@ diff -urNp linux-3.0.7/kernel/power/poweroff.c linux-3.0.7/kernel/power/poweroff
64558 { 64915 {
64559 register_sysrq_key('o', &sysrq_poweroff_op); 64916 register_sysrq_key('o', &sysrq_poweroff_op);
64560 return 0; 64917 return 0;
64561diff -urNp linux-3.0.7/kernel/power/process.c linux-3.0.7/kernel/power/process.c 64918diff -urNp linux-3.0.8/kernel/power/process.c linux-3.0.8/kernel/power/process.c
64562--- linux-3.0.7/kernel/power/process.c 2011-07-21 22:17:23.000000000 -0400 64919--- linux-3.0.8/kernel/power/process.c 2011-07-21 22:17:23.000000000 -0400
64563+++ linux-3.0.7/kernel/power/process.c 2011-08-23 21:47:56.000000000 -0400 64920+++ linux-3.0.8/kernel/power/process.c 2011-08-23 21:47:56.000000000 -0400
64564@@ -41,6 +41,7 @@ static int try_to_freeze_tasks(bool sig_ 64921@@ -41,6 +41,7 @@ static int try_to_freeze_tasks(bool sig_
64565 u64 elapsed_csecs64; 64922 u64 elapsed_csecs64;
64566 unsigned int elapsed_csecs; 64923 unsigned int elapsed_csecs;
@@ -64603,9 +64960,9 @@ diff -urNp linux-3.0.7/kernel/power/process.c linux-3.0.7/kernel/power/process.c
64603 break; 64960 break;
64604 64961
64605 if (pm_wakeup_pending()) { 64962 if (pm_wakeup_pending()) {
64606diff -urNp linux-3.0.7/kernel/printk.c linux-3.0.7/kernel/printk.c 64963diff -urNp linux-3.0.8/kernel/printk.c linux-3.0.8/kernel/printk.c
64607--- linux-3.0.7/kernel/printk.c 2011-10-16 21:54:54.000000000 -0400 64964--- linux-3.0.8/kernel/printk.c 2011-10-24 08:05:30.000000000 -0400
64608+++ linux-3.0.7/kernel/printk.c 2011-10-16 21:55:28.000000000 -0400 64965+++ linux-3.0.8/kernel/printk.c 2011-10-16 21:55:28.000000000 -0400
64609@@ -313,12 +313,17 @@ static int check_syslog_permissions(int 64966@@ -313,12 +313,17 @@ static int check_syslog_permissions(int
64610 if (from_file && type != SYSLOG_ACTION_OPEN) 64967 if (from_file && type != SYSLOG_ACTION_OPEN)
64611 return 0; 64968 return 0;
@@ -64625,9 +64982,9 @@ diff -urNp linux-3.0.7/kernel/printk.c linux-3.0.7/kernel/printk.c
64625 "but no CAP_SYSLOG (deprecated).\n"); 64982 "but no CAP_SYSLOG (deprecated).\n");
64626 return 0; 64983 return 0;
64627 } 64984 }
64628diff -urNp linux-3.0.7/kernel/profile.c linux-3.0.7/kernel/profile.c 64985diff -urNp linux-3.0.8/kernel/profile.c linux-3.0.8/kernel/profile.c
64629--- linux-3.0.7/kernel/profile.c 2011-07-21 22:17:23.000000000 -0400 64986--- linux-3.0.8/kernel/profile.c 2011-07-21 22:17:23.000000000 -0400
64630+++ linux-3.0.7/kernel/profile.c 2011-08-23 21:47:56.000000000 -0400 64987+++ linux-3.0.8/kernel/profile.c 2011-08-23 21:47:56.000000000 -0400
64631@@ -39,7 +39,7 @@ struct profile_hit { 64988@@ -39,7 +39,7 @@ struct profile_hit {
64632 /* Oprofile timer tick hook */ 64989 /* Oprofile timer tick hook */
64633 static int (*timer_hook)(struct pt_regs *) __read_mostly; 64990 static int (*timer_hook)(struct pt_regs *) __read_mostly;
@@ -64685,9 +65042,9 @@ diff -urNp linux-3.0.7/kernel/profile.c linux-3.0.7/kernel/profile.c
64685 return count; 65042 return count;
64686 } 65043 }
64687 65044
64688diff -urNp linux-3.0.7/kernel/ptrace.c linux-3.0.7/kernel/ptrace.c 65045diff -urNp linux-3.0.8/kernel/ptrace.c linux-3.0.8/kernel/ptrace.c
64689--- linux-3.0.7/kernel/ptrace.c 2011-07-21 22:17:23.000000000 -0400 65046--- linux-3.0.8/kernel/ptrace.c 2011-07-21 22:17:23.000000000 -0400
64690+++ linux-3.0.7/kernel/ptrace.c 2011-08-23 21:48:14.000000000 -0400 65047+++ linux-3.0.8/kernel/ptrace.c 2011-08-23 21:48:14.000000000 -0400
64691@@ -132,7 +132,8 @@ int ptrace_check_attach(struct task_stru 65048@@ -132,7 +132,8 @@ int ptrace_check_attach(struct task_stru
64692 return ret; 65049 return ret;
64693 } 65050 }
@@ -64859,9 +65216,9 @@ diff -urNp linux-3.0.7/kernel/ptrace.c linux-3.0.7/kernel/ptrace.c
64859 goto out_put_task_struct; 65216 goto out_put_task_struct;
64860 } 65217 }
64861 65218
64862diff -urNp linux-3.0.7/kernel/rcutorture.c linux-3.0.7/kernel/rcutorture.c 65219diff -urNp linux-3.0.8/kernel/rcutorture.c linux-3.0.8/kernel/rcutorture.c
64863--- linux-3.0.7/kernel/rcutorture.c 2011-07-21 22:17:23.000000000 -0400 65220--- linux-3.0.8/kernel/rcutorture.c 2011-07-21 22:17:23.000000000 -0400
64864+++ linux-3.0.7/kernel/rcutorture.c 2011-08-23 21:47:56.000000000 -0400 65221+++ linux-3.0.8/kernel/rcutorture.c 2011-08-23 21:47:56.000000000 -0400
64865@@ -138,12 +138,12 @@ static DEFINE_PER_CPU(long [RCU_TORTURE_ 65222@@ -138,12 +138,12 @@ static DEFINE_PER_CPU(long [RCU_TORTURE_
64866 { 0 }; 65223 { 0 };
64867 static DEFINE_PER_CPU(long [RCU_TORTURE_PIPE_LEN + 1], rcu_torture_batch) = 65224 static DEFINE_PER_CPU(long [RCU_TORTURE_PIPE_LEN + 1], rcu_torture_batch) =
@@ -65022,9 +65379,9 @@ diff -urNp linux-3.0.7/kernel/rcutorture.c linux-3.0.7/kernel/rcutorture.c
65022 for_each_possible_cpu(cpu) { 65379 for_each_possible_cpu(cpu) {
65023 for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) { 65380 for (i = 0; i < RCU_TORTURE_PIPE_LEN + 1; i++) {
65024 per_cpu(rcu_torture_count, cpu)[i] = 0; 65381 per_cpu(rcu_torture_count, cpu)[i] = 0;
65025diff -urNp linux-3.0.7/kernel/rcutree.c linux-3.0.7/kernel/rcutree.c 65382diff -urNp linux-3.0.8/kernel/rcutree.c linux-3.0.8/kernel/rcutree.c
65026--- linux-3.0.7/kernel/rcutree.c 2011-07-21 22:17:23.000000000 -0400 65383--- linux-3.0.8/kernel/rcutree.c 2011-07-21 22:17:23.000000000 -0400
65027+++ linux-3.0.7/kernel/rcutree.c 2011-09-14 09:08:05.000000000 -0400 65384+++ linux-3.0.8/kernel/rcutree.c 2011-09-14 09:08:05.000000000 -0400
65028@@ -356,9 +356,9 @@ void rcu_enter_nohz(void) 65385@@ -356,9 +356,9 @@ void rcu_enter_nohz(void)
65029 } 65386 }
65030 /* CPUs seeing atomic_inc() must see prior RCU read-side crit sects */ 65387 /* CPUs seeing atomic_inc() must see prior RCU read-side crit sects */
@@ -65107,9 +65464,9 @@ diff -urNp linux-3.0.7/kernel/rcutree.c linux-3.0.7/kernel/rcutree.c
65107 { 65464 {
65108 __rcu_process_callbacks(&rcu_sched_state, 65465 __rcu_process_callbacks(&rcu_sched_state,
65109 &__get_cpu_var(rcu_sched_data)); 65466 &__get_cpu_var(rcu_sched_data));
65110diff -urNp linux-3.0.7/kernel/rcutree.h linux-3.0.7/kernel/rcutree.h 65467diff -urNp linux-3.0.8/kernel/rcutree.h linux-3.0.8/kernel/rcutree.h
65111--- linux-3.0.7/kernel/rcutree.h 2011-07-21 22:17:23.000000000 -0400 65468--- linux-3.0.8/kernel/rcutree.h 2011-07-21 22:17:23.000000000 -0400
65112+++ linux-3.0.7/kernel/rcutree.h 2011-09-14 09:08:05.000000000 -0400 65469+++ linux-3.0.8/kernel/rcutree.h 2011-09-14 09:08:05.000000000 -0400
65113@@ -86,7 +86,7 @@ 65470@@ -86,7 +86,7 @@
65114 struct rcu_dynticks { 65471 struct rcu_dynticks {
65115 int dynticks_nesting; /* Track irq/process nesting level. */ 65472 int dynticks_nesting; /* Track irq/process nesting level. */
@@ -65119,9 +65476,9 @@ diff -urNp linux-3.0.7/kernel/rcutree.h linux-3.0.7/kernel/rcutree.h
65119 }; 65476 };
65120 65477
65121 /* RCU's kthread states for tracing. */ 65478 /* RCU's kthread states for tracing. */
65122diff -urNp linux-3.0.7/kernel/rcutree_plugin.h linux-3.0.7/kernel/rcutree_plugin.h 65479diff -urNp linux-3.0.8/kernel/rcutree_plugin.h linux-3.0.8/kernel/rcutree_plugin.h
65123--- linux-3.0.7/kernel/rcutree_plugin.h 2011-07-21 22:17:23.000000000 -0400 65480--- linux-3.0.8/kernel/rcutree_plugin.h 2011-07-21 22:17:23.000000000 -0400
65124+++ linux-3.0.7/kernel/rcutree_plugin.h 2011-08-23 21:47:56.000000000 -0400 65481+++ linux-3.0.8/kernel/rcutree_plugin.h 2011-08-23 21:47:56.000000000 -0400
65125@@ -822,7 +822,7 @@ void synchronize_rcu_expedited(void) 65482@@ -822,7 +822,7 @@ void synchronize_rcu_expedited(void)
65126 65483
65127 /* Clean up and exit. */ 65484 /* Clean up and exit. */
@@ -65184,9 +65541,9 @@ diff -urNp linux-3.0.7/kernel/rcutree_plugin.h linux-3.0.7/kernel/rcutree_plugin
65184 65541
65185 put_online_cpus(); 65542 put_online_cpus();
65186 } 65543 }
65187diff -urNp linux-3.0.7/kernel/relay.c linux-3.0.7/kernel/relay.c 65544diff -urNp linux-3.0.8/kernel/relay.c linux-3.0.8/kernel/relay.c
65188--- linux-3.0.7/kernel/relay.c 2011-07-21 22:17:23.000000000 -0400 65545--- linux-3.0.8/kernel/relay.c 2011-07-21 22:17:23.000000000 -0400
65189+++ linux-3.0.7/kernel/relay.c 2011-08-23 21:48:14.000000000 -0400 65546+++ linux-3.0.8/kernel/relay.c 2011-08-23 21:48:14.000000000 -0400
65190@@ -1236,6 +1236,8 @@ static ssize_t subbuf_splice_actor(struc 65547@@ -1236,6 +1236,8 @@ static ssize_t subbuf_splice_actor(struc
65191 }; 65548 };
65192 ssize_t ret; 65549 ssize_t ret;
@@ -65196,9 +65553,9 @@ diff -urNp linux-3.0.7/kernel/relay.c linux-3.0.7/kernel/relay.c
65196 if (rbuf->subbufs_produced == rbuf->subbufs_consumed) 65553 if (rbuf->subbufs_produced == rbuf->subbufs_consumed)
65197 return 0; 65554 return 0;
65198 if (splice_grow_spd(pipe, &spd)) 65555 if (splice_grow_spd(pipe, &spd))
65199diff -urNp linux-3.0.7/kernel/resource.c linux-3.0.7/kernel/resource.c 65556diff -urNp linux-3.0.8/kernel/resource.c linux-3.0.8/kernel/resource.c
65200--- linux-3.0.7/kernel/resource.c 2011-07-21 22:17:23.000000000 -0400 65557--- linux-3.0.8/kernel/resource.c 2011-07-21 22:17:23.000000000 -0400
65201+++ linux-3.0.7/kernel/resource.c 2011-08-23 21:48:14.000000000 -0400 65558+++ linux-3.0.8/kernel/resource.c 2011-08-23 21:48:14.000000000 -0400
65202@@ -141,8 +141,18 @@ static const struct file_operations proc 65559@@ -141,8 +141,18 @@ static const struct file_operations proc
65203 65560
65204 static int __init ioresources_init(void) 65561 static int __init ioresources_init(void)
@@ -65218,9 +65575,9 @@ diff -urNp linux-3.0.7/kernel/resource.c linux-3.0.7/kernel/resource.c
65218 return 0; 65575 return 0;
65219 } 65576 }
65220 __initcall(ioresources_init); 65577 __initcall(ioresources_init);
65221diff -urNp linux-3.0.7/kernel/rtmutex-tester.c linux-3.0.7/kernel/rtmutex-tester.c 65578diff -urNp linux-3.0.8/kernel/rtmutex-tester.c linux-3.0.8/kernel/rtmutex-tester.c
65222--- linux-3.0.7/kernel/rtmutex-tester.c 2011-07-21 22:17:23.000000000 -0400 65579--- linux-3.0.8/kernel/rtmutex-tester.c 2011-07-21 22:17:23.000000000 -0400
65223+++ linux-3.0.7/kernel/rtmutex-tester.c 2011-08-23 21:47:56.000000000 -0400 65580+++ linux-3.0.8/kernel/rtmutex-tester.c 2011-08-23 21:47:56.000000000 -0400
65224@@ -20,7 +20,7 @@ 65581@@ -20,7 +20,7 @@
65225 #define MAX_RT_TEST_MUTEXES 8 65582 #define MAX_RT_TEST_MUTEXES 8
65226 65583
@@ -65311,9 +65668,30 @@ diff -urNp linux-3.0.7/kernel/rtmutex-tester.c linux-3.0.7/kernel/rtmutex-tester
65311 return; 65668 return;
65312 65669
65313 default: 65670 default:
65314diff -urNp linux-3.0.7/kernel/sched.c linux-3.0.7/kernel/sched.c 65671diff -urNp linux-3.0.8/kernel/sched_autogroup.c linux-3.0.8/kernel/sched_autogroup.c
65315--- linux-3.0.7/kernel/sched.c 2011-10-17 23:17:09.000000000 -0400 65672--- linux-3.0.8/kernel/sched_autogroup.c 2011-07-21 22:17:23.000000000 -0400
65316+++ linux-3.0.7/kernel/sched.c 2011-10-17 23:17:19.000000000 -0400 65673+++ linux-3.0.8/kernel/sched_autogroup.c 2011-08-23 21:47:56.000000000 -0400
65674@@ -7,7 +7,7 @@
65675
65676 unsigned int __read_mostly sysctl_sched_autogroup_enabled = 1;
65677 static struct autogroup autogroup_default;
65678-static atomic_t autogroup_seq_nr;
65679+static atomic_unchecked_t autogroup_seq_nr;
65680
65681 static void __init autogroup_init(struct task_struct *init_task)
65682 {
65683@@ -78,7 +78,7 @@ static inline struct autogroup *autogrou
65684
65685 kref_init(&ag->kref);
65686 init_rwsem(&ag->lock);
65687- ag->id = atomic_inc_return(&autogroup_seq_nr);
65688+ ag->id = atomic_inc_return_unchecked(&autogroup_seq_nr);
65689 ag->tg = tg;
65690 #ifdef CONFIG_RT_GROUP_SCHED
65691 /*
65692diff -urNp linux-3.0.8/kernel/sched.c linux-3.0.8/kernel/sched.c
65693--- linux-3.0.8/kernel/sched.c 2011-10-24 08:05:32.000000000 -0400
65694+++ linux-3.0.8/kernel/sched.c 2011-10-17 23:17:19.000000000 -0400
65317@@ -4227,6 +4227,8 @@ static void __sched __schedule(void) 65695@@ -4227,6 +4227,8 @@ static void __sched __schedule(void)
65318 struct rq *rq; 65696 struct rq *rq;
65319 int cpu; 65697 int cpu;
@@ -65350,30 +65728,9 @@ diff -urNp linux-3.0.7/kernel/sched.c linux-3.0.7/kernel/sched.c
65350 /* can't set/change the rt policy */ 65728 /* can't set/change the rt policy */
65351 if (policy != p->policy && !rlim_rtprio) 65729 if (policy != p->policy && !rlim_rtprio)
65352 return -EPERM; 65730 return -EPERM;
65353diff -urNp linux-3.0.7/kernel/sched_autogroup.c linux-3.0.7/kernel/sched_autogroup.c 65731diff -urNp linux-3.0.8/kernel/sched_fair.c linux-3.0.8/kernel/sched_fair.c
65354--- linux-3.0.7/kernel/sched_autogroup.c 2011-07-21 22:17:23.000000000 -0400 65732--- linux-3.0.8/kernel/sched_fair.c 2011-07-21 22:17:23.000000000 -0400
65355+++ linux-3.0.7/kernel/sched_autogroup.c 2011-08-23 21:47:56.000000000 -0400 65733+++ linux-3.0.8/kernel/sched_fair.c 2011-08-23 21:47:56.000000000 -0400
65356@@ -7,7 +7,7 @@
65357
65358 unsigned int __read_mostly sysctl_sched_autogroup_enabled = 1;
65359 static struct autogroup autogroup_default;
65360-static atomic_t autogroup_seq_nr;
65361+static atomic_unchecked_t autogroup_seq_nr;
65362
65363 static void __init autogroup_init(struct task_struct *init_task)
65364 {
65365@@ -78,7 +78,7 @@ static inline struct autogroup *autogrou
65366
65367 kref_init(&ag->kref);
65368 init_rwsem(&ag->lock);
65369- ag->id = atomic_inc_return(&autogroup_seq_nr);
65370+ ag->id = atomic_inc_return_unchecked(&autogroup_seq_nr);
65371 ag->tg = tg;
65372 #ifdef CONFIG_RT_GROUP_SCHED
65373 /*
65374diff -urNp linux-3.0.7/kernel/sched_fair.c linux-3.0.7/kernel/sched_fair.c
65375--- linux-3.0.7/kernel/sched_fair.c 2011-07-21 22:17:23.000000000 -0400
65376+++ linux-3.0.7/kernel/sched_fair.c 2011-08-23 21:47:56.000000000 -0400
65377@@ -4050,7 +4050,7 @@ static void nohz_idle_balance(int this_c 65734@@ -4050,7 +4050,7 @@ static void nohz_idle_balance(int this_c
65378 * run_rebalance_domains is triggered when needed from the scheduler tick. 65735 * run_rebalance_domains is triggered when needed from the scheduler tick.
65379 * Also triggered for nohz idle balancing (with nohz_balancing_kick set). 65736 * Also triggered for nohz idle balancing (with nohz_balancing_kick set).
@@ -65383,9 +65740,9 @@ diff -urNp linux-3.0.7/kernel/sched_fair.c linux-3.0.7/kernel/sched_fair.c
65383 { 65740 {
65384 int this_cpu = smp_processor_id(); 65741 int this_cpu = smp_processor_id();
65385 struct rq *this_rq = cpu_rq(this_cpu); 65742 struct rq *this_rq = cpu_rq(this_cpu);
65386diff -urNp linux-3.0.7/kernel/signal.c linux-3.0.7/kernel/signal.c 65743diff -urNp linux-3.0.8/kernel/signal.c linux-3.0.8/kernel/signal.c
65387--- linux-3.0.7/kernel/signal.c 2011-07-21 22:17:23.000000000 -0400 65744--- linux-3.0.8/kernel/signal.c 2011-07-21 22:17:23.000000000 -0400
65388+++ linux-3.0.7/kernel/signal.c 2011-08-23 21:48:14.000000000 -0400 65745+++ linux-3.0.8/kernel/signal.c 2011-08-23 21:48:14.000000000 -0400
65389@@ -45,12 +45,12 @@ static struct kmem_cache *sigqueue_cache 65746@@ -45,12 +45,12 @@ static struct kmem_cache *sigqueue_cache
65390 65747
65391 int print_fatal_signals __read_mostly; 65748 int print_fatal_signals __read_mostly;
@@ -65518,9 +65875,9 @@ diff -urNp linux-3.0.7/kernel/signal.c linux-3.0.7/kernel/signal.c
65518 if (p && (tgid <= 0 || task_tgid_vnr(p) == tgid)) { 65875 if (p && (tgid <= 0 || task_tgid_vnr(p) == tgid)) {
65519 error = check_kill_permission(sig, info, p); 65876 error = check_kill_permission(sig, info, p);
65520 /* 65877 /*
65521diff -urNp linux-3.0.7/kernel/smp.c linux-3.0.7/kernel/smp.c 65878diff -urNp linux-3.0.8/kernel/smp.c linux-3.0.8/kernel/smp.c
65522--- linux-3.0.7/kernel/smp.c 2011-07-21 22:17:23.000000000 -0400 65879--- linux-3.0.8/kernel/smp.c 2011-07-21 22:17:23.000000000 -0400
65523+++ linux-3.0.7/kernel/smp.c 2011-08-23 21:47:56.000000000 -0400 65880+++ linux-3.0.8/kernel/smp.c 2011-08-23 21:47:56.000000000 -0400
65524@@ -580,22 +580,22 @@ int smp_call_function(smp_call_func_t fu 65881@@ -580,22 +580,22 @@ int smp_call_function(smp_call_func_t fu
65525 } 65882 }
65526 EXPORT_SYMBOL(smp_call_function); 65883 EXPORT_SYMBOL(smp_call_function);
@@ -65548,9 +65905,9 @@ diff -urNp linux-3.0.7/kernel/smp.c linux-3.0.7/kernel/smp.c
65548 { 65905 {
65549 raw_spin_unlock_irq(&call_function.lock); 65906 raw_spin_unlock_irq(&call_function.lock);
65550 } 65907 }
65551diff -urNp linux-3.0.7/kernel/softirq.c linux-3.0.7/kernel/softirq.c 65908diff -urNp linux-3.0.8/kernel/softirq.c linux-3.0.8/kernel/softirq.c
65552--- linux-3.0.7/kernel/softirq.c 2011-07-21 22:17:23.000000000 -0400 65909--- linux-3.0.8/kernel/softirq.c 2011-07-21 22:17:23.000000000 -0400
65553+++ linux-3.0.7/kernel/softirq.c 2011-08-23 21:47:56.000000000 -0400 65910+++ linux-3.0.8/kernel/softirq.c 2011-08-23 21:47:56.000000000 -0400
65554@@ -56,7 +56,7 @@ static struct softirq_action softirq_vec 65911@@ -56,7 +56,7 @@ static struct softirq_action softirq_vec
65555 65912
65556 DEFINE_PER_CPU(struct task_struct *, ksoftirqd); 65913 DEFINE_PER_CPU(struct task_struct *, ksoftirqd);
@@ -65601,9 +65958,9 @@ diff -urNp linux-3.0.7/kernel/softirq.c linux-3.0.7/kernel/softirq.c
65601 { 65958 {
65602 struct tasklet_struct *list; 65959 struct tasklet_struct *list;
65603 65960
65604diff -urNp linux-3.0.7/kernel/sys.c linux-3.0.7/kernel/sys.c 65961diff -urNp linux-3.0.8/kernel/sys.c linux-3.0.8/kernel/sys.c
65605--- linux-3.0.7/kernel/sys.c 2011-09-02 18:11:26.000000000 -0400 65962--- linux-3.0.8/kernel/sys.c 2011-10-25 09:10:33.000000000 -0400
65606+++ linux-3.0.7/kernel/sys.c 2011-10-06 04:17:55.000000000 -0400 65963+++ linux-3.0.8/kernel/sys.c 2011-10-25 09:10:41.000000000 -0400
65607@@ -158,6 +158,12 @@ static int set_one_prio(struct task_stru 65964@@ -158,6 +158,12 @@ static int set_one_prio(struct task_stru
65608 error = -EACCES; 65965 error = -EACCES;
65609 goto out; 65966 goto out;
@@ -65773,9 +66130,75 @@ diff -urNp linux-3.0.7/kernel/sys.c linux-3.0.7/kernel/sys.c
65773 error = -EINVAL; 66130 error = -EINVAL;
65774 break; 66131 break;
65775 } 66132 }
65776diff -urNp linux-3.0.7/kernel/sysctl.c linux-3.0.7/kernel/sysctl.c 66133diff -urNp linux-3.0.8/kernel/sysctl_binary.c linux-3.0.8/kernel/sysctl_binary.c
65777--- linux-3.0.7/kernel/sysctl.c 2011-07-21 22:17:23.000000000 -0400 66134--- linux-3.0.8/kernel/sysctl_binary.c 2011-07-21 22:17:23.000000000 -0400
65778+++ linux-3.0.7/kernel/sysctl.c 2011-08-23 21:48:14.000000000 -0400 66135+++ linux-3.0.8/kernel/sysctl_binary.c 2011-10-06 04:17:55.000000000 -0400
66136@@ -989,7 +989,7 @@ static ssize_t bin_intvec(struct file *f
66137 int i;
66138
66139 set_fs(KERNEL_DS);
66140- result = vfs_read(file, buffer, BUFSZ - 1, &pos);
66141+ result = vfs_read(file, (char __force_user *)buffer, BUFSZ - 1, &pos);
66142 set_fs(old_fs);
66143 if (result < 0)
66144 goto out_kfree;
66145@@ -1034,7 +1034,7 @@ static ssize_t bin_intvec(struct file *f
66146 }
66147
66148 set_fs(KERNEL_DS);
66149- result = vfs_write(file, buffer, str - buffer, &pos);
66150+ result = vfs_write(file, (const char __force_user *)buffer, str - buffer, &pos);
66151 set_fs(old_fs);
66152 if (result < 0)
66153 goto out_kfree;
66154@@ -1067,7 +1067,7 @@ static ssize_t bin_ulongvec(struct file
66155 int i;
66156
66157 set_fs(KERNEL_DS);
66158- result = vfs_read(file, buffer, BUFSZ - 1, &pos);
66159+ result = vfs_read(file, (char __force_user *)buffer, BUFSZ - 1, &pos);
66160 set_fs(old_fs);
66161 if (result < 0)
66162 goto out_kfree;
66163@@ -1112,7 +1112,7 @@ static ssize_t bin_ulongvec(struct file
66164 }
66165
66166 set_fs(KERNEL_DS);
66167- result = vfs_write(file, buffer, str - buffer, &pos);
66168+ result = vfs_write(file, (const char __force_user *)buffer, str - buffer, &pos);
66169 set_fs(old_fs);
66170 if (result < 0)
66171 goto out_kfree;
66172@@ -1138,7 +1138,7 @@ static ssize_t bin_uuid(struct file *fil
66173 int i;
66174
66175 set_fs(KERNEL_DS);
66176- result = vfs_read(file, buf, sizeof(buf) - 1, &pos);
66177+ result = vfs_read(file, (char __force_user *)buf, sizeof(buf) - 1, &pos);
66178 set_fs(old_fs);
66179 if (result < 0)
66180 goto out;
66181@@ -1185,7 +1185,7 @@ static ssize_t bin_dn_node_address(struc
66182 __le16 dnaddr;
66183
66184 set_fs(KERNEL_DS);
66185- result = vfs_read(file, buf, sizeof(buf) - 1, &pos);
66186+ result = vfs_read(file, (char __force_user *)buf, sizeof(buf) - 1, &pos);
66187 set_fs(old_fs);
66188 if (result < 0)
66189 goto out;
66190@@ -1233,7 +1233,7 @@ static ssize_t bin_dn_node_address(struc
66191 le16_to_cpu(dnaddr) & 0x3ff);
66192
66193 set_fs(KERNEL_DS);
66194- result = vfs_write(file, buf, len, &pos);
66195+ result = vfs_write(file, (const char __force_user *)buf, len, &pos);
66196 set_fs(old_fs);
66197 if (result < 0)
66198 goto out;
66199diff -urNp linux-3.0.8/kernel/sysctl.c linux-3.0.8/kernel/sysctl.c
66200--- linux-3.0.8/kernel/sysctl.c 2011-07-21 22:17:23.000000000 -0400
66201+++ linux-3.0.8/kernel/sysctl.c 2011-08-23 21:48:14.000000000 -0400
65779@@ -85,6 +85,13 @@ 66202@@ -85,6 +85,13 @@
65780 66203
65781 66204
@@ -65965,75 +66388,9 @@ diff -urNp linux-3.0.7/kernel/sysctl.c linux-3.0.7/kernel/sysctl.c
65965 EXPORT_SYMBOL(proc_doulongvec_minmax); 66388 EXPORT_SYMBOL(proc_doulongvec_minmax);
65966 EXPORT_SYMBOL(proc_doulongvec_ms_jiffies_minmax); 66389 EXPORT_SYMBOL(proc_doulongvec_ms_jiffies_minmax);
65967 EXPORT_SYMBOL(register_sysctl_table); 66390 EXPORT_SYMBOL(register_sysctl_table);
65968diff -urNp linux-3.0.7/kernel/sysctl_binary.c linux-3.0.7/kernel/sysctl_binary.c 66391diff -urNp linux-3.0.8/kernel/sysctl_check.c linux-3.0.8/kernel/sysctl_check.c
65969--- linux-3.0.7/kernel/sysctl_binary.c 2011-07-21 22:17:23.000000000 -0400 66392--- linux-3.0.8/kernel/sysctl_check.c 2011-07-21 22:17:23.000000000 -0400
65970+++ linux-3.0.7/kernel/sysctl_binary.c 2011-10-06 04:17:55.000000000 -0400 66393+++ linux-3.0.8/kernel/sysctl_check.c 2011-08-23 21:48:14.000000000 -0400
65971@@ -989,7 +989,7 @@ static ssize_t bin_intvec(struct file *f
65972 int i;
65973
65974 set_fs(KERNEL_DS);
65975- result = vfs_read(file, buffer, BUFSZ - 1, &pos);
65976+ result = vfs_read(file, (char __force_user *)buffer, BUFSZ - 1, &pos);
65977 set_fs(old_fs);
65978 if (result < 0)
65979 goto out_kfree;
65980@@ -1034,7 +1034,7 @@ static ssize_t bin_intvec(struct file *f
65981 }
65982
65983 set_fs(KERNEL_DS);
65984- result = vfs_write(file, buffer, str - buffer, &pos);
65985+ result = vfs_write(file, (const char __force_user *)buffer, str - buffer, &pos);
65986 set_fs(old_fs);
65987 if (result < 0)
65988 goto out_kfree;
65989@@ -1067,7 +1067,7 @@ static ssize_t bin_ulongvec(struct file
65990 int i;
65991
65992 set_fs(KERNEL_DS);
65993- result = vfs_read(file, buffer, BUFSZ - 1, &pos);
65994+ result = vfs_read(file, (char __force_user *)buffer, BUFSZ - 1, &pos);
65995 set_fs(old_fs);
65996 if (result < 0)
65997 goto out_kfree;
65998@@ -1112,7 +1112,7 @@ static ssize_t bin_ulongvec(struct file
65999 }
66000
66001 set_fs(KERNEL_DS);
66002- result = vfs_write(file, buffer, str - buffer, &pos);
66003+ result = vfs_write(file, (const char __force_user *)buffer, str - buffer, &pos);
66004 set_fs(old_fs);
66005 if (result < 0)
66006 goto out_kfree;
66007@@ -1138,7 +1138,7 @@ static ssize_t bin_uuid(struct file *fil
66008 int i;
66009
66010 set_fs(KERNEL_DS);
66011- result = vfs_read(file, buf, sizeof(buf) - 1, &pos);
66012+ result = vfs_read(file, (char __force_user *)buf, sizeof(buf) - 1, &pos);
66013 set_fs(old_fs);
66014 if (result < 0)
66015 goto out;
66016@@ -1185,7 +1185,7 @@ static ssize_t bin_dn_node_address(struc
66017 __le16 dnaddr;
66018
66019 set_fs(KERNEL_DS);
66020- result = vfs_read(file, buf, sizeof(buf) - 1, &pos);
66021+ result = vfs_read(file, (char __force_user *)buf, sizeof(buf) - 1, &pos);
66022 set_fs(old_fs);
66023 if (result < 0)
66024 goto out;
66025@@ -1233,7 +1233,7 @@ static ssize_t bin_dn_node_address(struc
66026 le16_to_cpu(dnaddr) & 0x3ff);
66027
66028 set_fs(KERNEL_DS);
66029- result = vfs_write(file, buf, len, &pos);
66030+ result = vfs_write(file, (const char __force_user *)buf, len, &pos);
66031 set_fs(old_fs);
66032 if (result < 0)
66033 goto out;
66034diff -urNp linux-3.0.7/kernel/sysctl_check.c linux-3.0.7/kernel/sysctl_check.c
66035--- linux-3.0.7/kernel/sysctl_check.c 2011-07-21 22:17:23.000000000 -0400
66036+++ linux-3.0.7/kernel/sysctl_check.c 2011-08-23 21:48:14.000000000 -0400
66037@@ -129,6 +129,7 @@ int sysctl_check_table(struct nsproxy *n 66394@@ -129,6 +129,7 @@ int sysctl_check_table(struct nsproxy *n
66038 set_fail(&fail, table, "Directory with extra2"); 66395 set_fail(&fail, table, "Directory with extra2");
66039 } else { 66396 } else {
@@ -66042,9 +66399,9 @@ diff -urNp linux-3.0.7/kernel/sysctl_check.c linux-3.0.7/kernel/sysctl_check.c
66042 (table->proc_handler == proc_dointvec) || 66399 (table->proc_handler == proc_dointvec) ||
66043 (table->proc_handler == proc_dointvec_minmax) || 66400 (table->proc_handler == proc_dointvec_minmax) ||
66044 (table->proc_handler == proc_dointvec_jiffies) || 66401 (table->proc_handler == proc_dointvec_jiffies) ||
66045diff -urNp linux-3.0.7/kernel/taskstats.c linux-3.0.7/kernel/taskstats.c 66402diff -urNp linux-3.0.8/kernel/taskstats.c linux-3.0.8/kernel/taskstats.c
66046--- linux-3.0.7/kernel/taskstats.c 2011-07-21 22:17:23.000000000 -0400 66403--- linux-3.0.8/kernel/taskstats.c 2011-07-21 22:17:23.000000000 -0400
66047+++ linux-3.0.7/kernel/taskstats.c 2011-08-23 21:48:14.000000000 -0400 66404+++ linux-3.0.8/kernel/taskstats.c 2011-08-23 21:48:14.000000000 -0400
66048@@ -27,9 +27,12 @@ 66405@@ -27,9 +27,12 @@
66049 #include <linux/cgroup.h> 66406 #include <linux/cgroup.h>
66050 #include <linux/fs.h> 66407 #include <linux/fs.h>
@@ -66068,9 +66425,9 @@ diff -urNp linux-3.0.7/kernel/taskstats.c linux-3.0.7/kernel/taskstats.c
66068 if (info->attrs[TASKSTATS_CMD_ATTR_REGISTER_CPUMASK]) 66425 if (info->attrs[TASKSTATS_CMD_ATTR_REGISTER_CPUMASK])
66069 return cmd_attr_register_cpumask(info); 66426 return cmd_attr_register_cpumask(info);
66070 else if (info->attrs[TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK]) 66427 else if (info->attrs[TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK])
66071diff -urNp linux-3.0.7/kernel/time/alarmtimer.c linux-3.0.7/kernel/time/alarmtimer.c 66428diff -urNp linux-3.0.8/kernel/time/alarmtimer.c linux-3.0.8/kernel/time/alarmtimer.c
66072--- linux-3.0.7/kernel/time/alarmtimer.c 2011-10-16 21:54:54.000000000 -0400 66429--- linux-3.0.8/kernel/time/alarmtimer.c 2011-10-24 08:05:30.000000000 -0400
66073+++ linux-3.0.7/kernel/time/alarmtimer.c 2011-10-16 21:55:28.000000000 -0400 66430+++ linux-3.0.8/kernel/time/alarmtimer.c 2011-10-16 21:55:28.000000000 -0400
66074@@ -693,7 +693,7 @@ static int __init alarmtimer_init(void) 66431@@ -693,7 +693,7 @@ static int __init alarmtimer_init(void)
66075 { 66432 {
66076 int error = 0; 66433 int error = 0;
@@ -66080,9 +66437,9 @@ diff -urNp linux-3.0.7/kernel/time/alarmtimer.c linux-3.0.7/kernel/time/alarmtim
66080 .clock_getres = alarm_clock_getres, 66437 .clock_getres = alarm_clock_getres,
66081 .clock_get = alarm_clock_get, 66438 .clock_get = alarm_clock_get,
66082 .timer_create = alarm_timer_create, 66439 .timer_create = alarm_timer_create,
66083diff -urNp linux-3.0.7/kernel/time/tick-broadcast.c linux-3.0.7/kernel/time/tick-broadcast.c 66440diff -urNp linux-3.0.8/kernel/time/tick-broadcast.c linux-3.0.8/kernel/time/tick-broadcast.c
66084--- linux-3.0.7/kernel/time/tick-broadcast.c 2011-07-21 22:17:23.000000000 -0400 66441--- linux-3.0.8/kernel/time/tick-broadcast.c 2011-07-21 22:17:23.000000000 -0400
66085+++ linux-3.0.7/kernel/time/tick-broadcast.c 2011-08-23 21:47:56.000000000 -0400 66442+++ linux-3.0.8/kernel/time/tick-broadcast.c 2011-08-23 21:47:56.000000000 -0400
66086@@ -115,7 +115,7 @@ int tick_device_uses_broadcast(struct cl 66443@@ -115,7 +115,7 @@ int tick_device_uses_broadcast(struct cl
66087 * then clear the broadcast bit. 66444 * then clear the broadcast bit.
66088 */ 66445 */
@@ -66092,9 +66449,9 @@ diff -urNp linux-3.0.7/kernel/time/tick-broadcast.c linux-3.0.7/kernel/time/tick
66092 66449
66093 cpumask_clear_cpu(cpu, tick_get_broadcast_mask()); 66450 cpumask_clear_cpu(cpu, tick_get_broadcast_mask());
66094 tick_broadcast_clear_oneshot(cpu); 66451 tick_broadcast_clear_oneshot(cpu);
66095diff -urNp linux-3.0.7/kernel/time/timekeeping.c linux-3.0.7/kernel/time/timekeeping.c 66452diff -urNp linux-3.0.8/kernel/time/timekeeping.c linux-3.0.8/kernel/time/timekeeping.c
66096--- linux-3.0.7/kernel/time/timekeeping.c 2011-07-21 22:17:23.000000000 -0400 66453--- linux-3.0.8/kernel/time/timekeeping.c 2011-07-21 22:17:23.000000000 -0400
66097+++ linux-3.0.7/kernel/time/timekeeping.c 2011-08-23 21:48:14.000000000 -0400 66454+++ linux-3.0.8/kernel/time/timekeeping.c 2011-08-23 21:48:14.000000000 -0400
66098@@ -14,6 +14,7 @@ 66455@@ -14,6 +14,7 @@
66099 #include <linux/init.h> 66456 #include <linux/init.h>
66100 #include <linux/mm.h> 66457 #include <linux/mm.h>
@@ -66112,9 +66469,9 @@ diff -urNp linux-3.0.7/kernel/time/timekeeping.c linux-3.0.7/kernel/time/timekee
66112 write_seqlock_irqsave(&xtime_lock, flags); 66469 write_seqlock_irqsave(&xtime_lock, flags);
66113 66470
66114 timekeeping_forward_now(); 66471 timekeeping_forward_now();
66115diff -urNp linux-3.0.7/kernel/time/timer_list.c linux-3.0.7/kernel/time/timer_list.c 66472diff -urNp linux-3.0.8/kernel/time/timer_list.c linux-3.0.8/kernel/time/timer_list.c
66116--- linux-3.0.7/kernel/time/timer_list.c 2011-07-21 22:17:23.000000000 -0400 66473--- linux-3.0.8/kernel/time/timer_list.c 2011-07-21 22:17:23.000000000 -0400
66117+++ linux-3.0.7/kernel/time/timer_list.c 2011-08-23 21:48:14.000000000 -0400 66474+++ linux-3.0.8/kernel/time/timer_list.c 2011-08-23 21:48:14.000000000 -0400
66118@@ -38,12 +38,16 @@ DECLARE_PER_CPU(struct hrtimer_cpu_base, 66475@@ -38,12 +38,16 @@ DECLARE_PER_CPU(struct hrtimer_cpu_base,
66119 66476
66120 static void print_name_offset(struct seq_file *m, void *sym) 66477 static void print_name_offset(struct seq_file *m, void *sym)
@@ -66156,9 +66513,9 @@ diff -urNp linux-3.0.7/kernel/time/timer_list.c linux-3.0.7/kernel/time/timer_li
66156 if (!pe) 66513 if (!pe)
66157 return -ENOMEM; 66514 return -ENOMEM;
66158 return 0; 66515 return 0;
66159diff -urNp linux-3.0.7/kernel/time/timer_stats.c linux-3.0.7/kernel/time/timer_stats.c 66516diff -urNp linux-3.0.8/kernel/time/timer_stats.c linux-3.0.8/kernel/time/timer_stats.c
66160--- linux-3.0.7/kernel/time/timer_stats.c 2011-07-21 22:17:23.000000000 -0400 66517--- linux-3.0.8/kernel/time/timer_stats.c 2011-07-21 22:17:23.000000000 -0400
66161+++ linux-3.0.7/kernel/time/timer_stats.c 2011-08-23 21:48:14.000000000 -0400 66518+++ linux-3.0.8/kernel/time/timer_stats.c 2011-08-23 21:48:14.000000000 -0400
66162@@ -116,7 +116,7 @@ static ktime_t time_start, time_stop; 66519@@ -116,7 +116,7 @@ static ktime_t time_start, time_stop;
66163 static unsigned long nr_entries; 66520 static unsigned long nr_entries;
66164 static struct entry entries[MAX_ENTRIES]; 66521 static struct entry entries[MAX_ENTRIES];
@@ -66227,9 +66584,9 @@ diff -urNp linux-3.0.7/kernel/time/timer_stats.c linux-3.0.7/kernel/time/timer_s
66227 if (!pe) 66584 if (!pe)
66228 return -ENOMEM; 66585 return -ENOMEM;
66229 return 0; 66586 return 0;
66230diff -urNp linux-3.0.7/kernel/time.c linux-3.0.7/kernel/time.c 66587diff -urNp linux-3.0.8/kernel/time.c linux-3.0.8/kernel/time.c
66231--- linux-3.0.7/kernel/time.c 2011-07-21 22:17:23.000000000 -0400 66588--- linux-3.0.8/kernel/time.c 2011-07-21 22:17:23.000000000 -0400
66232+++ linux-3.0.7/kernel/time.c 2011-08-23 21:48:14.000000000 -0400 66589+++ linux-3.0.8/kernel/time.c 2011-08-23 21:48:14.000000000 -0400
66233@@ -163,6 +163,11 @@ int do_sys_settimeofday(const struct tim 66590@@ -163,6 +163,11 @@ int do_sys_settimeofday(const struct tim
66234 return error; 66591 return error;
66235 66592
@@ -66242,9 +66599,9 @@ diff -urNp linux-3.0.7/kernel/time.c linux-3.0.7/kernel/time.c
66242 /* SMP safe, global irq locking makes it work. */ 66599 /* SMP safe, global irq locking makes it work. */
66243 sys_tz = *tz; 66600 sys_tz = *tz;
66244 update_vsyscall_tz(); 66601 update_vsyscall_tz();
66245diff -urNp linux-3.0.7/kernel/timer.c linux-3.0.7/kernel/timer.c 66602diff -urNp linux-3.0.8/kernel/timer.c linux-3.0.8/kernel/timer.c
66246--- linux-3.0.7/kernel/timer.c 2011-07-21 22:17:23.000000000 -0400 66603--- linux-3.0.8/kernel/timer.c 2011-07-21 22:17:23.000000000 -0400
66247+++ linux-3.0.7/kernel/timer.c 2011-08-23 21:47:56.000000000 -0400 66604+++ linux-3.0.8/kernel/timer.c 2011-08-23 21:47:56.000000000 -0400
66248@@ -1304,7 +1304,7 @@ void update_process_times(int user_tick) 66605@@ -1304,7 +1304,7 @@ void update_process_times(int user_tick)
66249 /* 66606 /*
66250 * This function runs timers and the timer-tq in bottom half context. 66607 * This function runs timers and the timer-tq in bottom half context.
@@ -66254,9 +66611,9 @@ diff -urNp linux-3.0.7/kernel/timer.c linux-3.0.7/kernel/timer.c
66254 { 66611 {
66255 struct tvec_base *base = __this_cpu_read(tvec_bases); 66612 struct tvec_base *base = __this_cpu_read(tvec_bases);
66256 66613
66257diff -urNp linux-3.0.7/kernel/trace/blktrace.c linux-3.0.7/kernel/trace/blktrace.c 66614diff -urNp linux-3.0.8/kernel/trace/blktrace.c linux-3.0.8/kernel/trace/blktrace.c
66258--- linux-3.0.7/kernel/trace/blktrace.c 2011-07-21 22:17:23.000000000 -0400 66615--- linux-3.0.8/kernel/trace/blktrace.c 2011-07-21 22:17:23.000000000 -0400
66259+++ linux-3.0.7/kernel/trace/blktrace.c 2011-08-23 21:47:56.000000000 -0400 66616+++ linux-3.0.8/kernel/trace/blktrace.c 2011-08-23 21:47:56.000000000 -0400
66260@@ -321,7 +321,7 @@ static ssize_t blk_dropped_read(struct f 66617@@ -321,7 +321,7 @@ static ssize_t blk_dropped_read(struct f
66261 struct blk_trace *bt = filp->private_data; 66618 struct blk_trace *bt = filp->private_data;
66262 char buf[16]; 66619 char buf[16];
@@ -66284,9 +66641,9 @@ diff -urNp linux-3.0.7/kernel/trace/blktrace.c linux-3.0.7/kernel/trace/blktrace
66284 66641
66285 ret = -EIO; 66642 ret = -EIO;
66286 bt->dropped_file = debugfs_create_file("dropped", 0444, dir, bt, 66643 bt->dropped_file = debugfs_create_file("dropped", 0444, dir, bt,
66287diff -urNp linux-3.0.7/kernel/trace/ftrace.c linux-3.0.7/kernel/trace/ftrace.c 66644diff -urNp linux-3.0.8/kernel/trace/ftrace.c linux-3.0.8/kernel/trace/ftrace.c
66288--- linux-3.0.7/kernel/trace/ftrace.c 2011-10-17 23:17:09.000000000 -0400 66645--- linux-3.0.8/kernel/trace/ftrace.c 2011-10-24 08:05:32.000000000 -0400
66289+++ linux-3.0.7/kernel/trace/ftrace.c 2011-10-17 23:17:19.000000000 -0400 66646+++ linux-3.0.8/kernel/trace/ftrace.c 2011-10-17 23:17:19.000000000 -0400
66290@@ -1566,12 +1566,17 @@ ftrace_code_disable(struct module *mod, 66647@@ -1566,12 +1566,17 @@ ftrace_code_disable(struct module *mod,
66291 if (unlikely(ftrace_disabled)) 66648 if (unlikely(ftrace_disabled))
66292 return 0; 66649 return 0;
@@ -66316,9 +66673,9 @@ diff -urNp linux-3.0.7/kernel/trace/ftrace.c linux-3.0.7/kernel/trace/ftrace.c
66316 { 66673 {
66317 struct ftrace_func_probe *entry; 66674 struct ftrace_func_probe *entry;
66318 struct ftrace_page *pg; 66675 struct ftrace_page *pg;
66319diff -urNp linux-3.0.7/kernel/trace/trace.c linux-3.0.7/kernel/trace/trace.c 66676diff -urNp linux-3.0.8/kernel/trace/trace.c linux-3.0.8/kernel/trace/trace.c
66320--- linux-3.0.7/kernel/trace/trace.c 2011-07-21 22:17:23.000000000 -0400 66677--- linux-3.0.8/kernel/trace/trace.c 2011-07-21 22:17:23.000000000 -0400
66321+++ linux-3.0.7/kernel/trace/trace.c 2011-08-23 21:48:14.000000000 -0400 66678+++ linux-3.0.8/kernel/trace/trace.c 2011-08-23 21:48:14.000000000 -0400
66322@@ -3339,6 +3339,8 @@ static ssize_t tracing_splice_read_pipe( 66679@@ -3339,6 +3339,8 @@ static ssize_t tracing_splice_read_pipe(
66323 size_t rem; 66680 size_t rem;
66324 unsigned int i; 66681 unsigned int i;
@@ -66361,9 +66718,9 @@ diff -urNp linux-3.0.7/kernel/trace/trace.c linux-3.0.7/kernel/trace/trace.c
66361 static int once; 66718 static int once;
66362 struct dentry *d_tracer; 66719 struct dentry *d_tracer;
66363 66720
66364diff -urNp linux-3.0.7/kernel/trace/trace_events.c linux-3.0.7/kernel/trace/trace_events.c 66721diff -urNp linux-3.0.8/kernel/trace/trace_events.c linux-3.0.8/kernel/trace/trace_events.c
66365--- linux-3.0.7/kernel/trace/trace_events.c 2011-09-02 18:11:21.000000000 -0400 66722--- linux-3.0.8/kernel/trace/trace_events.c 2011-10-24 08:05:21.000000000 -0400
66366+++ linux-3.0.7/kernel/trace/trace_events.c 2011-08-23 21:47:56.000000000 -0400 66723+++ linux-3.0.8/kernel/trace/trace_events.c 2011-08-23 21:47:56.000000000 -0400
66367@@ -1318,10 +1318,6 @@ static LIST_HEAD(ftrace_module_file_list 66724@@ -1318,10 +1318,6 @@ static LIST_HEAD(ftrace_module_file_list
66368 struct ftrace_module_file_ops { 66725 struct ftrace_module_file_ops {
66369 struct list_head list; 66726 struct list_head list;
@@ -66410,9 +66767,9 @@ diff -urNp linux-3.0.7/kernel/trace/trace_events.c linux-3.0.7/kernel/trace/trac
66410 } 66767 }
66411 } 66768 }
66412 66769
66413diff -urNp linux-3.0.7/kernel/trace/trace_kprobe.c linux-3.0.7/kernel/trace/trace_kprobe.c 66770diff -urNp linux-3.0.8/kernel/trace/trace_kprobe.c linux-3.0.8/kernel/trace/trace_kprobe.c
66414--- linux-3.0.7/kernel/trace/trace_kprobe.c 2011-07-21 22:17:23.000000000 -0400 66771--- linux-3.0.8/kernel/trace/trace_kprobe.c 2011-07-21 22:17:23.000000000 -0400
66415+++ linux-3.0.7/kernel/trace/trace_kprobe.c 2011-10-06 04:17:55.000000000 -0400 66772+++ linux-3.0.8/kernel/trace/trace_kprobe.c 2011-10-06 04:17:55.000000000 -0400
66416@@ -217,7 +217,7 @@ static __kprobes void FETCH_FUNC_NAME(me 66773@@ -217,7 +217,7 @@ static __kprobes void FETCH_FUNC_NAME(me
66417 long ret; 66774 long ret;
66418 int maxlen = get_rloc_len(*(u32 *)dest); 66775 int maxlen = get_rloc_len(*(u32 *)dest);
@@ -66449,9 +66806,9 @@ diff -urNp linux-3.0.7/kernel/trace/trace_kprobe.c linux-3.0.7/kernel/trace/trac
66449 len++; 66806 len++;
66450 } while (c && ret == 0 && len < MAX_STRING_SIZE); 66807 } while (c && ret == 0 && len < MAX_STRING_SIZE);
66451 pagefault_enable(); 66808 pagefault_enable();
66452diff -urNp linux-3.0.7/kernel/trace/trace_mmiotrace.c linux-3.0.7/kernel/trace/trace_mmiotrace.c 66809diff -urNp linux-3.0.8/kernel/trace/trace_mmiotrace.c linux-3.0.8/kernel/trace/trace_mmiotrace.c
66453--- linux-3.0.7/kernel/trace/trace_mmiotrace.c 2011-07-21 22:17:23.000000000 -0400 66810--- linux-3.0.8/kernel/trace/trace_mmiotrace.c 2011-07-21 22:17:23.000000000 -0400
66454+++ linux-3.0.7/kernel/trace/trace_mmiotrace.c 2011-08-23 21:47:56.000000000 -0400 66811+++ linux-3.0.8/kernel/trace/trace_mmiotrace.c 2011-08-23 21:47:56.000000000 -0400
66455@@ -24,7 +24,7 @@ struct header_iter { 66812@@ -24,7 +24,7 @@ struct header_iter {
66456 static struct trace_array *mmio_trace_array; 66813 static struct trace_array *mmio_trace_array;
66457 static bool overrun_detected; 66814 static bool overrun_detected;
@@ -66488,9 +66845,9 @@ diff -urNp linux-3.0.7/kernel/trace/trace_mmiotrace.c linux-3.0.7/kernel/trace/t
66488 return; 66845 return;
66489 } 66846 }
66490 entry = ring_buffer_event_data(event); 66847 entry = ring_buffer_event_data(event);
66491diff -urNp linux-3.0.7/kernel/trace/trace_output.c linux-3.0.7/kernel/trace/trace_output.c 66848diff -urNp linux-3.0.8/kernel/trace/trace_output.c linux-3.0.8/kernel/trace/trace_output.c
66492--- linux-3.0.7/kernel/trace/trace_output.c 2011-07-21 22:17:23.000000000 -0400 66849--- linux-3.0.8/kernel/trace/trace_output.c 2011-07-21 22:17:23.000000000 -0400
66493+++ linux-3.0.7/kernel/trace/trace_output.c 2011-08-23 21:47:56.000000000 -0400 66850+++ linux-3.0.8/kernel/trace/trace_output.c 2011-08-23 21:47:56.000000000 -0400
66494@@ -278,7 +278,7 @@ int trace_seq_path(struct trace_seq *s, 66851@@ -278,7 +278,7 @@ int trace_seq_path(struct trace_seq *s,
66495 66852
66496 p = d_path(path, s->buffer + s->len, PAGE_SIZE - s->len); 66853 p = d_path(path, s->buffer + s->len, PAGE_SIZE - s->len);
@@ -66500,9 +66857,9 @@ diff -urNp linux-3.0.7/kernel/trace/trace_output.c linux-3.0.7/kernel/trace/trac
66500 if (p) { 66857 if (p) {
66501 s->len = p - s->buffer; 66858 s->len = p - s->buffer;
66502 return 1; 66859 return 1;
66503diff -urNp linux-3.0.7/kernel/trace/trace_stack.c linux-3.0.7/kernel/trace/trace_stack.c 66860diff -urNp linux-3.0.8/kernel/trace/trace_stack.c linux-3.0.8/kernel/trace/trace_stack.c
66504--- linux-3.0.7/kernel/trace/trace_stack.c 2011-07-21 22:17:23.000000000 -0400 66861--- linux-3.0.8/kernel/trace/trace_stack.c 2011-07-21 22:17:23.000000000 -0400
66505+++ linux-3.0.7/kernel/trace/trace_stack.c 2011-08-23 21:47:56.000000000 -0400 66862+++ linux-3.0.8/kernel/trace/trace_stack.c 2011-08-23 21:47:56.000000000 -0400
66506@@ -50,7 +50,7 @@ static inline void check_stack(void) 66863@@ -50,7 +50,7 @@ static inline void check_stack(void)
66507 return; 66864 return;
66508 66865
@@ -66512,9 +66869,9 @@ diff -urNp linux-3.0.7/kernel/trace/trace_stack.c linux-3.0.7/kernel/trace/trace
66512 return; 66869 return;
66513 66870
66514 local_irq_save(flags); 66871 local_irq_save(flags);
66515diff -urNp linux-3.0.7/kernel/trace/trace_workqueue.c linux-3.0.7/kernel/trace/trace_workqueue.c 66872diff -urNp linux-3.0.8/kernel/trace/trace_workqueue.c linux-3.0.8/kernel/trace/trace_workqueue.c
66516--- linux-3.0.7/kernel/trace/trace_workqueue.c 2011-07-21 22:17:23.000000000 -0400 66873--- linux-3.0.8/kernel/trace/trace_workqueue.c 2011-07-21 22:17:23.000000000 -0400
66517+++ linux-3.0.7/kernel/trace/trace_workqueue.c 2011-08-23 21:47:56.000000000 -0400 66874+++ linux-3.0.8/kernel/trace/trace_workqueue.c 2011-08-23 21:47:56.000000000 -0400
66518@@ -22,7 +22,7 @@ struct cpu_workqueue_stats { 66875@@ -22,7 +22,7 @@ struct cpu_workqueue_stats {
66519 int cpu; 66876 int cpu;
66520 pid_t pid; 66877 pid_t pid;
@@ -66542,20 +66899,9 @@ diff -urNp linux-3.0.7/kernel/trace/trace_workqueue.c linux-3.0.7/kernel/trace/t
66542 tsk->comm); 66899 tsk->comm);
66543 put_task_struct(tsk); 66900 put_task_struct(tsk);
66544 } 66901 }
66545diff -urNp linux-3.0.7/lib/Kconfig.debug linux-3.0.7/lib/Kconfig.debug 66902diff -urNp linux-3.0.8/lib/bitmap.c linux-3.0.8/lib/bitmap.c
66546--- linux-3.0.7/lib/Kconfig.debug 2011-07-21 22:17:23.000000000 -0400 66903--- linux-3.0.8/lib/bitmap.c 2011-07-21 22:17:23.000000000 -0400
66547+++ linux-3.0.7/lib/Kconfig.debug 2011-08-23 21:48:14.000000000 -0400 66904+++ linux-3.0.8/lib/bitmap.c 2011-10-06 04:17:55.000000000 -0400
66548@@ -1088,6 +1088,7 @@ config LATENCYTOP
66549 depends on DEBUG_KERNEL
66550 depends on STACKTRACE_SUPPORT
66551 depends on PROC_FS
66552+ depends on !GRKERNSEC_HIDESYM
66553 select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE
66554 select KALLSYMS
66555 select KALLSYMS_ALL
66556diff -urNp linux-3.0.7/lib/bitmap.c linux-3.0.7/lib/bitmap.c
66557--- linux-3.0.7/lib/bitmap.c 2011-07-21 22:17:23.000000000 -0400
66558+++ linux-3.0.7/lib/bitmap.c 2011-10-06 04:17:55.000000000 -0400
66559@@ -421,7 +421,7 @@ int __bitmap_parse(const char *buf, unsi 66905@@ -421,7 +421,7 @@ int __bitmap_parse(const char *buf, unsi
66560 { 66906 {
66561 int c, old_c, totaldigits, ndigits, nchunks, nbits; 66907 int c, old_c, totaldigits, ndigits, nchunks, nbits;
@@ -66592,9 +66938,9 @@ diff -urNp linux-3.0.7/lib/bitmap.c linux-3.0.7/lib/bitmap.c
66592 ulen, 1, maskp, nmaskbits); 66938 ulen, 1, maskp, nmaskbits);
66593 } 66939 }
66594 EXPORT_SYMBOL(bitmap_parselist_user); 66940 EXPORT_SYMBOL(bitmap_parselist_user);
66595diff -urNp linux-3.0.7/lib/bug.c linux-3.0.7/lib/bug.c 66941diff -urNp linux-3.0.8/lib/bug.c linux-3.0.8/lib/bug.c
66596--- linux-3.0.7/lib/bug.c 2011-07-21 22:17:23.000000000 -0400 66942--- linux-3.0.8/lib/bug.c 2011-07-21 22:17:23.000000000 -0400
66597+++ linux-3.0.7/lib/bug.c 2011-08-23 21:47:56.000000000 -0400 66943+++ linux-3.0.8/lib/bug.c 2011-08-23 21:47:56.000000000 -0400
66598@@ -133,6 +133,8 @@ enum bug_trap_type report_bug(unsigned l 66944@@ -133,6 +133,8 @@ enum bug_trap_type report_bug(unsigned l
66599 return BUG_TRAP_TYPE_NONE; 66945 return BUG_TRAP_TYPE_NONE;
66600 66946
@@ -66604,9 +66950,9 @@ diff -urNp linux-3.0.7/lib/bug.c linux-3.0.7/lib/bug.c
66604 66950
66605 file = NULL; 66951 file = NULL;
66606 line = 0; 66952 line = 0;
66607diff -urNp linux-3.0.7/lib/debugobjects.c linux-3.0.7/lib/debugobjects.c 66953diff -urNp linux-3.0.8/lib/debugobjects.c linux-3.0.8/lib/debugobjects.c
66608--- linux-3.0.7/lib/debugobjects.c 2011-07-21 22:17:23.000000000 -0400 66954--- linux-3.0.8/lib/debugobjects.c 2011-07-21 22:17:23.000000000 -0400
66609+++ linux-3.0.7/lib/debugobjects.c 2011-08-23 21:47:56.000000000 -0400 66955+++ linux-3.0.8/lib/debugobjects.c 2011-08-23 21:47:56.000000000 -0400
66610@@ -284,7 +284,7 @@ static void debug_object_is_on_stack(voi 66956@@ -284,7 +284,7 @@ static void debug_object_is_on_stack(voi
66611 if (limit > 4) 66957 if (limit > 4)
66612 return; 66958 return;
@@ -66616,9 +66962,9 @@ diff -urNp linux-3.0.7/lib/debugobjects.c linux-3.0.7/lib/debugobjects.c
66616 if (is_on_stack == onstack) 66962 if (is_on_stack == onstack)
66617 return; 66963 return;
66618 66964
66619diff -urNp linux-3.0.7/lib/devres.c linux-3.0.7/lib/devres.c 66965diff -urNp linux-3.0.8/lib/devres.c linux-3.0.8/lib/devres.c
66620--- linux-3.0.7/lib/devres.c 2011-07-21 22:17:23.000000000 -0400 66966--- linux-3.0.8/lib/devres.c 2011-07-21 22:17:23.000000000 -0400
66621+++ linux-3.0.7/lib/devres.c 2011-10-06 04:17:55.000000000 -0400 66967+++ linux-3.0.8/lib/devres.c 2011-10-06 04:17:55.000000000 -0400
66622@@ -81,7 +81,7 @@ void devm_iounmap(struct device *dev, vo 66968@@ -81,7 +81,7 @@ void devm_iounmap(struct device *dev, vo
66623 { 66969 {
66624 iounmap(addr); 66970 iounmap(addr);
@@ -66637,9 +66983,9 @@ diff -urNp linux-3.0.7/lib/devres.c linux-3.0.7/lib/devres.c
66637 } 66983 }
66638 EXPORT_SYMBOL(devm_ioport_unmap); 66984 EXPORT_SYMBOL(devm_ioport_unmap);
66639 66985
66640diff -urNp linux-3.0.7/lib/dma-debug.c linux-3.0.7/lib/dma-debug.c 66986diff -urNp linux-3.0.8/lib/dma-debug.c linux-3.0.8/lib/dma-debug.c
66641--- linux-3.0.7/lib/dma-debug.c 2011-07-21 22:17:23.000000000 -0400 66987--- linux-3.0.8/lib/dma-debug.c 2011-07-21 22:17:23.000000000 -0400
66642+++ linux-3.0.7/lib/dma-debug.c 2011-08-23 21:47:56.000000000 -0400 66988+++ linux-3.0.8/lib/dma-debug.c 2011-08-23 21:47:56.000000000 -0400
66643@@ -870,7 +870,7 @@ out: 66989@@ -870,7 +870,7 @@ out:
66644 66990
66645 static void check_for_stack(struct device *dev, void *addr) 66991 static void check_for_stack(struct device *dev, void *addr)
@@ -66649,9 +66995,9 @@ diff -urNp linux-3.0.7/lib/dma-debug.c linux-3.0.7/lib/dma-debug.c
66649 err_printk(dev, NULL, "DMA-API: device driver maps memory from" 66995 err_printk(dev, NULL, "DMA-API: device driver maps memory from"
66650 "stack [addr=%p]\n", addr); 66996 "stack [addr=%p]\n", addr);
66651 } 66997 }
66652diff -urNp linux-3.0.7/lib/extable.c linux-3.0.7/lib/extable.c 66998diff -urNp linux-3.0.8/lib/extable.c linux-3.0.8/lib/extable.c
66653--- linux-3.0.7/lib/extable.c 2011-07-21 22:17:23.000000000 -0400 66999--- linux-3.0.8/lib/extable.c 2011-07-21 22:17:23.000000000 -0400
66654+++ linux-3.0.7/lib/extable.c 2011-08-23 21:47:56.000000000 -0400 67000+++ linux-3.0.8/lib/extable.c 2011-08-23 21:47:56.000000000 -0400
66655@@ -13,6 +13,7 @@ 67001@@ -13,6 +13,7 @@
66656 #include <linux/init.h> 67002 #include <linux/init.h>
66657 #include <linux/sort.h> 67003 #include <linux/sort.h>
@@ -66671,9 +67017,9 @@ diff -urNp linux-3.0.7/lib/extable.c linux-3.0.7/lib/extable.c
66671 } 67017 }
66672 67018
66673 #ifdef CONFIG_MODULES 67019 #ifdef CONFIG_MODULES
66674diff -urNp linux-3.0.7/lib/inflate.c linux-3.0.7/lib/inflate.c 67020diff -urNp linux-3.0.8/lib/inflate.c linux-3.0.8/lib/inflate.c
66675--- linux-3.0.7/lib/inflate.c 2011-07-21 22:17:23.000000000 -0400 67021--- linux-3.0.8/lib/inflate.c 2011-07-21 22:17:23.000000000 -0400
66676+++ linux-3.0.7/lib/inflate.c 2011-08-23 21:47:56.000000000 -0400 67022+++ linux-3.0.8/lib/inflate.c 2011-08-23 21:47:56.000000000 -0400
66677@@ -269,7 +269,7 @@ static void free(void *where) 67023@@ -269,7 +269,7 @@ static void free(void *where)
66678 malloc_ptr = free_mem_ptr; 67024 malloc_ptr = free_mem_ptr;
66679 } 67025 }
@@ -66683,9 +67029,20 @@ diff -urNp linux-3.0.7/lib/inflate.c linux-3.0.7/lib/inflate.c
66683 #define free(a) kfree(a) 67029 #define free(a) kfree(a)
66684 #endif 67030 #endif
66685 67031
66686diff -urNp linux-3.0.7/lib/kref.c linux-3.0.7/lib/kref.c 67032diff -urNp linux-3.0.8/lib/Kconfig.debug linux-3.0.8/lib/Kconfig.debug
66687--- linux-3.0.7/lib/kref.c 2011-07-21 22:17:23.000000000 -0400 67033--- linux-3.0.8/lib/Kconfig.debug 2011-07-21 22:17:23.000000000 -0400
66688+++ linux-3.0.7/lib/kref.c 2011-08-23 21:47:56.000000000 -0400 67034+++ linux-3.0.8/lib/Kconfig.debug 2011-08-23 21:48:14.000000000 -0400
67035@@ -1088,6 +1088,7 @@ config LATENCYTOP
67036 depends on DEBUG_KERNEL
67037 depends on STACKTRACE_SUPPORT
67038 depends on PROC_FS
67039+ depends on !GRKERNSEC_HIDESYM
67040 select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE
67041 select KALLSYMS
67042 select KALLSYMS_ALL
67043diff -urNp linux-3.0.8/lib/kref.c linux-3.0.8/lib/kref.c
67044--- linux-3.0.8/lib/kref.c 2011-07-21 22:17:23.000000000 -0400
67045+++ linux-3.0.8/lib/kref.c 2011-08-23 21:47:56.000000000 -0400
66689@@ -52,7 +52,7 @@ void kref_get(struct kref *kref) 67046@@ -52,7 +52,7 @@ void kref_get(struct kref *kref)
66690 */ 67047 */
66691 int kref_put(struct kref *kref, void (*release)(struct kref *kref)) 67048 int kref_put(struct kref *kref, void (*release)(struct kref *kref))
@@ -66695,9 +67052,9 @@ diff -urNp linux-3.0.7/lib/kref.c linux-3.0.7/lib/kref.c
66695 WARN_ON(release == (void (*)(struct kref *))kfree); 67052 WARN_ON(release == (void (*)(struct kref *))kfree);
66696 67053
66697 if (atomic_dec_and_test(&kref->refcount)) { 67054 if (atomic_dec_and_test(&kref->refcount)) {
66698diff -urNp linux-3.0.7/lib/radix-tree.c linux-3.0.7/lib/radix-tree.c 67055diff -urNp linux-3.0.8/lib/radix-tree.c linux-3.0.8/lib/radix-tree.c
66699--- linux-3.0.7/lib/radix-tree.c 2011-07-21 22:17:23.000000000 -0400 67056--- linux-3.0.8/lib/radix-tree.c 2011-07-21 22:17:23.000000000 -0400
66700+++ linux-3.0.7/lib/radix-tree.c 2011-08-23 21:47:56.000000000 -0400 67057+++ linux-3.0.8/lib/radix-tree.c 2011-08-23 21:47:56.000000000 -0400
66701@@ -80,7 +80,7 @@ struct radix_tree_preload { 67058@@ -80,7 +80,7 @@ struct radix_tree_preload {
66702 int nr; 67059 int nr;
66703 struct radix_tree_node *nodes[RADIX_TREE_MAX_PATH]; 67060 struct radix_tree_node *nodes[RADIX_TREE_MAX_PATH];
@@ -66707,9 +67064,9 @@ diff -urNp linux-3.0.7/lib/radix-tree.c linux-3.0.7/lib/radix-tree.c
66707 67064
66708 static inline void *ptr_to_indirect(void *ptr) 67065 static inline void *ptr_to_indirect(void *ptr)
66709 { 67066 {
66710diff -urNp linux-3.0.7/lib/vsprintf.c linux-3.0.7/lib/vsprintf.c 67067diff -urNp linux-3.0.8/lib/vsprintf.c linux-3.0.8/lib/vsprintf.c
66711--- linux-3.0.7/lib/vsprintf.c 2011-07-21 22:17:23.000000000 -0400 67068--- linux-3.0.8/lib/vsprintf.c 2011-07-21 22:17:23.000000000 -0400
66712+++ linux-3.0.7/lib/vsprintf.c 2011-08-23 21:48:14.000000000 -0400 67069+++ linux-3.0.8/lib/vsprintf.c 2011-08-23 21:48:14.000000000 -0400
66713@@ -16,6 +16,9 @@ 67070@@ -16,6 +16,9 @@
66714 * - scnprintf and vscnprintf 67071 * - scnprintf and vscnprintf
66715 */ 67072 */
@@ -66803,26 +67160,198 @@ diff -urNp linux-3.0.7/lib/vsprintf.c linux-3.0.7/lib/vsprintf.c
66803 break; 67160 break;
66804 } 67161 }
66805 67162
66806diff -urNp linux-3.0.7/localversion-grsec linux-3.0.7/localversion-grsec 67163diff -urNp linux-3.0.8/localversion-grsec linux-3.0.8/localversion-grsec
66807--- linux-3.0.7/localversion-grsec 1969-12-31 19:00:00.000000000 -0500 67164--- linux-3.0.8/localversion-grsec 1969-12-31 19:00:00.000000000 -0500
66808+++ linux-3.0.7/localversion-grsec 2011-08-23 21:48:14.000000000 -0400 67165+++ linux-3.0.8/localversion-grsec 2011-08-23 21:48:14.000000000 -0400
66809@@ -0,0 +1 @@ 67166@@ -0,0 +1 @@
66810+-grsec 67167+-grsec
66811diff -urNp linux-3.0.7/mm/Kconfig linux-3.0.7/mm/Kconfig 67168diff -urNp linux-3.0.8/Makefile linux-3.0.8/Makefile
66812--- linux-3.0.7/mm/Kconfig 2011-07-21 22:17:23.000000000 -0400 67169--- linux-3.0.8/Makefile 2011-10-25 09:10:33.000000000 -0400
66813+++ linux-3.0.7/mm/Kconfig 2011-08-23 21:48:14.000000000 -0400 67170+++ linux-3.0.8/Makefile 2011-10-25 09:10:41.000000000 -0400
66814@@ -240,7 +240,7 @@ config KSM 67171@@ -245,8 +245,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH"
66815 config DEFAULT_MMAP_MIN_ADDR 67172
66816 int "Low address space to protect from user allocation" 67173 HOSTCC = gcc
66817 depends on MMU 67174 HOSTCXX = g++
66818- default 4096 67175-HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
66819+ default 65536 67176-HOSTCXXFLAGS = -O2
66820 help 67177+HOSTCFLAGS = -Wall -W -Wmissing-prototypes -Wstrict-prototypes -Wno-unused-parameter -Wno-missing-field-initializers -O2 -fomit-frame-pointer -fno-delete-null-pointer-checks
66821 This is the portion of low virtual memory which should be protected 67178+HOSTCFLAGS += $(call cc-option, -Wno-empty-body)
66822 from userspace allocation. Keeping a user from writing to low pages 67179+HOSTCXXFLAGS = -O2 -fno-delete-null-pointer-checks
66823diff -urNp linux-3.0.7/mm/filemap.c linux-3.0.7/mm/filemap.c 67180
66824--- linux-3.0.7/mm/filemap.c 2011-07-21 22:17:23.000000000 -0400 67181 # Decide whether to build built-in, modular, or both.
66825+++ linux-3.0.7/mm/filemap.c 2011-08-23 21:48:14.000000000 -0400 67182 # Normally, just do built-in.
67183@@ -365,10 +366,12 @@ LINUXINCLUDE := -I$(srctree)/arch/$(h
67184 KBUILD_CPPFLAGS := -D__KERNEL__
67185
67186 KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
67187+ -W -Wno-unused-parameter -Wno-missing-field-initializers \
67188 -fno-strict-aliasing -fno-common \
67189 -Werror-implicit-function-declaration \
67190 -Wno-format-security \
67191 -fno-delete-null-pointer-checks
67192+KBUILD_CFLAGS += $(call cc-option, -Wno-empty-body)
67193 KBUILD_AFLAGS_KERNEL :=
67194 KBUILD_CFLAGS_KERNEL :=
67195 KBUILD_AFLAGS := -D__ASSEMBLY__
67196@@ -407,8 +410,8 @@ export RCS_TAR_IGNORE := --exclude SCCS
67197 # Rules shared between *config targets and build targets
67198
67199 # Basic helpers built in scripts/
67200-PHONY += scripts_basic
67201-scripts_basic:
67202+PHONY += scripts_basic gcc-plugins
67203+scripts_basic: gcc-plugins
67204 $(Q)$(MAKE) $(build)=scripts/basic
67205 $(Q)rm -f .tmp_quiet_recordmcount
67206
67207@@ -564,6 +567,36 @@ else
67208 KBUILD_CFLAGS += -O2
67209 endif
67210
67211+ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-plugin.sh "$(HOSTCC)" "$(CC)"), y)
67212+CONSTIFY_PLUGIN := -fplugin=$(objtree)/tools/gcc/constify_plugin.so -DCONSTIFY_PLUGIN
67213+ifdef CONFIG_PAX_MEMORY_STACKLEAK
67214+STACKLEAK_PLUGIN := -fplugin=$(objtree)/tools/gcc/stackleak_plugin.so -fplugin-arg-stackleak_plugin-track-lowest-sp=100
67215+endif
67216+ifdef CONFIG_KALLOCSTAT_PLUGIN
67217+KALLOCSTAT_PLUGIN := -fplugin=$(objtree)/tools/gcc/kallocstat_plugin.so
67218+endif
67219+ifdef CONFIG_PAX_KERNEXEC_PLUGIN
67220+KERNEXEC_PLUGIN := -fplugin=$(objtree)/tools/gcc/kernexec_plugin.so
67221+endif
67222+ifdef CONFIG_CHECKER_PLUGIN
67223+ifeq ($(call cc-ifversion, -ge, 0406, y), y)
67224+CHECKER_PLUGIN := -fplugin=$(objtree)/tools/gcc/checker_plugin.so -DCHECKER_PLUGIN
67225+endif
67226+endif
67227+GCC_PLUGINS := $(CONSTIFY_PLUGIN) $(STACKLEAK_PLUGIN) $(KALLOCSTAT_PLUGIN) $(KERNEXEC_PLUGIN) $(CHECKER_PLUGIN)
67228+export CONSTIFY_PLUGIN STACKLEAK_PLUGIN KERNEXEC_PLUGIN CHECKER_PLUGIN
67229+gcc-plugins:
67230+ $(Q)$(MAKE) $(build)=tools/gcc
67231+else
67232+gcc-plugins:
67233+ifeq ($(call cc-ifversion, -ge, 0405, y), y)
67234+ $(error Your gcc installation does not support plugins. If the necessary headers for plugin support are missing, they should be installed. On Debian, apt-get install gcc-<ver>-plugin-dev.))
67235+else
67236+ $(Q)echo "warning, your gcc version does not support plugins, you should upgrade it to gcc 4.5 at least"
67237+endif
67238+ $(Q)echo "PAX_MEMORY_STACKLEAK and constification will be less secure"
67239+endif
67240+
67241 include $(srctree)/arch/$(SRCARCH)/Makefile
67242
67243 ifneq ($(CONFIG_FRAME_WARN),0)
67244@@ -708,7 +741,7 @@ export mod_strip_cmd
67245
67246
67247 ifeq ($(KBUILD_EXTMOD),)
67248-core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/
67249+core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ grsecurity/
67250
67251 vmlinux-dirs := $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
67252 $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
67253@@ -932,6 +965,7 @@ vmlinux.o: $(modpost-init) $(vmlinux-mai
67254
67255 # The actual objects are generated when descending,
67256 # make sure no implicit rule kicks in
67257+$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): KBUILD_CFLAGS += $(GCC_PLUGINS)
67258 $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
67259
67260 # Handle descending into subdirectories listed in $(vmlinux-dirs)
67261@@ -941,7 +975,7 @@ $(sort $(vmlinux-init) $(vmlinux-main))
67262 # Error messages still appears in the original language
67263
67264 PHONY += $(vmlinux-dirs)
67265-$(vmlinux-dirs): prepare scripts
67266+$(vmlinux-dirs): gcc-plugins prepare scripts
67267 $(Q)$(MAKE) $(build)=$@
67268
67269 # Store (new) KERNELRELASE string in include/config/kernel.release
67270@@ -986,6 +1020,7 @@ prepare0: archprepare FORCE
67271 $(Q)$(MAKE) $(build)=. missing-syscalls
67272
67273 # All the preparing..
67274+prepare: KBUILD_CFLAGS := $(filter-out $(GCC_PLUGINS),$(KBUILD_CFLAGS))
67275 prepare: prepare0
67276
67277 # Generate some files
67278@@ -1087,6 +1122,7 @@ all: modules
67279 # using awk while concatenating to the final file.
67280
67281 PHONY += modules
67282+modules: KBUILD_CFLAGS += $(GCC_PLUGINS)
67283 modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
67284 $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order
67285 @$(kecho) ' Building modules, stage 2.';
67286@@ -1102,7 +1138,7 @@ modules.builtin: $(vmlinux-dirs:%=%/modu
67287
67288 # Target to prepare building external modules
67289 PHONY += modules_prepare
67290-modules_prepare: prepare scripts
67291+modules_prepare: gcc-plugins prepare scripts
67292
67293 # Target to install modules
67294 PHONY += modules_install
67295@@ -1198,7 +1234,7 @@ distclean: mrproper
67296 @find $(srctree) $(RCS_FIND_IGNORE) \
67297 \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
67298 -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
67299- -o -name '.*.rej' -o -size 0 \
67300+ -o -name '.*.rej' -o -name '*.so' -o -size 0 \
67301 -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \
67302 -type f -print | xargs rm -f
67303
67304@@ -1359,6 +1395,7 @@ PHONY += $(module-dirs) modules
67305 $(module-dirs): crmodverdir $(objtree)/Module.symvers
67306 $(Q)$(MAKE) $(build)=$(patsubst _module_%,%,$@)
67307
67308+modules: KBUILD_CFLAGS += $(GCC_PLUGINS)
67309 modules: $(module-dirs)
67310 @$(kecho) ' Building modules, stage 2.';
67311 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
67312@@ -1485,17 +1522,19 @@ else
67313 target-dir = $(if $(KBUILD_EXTMOD),$(dir $<),$(dir $@))
67314 endif
67315
67316-%.s: %.c prepare scripts FORCE
67317+%.s: KBUILD_CFLAGS += $(GCC_PLUGINS)
67318+%.s: %.c gcc-plugins prepare scripts FORCE
67319 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
67320 %.i: %.c prepare scripts FORCE
67321 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
67322-%.o: %.c prepare scripts FORCE
67323+%.o: KBUILD_CFLAGS += $(GCC_PLUGINS)
67324+%.o: %.c gcc-plugins prepare scripts FORCE
67325 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
67326 %.lst: %.c prepare scripts FORCE
67327 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
67328-%.s: %.S prepare scripts FORCE
67329+%.s: %.S gcc-plugins prepare scripts FORCE
67330 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
67331-%.o: %.S prepare scripts FORCE
67332+%.o: %.S gcc-plugins prepare scripts FORCE
67333 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
67334 %.symtypes: %.c prepare scripts FORCE
67335 $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
67336@@ -1505,11 +1544,13 @@ endif
67337 $(cmd_crmodverdir)
67338 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
67339 $(build)=$(build-dir)
67340-%/: prepare scripts FORCE
67341+%/: KBUILD_CFLAGS += $(GCC_PLUGINS)
67342+%/: gcc-plugins prepare scripts FORCE
67343 $(cmd_crmodverdir)
67344 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
67345 $(build)=$(build-dir)
67346-%.ko: prepare scripts FORCE
67347+%.ko: KBUILD_CFLAGS += $(GCC_PLUGINS)
67348+%.ko: gcc-plugins prepare scripts FORCE
67349 $(cmd_crmodverdir)
67350 $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
67351 $(build)=$(build-dir) $(@:.ko=.o)
67352diff -urNp linux-3.0.8/mm/filemap.c linux-3.0.8/mm/filemap.c
67353--- linux-3.0.8/mm/filemap.c 2011-07-21 22:17:23.000000000 -0400
67354+++ linux-3.0.8/mm/filemap.c 2011-08-23 21:48:14.000000000 -0400
66826@@ -1763,7 +1763,7 @@ int generic_file_mmap(struct file * file 67355@@ -1763,7 +1763,7 @@ int generic_file_mmap(struct file * file
66827 struct address_space *mapping = file->f_mapping; 67356 struct address_space *mapping = file->f_mapping;
66828 67357
@@ -66840,9 +67369,9 @@ diff -urNp linux-3.0.7/mm/filemap.c linux-3.0.7/mm/filemap.c
66840 if (*pos >= limit) { 67369 if (*pos >= limit) {
66841 send_sig(SIGXFSZ, current, 0); 67370 send_sig(SIGXFSZ, current, 0);
66842 return -EFBIG; 67371 return -EFBIG;
66843diff -urNp linux-3.0.7/mm/fremap.c linux-3.0.7/mm/fremap.c 67372diff -urNp linux-3.0.8/mm/fremap.c linux-3.0.8/mm/fremap.c
66844--- linux-3.0.7/mm/fremap.c 2011-07-21 22:17:23.000000000 -0400 67373--- linux-3.0.8/mm/fremap.c 2011-07-21 22:17:23.000000000 -0400
66845+++ linux-3.0.7/mm/fremap.c 2011-08-23 21:47:56.000000000 -0400 67374+++ linux-3.0.8/mm/fremap.c 2011-08-23 21:47:56.000000000 -0400
66846@@ -156,6 +156,11 @@ SYSCALL_DEFINE5(remap_file_pages, unsign 67375@@ -156,6 +156,11 @@ SYSCALL_DEFINE5(remap_file_pages, unsign
66847 retry: 67376 retry:
66848 vma = find_vma(mm, start); 67377 vma = find_vma(mm, start);
@@ -66855,9 +67384,9 @@ diff -urNp linux-3.0.7/mm/fremap.c linux-3.0.7/mm/fremap.c
66855 /* 67384 /*
66856 * Make sure the vma is shared, that it supports prefaulting, 67385 * Make sure the vma is shared, that it supports prefaulting,
66857 * and that the remapped range is valid and fully within 67386 * and that the remapped range is valid and fully within
66858diff -urNp linux-3.0.7/mm/highmem.c linux-3.0.7/mm/highmem.c 67387diff -urNp linux-3.0.8/mm/highmem.c linux-3.0.8/mm/highmem.c
66859--- linux-3.0.7/mm/highmem.c 2011-07-21 22:17:23.000000000 -0400 67388--- linux-3.0.8/mm/highmem.c 2011-07-21 22:17:23.000000000 -0400
66860+++ linux-3.0.7/mm/highmem.c 2011-08-23 21:47:56.000000000 -0400 67389+++ linux-3.0.8/mm/highmem.c 2011-08-23 21:47:56.000000000 -0400
66861@@ -125,9 +125,10 @@ static void flush_all_zero_pkmaps(void) 67390@@ -125,9 +125,10 @@ static void flush_all_zero_pkmaps(void)
66862 * So no dangers, even with speculative execution. 67391 * So no dangers, even with speculative execution.
66863 */ 67392 */
@@ -66883,9 +67412,9 @@ diff -urNp linux-3.0.7/mm/highmem.c linux-3.0.7/mm/highmem.c
66883 pkmap_count[last_pkmap_nr] = 1; 67412 pkmap_count[last_pkmap_nr] = 1;
66884 set_page_address(page, (void *)vaddr); 67413 set_page_address(page, (void *)vaddr);
66885 67414
66886diff -urNp linux-3.0.7/mm/huge_memory.c linux-3.0.7/mm/huge_memory.c 67415diff -urNp linux-3.0.8/mm/huge_memory.c linux-3.0.8/mm/huge_memory.c
66887--- linux-3.0.7/mm/huge_memory.c 2011-07-21 22:17:23.000000000 -0400 67416--- linux-3.0.8/mm/huge_memory.c 2011-07-21 22:17:23.000000000 -0400
66888+++ linux-3.0.7/mm/huge_memory.c 2011-08-23 21:47:56.000000000 -0400 67417+++ linux-3.0.8/mm/huge_memory.c 2011-08-23 21:47:56.000000000 -0400
66889@@ -702,7 +702,7 @@ out: 67418@@ -702,7 +702,7 @@ out:
66890 * run pte_offset_map on the pmd, if an huge pmd could 67419 * run pte_offset_map on the pmd, if an huge pmd could
66891 * materialize from under us from a different thread. 67420 * materialize from under us from a different thread.
@@ -66895,9 +67424,9 @@ diff -urNp linux-3.0.7/mm/huge_memory.c linux-3.0.7/mm/huge_memory.c
66895 return VM_FAULT_OOM; 67424 return VM_FAULT_OOM;
66896 /* if an huge pmd materialized from under us just retry later */ 67425 /* if an huge pmd materialized from under us just retry later */
66897 if (unlikely(pmd_trans_huge(*pmd))) 67426 if (unlikely(pmd_trans_huge(*pmd)))
66898diff -urNp linux-3.0.7/mm/hugetlb.c linux-3.0.7/mm/hugetlb.c 67427diff -urNp linux-3.0.8/mm/hugetlb.c linux-3.0.8/mm/hugetlb.c
66899--- linux-3.0.7/mm/hugetlb.c 2011-07-21 22:17:23.000000000 -0400 67428--- linux-3.0.8/mm/hugetlb.c 2011-07-21 22:17:23.000000000 -0400
66900+++ linux-3.0.7/mm/hugetlb.c 2011-08-23 21:47:56.000000000 -0400 67429+++ linux-3.0.8/mm/hugetlb.c 2011-08-23 21:47:56.000000000 -0400
66901@@ -2339,6 +2339,27 @@ static int unmap_ref_private(struct mm_s 67430@@ -2339,6 +2339,27 @@ static int unmap_ref_private(struct mm_s
66902 return 1; 67431 return 1;
66903 } 67432 }
@@ -66987,9 +67516,9 @@ diff -urNp linux-3.0.7/mm/hugetlb.c linux-3.0.7/mm/hugetlb.c
66987 ptep = huge_pte_alloc(mm, address, huge_page_size(h)); 67516 ptep = huge_pte_alloc(mm, address, huge_page_size(h));
66988 if (!ptep) 67517 if (!ptep)
66989 return VM_FAULT_OOM; 67518 return VM_FAULT_OOM;
66990diff -urNp linux-3.0.7/mm/internal.h linux-3.0.7/mm/internal.h 67519diff -urNp linux-3.0.8/mm/internal.h linux-3.0.8/mm/internal.h
66991--- linux-3.0.7/mm/internal.h 2011-07-21 22:17:23.000000000 -0400 67520--- linux-3.0.8/mm/internal.h 2011-07-21 22:17:23.000000000 -0400
66992+++ linux-3.0.7/mm/internal.h 2011-08-23 21:47:56.000000000 -0400 67521+++ linux-3.0.8/mm/internal.h 2011-08-23 21:47:56.000000000 -0400
66993@@ -49,6 +49,7 @@ extern void putback_lru_page(struct page 67522@@ -49,6 +49,7 @@ extern void putback_lru_page(struct page
66994 * in mm/page_alloc.c 67523 * in mm/page_alloc.c
66995 */ 67524 */
@@ -66998,9 +67527,21 @@ diff -urNp linux-3.0.7/mm/internal.h linux-3.0.7/mm/internal.h
66998 extern void prep_compound_page(struct page *page, unsigned long order); 67527 extern void prep_compound_page(struct page *page, unsigned long order);
66999 #ifdef CONFIG_MEMORY_FAILURE 67528 #ifdef CONFIG_MEMORY_FAILURE
67000 extern bool is_free_buddy_page(struct page *page); 67529 extern bool is_free_buddy_page(struct page *page);
67001diff -urNp linux-3.0.7/mm/kmemleak.c linux-3.0.7/mm/kmemleak.c 67530diff -urNp linux-3.0.8/mm/Kconfig linux-3.0.8/mm/Kconfig
67002--- linux-3.0.7/mm/kmemleak.c 2011-07-21 22:17:23.000000000 -0400 67531--- linux-3.0.8/mm/Kconfig 2011-07-21 22:17:23.000000000 -0400
67003+++ linux-3.0.7/mm/kmemleak.c 2011-08-23 21:48:14.000000000 -0400 67532+++ linux-3.0.8/mm/Kconfig 2011-08-23 21:48:14.000000000 -0400
67533@@ -240,7 +240,7 @@ config KSM
67534 config DEFAULT_MMAP_MIN_ADDR
67535 int "Low address space to protect from user allocation"
67536 depends on MMU
67537- default 4096
67538+ default 65536
67539 help
67540 This is the portion of low virtual memory which should be protected
67541 from userspace allocation. Keeping a user from writing to low pages
67542diff -urNp linux-3.0.8/mm/kmemleak.c linux-3.0.8/mm/kmemleak.c
67543--- linux-3.0.8/mm/kmemleak.c 2011-07-21 22:17:23.000000000 -0400
67544+++ linux-3.0.8/mm/kmemleak.c 2011-08-23 21:48:14.000000000 -0400
67004@@ -357,7 +357,7 @@ static void print_unreferenced(struct se 67545@@ -357,7 +357,7 @@ static void print_unreferenced(struct se
67005 67546
67006 for (i = 0; i < object->trace_len; i++) { 67547 for (i = 0; i < object->trace_len; i++) {
@@ -67010,9 +67551,9 @@ diff -urNp linux-3.0.7/mm/kmemleak.c linux-3.0.7/mm/kmemleak.c
67010 } 67551 }
67011 } 67552 }
67012 67553
67013diff -urNp linux-3.0.7/mm/maccess.c linux-3.0.7/mm/maccess.c 67554diff -urNp linux-3.0.8/mm/maccess.c linux-3.0.8/mm/maccess.c
67014--- linux-3.0.7/mm/maccess.c 2011-07-21 22:17:23.000000000 -0400 67555--- linux-3.0.8/mm/maccess.c 2011-07-21 22:17:23.000000000 -0400
67015+++ linux-3.0.7/mm/maccess.c 2011-10-06 04:17:55.000000000 -0400 67556+++ linux-3.0.8/mm/maccess.c 2011-10-06 04:17:55.000000000 -0400
67016@@ -26,7 +26,7 @@ long __probe_kernel_read(void *dst, cons 67557@@ -26,7 +26,7 @@ long __probe_kernel_read(void *dst, cons
67017 set_fs(KERNEL_DS); 67558 set_fs(KERNEL_DS);
67018 pagefault_disable(); 67559 pagefault_disable();
@@ -67031,9 +67572,9 @@ diff -urNp linux-3.0.7/mm/maccess.c linux-3.0.7/mm/maccess.c
67031 pagefault_enable(); 67572 pagefault_enable();
67032 set_fs(old_fs); 67573 set_fs(old_fs);
67033 67574
67034diff -urNp linux-3.0.7/mm/madvise.c linux-3.0.7/mm/madvise.c 67575diff -urNp linux-3.0.8/mm/madvise.c linux-3.0.8/mm/madvise.c
67035--- linux-3.0.7/mm/madvise.c 2011-07-21 22:17:23.000000000 -0400 67576--- linux-3.0.8/mm/madvise.c 2011-07-21 22:17:23.000000000 -0400
67036+++ linux-3.0.7/mm/madvise.c 2011-08-23 21:47:56.000000000 -0400 67577+++ linux-3.0.8/mm/madvise.c 2011-08-23 21:47:56.000000000 -0400
67037@@ -45,6 +45,10 @@ static long madvise_behavior(struct vm_a 67578@@ -45,6 +45,10 @@ static long madvise_behavior(struct vm_a
67038 pgoff_t pgoff; 67579 pgoff_t pgoff;
67039 unsigned long new_flags = vma->vm_flags; 67580 unsigned long new_flags = vma->vm_flags;
@@ -67110,93 +67651,9 @@ diff -urNp linux-3.0.7/mm/madvise.c linux-3.0.7/mm/madvise.c
67110 error = 0; 67651 error = 0;
67111 if (end == start) 67652 if (end == start)
67112 goto out; 67653 goto out;
67113diff -urNp linux-3.0.7/mm/memory-failure.c linux-3.0.7/mm/memory-failure.c 67654diff -urNp linux-3.0.8/mm/memory.c linux-3.0.8/mm/memory.c
67114--- linux-3.0.7/mm/memory-failure.c 2011-07-21 22:17:23.000000000 -0400 67655--- linux-3.0.8/mm/memory.c 2011-10-24 08:05:21.000000000 -0400
67115+++ linux-3.0.7/mm/memory-failure.c 2011-10-06 04:17:55.000000000 -0400 67656+++ linux-3.0.8/mm/memory.c 2011-08-23 21:47:56.000000000 -0400
67116@@ -59,7 +59,7 @@ int sysctl_memory_failure_early_kill __r
67117
67118 int sysctl_memory_failure_recovery __read_mostly = 1;
67119
67120-atomic_long_t mce_bad_pages __read_mostly = ATOMIC_LONG_INIT(0);
67121+atomic_long_unchecked_t mce_bad_pages __read_mostly = ATOMIC_LONG_INIT(0);
67122
67123 #if defined(CONFIG_HWPOISON_INJECT) || defined(CONFIG_HWPOISON_INJECT_MODULE)
67124
67125@@ -200,7 +200,7 @@ static int kill_proc_ao(struct task_stru
67126 si.si_signo = SIGBUS;
67127 si.si_errno = 0;
67128 si.si_code = BUS_MCEERR_AO;
67129- si.si_addr = (void *)addr;
67130+ si.si_addr = (void __user *)addr;
67131 #ifdef __ARCH_SI_TRAPNO
67132 si.si_trapno = trapno;
67133 #endif
67134@@ -1008,7 +1008,7 @@ int __memory_failure(unsigned long pfn,
67135 }
67136
67137 nr_pages = 1 << compound_trans_order(hpage);
67138- atomic_long_add(nr_pages, &mce_bad_pages);
67139+ atomic_long_add_unchecked(nr_pages, &mce_bad_pages);
67140
67141 /*
67142 * We need/can do nothing about count=0 pages.
67143@@ -1038,7 +1038,7 @@ int __memory_failure(unsigned long pfn,
67144 if (!PageHWPoison(hpage)
67145 || (hwpoison_filter(p) && TestClearPageHWPoison(p))
67146 || (p != hpage && TestSetPageHWPoison(hpage))) {
67147- atomic_long_sub(nr_pages, &mce_bad_pages);
67148+ atomic_long_sub_unchecked(nr_pages, &mce_bad_pages);
67149 return 0;
67150 }
67151 set_page_hwpoison_huge_page(hpage);
67152@@ -1096,7 +1096,7 @@ int __memory_failure(unsigned long pfn,
67153 }
67154 if (hwpoison_filter(p)) {
67155 if (TestClearPageHWPoison(p))
67156- atomic_long_sub(nr_pages, &mce_bad_pages);
67157+ atomic_long_sub_unchecked(nr_pages, &mce_bad_pages);
67158 unlock_page(hpage);
67159 put_page(hpage);
67160 return 0;
67161@@ -1222,7 +1222,7 @@ int unpoison_memory(unsigned long pfn)
67162 return 0;
67163 }
67164 if (TestClearPageHWPoison(p))
67165- atomic_long_sub(nr_pages, &mce_bad_pages);
67166+ atomic_long_sub_unchecked(nr_pages, &mce_bad_pages);
67167 pr_info("MCE: Software-unpoisoned free page %#lx\n", pfn);
67168 return 0;
67169 }
67170@@ -1236,7 +1236,7 @@ int unpoison_memory(unsigned long pfn)
67171 */
67172 if (TestClearPageHWPoison(page)) {
67173 pr_info("MCE: Software-unpoisoned page %#lx\n", pfn);
67174- atomic_long_sub(nr_pages, &mce_bad_pages);
67175+ atomic_long_sub_unchecked(nr_pages, &mce_bad_pages);
67176 freeit = 1;
67177 if (PageHuge(page))
67178 clear_page_hwpoison_huge_page(page);
67179@@ -1349,7 +1349,7 @@ static int soft_offline_huge_page(struct
67180 }
67181 done:
67182 if (!PageHWPoison(hpage))
67183- atomic_long_add(1 << compound_trans_order(hpage), &mce_bad_pages);
67184+ atomic_long_add_unchecked(1 << compound_trans_order(hpage), &mce_bad_pages);
67185 set_page_hwpoison_huge_page(hpage);
67186 dequeue_hwpoisoned_huge_page(hpage);
67187 /* keep elevated page count for bad page */
67188@@ -1480,7 +1480,7 @@ int soft_offline_page(struct page *page,
67189 return ret;
67190
67191 done:
67192- atomic_long_add(1, &mce_bad_pages);
67193+ atomic_long_add_unchecked(1, &mce_bad_pages);
67194 SetPageHWPoison(page);
67195 /* keep elevated page count for bad page */
67196 return ret;
67197diff -urNp linux-3.0.7/mm/memory.c linux-3.0.7/mm/memory.c
67198--- linux-3.0.7/mm/memory.c 2011-09-02 18:11:21.000000000 -0400
67199+++ linux-3.0.7/mm/memory.c 2011-08-23 21:47:56.000000000 -0400
67200@@ -457,8 +457,12 @@ static inline void free_pmd_range(struct 67657@@ -457,8 +457,12 @@ static inline void free_pmd_range(struct
67201 return; 67658 return;
67202 67659
@@ -67760,9 +68217,93 @@ diff -urNp linux-3.0.7/mm/memory.c linux-3.0.7/mm/memory.c
67760 /* 68217 /*
67761 * Make sure the vDSO gets into every core dump. 68218 * Make sure the vDSO gets into every core dump.
67762 * Dumping its contents makes post-mortem fully interpretable later 68219 * Dumping its contents makes post-mortem fully interpretable later
67763diff -urNp linux-3.0.7/mm/mempolicy.c linux-3.0.7/mm/mempolicy.c 68220diff -urNp linux-3.0.8/mm/memory-failure.c linux-3.0.8/mm/memory-failure.c
67764--- linux-3.0.7/mm/mempolicy.c 2011-07-21 22:17:23.000000000 -0400 68221--- linux-3.0.8/mm/memory-failure.c 2011-07-21 22:17:23.000000000 -0400
67765+++ linux-3.0.7/mm/mempolicy.c 2011-08-23 21:48:14.000000000 -0400 68222+++ linux-3.0.8/mm/memory-failure.c 2011-10-06 04:17:55.000000000 -0400
68223@@ -59,7 +59,7 @@ int sysctl_memory_failure_early_kill __r
68224
68225 int sysctl_memory_failure_recovery __read_mostly = 1;
68226
68227-atomic_long_t mce_bad_pages __read_mostly = ATOMIC_LONG_INIT(0);
68228+atomic_long_unchecked_t mce_bad_pages __read_mostly = ATOMIC_LONG_INIT(0);
68229
68230 #if defined(CONFIG_HWPOISON_INJECT) || defined(CONFIG_HWPOISON_INJECT_MODULE)
68231
68232@@ -200,7 +200,7 @@ static int kill_proc_ao(struct task_stru
68233 si.si_signo = SIGBUS;
68234 si.si_errno = 0;
68235 si.si_code = BUS_MCEERR_AO;
68236- si.si_addr = (void *)addr;
68237+ si.si_addr = (void __user *)addr;
68238 #ifdef __ARCH_SI_TRAPNO
68239 si.si_trapno = trapno;
68240 #endif
68241@@ -1008,7 +1008,7 @@ int __memory_failure(unsigned long pfn,
68242 }
68243
68244 nr_pages = 1 << compound_trans_order(hpage);
68245- atomic_long_add(nr_pages, &mce_bad_pages);
68246+ atomic_long_add_unchecked(nr_pages, &mce_bad_pages);
68247
68248 /*
68249 * We need/can do nothing about count=0 pages.
68250@@ -1038,7 +1038,7 @@ int __memory_failure(unsigned long pfn,
68251 if (!PageHWPoison(hpage)
68252 || (hwpoison_filter(p) && TestClearPageHWPoison(p))
68253 || (p != hpage && TestSetPageHWPoison(hpage))) {
68254- atomic_long_sub(nr_pages, &mce_bad_pages);
68255+ atomic_long_sub_unchecked(nr_pages, &mce_bad_pages);
68256 return 0;
68257 }
68258 set_page_hwpoison_huge_page(hpage);
68259@@ -1096,7 +1096,7 @@ int __memory_failure(unsigned long pfn,
68260 }
68261 if (hwpoison_filter(p)) {
68262 if (TestClearPageHWPoison(p))
68263- atomic_long_sub(nr_pages, &mce_bad_pages);
68264+ atomic_long_sub_unchecked(nr_pages, &mce_bad_pages);
68265 unlock_page(hpage);
68266 put_page(hpage);
68267 return 0;
68268@@ -1222,7 +1222,7 @@ int unpoison_memory(unsigned long pfn)
68269 return 0;
68270 }
68271 if (TestClearPageHWPoison(p))
68272- atomic_long_sub(nr_pages, &mce_bad_pages);
68273+ atomic_long_sub_unchecked(nr_pages, &mce_bad_pages);
68274 pr_info("MCE: Software-unpoisoned free page %#lx\n", pfn);
68275 return 0;
68276 }
68277@@ -1236,7 +1236,7 @@ int unpoison_memory(unsigned long pfn)
68278 */
68279 if (TestClearPageHWPoison(page)) {
68280 pr_info("MCE: Software-unpoisoned page %#lx\n", pfn);
68281- atomic_long_sub(nr_pages, &mce_bad_pages);
68282+ atomic_long_sub_unchecked(nr_pages, &mce_bad_pages);
68283 freeit = 1;
68284 if (PageHuge(page))
68285 clear_page_hwpoison_huge_page(page);
68286@@ -1349,7 +1349,7 @@ static int soft_offline_huge_page(struct
68287 }
68288 done:
68289 if (!PageHWPoison(hpage))
68290- atomic_long_add(1 << compound_trans_order(hpage), &mce_bad_pages);
68291+ atomic_long_add_unchecked(1 << compound_trans_order(hpage), &mce_bad_pages);
68292 set_page_hwpoison_huge_page(hpage);
68293 dequeue_hwpoisoned_huge_page(hpage);
68294 /* keep elevated page count for bad page */
68295@@ -1480,7 +1480,7 @@ int soft_offline_page(struct page *page,
68296 return ret;
68297
68298 done:
68299- atomic_long_add(1, &mce_bad_pages);
68300+ atomic_long_add_unchecked(1, &mce_bad_pages);
68301 SetPageHWPoison(page);
68302 /* keep elevated page count for bad page */
68303 return ret;
68304diff -urNp linux-3.0.8/mm/mempolicy.c linux-3.0.8/mm/mempolicy.c
68305--- linux-3.0.8/mm/mempolicy.c 2011-07-21 22:17:23.000000000 -0400
68306+++ linux-3.0.8/mm/mempolicy.c 2011-08-23 21:48:14.000000000 -0400
67766@@ -639,6 +639,10 @@ static int mbind_range(struct mm_struct 68307@@ -639,6 +639,10 @@ static int mbind_range(struct mm_struct
67767 unsigned long vmstart; 68308 unsigned long vmstart;
67768 unsigned long vmend; 68309 unsigned long vmend;
@@ -67834,9 +68375,9 @@ diff -urNp linux-3.0.7/mm/mempolicy.c linux-3.0.7/mm/mempolicy.c
67834 rcu_read_unlock(); 68375 rcu_read_unlock();
67835 err = -EPERM; 68376 err = -EPERM;
67836 goto out; 68377 goto out;
67837diff -urNp linux-3.0.7/mm/migrate.c linux-3.0.7/mm/migrate.c 68378diff -urNp linux-3.0.8/mm/migrate.c linux-3.0.8/mm/migrate.c
67838--- linux-3.0.7/mm/migrate.c 2011-07-21 22:17:23.000000000 -0400 68379--- linux-3.0.8/mm/migrate.c 2011-10-25 09:10:33.000000000 -0400
67839+++ linux-3.0.7/mm/migrate.c 2011-08-23 21:48:14.000000000 -0400 68380+++ linux-3.0.8/mm/migrate.c 2011-10-25 09:10:41.000000000 -0400
67840@@ -1124,6 +1124,8 @@ static int do_pages_move(struct mm_struc 68381@@ -1124,6 +1124,8 @@ static int do_pages_move(struct mm_struc
67841 unsigned long chunk_start; 68382 unsigned long chunk_start;
67842 int err; 68383 int err;
@@ -67871,9 +68412,9 @@ diff -urNp linux-3.0.7/mm/migrate.c linux-3.0.7/mm/migrate.c
67871 rcu_read_unlock(); 68412 rcu_read_unlock();
67872 err = -EPERM; 68413 err = -EPERM;
67873 goto out; 68414 goto out;
67874diff -urNp linux-3.0.7/mm/mlock.c linux-3.0.7/mm/mlock.c 68415diff -urNp linux-3.0.8/mm/mlock.c linux-3.0.8/mm/mlock.c
67875--- linux-3.0.7/mm/mlock.c 2011-07-21 22:17:23.000000000 -0400 68416--- linux-3.0.8/mm/mlock.c 2011-07-21 22:17:23.000000000 -0400
67876+++ linux-3.0.7/mm/mlock.c 2011-08-23 21:48:14.000000000 -0400 68417+++ linux-3.0.8/mm/mlock.c 2011-08-23 21:48:14.000000000 -0400
67877@@ -13,6 +13,7 @@ 68418@@ -13,6 +13,7 @@
67878 #include <linux/pagemap.h> 68419 #include <linux/pagemap.h>
67879 #include <linux/mempolicy.h> 68420 #include <linux/mempolicy.h>
@@ -67947,9 +68488,9 @@ diff -urNp linux-3.0.7/mm/mlock.c linux-3.0.7/mm/mlock.c
67947 if (!(flags & MCL_CURRENT) || (current->mm->total_vm <= lock_limit) || 68488 if (!(flags & MCL_CURRENT) || (current->mm->total_vm <= lock_limit) ||
67948 capable(CAP_IPC_LOCK)) 68489 capable(CAP_IPC_LOCK))
67949 ret = do_mlockall(flags); 68490 ret = do_mlockall(flags);
67950diff -urNp linux-3.0.7/mm/mmap.c linux-3.0.7/mm/mmap.c 68491diff -urNp linux-3.0.8/mm/mmap.c linux-3.0.8/mm/mmap.c
67951--- linux-3.0.7/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400 68492--- linux-3.0.8/mm/mmap.c 2011-07-21 22:17:23.000000000 -0400
67952+++ linux-3.0.7/mm/mmap.c 2011-08-23 21:48:14.000000000 -0400 68493+++ linux-3.0.8/mm/mmap.c 2011-08-23 21:48:14.000000000 -0400
67953@@ -46,6 +46,16 @@ 68494@@ -46,6 +46,16 @@
67954 #define arch_rebalance_pgtables(addr, len) (addr) 68495 #define arch_rebalance_pgtables(addr, len) (addr)
67955 #endif 68496 #endif
@@ -69208,9 +69749,9 @@ diff -urNp linux-3.0.7/mm/mmap.c linux-3.0.7/mm/mmap.c
69208 vma->vm_flags = vm_flags | mm->def_flags | VM_DONTEXPAND; 69749 vma->vm_flags = vm_flags | mm->def_flags | VM_DONTEXPAND;
69209 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); 69750 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
69210 69751
69211diff -urNp linux-3.0.7/mm/mprotect.c linux-3.0.7/mm/mprotect.c 69752diff -urNp linux-3.0.8/mm/mprotect.c linux-3.0.8/mm/mprotect.c
69212--- linux-3.0.7/mm/mprotect.c 2011-07-21 22:17:23.000000000 -0400 69753--- linux-3.0.8/mm/mprotect.c 2011-07-21 22:17:23.000000000 -0400
69213+++ linux-3.0.7/mm/mprotect.c 2011-08-23 21:48:14.000000000 -0400 69754+++ linux-3.0.8/mm/mprotect.c 2011-08-23 21:48:14.000000000 -0400
69214@@ -23,10 +23,16 @@ 69755@@ -23,10 +23,16 @@
69215 #include <linux/mmu_notifier.h> 69756 #include <linux/mmu_notifier.h>
69216 #include <linux/migrate.h> 69757 #include <linux/migrate.h>
@@ -69437,9 +69978,9 @@ diff -urNp linux-3.0.7/mm/mprotect.c linux-3.0.7/mm/mprotect.c
69437 nstart = tmp; 69978 nstart = tmp;
69438 69979
69439 if (nstart < prev->vm_end) 69980 if (nstart < prev->vm_end)
69440diff -urNp linux-3.0.7/mm/mremap.c linux-3.0.7/mm/mremap.c 69981diff -urNp linux-3.0.8/mm/mremap.c linux-3.0.8/mm/mremap.c
69441--- linux-3.0.7/mm/mremap.c 2011-07-21 22:17:23.000000000 -0400 69982--- linux-3.0.8/mm/mremap.c 2011-07-21 22:17:23.000000000 -0400
69442+++ linux-3.0.7/mm/mremap.c 2011-08-23 21:47:56.000000000 -0400 69983+++ linux-3.0.8/mm/mremap.c 2011-08-23 21:47:56.000000000 -0400
69443@@ -113,6 +113,12 @@ static void move_ptes(struct vm_area_str 69984@@ -113,6 +113,12 @@ static void move_ptes(struct vm_area_str
69444 continue; 69985 continue;
69445 pte = ptep_clear_flush(vma, old_addr, old_pte); 69986 pte = ptep_clear_flush(vma, old_addr, old_pte);
@@ -69544,9 +70085,9 @@ diff -urNp linux-3.0.7/mm/mremap.c linux-3.0.7/mm/mremap.c
69544 } 70085 }
69545 out: 70086 out:
69546 if (ret & ~PAGE_MASK) 70087 if (ret & ~PAGE_MASK)
69547diff -urNp linux-3.0.7/mm/nobootmem.c linux-3.0.7/mm/nobootmem.c 70088diff -urNp linux-3.0.8/mm/nobootmem.c linux-3.0.8/mm/nobootmem.c
69548--- linux-3.0.7/mm/nobootmem.c 2011-07-21 22:17:23.000000000 -0400 70089--- linux-3.0.8/mm/nobootmem.c 2011-07-21 22:17:23.000000000 -0400
69549+++ linux-3.0.7/mm/nobootmem.c 2011-08-23 21:47:56.000000000 -0400 70090+++ linux-3.0.8/mm/nobootmem.c 2011-08-23 21:47:56.000000000 -0400
69550@@ -110,19 +110,30 @@ static void __init __free_pages_memory(u 70091@@ -110,19 +110,30 @@ static void __init __free_pages_memory(u
69551 unsigned long __init free_all_memory_core_early(int nodeid) 70092 unsigned long __init free_all_memory_core_early(int nodeid)
69552 { 70093 {
@@ -69580,9 +70121,9 @@ diff -urNp linux-3.0.7/mm/nobootmem.c linux-3.0.7/mm/nobootmem.c
69580 70121
69581 return count; 70122 return count;
69582 } 70123 }
69583diff -urNp linux-3.0.7/mm/nommu.c linux-3.0.7/mm/nommu.c 70124diff -urNp linux-3.0.8/mm/nommu.c linux-3.0.8/mm/nommu.c
69584--- linux-3.0.7/mm/nommu.c 2011-07-21 22:17:23.000000000 -0400 70125--- linux-3.0.8/mm/nommu.c 2011-07-21 22:17:23.000000000 -0400
69585+++ linux-3.0.7/mm/nommu.c 2011-08-23 21:47:56.000000000 -0400 70126+++ linux-3.0.8/mm/nommu.c 2011-08-23 21:47:56.000000000 -0400
69586@@ -63,7 +63,6 @@ int sysctl_overcommit_memory = OVERCOMMI 70127@@ -63,7 +63,6 @@ int sysctl_overcommit_memory = OVERCOMMI
69587 int sysctl_overcommit_ratio = 50; /* default is 50% */ 70128 int sysctl_overcommit_ratio = 50; /* default is 50% */
69588 int sysctl_max_map_count = DEFAULT_MAX_MAP_COUNT; 70129 int sysctl_max_map_count = DEFAULT_MAX_MAP_COUNT;
@@ -69615,9 +70156,9 @@ diff -urNp linux-3.0.7/mm/nommu.c linux-3.0.7/mm/nommu.c
69615 *region = *vma->vm_region; 70156 *region = *vma->vm_region;
69616 new->vm_region = region; 70157 new->vm_region = region;
69617 70158
69618diff -urNp linux-3.0.7/mm/page_alloc.c linux-3.0.7/mm/page_alloc.c 70159diff -urNp linux-3.0.8/mm/page_alloc.c linux-3.0.8/mm/page_alloc.c
69619--- linux-3.0.7/mm/page_alloc.c 2011-10-16 21:54:54.000000000 -0400 70160--- linux-3.0.8/mm/page_alloc.c 2011-10-24 08:05:30.000000000 -0400
69620+++ linux-3.0.7/mm/page_alloc.c 2011-10-16 21:55:28.000000000 -0400 70161+++ linux-3.0.8/mm/page_alloc.c 2011-10-25 09:15:11.000000000 -0400
69621@@ -340,7 +340,7 @@ out: 70162@@ -340,7 +340,7 @@ out:
69622 * This usage means that zero-order pages may not be compound. 70163 * This usage means that zero-order pages may not be compound.
69623 */ 70164 */
@@ -69671,9 +70212,23 @@ diff -urNp linux-3.0.7/mm/page_alloc.c linux-3.0.7/mm/page_alloc.c
69671 for_each_populated_zone(zone) { 70212 for_each_populated_zone(zone) {
69672 if (skip_free_areas_node(filter, zone_to_nid(zone))) 70213 if (skip_free_areas_node(filter, zone_to_nid(zone)))
69673 continue; 70214 continue;
69674diff -urNp linux-3.0.7/mm/percpu.c linux-3.0.7/mm/percpu.c 70215@@ -3368,7 +3382,13 @@ static int pageblock_is_reserved(unsigne
69675--- linux-3.0.7/mm/percpu.c 2011-07-21 22:17:23.000000000 -0400 70216 unsigned long pfn;
69676+++ linux-3.0.7/mm/percpu.c 2011-08-23 21:47:56.000000000 -0400 70217
70218 for (pfn = start_pfn; pfn < end_pfn; pfn++) {
70219+#ifdef CONFIG_X86_32
70220+ /* boot failures in VMware 8 on 32bit vanilla since
70221+ this change */
70222+ if (!pfn_valid(pfn) || PageReserved(pfn_to_page(pfn)))
70223+#else
70224 if (!pfn_valid_within(pfn) || PageReserved(pfn_to_page(pfn)))
70225+#endif
70226 return 1;
70227 }
70228 return 0;
70229diff -urNp linux-3.0.8/mm/percpu.c linux-3.0.8/mm/percpu.c
70230--- linux-3.0.8/mm/percpu.c 2011-07-21 22:17:23.000000000 -0400
70231+++ linux-3.0.8/mm/percpu.c 2011-08-23 21:47:56.000000000 -0400
69677@@ -121,7 +121,7 @@ static unsigned int pcpu_first_unit_cpu 70232@@ -121,7 +121,7 @@ static unsigned int pcpu_first_unit_cpu
69678 static unsigned int pcpu_last_unit_cpu __read_mostly; 70233 static unsigned int pcpu_last_unit_cpu __read_mostly;
69679 70234
@@ -69683,9 +70238,9 @@ diff -urNp linux-3.0.7/mm/percpu.c linux-3.0.7/mm/percpu.c
69683 EXPORT_SYMBOL_GPL(pcpu_base_addr); 70238 EXPORT_SYMBOL_GPL(pcpu_base_addr);
69684 70239
69685 static const int *pcpu_unit_map __read_mostly; /* cpu -> unit */ 70240 static const int *pcpu_unit_map __read_mostly; /* cpu -> unit */
69686diff -urNp linux-3.0.7/mm/rmap.c linux-3.0.7/mm/rmap.c 70241diff -urNp linux-3.0.8/mm/rmap.c linux-3.0.8/mm/rmap.c
69687--- linux-3.0.7/mm/rmap.c 2011-07-21 22:17:23.000000000 -0400 70242--- linux-3.0.8/mm/rmap.c 2011-07-21 22:17:23.000000000 -0400
69688+++ linux-3.0.7/mm/rmap.c 2011-08-23 21:47:56.000000000 -0400 70243+++ linux-3.0.8/mm/rmap.c 2011-08-23 21:47:56.000000000 -0400
69689@@ -153,6 +153,10 @@ int anon_vma_prepare(struct vm_area_stru 70244@@ -153,6 +153,10 @@ int anon_vma_prepare(struct vm_area_stru
69690 struct anon_vma *anon_vma = vma->anon_vma; 70245 struct anon_vma *anon_vma = vma->anon_vma;
69691 struct anon_vma_chain *avc; 70246 struct anon_vma_chain *avc;
@@ -69775,9 +70330,9 @@ diff -urNp linux-3.0.7/mm/rmap.c linux-3.0.7/mm/rmap.c
69775 { 70330 {
69776 struct anon_vma_chain *avc; 70331 struct anon_vma_chain *avc;
69777 struct anon_vma *anon_vma; 70332 struct anon_vma *anon_vma;
69778diff -urNp linux-3.0.7/mm/shmem.c linux-3.0.7/mm/shmem.c 70333diff -urNp linux-3.0.8/mm/shmem.c linux-3.0.8/mm/shmem.c
69779--- linux-3.0.7/mm/shmem.c 2011-07-21 22:17:23.000000000 -0400 70334--- linux-3.0.8/mm/shmem.c 2011-07-21 22:17:23.000000000 -0400
69780+++ linux-3.0.7/mm/shmem.c 2011-08-23 21:48:14.000000000 -0400 70335+++ linux-3.0.8/mm/shmem.c 2011-08-23 21:48:14.000000000 -0400
69781@@ -31,7 +31,7 @@ 70336@@ -31,7 +31,7 @@
69782 #include <linux/percpu_counter.h> 70337 #include <linux/percpu_counter.h>
69783 #include <linux/swap.h> 70338 #include <linux/swap.h>
@@ -69815,9 +70370,9 @@ diff -urNp linux-3.0.7/mm/shmem.c linux-3.0.7/mm/shmem.c
69815 if (!sbinfo) 70370 if (!sbinfo)
69816 return -ENOMEM; 70371 return -ENOMEM;
69817 70372
69818diff -urNp linux-3.0.7/mm/slab.c linux-3.0.7/mm/slab.c 70373diff -urNp linux-3.0.8/mm/slab.c linux-3.0.8/mm/slab.c
69819--- linux-3.0.7/mm/slab.c 2011-07-21 22:17:23.000000000 -0400 70374--- linux-3.0.8/mm/slab.c 2011-07-21 22:17:23.000000000 -0400
69820+++ linux-3.0.7/mm/slab.c 2011-08-23 21:48:14.000000000 -0400 70375+++ linux-3.0.8/mm/slab.c 2011-08-23 21:48:14.000000000 -0400
69821@@ -151,7 +151,7 @@ 70376@@ -151,7 +151,7 @@
69822 70377
69823 /* Legal flag mask for kmem_cache_create(). */ 70378 /* Legal flag mask for kmem_cache_create(). */
@@ -69989,9 +70544,9 @@ diff -urNp linux-3.0.7/mm/slab.c linux-3.0.7/mm/slab.c
69989 /** 70544 /**
69990 * ksize - get the actual amount of memory allocated for a given object 70545 * ksize - get the actual amount of memory allocated for a given object
69991 * @objp: Pointer to the object 70546 * @objp: Pointer to the object
69992diff -urNp linux-3.0.7/mm/slob.c linux-3.0.7/mm/slob.c 70547diff -urNp linux-3.0.8/mm/slob.c linux-3.0.8/mm/slob.c
69993--- linux-3.0.7/mm/slob.c 2011-07-21 22:17:23.000000000 -0400 70548--- linux-3.0.8/mm/slob.c 2011-07-21 22:17:23.000000000 -0400
69994+++ linux-3.0.7/mm/slob.c 2011-08-23 21:47:56.000000000 -0400 70549+++ linux-3.0.8/mm/slob.c 2011-08-23 21:47:56.000000000 -0400
69995@@ -29,7 +29,7 @@ 70550@@ -29,7 +29,7 @@
69996 * If kmalloc is asked for objects of PAGE_SIZE or larger, it calls 70551 * If kmalloc is asked for objects of PAGE_SIZE or larger, it calls
69997 * alloc_pages() directly, allocating compound pages so the page order 70552 * alloc_pages() directly, allocating compound pages so the page order
@@ -70340,9 +70895,9 @@ diff -urNp linux-3.0.7/mm/slob.c linux-3.0.7/mm/slob.c
70340 } 70895 }
70341 EXPORT_SYMBOL(kmem_cache_free); 70896 EXPORT_SYMBOL(kmem_cache_free);
70342 70897
70343diff -urNp linux-3.0.7/mm/slub.c linux-3.0.7/mm/slub.c 70898diff -urNp linux-3.0.8/mm/slub.c linux-3.0.8/mm/slub.c
70344--- linux-3.0.7/mm/slub.c 2011-07-21 22:17:23.000000000 -0400 70899--- linux-3.0.8/mm/slub.c 2011-07-21 22:17:23.000000000 -0400
70345+++ linux-3.0.7/mm/slub.c 2011-09-25 22:15:40.000000000 -0400 70900+++ linux-3.0.8/mm/slub.c 2011-09-25 22:15:40.000000000 -0400
70346@@ -200,7 +200,7 @@ struct track { 70901@@ -200,7 +200,7 @@ struct track {
70347 70902
70348 enum track_item { TRACK_ALLOC, TRACK_FREE }; 70903 enum track_item { TRACK_ALLOC, TRACK_FREE };
@@ -70582,9 +71137,9 @@ diff -urNp linux-3.0.7/mm/slub.c linux-3.0.7/mm/slub.c
70582 return 0; 71137 return 0;
70583 } 71138 }
70584 module_init(slab_proc_init); 71139 module_init(slab_proc_init);
70585diff -urNp linux-3.0.7/mm/swap.c linux-3.0.7/mm/swap.c 71140diff -urNp linux-3.0.8/mm/swap.c linux-3.0.8/mm/swap.c
70586--- linux-3.0.7/mm/swap.c 2011-07-21 22:17:23.000000000 -0400 71141--- linux-3.0.8/mm/swap.c 2011-07-21 22:17:23.000000000 -0400
70587+++ linux-3.0.7/mm/swap.c 2011-08-23 21:47:56.000000000 -0400 71142+++ linux-3.0.8/mm/swap.c 2011-08-23 21:47:56.000000000 -0400
70588@@ -31,6 +31,7 @@ 71143@@ -31,6 +31,7 @@
70589 #include <linux/backing-dev.h> 71144 #include <linux/backing-dev.h>
70590 #include <linux/memcontrol.h> 71145 #include <linux/memcontrol.h>
@@ -70602,9 +71157,9 @@ diff -urNp linux-3.0.7/mm/swap.c linux-3.0.7/mm/swap.c
70602 (*dtor)(page); 71157 (*dtor)(page);
70603 } 71158 }
70604 71159
70605diff -urNp linux-3.0.7/mm/swapfile.c linux-3.0.7/mm/swapfile.c 71160diff -urNp linux-3.0.8/mm/swapfile.c linux-3.0.8/mm/swapfile.c
70606--- linux-3.0.7/mm/swapfile.c 2011-07-21 22:17:23.000000000 -0400 71161--- linux-3.0.8/mm/swapfile.c 2011-07-21 22:17:23.000000000 -0400
70607+++ linux-3.0.7/mm/swapfile.c 2011-08-23 21:47:56.000000000 -0400 71162+++ linux-3.0.8/mm/swapfile.c 2011-08-23 21:47:56.000000000 -0400
70608@@ -62,7 +62,7 @@ static DEFINE_MUTEX(swapon_mutex); 71163@@ -62,7 +62,7 @@ static DEFINE_MUTEX(swapon_mutex);
70609 71164
70610 static DECLARE_WAIT_QUEUE_HEAD(proc_poll_wait); 71165 static DECLARE_WAIT_QUEUE_HEAD(proc_poll_wait);
@@ -70652,9 +71207,9 @@ diff -urNp linux-3.0.7/mm/swapfile.c linux-3.0.7/mm/swapfile.c
70652 wake_up_interruptible(&proc_poll_wait); 71207 wake_up_interruptible(&proc_poll_wait);
70653 71208
70654 if (S_ISREG(inode->i_mode)) 71209 if (S_ISREG(inode->i_mode))
70655diff -urNp linux-3.0.7/mm/util.c linux-3.0.7/mm/util.c 71210diff -urNp linux-3.0.8/mm/util.c linux-3.0.8/mm/util.c
70656--- linux-3.0.7/mm/util.c 2011-07-21 22:17:23.000000000 -0400 71211--- linux-3.0.8/mm/util.c 2011-07-21 22:17:23.000000000 -0400
70657+++ linux-3.0.7/mm/util.c 2011-08-23 21:47:56.000000000 -0400 71212+++ linux-3.0.8/mm/util.c 2011-08-23 21:47:56.000000000 -0400
70658@@ -114,6 +114,7 @@ EXPORT_SYMBOL(memdup_user); 71213@@ -114,6 +114,7 @@ EXPORT_SYMBOL(memdup_user);
70659 * allocated buffer. Use this if you don't want to free the buffer immediately 71214 * allocated buffer. Use this if you don't want to free the buffer immediately
70660 * like, for example, with RCU. 71215 * like, for example, with RCU.
@@ -70684,9 +71239,9 @@ diff -urNp linux-3.0.7/mm/util.c linux-3.0.7/mm/util.c
70684 mm->get_unmapped_area = arch_get_unmapped_area; 71239 mm->get_unmapped_area = arch_get_unmapped_area;
70685 mm->unmap_area = arch_unmap_area; 71240 mm->unmap_area = arch_unmap_area;
70686 } 71241 }
70687diff -urNp linux-3.0.7/mm/vmalloc.c linux-3.0.7/mm/vmalloc.c 71242diff -urNp linux-3.0.8/mm/vmalloc.c linux-3.0.8/mm/vmalloc.c
70688--- linux-3.0.7/mm/vmalloc.c 2011-10-16 21:54:54.000000000 -0400 71243--- linux-3.0.8/mm/vmalloc.c 2011-10-24 08:05:30.000000000 -0400
70689+++ linux-3.0.7/mm/vmalloc.c 2011-10-16 21:55:28.000000000 -0400 71244+++ linux-3.0.8/mm/vmalloc.c 2011-10-16 21:55:28.000000000 -0400
70690@@ -39,8 +39,19 @@ static void vunmap_pte_range(pmd_t *pmd, 71245@@ -39,8 +39,19 @@ static void vunmap_pte_range(pmd_t *pmd,
70691 71246
70692 pte = pte_offset_kernel(pmd, addr); 71247 pte = pte_offset_kernel(pmd, addr);
@@ -70919,9 +71474,9 @@ diff -urNp linux-3.0.7/mm/vmalloc.c linux-3.0.7/mm/vmalloc.c
70919 if ((PAGE_SIZE-1) & (unsigned long)addr) 71474 if ((PAGE_SIZE-1) & (unsigned long)addr)
70920 return -EINVAL; 71475 return -EINVAL;
70921 71476
70922diff -urNp linux-3.0.7/mm/vmstat.c linux-3.0.7/mm/vmstat.c 71477diff -urNp linux-3.0.8/mm/vmstat.c linux-3.0.8/mm/vmstat.c
70923--- linux-3.0.7/mm/vmstat.c 2011-07-21 22:17:23.000000000 -0400 71478--- linux-3.0.8/mm/vmstat.c 2011-07-21 22:17:23.000000000 -0400
70924+++ linux-3.0.7/mm/vmstat.c 2011-08-23 21:48:14.000000000 -0400 71479+++ linux-3.0.8/mm/vmstat.c 2011-08-23 21:48:14.000000000 -0400
70925@@ -78,7 +78,7 @@ void vm_events_fold_cpu(int cpu) 71480@@ -78,7 +78,7 @@ void vm_events_fold_cpu(int cpu)
70926 * 71481 *
70927 * vm_stat contains the global counters 71482 * vm_stat contains the global counters
@@ -70974,9 +71529,9 @@ diff -urNp linux-3.0.7/mm/vmstat.c linux-3.0.7/mm/vmstat.c
70974 #endif 71529 #endif
70975 return 0; 71530 return 0;
70976 } 71531 }
70977diff -urNp linux-3.0.7/net/8021q/vlan.c linux-3.0.7/net/8021q/vlan.c 71532diff -urNp linux-3.0.8/net/8021q/vlan.c linux-3.0.8/net/8021q/vlan.c
70978--- linux-3.0.7/net/8021q/vlan.c 2011-07-21 22:17:23.000000000 -0400 71533--- linux-3.0.8/net/8021q/vlan.c 2011-07-21 22:17:23.000000000 -0400
70979+++ linux-3.0.7/net/8021q/vlan.c 2011-08-23 21:47:56.000000000 -0400 71534+++ linux-3.0.8/net/8021q/vlan.c 2011-08-23 21:47:56.000000000 -0400
70980@@ -591,8 +591,7 @@ static int vlan_ioctl_handler(struct net 71535@@ -591,8 +591,7 @@ static int vlan_ioctl_handler(struct net
70981 err = -EPERM; 71536 err = -EPERM;
70982 if (!capable(CAP_NET_ADMIN)) 71537 if (!capable(CAP_NET_ADMIN))
@@ -70987,9 +71542,9 @@ diff -urNp linux-3.0.7/net/8021q/vlan.c linux-3.0.7/net/8021q/vlan.c
70987 struct vlan_net *vn; 71542 struct vlan_net *vn;
70988 71543
70989 vn = net_generic(net, vlan_net_id); 71544 vn = net_generic(net, vlan_net_id);
70990diff -urNp linux-3.0.7/net/9p/trans_fd.c linux-3.0.7/net/9p/trans_fd.c 71545diff -urNp linux-3.0.8/net/9p/trans_fd.c linux-3.0.8/net/9p/trans_fd.c
70991--- linux-3.0.7/net/9p/trans_fd.c 2011-07-21 22:17:23.000000000 -0400 71546--- linux-3.0.8/net/9p/trans_fd.c 2011-07-21 22:17:23.000000000 -0400
70992+++ linux-3.0.7/net/9p/trans_fd.c 2011-10-06 04:17:55.000000000 -0400 71547+++ linux-3.0.8/net/9p/trans_fd.c 2011-10-06 04:17:55.000000000 -0400
70993@@ -423,7 +423,7 @@ static int p9_fd_write(struct p9_client 71548@@ -423,7 +423,7 @@ static int p9_fd_write(struct p9_client
70994 oldfs = get_fs(); 71549 oldfs = get_fs();
70995 set_fs(get_ds()); 71550 set_fs(get_ds());
@@ -70999,9 +71554,9 @@ diff -urNp linux-3.0.7/net/9p/trans_fd.c linux-3.0.7/net/9p/trans_fd.c
70999 set_fs(oldfs); 71554 set_fs(oldfs);
71000 71555
71001 if (ret <= 0 && ret != -ERESTARTSYS && ret != -EAGAIN) 71556 if (ret <= 0 && ret != -ERESTARTSYS && ret != -EAGAIN)
71002diff -urNp linux-3.0.7/net/9p/trans_virtio.c linux-3.0.7/net/9p/trans_virtio.c 71557diff -urNp linux-3.0.8/net/9p/trans_virtio.c linux-3.0.8/net/9p/trans_virtio.c
71003--- linux-3.0.7/net/9p/trans_virtio.c 2011-10-16 21:54:54.000000000 -0400 71558--- linux-3.0.8/net/9p/trans_virtio.c 2011-10-24 08:05:30.000000000 -0400
71004+++ linux-3.0.7/net/9p/trans_virtio.c 2011-10-16 21:55:28.000000000 -0400 71559+++ linux-3.0.8/net/9p/trans_virtio.c 2011-10-16 21:55:28.000000000 -0400
71005@@ -327,7 +327,7 @@ req_retry_pinned: 71560@@ -327,7 +327,7 @@ req_retry_pinned:
71006 } else { 71561 } else {
71007 char *pbuf; 71562 char *pbuf;
@@ -71020,9 +71575,9 @@ diff -urNp linux-3.0.7/net/9p/trans_virtio.c linux-3.0.7/net/9p/trans_virtio.c
71020 else 71575 else
71021 pbuf = req->tc->pkbuf; 71576 pbuf = req->tc->pkbuf;
71022 71577
71023diff -urNp linux-3.0.7/net/atm/atm_misc.c linux-3.0.7/net/atm/atm_misc.c 71578diff -urNp linux-3.0.8/net/atm/atm_misc.c linux-3.0.8/net/atm/atm_misc.c
71024--- linux-3.0.7/net/atm/atm_misc.c 2011-07-21 22:17:23.000000000 -0400 71579--- linux-3.0.8/net/atm/atm_misc.c 2011-07-21 22:17:23.000000000 -0400
71025+++ linux-3.0.7/net/atm/atm_misc.c 2011-08-23 21:47:56.000000000 -0400 71580+++ linux-3.0.8/net/atm/atm_misc.c 2011-08-23 21:47:56.000000000 -0400
71026@@ -17,7 +17,7 @@ int atm_charge(struct atm_vcc *vcc, int 71581@@ -17,7 +17,7 @@ int atm_charge(struct atm_vcc *vcc, int
71027 if (atomic_read(&sk_atm(vcc)->sk_rmem_alloc) <= sk_atm(vcc)->sk_rcvbuf) 71582 if (atomic_read(&sk_atm(vcc)->sk_rmem_alloc) <= sk_atm(vcc)->sk_rcvbuf)
71028 return 1; 71583 return 1;
@@ -71059,9 +71614,9 @@ diff -urNp linux-3.0.7/net/atm/atm_misc.c linux-3.0.7/net/atm/atm_misc.c
71059 __SONET_ITEMS 71614 __SONET_ITEMS
71060 #undef __HANDLE_ITEM 71615 #undef __HANDLE_ITEM
71061 } 71616 }
71062diff -urNp linux-3.0.7/net/atm/lec.h linux-3.0.7/net/atm/lec.h 71617diff -urNp linux-3.0.8/net/atm/lec.h linux-3.0.8/net/atm/lec.h
71063--- linux-3.0.7/net/atm/lec.h 2011-07-21 22:17:23.000000000 -0400 71618--- linux-3.0.8/net/atm/lec.h 2011-07-21 22:17:23.000000000 -0400
71064+++ linux-3.0.7/net/atm/lec.h 2011-08-23 21:47:56.000000000 -0400 71619+++ linux-3.0.8/net/atm/lec.h 2011-08-23 21:47:56.000000000 -0400
71065@@ -48,7 +48,7 @@ struct lane2_ops { 71620@@ -48,7 +48,7 @@ struct lane2_ops {
71066 const u8 *tlvs, u32 sizeoftlvs); 71621 const u8 *tlvs, u32 sizeoftlvs);
71067 void (*associate_indicator) (struct net_device *dev, const u8 *mac_addr, 71622 void (*associate_indicator) (struct net_device *dev, const u8 *mac_addr,
@@ -71071,9 +71626,9 @@ diff -urNp linux-3.0.7/net/atm/lec.h linux-3.0.7/net/atm/lec.h
71071 71626
71072 /* 71627 /*
71073 * ATM LAN Emulation supports both LLC & Dix Ethernet EtherType 71628 * ATM LAN Emulation supports both LLC & Dix Ethernet EtherType
71074diff -urNp linux-3.0.7/net/atm/mpc.h linux-3.0.7/net/atm/mpc.h 71629diff -urNp linux-3.0.8/net/atm/mpc.h linux-3.0.8/net/atm/mpc.h
71075--- linux-3.0.7/net/atm/mpc.h 2011-07-21 22:17:23.000000000 -0400 71630--- linux-3.0.8/net/atm/mpc.h 2011-07-21 22:17:23.000000000 -0400
71076+++ linux-3.0.7/net/atm/mpc.h 2011-08-23 21:47:56.000000000 -0400 71631+++ linux-3.0.8/net/atm/mpc.h 2011-08-23 21:47:56.000000000 -0400
71077@@ -33,7 +33,7 @@ struct mpoa_client { 71632@@ -33,7 +33,7 @@ struct mpoa_client {
71078 struct mpc_parameters parameters; /* parameters for this client */ 71633 struct mpc_parameters parameters; /* parameters for this client */
71079 71634
@@ -71083,9 +71638,9 @@ diff -urNp linux-3.0.7/net/atm/mpc.h linux-3.0.7/net/atm/mpc.h
71083 }; 71638 };
71084 71639
71085 71640
71086diff -urNp linux-3.0.7/net/atm/mpoa_caches.c linux-3.0.7/net/atm/mpoa_caches.c 71641diff -urNp linux-3.0.8/net/atm/mpoa_caches.c linux-3.0.8/net/atm/mpoa_caches.c
71087--- linux-3.0.7/net/atm/mpoa_caches.c 2011-07-21 22:17:23.000000000 -0400 71642--- linux-3.0.8/net/atm/mpoa_caches.c 2011-07-21 22:17:23.000000000 -0400
71088+++ linux-3.0.7/net/atm/mpoa_caches.c 2011-08-23 21:48:14.000000000 -0400 71643+++ linux-3.0.8/net/atm/mpoa_caches.c 2011-08-23 21:48:14.000000000 -0400
71089@@ -255,6 +255,8 @@ static void check_resolving_entries(stru 71644@@ -255,6 +255,8 @@ static void check_resolving_entries(stru
71090 struct timeval now; 71645 struct timeval now;
71091 struct k_message msg; 71646 struct k_message msg;
@@ -71095,9 +71650,9 @@ diff -urNp linux-3.0.7/net/atm/mpoa_caches.c linux-3.0.7/net/atm/mpoa_caches.c
71095 do_gettimeofday(&now); 71650 do_gettimeofday(&now);
71096 71651
71097 read_lock_bh(&client->ingress_lock); 71652 read_lock_bh(&client->ingress_lock);
71098diff -urNp linux-3.0.7/net/atm/proc.c linux-3.0.7/net/atm/proc.c 71653diff -urNp linux-3.0.8/net/atm/proc.c linux-3.0.8/net/atm/proc.c
71099--- linux-3.0.7/net/atm/proc.c 2011-07-21 22:17:23.000000000 -0400 71654--- linux-3.0.8/net/atm/proc.c 2011-07-21 22:17:23.000000000 -0400
71100+++ linux-3.0.7/net/atm/proc.c 2011-08-23 21:47:56.000000000 -0400 71655+++ linux-3.0.8/net/atm/proc.c 2011-08-23 21:47:56.000000000 -0400
71101@@ -45,9 +45,9 @@ static void add_stats(struct seq_file *s 71656@@ -45,9 +45,9 @@ static void add_stats(struct seq_file *s
71102 const struct k_atm_aal_stats *stats) 71657 const struct k_atm_aal_stats *stats)
71103 { 71658 {
@@ -71111,9 +71666,9 @@ diff -urNp linux-3.0.7/net/atm/proc.c linux-3.0.7/net/atm/proc.c
71111 } 71666 }
71112 71667
71113 static void atm_dev_info(struct seq_file *seq, const struct atm_dev *dev) 71668 static void atm_dev_info(struct seq_file *seq, const struct atm_dev *dev)
71114diff -urNp linux-3.0.7/net/atm/resources.c linux-3.0.7/net/atm/resources.c 71669diff -urNp linux-3.0.8/net/atm/resources.c linux-3.0.8/net/atm/resources.c
71115--- linux-3.0.7/net/atm/resources.c 2011-07-21 22:17:23.000000000 -0400 71670--- linux-3.0.8/net/atm/resources.c 2011-07-21 22:17:23.000000000 -0400
71116+++ linux-3.0.7/net/atm/resources.c 2011-08-23 21:47:56.000000000 -0400 71671+++ linux-3.0.8/net/atm/resources.c 2011-08-23 21:47:56.000000000 -0400
71117@@ -160,7 +160,7 @@ EXPORT_SYMBOL(atm_dev_deregister); 71672@@ -160,7 +160,7 @@ EXPORT_SYMBOL(atm_dev_deregister);
71118 static void copy_aal_stats(struct k_atm_aal_stats *from, 71673 static void copy_aal_stats(struct k_atm_aal_stats *from,
71119 struct atm_aal_stats *to) 71674 struct atm_aal_stats *to)
@@ -71132,9 +71687,9 @@ diff -urNp linux-3.0.7/net/atm/resources.c linux-3.0.7/net/atm/resources.c
71132 __AAL_STAT_ITEMS 71687 __AAL_STAT_ITEMS
71133 #undef __HANDLE_ITEM 71688 #undef __HANDLE_ITEM
71134 } 71689 }
71135diff -urNp linux-3.0.7/net/batman-adv/hard-interface.c linux-3.0.7/net/batman-adv/hard-interface.c 71690diff -urNp linux-3.0.8/net/batman-adv/hard-interface.c linux-3.0.8/net/batman-adv/hard-interface.c
71136--- linux-3.0.7/net/batman-adv/hard-interface.c 2011-07-21 22:17:23.000000000 -0400 71691--- linux-3.0.8/net/batman-adv/hard-interface.c 2011-07-21 22:17:23.000000000 -0400
71137+++ linux-3.0.7/net/batman-adv/hard-interface.c 2011-08-23 21:47:56.000000000 -0400 71692+++ linux-3.0.8/net/batman-adv/hard-interface.c 2011-08-23 21:47:56.000000000 -0400
71138@@ -351,8 +351,8 @@ int hardif_enable_interface(struct hard_ 71693@@ -351,8 +351,8 @@ int hardif_enable_interface(struct hard_
71139 hard_iface->batman_adv_ptype.dev = hard_iface->net_dev; 71694 hard_iface->batman_adv_ptype.dev = hard_iface->net_dev;
71140 dev_add_pack(&hard_iface->batman_adv_ptype); 71695 dev_add_pack(&hard_iface->batman_adv_ptype);
@@ -71146,9 +71701,9 @@ diff -urNp linux-3.0.7/net/batman-adv/hard-interface.c linux-3.0.7/net/batman-ad
71146 bat_info(hard_iface->soft_iface, "Adding interface: %s\n", 71701 bat_info(hard_iface->soft_iface, "Adding interface: %s\n",
71147 hard_iface->net_dev->name); 71702 hard_iface->net_dev->name);
71148 71703
71149diff -urNp linux-3.0.7/net/batman-adv/routing.c linux-3.0.7/net/batman-adv/routing.c 71704diff -urNp linux-3.0.8/net/batman-adv/routing.c linux-3.0.8/net/batman-adv/routing.c
71150--- linux-3.0.7/net/batman-adv/routing.c 2011-07-21 22:17:23.000000000 -0400 71705--- linux-3.0.8/net/batman-adv/routing.c 2011-07-21 22:17:23.000000000 -0400
71151+++ linux-3.0.7/net/batman-adv/routing.c 2011-08-23 21:47:56.000000000 -0400 71706+++ linux-3.0.8/net/batman-adv/routing.c 2011-08-23 21:47:56.000000000 -0400
71152@@ -627,7 +627,7 @@ void receive_bat_packet(struct ethhdr *e 71707@@ -627,7 +627,7 @@ void receive_bat_packet(struct ethhdr *e
71153 return; 71708 return;
71154 71709
@@ -71158,9 +71713,9 @@ diff -urNp linux-3.0.7/net/batman-adv/routing.c linux-3.0.7/net/batman-adv/routi
71158 71713
71159 has_directlink_flag = (batman_packet->flags & DIRECTLINK ? 1 : 0); 71714 has_directlink_flag = (batman_packet->flags & DIRECTLINK ? 1 : 0);
71160 71715
71161diff -urNp linux-3.0.7/net/batman-adv/send.c linux-3.0.7/net/batman-adv/send.c 71716diff -urNp linux-3.0.8/net/batman-adv/send.c linux-3.0.8/net/batman-adv/send.c
71162--- linux-3.0.7/net/batman-adv/send.c 2011-07-21 22:17:23.000000000 -0400 71717--- linux-3.0.8/net/batman-adv/send.c 2011-07-21 22:17:23.000000000 -0400
71163+++ linux-3.0.7/net/batman-adv/send.c 2011-08-23 21:47:56.000000000 -0400 71718+++ linux-3.0.8/net/batman-adv/send.c 2011-08-23 21:47:56.000000000 -0400
71164@@ -279,7 +279,7 @@ void schedule_own_packet(struct hard_ifa 71719@@ -279,7 +279,7 @@ void schedule_own_packet(struct hard_ifa
71165 71720
71166 /* change sequence number to network order */ 71721 /* change sequence number to network order */
@@ -71179,9 +71734,9 @@ diff -urNp linux-3.0.7/net/batman-adv/send.c linux-3.0.7/net/batman-adv/send.c
71179 71734
71180 slide_own_bcast_window(hard_iface); 71735 slide_own_bcast_window(hard_iface);
71181 send_time = own_send_time(bat_priv); 71736 send_time = own_send_time(bat_priv);
71182diff -urNp linux-3.0.7/net/batman-adv/soft-interface.c linux-3.0.7/net/batman-adv/soft-interface.c 71737diff -urNp linux-3.0.8/net/batman-adv/soft-interface.c linux-3.0.8/net/batman-adv/soft-interface.c
71183--- linux-3.0.7/net/batman-adv/soft-interface.c 2011-07-21 22:17:23.000000000 -0400 71738--- linux-3.0.8/net/batman-adv/soft-interface.c 2011-07-21 22:17:23.000000000 -0400
71184+++ linux-3.0.7/net/batman-adv/soft-interface.c 2011-08-23 21:47:56.000000000 -0400 71739+++ linux-3.0.8/net/batman-adv/soft-interface.c 2011-08-23 21:47:56.000000000 -0400
71185@@ -628,7 +628,7 @@ int interface_tx(struct sk_buff *skb, st 71740@@ -628,7 +628,7 @@ int interface_tx(struct sk_buff *skb, st
71186 71741
71187 /* set broadcast sequence number */ 71742 /* set broadcast sequence number */
@@ -71200,9 +71755,9 @@ diff -urNp linux-3.0.7/net/batman-adv/soft-interface.c linux-3.0.7/net/batman-ad
71200 atomic_set(&bat_priv->tt_local_changed, 0); 71755 atomic_set(&bat_priv->tt_local_changed, 0);
71201 71756
71202 bat_priv->primary_if = NULL; 71757 bat_priv->primary_if = NULL;
71203diff -urNp linux-3.0.7/net/batman-adv/types.h linux-3.0.7/net/batman-adv/types.h 71758diff -urNp linux-3.0.8/net/batman-adv/types.h linux-3.0.8/net/batman-adv/types.h
71204--- linux-3.0.7/net/batman-adv/types.h 2011-07-21 22:17:23.000000000 -0400 71759--- linux-3.0.8/net/batman-adv/types.h 2011-07-21 22:17:23.000000000 -0400
71205+++ linux-3.0.7/net/batman-adv/types.h 2011-08-23 21:47:56.000000000 -0400 71760+++ linux-3.0.8/net/batman-adv/types.h 2011-08-23 21:47:56.000000000 -0400
71206@@ -38,8 +38,8 @@ struct hard_iface { 71761@@ -38,8 +38,8 @@ struct hard_iface {
71207 int16_t if_num; 71762 int16_t if_num;
71208 char if_status; 71763 char if_status;
@@ -71223,9 +71778,9 @@ diff -urNp linux-3.0.7/net/batman-adv/types.h linux-3.0.7/net/batman-adv/types.h
71223 atomic_t bcast_queue_left; 71778 atomic_t bcast_queue_left;
71224 atomic_t batman_queue_left; 71779 atomic_t batman_queue_left;
71225 char num_ifaces; 71780 char num_ifaces;
71226diff -urNp linux-3.0.7/net/batman-adv/unicast.c linux-3.0.7/net/batman-adv/unicast.c 71781diff -urNp linux-3.0.8/net/batman-adv/unicast.c linux-3.0.8/net/batman-adv/unicast.c
71227--- linux-3.0.7/net/batman-adv/unicast.c 2011-07-21 22:17:23.000000000 -0400 71782--- linux-3.0.8/net/batman-adv/unicast.c 2011-07-21 22:17:23.000000000 -0400
71228+++ linux-3.0.7/net/batman-adv/unicast.c 2011-08-23 21:47:56.000000000 -0400 71783+++ linux-3.0.8/net/batman-adv/unicast.c 2011-08-23 21:47:56.000000000 -0400
71229@@ -265,7 +265,7 @@ int frag_send_skb(struct sk_buff *skb, s 71784@@ -265,7 +265,7 @@ int frag_send_skb(struct sk_buff *skb, s
71230 frag1->flags = UNI_FRAG_HEAD | large_tail; 71785 frag1->flags = UNI_FRAG_HEAD | large_tail;
71231 frag2->flags = large_tail; 71786 frag2->flags = large_tail;
@@ -71235,9 +71790,9 @@ diff -urNp linux-3.0.7/net/batman-adv/unicast.c linux-3.0.7/net/batman-adv/unica
71235 frag1->seqno = htons(seqno - 1); 71790 frag1->seqno = htons(seqno - 1);
71236 frag2->seqno = htons(seqno); 71791 frag2->seqno = htons(seqno);
71237 71792
71238diff -urNp linux-3.0.7/net/bridge/br_multicast.c linux-3.0.7/net/bridge/br_multicast.c 71793diff -urNp linux-3.0.8/net/bridge/br_multicast.c linux-3.0.8/net/bridge/br_multicast.c
71239--- linux-3.0.7/net/bridge/br_multicast.c 2011-10-16 21:54:54.000000000 -0400 71794--- linux-3.0.8/net/bridge/br_multicast.c 2011-10-24 08:05:30.000000000 -0400
71240+++ linux-3.0.7/net/bridge/br_multicast.c 2011-10-16 21:55:28.000000000 -0400 71795+++ linux-3.0.8/net/bridge/br_multicast.c 2011-10-16 21:55:28.000000000 -0400
71241@@ -1485,7 +1485,7 @@ static int br_multicast_ipv6_rcv(struct 71796@@ -1485,7 +1485,7 @@ static int br_multicast_ipv6_rcv(struct
71242 nexthdr = ip6h->nexthdr; 71797 nexthdr = ip6h->nexthdr;
71243 offset = ipv6_skip_exthdr(skb, sizeof(*ip6h), &nexthdr); 71798 offset = ipv6_skip_exthdr(skb, sizeof(*ip6h), &nexthdr);
@@ -71247,9 +71802,9 @@ diff -urNp linux-3.0.7/net/bridge/br_multicast.c linux-3.0.7/net/bridge/br_multi
71247 return 0; 71802 return 0;
71248 71803
71249 /* Okay, we found ICMPv6 header */ 71804 /* Okay, we found ICMPv6 header */
71250diff -urNp linux-3.0.7/net/bridge/netfilter/ebtables.c linux-3.0.7/net/bridge/netfilter/ebtables.c 71805diff -urNp linux-3.0.8/net/bridge/netfilter/ebtables.c linux-3.0.8/net/bridge/netfilter/ebtables.c
71251--- linux-3.0.7/net/bridge/netfilter/ebtables.c 2011-07-21 22:17:23.000000000 -0400 71806--- linux-3.0.8/net/bridge/netfilter/ebtables.c 2011-07-21 22:17:23.000000000 -0400
71252+++ linux-3.0.7/net/bridge/netfilter/ebtables.c 2011-08-23 21:48:14.000000000 -0400 71807+++ linux-3.0.8/net/bridge/netfilter/ebtables.c 2011-08-23 21:48:14.000000000 -0400
71253@@ -1512,7 +1512,7 @@ static int do_ebt_get_ctl(struct sock *s 71808@@ -1512,7 +1512,7 @@ static int do_ebt_get_ctl(struct sock *s
71254 tmp.valid_hooks = t->table->valid_hooks; 71809 tmp.valid_hooks = t->table->valid_hooks;
71255 } 71810 }
@@ -71268,9 +71823,9 @@ diff -urNp linux-3.0.7/net/bridge/netfilter/ebtables.c linux-3.0.7/net/bridge/ne
71268 memset(&tinfo, 0, sizeof(tinfo)); 71823 memset(&tinfo, 0, sizeof(tinfo));
71269 71824
71270 if (cmd == EBT_SO_GET_ENTRIES) { 71825 if (cmd == EBT_SO_GET_ENTRIES) {
71271diff -urNp linux-3.0.7/net/caif/caif_socket.c linux-3.0.7/net/caif/caif_socket.c 71826diff -urNp linux-3.0.8/net/caif/caif_socket.c linux-3.0.8/net/caif/caif_socket.c
71272--- linux-3.0.7/net/caif/caif_socket.c 2011-07-21 22:17:23.000000000 -0400 71827--- linux-3.0.8/net/caif/caif_socket.c 2011-07-21 22:17:23.000000000 -0400
71273+++ linux-3.0.7/net/caif/caif_socket.c 2011-08-23 21:47:56.000000000 -0400 71828+++ linux-3.0.8/net/caif/caif_socket.c 2011-08-23 21:47:56.000000000 -0400
71274@@ -48,19 +48,20 @@ static struct dentry *debugfsdir; 71829@@ -48,19 +48,20 @@ static struct dentry *debugfsdir;
71275 #ifdef CONFIG_DEBUG_FS 71830 #ifdef CONFIG_DEBUG_FS
71276 struct debug_fs_counter { 71831 struct debug_fs_counter {
@@ -71400,9 +71955,9 @@ diff -urNp linux-3.0.7/net/caif/caif_socket.c linux-3.0.7/net/caif/caif_socket.c
71400 #ifdef CONFIG_DEBUG_FS 71955 #ifdef CONFIG_DEBUG_FS
71401 if (!IS_ERR(debugfsdir)) { 71956 if (!IS_ERR(debugfsdir)) {
71402 71957
71403diff -urNp linux-3.0.7/net/caif/cfctrl.c linux-3.0.7/net/caif/cfctrl.c 71958diff -urNp linux-3.0.8/net/caif/cfctrl.c linux-3.0.8/net/caif/cfctrl.c
71404--- linux-3.0.7/net/caif/cfctrl.c 2011-07-21 22:17:23.000000000 -0400 71959--- linux-3.0.8/net/caif/cfctrl.c 2011-07-21 22:17:23.000000000 -0400
71405+++ linux-3.0.7/net/caif/cfctrl.c 2011-08-23 21:48:14.000000000 -0400 71960+++ linux-3.0.8/net/caif/cfctrl.c 2011-08-23 21:48:14.000000000 -0400
71406@@ -9,6 +9,7 @@ 71961@@ -9,6 +9,7 @@
71407 #include <linux/stddef.h> 71962 #include <linux/stddef.h>
71408 #include <linux/spinlock.h> 71963 #include <linux/spinlock.h>
@@ -71450,9 +72005,9 @@ diff -urNp linux-3.0.7/net/caif/cfctrl.c linux-3.0.7/net/caif/cfctrl.c
71450 72005
71451 cfpkt_extr_head(pkt, &cmdrsp, 1); 72006 cfpkt_extr_head(pkt, &cmdrsp, 1);
71452 cmd = cmdrsp & CFCTRL_CMD_MASK; 72007 cmd = cmdrsp & CFCTRL_CMD_MASK;
71453diff -urNp linux-3.0.7/net/compat.c linux-3.0.7/net/compat.c 72008diff -urNp linux-3.0.8/net/compat.c linux-3.0.8/net/compat.c
71454--- linux-3.0.7/net/compat.c 2011-07-21 22:17:23.000000000 -0400 72009--- linux-3.0.8/net/compat.c 2011-07-21 22:17:23.000000000 -0400
71455+++ linux-3.0.7/net/compat.c 2011-10-06 04:17:55.000000000 -0400 72010+++ linux-3.0.8/net/compat.c 2011-10-06 04:17:55.000000000 -0400
71456@@ -70,9 +70,9 @@ int get_compat_msghdr(struct msghdr *kms 72011@@ -70,9 +70,9 @@ int get_compat_msghdr(struct msghdr *kms
71457 __get_user(kmsg->msg_controllen, &umsg->msg_controllen) || 72012 __get_user(kmsg->msg_controllen, &umsg->msg_controllen) ||
71458 __get_user(kmsg->msg_flags, &umsg->msg_flags)) 72013 __get_user(kmsg->msg_flags, &umsg->msg_flags))
@@ -71580,9 +72135,9 @@ diff -urNp linux-3.0.7/net/compat.c linux-3.0.7/net/compat.c
71580 struct group_filter __user *kgf; 72135 struct group_filter __user *kgf;
71581 int __user *koptlen; 72136 int __user *koptlen;
71582 u32 interface, fmode, numsrc; 72137 u32 interface, fmode, numsrc;
71583diff -urNp linux-3.0.7/net/core/datagram.c linux-3.0.7/net/core/datagram.c 72138diff -urNp linux-3.0.8/net/core/datagram.c linux-3.0.8/net/core/datagram.c
71584--- linux-3.0.7/net/core/datagram.c 2011-07-21 22:17:23.000000000 -0400 72139--- linux-3.0.8/net/core/datagram.c 2011-07-21 22:17:23.000000000 -0400
71585+++ linux-3.0.7/net/core/datagram.c 2011-08-23 21:47:56.000000000 -0400 72140+++ linux-3.0.8/net/core/datagram.c 2011-08-23 21:47:56.000000000 -0400
71586@@ -285,7 +285,7 @@ int skb_kill_datagram(struct sock *sk, s 72141@@ -285,7 +285,7 @@ int skb_kill_datagram(struct sock *sk, s
71587 } 72142 }
71588 72143
@@ -71592,9 +72147,9 @@ diff -urNp linux-3.0.7/net/core/datagram.c linux-3.0.7/net/core/datagram.c
71592 sk_mem_reclaim_partial(sk); 72147 sk_mem_reclaim_partial(sk);
71593 72148
71594 return err; 72149 return err;
71595diff -urNp linux-3.0.7/net/core/dev.c linux-3.0.7/net/core/dev.c 72150diff -urNp linux-3.0.8/net/core/dev.c linux-3.0.8/net/core/dev.c
71596--- linux-3.0.7/net/core/dev.c 2011-07-21 22:17:23.000000000 -0400 72151--- linux-3.0.8/net/core/dev.c 2011-07-21 22:17:23.000000000 -0400
71597+++ linux-3.0.7/net/core/dev.c 2011-08-23 21:48:14.000000000 -0400 72152+++ linux-3.0.8/net/core/dev.c 2011-08-23 21:48:14.000000000 -0400
71598@@ -1125,10 +1125,14 @@ void dev_load(struct net *net, const cha 72153@@ -1125,10 +1125,14 @@ void dev_load(struct net *net, const cha
71599 if (no_module && capable(CAP_NET_ADMIN)) 72154 if (no_module && capable(CAP_NET_ADMIN))
71600 no_module = request_module("netdev-%s", name); 72155 no_module = request_module("netdev-%s", name);
@@ -71637,9 +72192,9 @@ diff -urNp linux-3.0.7/net/core/dev.c linux-3.0.7/net/core/dev.c
71637 { 72192 {
71638 struct softnet_data *sd = &__get_cpu_var(softnet_data); 72193 struct softnet_data *sd = &__get_cpu_var(softnet_data);
71639 unsigned long time_limit = jiffies + 2; 72194 unsigned long time_limit = jiffies + 2;
71640diff -urNp linux-3.0.7/net/core/flow.c linux-3.0.7/net/core/flow.c 72195diff -urNp linux-3.0.8/net/core/flow.c linux-3.0.8/net/core/flow.c
71641--- linux-3.0.7/net/core/flow.c 2011-07-21 22:17:23.000000000 -0400 72196--- linux-3.0.8/net/core/flow.c 2011-07-21 22:17:23.000000000 -0400
71642+++ linux-3.0.7/net/core/flow.c 2011-08-23 21:47:56.000000000 -0400 72197+++ linux-3.0.8/net/core/flow.c 2011-08-23 21:47:56.000000000 -0400
71643@@ -60,7 +60,7 @@ struct flow_cache { 72198@@ -60,7 +60,7 @@ struct flow_cache {
71644 struct timer_list rnd_timer; 72199 struct timer_list rnd_timer;
71645 }; 72200 };
@@ -71676,9 +72231,9 @@ diff -urNp linux-3.0.7/net/core/flow.c linux-3.0.7/net/core/flow.c
71676 if (!IS_ERR(flo)) 72231 if (!IS_ERR(flo))
71677 fle->object = flo; 72232 fle->object = flo;
71678 else 72233 else
71679diff -urNp linux-3.0.7/net/core/iovec.c linux-3.0.7/net/core/iovec.c 72234diff -urNp linux-3.0.8/net/core/iovec.c linux-3.0.8/net/core/iovec.c
71680--- linux-3.0.7/net/core/iovec.c 2011-07-21 22:17:23.000000000 -0400 72235--- linux-3.0.8/net/core/iovec.c 2011-07-21 22:17:23.000000000 -0400
71681+++ linux-3.0.7/net/core/iovec.c 2011-10-06 04:17:55.000000000 -0400 72236+++ linux-3.0.8/net/core/iovec.c 2011-10-06 04:17:55.000000000 -0400
71682@@ -42,7 +42,7 @@ int verify_iovec(struct msghdr *m, struc 72237@@ -42,7 +42,7 @@ int verify_iovec(struct msghdr *m, struc
71683 if (m->msg_namelen) { 72238 if (m->msg_namelen) {
71684 if (mode == VERIFY_READ) { 72239 if (mode == VERIFY_READ) {
@@ -71697,9 +72252,9 @@ diff -urNp linux-3.0.7/net/core/iovec.c linux-3.0.7/net/core/iovec.c
71697 return -EFAULT; 72252 return -EFAULT;
71698 72253
71699 m->msg_iov = iov; 72254 m->msg_iov = iov;
71700diff -urNp linux-3.0.7/net/core/rtnetlink.c linux-3.0.7/net/core/rtnetlink.c 72255diff -urNp linux-3.0.8/net/core/rtnetlink.c linux-3.0.8/net/core/rtnetlink.c
71701--- linux-3.0.7/net/core/rtnetlink.c 2011-07-21 22:17:23.000000000 -0400 72256--- linux-3.0.8/net/core/rtnetlink.c 2011-07-21 22:17:23.000000000 -0400
71702+++ linux-3.0.7/net/core/rtnetlink.c 2011-08-23 21:47:56.000000000 -0400 72257+++ linux-3.0.8/net/core/rtnetlink.c 2011-08-23 21:47:56.000000000 -0400
71703@@ -56,7 +56,7 @@ 72258@@ -56,7 +56,7 @@
71704 struct rtnl_link { 72259 struct rtnl_link {
71705 rtnl_doit_func doit; 72260 rtnl_doit_func doit;
@@ -71709,9 +72264,9 @@ diff -urNp linux-3.0.7/net/core/rtnetlink.c linux-3.0.7/net/core/rtnetlink.c
71709 72264
71710 static DEFINE_MUTEX(rtnl_mutex); 72265 static DEFINE_MUTEX(rtnl_mutex);
71711 72266
71712diff -urNp linux-3.0.7/net/core/scm.c linux-3.0.7/net/core/scm.c 72267diff -urNp linux-3.0.8/net/core/scm.c linux-3.0.8/net/core/scm.c
71713--- linux-3.0.7/net/core/scm.c 2011-10-16 21:54:54.000000000 -0400 72268--- linux-3.0.8/net/core/scm.c 2011-10-24 08:05:30.000000000 -0400
71714+++ linux-3.0.7/net/core/scm.c 2011-10-16 21:55:28.000000000 -0400 72269+++ linux-3.0.8/net/core/scm.c 2011-10-16 21:55:28.000000000 -0400
71715@@ -218,7 +218,7 @@ EXPORT_SYMBOL(__scm_send); 72270@@ -218,7 +218,7 @@ EXPORT_SYMBOL(__scm_send);
71716 int put_cmsg(struct msghdr * msg, int level, int type, int len, void *data) 72271 int put_cmsg(struct msghdr * msg, int level, int type, int len, void *data)
71717 { 72272 {
@@ -71748,9 +72303,9 @@ diff -urNp linux-3.0.7/net/core/scm.c linux-3.0.7/net/core/scm.c
71748 i++, cmfptr++) 72303 i++, cmfptr++)
71749 { 72304 {
71750 int new_fd; 72305 int new_fd;
71751diff -urNp linux-3.0.7/net/core/skbuff.c linux-3.0.7/net/core/skbuff.c 72306diff -urNp linux-3.0.8/net/core/skbuff.c linux-3.0.8/net/core/skbuff.c
71752--- linux-3.0.7/net/core/skbuff.c 2011-07-21 22:17:23.000000000 -0400 72307--- linux-3.0.8/net/core/skbuff.c 2011-07-21 22:17:23.000000000 -0400
71753+++ linux-3.0.7/net/core/skbuff.c 2011-08-23 21:48:14.000000000 -0400 72308+++ linux-3.0.8/net/core/skbuff.c 2011-08-23 21:48:14.000000000 -0400
71754@@ -1543,6 +1543,8 @@ int skb_splice_bits(struct sk_buff *skb, 72309@@ -1543,6 +1543,8 @@ int skb_splice_bits(struct sk_buff *skb,
71755 struct sock *sk = skb->sk; 72310 struct sock *sk = skb->sk;
71756 int ret = 0; 72311 int ret = 0;
@@ -71760,9 +72315,9 @@ diff -urNp linux-3.0.7/net/core/skbuff.c linux-3.0.7/net/core/skbuff.c
71760 if (splice_grow_spd(pipe, &spd)) 72315 if (splice_grow_spd(pipe, &spd))
71761 return -ENOMEM; 72316 return -ENOMEM;
71762 72317
71763diff -urNp linux-3.0.7/net/core/sock.c linux-3.0.7/net/core/sock.c 72318diff -urNp linux-3.0.8/net/core/sock.c linux-3.0.8/net/core/sock.c
71764--- linux-3.0.7/net/core/sock.c 2011-07-21 22:17:23.000000000 -0400 72319--- linux-3.0.8/net/core/sock.c 2011-07-21 22:17:23.000000000 -0400
71765+++ linux-3.0.7/net/core/sock.c 2011-08-23 21:48:14.000000000 -0400 72320+++ linux-3.0.8/net/core/sock.c 2011-08-23 21:48:14.000000000 -0400
71766@@ -291,7 +291,7 @@ int sock_queue_rcv_skb(struct sock *sk, 72321@@ -291,7 +291,7 @@ int sock_queue_rcv_skb(struct sock *sk,
71767 */ 72322 */
71768 if (atomic_read(&sk->sk_rmem_alloc) + skb->truesize >= 72323 if (atomic_read(&sk->sk_rmem_alloc) + skb->truesize >=
@@ -71844,9 +72399,9 @@ diff -urNp linux-3.0.7/net/core/sock.c linux-3.0.7/net/core/sock.c
71844 } 72399 }
71845 EXPORT_SYMBOL(sock_init_data); 72400 EXPORT_SYMBOL(sock_init_data);
71846 72401
71847diff -urNp linux-3.0.7/net/decnet/sysctl_net_decnet.c linux-3.0.7/net/decnet/sysctl_net_decnet.c 72402diff -urNp linux-3.0.8/net/decnet/sysctl_net_decnet.c linux-3.0.8/net/decnet/sysctl_net_decnet.c
71848--- linux-3.0.7/net/decnet/sysctl_net_decnet.c 2011-07-21 22:17:23.000000000 -0400 72403--- linux-3.0.8/net/decnet/sysctl_net_decnet.c 2011-07-21 22:17:23.000000000 -0400
71849+++ linux-3.0.7/net/decnet/sysctl_net_decnet.c 2011-08-23 21:47:56.000000000 -0400 72404+++ linux-3.0.8/net/decnet/sysctl_net_decnet.c 2011-08-23 21:47:56.000000000 -0400
71850@@ -173,7 +173,7 @@ static int dn_node_address_handler(ctl_t 72405@@ -173,7 +173,7 @@ static int dn_node_address_handler(ctl_t
71851 72406
71852 if (len > *lenp) len = *lenp; 72407 if (len > *lenp) len = *lenp;
@@ -71865,9 +72420,9 @@ diff -urNp linux-3.0.7/net/decnet/sysctl_net_decnet.c linux-3.0.7/net/decnet/sys
71865 return -EFAULT; 72420 return -EFAULT;
71866 72421
71867 *lenp = len; 72422 *lenp = len;
71868diff -urNp linux-3.0.7/net/econet/Kconfig linux-3.0.7/net/econet/Kconfig 72423diff -urNp linux-3.0.8/net/econet/Kconfig linux-3.0.8/net/econet/Kconfig
71869--- linux-3.0.7/net/econet/Kconfig 2011-07-21 22:17:23.000000000 -0400 72424--- linux-3.0.8/net/econet/Kconfig 2011-07-21 22:17:23.000000000 -0400
71870+++ linux-3.0.7/net/econet/Kconfig 2011-08-23 21:48:14.000000000 -0400 72425+++ linux-3.0.8/net/econet/Kconfig 2011-08-23 21:48:14.000000000 -0400
71871@@ -4,7 +4,7 @@ 72426@@ -4,7 +4,7 @@
71872 72427
71873 config ECONET 72428 config ECONET
@@ -71877,9 +72432,9 @@ diff -urNp linux-3.0.7/net/econet/Kconfig linux-3.0.7/net/econet/Kconfig
71877 ---help--- 72432 ---help---
71878 Econet is a fairly old and slow networking protocol mainly used by 72433 Econet is a fairly old and slow networking protocol mainly used by
71879 Acorn computers to access file and print servers. It uses native 72434 Acorn computers to access file and print servers. It uses native
71880diff -urNp linux-3.0.7/net/ipv4/fib_frontend.c linux-3.0.7/net/ipv4/fib_frontend.c 72435diff -urNp linux-3.0.8/net/ipv4/fib_frontend.c linux-3.0.8/net/ipv4/fib_frontend.c
71881--- linux-3.0.7/net/ipv4/fib_frontend.c 2011-07-21 22:17:23.000000000 -0400 72436--- linux-3.0.8/net/ipv4/fib_frontend.c 2011-07-21 22:17:23.000000000 -0400
71882+++ linux-3.0.7/net/ipv4/fib_frontend.c 2011-08-23 21:47:56.000000000 -0400 72437+++ linux-3.0.8/net/ipv4/fib_frontend.c 2011-08-23 21:47:56.000000000 -0400
71883@@ -970,12 +970,12 @@ static int fib_inetaddr_event(struct not 72438@@ -970,12 +970,12 @@ static int fib_inetaddr_event(struct not
71884 #ifdef CONFIG_IP_ROUTE_MULTIPATH 72439 #ifdef CONFIG_IP_ROUTE_MULTIPATH
71885 fib_sync_up(dev); 72440 fib_sync_up(dev);
@@ -71904,9 +72459,9 @@ diff -urNp linux-3.0.7/net/ipv4/fib_frontend.c linux-3.0.7/net/ipv4/fib_frontend
71904 rt_cache_flush(dev_net(dev), -1); 72459 rt_cache_flush(dev_net(dev), -1);
71905 break; 72460 break;
71906 case NETDEV_DOWN: 72461 case NETDEV_DOWN:
71907diff -urNp linux-3.0.7/net/ipv4/fib_semantics.c linux-3.0.7/net/ipv4/fib_semantics.c 72462diff -urNp linux-3.0.8/net/ipv4/fib_semantics.c linux-3.0.8/net/ipv4/fib_semantics.c
71908--- linux-3.0.7/net/ipv4/fib_semantics.c 2011-07-21 22:17:23.000000000 -0400 72463--- linux-3.0.8/net/ipv4/fib_semantics.c 2011-07-21 22:17:23.000000000 -0400
71909+++ linux-3.0.7/net/ipv4/fib_semantics.c 2011-08-23 21:47:56.000000000 -0400 72464+++ linux-3.0.8/net/ipv4/fib_semantics.c 2011-08-23 21:47:56.000000000 -0400
71910@@ -691,7 +691,7 @@ __be32 fib_info_update_nh_saddr(struct n 72465@@ -691,7 +691,7 @@ __be32 fib_info_update_nh_saddr(struct n
71911 nh->nh_saddr = inet_select_addr(nh->nh_dev, 72466 nh->nh_saddr = inet_select_addr(nh->nh_dev,
71912 nh->nh_gw, 72467 nh->nh_gw,
@@ -71916,9 +72471,9 @@ diff -urNp linux-3.0.7/net/ipv4/fib_semantics.c linux-3.0.7/net/ipv4/fib_semanti
71916 72471
71917 return nh->nh_saddr; 72472 return nh->nh_saddr;
71918 } 72473 }
71919diff -urNp linux-3.0.7/net/ipv4/inet_diag.c linux-3.0.7/net/ipv4/inet_diag.c 72474diff -urNp linux-3.0.8/net/ipv4/inet_diag.c linux-3.0.8/net/ipv4/inet_diag.c
71920--- linux-3.0.7/net/ipv4/inet_diag.c 2011-07-21 22:17:23.000000000 -0400 72475--- linux-3.0.8/net/ipv4/inet_diag.c 2011-07-21 22:17:23.000000000 -0400
71921+++ linux-3.0.7/net/ipv4/inet_diag.c 2011-08-23 21:48:14.000000000 -0400 72476+++ linux-3.0.8/net/ipv4/inet_diag.c 2011-08-23 21:48:14.000000000 -0400
71922@@ -114,8 +114,14 @@ static int inet_csk_diag_fill(struct soc 72477@@ -114,8 +114,14 @@ static int inet_csk_diag_fill(struct soc
71923 r->idiag_retrans = 0; 72478 r->idiag_retrans = 0;
71924 72479
@@ -71980,9 +72535,9 @@ diff -urNp linux-3.0.7/net/ipv4/inet_diag.c linux-3.0.7/net/ipv4/inet_diag.c
71980 72535
71981 tmo = req->expires - jiffies; 72536 tmo = req->expires - jiffies;
71982 if (tmo < 0) 72537 if (tmo < 0)
71983diff -urNp linux-3.0.7/net/ipv4/inet_hashtables.c linux-3.0.7/net/ipv4/inet_hashtables.c 72538diff -urNp linux-3.0.8/net/ipv4/inet_hashtables.c linux-3.0.8/net/ipv4/inet_hashtables.c
71984--- linux-3.0.7/net/ipv4/inet_hashtables.c 2011-09-02 18:11:21.000000000 -0400 72539--- linux-3.0.8/net/ipv4/inet_hashtables.c 2011-10-24 08:05:21.000000000 -0400
71985+++ linux-3.0.7/net/ipv4/inet_hashtables.c 2011-08-23 21:55:24.000000000 -0400 72540+++ linux-3.0.8/net/ipv4/inet_hashtables.c 2011-08-23 21:55:24.000000000 -0400
71986@@ -18,12 +18,15 @@ 72541@@ -18,12 +18,15 @@
71987 #include <linux/sched.h> 72542 #include <linux/sched.h>
71988 #include <linux/slab.h> 72543 #include <linux/slab.h>
@@ -72008,9 +72563,9 @@ diff -urNp linux-3.0.7/net/ipv4/inet_hashtables.c linux-3.0.7/net/ipv4/inet_hash
72008 if (tw) { 72563 if (tw) {
72009 inet_twsk_deschedule(tw, death_row); 72564 inet_twsk_deschedule(tw, death_row);
72010 while (twrefcnt) { 72565 while (twrefcnt) {
72011diff -urNp linux-3.0.7/net/ipv4/inetpeer.c linux-3.0.7/net/ipv4/inetpeer.c 72566diff -urNp linux-3.0.8/net/ipv4/inetpeer.c linux-3.0.8/net/ipv4/inetpeer.c
72012--- linux-3.0.7/net/ipv4/inetpeer.c 2011-09-02 18:11:21.000000000 -0400 72567--- linux-3.0.8/net/ipv4/inetpeer.c 2011-10-24 08:05:21.000000000 -0400
72013+++ linux-3.0.7/net/ipv4/inetpeer.c 2011-08-23 21:48:14.000000000 -0400 72568+++ linux-3.0.8/net/ipv4/inetpeer.c 2011-08-23 21:48:14.000000000 -0400
72014@@ -481,6 +481,8 @@ struct inet_peer *inet_getpeer(struct in 72569@@ -481,6 +481,8 @@ struct inet_peer *inet_getpeer(struct in
72015 unsigned int sequence; 72570 unsigned int sequence;
72016 int invalidated, newrefcnt = 0; 72571 int invalidated, newrefcnt = 0;
@@ -72031,9 +72586,39 @@ diff -urNp linux-3.0.7/net/ipv4/inetpeer.c linux-3.0.7/net/ipv4/inetpeer.c
72031 p->tcp_ts_stamp = 0; 72586 p->tcp_ts_stamp = 0;
72032 p->metrics[RTAX_LOCK-1] = INETPEER_METRICS_NEW; 72587 p->metrics[RTAX_LOCK-1] = INETPEER_METRICS_NEW;
72033 p->rate_tokens = 0; 72588 p->rate_tokens = 0;
72034diff -urNp linux-3.0.7/net/ipv4/ip_fragment.c linux-3.0.7/net/ipv4/ip_fragment.c 72589diff -urNp linux-3.0.8/net/ipv4/ipconfig.c linux-3.0.8/net/ipv4/ipconfig.c
72035--- linux-3.0.7/net/ipv4/ip_fragment.c 2011-07-21 22:17:23.000000000 -0400 72590--- linux-3.0.8/net/ipv4/ipconfig.c 2011-07-21 22:17:23.000000000 -0400
72036+++ linux-3.0.7/net/ipv4/ip_fragment.c 2011-08-23 21:47:56.000000000 -0400 72591+++ linux-3.0.8/net/ipv4/ipconfig.c 2011-10-06 04:17:55.000000000 -0400
72592@@ -313,7 +313,7 @@ static int __init ic_devinet_ioctl(unsig
72593
72594 mm_segment_t oldfs = get_fs();
72595 set_fs(get_ds());
72596- res = devinet_ioctl(&init_net, cmd, (struct ifreq __user *) arg);
72597+ res = devinet_ioctl(&init_net, cmd, (struct ifreq __force_user *) arg);
72598 set_fs(oldfs);
72599 return res;
72600 }
72601@@ -324,7 +324,7 @@ static int __init ic_dev_ioctl(unsigned
72602
72603 mm_segment_t oldfs = get_fs();
72604 set_fs(get_ds());
72605- res = dev_ioctl(&init_net, cmd, (struct ifreq __user *) arg);
72606+ res = dev_ioctl(&init_net, cmd, (struct ifreq __force_user *) arg);
72607 set_fs(oldfs);
72608 return res;
72609 }
72610@@ -335,7 +335,7 @@ static int __init ic_route_ioctl(unsigne
72611
72612 mm_segment_t oldfs = get_fs();
72613 set_fs(get_ds());
72614- res = ip_rt_ioctl(&init_net, cmd, (void __user *) arg);
72615+ res = ip_rt_ioctl(&init_net, cmd, (void __force_user *) arg);
72616 set_fs(oldfs);
72617 return res;
72618 }
72619diff -urNp linux-3.0.8/net/ipv4/ip_fragment.c linux-3.0.8/net/ipv4/ip_fragment.c
72620--- linux-3.0.8/net/ipv4/ip_fragment.c 2011-07-21 22:17:23.000000000 -0400
72621+++ linux-3.0.8/net/ipv4/ip_fragment.c 2011-08-23 21:47:56.000000000 -0400
72037@@ -315,7 +315,7 @@ static inline int ip_frag_too_far(struct 72622@@ -315,7 +315,7 @@ static inline int ip_frag_too_far(struct
72038 return 0; 72623 return 0;
72039 72624
@@ -72043,9 +72628,9 @@ diff -urNp linux-3.0.7/net/ipv4/ip_fragment.c linux-3.0.7/net/ipv4/ip_fragment.c
72043 qp->rid = end; 72628 qp->rid = end;
72044 72629
72045 rc = qp->q.fragments && (end - start) > max; 72630 rc = qp->q.fragments && (end - start) > max;
72046diff -urNp linux-3.0.7/net/ipv4/ip_sockglue.c linux-3.0.7/net/ipv4/ip_sockglue.c 72631diff -urNp linux-3.0.8/net/ipv4/ip_sockglue.c linux-3.0.8/net/ipv4/ip_sockglue.c
72047--- linux-3.0.7/net/ipv4/ip_sockglue.c 2011-07-21 22:17:23.000000000 -0400 72632--- linux-3.0.8/net/ipv4/ip_sockglue.c 2011-07-21 22:17:23.000000000 -0400
72048+++ linux-3.0.7/net/ipv4/ip_sockglue.c 2011-10-06 04:17:55.000000000 -0400 72633+++ linux-3.0.8/net/ipv4/ip_sockglue.c 2011-10-06 04:17:55.000000000 -0400
72049@@ -1073,6 +1073,8 @@ static int do_ip_getsockopt(struct sock 72634@@ -1073,6 +1073,8 @@ static int do_ip_getsockopt(struct sock
72050 int val; 72635 int val;
72051 int len; 72636 int len;
@@ -72074,39 +72659,9 @@ diff -urNp linux-3.0.7/net/ipv4/ip_sockglue.c linux-3.0.7/net/ipv4/ip_sockglue.c
72074 msg.msg_controllen = len; 72659 msg.msg_controllen = len;
72075 msg.msg_flags = 0; 72660 msg.msg_flags = 0;
72076 72661
72077diff -urNp linux-3.0.7/net/ipv4/ipconfig.c linux-3.0.7/net/ipv4/ipconfig.c 72662diff -urNp linux-3.0.8/net/ipv4/netfilter/nf_nat_snmp_basic.c linux-3.0.8/net/ipv4/netfilter/nf_nat_snmp_basic.c
72078--- linux-3.0.7/net/ipv4/ipconfig.c 2011-07-21 22:17:23.000000000 -0400 72663--- linux-3.0.8/net/ipv4/netfilter/nf_nat_snmp_basic.c 2011-07-21 22:17:23.000000000 -0400
72079+++ linux-3.0.7/net/ipv4/ipconfig.c 2011-10-06 04:17:55.000000000 -0400 72664+++ linux-3.0.8/net/ipv4/netfilter/nf_nat_snmp_basic.c 2011-08-23 21:47:56.000000000 -0400
72080@@ -313,7 +313,7 @@ static int __init ic_devinet_ioctl(unsig
72081
72082 mm_segment_t oldfs = get_fs();
72083 set_fs(get_ds());
72084- res = devinet_ioctl(&init_net, cmd, (struct ifreq __user *) arg);
72085+ res = devinet_ioctl(&init_net, cmd, (struct ifreq __force_user *) arg);
72086 set_fs(oldfs);
72087 return res;
72088 }
72089@@ -324,7 +324,7 @@ static int __init ic_dev_ioctl(unsigned
72090
72091 mm_segment_t oldfs = get_fs();
72092 set_fs(get_ds());
72093- res = dev_ioctl(&init_net, cmd, (struct ifreq __user *) arg);
72094+ res = dev_ioctl(&init_net, cmd, (struct ifreq __force_user *) arg);
72095 set_fs(oldfs);
72096 return res;
72097 }
72098@@ -335,7 +335,7 @@ static int __init ic_route_ioctl(unsigne
72099
72100 mm_segment_t oldfs = get_fs();
72101 set_fs(get_ds());
72102- res = ip_rt_ioctl(&init_net, cmd, (void __user *) arg);
72103+ res = ip_rt_ioctl(&init_net, cmd, (void __force_user *) arg);
72104 set_fs(oldfs);
72105 return res;
72106 }
72107diff -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
72108--- linux-3.0.7/net/ipv4/netfilter/nf_nat_snmp_basic.c 2011-07-21 22:17:23.000000000 -0400
72109+++ linux-3.0.7/net/ipv4/netfilter/nf_nat_snmp_basic.c 2011-08-23 21:47:56.000000000 -0400
72110@@ -399,7 +399,7 @@ static unsigned char asn1_octets_decode( 72665@@ -399,7 +399,7 @@ static unsigned char asn1_octets_decode(
72111 72666
72112 *len = 0; 72667 *len = 0;
@@ -72116,9 +72671,9 @@ diff -urNp linux-3.0.7/net/ipv4/netfilter/nf_nat_snmp_basic.c linux-3.0.7/net/ip
72116 if (*octets == NULL) { 72671 if (*octets == NULL) {
72117 if (net_ratelimit()) 72672 if (net_ratelimit())
72118 pr_notice("OOM in bsalg (%d)\n", __LINE__); 72673 pr_notice("OOM in bsalg (%d)\n", __LINE__);
72119diff -urNp linux-3.0.7/net/ipv4/ping.c linux-3.0.7/net/ipv4/ping.c 72674diff -urNp linux-3.0.8/net/ipv4/ping.c linux-3.0.8/net/ipv4/ping.c
72120--- linux-3.0.7/net/ipv4/ping.c 2011-07-21 22:17:23.000000000 -0400 72675--- linux-3.0.8/net/ipv4/ping.c 2011-07-21 22:17:23.000000000 -0400
72121+++ linux-3.0.7/net/ipv4/ping.c 2011-08-23 21:47:56.000000000 -0400 72676+++ linux-3.0.8/net/ipv4/ping.c 2011-08-23 21:47:56.000000000 -0400
72122@@ -837,7 +837,7 @@ static void ping_format_sock(struct sock 72677@@ -837,7 +837,7 @@ static void ping_format_sock(struct sock
72123 sk_rmem_alloc_get(sp), 72678 sk_rmem_alloc_get(sp),
72124 0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp), 72679 0, 0L, 0, sock_i_uid(sp), 0, sock_i_ino(sp),
@@ -72128,9 +72683,9 @@ diff -urNp linux-3.0.7/net/ipv4/ping.c linux-3.0.7/net/ipv4/ping.c
72128 } 72683 }
72129 72684
72130 static int ping_seq_show(struct seq_file *seq, void *v) 72685 static int ping_seq_show(struct seq_file *seq, void *v)
72131diff -urNp linux-3.0.7/net/ipv4/raw.c linux-3.0.7/net/ipv4/raw.c 72686diff -urNp linux-3.0.8/net/ipv4/raw.c linux-3.0.8/net/ipv4/raw.c
72132--- linux-3.0.7/net/ipv4/raw.c 2011-07-21 22:17:23.000000000 -0400 72687--- linux-3.0.8/net/ipv4/raw.c 2011-07-21 22:17:23.000000000 -0400
72133+++ linux-3.0.7/net/ipv4/raw.c 2011-08-23 21:48:14.000000000 -0400 72688+++ linux-3.0.8/net/ipv4/raw.c 2011-08-23 21:48:14.000000000 -0400
72134@@ -302,7 +302,7 @@ static int raw_rcv_skb(struct sock * sk, 72689@@ -302,7 +302,7 @@ static int raw_rcv_skb(struct sock * sk,
72135 int raw_rcv(struct sock *sk, struct sk_buff *skb) 72690 int raw_rcv(struct sock *sk, struct sk_buff *skb)
72136 { 72691 {
@@ -72189,9 +72744,9 @@ diff -urNp linux-3.0.7/net/ipv4/raw.c linux-3.0.7/net/ipv4/raw.c
72189 } 72744 }
72190 72745
72191 static int raw_seq_show(struct seq_file *seq, void *v) 72746 static int raw_seq_show(struct seq_file *seq, void *v)
72192diff -urNp linux-3.0.7/net/ipv4/route.c linux-3.0.7/net/ipv4/route.c 72747diff -urNp linux-3.0.8/net/ipv4/route.c linux-3.0.8/net/ipv4/route.c
72193--- linux-3.0.7/net/ipv4/route.c 2011-10-16 21:54:54.000000000 -0400 72748--- linux-3.0.8/net/ipv4/route.c 2011-10-24 08:05:30.000000000 -0400
72194+++ linux-3.0.7/net/ipv4/route.c 2011-10-16 21:55:28.000000000 -0400 72749+++ linux-3.0.8/net/ipv4/route.c 2011-10-16 21:55:28.000000000 -0400
72195@@ -304,7 +304,7 @@ static inline unsigned int rt_hash(__be3 72750@@ -304,7 +304,7 @@ static inline unsigned int rt_hash(__be3
72196 72751
72197 static inline int rt_genid(struct net *net) 72752 static inline int rt_genid(struct net *net)
@@ -72219,9 +72774,9 @@ diff -urNp linux-3.0.7/net/ipv4/route.c linux-3.0.7/net/ipv4/route.c
72219 if (peer->tcp_ts_stamp) { 72774 if (peer->tcp_ts_stamp) {
72220 ts = peer->tcp_ts; 72775 ts = peer->tcp_ts;
72221 tsage = get_seconds() - peer->tcp_ts_stamp; 72776 tsage = get_seconds() - peer->tcp_ts_stamp;
72222diff -urNp linux-3.0.7/net/ipv4/tcp.c linux-3.0.7/net/ipv4/tcp.c 72777diff -urNp linux-3.0.8/net/ipv4/tcp.c linux-3.0.8/net/ipv4/tcp.c
72223--- linux-3.0.7/net/ipv4/tcp.c 2011-07-21 22:17:23.000000000 -0400 72778--- linux-3.0.8/net/ipv4/tcp.c 2011-07-21 22:17:23.000000000 -0400
72224+++ linux-3.0.7/net/ipv4/tcp.c 2011-08-23 21:48:14.000000000 -0400 72779+++ linux-3.0.8/net/ipv4/tcp.c 2011-08-23 21:48:14.000000000 -0400
72225@@ -2122,6 +2122,8 @@ static int do_tcp_setsockopt(struct sock 72780@@ -2122,6 +2122,8 @@ static int do_tcp_setsockopt(struct sock
72226 int val; 72781 int val;
72227 int err = 0; 72782 int err = 0;
@@ -72240,9 +72795,9 @@ diff -urNp linux-3.0.7/net/ipv4/tcp.c linux-3.0.7/net/ipv4/tcp.c
72240 if (get_user(len, optlen)) 72795 if (get_user(len, optlen))
72241 return -EFAULT; 72796 return -EFAULT;
72242 72797
72243diff -urNp linux-3.0.7/net/ipv4/tcp_ipv4.c linux-3.0.7/net/ipv4/tcp_ipv4.c 72798diff -urNp linux-3.0.8/net/ipv4/tcp_ipv4.c linux-3.0.8/net/ipv4/tcp_ipv4.c
72244--- linux-3.0.7/net/ipv4/tcp_ipv4.c 2011-09-02 18:11:21.000000000 -0400 72799--- linux-3.0.8/net/ipv4/tcp_ipv4.c 2011-10-24 08:05:21.000000000 -0400
72245+++ linux-3.0.7/net/ipv4/tcp_ipv4.c 2011-08-23 21:48:14.000000000 -0400 72800+++ linux-3.0.8/net/ipv4/tcp_ipv4.c 2011-08-23 21:48:14.000000000 -0400
72246@@ -87,6 +87,9 @@ int sysctl_tcp_tw_reuse __read_mostly; 72801@@ -87,6 +87,9 @@ int sysctl_tcp_tw_reuse __read_mostly;
72247 int sysctl_tcp_low_latency __read_mostly; 72802 int sysctl_tcp_low_latency __read_mostly;
72248 EXPORT_SYMBOL(sysctl_tcp_low_latency); 72803 EXPORT_SYMBOL(sysctl_tcp_low_latency);
@@ -72338,9 +72893,9 @@ diff -urNp linux-3.0.7/net/ipv4/tcp_ipv4.c linux-3.0.7/net/ipv4/tcp_ipv4.c
72338 } 72893 }
72339 72894
72340 #define TMPSZ 150 72895 #define TMPSZ 150
72341diff -urNp linux-3.0.7/net/ipv4/tcp_minisocks.c linux-3.0.7/net/ipv4/tcp_minisocks.c 72896diff -urNp linux-3.0.8/net/ipv4/tcp_minisocks.c linux-3.0.8/net/ipv4/tcp_minisocks.c
72342--- linux-3.0.7/net/ipv4/tcp_minisocks.c 2011-07-21 22:17:23.000000000 -0400 72897--- linux-3.0.8/net/ipv4/tcp_minisocks.c 2011-07-21 22:17:23.000000000 -0400
72343+++ linux-3.0.7/net/ipv4/tcp_minisocks.c 2011-08-23 21:48:14.000000000 -0400 72898+++ linux-3.0.8/net/ipv4/tcp_minisocks.c 2011-08-23 21:48:14.000000000 -0400
72344@@ -27,6 +27,10 @@ 72899@@ -27,6 +27,10 @@
72345 #include <net/inet_common.h> 72900 #include <net/inet_common.h>
72346 #include <net/xfrm.h> 72901 #include <net/xfrm.h>
@@ -72363,9 +72918,9 @@ diff -urNp linux-3.0.7/net/ipv4/tcp_minisocks.c linux-3.0.7/net/ipv4/tcp_minisoc
72363 if (!(flg & TCP_FLAG_RST)) 72918 if (!(flg & TCP_FLAG_RST))
72364 req->rsk_ops->send_reset(sk, skb); 72919 req->rsk_ops->send_reset(sk, skb);
72365 72920
72366diff -urNp linux-3.0.7/net/ipv4/tcp_output.c linux-3.0.7/net/ipv4/tcp_output.c 72921diff -urNp linux-3.0.8/net/ipv4/tcp_output.c linux-3.0.8/net/ipv4/tcp_output.c
72367--- linux-3.0.7/net/ipv4/tcp_output.c 2011-07-21 22:17:23.000000000 -0400 72922--- linux-3.0.8/net/ipv4/tcp_output.c 2011-07-21 22:17:23.000000000 -0400
72368+++ linux-3.0.7/net/ipv4/tcp_output.c 2011-08-23 21:48:14.000000000 -0400 72923+++ linux-3.0.8/net/ipv4/tcp_output.c 2011-08-23 21:48:14.000000000 -0400
72369@@ -2421,6 +2421,8 @@ struct sk_buff *tcp_make_synack(struct s 72924@@ -2421,6 +2421,8 @@ struct sk_buff *tcp_make_synack(struct s
72370 int mss; 72925 int mss;
72371 int s_data_desired = 0; 72926 int s_data_desired = 0;
@@ -72375,9 +72930,9 @@ diff -urNp linux-3.0.7/net/ipv4/tcp_output.c linux-3.0.7/net/ipv4/tcp_output.c
72375 if (cvp != NULL && cvp->s_data_constant && cvp->s_data_desired) 72930 if (cvp != NULL && cvp->s_data_constant && cvp->s_data_desired)
72376 s_data_desired = cvp->s_data_desired; 72931 s_data_desired = cvp->s_data_desired;
72377 skb = sock_wmalloc(sk, MAX_TCP_HEADER + 15 + s_data_desired, 1, GFP_ATOMIC); 72932 skb = sock_wmalloc(sk, MAX_TCP_HEADER + 15 + s_data_desired, 1, GFP_ATOMIC);
72378diff -urNp linux-3.0.7/net/ipv4/tcp_probe.c linux-3.0.7/net/ipv4/tcp_probe.c 72933diff -urNp linux-3.0.8/net/ipv4/tcp_probe.c linux-3.0.8/net/ipv4/tcp_probe.c
72379--- linux-3.0.7/net/ipv4/tcp_probe.c 2011-07-21 22:17:23.000000000 -0400 72934--- linux-3.0.8/net/ipv4/tcp_probe.c 2011-07-21 22:17:23.000000000 -0400
72380+++ linux-3.0.7/net/ipv4/tcp_probe.c 2011-08-23 21:47:56.000000000 -0400 72935+++ linux-3.0.8/net/ipv4/tcp_probe.c 2011-08-23 21:47:56.000000000 -0400
72381@@ -202,7 +202,7 @@ static ssize_t tcpprobe_read(struct file 72936@@ -202,7 +202,7 @@ static ssize_t tcpprobe_read(struct file
72382 if (cnt + width >= len) 72937 if (cnt + width >= len)
72383 break; 72938 break;
@@ -72387,9 +72942,9 @@ diff -urNp linux-3.0.7/net/ipv4/tcp_probe.c linux-3.0.7/net/ipv4/tcp_probe.c
72387 return -EFAULT; 72942 return -EFAULT;
72388 cnt += width; 72943 cnt += width;
72389 } 72944 }
72390diff -urNp linux-3.0.7/net/ipv4/tcp_timer.c linux-3.0.7/net/ipv4/tcp_timer.c 72945diff -urNp linux-3.0.8/net/ipv4/tcp_timer.c linux-3.0.8/net/ipv4/tcp_timer.c
72391--- linux-3.0.7/net/ipv4/tcp_timer.c 2011-07-21 22:17:23.000000000 -0400 72946--- linux-3.0.8/net/ipv4/tcp_timer.c 2011-07-21 22:17:23.000000000 -0400
72392+++ linux-3.0.7/net/ipv4/tcp_timer.c 2011-08-23 21:48:14.000000000 -0400 72947+++ linux-3.0.8/net/ipv4/tcp_timer.c 2011-08-23 21:48:14.000000000 -0400
72393@@ -22,6 +22,10 @@ 72948@@ -22,6 +22,10 @@
72394 #include <linux/gfp.h> 72949 #include <linux/gfp.h>
72395 #include <net/tcp.h> 72950 #include <net/tcp.h>
@@ -72415,9 +72970,9 @@ diff -urNp linux-3.0.7/net/ipv4/tcp_timer.c linux-3.0.7/net/ipv4/tcp_timer.c
72415 if (retransmits_timed_out(sk, retry_until, 72970 if (retransmits_timed_out(sk, retry_until,
72416 syn_set ? 0 : icsk->icsk_user_timeout, syn_set)) { 72971 syn_set ? 0 : icsk->icsk_user_timeout, syn_set)) {
72417 /* Has it gone just too far? */ 72972 /* Has it gone just too far? */
72418diff -urNp linux-3.0.7/net/ipv4/udp.c linux-3.0.7/net/ipv4/udp.c 72973diff -urNp linux-3.0.8/net/ipv4/udp.c linux-3.0.8/net/ipv4/udp.c
72419--- linux-3.0.7/net/ipv4/udp.c 2011-07-21 22:17:23.000000000 -0400 72974--- linux-3.0.8/net/ipv4/udp.c 2011-07-21 22:17:23.000000000 -0400
72420+++ linux-3.0.7/net/ipv4/udp.c 2011-08-23 21:48:14.000000000 -0400 72975+++ linux-3.0.8/net/ipv4/udp.c 2011-08-23 21:48:14.000000000 -0400
72421@@ -86,6 +86,7 @@ 72976@@ -86,6 +86,7 @@
72422 #include <linux/types.h> 72977 #include <linux/types.h>
72423 #include <linux/fcntl.h> 72978 #include <linux/fcntl.h>
@@ -72530,9 +73085,9 @@ diff -urNp linux-3.0.7/net/ipv4/udp.c linux-3.0.7/net/ipv4/udp.c
72530 } 73085 }
72531 73086
72532 int udp4_seq_show(struct seq_file *seq, void *v) 73087 int udp4_seq_show(struct seq_file *seq, void *v)
72533diff -urNp linux-3.0.7/net/ipv6/addrconf.c linux-3.0.7/net/ipv6/addrconf.c 73088diff -urNp linux-3.0.8/net/ipv6/addrconf.c linux-3.0.8/net/ipv6/addrconf.c
72534--- linux-3.0.7/net/ipv6/addrconf.c 2011-07-21 22:17:23.000000000 -0400 73089--- linux-3.0.8/net/ipv6/addrconf.c 2011-07-21 22:17:23.000000000 -0400
72535+++ linux-3.0.7/net/ipv6/addrconf.c 2011-10-06 04:17:55.000000000 -0400 73090+++ linux-3.0.8/net/ipv6/addrconf.c 2011-10-06 04:17:55.000000000 -0400
72536@@ -2072,7 +2072,7 @@ int addrconf_set_dstaddr(struct net *net 73091@@ -2072,7 +2072,7 @@ int addrconf_set_dstaddr(struct net *net
72537 p.iph.ihl = 5; 73092 p.iph.ihl = 5;
72538 p.iph.protocol = IPPROTO_IPV6; 73093 p.iph.protocol = IPPROTO_IPV6;
@@ -72542,9 +73097,9 @@ diff -urNp linux-3.0.7/net/ipv6/addrconf.c linux-3.0.7/net/ipv6/addrconf.c
72542 73097
72543 if (ops->ndo_do_ioctl) { 73098 if (ops->ndo_do_ioctl) {
72544 mm_segment_t oldfs = get_fs(); 73099 mm_segment_t oldfs = get_fs();
72545diff -urNp linux-3.0.7/net/ipv6/inet6_connection_sock.c linux-3.0.7/net/ipv6/inet6_connection_sock.c 73100diff -urNp linux-3.0.8/net/ipv6/inet6_connection_sock.c linux-3.0.8/net/ipv6/inet6_connection_sock.c
72546--- linux-3.0.7/net/ipv6/inet6_connection_sock.c 2011-07-21 22:17:23.000000000 -0400 73101--- linux-3.0.8/net/ipv6/inet6_connection_sock.c 2011-07-21 22:17:23.000000000 -0400
72547+++ linux-3.0.7/net/ipv6/inet6_connection_sock.c 2011-08-23 21:47:56.000000000 -0400 73102+++ linux-3.0.8/net/ipv6/inet6_connection_sock.c 2011-08-23 21:47:56.000000000 -0400
72548@@ -178,7 +178,7 @@ void __inet6_csk_dst_store(struct sock * 73103@@ -178,7 +178,7 @@ void __inet6_csk_dst_store(struct sock *
72549 #ifdef CONFIG_XFRM 73104 #ifdef CONFIG_XFRM
72550 { 73105 {
@@ -72563,9 +73118,9 @@ diff -urNp linux-3.0.7/net/ipv6/inet6_connection_sock.c linux-3.0.7/net/ipv6/ine
72563 __sk_dst_reset(sk); 73118 __sk_dst_reset(sk);
72564 dst = NULL; 73119 dst = NULL;
72565 } 73120 }
72566diff -urNp linux-3.0.7/net/ipv6/ipv6_sockglue.c linux-3.0.7/net/ipv6/ipv6_sockglue.c 73121diff -urNp linux-3.0.8/net/ipv6/ipv6_sockglue.c linux-3.0.8/net/ipv6/ipv6_sockglue.c
72567--- linux-3.0.7/net/ipv6/ipv6_sockglue.c 2011-10-16 21:54:54.000000000 -0400 73122--- linux-3.0.8/net/ipv6/ipv6_sockglue.c 2011-10-24 08:05:30.000000000 -0400
72568+++ linux-3.0.7/net/ipv6/ipv6_sockglue.c 2011-10-16 21:55:28.000000000 -0400 73123+++ linux-3.0.8/net/ipv6/ipv6_sockglue.c 2011-10-16 21:55:28.000000000 -0400
72569@@ -129,6 +129,8 @@ static int do_ipv6_setsockopt(struct soc 73124@@ -129,6 +129,8 @@ static int do_ipv6_setsockopt(struct soc
72570 int val, valbool; 73125 int val, valbool;
72571 int retv = -ENOPROTOOPT; 73126 int retv = -ENOPROTOOPT;
@@ -72593,9 +73148,9 @@ diff -urNp linux-3.0.7/net/ipv6/ipv6_sockglue.c linux-3.0.7/net/ipv6/ipv6_sockgl
72593 msg.msg_controllen = len; 73148 msg.msg_controllen = len;
72594 msg.msg_flags = flags; 73149 msg.msg_flags = flags;
72595 73150
72596diff -urNp linux-3.0.7/net/ipv6/raw.c linux-3.0.7/net/ipv6/raw.c 73151diff -urNp linux-3.0.8/net/ipv6/raw.c linux-3.0.8/net/ipv6/raw.c
72597--- linux-3.0.7/net/ipv6/raw.c 2011-07-21 22:17:23.000000000 -0400 73152--- linux-3.0.8/net/ipv6/raw.c 2011-07-21 22:17:23.000000000 -0400
72598+++ linux-3.0.7/net/ipv6/raw.c 2011-08-23 21:48:14.000000000 -0400 73153+++ linux-3.0.8/net/ipv6/raw.c 2011-08-23 21:48:14.000000000 -0400
72599@@ -376,7 +376,7 @@ static inline int rawv6_rcv_skb(struct s 73154@@ -376,7 +376,7 @@ static inline int rawv6_rcv_skb(struct s
72600 { 73155 {
72601 if ((raw6_sk(sk)->checksum || rcu_dereference_raw(sk->sk_filter)) && 73156 if ((raw6_sk(sk)->checksum || rcu_dereference_raw(sk->sk_filter)) &&
@@ -72691,9 +73246,9 @@ diff -urNp linux-3.0.7/net/ipv6/raw.c linux-3.0.7/net/ipv6/raw.c
72691 } 73246 }
72692 73247
72693 static int raw6_seq_show(struct seq_file *seq, void *v) 73248 static int raw6_seq_show(struct seq_file *seq, void *v)
72694diff -urNp linux-3.0.7/net/ipv6/tcp_ipv6.c linux-3.0.7/net/ipv6/tcp_ipv6.c 73249diff -urNp linux-3.0.8/net/ipv6/tcp_ipv6.c linux-3.0.8/net/ipv6/tcp_ipv6.c
72695--- linux-3.0.7/net/ipv6/tcp_ipv6.c 2011-09-02 18:11:21.000000000 -0400 73250--- linux-3.0.8/net/ipv6/tcp_ipv6.c 2011-10-24 08:05:21.000000000 -0400
72696+++ linux-3.0.7/net/ipv6/tcp_ipv6.c 2011-08-23 21:48:14.000000000 -0400 73251+++ linux-3.0.8/net/ipv6/tcp_ipv6.c 2011-08-23 21:48:14.000000000 -0400
72697@@ -93,6 +93,10 @@ static struct tcp_md5sig_key *tcp_v6_md5 73252@@ -93,6 +93,10 @@ static struct tcp_md5sig_key *tcp_v6_md5
72698 } 73253 }
72699 #endif 73254 #endif
@@ -72793,9 +73348,9 @@ diff -urNp linux-3.0.7/net/ipv6/tcp_ipv6.c linux-3.0.7/net/ipv6/tcp_ipv6.c
72793 } 73348 }
72794 73349
72795 static int tcp6_seq_show(struct seq_file *seq, void *v) 73350 static int tcp6_seq_show(struct seq_file *seq, void *v)
72796diff -urNp linux-3.0.7/net/ipv6/udp.c linux-3.0.7/net/ipv6/udp.c 73351diff -urNp linux-3.0.8/net/ipv6/udp.c linux-3.0.8/net/ipv6/udp.c
72797--- linux-3.0.7/net/ipv6/udp.c 2011-10-17 23:17:09.000000000 -0400 73352--- linux-3.0.8/net/ipv6/udp.c 2011-10-24 08:05:32.000000000 -0400
72798+++ linux-3.0.7/net/ipv6/udp.c 2011-10-17 23:17:19.000000000 -0400 73353+++ linux-3.0.8/net/ipv6/udp.c 2011-10-17 23:17:19.000000000 -0400
72799@@ -50,6 +50,10 @@ 73354@@ -50,6 +50,10 @@
72800 #include <linux/seq_file.h> 73355 #include <linux/seq_file.h>
72801 #include "udp_impl.h" 73356 #include "udp_impl.h"
@@ -72860,9 +73415,9 @@ diff -urNp linux-3.0.7/net/ipv6/udp.c linux-3.0.7/net/ipv6/udp.c
72860 } 73415 }
72861 73416
72862 int udp6_seq_show(struct seq_file *seq, void *v) 73417 int udp6_seq_show(struct seq_file *seq, void *v)
72863diff -urNp linux-3.0.7/net/irda/ircomm/ircomm_tty.c linux-3.0.7/net/irda/ircomm/ircomm_tty.c 73418diff -urNp linux-3.0.8/net/irda/ircomm/ircomm_tty.c linux-3.0.8/net/irda/ircomm/ircomm_tty.c
72864--- linux-3.0.7/net/irda/ircomm/ircomm_tty.c 2011-07-21 22:17:23.000000000 -0400 73419--- linux-3.0.8/net/irda/ircomm/ircomm_tty.c 2011-07-21 22:17:23.000000000 -0400
72865+++ linux-3.0.7/net/irda/ircomm/ircomm_tty.c 2011-08-23 21:47:56.000000000 -0400 73420+++ linux-3.0.8/net/irda/ircomm/ircomm_tty.c 2011-08-23 21:47:56.000000000 -0400
72866@@ -282,16 +282,16 @@ static int ircomm_tty_block_til_ready(st 73421@@ -282,16 +282,16 @@ static int ircomm_tty_block_til_ready(st
72867 add_wait_queue(&self->open_wait, &wait); 73422 add_wait_queue(&self->open_wait, &wait);
72868 73423
@@ -72985,9 +73540,9 @@ diff -urNp linux-3.0.7/net/irda/ircomm/ircomm_tty.c linux-3.0.7/net/irda/ircomm/
72985 seq_printf(m, "Max data size: %d\n", self->max_data_size); 73540 seq_printf(m, "Max data size: %d\n", self->max_data_size);
72986 seq_printf(m, "Max header size: %d\n", self->max_header_size); 73541 seq_printf(m, "Max header size: %d\n", self->max_header_size);
72987 73542
72988diff -urNp linux-3.0.7/net/iucv/af_iucv.c linux-3.0.7/net/iucv/af_iucv.c 73543diff -urNp linux-3.0.8/net/iucv/af_iucv.c linux-3.0.8/net/iucv/af_iucv.c
72989--- linux-3.0.7/net/iucv/af_iucv.c 2011-07-21 22:17:23.000000000 -0400 73544--- linux-3.0.8/net/iucv/af_iucv.c 2011-07-21 22:17:23.000000000 -0400
72990+++ linux-3.0.7/net/iucv/af_iucv.c 2011-08-23 21:47:56.000000000 -0400 73545+++ linux-3.0.8/net/iucv/af_iucv.c 2011-08-23 21:47:56.000000000 -0400
72991@@ -648,10 +648,10 @@ static int iucv_sock_autobind(struct soc 73546@@ -648,10 +648,10 @@ static int iucv_sock_autobind(struct soc
72992 73547
72993 write_lock_bh(&iucv_sk_list.lock); 73548 write_lock_bh(&iucv_sk_list.lock);
@@ -73001,9 +73556,9 @@ diff -urNp linux-3.0.7/net/iucv/af_iucv.c linux-3.0.7/net/iucv/af_iucv.c
73001 } 73556 }
73002 73557
73003 write_unlock_bh(&iucv_sk_list.lock); 73558 write_unlock_bh(&iucv_sk_list.lock);
73004diff -urNp linux-3.0.7/net/key/af_key.c linux-3.0.7/net/key/af_key.c 73559diff -urNp linux-3.0.8/net/key/af_key.c linux-3.0.8/net/key/af_key.c
73005--- linux-3.0.7/net/key/af_key.c 2011-07-21 22:17:23.000000000 -0400 73560--- linux-3.0.8/net/key/af_key.c 2011-07-21 22:17:23.000000000 -0400
73006+++ linux-3.0.7/net/key/af_key.c 2011-08-23 21:48:14.000000000 -0400 73561+++ linux-3.0.8/net/key/af_key.c 2011-08-23 21:48:14.000000000 -0400
73007@@ -2481,6 +2481,8 @@ static int pfkey_migrate(struct sock *sk 73562@@ -2481,6 +2481,8 @@ static int pfkey_migrate(struct sock *sk
73008 struct xfrm_migrate m[XFRM_MAX_DEPTH]; 73563 struct xfrm_migrate m[XFRM_MAX_DEPTH];
73009 struct xfrm_kmaddress k; 73564 struct xfrm_kmaddress k;
@@ -73026,9 +73581,9 @@ diff -urNp linux-3.0.7/net/key/af_key.c linux-3.0.7/net/key/af_key.c
73026 } while (!res); 73581 } while (!res);
73027 return res; 73582 return res;
73028 } 73583 }
73029diff -urNp linux-3.0.7/net/lapb/lapb_iface.c linux-3.0.7/net/lapb/lapb_iface.c 73584diff -urNp linux-3.0.8/net/lapb/lapb_iface.c linux-3.0.8/net/lapb/lapb_iface.c
73030--- linux-3.0.7/net/lapb/lapb_iface.c 2011-07-21 22:17:23.000000000 -0400 73585--- linux-3.0.8/net/lapb/lapb_iface.c 2011-07-21 22:17:23.000000000 -0400
73031+++ linux-3.0.7/net/lapb/lapb_iface.c 2011-08-23 21:47:56.000000000 -0400 73586+++ linux-3.0.8/net/lapb/lapb_iface.c 2011-08-23 21:47:56.000000000 -0400
73032@@ -158,7 +158,7 @@ int lapb_register(struct net_device *dev 73587@@ -158,7 +158,7 @@ int lapb_register(struct net_device *dev
73033 goto out; 73588 goto out;
73034 73589
@@ -73092,9 +73647,9 @@ diff -urNp linux-3.0.7/net/lapb/lapb_iface.c linux-3.0.7/net/lapb/lapb_iface.c
73092 used = 1; 73647 used = 1;
73093 } 73648 }
73094 73649
73095diff -urNp linux-3.0.7/net/mac80211/debugfs_sta.c linux-3.0.7/net/mac80211/debugfs_sta.c 73650diff -urNp linux-3.0.8/net/mac80211/debugfs_sta.c linux-3.0.8/net/mac80211/debugfs_sta.c
73096--- linux-3.0.7/net/mac80211/debugfs_sta.c 2011-07-21 22:17:23.000000000 -0400 73651--- linux-3.0.8/net/mac80211/debugfs_sta.c 2011-07-21 22:17:23.000000000 -0400
73097+++ linux-3.0.7/net/mac80211/debugfs_sta.c 2011-08-23 21:48:14.000000000 -0400 73652+++ linux-3.0.8/net/mac80211/debugfs_sta.c 2011-08-23 21:48:14.000000000 -0400
73098@@ -140,6 +140,8 @@ static ssize_t sta_agg_status_read(struc 73653@@ -140,6 +140,8 @@ static ssize_t sta_agg_status_read(struc
73099 struct tid_ampdu_rx *tid_rx; 73654 struct tid_ampdu_rx *tid_rx;
73100 struct tid_ampdu_tx *tid_tx; 73655 struct tid_ampdu_tx *tid_tx;
@@ -73113,9 +73668,9 @@ diff -urNp linux-3.0.7/net/mac80211/debugfs_sta.c linux-3.0.7/net/mac80211/debug
73113 p += scnprintf(p, sizeof(buf) + buf - p, "ht %ssupported\n", 73668 p += scnprintf(p, sizeof(buf) + buf - p, "ht %ssupported\n",
73114 htc->ht_supported ? "" : "not "); 73669 htc->ht_supported ? "" : "not ");
73115 if (htc->ht_supported) { 73670 if (htc->ht_supported) {
73116diff -urNp linux-3.0.7/net/mac80211/ieee80211_i.h linux-3.0.7/net/mac80211/ieee80211_i.h 73671diff -urNp linux-3.0.8/net/mac80211/ieee80211_i.h linux-3.0.8/net/mac80211/ieee80211_i.h
73117--- linux-3.0.7/net/mac80211/ieee80211_i.h 2011-07-21 22:17:23.000000000 -0400 73672--- linux-3.0.8/net/mac80211/ieee80211_i.h 2011-07-21 22:17:23.000000000 -0400
73118+++ linux-3.0.7/net/mac80211/ieee80211_i.h 2011-08-23 21:47:56.000000000 -0400 73673+++ linux-3.0.8/net/mac80211/ieee80211_i.h 2011-08-23 21:47:56.000000000 -0400
73119@@ -27,6 +27,7 @@ 73674@@ -27,6 +27,7 @@
73120 #include <net/ieee80211_radiotap.h> 73675 #include <net/ieee80211_radiotap.h>
73121 #include <net/cfg80211.h> 73676 #include <net/cfg80211.h>
@@ -73133,9 +73688,9 @@ diff -urNp linux-3.0.7/net/mac80211/ieee80211_i.h linux-3.0.7/net/mac80211/ieee8
73133 int monitors, cooked_mntrs; 73688 int monitors, cooked_mntrs;
73134 /* number of interfaces with corresponding FIF_ flags */ 73689 /* number of interfaces with corresponding FIF_ flags */
73135 int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll, 73690 int fif_fcsfail, fif_plcpfail, fif_control, fif_other_bss, fif_pspoll,
73136diff -urNp linux-3.0.7/net/mac80211/iface.c linux-3.0.7/net/mac80211/iface.c 73691diff -urNp linux-3.0.8/net/mac80211/iface.c linux-3.0.8/net/mac80211/iface.c
73137--- linux-3.0.7/net/mac80211/iface.c 2011-09-02 18:11:21.000000000 -0400 73692--- linux-3.0.8/net/mac80211/iface.c 2011-10-24 08:05:21.000000000 -0400
73138+++ linux-3.0.7/net/mac80211/iface.c 2011-08-23 21:47:56.000000000 -0400 73693+++ linux-3.0.8/net/mac80211/iface.c 2011-08-23 21:47:56.000000000 -0400
73139@@ -211,7 +211,7 @@ static int ieee80211_do_open(struct net_ 73694@@ -211,7 +211,7 @@ static int ieee80211_do_open(struct net_
73140 break; 73695 break;
73141 } 73696 }
@@ -73190,9 +73745,9 @@ diff -urNp linux-3.0.7/net/mac80211/iface.c linux-3.0.7/net/mac80211/iface.c
73190 if (local->ops->napi_poll) 73745 if (local->ops->napi_poll)
73191 napi_disable(&local->napi); 73746 napi_disable(&local->napi);
73192 ieee80211_clear_tx_pending(local); 73747 ieee80211_clear_tx_pending(local);
73193diff -urNp linux-3.0.7/net/mac80211/main.c linux-3.0.7/net/mac80211/main.c 73748diff -urNp linux-3.0.8/net/mac80211/main.c linux-3.0.8/net/mac80211/main.c
73194--- linux-3.0.7/net/mac80211/main.c 2011-07-21 22:17:23.000000000 -0400 73749--- linux-3.0.8/net/mac80211/main.c 2011-07-21 22:17:23.000000000 -0400
73195+++ linux-3.0.7/net/mac80211/main.c 2011-08-23 21:47:56.000000000 -0400 73750+++ linux-3.0.8/net/mac80211/main.c 2011-08-23 21:47:56.000000000 -0400
73196@@ -209,7 +209,7 @@ int ieee80211_hw_config(struct ieee80211 73751@@ -209,7 +209,7 @@ int ieee80211_hw_config(struct ieee80211
73197 local->hw.conf.power_level = power; 73752 local->hw.conf.power_level = power;
73198 } 73753 }
@@ -73202,9 +73757,9 @@ diff -urNp linux-3.0.7/net/mac80211/main.c linux-3.0.7/net/mac80211/main.c
73202 ret = drv_config(local, changed); 73757 ret = drv_config(local, changed);
73203 /* 73758 /*
73204 * Goal: 73759 * Goal:
73205diff -urNp linux-3.0.7/net/mac80211/mlme.c linux-3.0.7/net/mac80211/mlme.c 73760diff -urNp linux-3.0.8/net/mac80211/mlme.c linux-3.0.8/net/mac80211/mlme.c
73206--- linux-3.0.7/net/mac80211/mlme.c 2011-09-02 18:11:21.000000000 -0400 73761--- linux-3.0.8/net/mac80211/mlme.c 2011-10-24 08:05:21.000000000 -0400
73207+++ linux-3.0.7/net/mac80211/mlme.c 2011-08-23 21:48:14.000000000 -0400 73762+++ linux-3.0.8/net/mac80211/mlme.c 2011-08-23 21:48:14.000000000 -0400
73208@@ -1444,6 +1444,8 @@ static bool ieee80211_assoc_success(stru 73763@@ -1444,6 +1444,8 @@ static bool ieee80211_assoc_success(stru
73209 bool have_higher_than_11mbit = false; 73764 bool have_higher_than_11mbit = false;
73210 u16 ap_ht_cap_flags; 73765 u16 ap_ht_cap_flags;
@@ -73214,9 +73769,9 @@ diff -urNp linux-3.0.7/net/mac80211/mlme.c linux-3.0.7/net/mac80211/mlme.c
73214 /* AssocResp and ReassocResp have identical structure */ 73769 /* AssocResp and ReassocResp have identical structure */
73215 73770
73216 aid = le16_to_cpu(mgmt->u.assoc_resp.aid); 73771 aid = le16_to_cpu(mgmt->u.assoc_resp.aid);
73217diff -urNp linux-3.0.7/net/mac80211/pm.c linux-3.0.7/net/mac80211/pm.c 73772diff -urNp linux-3.0.8/net/mac80211/pm.c linux-3.0.8/net/mac80211/pm.c
73218--- linux-3.0.7/net/mac80211/pm.c 2011-07-21 22:17:23.000000000 -0400 73773--- linux-3.0.8/net/mac80211/pm.c 2011-07-21 22:17:23.000000000 -0400
73219+++ linux-3.0.7/net/mac80211/pm.c 2011-08-23 21:47:56.000000000 -0400 73774+++ linux-3.0.8/net/mac80211/pm.c 2011-08-23 21:47:56.000000000 -0400
73220@@ -47,7 +47,7 @@ int __ieee80211_suspend(struct ieee80211 73775@@ -47,7 +47,7 @@ int __ieee80211_suspend(struct ieee80211
73221 cancel_work_sync(&local->dynamic_ps_enable_work); 73776 cancel_work_sync(&local->dynamic_ps_enable_work);
73222 del_timer_sync(&local->dynamic_ps_timer); 73777 del_timer_sync(&local->dynamic_ps_timer);
@@ -73235,9 +73790,9 @@ diff -urNp linux-3.0.7/net/mac80211/pm.c linux-3.0.7/net/mac80211/pm.c
73235 ieee80211_stop_device(local); 73790 ieee80211_stop_device(local);
73236 73791
73237 suspend: 73792 suspend:
73238diff -urNp linux-3.0.7/net/mac80211/rate.c linux-3.0.7/net/mac80211/rate.c 73793diff -urNp linux-3.0.8/net/mac80211/rate.c linux-3.0.8/net/mac80211/rate.c
73239--- linux-3.0.7/net/mac80211/rate.c 2011-07-21 22:17:23.000000000 -0400 73794--- linux-3.0.8/net/mac80211/rate.c 2011-07-21 22:17:23.000000000 -0400
73240+++ linux-3.0.7/net/mac80211/rate.c 2011-08-23 21:47:56.000000000 -0400 73795+++ linux-3.0.8/net/mac80211/rate.c 2011-08-23 21:47:56.000000000 -0400
73241@@ -371,7 +371,7 @@ int ieee80211_init_rate_ctrl_alg(struct 73796@@ -371,7 +371,7 @@ int ieee80211_init_rate_ctrl_alg(struct
73242 73797
73243 ASSERT_RTNL(); 73798 ASSERT_RTNL();
@@ -73247,9 +73802,9 @@ diff -urNp linux-3.0.7/net/mac80211/rate.c linux-3.0.7/net/mac80211/rate.c
73247 return -EBUSY; 73802 return -EBUSY;
73248 73803
73249 if (local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) { 73804 if (local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) {
73250diff -urNp linux-3.0.7/net/mac80211/rc80211_pid_debugfs.c linux-3.0.7/net/mac80211/rc80211_pid_debugfs.c 73805diff -urNp linux-3.0.8/net/mac80211/rc80211_pid_debugfs.c linux-3.0.8/net/mac80211/rc80211_pid_debugfs.c
73251--- linux-3.0.7/net/mac80211/rc80211_pid_debugfs.c 2011-07-21 22:17:23.000000000 -0400 73806--- linux-3.0.8/net/mac80211/rc80211_pid_debugfs.c 2011-07-21 22:17:23.000000000 -0400
73252+++ linux-3.0.7/net/mac80211/rc80211_pid_debugfs.c 2011-08-23 21:47:56.000000000 -0400 73807+++ linux-3.0.8/net/mac80211/rc80211_pid_debugfs.c 2011-08-23 21:47:56.000000000 -0400
73253@@ -192,7 +192,7 @@ static ssize_t rate_control_pid_events_r 73808@@ -192,7 +192,7 @@ static ssize_t rate_control_pid_events_r
73254 73809
73255 spin_unlock_irqrestore(&events->lock, status); 73810 spin_unlock_irqrestore(&events->lock, status);
@@ -73259,9 +73814,9 @@ diff -urNp linux-3.0.7/net/mac80211/rc80211_pid_debugfs.c linux-3.0.7/net/mac802
73259 return -EFAULT; 73814 return -EFAULT;
73260 73815
73261 return p; 73816 return p;
73262diff -urNp linux-3.0.7/net/mac80211/util.c linux-3.0.7/net/mac80211/util.c 73817diff -urNp linux-3.0.8/net/mac80211/util.c linux-3.0.8/net/mac80211/util.c
73263--- linux-3.0.7/net/mac80211/util.c 2011-07-21 22:17:23.000000000 -0400 73818--- linux-3.0.8/net/mac80211/util.c 2011-07-21 22:17:23.000000000 -0400
73264+++ linux-3.0.7/net/mac80211/util.c 2011-08-23 21:47:56.000000000 -0400 73819+++ linux-3.0.8/net/mac80211/util.c 2011-08-23 21:47:56.000000000 -0400
73265@@ -1147,7 +1147,7 @@ int ieee80211_reconfig(struct ieee80211_ 73820@@ -1147,7 +1147,7 @@ int ieee80211_reconfig(struct ieee80211_
73266 #endif 73821 #endif
73267 73822
@@ -73271,40 +73826,9 @@ diff -urNp linux-3.0.7/net/mac80211/util.c linux-3.0.7/net/mac80211/util.c
73271 /* 73826 /*
73272 * Upon resume hardware can sometimes be goofy due to 73827 * Upon resume hardware can sometimes be goofy due to
73273 * various platform / driver / bus issues, so restarting 73828 * various platform / driver / bus issues, so restarting
73274diff -urNp linux-3.0.7/net/netfilter/Kconfig linux-3.0.7/net/netfilter/Kconfig 73829diff -urNp linux-3.0.8/net/netfilter/ipvs/ip_vs_conn.c linux-3.0.8/net/netfilter/ipvs/ip_vs_conn.c
73275--- linux-3.0.7/net/netfilter/Kconfig 2011-07-21 22:17:23.000000000 -0400 73830--- linux-3.0.8/net/netfilter/ipvs/ip_vs_conn.c 2011-07-21 22:17:23.000000000 -0400
73276+++ linux-3.0.7/net/netfilter/Kconfig 2011-08-23 21:48:14.000000000 -0400 73831+++ linux-3.0.8/net/netfilter/ipvs/ip_vs_conn.c 2011-08-23 21:47:56.000000000 -0400
73277@@ -781,6 +781,16 @@ config NETFILTER_XT_MATCH_ESP
73278
73279 To compile it as a module, choose M here. If unsure, say N.
73280
73281+config NETFILTER_XT_MATCH_GRADM
73282+ tristate '"gradm" match support'
73283+ depends on NETFILTER_XTABLES && NETFILTER_ADVANCED
73284+ depends on GRKERNSEC && !GRKERNSEC_NO_RBAC
73285+ ---help---
73286+ The gradm match allows to match on grsecurity RBAC being enabled.
73287+ It is useful when iptables rules are applied early on bootup to
73288+ prevent connections to the machine (except from a trusted host)
73289+ while the RBAC system is disabled.
73290+
73291 config NETFILTER_XT_MATCH_HASHLIMIT
73292 tristate '"hashlimit" match support'
73293 depends on (IP6_NF_IPTABLES || IP6_NF_IPTABLES=n)
73294diff -urNp linux-3.0.7/net/netfilter/Makefile linux-3.0.7/net/netfilter/Makefile
73295--- linux-3.0.7/net/netfilter/Makefile 2011-07-21 22:17:23.000000000 -0400
73296+++ linux-3.0.7/net/netfilter/Makefile 2011-08-23 21:48:14.000000000 -0400
73297@@ -81,6 +81,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_DCCP) +=
73298 obj-$(CONFIG_NETFILTER_XT_MATCH_DEVGROUP) += xt_devgroup.o
73299 obj-$(CONFIG_NETFILTER_XT_MATCH_DSCP) += xt_dscp.o
73300 obj-$(CONFIG_NETFILTER_XT_MATCH_ESP) += xt_esp.o
73301+obj-$(CONFIG_NETFILTER_XT_MATCH_GRADM) += xt_gradm.o
73302 obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o
73303 obj-$(CONFIG_NETFILTER_XT_MATCH_HELPER) += xt_helper.o
73304 obj-$(CONFIG_NETFILTER_XT_MATCH_HL) += xt_hl.o
73305diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_conn.c linux-3.0.7/net/netfilter/ipvs/ip_vs_conn.c
73306--- linux-3.0.7/net/netfilter/ipvs/ip_vs_conn.c 2011-07-21 22:17:23.000000000 -0400
73307+++ linux-3.0.7/net/netfilter/ipvs/ip_vs_conn.c 2011-08-23 21:47:56.000000000 -0400
73308@@ -556,7 +556,7 @@ ip_vs_bind_dest(struct ip_vs_conn *cp, s 73832@@ -556,7 +556,7 @@ ip_vs_bind_dest(struct ip_vs_conn *cp, s
73309 /* Increase the refcnt counter of the dest */ 73833 /* Increase the refcnt counter of the dest */
73310 atomic_inc(&dest->refcnt); 73834 atomic_inc(&dest->refcnt);
@@ -73332,9 +73856,9 @@ diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_conn.c linux-3.0.7/net/netfilter
73332 if (i > 8 || i < 0) return 0; 73856 if (i > 8 || i < 0) return 0;
73333 73857
73334 if (!todrop_rate[i]) return 0; 73858 if (!todrop_rate[i]) return 0;
73335diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_core.c linux-3.0.7/net/netfilter/ipvs/ip_vs_core.c 73859diff -urNp linux-3.0.8/net/netfilter/ipvs/ip_vs_core.c linux-3.0.8/net/netfilter/ipvs/ip_vs_core.c
73336--- linux-3.0.7/net/netfilter/ipvs/ip_vs_core.c 2011-07-21 22:17:23.000000000 -0400 73860--- linux-3.0.8/net/netfilter/ipvs/ip_vs_core.c 2011-07-21 22:17:23.000000000 -0400
73337+++ linux-3.0.7/net/netfilter/ipvs/ip_vs_core.c 2011-08-23 21:47:56.000000000 -0400 73861+++ linux-3.0.8/net/netfilter/ipvs/ip_vs_core.c 2011-08-23 21:47:56.000000000 -0400
73338@@ -563,7 +563,7 @@ int ip_vs_leave(struct ip_vs_service *sv 73862@@ -563,7 +563,7 @@ int ip_vs_leave(struct ip_vs_service *sv
73339 ret = cp->packet_xmit(skb, cp, pd->pp); 73863 ret = cp->packet_xmit(skb, cp, pd->pp);
73340 /* do not touch skb anymore */ 73864 /* do not touch skb anymore */
@@ -73353,9 +73877,9 @@ diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_core.c linux-3.0.7/net/netfilter
73353 73877
73354 if ((ipvs->sync_state & IP_VS_STATE_MASTER) && 73878 if ((ipvs->sync_state & IP_VS_STATE_MASTER) &&
73355 cp->protocol == IPPROTO_SCTP) { 73879 cp->protocol == IPPROTO_SCTP) {
73356diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_ctl.c linux-3.0.7/net/netfilter/ipvs/ip_vs_ctl.c 73880diff -urNp linux-3.0.8/net/netfilter/ipvs/ip_vs_ctl.c linux-3.0.8/net/netfilter/ipvs/ip_vs_ctl.c
73357--- linux-3.0.7/net/netfilter/ipvs/ip_vs_ctl.c 2011-09-02 18:11:21.000000000 -0400 73881--- linux-3.0.8/net/netfilter/ipvs/ip_vs_ctl.c 2011-10-24 08:05:21.000000000 -0400
73358+++ linux-3.0.7/net/netfilter/ipvs/ip_vs_ctl.c 2011-08-23 21:48:14.000000000 -0400 73882+++ linux-3.0.8/net/netfilter/ipvs/ip_vs_ctl.c 2011-08-23 21:48:14.000000000 -0400
73359@@ -782,7 +782,7 @@ __ip_vs_update_dest(struct ip_vs_service 73883@@ -782,7 +782,7 @@ __ip_vs_update_dest(struct ip_vs_service
73360 ip_vs_rs_hash(ipvs, dest); 73884 ip_vs_rs_hash(ipvs, dest);
73361 write_unlock_bh(&ipvs->rs_lock); 73885 write_unlock_bh(&ipvs->rs_lock);
@@ -73410,9 +73934,9 @@ diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_ctl.c linux-3.0.7/net/netfilter/
73410 NLA_PUT_U32(skb, IPVS_DEST_ATTR_WEIGHT, atomic_read(&dest->weight)); 73934 NLA_PUT_U32(skb, IPVS_DEST_ATTR_WEIGHT, atomic_read(&dest->weight));
73411 NLA_PUT_U32(skb, IPVS_DEST_ATTR_U_THRESH, dest->u_threshold); 73935 NLA_PUT_U32(skb, IPVS_DEST_ATTR_U_THRESH, dest->u_threshold);
73412 NLA_PUT_U32(skb, IPVS_DEST_ATTR_L_THRESH, dest->l_threshold); 73936 NLA_PUT_U32(skb, IPVS_DEST_ATTR_L_THRESH, dest->l_threshold);
73413diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_sync.c linux-3.0.7/net/netfilter/ipvs/ip_vs_sync.c 73937diff -urNp linux-3.0.8/net/netfilter/ipvs/ip_vs_sync.c linux-3.0.8/net/netfilter/ipvs/ip_vs_sync.c
73414--- linux-3.0.7/net/netfilter/ipvs/ip_vs_sync.c 2011-07-21 22:17:23.000000000 -0400 73938--- linux-3.0.8/net/netfilter/ipvs/ip_vs_sync.c 2011-07-21 22:17:23.000000000 -0400
73415+++ linux-3.0.7/net/netfilter/ipvs/ip_vs_sync.c 2011-08-23 21:47:56.000000000 -0400 73939+++ linux-3.0.8/net/netfilter/ipvs/ip_vs_sync.c 2011-08-23 21:47:56.000000000 -0400
73416@@ -648,7 +648,7 @@ control: 73940@@ -648,7 +648,7 @@ control:
73417 * i.e only increment in_pkts for Templates. 73941 * i.e only increment in_pkts for Templates.
73418 */ 73942 */
@@ -73431,9 +73955,9 @@ diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_sync.c linux-3.0.7/net/netfilter
73431 cp->state = state; 73955 cp->state = state;
73432 cp->old_state = cp->state; 73956 cp->old_state = cp->state;
73433 /* 73957 /*
73434diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_xmit.c linux-3.0.7/net/netfilter/ipvs/ip_vs_xmit.c 73958diff -urNp linux-3.0.8/net/netfilter/ipvs/ip_vs_xmit.c linux-3.0.8/net/netfilter/ipvs/ip_vs_xmit.c
73435--- linux-3.0.7/net/netfilter/ipvs/ip_vs_xmit.c 2011-07-21 22:17:23.000000000 -0400 73959--- linux-3.0.8/net/netfilter/ipvs/ip_vs_xmit.c 2011-07-21 22:17:23.000000000 -0400
73436+++ linux-3.0.7/net/netfilter/ipvs/ip_vs_xmit.c 2011-08-23 21:47:56.000000000 -0400 73960+++ linux-3.0.8/net/netfilter/ipvs/ip_vs_xmit.c 2011-08-23 21:47:56.000000000 -0400
73437@@ -1151,7 +1151,7 @@ ip_vs_icmp_xmit(struct sk_buff *skb, str 73961@@ -1151,7 +1151,7 @@ ip_vs_icmp_xmit(struct sk_buff *skb, str
73438 else 73962 else
73439 rc = NF_ACCEPT; 73963 rc = NF_ACCEPT;
@@ -73452,9 +73976,40 @@ diff -urNp linux-3.0.7/net/netfilter/ipvs/ip_vs_xmit.c linux-3.0.7/net/netfilter
73452 goto out; 73976 goto out;
73453 } 73977 }
73454 73978
73455diff -urNp linux-3.0.7/net/netfilter/nfnetlink_log.c linux-3.0.7/net/netfilter/nfnetlink_log.c 73979diff -urNp linux-3.0.8/net/netfilter/Kconfig linux-3.0.8/net/netfilter/Kconfig
73456--- linux-3.0.7/net/netfilter/nfnetlink_log.c 2011-07-21 22:17:23.000000000 -0400 73980--- linux-3.0.8/net/netfilter/Kconfig 2011-07-21 22:17:23.000000000 -0400
73457+++ linux-3.0.7/net/netfilter/nfnetlink_log.c 2011-08-23 21:47:56.000000000 -0400 73981+++ linux-3.0.8/net/netfilter/Kconfig 2011-08-23 21:48:14.000000000 -0400
73982@@ -781,6 +781,16 @@ config NETFILTER_XT_MATCH_ESP
73983
73984 To compile it as a module, choose M here. If unsure, say N.
73985
73986+config NETFILTER_XT_MATCH_GRADM
73987+ tristate '"gradm" match support'
73988+ depends on NETFILTER_XTABLES && NETFILTER_ADVANCED
73989+ depends on GRKERNSEC && !GRKERNSEC_NO_RBAC
73990+ ---help---
73991+ The gradm match allows to match on grsecurity RBAC being enabled.
73992+ It is useful when iptables rules are applied early on bootup to
73993+ prevent connections to the machine (except from a trusted host)
73994+ while the RBAC system is disabled.
73995+
73996 config NETFILTER_XT_MATCH_HASHLIMIT
73997 tristate '"hashlimit" match support'
73998 depends on (IP6_NF_IPTABLES || IP6_NF_IPTABLES=n)
73999diff -urNp linux-3.0.8/net/netfilter/Makefile linux-3.0.8/net/netfilter/Makefile
74000--- linux-3.0.8/net/netfilter/Makefile 2011-07-21 22:17:23.000000000 -0400
74001+++ linux-3.0.8/net/netfilter/Makefile 2011-08-23 21:48:14.000000000 -0400
74002@@ -81,6 +81,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_DCCP) +=
74003 obj-$(CONFIG_NETFILTER_XT_MATCH_DEVGROUP) += xt_devgroup.o
74004 obj-$(CONFIG_NETFILTER_XT_MATCH_DSCP) += xt_dscp.o
74005 obj-$(CONFIG_NETFILTER_XT_MATCH_ESP) += xt_esp.o
74006+obj-$(CONFIG_NETFILTER_XT_MATCH_GRADM) += xt_gradm.o
74007 obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o
74008 obj-$(CONFIG_NETFILTER_XT_MATCH_HELPER) += xt_helper.o
74009 obj-$(CONFIG_NETFILTER_XT_MATCH_HL) += xt_hl.o
74010diff -urNp linux-3.0.8/net/netfilter/nfnetlink_log.c linux-3.0.8/net/netfilter/nfnetlink_log.c
74011--- linux-3.0.8/net/netfilter/nfnetlink_log.c 2011-07-21 22:17:23.000000000 -0400
74012+++ linux-3.0.8/net/netfilter/nfnetlink_log.c 2011-08-23 21:47:56.000000000 -0400
73458@@ -70,7 +70,7 @@ struct nfulnl_instance { 74013@@ -70,7 +70,7 @@ struct nfulnl_instance {
73459 }; 74014 };
73460 74015
@@ -73473,9 +74028,9 @@ diff -urNp linux-3.0.7/net/netfilter/nfnetlink_log.c linux-3.0.7/net/netfilter/n
73473 74028
73474 if (data_len) { 74029 if (data_len) {
73475 struct nlattr *nla; 74030 struct nlattr *nla;
73476diff -urNp linux-3.0.7/net/netfilter/nfnetlink_queue.c linux-3.0.7/net/netfilter/nfnetlink_queue.c 74031diff -urNp linux-3.0.8/net/netfilter/nfnetlink_queue.c linux-3.0.8/net/netfilter/nfnetlink_queue.c
73477--- linux-3.0.7/net/netfilter/nfnetlink_queue.c 2011-07-21 22:17:23.000000000 -0400 74032--- linux-3.0.8/net/netfilter/nfnetlink_queue.c 2011-07-21 22:17:23.000000000 -0400
73478+++ linux-3.0.7/net/netfilter/nfnetlink_queue.c 2011-08-23 21:47:56.000000000 -0400 74033+++ linux-3.0.8/net/netfilter/nfnetlink_queue.c 2011-08-23 21:47:56.000000000 -0400
73479@@ -58,7 +58,7 @@ struct nfqnl_instance { 74034@@ -58,7 +58,7 @@ struct nfqnl_instance {
73480 */ 74035 */
73481 spinlock_t lock; 74036 spinlock_t lock;
@@ -73503,9 +74058,9 @@ diff -urNp linux-3.0.7/net/netfilter/nfnetlink_queue.c linux-3.0.7/net/netfilter
73503 } 74058 }
73504 74059
73505 static const struct seq_operations nfqnl_seq_ops = { 74060 static const struct seq_operations nfqnl_seq_ops = {
73506diff -urNp linux-3.0.7/net/netfilter/xt_gradm.c linux-3.0.7/net/netfilter/xt_gradm.c 74061diff -urNp linux-3.0.8/net/netfilter/xt_gradm.c linux-3.0.8/net/netfilter/xt_gradm.c
73507--- linux-3.0.7/net/netfilter/xt_gradm.c 1969-12-31 19:00:00.000000000 -0500 74062--- linux-3.0.8/net/netfilter/xt_gradm.c 1969-12-31 19:00:00.000000000 -0500
73508+++ linux-3.0.7/net/netfilter/xt_gradm.c 2011-08-23 21:48:14.000000000 -0400 74063+++ linux-3.0.8/net/netfilter/xt_gradm.c 2011-08-23 21:48:14.000000000 -0400
73509@@ -0,0 +1,51 @@ 74064@@ -0,0 +1,51 @@
73510+/* 74065+/*
73511+ * gradm match for netfilter 74066+ * gradm match for netfilter
@@ -73558,9 +74113,9 @@ diff -urNp linux-3.0.7/net/netfilter/xt_gradm.c linux-3.0.7/net/netfilter/xt_gra
73558+MODULE_LICENSE("GPL"); 74113+MODULE_LICENSE("GPL");
73559+MODULE_ALIAS("ipt_gradm"); 74114+MODULE_ALIAS("ipt_gradm");
73560+MODULE_ALIAS("ip6t_gradm"); 74115+MODULE_ALIAS("ip6t_gradm");
73561diff -urNp linux-3.0.7/net/netfilter/xt_statistic.c linux-3.0.7/net/netfilter/xt_statistic.c 74116diff -urNp linux-3.0.8/net/netfilter/xt_statistic.c linux-3.0.8/net/netfilter/xt_statistic.c
73562--- linux-3.0.7/net/netfilter/xt_statistic.c 2011-07-21 22:17:23.000000000 -0400 74117--- linux-3.0.8/net/netfilter/xt_statistic.c 2011-07-21 22:17:23.000000000 -0400
73563+++ linux-3.0.7/net/netfilter/xt_statistic.c 2011-08-23 21:47:56.000000000 -0400 74118+++ linux-3.0.8/net/netfilter/xt_statistic.c 2011-08-23 21:47:56.000000000 -0400
73564@@ -18,7 +18,7 @@ 74119@@ -18,7 +18,7 @@
73565 #include <linux/netfilter/x_tables.h> 74120 #include <linux/netfilter/x_tables.h>
73566 74121
@@ -73591,9 +74146,9 @@ diff -urNp linux-3.0.7/net/netfilter/xt_statistic.c linux-3.0.7/net/netfilter/xt
73591 74146
73592 return 0; 74147 return 0;
73593 } 74148 }
73594diff -urNp linux-3.0.7/net/netlink/af_netlink.c linux-3.0.7/net/netlink/af_netlink.c 74149diff -urNp linux-3.0.8/net/netlink/af_netlink.c linux-3.0.8/net/netlink/af_netlink.c
73595--- linux-3.0.7/net/netlink/af_netlink.c 2011-07-21 22:17:23.000000000 -0400 74150--- linux-3.0.8/net/netlink/af_netlink.c 2011-07-21 22:17:23.000000000 -0400
73596+++ linux-3.0.7/net/netlink/af_netlink.c 2011-08-23 21:47:56.000000000 -0400 74151+++ linux-3.0.8/net/netlink/af_netlink.c 2011-08-23 21:47:56.000000000 -0400
73597@@ -742,7 +742,7 @@ static void netlink_overrun(struct sock 74152@@ -742,7 +742,7 @@ static void netlink_overrun(struct sock
73598 sk->sk_error_report(sk); 74153 sk->sk_error_report(sk);
73599 } 74154 }
@@ -73612,9 +74167,9 @@ diff -urNp linux-3.0.7/net/netlink/af_netlink.c linux-3.0.7/net/netlink/af_netli
73612 sock_i_ino(s) 74167 sock_i_ino(s)
73613 ); 74168 );
73614 74169
73615diff -urNp linux-3.0.7/net/netrom/af_netrom.c linux-3.0.7/net/netrom/af_netrom.c 74170diff -urNp linux-3.0.8/net/netrom/af_netrom.c linux-3.0.8/net/netrom/af_netrom.c
73616--- linux-3.0.7/net/netrom/af_netrom.c 2011-07-21 22:17:23.000000000 -0400 74171--- linux-3.0.8/net/netrom/af_netrom.c 2011-07-21 22:17:23.000000000 -0400
73617+++ linux-3.0.7/net/netrom/af_netrom.c 2011-08-23 21:48:14.000000000 -0400 74172+++ linux-3.0.8/net/netrom/af_netrom.c 2011-08-23 21:48:14.000000000 -0400
73618@@ -839,6 +839,7 @@ static int nr_getname(struct socket *soc 74173@@ -839,6 +839,7 @@ static int nr_getname(struct socket *soc
73619 struct sock *sk = sock->sk; 74174 struct sock *sk = sock->sk;
73620 struct nr_sock *nr = nr_sk(sk); 74175 struct nr_sock *nr = nr_sk(sk);
@@ -73631,9 +74186,9 @@ diff -urNp linux-3.0.7/net/netrom/af_netrom.c linux-3.0.7/net/netrom/af_netrom.c
73631 sax->fsa_ax25.sax25_call = nr->source_addr; 74186 sax->fsa_ax25.sax25_call = nr->source_addr;
73632 *uaddr_len = sizeof(struct sockaddr_ax25); 74187 *uaddr_len = sizeof(struct sockaddr_ax25);
73633 } 74188 }
73634diff -urNp linux-3.0.7/net/packet/af_packet.c linux-3.0.7/net/packet/af_packet.c 74189diff -urNp linux-3.0.8/net/packet/af_packet.c linux-3.0.8/net/packet/af_packet.c
73635--- linux-3.0.7/net/packet/af_packet.c 2011-07-21 22:17:23.000000000 -0400 74190--- linux-3.0.8/net/packet/af_packet.c 2011-07-21 22:17:23.000000000 -0400
73636+++ linux-3.0.7/net/packet/af_packet.c 2011-08-23 21:47:56.000000000 -0400 74191+++ linux-3.0.8/net/packet/af_packet.c 2011-08-23 21:47:56.000000000 -0400
73637@@ -647,14 +647,14 @@ static int packet_rcv(struct sk_buff *sk 74192@@ -647,14 +647,14 @@ static int packet_rcv(struct sk_buff *sk
73638 74193
73639 spin_lock(&sk->sk_receive_queue.lock); 74194 spin_lock(&sk->sk_receive_queue.lock);
@@ -73669,9 +74224,9 @@ diff -urNp linux-3.0.7/net/packet/af_packet.c linux-3.0.7/net/packet/af_packet.c
73669 return -EFAULT; 74224 return -EFAULT;
73670 return 0; 74225 return 0;
73671 } 74226 }
73672diff -urNp linux-3.0.7/net/phonet/af_phonet.c linux-3.0.7/net/phonet/af_phonet.c 74227diff -urNp linux-3.0.8/net/phonet/af_phonet.c linux-3.0.8/net/phonet/af_phonet.c
73673--- linux-3.0.7/net/phonet/af_phonet.c 2011-07-21 22:17:23.000000000 -0400 74228--- linux-3.0.8/net/phonet/af_phonet.c 2011-07-21 22:17:23.000000000 -0400
73674+++ linux-3.0.7/net/phonet/af_phonet.c 2011-08-23 21:48:14.000000000 -0400 74229+++ linux-3.0.8/net/phonet/af_phonet.c 2011-08-23 21:48:14.000000000 -0400
73675@@ -41,7 +41,7 @@ static struct phonet_protocol *phonet_pr 74230@@ -41,7 +41,7 @@ static struct phonet_protocol *phonet_pr
73676 { 74231 {
73677 struct phonet_protocol *pp; 74232 struct phonet_protocol *pp;
@@ -73690,9 +74245,9 @@ diff -urNp linux-3.0.7/net/phonet/af_phonet.c linux-3.0.7/net/phonet/af_phonet.c
73690 return -EINVAL; 74245 return -EINVAL;
73691 74246
73692 err = proto_register(pp->prot, 1); 74247 err = proto_register(pp->prot, 1);
73693diff -urNp linux-3.0.7/net/phonet/pep.c linux-3.0.7/net/phonet/pep.c 74248diff -urNp linux-3.0.8/net/phonet/pep.c linux-3.0.8/net/phonet/pep.c
73694--- linux-3.0.7/net/phonet/pep.c 2011-07-21 22:17:23.000000000 -0400 74249--- linux-3.0.8/net/phonet/pep.c 2011-07-21 22:17:23.000000000 -0400
73695+++ linux-3.0.7/net/phonet/pep.c 2011-08-23 21:47:56.000000000 -0400 74250+++ linux-3.0.8/net/phonet/pep.c 2011-08-23 21:47:56.000000000 -0400
73696@@ -387,7 +387,7 @@ static int pipe_do_rcv(struct sock *sk, 74251@@ -387,7 +387,7 @@ static int pipe_do_rcv(struct sock *sk,
73697 74252
73698 case PNS_PEP_CTRL_REQ: 74253 case PNS_PEP_CTRL_REQ:
@@ -73720,9 +74275,9 @@ diff -urNp linux-3.0.7/net/phonet/pep.c linux-3.0.7/net/phonet/pep.c
73720 err = NET_RX_DROP; 74275 err = NET_RX_DROP;
73721 break; 74276 break;
73722 } 74277 }
73723diff -urNp linux-3.0.7/net/phonet/socket.c linux-3.0.7/net/phonet/socket.c 74278diff -urNp linux-3.0.8/net/phonet/socket.c linux-3.0.8/net/phonet/socket.c
73724--- linux-3.0.7/net/phonet/socket.c 2011-07-21 22:17:23.000000000 -0400 74279--- linux-3.0.8/net/phonet/socket.c 2011-07-21 22:17:23.000000000 -0400
73725+++ linux-3.0.7/net/phonet/socket.c 2011-08-23 21:48:14.000000000 -0400 74280+++ linux-3.0.8/net/phonet/socket.c 2011-08-23 21:48:14.000000000 -0400
73726@@ -612,8 +612,13 @@ static int pn_sock_seq_show(struct seq_f 74281@@ -612,8 +612,13 @@ static int pn_sock_seq_show(struct seq_f
73727 pn->resource, sk->sk_state, 74282 pn->resource, sk->sk_state,
73728 sk_wmem_alloc_get(sk), sk_rmem_alloc_get(sk), 74283 sk_wmem_alloc_get(sk), sk_rmem_alloc_get(sk),
@@ -73739,9 +74294,9 @@ diff -urNp linux-3.0.7/net/phonet/socket.c linux-3.0.7/net/phonet/socket.c
73739 } 74294 }
73740 seq_printf(seq, "%*s\n", 127 - len, ""); 74295 seq_printf(seq, "%*s\n", 127 - len, "");
73741 return 0; 74296 return 0;
73742diff -urNp linux-3.0.7/net/rds/cong.c linux-3.0.7/net/rds/cong.c 74297diff -urNp linux-3.0.8/net/rds/cong.c linux-3.0.8/net/rds/cong.c
73743--- linux-3.0.7/net/rds/cong.c 2011-07-21 22:17:23.000000000 -0400 74298--- linux-3.0.8/net/rds/cong.c 2011-07-21 22:17:23.000000000 -0400
73744+++ linux-3.0.7/net/rds/cong.c 2011-08-23 21:47:56.000000000 -0400 74299+++ linux-3.0.8/net/rds/cong.c 2011-08-23 21:47:56.000000000 -0400
73745@@ -77,7 +77,7 @@ 74300@@ -77,7 +77,7 @@
73746 * finds that the saved generation number is smaller than the global generation 74301 * finds that the saved generation number is smaller than the global generation
73747 * number, it wakes up the process. 74302 * number, it wakes up the process.
@@ -73769,21 +74324,9 @@ diff -urNp linux-3.0.7/net/rds/cong.c linux-3.0.7/net/rds/cong.c
73769 74324
73770 if (likely(*recent == gen)) 74325 if (likely(*recent == gen))
73771 return 0; 74326 return 0;
73772diff -urNp linux-3.0.7/net/rds/ib.h linux-3.0.7/net/rds/ib.h 74327diff -urNp linux-3.0.8/net/rds/ib_cm.c linux-3.0.8/net/rds/ib_cm.c
73773--- linux-3.0.7/net/rds/ib.h 2011-07-21 22:17:23.000000000 -0400 74328--- linux-3.0.8/net/rds/ib_cm.c 2011-07-21 22:17:23.000000000 -0400
73774+++ linux-3.0.7/net/rds/ib.h 2011-08-23 21:47:56.000000000 -0400 74329+++ linux-3.0.8/net/rds/ib_cm.c 2011-08-23 21:47:56.000000000 -0400
73775@@ -127,7 +127,7 @@ struct rds_ib_connection {
73776 /* sending acks */
73777 unsigned long i_ack_flags;
73778 #ifdef KERNEL_HAS_ATOMIC64
73779- atomic64_t i_ack_next; /* next ACK to send */
73780+ atomic64_unchecked_t i_ack_next; /* next ACK to send */
73781 #else
73782 spinlock_t i_ack_lock; /* protect i_ack_next */
73783 u64 i_ack_next; /* next ACK to send */
73784diff -urNp linux-3.0.7/net/rds/ib_cm.c linux-3.0.7/net/rds/ib_cm.c
73785--- linux-3.0.7/net/rds/ib_cm.c 2011-07-21 22:17:23.000000000 -0400
73786+++ linux-3.0.7/net/rds/ib_cm.c 2011-08-23 21:47:56.000000000 -0400
73787@@ -720,7 +720,7 @@ void rds_ib_conn_shutdown(struct rds_con 74330@@ -720,7 +720,7 @@ void rds_ib_conn_shutdown(struct rds_con
73788 /* Clear the ACK state */ 74331 /* Clear the ACK state */
73789 clear_bit(IB_ACK_IN_FLIGHT, &ic->i_ack_flags); 74332 clear_bit(IB_ACK_IN_FLIGHT, &ic->i_ack_flags);
@@ -73793,9 +74336,21 @@ diff -urNp linux-3.0.7/net/rds/ib_cm.c linux-3.0.7/net/rds/ib_cm.c
73793 #else 74336 #else
73794 ic->i_ack_next = 0; 74337 ic->i_ack_next = 0;
73795 #endif 74338 #endif
73796diff -urNp linux-3.0.7/net/rds/ib_recv.c linux-3.0.7/net/rds/ib_recv.c 74339diff -urNp linux-3.0.8/net/rds/ib.h linux-3.0.8/net/rds/ib.h
73797--- linux-3.0.7/net/rds/ib_recv.c 2011-07-21 22:17:23.000000000 -0400 74340--- linux-3.0.8/net/rds/ib.h 2011-07-21 22:17:23.000000000 -0400
73798+++ linux-3.0.7/net/rds/ib_recv.c 2011-08-23 21:47:56.000000000 -0400 74341+++ linux-3.0.8/net/rds/ib.h 2011-08-23 21:47:56.000000000 -0400
74342@@ -127,7 +127,7 @@ struct rds_ib_connection {
74343 /* sending acks */
74344 unsigned long i_ack_flags;
74345 #ifdef KERNEL_HAS_ATOMIC64
74346- atomic64_t i_ack_next; /* next ACK to send */
74347+ atomic64_unchecked_t i_ack_next; /* next ACK to send */
74348 #else
74349 spinlock_t i_ack_lock; /* protect i_ack_next */
74350 u64 i_ack_next; /* next ACK to send */
74351diff -urNp linux-3.0.8/net/rds/ib_recv.c linux-3.0.8/net/rds/ib_recv.c
74352--- linux-3.0.8/net/rds/ib_recv.c 2011-07-21 22:17:23.000000000 -0400
74353+++ linux-3.0.8/net/rds/ib_recv.c 2011-08-23 21:47:56.000000000 -0400
73799@@ -592,7 +592,7 @@ static u64 rds_ib_get_ack(struct rds_ib_ 74354@@ -592,7 +592,7 @@ static u64 rds_ib_get_ack(struct rds_ib_
73800 static void rds_ib_set_ack(struct rds_ib_connection *ic, u64 seq, 74355 static void rds_ib_set_ack(struct rds_ib_connection *ic, u64 seq,
73801 int ack_required) 74356 int ack_required)
@@ -73814,21 +74369,9 @@ diff -urNp linux-3.0.7/net/rds/ib_recv.c linux-3.0.7/net/rds/ib_recv.c
73814 } 74369 }
73815 #endif 74370 #endif
73816 74371
73817diff -urNp linux-3.0.7/net/rds/iw.h linux-3.0.7/net/rds/iw.h 74372diff -urNp linux-3.0.8/net/rds/iw_cm.c linux-3.0.8/net/rds/iw_cm.c
73818--- linux-3.0.7/net/rds/iw.h 2011-07-21 22:17:23.000000000 -0400 74373--- linux-3.0.8/net/rds/iw_cm.c 2011-07-21 22:17:23.000000000 -0400
73819+++ linux-3.0.7/net/rds/iw.h 2011-08-23 21:47:56.000000000 -0400 74374+++ linux-3.0.8/net/rds/iw_cm.c 2011-08-23 21:47:56.000000000 -0400
73820@@ -133,7 +133,7 @@ struct rds_iw_connection {
73821 /* sending acks */
73822 unsigned long i_ack_flags;
73823 #ifdef KERNEL_HAS_ATOMIC64
73824- atomic64_t i_ack_next; /* next ACK to send */
73825+ atomic64_unchecked_t i_ack_next; /* next ACK to send */
73826 #else
73827 spinlock_t i_ack_lock; /* protect i_ack_next */
73828 u64 i_ack_next; /* next ACK to send */
73829diff -urNp linux-3.0.7/net/rds/iw_cm.c linux-3.0.7/net/rds/iw_cm.c
73830--- linux-3.0.7/net/rds/iw_cm.c 2011-07-21 22:17:23.000000000 -0400
73831+++ linux-3.0.7/net/rds/iw_cm.c 2011-08-23 21:47:56.000000000 -0400
73832@@ -664,7 +664,7 @@ void rds_iw_conn_shutdown(struct rds_con 74375@@ -664,7 +664,7 @@ void rds_iw_conn_shutdown(struct rds_con
73833 /* Clear the ACK state */ 74376 /* Clear the ACK state */
73834 clear_bit(IB_ACK_IN_FLIGHT, &ic->i_ack_flags); 74377 clear_bit(IB_ACK_IN_FLIGHT, &ic->i_ack_flags);
@@ -73838,9 +74381,21 @@ diff -urNp linux-3.0.7/net/rds/iw_cm.c linux-3.0.7/net/rds/iw_cm.c
73838 #else 74381 #else
73839 ic->i_ack_next = 0; 74382 ic->i_ack_next = 0;
73840 #endif 74383 #endif
73841diff -urNp linux-3.0.7/net/rds/iw_rdma.c linux-3.0.7/net/rds/iw_rdma.c 74384diff -urNp linux-3.0.8/net/rds/iw.h linux-3.0.8/net/rds/iw.h
73842--- linux-3.0.7/net/rds/iw_rdma.c 2011-07-21 22:17:23.000000000 -0400 74385--- linux-3.0.8/net/rds/iw.h 2011-07-21 22:17:23.000000000 -0400
73843+++ linux-3.0.7/net/rds/iw_rdma.c 2011-08-23 21:48:14.000000000 -0400 74386+++ linux-3.0.8/net/rds/iw.h 2011-08-23 21:47:56.000000000 -0400
74387@@ -133,7 +133,7 @@ struct rds_iw_connection {
74388 /* sending acks */
74389 unsigned long i_ack_flags;
74390 #ifdef KERNEL_HAS_ATOMIC64
74391- atomic64_t i_ack_next; /* next ACK to send */
74392+ atomic64_unchecked_t i_ack_next; /* next ACK to send */
74393 #else
74394 spinlock_t i_ack_lock; /* protect i_ack_next */
74395 u64 i_ack_next; /* next ACK to send */
74396diff -urNp linux-3.0.8/net/rds/iw_rdma.c linux-3.0.8/net/rds/iw_rdma.c
74397--- linux-3.0.8/net/rds/iw_rdma.c 2011-07-21 22:17:23.000000000 -0400
74398+++ linux-3.0.8/net/rds/iw_rdma.c 2011-08-23 21:48:14.000000000 -0400
73844@@ -182,6 +182,8 @@ int rds_iw_update_cm_id(struct rds_iw_de 74399@@ -182,6 +182,8 @@ int rds_iw_update_cm_id(struct rds_iw_de
73845 struct rdma_cm_id *pcm_id; 74400 struct rdma_cm_id *pcm_id;
73846 int rc; 74401 int rc;
@@ -73850,9 +74405,9 @@ diff -urNp linux-3.0.7/net/rds/iw_rdma.c linux-3.0.7/net/rds/iw_rdma.c
73850 src_addr = (struct sockaddr_in *)&cm_id->route.addr.src_addr; 74405 src_addr = (struct sockaddr_in *)&cm_id->route.addr.src_addr;
73851 dst_addr = (struct sockaddr_in *)&cm_id->route.addr.dst_addr; 74406 dst_addr = (struct sockaddr_in *)&cm_id->route.addr.dst_addr;
73852 74407
73853diff -urNp linux-3.0.7/net/rds/iw_recv.c linux-3.0.7/net/rds/iw_recv.c 74408diff -urNp linux-3.0.8/net/rds/iw_recv.c linux-3.0.8/net/rds/iw_recv.c
73854--- linux-3.0.7/net/rds/iw_recv.c 2011-07-21 22:17:23.000000000 -0400 74409--- linux-3.0.8/net/rds/iw_recv.c 2011-07-21 22:17:23.000000000 -0400
73855+++ linux-3.0.7/net/rds/iw_recv.c 2011-08-23 21:47:56.000000000 -0400 74410+++ linux-3.0.8/net/rds/iw_recv.c 2011-08-23 21:47:56.000000000 -0400
73856@@ -427,7 +427,7 @@ static u64 rds_iw_get_ack(struct rds_iw_ 74411@@ -427,7 +427,7 @@ static u64 rds_iw_get_ack(struct rds_iw_
73857 static void rds_iw_set_ack(struct rds_iw_connection *ic, u64 seq, 74412 static void rds_iw_set_ack(struct rds_iw_connection *ic, u64 seq,
73858 int ack_required) 74413 int ack_required)
@@ -73871,9 +74426,9 @@ diff -urNp linux-3.0.7/net/rds/iw_recv.c linux-3.0.7/net/rds/iw_recv.c
73871 } 74426 }
73872 #endif 74427 #endif
73873 74428
73874diff -urNp linux-3.0.7/net/rds/tcp.c linux-3.0.7/net/rds/tcp.c 74429diff -urNp linux-3.0.8/net/rds/tcp.c linux-3.0.8/net/rds/tcp.c
73875--- linux-3.0.7/net/rds/tcp.c 2011-07-21 22:17:23.000000000 -0400 74430--- linux-3.0.8/net/rds/tcp.c 2011-07-21 22:17:23.000000000 -0400
73876+++ linux-3.0.7/net/rds/tcp.c 2011-10-06 04:17:55.000000000 -0400 74431+++ linux-3.0.8/net/rds/tcp.c 2011-10-06 04:17:55.000000000 -0400
73877@@ -58,7 +58,7 @@ void rds_tcp_nonagle(struct socket *sock 74432@@ -58,7 +58,7 @@ void rds_tcp_nonagle(struct socket *sock
73878 int val = 1; 74433 int val = 1;
73879 74434
@@ -73883,9 +74438,9 @@ diff -urNp linux-3.0.7/net/rds/tcp.c linux-3.0.7/net/rds/tcp.c
73883 sizeof(val)); 74438 sizeof(val));
73884 set_fs(oldfs); 74439 set_fs(oldfs);
73885 } 74440 }
73886diff -urNp linux-3.0.7/net/rds/tcp_send.c linux-3.0.7/net/rds/tcp_send.c 74441diff -urNp linux-3.0.8/net/rds/tcp_send.c linux-3.0.8/net/rds/tcp_send.c
73887--- linux-3.0.7/net/rds/tcp_send.c 2011-07-21 22:17:23.000000000 -0400 74442--- linux-3.0.8/net/rds/tcp_send.c 2011-07-21 22:17:23.000000000 -0400
73888+++ linux-3.0.7/net/rds/tcp_send.c 2011-10-06 04:17:55.000000000 -0400 74443+++ linux-3.0.8/net/rds/tcp_send.c 2011-10-06 04:17:55.000000000 -0400
73889@@ -43,7 +43,7 @@ static void rds_tcp_cork(struct socket * 74444@@ -43,7 +43,7 @@ static void rds_tcp_cork(struct socket *
73890 74445
73891 oldfs = get_fs(); 74446 oldfs = get_fs();
@@ -73895,9 +74450,9 @@ diff -urNp linux-3.0.7/net/rds/tcp_send.c linux-3.0.7/net/rds/tcp_send.c
73895 sizeof(val)); 74450 sizeof(val));
73896 set_fs(oldfs); 74451 set_fs(oldfs);
73897 } 74452 }
73898diff -urNp linux-3.0.7/net/rxrpc/af_rxrpc.c linux-3.0.7/net/rxrpc/af_rxrpc.c 74453diff -urNp linux-3.0.8/net/rxrpc/af_rxrpc.c linux-3.0.8/net/rxrpc/af_rxrpc.c
73899--- linux-3.0.7/net/rxrpc/af_rxrpc.c 2011-07-21 22:17:23.000000000 -0400 74454--- linux-3.0.8/net/rxrpc/af_rxrpc.c 2011-07-21 22:17:23.000000000 -0400
73900+++ linux-3.0.7/net/rxrpc/af_rxrpc.c 2011-08-23 21:47:56.000000000 -0400 74455+++ linux-3.0.8/net/rxrpc/af_rxrpc.c 2011-08-23 21:47:56.000000000 -0400
73901@@ -39,7 +39,7 @@ static const struct proto_ops rxrpc_rpc_ 74456@@ -39,7 +39,7 @@ static const struct proto_ops rxrpc_rpc_
73902 __be32 rxrpc_epoch; 74457 __be32 rxrpc_epoch;
73903 74458
@@ -73907,9 +74462,9 @@ diff -urNp linux-3.0.7/net/rxrpc/af_rxrpc.c linux-3.0.7/net/rxrpc/af_rxrpc.c
73907 74462
73908 /* count of skbs currently in use */ 74463 /* count of skbs currently in use */
73909 atomic_t rxrpc_n_skbs; 74464 atomic_t rxrpc_n_skbs;
73910diff -urNp linux-3.0.7/net/rxrpc/ar-ack.c linux-3.0.7/net/rxrpc/ar-ack.c 74465diff -urNp linux-3.0.8/net/rxrpc/ar-ack.c linux-3.0.8/net/rxrpc/ar-ack.c
73911--- linux-3.0.7/net/rxrpc/ar-ack.c 2011-07-21 22:17:23.000000000 -0400 74466--- linux-3.0.8/net/rxrpc/ar-ack.c 2011-07-21 22:17:23.000000000 -0400
73912+++ linux-3.0.7/net/rxrpc/ar-ack.c 2011-08-23 21:48:14.000000000 -0400 74467+++ linux-3.0.8/net/rxrpc/ar-ack.c 2011-08-23 21:48:14.000000000 -0400
73913@@ -175,7 +175,7 @@ static void rxrpc_resend(struct rxrpc_ca 74468@@ -175,7 +175,7 @@ static void rxrpc_resend(struct rxrpc_ca
73914 74469
73915 _enter("{%d,%d,%d,%d},", 74470 _enter("{%d,%d,%d,%d},",
@@ -73982,9 +74537,9 @@ diff -urNp linux-3.0.7/net/rxrpc/ar-ack.c linux-3.0.7/net/rxrpc/ar-ack.c
73982 _proto("Tx %s %%%u", rxrpc_pkts[hdr.type], ntohl(hdr.serial)); 74537 _proto("Tx %s %%%u", rxrpc_pkts[hdr.type], ntohl(hdr.serial));
73983 send_message_2: 74538 send_message_2:
73984 74539
73985diff -urNp linux-3.0.7/net/rxrpc/ar-call.c linux-3.0.7/net/rxrpc/ar-call.c 74540diff -urNp linux-3.0.8/net/rxrpc/ar-call.c linux-3.0.8/net/rxrpc/ar-call.c
73986--- linux-3.0.7/net/rxrpc/ar-call.c 2011-07-21 22:17:23.000000000 -0400 74541--- linux-3.0.8/net/rxrpc/ar-call.c 2011-07-21 22:17:23.000000000 -0400
73987+++ linux-3.0.7/net/rxrpc/ar-call.c 2011-08-23 21:47:56.000000000 -0400 74542+++ linux-3.0.8/net/rxrpc/ar-call.c 2011-08-23 21:47:56.000000000 -0400
73988@@ -83,7 +83,7 @@ static struct rxrpc_call *rxrpc_alloc_ca 74543@@ -83,7 +83,7 @@ static struct rxrpc_call *rxrpc_alloc_ca
73989 spin_lock_init(&call->lock); 74544 spin_lock_init(&call->lock);
73990 rwlock_init(&call->state_lock); 74545 rwlock_init(&call->state_lock);
@@ -73994,9 +74549,9 @@ diff -urNp linux-3.0.7/net/rxrpc/ar-call.c linux-3.0.7/net/rxrpc/ar-call.c
73994 call->state = RXRPC_CALL_CLIENT_SEND_REQUEST; 74549 call->state = RXRPC_CALL_CLIENT_SEND_REQUEST;
73995 74550
73996 memset(&call->sock_node, 0xed, sizeof(call->sock_node)); 74551 memset(&call->sock_node, 0xed, sizeof(call->sock_node));
73997diff -urNp linux-3.0.7/net/rxrpc/ar-connection.c linux-3.0.7/net/rxrpc/ar-connection.c 74552diff -urNp linux-3.0.8/net/rxrpc/ar-connection.c linux-3.0.8/net/rxrpc/ar-connection.c
73998--- linux-3.0.7/net/rxrpc/ar-connection.c 2011-07-21 22:17:23.000000000 -0400 74553--- linux-3.0.8/net/rxrpc/ar-connection.c 2011-07-21 22:17:23.000000000 -0400
73999+++ linux-3.0.7/net/rxrpc/ar-connection.c 2011-08-23 21:47:56.000000000 -0400 74554+++ linux-3.0.8/net/rxrpc/ar-connection.c 2011-08-23 21:47:56.000000000 -0400
74000@@ -206,7 +206,7 @@ static struct rxrpc_connection *rxrpc_al 74555@@ -206,7 +206,7 @@ static struct rxrpc_connection *rxrpc_al
74001 rwlock_init(&conn->lock); 74556 rwlock_init(&conn->lock);
74002 spin_lock_init(&conn->state_lock); 74557 spin_lock_init(&conn->state_lock);
@@ -74006,9 +74561,9 @@ diff -urNp linux-3.0.7/net/rxrpc/ar-connection.c linux-3.0.7/net/rxrpc/ar-connec
74006 conn->avail_calls = RXRPC_MAXCALLS; 74561 conn->avail_calls = RXRPC_MAXCALLS;
74007 conn->size_align = 4; 74562 conn->size_align = 4;
74008 conn->header_size = sizeof(struct rxrpc_header); 74563 conn->header_size = sizeof(struct rxrpc_header);
74009diff -urNp linux-3.0.7/net/rxrpc/ar-connevent.c linux-3.0.7/net/rxrpc/ar-connevent.c 74564diff -urNp linux-3.0.8/net/rxrpc/ar-connevent.c linux-3.0.8/net/rxrpc/ar-connevent.c
74010--- linux-3.0.7/net/rxrpc/ar-connevent.c 2011-07-21 22:17:23.000000000 -0400 74565--- linux-3.0.8/net/rxrpc/ar-connevent.c 2011-07-21 22:17:23.000000000 -0400
74011+++ linux-3.0.7/net/rxrpc/ar-connevent.c 2011-08-23 21:47:56.000000000 -0400 74566+++ linux-3.0.8/net/rxrpc/ar-connevent.c 2011-08-23 21:47:56.000000000 -0400
74012@@ -109,7 +109,7 @@ static int rxrpc_abort_connection(struct 74567@@ -109,7 +109,7 @@ static int rxrpc_abort_connection(struct
74013 74568
74014 len = iov[0].iov_len + iov[1].iov_len; 74569 len = iov[0].iov_len + iov[1].iov_len;
@@ -74018,9 +74573,9 @@ diff -urNp linux-3.0.7/net/rxrpc/ar-connevent.c linux-3.0.7/net/rxrpc/ar-conneve
74018 _proto("Tx CONN ABORT %%%u { %d }", ntohl(hdr.serial), abort_code); 74573 _proto("Tx CONN ABORT %%%u { %d }", ntohl(hdr.serial), abort_code);
74019 74574
74020 ret = kernel_sendmsg(conn->trans->local->socket, &msg, iov, 2, len); 74575 ret = kernel_sendmsg(conn->trans->local->socket, &msg, iov, 2, len);
74021diff -urNp linux-3.0.7/net/rxrpc/ar-input.c linux-3.0.7/net/rxrpc/ar-input.c 74576diff -urNp linux-3.0.8/net/rxrpc/ar-input.c linux-3.0.8/net/rxrpc/ar-input.c
74022--- linux-3.0.7/net/rxrpc/ar-input.c 2011-07-21 22:17:23.000000000 -0400 74577--- linux-3.0.8/net/rxrpc/ar-input.c 2011-07-21 22:17:23.000000000 -0400
74023+++ linux-3.0.7/net/rxrpc/ar-input.c 2011-08-23 21:47:56.000000000 -0400 74578+++ linux-3.0.8/net/rxrpc/ar-input.c 2011-08-23 21:47:56.000000000 -0400
74024@@ -340,9 +340,9 @@ void rxrpc_fast_process_packet(struct rx 74579@@ -340,9 +340,9 @@ void rxrpc_fast_process_packet(struct rx
74025 /* track the latest serial number on this connection for ACK packet 74580 /* track the latest serial number on this connection for ACK packet
74026 * information */ 74581 * information */
@@ -74033,9 +74588,9 @@ diff -urNp linux-3.0.7/net/rxrpc/ar-input.c linux-3.0.7/net/rxrpc/ar-input.c
74033 serial); 74588 serial);
74034 74589
74035 /* request ACK generation for any ACK or DATA packet that requests 74590 /* request ACK generation for any ACK or DATA packet that requests
74036diff -urNp linux-3.0.7/net/rxrpc/ar-internal.h linux-3.0.7/net/rxrpc/ar-internal.h 74591diff -urNp linux-3.0.8/net/rxrpc/ar-internal.h linux-3.0.8/net/rxrpc/ar-internal.h
74037--- linux-3.0.7/net/rxrpc/ar-internal.h 2011-07-21 22:17:23.000000000 -0400 74592--- linux-3.0.8/net/rxrpc/ar-internal.h 2011-07-21 22:17:23.000000000 -0400
74038+++ linux-3.0.7/net/rxrpc/ar-internal.h 2011-08-23 21:47:56.000000000 -0400 74593+++ linux-3.0.8/net/rxrpc/ar-internal.h 2011-08-23 21:47:56.000000000 -0400
74039@@ -272,8 +272,8 @@ struct rxrpc_connection { 74594@@ -272,8 +272,8 @@ struct rxrpc_connection {
74040 int error; /* error code for local abort */ 74595 int error; /* error code for local abort */
74041 int debug_id; /* debug ID for printks */ 74596 int debug_id; /* debug ID for printks */
@@ -74065,9 +74620,9 @@ diff -urNp linux-3.0.7/net/rxrpc/ar-internal.h linux-3.0.7/net/rxrpc/ar-internal
74065 extern struct workqueue_struct *rxrpc_workqueue; 74620 extern struct workqueue_struct *rxrpc_workqueue;
74066 74621
74067 /* 74622 /*
74068diff -urNp linux-3.0.7/net/rxrpc/ar-local.c linux-3.0.7/net/rxrpc/ar-local.c 74623diff -urNp linux-3.0.8/net/rxrpc/ar-local.c linux-3.0.8/net/rxrpc/ar-local.c
74069--- linux-3.0.7/net/rxrpc/ar-local.c 2011-07-21 22:17:23.000000000 -0400 74624--- linux-3.0.8/net/rxrpc/ar-local.c 2011-07-21 22:17:23.000000000 -0400
74070+++ linux-3.0.7/net/rxrpc/ar-local.c 2011-08-23 21:47:56.000000000 -0400 74625+++ linux-3.0.8/net/rxrpc/ar-local.c 2011-08-23 21:47:56.000000000 -0400
74071@@ -45,7 +45,7 @@ struct rxrpc_local *rxrpc_alloc_local(st 74626@@ -45,7 +45,7 @@ struct rxrpc_local *rxrpc_alloc_local(st
74072 spin_lock_init(&local->lock); 74627 spin_lock_init(&local->lock);
74073 rwlock_init(&local->services_lock); 74628 rwlock_init(&local->services_lock);
@@ -74077,9 +74632,9 @@ diff -urNp linux-3.0.7/net/rxrpc/ar-local.c linux-3.0.7/net/rxrpc/ar-local.c
74077 memcpy(&local->srx, srx, sizeof(*srx)); 74632 memcpy(&local->srx, srx, sizeof(*srx));
74078 } 74633 }
74079 74634
74080diff -urNp linux-3.0.7/net/rxrpc/ar-output.c linux-3.0.7/net/rxrpc/ar-output.c 74635diff -urNp linux-3.0.8/net/rxrpc/ar-output.c linux-3.0.8/net/rxrpc/ar-output.c
74081--- linux-3.0.7/net/rxrpc/ar-output.c 2011-07-21 22:17:23.000000000 -0400 74636--- linux-3.0.8/net/rxrpc/ar-output.c 2011-07-21 22:17:23.000000000 -0400
74082+++ linux-3.0.7/net/rxrpc/ar-output.c 2011-08-23 21:47:56.000000000 -0400 74637+++ linux-3.0.8/net/rxrpc/ar-output.c 2011-08-23 21:47:56.000000000 -0400
74083@@ -681,9 +681,9 @@ static int rxrpc_send_data(struct kiocb 74638@@ -681,9 +681,9 @@ static int rxrpc_send_data(struct kiocb
74084 sp->hdr.cid = call->cid; 74639 sp->hdr.cid = call->cid;
74085 sp->hdr.callNumber = call->call_id; 74640 sp->hdr.callNumber = call->call_id;
@@ -74092,9 +74647,9 @@ diff -urNp linux-3.0.7/net/rxrpc/ar-output.c linux-3.0.7/net/rxrpc/ar-output.c
74092 sp->hdr.type = RXRPC_PACKET_TYPE_DATA; 74647 sp->hdr.type = RXRPC_PACKET_TYPE_DATA;
74093 sp->hdr.userStatus = 0; 74648 sp->hdr.userStatus = 0;
74094 sp->hdr.securityIndex = conn->security_ix; 74649 sp->hdr.securityIndex = conn->security_ix;
74095diff -urNp linux-3.0.7/net/rxrpc/ar-peer.c linux-3.0.7/net/rxrpc/ar-peer.c 74650diff -urNp linux-3.0.8/net/rxrpc/ar-peer.c linux-3.0.8/net/rxrpc/ar-peer.c
74096--- linux-3.0.7/net/rxrpc/ar-peer.c 2011-07-21 22:17:23.000000000 -0400 74651--- linux-3.0.8/net/rxrpc/ar-peer.c 2011-07-21 22:17:23.000000000 -0400
74097+++ linux-3.0.7/net/rxrpc/ar-peer.c 2011-08-23 21:47:56.000000000 -0400 74652+++ linux-3.0.8/net/rxrpc/ar-peer.c 2011-08-23 21:47:56.000000000 -0400
74098@@ -72,7 +72,7 @@ static struct rxrpc_peer *rxrpc_alloc_pe 74653@@ -72,7 +72,7 @@ static struct rxrpc_peer *rxrpc_alloc_pe
74099 INIT_LIST_HEAD(&peer->error_targets); 74654 INIT_LIST_HEAD(&peer->error_targets);
74100 spin_lock_init(&peer->lock); 74655 spin_lock_init(&peer->lock);
@@ -74104,9 +74659,9 @@ diff -urNp linux-3.0.7/net/rxrpc/ar-peer.c linux-3.0.7/net/rxrpc/ar-peer.c
74104 memcpy(&peer->srx, srx, sizeof(*srx)); 74659 memcpy(&peer->srx, srx, sizeof(*srx));
74105 74660
74106 rxrpc_assess_MTU_size(peer); 74661 rxrpc_assess_MTU_size(peer);
74107diff -urNp linux-3.0.7/net/rxrpc/ar-proc.c linux-3.0.7/net/rxrpc/ar-proc.c 74662diff -urNp linux-3.0.8/net/rxrpc/ar-proc.c linux-3.0.8/net/rxrpc/ar-proc.c
74108--- linux-3.0.7/net/rxrpc/ar-proc.c 2011-07-21 22:17:23.000000000 -0400 74663--- linux-3.0.8/net/rxrpc/ar-proc.c 2011-07-21 22:17:23.000000000 -0400
74109+++ linux-3.0.7/net/rxrpc/ar-proc.c 2011-08-23 21:47:56.000000000 -0400 74664+++ linux-3.0.8/net/rxrpc/ar-proc.c 2011-08-23 21:47:56.000000000 -0400
74110@@ -164,8 +164,8 @@ static int rxrpc_connection_seq_show(str 74665@@ -164,8 +164,8 @@ static int rxrpc_connection_seq_show(str
74111 atomic_read(&conn->usage), 74666 atomic_read(&conn->usage),
74112 rxrpc_conn_states[conn->state], 74667 rxrpc_conn_states[conn->state],
@@ -74118,9 +74673,9 @@ diff -urNp linux-3.0.7/net/rxrpc/ar-proc.c linux-3.0.7/net/rxrpc/ar-proc.c
74118 74673
74119 return 0; 74674 return 0;
74120 } 74675 }
74121diff -urNp linux-3.0.7/net/rxrpc/ar-transport.c linux-3.0.7/net/rxrpc/ar-transport.c 74676diff -urNp linux-3.0.8/net/rxrpc/ar-transport.c linux-3.0.8/net/rxrpc/ar-transport.c
74122--- linux-3.0.7/net/rxrpc/ar-transport.c 2011-07-21 22:17:23.000000000 -0400 74677--- linux-3.0.8/net/rxrpc/ar-transport.c 2011-07-21 22:17:23.000000000 -0400
74123+++ linux-3.0.7/net/rxrpc/ar-transport.c 2011-08-23 21:47:56.000000000 -0400 74678+++ linux-3.0.8/net/rxrpc/ar-transport.c 2011-08-23 21:47:56.000000000 -0400
74124@@ -47,7 +47,7 @@ static struct rxrpc_transport *rxrpc_all 74679@@ -47,7 +47,7 @@ static struct rxrpc_transport *rxrpc_all
74125 spin_lock_init(&trans->client_lock); 74680 spin_lock_init(&trans->client_lock);
74126 rwlock_init(&trans->conn_lock); 74681 rwlock_init(&trans->conn_lock);
@@ -74130,9 +74685,9 @@ diff -urNp linux-3.0.7/net/rxrpc/ar-transport.c linux-3.0.7/net/rxrpc/ar-transpo
74130 74685
74131 if (peer->srx.transport.family == AF_INET) { 74686 if (peer->srx.transport.family == AF_INET) {
74132 switch (peer->srx.transport_type) { 74687 switch (peer->srx.transport_type) {
74133diff -urNp linux-3.0.7/net/rxrpc/rxkad.c linux-3.0.7/net/rxrpc/rxkad.c 74688diff -urNp linux-3.0.8/net/rxrpc/rxkad.c linux-3.0.8/net/rxrpc/rxkad.c
74134--- linux-3.0.7/net/rxrpc/rxkad.c 2011-07-21 22:17:23.000000000 -0400 74689--- linux-3.0.8/net/rxrpc/rxkad.c 2011-07-21 22:17:23.000000000 -0400
74135+++ linux-3.0.7/net/rxrpc/rxkad.c 2011-08-23 21:48:14.000000000 -0400 74690+++ linux-3.0.8/net/rxrpc/rxkad.c 2011-08-23 21:48:14.000000000 -0400
74136@@ -211,6 +211,8 @@ static int rxkad_secure_packet_encrypt(c 74691@@ -211,6 +211,8 @@ static int rxkad_secure_packet_encrypt(c
74137 u16 check; 74692 u16 check;
74138 int nsg; 74693 int nsg;
@@ -74169,9 +74724,9 @@ diff -urNp linux-3.0.7/net/rxrpc/rxkad.c linux-3.0.7/net/rxrpc/rxkad.c
74169 _proto("Tx RESPONSE %%%u", ntohl(hdr->serial)); 74724 _proto("Tx RESPONSE %%%u", ntohl(hdr->serial));
74170 74725
74171 ret = kernel_sendmsg(conn->trans->local->socket, &msg, iov, 3, len); 74726 ret = kernel_sendmsg(conn->trans->local->socket, &msg, iov, 3, len);
74172diff -urNp linux-3.0.7/net/sctp/proc.c linux-3.0.7/net/sctp/proc.c 74727diff -urNp linux-3.0.8/net/sctp/proc.c linux-3.0.8/net/sctp/proc.c
74173--- linux-3.0.7/net/sctp/proc.c 2011-07-21 22:17:23.000000000 -0400 74728--- linux-3.0.8/net/sctp/proc.c 2011-07-21 22:17:23.000000000 -0400
74174+++ linux-3.0.7/net/sctp/proc.c 2011-08-23 21:48:14.000000000 -0400 74729+++ linux-3.0.8/net/sctp/proc.c 2011-08-23 21:48:14.000000000 -0400
74175@@ -318,7 +318,8 @@ static int sctp_assocs_seq_show(struct s 74730@@ -318,7 +318,8 @@ static int sctp_assocs_seq_show(struct s
74176 seq_printf(seq, 74731 seq_printf(seq,
74177 "%8pK %8pK %-3d %-3d %-2d %-4d " 74732 "%8pK %8pK %-3d %-3d %-2d %-4d "
@@ -74182,9 +74737,9 @@ diff -urNp linux-3.0.7/net/sctp/proc.c linux-3.0.7/net/sctp/proc.c
74182 assoc->state, hash, 74737 assoc->state, hash,
74183 assoc->assoc_id, 74738 assoc->assoc_id,
74184 assoc->sndbuf_used, 74739 assoc->sndbuf_used,
74185diff -urNp linux-3.0.7/net/sctp/socket.c linux-3.0.7/net/sctp/socket.c 74740diff -urNp linux-3.0.8/net/sctp/socket.c linux-3.0.8/net/sctp/socket.c
74186--- linux-3.0.7/net/sctp/socket.c 2011-07-21 22:17:23.000000000 -0400 74741--- linux-3.0.8/net/sctp/socket.c 2011-07-21 22:17:23.000000000 -0400
74187+++ linux-3.0.7/net/sctp/socket.c 2011-08-23 21:47:56.000000000 -0400 74742+++ linux-3.0.8/net/sctp/socket.c 2011-08-23 21:47:56.000000000 -0400
74188@@ -4452,7 +4452,7 @@ static int sctp_getsockopt_peer_addrs(st 74743@@ -4452,7 +4452,7 @@ static int sctp_getsockopt_peer_addrs(st
74189 addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len; 74744 addrlen = sctp_get_af_specific(temp.sa.sa_family)->sockaddr_len;
74190 if (space_left < addrlen) 74745 if (space_left < addrlen)
@@ -74194,9 +74749,9 @@ diff -urNp linux-3.0.7/net/sctp/socket.c linux-3.0.7/net/sctp/socket.c
74194 return -EFAULT; 74749 return -EFAULT;
74195 to += addrlen; 74750 to += addrlen;
74196 cnt++; 74751 cnt++;
74197diff -urNp linux-3.0.7/net/socket.c linux-3.0.7/net/socket.c 74752diff -urNp linux-3.0.8/net/socket.c linux-3.0.8/net/socket.c
74198--- linux-3.0.7/net/socket.c 2011-10-16 21:54:54.000000000 -0400 74753--- linux-3.0.8/net/socket.c 2011-10-24 08:05:30.000000000 -0400
74199+++ linux-3.0.7/net/socket.c 2011-10-16 21:55:28.000000000 -0400 74754+++ linux-3.0.8/net/socket.c 2011-10-16 21:55:28.000000000 -0400
74200@@ -88,6 +88,7 @@ 74755@@ -88,6 +88,7 @@
74201 #include <linux/nsproxy.h> 74756 #include <linux/nsproxy.h>
74202 #include <linux/magic.h> 74757 #include <linux/magic.h>
@@ -74464,9 +75019,9 @@ diff -urNp linux-3.0.7/net/socket.c linux-3.0.7/net/socket.c
74464 75019
74465 set_fs(KERNEL_DS); 75020 set_fs(KERNEL_DS);
74466 if (level == SOL_SOCKET) 75021 if (level == SOL_SOCKET)
74467diff -urNp linux-3.0.7/net/sunrpc/sched.c linux-3.0.7/net/sunrpc/sched.c 75022diff -urNp linux-3.0.8/net/sunrpc/sched.c linux-3.0.8/net/sunrpc/sched.c
74468--- linux-3.0.7/net/sunrpc/sched.c 2011-07-21 22:17:23.000000000 -0400 75023--- linux-3.0.8/net/sunrpc/sched.c 2011-07-21 22:17:23.000000000 -0400
74469+++ linux-3.0.7/net/sunrpc/sched.c 2011-08-23 21:47:56.000000000 -0400 75024+++ linux-3.0.8/net/sunrpc/sched.c 2011-08-23 21:47:56.000000000 -0400
74470@@ -234,9 +234,9 @@ static int rpc_wait_bit_killable(void *w 75025@@ -234,9 +234,9 @@ static int rpc_wait_bit_killable(void *w
74471 #ifdef RPC_DEBUG 75026 #ifdef RPC_DEBUG
74472 static void rpc_task_set_debuginfo(struct rpc_task *task) 75027 static void rpc_task_set_debuginfo(struct rpc_task *task)
@@ -74479,9 +75034,9 @@ diff -urNp linux-3.0.7/net/sunrpc/sched.c linux-3.0.7/net/sunrpc/sched.c
74479 } 75034 }
74480 #else 75035 #else
74481 static inline void rpc_task_set_debuginfo(struct rpc_task *task) 75036 static inline void rpc_task_set_debuginfo(struct rpc_task *task)
74482diff -urNp linux-3.0.7/net/sunrpc/svcsock.c linux-3.0.7/net/sunrpc/svcsock.c 75037diff -urNp linux-3.0.8/net/sunrpc/svcsock.c linux-3.0.8/net/sunrpc/svcsock.c
74483--- linux-3.0.7/net/sunrpc/svcsock.c 2011-07-21 22:17:23.000000000 -0400 75038--- linux-3.0.8/net/sunrpc/svcsock.c 2011-07-21 22:17:23.000000000 -0400
74484+++ linux-3.0.7/net/sunrpc/svcsock.c 2011-10-06 04:17:55.000000000 -0400 75039+++ linux-3.0.8/net/sunrpc/svcsock.c 2011-10-06 04:17:55.000000000 -0400
74485@@ -392,7 +392,7 @@ static int svc_partial_recvfrom(struct s 75040@@ -392,7 +392,7 @@ static int svc_partial_recvfrom(struct s
74486 int buflen, unsigned int base) 75041 int buflen, unsigned int base)
74487 { 75042 {
@@ -74491,9 +75046,9 @@ diff -urNp linux-3.0.7/net/sunrpc/svcsock.c linux-3.0.7/net/sunrpc/svcsock.c
74491 unsigned int i; 75046 unsigned int i;
74492 int ret; 75047 int ret;
74493 75048
74494diff -urNp linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma.c linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma.c 75049diff -urNp linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma.c linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma.c
74495--- linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma.c 2011-07-21 22:17:23.000000000 -0400 75050--- linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma.c 2011-07-21 22:17:23.000000000 -0400
74496+++ linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma.c 2011-08-23 21:47:56.000000000 -0400 75051+++ linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma.c 2011-08-23 21:47:56.000000000 -0400
74497@@ -61,15 +61,15 @@ unsigned int svcrdma_max_req_size = RPCR 75052@@ -61,15 +61,15 @@ unsigned int svcrdma_max_req_size = RPCR
74498 static unsigned int min_max_inline = 4096; 75053 static unsigned int min_max_inline = 4096;
74499 static unsigned int max_max_inline = 65536; 75054 static unsigned int max_max_inline = 65536;
@@ -74601,9 +75156,9 @@ diff -urNp linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma.c linux-3.0.7/net/sunrpc/xpr
74601 .mode = 0644, 75156 .mode = 0644,
74602 .proc_handler = read_reset_stat, 75157 .proc_handler = read_reset_stat,
74603 }, 75158 },
74604diff -urNp linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 75159diff -urNp linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
74605--- linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 2011-07-21 22:17:23.000000000 -0400 75160--- linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 2011-07-21 22:17:23.000000000 -0400
74606+++ linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 2011-08-23 21:47:56.000000000 -0400 75161+++ linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 2011-08-23 21:47:56.000000000 -0400
74607@@ -499,7 +499,7 @@ next_sge: 75162@@ -499,7 +499,7 @@ next_sge:
74608 svc_rdma_put_context(ctxt, 0); 75163 svc_rdma_put_context(ctxt, 0);
74609 goto out; 75164 goto out;
@@ -74631,9 +75186,9 @@ diff -urNp linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c linux-3.0.7/net/s
74631 75186
74632 /* Build up the XDR from the receive buffers. */ 75187 /* Build up the XDR from the receive buffers. */
74633 rdma_build_arg_xdr(rqstp, ctxt, ctxt->byte_len); 75188 rdma_build_arg_xdr(rqstp, ctxt, ctxt->byte_len);
74634diff -urNp linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_sendto.c linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_sendto.c 75189diff -urNp linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma_sendto.c linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma_sendto.c
74635--- linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_sendto.c 2011-07-21 22:17:23.000000000 -0400 75190--- linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma_sendto.c 2011-07-21 22:17:23.000000000 -0400
74636+++ linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_sendto.c 2011-08-23 21:47:56.000000000 -0400 75191+++ linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma_sendto.c 2011-08-23 21:47:56.000000000 -0400
74637@@ -362,7 +362,7 @@ static int send_write(struct svcxprt_rdm 75192@@ -362,7 +362,7 @@ static int send_write(struct svcxprt_rdm
74638 write_wr.wr.rdma.remote_addr = to; 75193 write_wr.wr.rdma.remote_addr = to;
74639 75194
@@ -74643,9 +75198,9 @@ diff -urNp linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_sendto.c linux-3.0.7/net/sun
74643 if (svc_rdma_send(xprt, &write_wr)) 75198 if (svc_rdma_send(xprt, &write_wr))
74644 goto err; 75199 goto err;
74645 return 0; 75200 return 0;
74646diff -urNp linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_transport.c linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_transport.c 75201diff -urNp linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma_transport.c linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma_transport.c
74647--- linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_transport.c 2011-07-21 22:17:23.000000000 -0400 75202--- linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma_transport.c 2011-07-21 22:17:23.000000000 -0400
74648+++ linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_transport.c 2011-08-23 21:47:56.000000000 -0400 75203+++ linux-3.0.8/net/sunrpc/xprtrdma/svc_rdma_transport.c 2011-08-23 21:47:56.000000000 -0400
74649@@ -298,7 +298,7 @@ static void rq_cq_reap(struct svcxprt_rd 75204@@ -298,7 +298,7 @@ static void rq_cq_reap(struct svcxprt_rd
74650 return; 75205 return;
74651 75206
@@ -74691,9 +75246,9 @@ diff -urNp linux-3.0.7/net/sunrpc/xprtrdma/svc_rdma_transport.c linux-3.0.7/net/
74691 75246
74692 /* See if we can opportunistically reap SQ WR to make room */ 75247 /* See if we can opportunistically reap SQ WR to make room */
74693 sq_cq_reap(xprt); 75248 sq_cq_reap(xprt);
74694diff -urNp linux-3.0.7/net/sysctl_net.c linux-3.0.7/net/sysctl_net.c 75249diff -urNp linux-3.0.8/net/sysctl_net.c linux-3.0.8/net/sysctl_net.c
74695--- linux-3.0.7/net/sysctl_net.c 2011-07-21 22:17:23.000000000 -0400 75250--- linux-3.0.8/net/sysctl_net.c 2011-07-21 22:17:23.000000000 -0400
74696+++ linux-3.0.7/net/sysctl_net.c 2011-08-23 21:48:14.000000000 -0400 75251+++ linux-3.0.8/net/sysctl_net.c 2011-08-23 21:48:14.000000000 -0400
74697@@ -46,7 +46,7 @@ static int net_ctl_permissions(struct ct 75252@@ -46,7 +46,7 @@ static int net_ctl_permissions(struct ct
74698 struct ctl_table *table) 75253 struct ctl_table *table)
74699 { 75254 {
@@ -74703,9 +75258,9 @@ diff -urNp linux-3.0.7/net/sysctl_net.c linux-3.0.7/net/sysctl_net.c
74703 int mode = (table->mode >> 6) & 7; 75258 int mode = (table->mode >> 6) & 7;
74704 return (mode << 6) | (mode << 3) | mode; 75259 return (mode << 6) | (mode << 3) | mode;
74705 } 75260 }
74706diff -urNp linux-3.0.7/net/tipc/link.c linux-3.0.7/net/tipc/link.c 75261diff -urNp linux-3.0.8/net/tipc/link.c linux-3.0.8/net/tipc/link.c
74707--- linux-3.0.7/net/tipc/link.c 2011-07-21 22:17:23.000000000 -0400 75262--- linux-3.0.8/net/tipc/link.c 2011-07-21 22:17:23.000000000 -0400
74708+++ linux-3.0.7/net/tipc/link.c 2011-10-06 04:17:55.000000000 -0400 75263+++ linux-3.0.8/net/tipc/link.c 2011-10-06 04:17:55.000000000 -0400
74709@@ -1170,7 +1170,7 @@ static int link_send_sections_long(struc 75264@@ -1170,7 +1170,7 @@ static int link_send_sections_long(struc
74710 struct tipc_msg fragm_hdr; 75265 struct tipc_msg fragm_hdr;
74711 struct sk_buff *buf, *buf_chain, *prev; 75266 struct sk_buff *buf, *buf_chain, *prev;
@@ -74733,9 +75288,9 @@ diff -urNp linux-3.0.7/net/tipc/link.c linux-3.0.7/net/tipc/link.c
74733 sect_crs += sz; 75288 sect_crs += sz;
74734 sect_rest -= sz; 75289 sect_rest -= sz;
74735 fragm_crs += sz; 75290 fragm_crs += sz;
74736diff -urNp linux-3.0.7/net/tipc/msg.c linux-3.0.7/net/tipc/msg.c 75291diff -urNp linux-3.0.8/net/tipc/msg.c linux-3.0.8/net/tipc/msg.c
74737--- linux-3.0.7/net/tipc/msg.c 2011-07-21 22:17:23.000000000 -0400 75292--- linux-3.0.8/net/tipc/msg.c 2011-07-21 22:17:23.000000000 -0400
74738+++ linux-3.0.7/net/tipc/msg.c 2011-10-06 04:17:55.000000000 -0400 75293+++ linux-3.0.8/net/tipc/msg.c 2011-10-06 04:17:55.000000000 -0400
74739@@ -101,7 +101,7 @@ int tipc_msg_build(struct tipc_msg *hdr, 75294@@ -101,7 +101,7 @@ int tipc_msg_build(struct tipc_msg *hdr,
74740 msg_sect[cnt].iov_len); 75295 msg_sect[cnt].iov_len);
74741 else 75296 else
@@ -74745,9 +75300,9 @@ diff -urNp linux-3.0.7/net/tipc/msg.c linux-3.0.7/net/tipc/msg.c
74745 msg_sect[cnt].iov_len); 75300 msg_sect[cnt].iov_len);
74746 pos += msg_sect[cnt].iov_len; 75301 pos += msg_sect[cnt].iov_len;
74747 } 75302 }
74748diff -urNp linux-3.0.7/net/tipc/subscr.c linux-3.0.7/net/tipc/subscr.c 75303diff -urNp linux-3.0.8/net/tipc/subscr.c linux-3.0.8/net/tipc/subscr.c
74749--- linux-3.0.7/net/tipc/subscr.c 2011-07-21 22:17:23.000000000 -0400 75304--- linux-3.0.8/net/tipc/subscr.c 2011-07-21 22:17:23.000000000 -0400
74750+++ linux-3.0.7/net/tipc/subscr.c 2011-10-06 04:17:55.000000000 -0400 75305+++ linux-3.0.8/net/tipc/subscr.c 2011-10-06 04:17:55.000000000 -0400
74751@@ -101,7 +101,7 @@ static void subscr_send_event(struct sub 75306@@ -101,7 +101,7 @@ static void subscr_send_event(struct sub
74752 { 75307 {
74753 struct iovec msg_sect; 75308 struct iovec msg_sect;
@@ -74757,9 +75312,9 @@ diff -urNp linux-3.0.7/net/tipc/subscr.c linux-3.0.7/net/tipc/subscr.c
74757 msg_sect.iov_len = sizeof(struct tipc_event); 75312 msg_sect.iov_len = sizeof(struct tipc_event);
74758 75313
74759 sub->evt.event = htohl(event, sub->swap); 75314 sub->evt.event = htohl(event, sub->swap);
74760diff -urNp linux-3.0.7/net/unix/af_unix.c linux-3.0.7/net/unix/af_unix.c 75315diff -urNp linux-3.0.8/net/unix/af_unix.c linux-3.0.8/net/unix/af_unix.c
74761--- linux-3.0.7/net/unix/af_unix.c 2011-07-21 22:17:23.000000000 -0400 75316--- linux-3.0.8/net/unix/af_unix.c 2011-07-21 22:17:23.000000000 -0400
74762+++ linux-3.0.7/net/unix/af_unix.c 2011-08-23 21:48:14.000000000 -0400 75317+++ linux-3.0.8/net/unix/af_unix.c 2011-08-23 21:48:14.000000000 -0400
74763@@ -767,6 +767,12 @@ static struct sock *unix_find_other(stru 75318@@ -767,6 +767,12 @@ static struct sock *unix_find_other(stru
74764 err = -ECONNREFUSED; 75319 err = -ECONNREFUSED;
74765 if (!S_ISSOCK(inode->i_mode)) 75320 if (!S_ISSOCK(inode->i_mode))
@@ -74806,9 +75361,9 @@ diff -urNp linux-3.0.7/net/unix/af_unix.c linux-3.0.7/net/unix/af_unix.c
74806 mutex_unlock(&nd.path.dentry->d_inode->i_mutex); 75361 mutex_unlock(&nd.path.dentry->d_inode->i_mutex);
74807 dput(nd.path.dentry); 75362 dput(nd.path.dentry);
74808 nd.path.dentry = dentry; 75363 nd.path.dentry = dentry;
74809diff -urNp linux-3.0.7/net/wireless/core.h linux-3.0.7/net/wireless/core.h 75364diff -urNp linux-3.0.8/net/wireless/core.h linux-3.0.8/net/wireless/core.h
74810--- linux-3.0.7/net/wireless/core.h 2011-07-21 22:17:23.000000000 -0400 75365--- linux-3.0.8/net/wireless/core.h 2011-07-21 22:17:23.000000000 -0400
74811+++ linux-3.0.7/net/wireless/core.h 2011-08-23 21:47:56.000000000 -0400 75366+++ linux-3.0.8/net/wireless/core.h 2011-08-23 21:47:56.000000000 -0400
74812@@ -27,7 +27,7 @@ struct cfg80211_registered_device { 75367@@ -27,7 +27,7 @@ struct cfg80211_registered_device {
74813 struct mutex mtx; 75368 struct mutex mtx;
74814 75369
@@ -74818,9 +75373,9 @@ diff -urNp linux-3.0.7/net/wireless/core.h linux-3.0.7/net/wireless/core.h
74818 struct rfkill *rfkill; 75373 struct rfkill *rfkill;
74819 struct work_struct rfkill_sync; 75374 struct work_struct rfkill_sync;
74820 75375
74821diff -urNp linux-3.0.7/net/wireless/wext-core.c linux-3.0.7/net/wireless/wext-core.c 75376diff -urNp linux-3.0.8/net/wireless/wext-core.c linux-3.0.8/net/wireless/wext-core.c
74822--- linux-3.0.7/net/wireless/wext-core.c 2011-07-21 22:17:23.000000000 -0400 75377--- linux-3.0.8/net/wireless/wext-core.c 2011-07-21 22:17:23.000000000 -0400
74823+++ linux-3.0.7/net/wireless/wext-core.c 2011-08-23 21:47:56.000000000 -0400 75378+++ linux-3.0.8/net/wireless/wext-core.c 2011-08-23 21:47:56.000000000 -0400
74824@@ -746,8 +746,7 @@ static int ioctl_standard_iw_point(struc 75379@@ -746,8 +746,7 @@ static int ioctl_standard_iw_point(struc
74825 */ 75380 */
74826 75381
@@ -74854,9 +75409,9 @@ diff -urNp linux-3.0.7/net/wireless/wext-core.c linux-3.0.7/net/wireless/wext-co
74854 err = handler(dev, info, (union iwreq_data *) iwp, extra); 75409 err = handler(dev, info, (union iwreq_data *) iwp, extra);
74855 75410
74856 iwp->length += essid_compat; 75411 iwp->length += essid_compat;
74857diff -urNp linux-3.0.7/net/xfrm/xfrm_policy.c linux-3.0.7/net/xfrm/xfrm_policy.c 75412diff -urNp linux-3.0.8/net/xfrm/xfrm_policy.c linux-3.0.8/net/xfrm/xfrm_policy.c
74858--- linux-3.0.7/net/xfrm/xfrm_policy.c 2011-07-21 22:17:23.000000000 -0400 75413--- linux-3.0.8/net/xfrm/xfrm_policy.c 2011-07-21 22:17:23.000000000 -0400
74859+++ linux-3.0.7/net/xfrm/xfrm_policy.c 2011-08-23 21:47:56.000000000 -0400 75414+++ linux-3.0.8/net/xfrm/xfrm_policy.c 2011-08-23 21:47:56.000000000 -0400
74860@@ -299,7 +299,7 @@ static void xfrm_policy_kill(struct xfrm 75415@@ -299,7 +299,7 @@ static void xfrm_policy_kill(struct xfrm
74861 { 75416 {
74862 policy->walk.dead = 1; 75417 policy->walk.dead = 1;
@@ -74929,9 +75484,9 @@ diff -urNp linux-3.0.7/net/xfrm/xfrm_policy.c linux-3.0.7/net/xfrm/xfrm_policy.c
74929 } 75484 }
74930 } 75485 }
74931 75486
74932diff -urNp linux-3.0.7/net/xfrm/xfrm_user.c linux-3.0.7/net/xfrm/xfrm_user.c 75487diff -urNp linux-3.0.8/net/xfrm/xfrm_user.c linux-3.0.8/net/xfrm/xfrm_user.c
74933--- linux-3.0.7/net/xfrm/xfrm_user.c 2011-07-21 22:17:23.000000000 -0400 75488--- linux-3.0.8/net/xfrm/xfrm_user.c 2011-07-21 22:17:23.000000000 -0400
74934+++ linux-3.0.7/net/xfrm/xfrm_user.c 2011-08-23 21:48:14.000000000 -0400 75489+++ linux-3.0.8/net/xfrm/xfrm_user.c 2011-08-23 21:48:14.000000000 -0400
74935@@ -1394,6 +1394,8 @@ static int copy_to_user_tmpl(struct xfrm 75490@@ -1394,6 +1394,8 @@ static int copy_to_user_tmpl(struct xfrm
74936 struct xfrm_user_tmpl vec[XFRM_MAX_DEPTH]; 75491 struct xfrm_user_tmpl vec[XFRM_MAX_DEPTH];
74937 int i; 75492 int i;
@@ -74950,53 +75505,9 @@ diff -urNp linux-3.0.7/net/xfrm/xfrm_user.c linux-3.0.7/net/xfrm/xfrm_user.c
74950 if (attrs[XFRMA_MIGRATE] == NULL) 75505 if (attrs[XFRMA_MIGRATE] == NULL)
74951 return -EINVAL; 75506 return -EINVAL;
74952 75507
74953diff -urNp linux-3.0.7/scripts/Makefile.build linux-3.0.7/scripts/Makefile.build 75508diff -urNp linux-3.0.8/scripts/basic/fixdep.c linux-3.0.8/scripts/basic/fixdep.c
74954--- linux-3.0.7/scripts/Makefile.build 2011-07-21 22:17:23.000000000 -0400 75509--- linux-3.0.8/scripts/basic/fixdep.c 2011-07-21 22:17:23.000000000 -0400
74955+++ linux-3.0.7/scripts/Makefile.build 2011-08-23 21:47:56.000000000 -0400 75510+++ linux-3.0.8/scripts/basic/fixdep.c 2011-10-06 04:17:55.000000000 -0400
74956@@ -109,7 +109,7 @@ endif
74957 endif
74958
74959 # Do not include host rules unless needed
74960-ifneq ($(hostprogs-y)$(hostprogs-m),)
74961+ifneq ($(hostprogs-y)$(hostprogs-m)$(hostlibs-y)$(hostlibs-m),)
74962 include scripts/Makefile.host
74963 endif
74964
74965diff -urNp linux-3.0.7/scripts/Makefile.clean linux-3.0.7/scripts/Makefile.clean
74966--- linux-3.0.7/scripts/Makefile.clean 2011-07-21 22:17:23.000000000 -0400
74967+++ linux-3.0.7/scripts/Makefile.clean 2011-08-23 21:47:56.000000000 -0400
74968@@ -43,7 +43,8 @@ subdir-ymn := $(addprefix $(obj)/,$(subd
74969 __clean-files := $(extra-y) $(always) \
74970 $(targets) $(clean-files) \
74971 $(host-progs) \
74972- $(hostprogs-y) $(hostprogs-m) $(hostprogs-)
74973+ $(hostprogs-y) $(hostprogs-m) $(hostprogs-) \
74974+ $(hostlibs-y) $(hostlibs-m) $(hostlibs-)
74975
74976 __clean-files := $(filter-out $(no-clean-files), $(__clean-files))
74977
74978diff -urNp linux-3.0.7/scripts/Makefile.host linux-3.0.7/scripts/Makefile.host
74979--- linux-3.0.7/scripts/Makefile.host 2011-07-21 22:17:23.000000000 -0400
74980+++ linux-3.0.7/scripts/Makefile.host 2011-08-23 21:47:56.000000000 -0400
74981@@ -31,6 +31,7 @@
74982 # Note: Shared libraries consisting of C++ files are not supported
74983
74984 __hostprogs := $(sort $(hostprogs-y) $(hostprogs-m))
74985+__hostlibs := $(sort $(hostlibs-y) $(hostlibs-m))
74986
74987 # C code
74988 # Executables compiled from a single .c file
74989@@ -54,6 +55,7 @@ host-cxxobjs := $(sort $(foreach m,$(hos
74990 # Shared libaries (only .c supported)
74991 # Shared libraries (.so) - all .so files referenced in "xxx-objs"
74992 host-cshlib := $(sort $(filter %.so, $(host-cobjs)))
74993+host-cshlib += $(sort $(filter %.so, $(__hostlibs)))
74994 # Remove .so files from "xxx-objs"
74995 host-cobjs := $(filter-out %.so,$(host-cobjs))
74996
74997diff -urNp linux-3.0.7/scripts/basic/fixdep.c linux-3.0.7/scripts/basic/fixdep.c
74998--- linux-3.0.7/scripts/basic/fixdep.c 2011-07-21 22:17:23.000000000 -0400
74999+++ linux-3.0.7/scripts/basic/fixdep.c 2011-10-06 04:17:55.000000000 -0400
75000@@ -161,7 +161,7 @@ static unsigned int strhash(const char * 75511@@ -161,7 +161,7 @@ static unsigned int strhash(const char *
75001 /* 75512 /*
75002 * Lookup a value in the configuration string. 75513 * Lookup a value in the configuration string.
@@ -75040,15 +75551,59 @@ diff -urNp linux-3.0.7/scripts/basic/fixdep.c linux-3.0.7/scripts/basic/fixdep.c
75040 75551
75041 if (*p != INT_CONF) { 75552 if (*p != INT_CONF) {
75042 fprintf(stderr, "fixdep: sizeof(int) != 4 or wrong endianess? %#x\n", 75553 fprintf(stderr, "fixdep: sizeof(int) != 4 or wrong endianess? %#x\n",
75043diff -urNp linux-3.0.7/scripts/gcc-plugin.sh linux-3.0.7/scripts/gcc-plugin.sh 75554diff -urNp linux-3.0.8/scripts/gcc-plugin.sh linux-3.0.8/scripts/gcc-plugin.sh
75044--- linux-3.0.7/scripts/gcc-plugin.sh 1969-12-31 19:00:00.000000000 -0500 75555--- linux-3.0.8/scripts/gcc-plugin.sh 1969-12-31 19:00:00.000000000 -0500
75045+++ linux-3.0.7/scripts/gcc-plugin.sh 2011-09-14 09:08:05.000000000 -0400 75556+++ linux-3.0.8/scripts/gcc-plugin.sh 2011-09-14 09:08:05.000000000 -0400
75046@@ -0,0 +1,2 @@ 75557@@ -0,0 +1,2 @@
75047+#!/bin/sh 75558+#!/bin/sh
75048+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" 75559+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"
75049diff -urNp linux-3.0.7/scripts/mod/file2alias.c linux-3.0.7/scripts/mod/file2alias.c 75560diff -urNp linux-3.0.8/scripts/Makefile.build linux-3.0.8/scripts/Makefile.build
75050--- linux-3.0.7/scripts/mod/file2alias.c 2011-07-21 22:17:23.000000000 -0400 75561--- linux-3.0.8/scripts/Makefile.build 2011-07-21 22:17:23.000000000 -0400
75051+++ linux-3.0.7/scripts/mod/file2alias.c 2011-10-06 04:17:55.000000000 -0400 75562+++ linux-3.0.8/scripts/Makefile.build 2011-08-23 21:47:56.000000000 -0400
75563@@ -109,7 +109,7 @@ endif
75564 endif
75565
75566 # Do not include host rules unless needed
75567-ifneq ($(hostprogs-y)$(hostprogs-m),)
75568+ifneq ($(hostprogs-y)$(hostprogs-m)$(hostlibs-y)$(hostlibs-m),)
75569 include scripts/Makefile.host
75570 endif
75571
75572diff -urNp linux-3.0.8/scripts/Makefile.clean linux-3.0.8/scripts/Makefile.clean
75573--- linux-3.0.8/scripts/Makefile.clean 2011-07-21 22:17:23.000000000 -0400
75574+++ linux-3.0.8/scripts/Makefile.clean 2011-08-23 21:47:56.000000000 -0400
75575@@ -43,7 +43,8 @@ subdir-ymn := $(addprefix $(obj)/,$(subd
75576 __clean-files := $(extra-y) $(always) \
75577 $(targets) $(clean-files) \
75578 $(host-progs) \
75579- $(hostprogs-y) $(hostprogs-m) $(hostprogs-)
75580+ $(hostprogs-y) $(hostprogs-m) $(hostprogs-) \
75581+ $(hostlibs-y) $(hostlibs-m) $(hostlibs-)
75582
75583 __clean-files := $(filter-out $(no-clean-files), $(__clean-files))
75584
75585diff -urNp linux-3.0.8/scripts/Makefile.host linux-3.0.8/scripts/Makefile.host
75586--- linux-3.0.8/scripts/Makefile.host 2011-07-21 22:17:23.000000000 -0400
75587+++ linux-3.0.8/scripts/Makefile.host 2011-08-23 21:47:56.000000000 -0400
75588@@ -31,6 +31,7 @@
75589 # Note: Shared libraries consisting of C++ files are not supported
75590
75591 __hostprogs := $(sort $(hostprogs-y) $(hostprogs-m))
75592+__hostlibs := $(sort $(hostlibs-y) $(hostlibs-m))
75593
75594 # C code
75595 # Executables compiled from a single .c file
75596@@ -54,6 +55,7 @@ host-cxxobjs := $(sort $(foreach m,$(hos
75597 # Shared libaries (only .c supported)
75598 # Shared libraries (.so) - all .so files referenced in "xxx-objs"
75599 host-cshlib := $(sort $(filter %.so, $(host-cobjs)))
75600+host-cshlib += $(sort $(filter %.so, $(__hostlibs)))
75601 # Remove .so files from "xxx-objs"
75602 host-cobjs := $(filter-out %.so,$(host-cobjs))
75603
75604diff -urNp linux-3.0.8/scripts/mod/file2alias.c linux-3.0.8/scripts/mod/file2alias.c
75605--- linux-3.0.8/scripts/mod/file2alias.c 2011-07-21 22:17:23.000000000 -0400
75606+++ linux-3.0.8/scripts/mod/file2alias.c 2011-10-06 04:17:55.000000000 -0400
75052@@ -72,7 +72,7 @@ static void device_id_check(const char * 75607@@ -72,7 +72,7 @@ static void device_id_check(const char *
75053 unsigned long size, unsigned long id_size, 75608 unsigned long size, unsigned long id_size,
75054 void *symval) 75609 void *symval)
@@ -75112,9 +75667,9 @@ diff -urNp linux-3.0.7/scripts/mod/file2alias.c linux-3.0.7/scripts/mod/file2ali
75112 75667
75113 sprintf(alias, "dmi*"); 75668 sprintf(alias, "dmi*");
75114 75669
75115diff -urNp linux-3.0.7/scripts/mod/modpost.c linux-3.0.7/scripts/mod/modpost.c 75670diff -urNp linux-3.0.8/scripts/mod/modpost.c linux-3.0.8/scripts/mod/modpost.c
75116--- linux-3.0.7/scripts/mod/modpost.c 2011-07-21 22:17:23.000000000 -0400 75671--- linux-3.0.8/scripts/mod/modpost.c 2011-07-21 22:17:23.000000000 -0400
75117+++ linux-3.0.7/scripts/mod/modpost.c 2011-08-23 21:47:56.000000000 -0400 75672+++ linux-3.0.8/scripts/mod/modpost.c 2011-08-23 21:47:56.000000000 -0400
75118@@ -892,6 +892,7 @@ enum mismatch { 75673@@ -892,6 +892,7 @@ enum mismatch {
75119 ANY_INIT_TO_ANY_EXIT, 75674 ANY_INIT_TO_ANY_EXIT,
75120 ANY_EXIT_TO_ANY_INIT, 75675 ANY_EXIT_TO_ANY_INIT,
@@ -75191,9 +75746,9 @@ diff -urNp linux-3.0.7/scripts/mod/modpost.c linux-3.0.7/scripts/mod/modpost.c
75191 goto close_write; 75746 goto close_write;
75192 75747
75193 tmp = NOFAIL(malloc(b->pos)); 75748 tmp = NOFAIL(malloc(b->pos));
75194diff -urNp linux-3.0.7/scripts/mod/modpost.h linux-3.0.7/scripts/mod/modpost.h 75749diff -urNp linux-3.0.8/scripts/mod/modpost.h linux-3.0.8/scripts/mod/modpost.h
75195--- linux-3.0.7/scripts/mod/modpost.h 2011-07-21 22:17:23.000000000 -0400 75750--- linux-3.0.8/scripts/mod/modpost.h 2011-07-21 22:17:23.000000000 -0400
75196+++ linux-3.0.7/scripts/mod/modpost.h 2011-08-23 21:47:56.000000000 -0400 75751+++ linux-3.0.8/scripts/mod/modpost.h 2011-08-23 21:47:56.000000000 -0400
75197@@ -92,15 +92,15 @@ void *do_nofail(void *ptr, const char *e 75752@@ -92,15 +92,15 @@ void *do_nofail(void *ptr, const char *e
75198 75753
75199 struct buffer { 75754 struct buffer {
@@ -75213,9 +75768,9 @@ diff -urNp linux-3.0.7/scripts/mod/modpost.h linux-3.0.7/scripts/mod/modpost.h
75213 75768
75214 struct module { 75769 struct module {
75215 struct module *next; 75770 struct module *next;
75216diff -urNp linux-3.0.7/scripts/mod/sumversion.c linux-3.0.7/scripts/mod/sumversion.c 75771diff -urNp linux-3.0.8/scripts/mod/sumversion.c linux-3.0.8/scripts/mod/sumversion.c
75217--- linux-3.0.7/scripts/mod/sumversion.c 2011-07-21 22:17:23.000000000 -0400 75772--- linux-3.0.8/scripts/mod/sumversion.c 2011-07-21 22:17:23.000000000 -0400
75218+++ linux-3.0.7/scripts/mod/sumversion.c 2011-08-23 21:47:56.000000000 -0400 75773+++ linux-3.0.8/scripts/mod/sumversion.c 2011-08-23 21:47:56.000000000 -0400
75219@@ -470,7 +470,7 @@ static void write_version(const char *fi 75774@@ -470,7 +470,7 @@ static void write_version(const char *fi
75220 goto out; 75775 goto out;
75221 } 75776 }
@@ -75225,9 +75780,9 @@ diff -urNp linux-3.0.7/scripts/mod/sumversion.c linux-3.0.7/scripts/mod/sumversi
75225 warn("writing sum in %s failed: %s\n", 75780 warn("writing sum in %s failed: %s\n",
75226 filename, strerror(errno)); 75781 filename, strerror(errno));
75227 goto out; 75782 goto out;
75228diff -urNp linux-3.0.7/scripts/pnmtologo.c linux-3.0.7/scripts/pnmtologo.c 75783diff -urNp linux-3.0.8/scripts/pnmtologo.c linux-3.0.8/scripts/pnmtologo.c
75229--- linux-3.0.7/scripts/pnmtologo.c 2011-07-21 22:17:23.000000000 -0400 75784--- linux-3.0.8/scripts/pnmtologo.c 2011-07-21 22:17:23.000000000 -0400
75230+++ linux-3.0.7/scripts/pnmtologo.c 2011-08-23 21:47:56.000000000 -0400 75785+++ linux-3.0.8/scripts/pnmtologo.c 2011-08-23 21:47:56.000000000 -0400
75231@@ -237,14 +237,14 @@ static void write_header(void) 75786@@ -237,14 +237,14 @@ static void write_header(void)
75232 fprintf(out, " * Linux logo %s\n", logoname); 75787 fprintf(out, " * Linux logo %s\n", logoname);
75233 fputs(" */\n\n", out); 75788 fputs(" */\n\n", out);
@@ -75254,9 +75809,107 @@ diff -urNp linux-3.0.7/scripts/pnmtologo.c linux-3.0.7/scripts/pnmtologo.c
75254 logoname); 75809 logoname);
75255 write_hex_cnt = 0; 75810 write_hex_cnt = 0;
75256 for (i = 0; i < logo_clutsize; i++) { 75811 for (i = 0; i < logo_clutsize; i++) {
75257diff -urNp linux-3.0.7/security/Kconfig linux-3.0.7/security/Kconfig 75812diff -urNp linux-3.0.8/security/apparmor/lsm.c linux-3.0.8/security/apparmor/lsm.c
75258--- linux-3.0.7/security/Kconfig 2011-07-21 22:17:23.000000000 -0400 75813--- linux-3.0.8/security/apparmor/lsm.c 2011-10-24 08:05:21.000000000 -0400
75259+++ linux-3.0.7/security/Kconfig 2011-10-06 04:19:25.000000000 -0400 75814+++ linux-3.0.8/security/apparmor/lsm.c 2011-08-23 21:48:14.000000000 -0400
75815@@ -621,7 +621,7 @@ static int apparmor_task_setrlimit(struc
75816 return error;
75817 }
75818
75819-static struct security_operations apparmor_ops = {
75820+static struct security_operations apparmor_ops __read_only = {
75821 .name = "apparmor",
75822
75823 .ptrace_access_check = apparmor_ptrace_access_check,
75824diff -urNp linux-3.0.8/security/commoncap.c linux-3.0.8/security/commoncap.c
75825--- linux-3.0.8/security/commoncap.c 2011-07-21 22:17:23.000000000 -0400
75826+++ linux-3.0.8/security/commoncap.c 2011-08-23 21:48:14.000000000 -0400
75827@@ -28,6 +28,7 @@
75828 #include <linux/prctl.h>
75829 #include <linux/securebits.h>
75830 #include <linux/user_namespace.h>
75831+#include <net/sock.h>
75832
75833 /*
75834 * If a non-root user executes a setuid-root binary in
75835@@ -58,7 +59,7 @@ int cap_netlink_send(struct sock *sk, st
75836
75837 int cap_netlink_recv(struct sk_buff *skb, int cap)
75838 {
75839- if (!cap_raised(current_cap(), cap))
75840+ if (!cap_raised(current_cap(), cap) || !gr_is_capable(cap))
75841 return -EPERM;
75842 return 0;
75843 }
75844@@ -575,6 +576,9 @@ int cap_bprm_secureexec(struct linux_bin
75845 {
75846 const struct cred *cred = current_cred();
75847
75848+ if (gr_acl_enable_at_secure())
75849+ return 1;
75850+
75851 if (cred->uid != 0) {
75852 if (bprm->cap_effective)
75853 return 1;
75854diff -urNp linux-3.0.8/security/integrity/ima/ima_api.c linux-3.0.8/security/integrity/ima/ima_api.c
75855--- linux-3.0.8/security/integrity/ima/ima_api.c 2011-07-21 22:17:23.000000000 -0400
75856+++ linux-3.0.8/security/integrity/ima/ima_api.c 2011-08-23 21:47:56.000000000 -0400
75857@@ -75,7 +75,7 @@ void ima_add_violation(struct inode *ino
75858 int result;
75859
75860 /* can overflow, only indicator */
75861- atomic_long_inc(&ima_htable.violations);
75862+ atomic_long_inc_unchecked(&ima_htable.violations);
75863
75864 entry = kmalloc(sizeof(*entry), GFP_KERNEL);
75865 if (!entry) {
75866diff -urNp linux-3.0.8/security/integrity/ima/ima_fs.c linux-3.0.8/security/integrity/ima/ima_fs.c
75867--- linux-3.0.8/security/integrity/ima/ima_fs.c 2011-07-21 22:17:23.000000000 -0400
75868+++ linux-3.0.8/security/integrity/ima/ima_fs.c 2011-08-23 21:47:56.000000000 -0400
75869@@ -28,12 +28,12 @@
75870 static int valid_policy = 1;
75871 #define TMPBUFLEN 12
75872 static ssize_t ima_show_htable_value(char __user *buf, size_t count,
75873- loff_t *ppos, atomic_long_t *val)
75874+ loff_t *ppos, atomic_long_unchecked_t *val)
75875 {
75876 char tmpbuf[TMPBUFLEN];
75877 ssize_t len;
75878
75879- len = scnprintf(tmpbuf, TMPBUFLEN, "%li\n", atomic_long_read(val));
75880+ len = scnprintf(tmpbuf, TMPBUFLEN, "%li\n", atomic_long_read_unchecked(val));
75881 return simple_read_from_buffer(buf, count, ppos, tmpbuf, len);
75882 }
75883
75884diff -urNp linux-3.0.8/security/integrity/ima/ima.h linux-3.0.8/security/integrity/ima/ima.h
75885--- linux-3.0.8/security/integrity/ima/ima.h 2011-07-21 22:17:23.000000000 -0400
75886+++ linux-3.0.8/security/integrity/ima/ima.h 2011-08-23 21:47:56.000000000 -0400
75887@@ -85,8 +85,8 @@ void ima_add_violation(struct inode *ino
75888 extern spinlock_t ima_queue_lock;
75889
75890 struct ima_h_table {
75891- atomic_long_t len; /* number of stored measurements in the list */
75892- atomic_long_t violations;
75893+ atomic_long_unchecked_t len; /* number of stored measurements in the list */
75894+ atomic_long_unchecked_t violations;
75895 struct hlist_head queue[IMA_MEASURE_HTABLE_SIZE];
75896 };
75897 extern struct ima_h_table ima_htable;
75898diff -urNp linux-3.0.8/security/integrity/ima/ima_queue.c linux-3.0.8/security/integrity/ima/ima_queue.c
75899--- linux-3.0.8/security/integrity/ima/ima_queue.c 2011-07-21 22:17:23.000000000 -0400
75900+++ linux-3.0.8/security/integrity/ima/ima_queue.c 2011-08-23 21:47:56.000000000 -0400
75901@@ -79,7 +79,7 @@ static int ima_add_digest_entry(struct i
75902 INIT_LIST_HEAD(&qe->later);
75903 list_add_tail_rcu(&qe->later, &ima_measurements);
75904
75905- atomic_long_inc(&ima_htable.len);
75906+ atomic_long_inc_unchecked(&ima_htable.len);
75907 key = ima_hash_key(entry->digest);
75908 hlist_add_head_rcu(&qe->hnext, &ima_htable.queue[key]);
75909 return 0;
75910diff -urNp linux-3.0.8/security/Kconfig linux-3.0.8/security/Kconfig
75911--- linux-3.0.8/security/Kconfig 2011-07-21 22:17:23.000000000 -0400
75912+++ linux-3.0.8/security/Kconfig 2011-10-06 04:19:25.000000000 -0400
75260@@ -4,6 +4,558 @@ 75913@@ -4,6 +4,558 @@
75261 75914
75262 menu "Security options" 75915 menu "Security options"
@@ -75825,107 +76478,9 @@ diff -urNp linux-3.0.7/security/Kconfig linux-3.0.7/security/Kconfig
75825 default 65536 76478 default 65536
75826 help 76479 help
75827 This is the portion of low virtual memory which should be protected 76480 This is the portion of low virtual memory which should be protected
75828diff -urNp linux-3.0.7/security/apparmor/lsm.c linux-3.0.7/security/apparmor/lsm.c 76481diff -urNp linux-3.0.8/security/keys/compat.c linux-3.0.8/security/keys/compat.c
75829--- linux-3.0.7/security/apparmor/lsm.c 2011-09-02 18:11:21.000000000 -0400 76482--- linux-3.0.8/security/keys/compat.c 2011-07-21 22:17:23.000000000 -0400
75830+++ linux-3.0.7/security/apparmor/lsm.c 2011-08-23 21:48:14.000000000 -0400 76483+++ linux-3.0.8/security/keys/compat.c 2011-10-06 04:17:55.000000000 -0400
75831@@ -621,7 +621,7 @@ static int apparmor_task_setrlimit(struc
75832 return error;
75833 }
75834
75835-static struct security_operations apparmor_ops = {
75836+static struct security_operations apparmor_ops __read_only = {
75837 .name = "apparmor",
75838
75839 .ptrace_access_check = apparmor_ptrace_access_check,
75840diff -urNp linux-3.0.7/security/commoncap.c linux-3.0.7/security/commoncap.c
75841--- linux-3.0.7/security/commoncap.c 2011-07-21 22:17:23.000000000 -0400
75842+++ linux-3.0.7/security/commoncap.c 2011-08-23 21:48:14.000000000 -0400
75843@@ -28,6 +28,7 @@
75844 #include <linux/prctl.h>
75845 #include <linux/securebits.h>
75846 #include <linux/user_namespace.h>
75847+#include <net/sock.h>
75848
75849 /*
75850 * If a non-root user executes a setuid-root binary in
75851@@ -58,7 +59,7 @@ int cap_netlink_send(struct sock *sk, st
75852
75853 int cap_netlink_recv(struct sk_buff *skb, int cap)
75854 {
75855- if (!cap_raised(current_cap(), cap))
75856+ if (!cap_raised(current_cap(), cap) || !gr_is_capable(cap))
75857 return -EPERM;
75858 return 0;
75859 }
75860@@ -575,6 +576,9 @@ int cap_bprm_secureexec(struct linux_bin
75861 {
75862 const struct cred *cred = current_cred();
75863
75864+ if (gr_acl_enable_at_secure())
75865+ return 1;
75866+
75867 if (cred->uid != 0) {
75868 if (bprm->cap_effective)
75869 return 1;
75870diff -urNp linux-3.0.7/security/integrity/ima/ima.h linux-3.0.7/security/integrity/ima/ima.h
75871--- linux-3.0.7/security/integrity/ima/ima.h 2011-07-21 22:17:23.000000000 -0400
75872+++ linux-3.0.7/security/integrity/ima/ima.h 2011-08-23 21:47:56.000000000 -0400
75873@@ -85,8 +85,8 @@ void ima_add_violation(struct inode *ino
75874 extern spinlock_t ima_queue_lock;
75875
75876 struct ima_h_table {
75877- atomic_long_t len; /* number of stored measurements in the list */
75878- atomic_long_t violations;
75879+ atomic_long_unchecked_t len; /* number of stored measurements in the list */
75880+ atomic_long_unchecked_t violations;
75881 struct hlist_head queue[IMA_MEASURE_HTABLE_SIZE];
75882 };
75883 extern struct ima_h_table ima_htable;
75884diff -urNp linux-3.0.7/security/integrity/ima/ima_api.c linux-3.0.7/security/integrity/ima/ima_api.c
75885--- linux-3.0.7/security/integrity/ima/ima_api.c 2011-07-21 22:17:23.000000000 -0400
75886+++ linux-3.0.7/security/integrity/ima/ima_api.c 2011-08-23 21:47:56.000000000 -0400
75887@@ -75,7 +75,7 @@ void ima_add_violation(struct inode *ino
75888 int result;
75889
75890 /* can overflow, only indicator */
75891- atomic_long_inc(&ima_htable.violations);
75892+ atomic_long_inc_unchecked(&ima_htable.violations);
75893
75894 entry = kmalloc(sizeof(*entry), GFP_KERNEL);
75895 if (!entry) {
75896diff -urNp linux-3.0.7/security/integrity/ima/ima_fs.c linux-3.0.7/security/integrity/ima/ima_fs.c
75897--- linux-3.0.7/security/integrity/ima/ima_fs.c 2011-07-21 22:17:23.000000000 -0400
75898+++ linux-3.0.7/security/integrity/ima/ima_fs.c 2011-08-23 21:47:56.000000000 -0400
75899@@ -28,12 +28,12 @@
75900 static int valid_policy = 1;
75901 #define TMPBUFLEN 12
75902 static ssize_t ima_show_htable_value(char __user *buf, size_t count,
75903- loff_t *ppos, atomic_long_t *val)
75904+ loff_t *ppos, atomic_long_unchecked_t *val)
75905 {
75906 char tmpbuf[TMPBUFLEN];
75907 ssize_t len;
75908
75909- len = scnprintf(tmpbuf, TMPBUFLEN, "%li\n", atomic_long_read(val));
75910+ len = scnprintf(tmpbuf, TMPBUFLEN, "%li\n", atomic_long_read_unchecked(val));
75911 return simple_read_from_buffer(buf, count, ppos, tmpbuf, len);
75912 }
75913
75914diff -urNp linux-3.0.7/security/integrity/ima/ima_queue.c linux-3.0.7/security/integrity/ima/ima_queue.c
75915--- linux-3.0.7/security/integrity/ima/ima_queue.c 2011-07-21 22:17:23.000000000 -0400
75916+++ linux-3.0.7/security/integrity/ima/ima_queue.c 2011-08-23 21:47:56.000000000 -0400
75917@@ -79,7 +79,7 @@ static int ima_add_digest_entry(struct i
75918 INIT_LIST_HEAD(&qe->later);
75919 list_add_tail_rcu(&qe->later, &ima_measurements);
75920
75921- atomic_long_inc(&ima_htable.len);
75922+ atomic_long_inc_unchecked(&ima_htable.len);
75923 key = ima_hash_key(entry->digest);
75924 hlist_add_head_rcu(&qe->hnext, &ima_htable.queue[key]);
75925 return 0;
75926diff -urNp linux-3.0.7/security/keys/compat.c linux-3.0.7/security/keys/compat.c
75927--- linux-3.0.7/security/keys/compat.c 2011-07-21 22:17:23.000000000 -0400
75928+++ linux-3.0.7/security/keys/compat.c 2011-10-06 04:17:55.000000000 -0400
75929@@ -44,7 +44,7 @@ long compat_keyctl_instantiate_key_iov( 76484@@ -44,7 +44,7 @@ long compat_keyctl_instantiate_key_iov(
75930 if (ret == 0) 76485 if (ret == 0)
75931 goto no_payload_free; 76486 goto no_payload_free;
@@ -75935,9 +76490,9 @@ diff -urNp linux-3.0.7/security/keys/compat.c linux-3.0.7/security/keys/compat.c
75935 76490
75936 if (iov != iovstack) 76491 if (iov != iovstack)
75937 kfree(iov); 76492 kfree(iov);
75938diff -urNp linux-3.0.7/security/keys/keyctl.c linux-3.0.7/security/keys/keyctl.c 76493diff -urNp linux-3.0.8/security/keys/keyctl.c linux-3.0.8/security/keys/keyctl.c
75939--- linux-3.0.7/security/keys/keyctl.c 2011-07-21 22:17:23.000000000 -0400 76494--- linux-3.0.8/security/keys/keyctl.c 2011-07-21 22:17:23.000000000 -0400
75940+++ linux-3.0.7/security/keys/keyctl.c 2011-10-06 04:17:55.000000000 -0400 76495+++ linux-3.0.8/security/keys/keyctl.c 2011-10-06 04:17:55.000000000 -0400
75941@@ -921,7 +921,7 @@ static int keyctl_change_reqkey_auth(str 76496@@ -921,7 +921,7 @@ static int keyctl_change_reqkey_auth(str
75942 /* 76497 /*
75943 * Copy the iovec data from userspace 76498 * Copy the iovec data from userspace
@@ -75974,9 +76529,9 @@ diff -urNp linux-3.0.7/security/keys/keyctl.c linux-3.0.7/security/keys/keyctl.c
75974 76529
75975 if (iov != iovstack) 76530 if (iov != iovstack)
75976 kfree(iov); 76531 kfree(iov);
75977diff -urNp linux-3.0.7/security/keys/keyring.c linux-3.0.7/security/keys/keyring.c 76532diff -urNp linux-3.0.8/security/keys/keyring.c linux-3.0.8/security/keys/keyring.c
75978--- linux-3.0.7/security/keys/keyring.c 2011-07-21 22:17:23.000000000 -0400 76533--- linux-3.0.8/security/keys/keyring.c 2011-07-21 22:17:23.000000000 -0400
75979+++ linux-3.0.7/security/keys/keyring.c 2011-08-23 21:47:56.000000000 -0400 76534+++ linux-3.0.8/security/keys/keyring.c 2011-08-23 21:47:56.000000000 -0400
75980@@ -215,15 +215,15 @@ static long keyring_read(const struct ke 76535@@ -215,15 +215,15 @@ static long keyring_read(const struct ke
75981 ret = -EFAULT; 76536 ret = -EFAULT;
75982 76537
@@ -75996,9 +76551,9 @@ diff -urNp linux-3.0.7/security/keys/keyring.c linux-3.0.7/security/keys/keyring
75996 goto error; 76551 goto error;
75997 76552
75998 buflen -= tmp; 76553 buflen -= tmp;
75999diff -urNp linux-3.0.7/security/min_addr.c linux-3.0.7/security/min_addr.c 76554diff -urNp linux-3.0.8/security/min_addr.c linux-3.0.8/security/min_addr.c
76000--- linux-3.0.7/security/min_addr.c 2011-07-21 22:17:23.000000000 -0400 76555--- linux-3.0.8/security/min_addr.c 2011-07-21 22:17:23.000000000 -0400
76001+++ linux-3.0.7/security/min_addr.c 2011-08-23 21:48:14.000000000 -0400 76556+++ linux-3.0.8/security/min_addr.c 2011-08-23 21:48:14.000000000 -0400
76002@@ -14,6 +14,7 @@ unsigned long dac_mmap_min_addr = CONFIG 76557@@ -14,6 +14,7 @@ unsigned long dac_mmap_min_addr = CONFIG
76003 */ 76558 */
76004 static void update_mmap_min_addr(void) 76559 static void update_mmap_min_addr(void)
@@ -76015,9 +76570,9 @@ diff -urNp linux-3.0.7/security/min_addr.c linux-3.0.7/security/min_addr.c
76015 } 76570 }
76016 76571
76017 /* 76572 /*
76018diff -urNp linux-3.0.7/security/security.c linux-3.0.7/security/security.c 76573diff -urNp linux-3.0.8/security/security.c linux-3.0.8/security/security.c
76019--- linux-3.0.7/security/security.c 2011-07-21 22:17:23.000000000 -0400 76574--- linux-3.0.8/security/security.c 2011-07-21 22:17:23.000000000 -0400
76020+++ linux-3.0.7/security/security.c 2011-08-23 21:48:14.000000000 -0400 76575+++ linux-3.0.8/security/security.c 2011-08-23 21:48:14.000000000 -0400
76021@@ -25,8 +25,8 @@ static __initdata char chosen_lsm[SECURI 76576@@ -25,8 +25,8 @@ static __initdata char chosen_lsm[SECURI
76022 /* things that live in capability.c */ 76577 /* things that live in capability.c */
76023 extern void __init security_fixup_ops(struct security_operations *ops); 76578 extern void __init security_fixup_ops(struct security_operations *ops);
@@ -76039,9 +76594,9 @@ diff -urNp linux-3.0.7/security/security.c linux-3.0.7/security/security.c
76039 } 76594 }
76040 76595
76041 /* Save user chosen LSM */ 76596 /* Save user chosen LSM */
76042diff -urNp linux-3.0.7/security/selinux/hooks.c linux-3.0.7/security/selinux/hooks.c 76597diff -urNp linux-3.0.8/security/selinux/hooks.c linux-3.0.8/security/selinux/hooks.c
76043--- linux-3.0.7/security/selinux/hooks.c 2011-07-21 22:17:23.000000000 -0400 76598--- linux-3.0.8/security/selinux/hooks.c 2011-07-21 22:17:23.000000000 -0400
76044+++ linux-3.0.7/security/selinux/hooks.c 2011-08-23 21:48:14.000000000 -0400 76599+++ linux-3.0.8/security/selinux/hooks.c 2011-08-23 21:48:14.000000000 -0400
76045@@ -93,7 +93,6 @@ 76600@@ -93,7 +93,6 @@
76046 #define NUM_SEL_MNT_OPTS 5 76601 #define NUM_SEL_MNT_OPTS 5
76047 76602
@@ -76059,9 +76614,9 @@ diff -urNp linux-3.0.7/security/selinux/hooks.c linux-3.0.7/security/selinux/hoo
76059 .name = "selinux", 76614 .name = "selinux",
76060 76615
76061 .ptrace_access_check = selinux_ptrace_access_check, 76616 .ptrace_access_check = selinux_ptrace_access_check,
76062diff -urNp linux-3.0.7/security/selinux/include/xfrm.h linux-3.0.7/security/selinux/include/xfrm.h 76617diff -urNp linux-3.0.8/security/selinux/include/xfrm.h linux-3.0.8/security/selinux/include/xfrm.h
76063--- linux-3.0.7/security/selinux/include/xfrm.h 2011-07-21 22:17:23.000000000 -0400 76618--- linux-3.0.8/security/selinux/include/xfrm.h 2011-07-21 22:17:23.000000000 -0400
76064+++ linux-3.0.7/security/selinux/include/xfrm.h 2011-08-23 21:47:56.000000000 -0400 76619+++ linux-3.0.8/security/selinux/include/xfrm.h 2011-08-23 21:47:56.000000000 -0400
76065@@ -48,7 +48,7 @@ int selinux_xfrm_decode_session(struct s 76620@@ -48,7 +48,7 @@ int selinux_xfrm_decode_session(struct s
76066 76621
76067 static inline void selinux_xfrm_notify_policyload(void) 76622 static inline void selinux_xfrm_notify_policyload(void)
@@ -76071,9 +76626,9 @@ diff -urNp linux-3.0.7/security/selinux/include/xfrm.h linux-3.0.7/security/seli
76071 } 76626 }
76072 #else 76627 #else
76073 static inline int selinux_xfrm_enabled(void) 76628 static inline int selinux_xfrm_enabled(void)
76074diff -urNp linux-3.0.7/security/selinux/ss/services.c linux-3.0.7/security/selinux/ss/services.c 76629diff -urNp linux-3.0.8/security/selinux/ss/services.c linux-3.0.8/security/selinux/ss/services.c
76075--- linux-3.0.7/security/selinux/ss/services.c 2011-07-21 22:17:23.000000000 -0400 76630--- linux-3.0.8/security/selinux/ss/services.c 2011-07-21 22:17:23.000000000 -0400
76076+++ linux-3.0.7/security/selinux/ss/services.c 2011-08-23 21:48:14.000000000 -0400 76631+++ linux-3.0.8/security/selinux/ss/services.c 2011-08-23 21:48:14.000000000 -0400
76077@@ -1814,6 +1814,8 @@ int security_load_policy(void *data, siz 76632@@ -1814,6 +1814,8 @@ int security_load_policy(void *data, siz
76078 int rc = 0; 76633 int rc = 0;
76079 struct policy_file file = { data, len }, *fp = &file; 76634 struct policy_file file = { data, len }, *fp = &file;
@@ -76083,9 +76638,9 @@ diff -urNp linux-3.0.7/security/selinux/ss/services.c linux-3.0.7/security/selin
76083 if (!ss_initialized) { 76638 if (!ss_initialized) {
76084 avtab_cache_init(); 76639 avtab_cache_init();
76085 rc = policydb_read(&policydb, fp); 76640 rc = policydb_read(&policydb, fp);
76086diff -urNp linux-3.0.7/security/smack/smack_lsm.c linux-3.0.7/security/smack/smack_lsm.c 76641diff -urNp linux-3.0.8/security/smack/smack_lsm.c linux-3.0.8/security/smack/smack_lsm.c
76087--- linux-3.0.7/security/smack/smack_lsm.c 2011-07-21 22:17:23.000000000 -0400 76642--- linux-3.0.8/security/smack/smack_lsm.c 2011-07-21 22:17:23.000000000 -0400
76088+++ linux-3.0.7/security/smack/smack_lsm.c 2011-08-23 21:47:56.000000000 -0400 76643+++ linux-3.0.8/security/smack/smack_lsm.c 2011-08-23 21:47:56.000000000 -0400
76089@@ -3392,7 +3392,7 @@ static int smack_inode_getsecctx(struct 76644@@ -3392,7 +3392,7 @@ static int smack_inode_getsecctx(struct
76090 return 0; 76645 return 0;
76091 } 76646 }
@@ -76095,9 +76650,9 @@ diff -urNp linux-3.0.7/security/smack/smack_lsm.c linux-3.0.7/security/smack/sma
76095 .name = "smack", 76650 .name = "smack",
76096 76651
76097 .ptrace_access_check = smack_ptrace_access_check, 76652 .ptrace_access_check = smack_ptrace_access_check,
76098diff -urNp linux-3.0.7/security/tomoyo/tomoyo.c linux-3.0.7/security/tomoyo/tomoyo.c 76653diff -urNp linux-3.0.8/security/tomoyo/tomoyo.c linux-3.0.8/security/tomoyo/tomoyo.c
76099--- linux-3.0.7/security/tomoyo/tomoyo.c 2011-07-21 22:17:23.000000000 -0400 76654--- linux-3.0.8/security/tomoyo/tomoyo.c 2011-07-21 22:17:23.000000000 -0400
76100+++ linux-3.0.7/security/tomoyo/tomoyo.c 2011-08-23 21:47:56.000000000 -0400 76655+++ linux-3.0.8/security/tomoyo/tomoyo.c 2011-08-23 21:47:56.000000000 -0400
76101@@ -240,7 +240,7 @@ static int tomoyo_sb_pivotroot(struct pa 76656@@ -240,7 +240,7 @@ static int tomoyo_sb_pivotroot(struct pa
76102 * tomoyo_security_ops is a "struct security_operations" which is used for 76657 * tomoyo_security_ops is a "struct security_operations" which is used for
76103 * registering TOMOYO. 76658 * registering TOMOYO.
@@ -76107,9 +76662,9 @@ diff -urNp linux-3.0.7/security/tomoyo/tomoyo.c linux-3.0.7/security/tomoyo/tomo
76107 .name = "tomoyo", 76662 .name = "tomoyo",
76108 .cred_alloc_blank = tomoyo_cred_alloc_blank, 76663 .cred_alloc_blank = tomoyo_cred_alloc_blank,
76109 .cred_prepare = tomoyo_cred_prepare, 76664 .cred_prepare = tomoyo_cred_prepare,
76110diff -urNp linux-3.0.7/sound/aoa/codecs/onyx.c linux-3.0.7/sound/aoa/codecs/onyx.c 76665diff -urNp linux-3.0.8/sound/aoa/codecs/onyx.c linux-3.0.8/sound/aoa/codecs/onyx.c
76111--- linux-3.0.7/sound/aoa/codecs/onyx.c 2011-07-21 22:17:23.000000000 -0400 76666--- linux-3.0.8/sound/aoa/codecs/onyx.c 2011-07-21 22:17:23.000000000 -0400
76112+++ linux-3.0.7/sound/aoa/codecs/onyx.c 2011-08-23 21:47:56.000000000 -0400 76667+++ linux-3.0.8/sound/aoa/codecs/onyx.c 2011-08-23 21:47:56.000000000 -0400
76113@@ -54,7 +54,7 @@ struct onyx { 76668@@ -54,7 +54,7 @@ struct onyx {
76114 spdif_locked:1, 76669 spdif_locked:1,
76115 analog_locked:1, 76670 analog_locked:1,
@@ -76138,9 +76693,9 @@ diff -urNp linux-3.0.7/sound/aoa/codecs/onyx.c linux-3.0.7/sound/aoa/codecs/onyx
76138 onyx->spdif_locked = onyx->analog_locked = 0; 76693 onyx->spdif_locked = onyx->analog_locked = 0;
76139 mutex_unlock(&onyx->mutex); 76694 mutex_unlock(&onyx->mutex);
76140 76695
76141diff -urNp linux-3.0.7/sound/aoa/codecs/onyx.h linux-3.0.7/sound/aoa/codecs/onyx.h 76696diff -urNp linux-3.0.8/sound/aoa/codecs/onyx.h linux-3.0.8/sound/aoa/codecs/onyx.h
76142--- linux-3.0.7/sound/aoa/codecs/onyx.h 2011-07-21 22:17:23.000000000 -0400 76697--- linux-3.0.8/sound/aoa/codecs/onyx.h 2011-07-21 22:17:23.000000000 -0400
76143+++ linux-3.0.7/sound/aoa/codecs/onyx.h 2011-08-23 21:47:56.000000000 -0400 76698+++ linux-3.0.8/sound/aoa/codecs/onyx.h 2011-08-23 21:47:56.000000000 -0400
76144@@ -11,6 +11,7 @@ 76699@@ -11,6 +11,7 @@
76145 #include <linux/i2c.h> 76700 #include <linux/i2c.h>
76146 #include <asm/pmac_low_i2c.h> 76701 #include <asm/pmac_low_i2c.h>
@@ -76149,9 +76704,9 @@ diff -urNp linux-3.0.7/sound/aoa/codecs/onyx.h linux-3.0.7/sound/aoa/codecs/onyx
76149 76704
76150 /* PCM3052 register definitions */ 76705 /* PCM3052 register definitions */
76151 76706
76152diff -urNp linux-3.0.7/sound/core/oss/pcm_oss.c linux-3.0.7/sound/core/oss/pcm_oss.c 76707diff -urNp linux-3.0.8/sound/core/oss/pcm_oss.c linux-3.0.8/sound/core/oss/pcm_oss.c
76153--- linux-3.0.7/sound/core/oss/pcm_oss.c 2011-07-21 22:17:23.000000000 -0400 76708--- linux-3.0.8/sound/core/oss/pcm_oss.c 2011-07-21 22:17:23.000000000 -0400
76154+++ linux-3.0.7/sound/core/oss/pcm_oss.c 2011-10-06 04:17:55.000000000 -0400 76709+++ linux-3.0.8/sound/core/oss/pcm_oss.c 2011-10-06 04:17:55.000000000 -0400
76155@@ -1189,10 +1189,10 @@ snd_pcm_sframes_t snd_pcm_oss_write3(str 76710@@ -1189,10 +1189,10 @@ snd_pcm_sframes_t snd_pcm_oss_write3(str
76156 if (in_kernel) { 76711 if (in_kernel) {
76157 mm_segment_t fs; 76712 mm_segment_t fs;
@@ -76223,9 +76778,9 @@ diff -urNp linux-3.0.7/sound/core/oss/pcm_oss.c linux-3.0.7/sound/core/oss/pcm_o
76223 snd_leave_user(fs); 76778 snd_leave_user(fs);
76224 } 76779 }
76225 } else if (runtime->access == SNDRV_PCM_ACCESS_RW_NONINTERLEAVED) { 76780 } else if (runtime->access == SNDRV_PCM_ACCESS_RW_NONINTERLEAVED) {
76226diff -urNp linux-3.0.7/sound/core/pcm_compat.c linux-3.0.7/sound/core/pcm_compat.c 76781diff -urNp linux-3.0.8/sound/core/pcm_compat.c linux-3.0.8/sound/core/pcm_compat.c
76227--- linux-3.0.7/sound/core/pcm_compat.c 2011-09-02 18:11:21.000000000 -0400 76782--- linux-3.0.8/sound/core/pcm_compat.c 2011-10-24 08:05:21.000000000 -0400
76228+++ linux-3.0.7/sound/core/pcm_compat.c 2011-10-06 04:17:55.000000000 -0400 76783+++ linux-3.0.8/sound/core/pcm_compat.c 2011-10-06 04:17:55.000000000 -0400
76229@@ -31,7 +31,7 @@ static int snd_pcm_ioctl_delay_compat(st 76784@@ -31,7 +31,7 @@ static int snd_pcm_ioctl_delay_compat(st
76230 int err; 76785 int err;
76231 76786
@@ -76235,9 +76790,9 @@ diff -urNp linux-3.0.7/sound/core/pcm_compat.c linux-3.0.7/sound/core/pcm_compat
76235 snd_leave_user(fs); 76790 snd_leave_user(fs);
76236 if (err < 0) 76791 if (err < 0)
76237 return err; 76792 return err;
76238diff -urNp linux-3.0.7/sound/core/pcm_native.c linux-3.0.7/sound/core/pcm_native.c 76793diff -urNp linux-3.0.8/sound/core/pcm_native.c linux-3.0.8/sound/core/pcm_native.c
76239--- linux-3.0.7/sound/core/pcm_native.c 2011-07-21 22:17:23.000000000 -0400 76794--- linux-3.0.8/sound/core/pcm_native.c 2011-07-21 22:17:23.000000000 -0400
76240+++ linux-3.0.7/sound/core/pcm_native.c 2011-10-06 04:17:55.000000000 -0400 76795+++ linux-3.0.8/sound/core/pcm_native.c 2011-10-06 04:17:55.000000000 -0400
76241@@ -2770,11 +2770,11 @@ int snd_pcm_kernel_ioctl(struct snd_pcm_ 76796@@ -2770,11 +2770,11 @@ int snd_pcm_kernel_ioctl(struct snd_pcm_
76242 switch (substream->stream) { 76797 switch (substream->stream) {
76243 case SNDRV_PCM_STREAM_PLAYBACK: 76798 case SNDRV_PCM_STREAM_PLAYBACK:
@@ -76252,9 +76807,9 @@ diff -urNp linux-3.0.7/sound/core/pcm_native.c linux-3.0.7/sound/core/pcm_native
76252 break; 76807 break;
76253 default: 76808 default:
76254 result = -EINVAL; 76809 result = -EINVAL;
76255diff -urNp linux-3.0.7/sound/core/seq/seq_device.c linux-3.0.7/sound/core/seq/seq_device.c 76810diff -urNp linux-3.0.8/sound/core/seq/seq_device.c linux-3.0.8/sound/core/seq/seq_device.c
76256--- linux-3.0.7/sound/core/seq/seq_device.c 2011-07-21 22:17:23.000000000 -0400 76811--- linux-3.0.8/sound/core/seq/seq_device.c 2011-07-21 22:17:23.000000000 -0400
76257+++ linux-3.0.7/sound/core/seq/seq_device.c 2011-08-23 21:47:56.000000000 -0400 76812+++ linux-3.0.8/sound/core/seq/seq_device.c 2011-08-23 21:47:56.000000000 -0400
76258@@ -63,7 +63,7 @@ struct ops_list { 76813@@ -63,7 +63,7 @@ struct ops_list {
76259 int argsize; /* argument size */ 76814 int argsize; /* argument size */
76260 76815
@@ -76291,9 +76846,9 @@ diff -urNp linux-3.0.7/sound/core/seq/seq_device.c linux-3.0.7/sound/core/seq/se
76291 dev->status = SNDRV_SEQ_DEVICE_FREE; 76846 dev->status = SNDRV_SEQ_DEVICE_FREE;
76292 dev->driver_data = NULL; 76847 dev->driver_data = NULL;
76293 ops->num_init_devices--; 76848 ops->num_init_devices--;
76294diff -urNp linux-3.0.7/sound/drivers/mts64.c linux-3.0.7/sound/drivers/mts64.c 76849diff -urNp linux-3.0.8/sound/drivers/mts64.c linux-3.0.8/sound/drivers/mts64.c
76295--- linux-3.0.7/sound/drivers/mts64.c 2011-07-21 22:17:23.000000000 -0400 76850--- linux-3.0.8/sound/drivers/mts64.c 2011-07-21 22:17:23.000000000 -0400
76296+++ linux-3.0.7/sound/drivers/mts64.c 2011-08-23 21:47:56.000000000 -0400 76851+++ linux-3.0.8/sound/drivers/mts64.c 2011-08-23 21:47:56.000000000 -0400
76297@@ -28,6 +28,7 @@ 76852@@ -28,6 +28,7 @@
76298 #include <sound/initval.h> 76853 #include <sound/initval.h>
76299 #include <sound/rawmidi.h> 76854 #include <sound/rawmidi.h>
@@ -76350,9 +76905,9 @@ diff -urNp linux-3.0.7/sound/drivers/mts64.c linux-3.0.7/sound/drivers/mts64.c
76350 76905
76351 return 0; 76906 return 0;
76352 } 76907 }
76353diff -urNp linux-3.0.7/sound/drivers/opl4/opl4_lib.c linux-3.0.7/sound/drivers/opl4/opl4_lib.c 76908diff -urNp linux-3.0.8/sound/drivers/opl4/opl4_lib.c linux-3.0.8/sound/drivers/opl4/opl4_lib.c
76354--- linux-3.0.7/sound/drivers/opl4/opl4_lib.c 2011-07-21 22:17:23.000000000 -0400 76909--- linux-3.0.8/sound/drivers/opl4/opl4_lib.c 2011-07-21 22:17:23.000000000 -0400
76355+++ linux-3.0.7/sound/drivers/opl4/opl4_lib.c 2011-08-23 21:47:56.000000000 -0400 76910+++ linux-3.0.8/sound/drivers/opl4/opl4_lib.c 2011-08-23 21:47:56.000000000 -0400
76356@@ -28,7 +28,7 @@ MODULE_AUTHOR("Clemens Ladisch <clemens@ 76911@@ -28,7 +28,7 @@ MODULE_AUTHOR("Clemens Ladisch <clemens@
76357 MODULE_DESCRIPTION("OPL4 driver"); 76912 MODULE_DESCRIPTION("OPL4 driver");
76358 MODULE_LICENSE("GPL"); 76913 MODULE_LICENSE("GPL");
@@ -76362,9 +76917,9 @@ diff -urNp linux-3.0.7/sound/drivers/opl4/opl4_lib.c linux-3.0.7/sound/drivers/o
76362 { 76917 {
76363 int timeout = 10; 76918 int timeout = 10;
76364 while ((inb(opl4->fm_port) & OPL4_STATUS_BUSY) && --timeout > 0) 76919 while ((inb(opl4->fm_port) & OPL4_STATUS_BUSY) && --timeout > 0)
76365diff -urNp linux-3.0.7/sound/drivers/portman2x4.c linux-3.0.7/sound/drivers/portman2x4.c 76920diff -urNp linux-3.0.8/sound/drivers/portman2x4.c linux-3.0.8/sound/drivers/portman2x4.c
76366--- linux-3.0.7/sound/drivers/portman2x4.c 2011-07-21 22:17:23.000000000 -0400 76921--- linux-3.0.8/sound/drivers/portman2x4.c 2011-07-21 22:17:23.000000000 -0400
76367+++ linux-3.0.7/sound/drivers/portman2x4.c 2011-08-23 21:47:56.000000000 -0400 76922+++ linux-3.0.8/sound/drivers/portman2x4.c 2011-08-23 21:47:56.000000000 -0400
76368@@ -47,6 +47,7 @@ 76923@@ -47,6 +47,7 @@
76369 #include <sound/initval.h> 76924 #include <sound/initval.h>
76370 #include <sound/rawmidi.h> 76925 #include <sound/rawmidi.h>
@@ -76382,9 +76937,9 @@ diff -urNp linux-3.0.7/sound/drivers/portman2x4.c linux-3.0.7/sound/drivers/port
76382 int mode[PORTMAN_NUM_INPUT_PORTS]; 76937 int mode[PORTMAN_NUM_INPUT_PORTS];
76383 struct snd_rawmidi_substream *midi_input[PORTMAN_NUM_INPUT_PORTS]; 76938 struct snd_rawmidi_substream *midi_input[PORTMAN_NUM_INPUT_PORTS];
76384 }; 76939 };
76385diff -urNp linux-3.0.7/sound/firewire/amdtp.c linux-3.0.7/sound/firewire/amdtp.c 76940diff -urNp linux-3.0.8/sound/firewire/amdtp.c linux-3.0.8/sound/firewire/amdtp.c
76386--- linux-3.0.7/sound/firewire/amdtp.c 2011-07-21 22:17:23.000000000 -0400 76941--- linux-3.0.8/sound/firewire/amdtp.c 2011-07-21 22:17:23.000000000 -0400
76387+++ linux-3.0.7/sound/firewire/amdtp.c 2011-08-23 21:47:56.000000000 -0400 76942+++ linux-3.0.8/sound/firewire/amdtp.c 2011-08-23 21:47:56.000000000 -0400
76388@@ -371,7 +371,7 @@ static void queue_out_packet(struct amdt 76943@@ -371,7 +371,7 @@ static void queue_out_packet(struct amdt
76389 ptr = s->pcm_buffer_pointer + data_blocks; 76944 ptr = s->pcm_buffer_pointer + data_blocks;
76390 if (ptr >= pcm->runtime->buffer_size) 76945 if (ptr >= pcm->runtime->buffer_size)
@@ -76403,9 +76958,9 @@ diff -urNp linux-3.0.7/sound/firewire/amdtp.c linux-3.0.7/sound/firewire/amdtp.c
76403 (fw_parent_device(s->unit)->card->node_id & 0x3f) << 24; 76958 (fw_parent_device(s->unit)->card->node_id & 0x3f) << 24;
76404 } 76959 }
76405 EXPORT_SYMBOL(amdtp_out_stream_update); 76960 EXPORT_SYMBOL(amdtp_out_stream_update);
76406diff -urNp linux-3.0.7/sound/firewire/amdtp.h linux-3.0.7/sound/firewire/amdtp.h 76961diff -urNp linux-3.0.8/sound/firewire/amdtp.h linux-3.0.8/sound/firewire/amdtp.h
76407--- linux-3.0.7/sound/firewire/amdtp.h 2011-07-21 22:17:23.000000000 -0400 76962--- linux-3.0.8/sound/firewire/amdtp.h 2011-07-21 22:17:23.000000000 -0400
76408+++ linux-3.0.7/sound/firewire/amdtp.h 2011-08-23 21:47:56.000000000 -0400 76963+++ linux-3.0.8/sound/firewire/amdtp.h 2011-08-23 21:47:56.000000000 -0400
76409@@ -146,7 +146,7 @@ static inline void amdtp_out_stream_pcm_ 76964@@ -146,7 +146,7 @@ static inline void amdtp_out_stream_pcm_
76410 static inline void amdtp_out_stream_pcm_trigger(struct amdtp_out_stream *s, 76965 static inline void amdtp_out_stream_pcm_trigger(struct amdtp_out_stream *s,
76411 struct snd_pcm_substream *pcm) 76966 struct snd_pcm_substream *pcm)
@@ -76415,9 +76970,9 @@ diff -urNp linux-3.0.7/sound/firewire/amdtp.h linux-3.0.7/sound/firewire/amdtp.h
76415 } 76970 }
76416 76971
76417 /** 76972 /**
76418diff -urNp linux-3.0.7/sound/firewire/isight.c linux-3.0.7/sound/firewire/isight.c 76973diff -urNp linux-3.0.8/sound/firewire/isight.c linux-3.0.8/sound/firewire/isight.c
76419--- linux-3.0.7/sound/firewire/isight.c 2011-07-21 22:17:23.000000000 -0400 76974--- linux-3.0.8/sound/firewire/isight.c 2011-07-21 22:17:23.000000000 -0400
76420+++ linux-3.0.7/sound/firewire/isight.c 2011-08-23 21:47:56.000000000 -0400 76975+++ linux-3.0.8/sound/firewire/isight.c 2011-08-23 21:47:56.000000000 -0400
76421@@ -97,7 +97,7 @@ static void isight_update_pointers(struc 76976@@ -97,7 +97,7 @@ static void isight_update_pointers(struc
76422 ptr += count; 76977 ptr += count;
76423 if (ptr >= runtime->buffer_size) 76978 if (ptr >= runtime->buffer_size)
@@ -76458,9 +77013,9 @@ diff -urNp linux-3.0.7/sound/firewire/isight.c linux-3.0.7/sound/firewire/isight
76458 break; 77013 break;
76459 default: 77014 default:
76460 return -EINVAL; 77015 return -EINVAL;
76461diff -urNp linux-3.0.7/sound/isa/cmi8330.c linux-3.0.7/sound/isa/cmi8330.c 77016diff -urNp linux-3.0.8/sound/isa/cmi8330.c linux-3.0.8/sound/isa/cmi8330.c
76462--- linux-3.0.7/sound/isa/cmi8330.c 2011-07-21 22:17:23.000000000 -0400 77017--- linux-3.0.8/sound/isa/cmi8330.c 2011-07-21 22:17:23.000000000 -0400
76463+++ linux-3.0.7/sound/isa/cmi8330.c 2011-08-23 21:47:56.000000000 -0400 77018+++ linux-3.0.8/sound/isa/cmi8330.c 2011-08-23 21:47:56.000000000 -0400
76464@@ -172,7 +172,7 @@ struct snd_cmi8330 { 77019@@ -172,7 +172,7 @@ struct snd_cmi8330 {
76465 77020
76466 struct snd_pcm *pcm; 77021 struct snd_pcm *pcm;
@@ -76470,9 +77025,9 @@ diff -urNp linux-3.0.7/sound/isa/cmi8330.c linux-3.0.7/sound/isa/cmi8330.c
76470 snd_pcm_open_callback_t open; 77025 snd_pcm_open_callback_t open;
76471 void *private_data; /* sb or wss */ 77026 void *private_data; /* sb or wss */
76472 } streams[2]; 77027 } streams[2];
76473diff -urNp linux-3.0.7/sound/oss/sb_audio.c linux-3.0.7/sound/oss/sb_audio.c 77028diff -urNp linux-3.0.8/sound/oss/sb_audio.c linux-3.0.8/sound/oss/sb_audio.c
76474--- linux-3.0.7/sound/oss/sb_audio.c 2011-07-21 22:17:23.000000000 -0400 77029--- linux-3.0.8/sound/oss/sb_audio.c 2011-07-21 22:17:23.000000000 -0400
76475+++ linux-3.0.7/sound/oss/sb_audio.c 2011-08-23 21:47:56.000000000 -0400 77030+++ linux-3.0.8/sound/oss/sb_audio.c 2011-08-23 21:47:56.000000000 -0400
76476@@ -901,7 +901,7 @@ sb16_copy_from_user(int dev, 77031@@ -901,7 +901,7 @@ sb16_copy_from_user(int dev,
76477 buf16 = (signed short *)(localbuf + localoffs); 77032 buf16 = (signed short *)(localbuf + localoffs);
76478 while (c) 77033 while (c)
@@ -76482,9 +77037,9 @@ diff -urNp linux-3.0.7/sound/oss/sb_audio.c linux-3.0.7/sound/oss/sb_audio.c
76482 if (copy_from_user(lbuf8, 77037 if (copy_from_user(lbuf8,
76483 userbuf+useroffs + p, 77038 userbuf+useroffs + p,
76484 locallen)) 77039 locallen))
76485diff -urNp linux-3.0.7/sound/oss/swarm_cs4297a.c linux-3.0.7/sound/oss/swarm_cs4297a.c 77040diff -urNp linux-3.0.8/sound/oss/swarm_cs4297a.c linux-3.0.8/sound/oss/swarm_cs4297a.c
76486--- linux-3.0.7/sound/oss/swarm_cs4297a.c 2011-07-21 22:17:23.000000000 -0400 77041--- linux-3.0.8/sound/oss/swarm_cs4297a.c 2011-07-21 22:17:23.000000000 -0400
76487+++ linux-3.0.7/sound/oss/swarm_cs4297a.c 2011-08-23 21:47:56.000000000 -0400 77042+++ linux-3.0.8/sound/oss/swarm_cs4297a.c 2011-08-23 21:47:56.000000000 -0400
76488@@ -2606,7 +2606,6 @@ static int __init cs4297a_init(void) 77043@@ -2606,7 +2606,6 @@ static int __init cs4297a_init(void)
76489 { 77044 {
76490 struct cs4297a_state *s; 77045 struct cs4297a_state *s;
@@ -76519,9 +77074,9 @@ diff -urNp linux-3.0.7/sound/oss/swarm_cs4297a.c linux-3.0.7/sound/oss/swarm_cs4
76519 77074
76520 list_add(&s->list, &cs4297a_devs); 77075 list_add(&s->list, &cs4297a_devs);
76521 77076
76522diff -urNp linux-3.0.7/sound/pci/hda/hda_codec.h linux-3.0.7/sound/pci/hda/hda_codec.h 77077diff -urNp linux-3.0.8/sound/pci/hda/hda_codec.h linux-3.0.8/sound/pci/hda/hda_codec.h
76523--- linux-3.0.7/sound/pci/hda/hda_codec.h 2011-07-21 22:17:23.000000000 -0400 77078--- linux-3.0.8/sound/pci/hda/hda_codec.h 2011-07-21 22:17:23.000000000 -0400
76524+++ linux-3.0.7/sound/pci/hda/hda_codec.h 2011-08-23 21:47:56.000000000 -0400 77079+++ linux-3.0.8/sound/pci/hda/hda_codec.h 2011-08-23 21:47:56.000000000 -0400
76525@@ -615,7 +615,7 @@ struct hda_bus_ops { 77080@@ -615,7 +615,7 @@ struct hda_bus_ops {
76526 /* notify power-up/down from codec to controller */ 77081 /* notify power-up/down from codec to controller */
76527 void (*pm_notify)(struct hda_bus *bus); 77082 void (*pm_notify)(struct hda_bus *bus);
@@ -76557,9 +77112,9 @@ diff -urNp linux-3.0.7/sound/pci/hda/hda_codec.h linux-3.0.7/sound/pci/hda/hda_c
76557 77112
76558 /* PCM to create, set by patch_ops.build_pcms callback */ 77113 /* PCM to create, set by patch_ops.build_pcms callback */
76559 unsigned int num_pcms; 77114 unsigned int num_pcms;
76560diff -urNp linux-3.0.7/sound/pci/ice1712/ice1712.h linux-3.0.7/sound/pci/ice1712/ice1712.h 77115diff -urNp linux-3.0.8/sound/pci/ice1712/ice1712.h linux-3.0.8/sound/pci/ice1712/ice1712.h
76561--- linux-3.0.7/sound/pci/ice1712/ice1712.h 2011-07-21 22:17:23.000000000 -0400 77116--- linux-3.0.8/sound/pci/ice1712/ice1712.h 2011-07-21 22:17:23.000000000 -0400
76562+++ linux-3.0.7/sound/pci/ice1712/ice1712.h 2011-08-23 21:47:56.000000000 -0400 77117+++ linux-3.0.8/sound/pci/ice1712/ice1712.h 2011-08-23 21:47:56.000000000 -0400
76563@@ -269,7 +269,7 @@ struct snd_ak4xxx_private { 77118@@ -269,7 +269,7 @@ struct snd_ak4xxx_private {
76564 unsigned int mask_flags; /* total mask bits */ 77119 unsigned int mask_flags; /* total mask bits */
76565 struct snd_akm4xxx_ops { 77120 struct snd_akm4xxx_ops {
@@ -76578,9 +77133,9 @@ diff -urNp linux-3.0.7/sound/pci/ice1712/ice1712.h linux-3.0.7/sound/pci/ice1712
76578 }; 77133 };
76579 77134
76580 77135
76581diff -urNp linux-3.0.7/sound/pci/ymfpci/ymfpci_main.c linux-3.0.7/sound/pci/ymfpci/ymfpci_main.c 77136diff -urNp linux-3.0.8/sound/pci/ymfpci/ymfpci_main.c linux-3.0.8/sound/pci/ymfpci/ymfpci_main.c
76582--- linux-3.0.7/sound/pci/ymfpci/ymfpci_main.c 2011-07-21 22:17:23.000000000 -0400 77137--- linux-3.0.8/sound/pci/ymfpci/ymfpci_main.c 2011-07-21 22:17:23.000000000 -0400
76583+++ linux-3.0.7/sound/pci/ymfpci/ymfpci_main.c 2011-08-23 21:47:56.000000000 -0400 77138+++ linux-3.0.8/sound/pci/ymfpci/ymfpci_main.c 2011-08-23 21:47:56.000000000 -0400
76584@@ -202,8 +202,8 @@ static void snd_ymfpci_hw_stop(struct sn 77139@@ -202,8 +202,8 @@ static void snd_ymfpci_hw_stop(struct sn
76585 if ((snd_ymfpci_readl(chip, YDSXGR_STATUS) & 2) == 0) 77140 if ((snd_ymfpci_readl(chip, YDSXGR_STATUS) & 2) == 0)
76586 break; 77141 break;
@@ -76621,9 +77176,9 @@ diff -urNp linux-3.0.7/sound/pci/ymfpci/ymfpci_main.c linux-3.0.7/sound/pci/ymfp
76621 chip->card = card; 77176 chip->card = card;
76622 chip->pci = pci; 77177 chip->pci = pci;
76623 chip->irq = -1; 77178 chip->irq = -1;
76624diff -urNp linux-3.0.7/sound/soc/soc-core.c linux-3.0.7/sound/soc/soc-core.c 77179diff -urNp linux-3.0.8/sound/soc/soc-core.c linux-3.0.8/sound/soc/soc-core.c
76625--- linux-3.0.7/sound/soc/soc-core.c 2011-09-02 18:11:21.000000000 -0400 77180--- linux-3.0.8/sound/soc/soc-core.c 2011-10-24 08:05:21.000000000 -0400
76626+++ linux-3.0.7/sound/soc/soc-core.c 2011-08-23 21:47:56.000000000 -0400 77181+++ linux-3.0.8/sound/soc/soc-core.c 2011-08-23 21:47:56.000000000 -0400
76627@@ -1021,7 +1021,7 @@ static snd_pcm_uframes_t soc_pcm_pointer 77182@@ -1021,7 +1021,7 @@ static snd_pcm_uframes_t soc_pcm_pointer
76628 } 77183 }
76629 77184
@@ -76641,9 +77196,9 @@ diff -urNp linux-3.0.7/sound/soc/soc-core.c linux-3.0.7/sound/soc/soc-core.c
76641 soc_pcm_ops.mmap = platform->driver->ops->mmap; 77196 soc_pcm_ops.mmap = platform->driver->ops->mmap;
76642 soc_pcm_ops.pointer = platform->driver->ops->pointer; 77197 soc_pcm_ops.pointer = platform->driver->ops->pointer;
76643 soc_pcm_ops.ioctl = platform->driver->ops->ioctl; 77198 soc_pcm_ops.ioctl = platform->driver->ops->ioctl;
76644diff -urNp linux-3.0.7/sound/usb/card.h linux-3.0.7/sound/usb/card.h 77199diff -urNp linux-3.0.8/sound/usb/card.h linux-3.0.8/sound/usb/card.h
76645--- linux-3.0.7/sound/usb/card.h 2011-07-21 22:17:23.000000000 -0400 77200--- linux-3.0.8/sound/usb/card.h 2011-07-21 22:17:23.000000000 -0400
76646+++ linux-3.0.7/sound/usb/card.h 2011-08-23 21:47:56.000000000 -0400 77201+++ linux-3.0.8/sound/usb/card.h 2011-08-23 21:47:56.000000000 -0400
76647@@ -44,6 +44,7 @@ struct snd_urb_ops { 77202@@ -44,6 +44,7 @@ struct snd_urb_ops {
76648 int (*prepare_sync)(struct snd_usb_substream *subs, struct snd_pcm_runtime *runtime, struct urb *u); 77203 int (*prepare_sync)(struct snd_usb_substream *subs, struct snd_pcm_runtime *runtime, struct urb *u);
76649 int (*retire_sync)(struct snd_usb_substream *subs, struct snd_pcm_runtime *runtime, struct urb *u); 77204 int (*retire_sync)(struct snd_usb_substream *subs, struct snd_pcm_runtime *runtime, struct urb *u);
@@ -76661,34 +77216,9 @@ diff -urNp linux-3.0.7/sound/usb/card.h linux-3.0.7/sound/usb/card.h
76661 }; 77216 };
76662 77217
76663 struct snd_usb_stream { 77218 struct snd_usb_stream {
76664diff -urNp linux-3.0.7/tools/gcc/Makefile linux-3.0.7/tools/gcc/Makefile 77219diff -urNp linux-3.0.8/tools/gcc/checker_plugin.c linux-3.0.8/tools/gcc/checker_plugin.c
76665--- linux-3.0.7/tools/gcc/Makefile 1969-12-31 19:00:00.000000000 -0500 77220--- linux-3.0.8/tools/gcc/checker_plugin.c 1969-12-31 19:00:00.000000000 -0500
76666+++ linux-3.0.7/tools/gcc/Makefile 2011-10-06 04:17:55.000000000 -0400 77221+++ linux-3.0.8/tools/gcc/checker_plugin.c 2011-10-06 04:17:55.000000000 -0400
76667@@ -0,0 +1,21 @@
76668+#CC := gcc
76669+#PLUGIN_SOURCE_FILES := pax_plugin.c
76670+#PLUGIN_OBJECT_FILES := $(patsubst %.c,%.o,$(PLUGIN_SOURCE_FILES))
76671+GCCPLUGINS_DIR := $(shell $(HOSTCC) -print-file-name=plugin)
76672+#CFLAGS += -I$(GCCPLUGINS_DIR)/include -fPIC -O2 -Wall -W
76673+
76674+HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include
76675+
76676+hostlibs-y := constify_plugin.so
76677+hostlibs-$(CONFIG_PAX_MEMORY_STACKLEAK) += stackleak_plugin.so
76678+hostlibs-$(CONFIG_KALLOCSTAT_PLUGIN) += kallocstat_plugin.so
76679+hostlibs-$(CONFIG_PAX_KERNEXEC_PLUGIN) += kernexec_plugin.so
76680+hostlibs-$(CONFIG_CHECKER_PLUGIN) += checker_plugin.so
76681+
76682+always := $(hostlibs-y)
76683+
76684+stackleak_plugin-objs := stackleak_plugin.o
76685+constify_plugin-objs := constify_plugin.o
76686+kallocstat_plugin-objs := kallocstat_plugin.o
76687+kernexec_plugin-objs := kernexec_plugin.o
76688+checker_plugin-objs := checker_plugin.o
76689diff -urNp linux-3.0.7/tools/gcc/checker_plugin.c linux-3.0.7/tools/gcc/checker_plugin.c
76690--- linux-3.0.7/tools/gcc/checker_plugin.c 1969-12-31 19:00:00.000000000 -0500
76691+++ linux-3.0.7/tools/gcc/checker_plugin.c 2011-10-06 04:17:55.000000000 -0400
76692@@ -0,0 +1,169 @@ 77222@@ -0,0 +1,169 @@
76693+/* 77223+/*
76694+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> 77224+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
@@ -76859,9 +77389,9 @@ diff -urNp linux-3.0.7/tools/gcc/checker_plugin.c linux-3.0.7/tools/gcc/checker_
76859+ 77389+
76860+ return 0; 77390+ return 0;
76861+} 77391+}
76862diff -urNp linux-3.0.7/tools/gcc/constify_plugin.c linux-3.0.7/tools/gcc/constify_plugin.c 77392diff -urNp linux-3.0.8/tools/gcc/constify_plugin.c linux-3.0.8/tools/gcc/constify_plugin.c
76863--- linux-3.0.7/tools/gcc/constify_plugin.c 1969-12-31 19:00:00.000000000 -0500 77393--- linux-3.0.8/tools/gcc/constify_plugin.c 1969-12-31 19:00:00.000000000 -0500
76864+++ linux-3.0.7/tools/gcc/constify_plugin.c 2011-08-30 18:23:52.000000000 -0400 77394+++ linux-3.0.8/tools/gcc/constify_plugin.c 2011-08-30 18:23:52.000000000 -0400
76865@@ -0,0 +1,293 @@ 77395@@ -0,0 +1,293 @@
76866+/* 77396+/*
76867+ * Copyright 2011 by Emese Revfy <re.emese@gmail.com> 77397+ * Copyright 2011 by Emese Revfy <re.emese@gmail.com>
@@ -77156,9 +77686,9 @@ diff -urNp linux-3.0.7/tools/gcc/constify_plugin.c linux-3.0.7/tools/gcc/constif
77156+ 77686+
77157+ return 0; 77687+ return 0;
77158+} 77688+}
77159diff -urNp linux-3.0.7/tools/gcc/kallocstat_plugin.c linux-3.0.7/tools/gcc/kallocstat_plugin.c 77689diff -urNp linux-3.0.8/tools/gcc/kallocstat_plugin.c linux-3.0.8/tools/gcc/kallocstat_plugin.c
77160--- linux-3.0.7/tools/gcc/kallocstat_plugin.c 1969-12-31 19:00:00.000000000 -0500 77690--- linux-3.0.8/tools/gcc/kallocstat_plugin.c 1969-12-31 19:00:00.000000000 -0500
77161+++ linux-3.0.7/tools/gcc/kallocstat_plugin.c 2011-10-06 04:17:55.000000000 -0400 77691+++ linux-3.0.8/tools/gcc/kallocstat_plugin.c 2011-10-06 04:17:55.000000000 -0400
77162@@ -0,0 +1,165 @@ 77692@@ -0,0 +1,165 @@
77163+/* 77693+/*
77164+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> 77694+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
@@ -77325,9 +77855,9 @@ diff -urNp linux-3.0.7/tools/gcc/kallocstat_plugin.c linux-3.0.7/tools/gcc/kallo
77325+ 77855+
77326+ return 0; 77856+ return 0;
77327+} 77857+}
77328diff -urNp linux-3.0.7/tools/gcc/kernexec_plugin.c linux-3.0.7/tools/gcc/kernexec_plugin.c 77858diff -urNp linux-3.0.8/tools/gcc/kernexec_plugin.c linux-3.0.8/tools/gcc/kernexec_plugin.c
77329--- linux-3.0.7/tools/gcc/kernexec_plugin.c 1969-12-31 19:00:00.000000000 -0500 77859--- linux-3.0.8/tools/gcc/kernexec_plugin.c 1969-12-31 19:00:00.000000000 -0500
77330+++ linux-3.0.7/tools/gcc/kernexec_plugin.c 2011-10-06 04:17:55.000000000 -0400 77860+++ linux-3.0.8/tools/gcc/kernexec_plugin.c 2011-10-06 04:17:55.000000000 -0400
77331@@ -0,0 +1,273 @@ 77861@@ -0,0 +1,273 @@
77332+/* 77862+/*
77333+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> 77863+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
@@ -77602,9 +78132,34 @@ diff -urNp linux-3.0.7/tools/gcc/kernexec_plugin.c linux-3.0.7/tools/gcc/kernexe
77602+ 78132+
77603+ return 0; 78133+ return 0;
77604+} 78134+}
77605diff -urNp linux-3.0.7/tools/gcc/stackleak_plugin.c linux-3.0.7/tools/gcc/stackleak_plugin.c 78135diff -urNp linux-3.0.8/tools/gcc/Makefile linux-3.0.8/tools/gcc/Makefile
77606--- linux-3.0.7/tools/gcc/stackleak_plugin.c 1969-12-31 19:00:00.000000000 -0500 78136--- linux-3.0.8/tools/gcc/Makefile 1969-12-31 19:00:00.000000000 -0500
77607+++ linux-3.0.7/tools/gcc/stackleak_plugin.c 2011-09-17 00:53:44.000000000 -0400 78137+++ linux-3.0.8/tools/gcc/Makefile 2011-10-06 04:17:55.000000000 -0400
78138@@ -0,0 +1,21 @@
78139+#CC := gcc
78140+#PLUGIN_SOURCE_FILES := pax_plugin.c
78141+#PLUGIN_OBJECT_FILES := $(patsubst %.c,%.o,$(PLUGIN_SOURCE_FILES))
78142+GCCPLUGINS_DIR := $(shell $(HOSTCC) -print-file-name=plugin)
78143+#CFLAGS += -I$(GCCPLUGINS_DIR)/include -fPIC -O2 -Wall -W
78144+
78145+HOST_EXTRACFLAGS += -I$(GCCPLUGINS_DIR)/include
78146+
78147+hostlibs-y := constify_plugin.so
78148+hostlibs-$(CONFIG_PAX_MEMORY_STACKLEAK) += stackleak_plugin.so
78149+hostlibs-$(CONFIG_KALLOCSTAT_PLUGIN) += kallocstat_plugin.so
78150+hostlibs-$(CONFIG_PAX_KERNEXEC_PLUGIN) += kernexec_plugin.so
78151+hostlibs-$(CONFIG_CHECKER_PLUGIN) += checker_plugin.so
78152+
78153+always := $(hostlibs-y)
78154+
78155+stackleak_plugin-objs := stackleak_plugin.o
78156+constify_plugin-objs := constify_plugin.o
78157+kallocstat_plugin-objs := kallocstat_plugin.o
78158+kernexec_plugin-objs := kernexec_plugin.o
78159+checker_plugin-objs := checker_plugin.o
78160diff -urNp linux-3.0.8/tools/gcc/stackleak_plugin.c linux-3.0.8/tools/gcc/stackleak_plugin.c
78161--- linux-3.0.8/tools/gcc/stackleak_plugin.c 1969-12-31 19:00:00.000000000 -0500
78162+++ linux-3.0.8/tools/gcc/stackleak_plugin.c 2011-09-17 00:53:44.000000000 -0400
77608@@ -0,0 +1,251 @@ 78163@@ -0,0 +1,251 @@
77609+/* 78164+/*
77610+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu> 78165+ * Copyright 2011 by the PaX Team <pageexec@freemail.hu>
@@ -77857,9 +78412,20 @@ diff -urNp linux-3.0.7/tools/gcc/stackleak_plugin.c linux-3.0.7/tools/gcc/stackl
77857+ 78412+
77858+ return 0; 78413+ return 0;
77859+} 78414+}
77860diff -urNp linux-3.0.7/usr/gen_init_cpio.c linux-3.0.7/usr/gen_init_cpio.c 78415diff -urNp linux-3.0.8/tools/perf/util/include/asm/alternative-asm.h linux-3.0.8/tools/perf/util/include/asm/alternative-asm.h
77861--- linux-3.0.7/usr/gen_init_cpio.c 2011-07-21 22:17:23.000000000 -0400 78416--- linux-3.0.8/tools/perf/util/include/asm/alternative-asm.h 2011-07-21 22:17:23.000000000 -0400
77862+++ linux-3.0.7/usr/gen_init_cpio.c 2011-08-23 21:47:56.000000000 -0400 78417+++ linux-3.0.8/tools/perf/util/include/asm/alternative-asm.h 2011-10-20 04:46:01.000000000 -0400
78418@@ -5,4 +5,7 @@
78419
78420 #define altinstruction_entry #
78421
78422+ .macro pax_force_retaddr rip=0
78423+ .endm
78424+
78425 #endif
78426diff -urNp linux-3.0.8/usr/gen_init_cpio.c linux-3.0.8/usr/gen_init_cpio.c
78427--- linux-3.0.8/usr/gen_init_cpio.c 2011-07-21 22:17:23.000000000 -0400
78428+++ linux-3.0.8/usr/gen_init_cpio.c 2011-08-23 21:47:56.000000000 -0400
77863@@ -303,7 +303,7 @@ static int cpio_mkfile(const char *name, 78429@@ -303,7 +303,7 @@ static int cpio_mkfile(const char *name,
77864 int retval; 78430 int retval;
77865 int rc = -1; 78431 int rc = -1;
@@ -77882,9 +78448,9 @@ diff -urNp linux-3.0.7/usr/gen_init_cpio.c linux-3.0.7/usr/gen_init_cpio.c
77882 } else 78448 } else
77883 break; 78449 break;
77884 } 78450 }
77885diff -urNp linux-3.0.7/virt/kvm/kvm_main.c linux-3.0.7/virt/kvm/kvm_main.c 78451diff -urNp linux-3.0.8/virt/kvm/kvm_main.c linux-3.0.8/virt/kvm/kvm_main.c
77886--- linux-3.0.7/virt/kvm/kvm_main.c 2011-07-21 22:17:23.000000000 -0400 78452--- linux-3.0.8/virt/kvm/kvm_main.c 2011-07-21 22:17:23.000000000 -0400
77887+++ linux-3.0.7/virt/kvm/kvm_main.c 2011-08-23 21:47:56.000000000 -0400 78453+++ linux-3.0.8/virt/kvm/kvm_main.c 2011-08-23 21:47:56.000000000 -0400
77888@@ -73,7 +73,7 @@ LIST_HEAD(vm_list); 78454@@ -73,7 +73,7 @@ LIST_HEAD(vm_list);
77889 78455
77890 static cpumask_var_t cpus_hardware_enabled; 78456 static cpumask_var_t cpus_hardware_enabled;
diff --git a/main/open-iscsi-grsec/APKBUILD b/main/open-iscsi-grsec/APKBUILD
index 64a741db05..0920894389 100644
--- a/main/open-iscsi-grsec/APKBUILD
+++ b/main/open-iscsi-grsec/APKBUILD
@@ -52,4 +52,4 @@ package() {
52} 52}
53 53
54md5sums="b4df94f08c241352bb964043b3e44779 open-iscsi-2.0-872.tar.gz 54md5sums="b4df94f08c241352bb964043b3e44779 open-iscsi-2.0-872.tar.gz
55f0f19dceca333bdee4fa1f2804382f02 Makefile-Alpine-kernels-support.patch" 553d0806dc1c3c61b40a1e10eef63a1007 Makefile-Alpine-kernels-support.patch"
diff --git a/main/open-iscsi-grsec/Makefile-Alpine-kernels-support.patch b/main/open-iscsi-grsec/Makefile-Alpine-kernels-support.patch
index d0e8e1c165..69e03c1afa 100644
--- a/main/open-iscsi-grsec/Makefile-Alpine-kernels-support.patch
+++ b/main/open-iscsi-grsec/Makefile-Alpine-kernels-support.patch
@@ -26,7 +26,7 @@
26 26
27 linux_2_6_35: $(unpatch_code) 27 linux_2_6_35: $(unpatch_code)
28+ 28+
29+linux_3_0_7: $(unpatch_code) 29+linux_3_0_8: $(unpatch_code)
30 30
31 do_unpatch_code: 31 do_unpatch_code:
32 echo "Un-patching source code for use with linux-2.6.14 and up ..." 32 echo "Un-patching source code for use with linux-2.6.14 and up ..."
diff --git a/main/xtables-addons-grsec/APKBUILD b/main/xtables-addons-grsec/APKBUILD
index bdc4e3b87c..f37c076f20 100644
--- a/main/xtables-addons-grsec/APKBUILD
+++ b/main/xtables-addons-grsec/APKBUILD
@@ -13,7 +13,7 @@ _kpkgrel=$pkgrel
13pkgname=${_realname}-${_flavor} 13pkgname=${_realname}-${_flavor}
14pkgver=${pkgver} 14pkgver=${pkgver}
15_realver=1.37 15_realver=1.37
16_mypkgrel=2 16_mypkgrel=0
17pkgrel=$(($_kpkgrel + $_mypkgrel)) 17pkgrel=$(($_kpkgrel + $_mypkgrel))
18pkgdesc="Iptables extensions kernel modules" 18pkgdesc="Iptables extensions kernel modules"
19url="http://xtables-addons.sourceforge.net/" 19url="http://xtables-addons.sourceforge.net/"